﻿// JScript File

function acceptOnlyNumbers(numVal)
{
    inputStr = numVal.toString();
    
    for(var i = 0; i < inputStr.length; i++)
    {
        var charChk = inputStr.charAt(i);
        
        if(charChk < "0" || charChk > "9" )
        {
            return false;
        }
    }
    
    return true;
}

function applyPhoneMask(value)
{
    var dataToMask = new String;
        dataToMask = value;
    var dataLen = value.length;
    
    //Formats US Phone Numbers
    if(dataLen == 10)
    {
        var dataLeft = "";
        var dataRight = "";
        
        dataToMask = "(" + dataToMask;
        
        dataLeft = dataToMask.substr(0,4);
        dataLeft = dataLeft + ") ";
        
        dataRight = dataToMask.substr(4, dataToMask.length - 1);
        dataToMask = dataLeft + dataRight;
        
        dataLeft = dataToMask.substr(0,9);
        dataLeft = dataLeft + "-";
        
        dataRight = dataToMask.substr(9, dataToMask.length - 1);
        dataToMask = dataLeft + dataRight;
        
        return dataToMask;
    }
    else
    {
        throw new Error("Phone Number is invalid. Phone number must be 10 digits.");
    }
}

function createErrorObj(msg)
{
    var err = new Error(msg);
    return err;
}

function  displayPhoneNumber(field)
{
    //Check to see if any of the formatting elements are left over
    //Could be getting a corrected phone number
    var oldValue = new String;
    oldValue = field.value;
    
    var regEx = /[ ()-]/g;
    
    while(regEx.test(oldValue))
    {
        oldValue = oldValue.replace(regEx,""); 
    }
        
    field.value = oldValue;
    
    if(acceptOnlyNumbers(field.value))
    {
        try
        {
            field.value = applyPhoneMask(field.value);
        }
        catch(e)
        {
            //Code here to handle length error
            alert(e);
        }
    }
    else
    {
        alert("Phone Number must be numeric.");
    }
}

function removeSpaces(val)
{
    var oldValue = new String;
    oldValue = val;
    
    var regEx = / /g;
    
    while(regEx.test(oldValue))
    {
        oldValue = oldValue.replace(regEx,""); 
    }
        
    return oldValue;
}

// regular expression function to see if an input value has been
// entered at all
function isEmpty(inputStr) {
    var re = /.+/;
    
    if (!inputStr.match(re)) 
    {
        return true;
    }
    return false;
}

function checkCountry()
{
    var ddlCountry = document.getElementById("ctl00_ContentPlaceHolder1_ddlCountry");
    var ddlStates = document.getElementById("ctl00_ContentPlaceHolder1_ddlStates");
    var countryID = ddlCountry.options[ddlCountry.selectedIndex].value;
    
    if(countryID == 1)
    {
        document.getElementById("dvStateText").style.display="none";
        document.getElementById("dvStatedd").style.display = "";
    }
    else
    {
        document.getElementById("dvStateText").style.display="";
        document.getElementById("dvStatedd").style.display = "none";            
    }

}

function isDate(dateStr) {

    if (InStr(dateStr, "monthadd(") == -1) {
        var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
        var matchArray = dateStr.match(datePat); // is the format ok?

        if (matchArray == null) {
            return "Please enter the date as mm/dd/yyyy.";
        }

        day = matchArray[3]; // parse date into variables
        month = matchArray[1];
        year = matchArray[5];

        if (month < 1 || month > 12) { // check month range
            return "Month must be between 1 and 12.";
        }

        if (day < 1 || day > 31) {
            return "Day must be between 1 and 31.";
        }

        if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
            return "Month " + month + " doesn`t have 31 days";
        }

        if (month == 2) { // check for february 29th
            var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
            if (day > 29 || (day == 29 && !isleap)) {
                return "February " + year + " doesn`t have " + day + " days";
            }
        }
    }
      return ""; // date is valid
}

  function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }