﻿function LocalLoad()
{
	//this is how we re-populate the chain and store variable fields if we come back to the page
	//when, for example user puts in an email address that is already in the db. we can't
	//re-populate the chain and store variable fields like the other fields on this page, as
	//they aren't "runat=server" fields

	//Chain Variable Fields
	if (document.getElementById("txtChainVariableFieldEntry1") != null)
		document.getElementById("txtChainVariableFieldEntry1").value = document.getElementById("hidChainVariableFieldEntry1").value;
	
	if (document.getElementById("txtChainVariableFieldEntry2") != null)
		document.getElementById("txtChainVariableFieldEntry2").value = document.getElementById("hidChainVariableFieldEntry2").value;
	
	if (document.getElementById("txtChainVariableFieldEntry3") != null)
		document.getElementById("txtChainVariableFieldEntry3").value = document.getElementById("hidChainVariableFieldEntry3").value;
	
	if (document.getElementById("txtChainVariableFieldEntry4") != null)
		document.getElementById("txtChainVariableFieldEntry4").value = document.getElementById("hidChainVariableFieldEntry4").value;
	
	if (document.getElementById("txtChainVariableFieldEntry5") != null)
		document.getElementById("txtChainVariableFieldEntry5").value = document.getElementById("hidChainVariableFieldEntry5").value;
	
	//Store Variable Fields
	if (document.getElementById("txtStoreVariableFieldEntry1") != null)
		document.getElementById("txtStoreVariableFieldEntry1").value = document.getElementById("hidStoreVariableFieldEntry1").value;
	
	if (document.getElementById("txtStoreVariableFieldEntry2") != null)
		document.getElementById("txtStoreVariableFieldEntry2").value = document.getElementById("hidStoreVariableFieldEntry2").value;
	
	if (document.getElementById("txtStoreVariableFieldEntry3") != null)
		document.getElementById("txtStoreVariableFieldEntry3").value = document.getElementById("hidStoreVariableFieldEntry3").value;
	
	if (document.getElementById("txtStoreVariableFieldEntry4") != null)
		document.getElementById("txtStoreVariableFieldEntry4").value = document.getElementById("hidStoreVariableFieldEntry4").value;
	
	if (document.getElementById("txtStoreVariableFieldEntry5") != null)
		document.getElementById("txtStoreVariableFieldEntry5").value = document.getElementById("hidStoreVariableFieldEntry5").value;

	intPhoneNumsShown = document.getElementById("hidNumPhoneFields").value;
}

function SubmitForm()
{
    var intCardNumNull = 0;
	var intFNameNull = 0;
	var intLNameNull = 0;
	var intAddNull = 0;
	var intAdd2Null = 0;
	var intCityNull = 0;
	var intStateNull = 0;
	var intZipNull = 0;
	var intEmailNull = 0;
	var intPhoneNull = 0;
	var intHouseNumNull = 0;
	var intBDayMonthDayNull = 0;
	var intBDayYearNull = 0;
	var intWAMonthDayNull = 0;
	var intWAYearNull = 0;
	var intSpouseFNameNull = 0;
	var intSpouseLNameNull = 0;
	var intSpouseEmailNull = 0;
	var intSpouseBDayMonthDayNull = 0;
	var intSpouseBDayYearNull = 0;
	
	var intBDayBad = 0;
	//var intWeddingAnvIncomplete = 0;
	var intWABad = 0;
	//var intSpouseBDayIncomplete = 0;
	var intSpouseBDayBad = 0;

	var intBadCardNum = 0;
	var intBadEmail = 0;
	var intEmailDontMatch = 0;
	var intBadState = 0;
	var intBadZip = 0;
	var intBadPhone = 0;

	//only check for this being null if we're showing "tblCardNum" in the UI
	if (document.getElementById("txtCardNum").value == "" && document.getElementById("tblCardNum").style.display != "none")
	{
		intCardNumNull = 1;
	}
	if (document.getElementById("txtFName").value == "" && document.getElementById("spnFirstNameAst").style.display != "none")
	{
		intFNameNull = 1;
	}
	if (document.getElementById("txtLName").value == "" && document.getElementById("spnLastNameAst").style.display != "none")
	{
		intLNameNull = 1;
	}

	if (document.getElementById("txtStAddress").value == "" && document.getElementById("spnStAddressAst").style.display != "none")
	{
		intAddNull = 1;
    }
    if (document.getElementById("txtStAddress2").value == "" && document.getElementById("spnStAddress2Ast").style.display != "none")
    {
        intAdd2Null = 1;
    }
    if (document.getElementById("txtCity").value == "" && document.getElementById("spnCityAst").style.display != "none")
	{
		intCityNull = 1;
	}

	if (document.getElementById("txtState").value == "" && document.getElementById("hidCountry").value != "MX" && document.getElementById("spnStateAst").style.display != "none")
	{
		intStateNull = 1;
	}

	if (document.getElementById("txtZip").value == "" && document.getElementById("spnZipAst").style.display != "none")
	{
		intZipNull = 1;
	}

	if (document.getElementById("txtEmail").value == "" && document.getElementById("spnEmailAst").style.display != "none")
	{
		intEmailNull = 1;
	}

	if ((document.getElementById("txtPhone1_1").value == "" || document.getElementById("txtPhone1_2").value == "" || document.getElementById("txtPhone1_3").value == "") && document.getElementById("spnPhoneAst").style.display != "none")
	{
		intPhoneNull = 1;
	}
	if (document.getElementById("selHouseNum").value == "" && document.getElementById("spnHouseNumAst").style.display != "none")
	{
		intHouseNumNull = 1;
    }

    if ((document.getElementById("selBDayMonth").value == "" || document.getElementById("selBDayDay").value == "") && document.getElementById("spnBirthdayMonthDayReq").style.display != "none")
	{
	    intBDayMonthDayNull = 1;
    }
    if (document.getElementById("selBDayYear").value == "" && document.getElementById("spnBirthdayAst").style.display != "none") 
    {
        intBDayYearNull = 1;
    }

    if ((document.getElementById("selWAMonth").value == "" || document.getElementById("selWADay").value == "") && document.getElementById("spnWAMonthDayReq").style.display != "none")
    {
        intWAMonthDayNull = 1;
    }
    if (document.getElementById("selWAYear").value == "" && document.getElementById("spnWeddingAnniversaryAst").style.display != "none")
    {
        intWAYearNull = 1;
    }

    if ((document.getElementById("selSpouseBDayMonth").value == "" || document.getElementById("selSpouseBDayDay").value == "") && document.getElementById("spnSpouseBirthdayMonthDayReq").style.display != "none")
    {
        intSpouseBDayMonthDayNull = 1;
    }
    if (document.getElementById("selSpouseBDayYear").value == "" && document.getElementById("spnSpouseBirthdayAst").style.display != "none")
    {
        intSpouseBDayYearNull = 1;
    }
    
    if (intBDayMonthDayNull == 0 && intBDayMonthDayNull == 0)
    {
        if (document.getElementById("selBDayMonth").value != "" && document.getElementById("selBDayDay").value != "")
        {
            var strBDayYear = "1900";
            if (document.getElementById("selBDayYear").value != "")
            {
                strBDayYear = document.getElementById("selBDayYear").value;
            }

            if (!IsDate(document.getElementById("selBDayMonth").value + "/" + document.getElementById("selBDayDay").value + "/" + strBDayYear))
            {
                intBDayBad = 1;
            }
        }
    }

    if (intWAMonthDayNull == 0 && intWAMonthDayNull == 0)
    {
        if (document.getElementById("selWAMonth").value != "" && document.getElementById("selWADay").value != "")
        {
            var strWAYear = "1900";
            if (document.getElementById("selWAYear").value != "")
            {
                strWAYear = document.getElementById("selWAYear").value;
            }

            if (!IsDate(document.getElementById("selWAMonth").value + "/" + document.getElementById("selWADay").value + "/" + strWAYear))
            {
                intWABad = 1;
            }
        }
    }

    if (intSpouseBDayMonthDayNull == 0 && intSpouseBDayMonthDayNull == 0)
    {
        if (document.getElementById("selSpouseBDayMonth").value != "" && document.getElementById("selSpouseBDayDay").value != "")
        {
            var strSpouseBDayYear = "1900";
            if (document.getElementById("selSpouseBDayYear").value != "")
            {
                strSpouseBDayYear = document.getElementById("selSpouseBDayYear").value;
            }

            if (!IsDate(document.getElementById("selSpouseBDayMonth").value + "/" + document.getElementById("selSpouseBDayDay").value + "/" + strSpouseBDayYear))
            {
                intSpouseBDayBad = 1;
            }
        }
    }

//    //if one of the Wedding Anniversary fields is filled in, they all must be filled in
//    if ((document.getElementById("selWAMonth").value != "" && (document.getElementById("selWADay").value == "" || document.getElementById("selWAYear").value == "")) ||
//    (document.getElementById("selWADay").value != "" && (document.getElementById("selWAMonth").value == "" || document.getElementById("selWAYear").value == "")) ||
//    (document.getElementById("selWAYear").value != "" && (document.getElementById("selWADay").value == "" || document.getElementById("selWAMonth").value == "")))
//    {
//        intWeddingAnvIncomplete = 1;
//    }
//    else if (document.getElementById("selWAMonth").value != "" && document.getElementById("selWADay").value != "" && document.getElementById("selWAYear").value != "" &&
//        !IsDate(document.getElementById("selWAMonth").value + "/" + document.getElementById("selWADay").value + "/" + document.getElementById("selWAYear").value))
//    {
//        intWABad = 1;
//    }

//    //if one of the Spouse Birth Day fields is filled in, they all must be filled in
//    if ((document.getElementById("selSpouseBDayMonth").value != "" && (document.getElementById("selSpouseBDayDay").value == "" || document.getElementById("selSpouseBDayYear").value == "")) ||
//    (document.getElementById("selSpouseBDayDay").value != "" && (document.getElementById("selSpouseBDayMonth").value == "" || document.getElementById("selSpouseBDayYear").value == "")) ||
//    (document.getElementById("selSpouseBDayYear").value != "" && (document.getElementById("selSpouseBDayDay").value == "" || document.getElementById("selSpouseBDayMonth").value == "")))
//    {
//        intSpouseBDayIncomplete = 1;
//    }
//    else if (document.getElementById("selSpouseBDayMonth").value != "" && document.getElementById("selSpouseBDayDay").value != "" && document.getElementById("selSpouseBDayYear").value != "" &&
//        !IsDate(document.getElementById("selSpouseBDayMonth").value + "/" + document.getElementById("selSpouseBDayDay").value + "/" + document.getElementById("selSpouseBDayYear").value))
//    {
//        intSpouseBDayBad = 1;
//    }

    if (intCardNumNull == 0 && document.getElementById("tblCardNum").style.display != "none" && ((document.getElementById("txtCardNum").value.length != 14 && document.getElementById("txtCardNum").value.length != 16) || !CheckIfNumeric(document.getElementById("txtCardNum").value)))
	{
		intBadCardNum = 1;
	}
	if (intEmailNull == 0 && !IsValidEmail(document.getElementById("txtEmail").value) && document.getElementById("txtEmail").value != "")
	{
		intBadEmail = 1;
	}
	if (intEmailNull == 0 && document.getElementById("txtEmail").value != document.getElementById("txtEmailConfirm").value)
	{
		intEmailDontMatch = 1;
	}
	
	//if this is a canadian store, check Province and Postal Code instead of State and Zip Code
	var strStateText, strZipText;
	if (document.getElementById("hidCountry").value == "CA") //Canada
    {
        if (intStateNull == 0 && !IsValidProvince(document.getElementById("txtState").value))
        {
            intBadState = 1;
        }

        if (intZipNull == 0 && document.getElementById("txtZip").value != "" && !IsValidPostalCode(document.getElementById("txtZip").value))
        {
            intBadZip = 1;
        }

        strStateText = "Province";
        strZipText = "Postal Code";
    }
    else if (document.getElementById("hidCountry").value == "MX") //Mexico
    {
        //if (intStateNull == 0 && !IsValidProvinceMX(document.getElementById("txtState").value))
        //{
        //    intBadState = 1;
        //}

        if (intZipNull == 0 && !IsValidZip(document.getElementById("txtZip").value))
        {
            intBadZip = 1;
        }

        strStateText = "Provincia";
        strZipText = "Código Postal";
    }
    else //US
    {
        if (intStateNull == 0 && !IsValidState(document.getElementById("txtState").value))
        {
            intBadState = 1;
        }

        if (intZipNull == 0 && !IsValidZip(document.getElementById("txtZip").value))
        {
            intBadZip = 1;
        }

        strStateText = "State";
        strZipText = "Zip Code";
    }
    
	if (intPhoneNull == 0 && (!CheckIfNumeric(document.getElementById("txtPhone1_1").value) || !CheckIfNumeric(document.getElementById("txtPhone1_2").value) || !CheckIfNumeric(document.getElementById("txtPhone1_3").value)))
	{
		intBadPhone = 1;
	}
	
	if (intCardNumNull == 1 ||
	    intFNameNull == 1 ||
	    intLNameNull == 1 ||
	    intAddNull == 1 ||
	    intCityNull == 1 ||
	    intStateNull == 1 ||
	    intZipNull == 1 ||
	    intEmailNull == 1 ||
	    intPhoneNull == 1 ||
	    intHouseNumNull == 1 ||
	    intBDayMonthDayNull == 1 ||
	    intBDayYearNull == 1 ||
	    intWAMonthDayNull == 1 ||
	    intWAYearNull == 1 ||
	    intSpouseFNameNull == 1 ||
	    intSpouseLNameNull == 1 ||
	    intSpouseEmailNull == 1 ||
	    intSpouseBDayMonthDayNull == 1 ||
	    intSpouseBDayYearNull == 1 ||
	    intBDayBad == 1 ||
	    intWABad == 1 ||
	    intSpouseBDayBad == 1 ||
	    intBadCardNum == 1 ||
	    intBadEmail == 1 ||
	    intEmailDontMatch == 1 ||
	    intBadState == 1 ||
	    intBadZip == 1 ||
	    intBadPhone == 1)
	{
	    var strBilingualOption = document.getElementById("hidBilingualOption").value;

        var strAlert = "";

        if (strBilingualOption != "s")
        {
            strAlert = "Please correct the following before proceeding:\n\n";
        }
        else
        {
            strAlert = "Favor de corregir lo siguiente antes de continuar:\n\n";
        }
		
		if (intCardNumNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
		        strAlert += "The Card Number field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "El campo de Número de Tarjeta no puede estar vacío.\n";
		    }
		}
		if (intFNameNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The First Name field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "El campo de Nombre no puede estar vacío.\n";
		    }
		}
		if (intLNameNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The Last Name field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "El campo de Apellido no puede estar vacío.\n";
		    }
		}
		if (intAddNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The Address field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "El campo de Dirección no puede estar vacío.\n";
		    }
		}
		if (intCityNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The City field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "El campo de Ciudad no puede estar vacío.\n";
		    }
		}
		if (intStateNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The " + strStateText + " field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "El campo de Estado no puede estar vacío.\n";
		    }
		}
		if (intZipNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The " + strZipText + " field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "El campo de Código Postal no puede estar vacío.\n";
		    }
		}
		if (intEmailNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The e-Mail Address field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "El campo de Correo Electrónico no puede estar vacío.\n";
		    }
		}
		if (intPhoneNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "Your phone number must be entered.\n";
		    }
		    else
		    {
		        strAlert += "Tu número telefónico te identifica como miembro del LoneStarClub mientras obtienes tu tarjeta de membresía y cuando olvides traerla contigo.\n";
		    }
		}
		if (intHouseNumNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "You must select the number of people in your household.\n";
		    }
		    else
		    {
		        strAlert += "Debes  seleccionar el número de personas en tu hogar.\n";
		    }
		}
		if (intBDayMonthDayNull == 1 || intBDayYearNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
		        strAlert += "Please fill in the required Birthday fields.\n";
		    }
		    else
		    {
		        strAlert += "Debes seleccionar una fecha de nacimiento válida.\n";
		    }
		}
		if (intWAMonthDayNull == 1 || intWAYearNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
		        strAlert += "Please fill in the required Wedding Anniversary fields.\n";
		    }
		    else
		    {
		        strAlert += "Favor de llenar todos los campos de Aniversario de Bodas.  Te enviaremos un regalo para que lo celebres.\n";
		    }        }
        if (intSpouseBDayMonthDayNull == 1 || intSpouseBDayYearNull == 1)
        {
            if (strBilingualOption != "s")
		    {
		        strAlert += "Please fill in the required Spouse's Birthday fields.\n";
		    }
		    else
		    {
		        strAlert += "Favor de llenar todos los campos de Fecha de Nacimiento de tu cónyuge.\n";
		    }
		}
		if (intSpouseFNameNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
		        strAlert += "The Spouse's First Name field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "\n";
		    }
		}
		if (intSpouseLNameNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
		        strAlert += "The Spouse's Last Name field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "\n";
		    }
		}
		if (intSpouseEmailNull == 1)
		{
		    if (strBilingualOption != "s")
		    {
		        strAlert += "The Spouse's e-Mail Address field cannot be blank.\n";
		    }
		    else
		    {
		        strAlert += "\n";
		    }
		}
        if (intBDayBad == 1)
        {
            if (strBilingualOption != "s")
		    {
                strAlert += "The birthday you selected is not a valid date.\n";
		    }
		    else
		    {
		        strAlert += "La fecha de nacimiento que has seleccionado no es válida.\n";
		    }
        }
        if (intWABad == 1)
        {   
            if (strBilingualOption != "s")
		    {
                strAlert += "The Wedding Anniversary you selected is not a valid date.\n";
		    }
		    else
		    {
		        strAlert += "La fecha de aniversario que has seleccionado no es válida.\n";
		    }
        }
        if (intSpouseBDayBad == 1)
        {
            if (strBilingualOption != "s")
		    {
                strAlert += "The Spouse's Birthday you selected is not a valid date.\n";
		    }
		    else
		    {
		        strAlert += "La fecha de nacimiento del cónyuge no es válida.\n";
		    }
        }
		if (intEmailDontMatch == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The e-Mail Address field and Confirm e-Mail Address field don't match.\n";
		    }
		    else
		    {
		        strAlert += "Los campos de Correo Electrónico y de Confirmar el Correo Electrónico no coinciden.\n";
		    }
		}
		if (intBadCardNum == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The Card Number you entered, '" + document.getElementById("txtCardNum").value + "', is not valid.\n";
		    }
		    else
		    {
		        strAlert += "El Número de Tarjeta '" + document.getElementById("txtCardNum").value + "' no es válido.\n";
		    }
		}
		if (intBadEmail == 1)
		{
		    if (strBilingualOption != "s")
		    {
			    strAlert+= "The e-Mail address you entered, '" + document.getElementById("txtEmail").value + "', is not a valid e-Mail address.\n";
		    }
		    else
		    {
		        strAlert += "El Correo Electrónico '" + document.getElementById("txtEmail").value + "' no es válido.\n";
		    }
		}
		if (intBadState == 1)
		{
		    strAlert+= "The " + strStateText + " you entered, '" + document.getElementById("txtState").value + "', is not a valid " + strStateText + " abbreviation. (" + strStateText + " must be a valid two-letter postal abbreviation.)\n";
		}
		if (intBadZip == 1)
		{
		    strAlert+= "The " + strZipText + " you entered, '" + document.getElementById("txtZip").value + "', is not valid.\n";
		}
		if (intBadPhone == 1)
		{
		    if (strBilingualOption != "s")
		    {
		    	strAlert += "The Phone Number you entered, '(" + document.getElementById("txtPhone1_1").value + ") " + document.getElementById("txtPhone1_2").value + "-" + document.getElementById("txtPhone1_3").value + "', is not valid.\n";
		    }
		    else
		    {
		    	strAlert += "El número telefónico '(" + document.getElementById("txtPhone1_1").value + ") " + document.getElementById("txtPhone1_2").value + "-" + document.getElementById("txtPhone1_3").value + "' no es válido.\n";
		    }
		}
		
		window.alert(strAlert);
		
	}
	else
	{
		document.getElementById("butSubmit").value = "Please Wait...";
		document.getElementById("butSubmit").disabled = true;
		
		document.form.submit();
	}
}

function IsValidEmail(strEmail){
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (strEmail.indexOf(".") > 2) && (strEmail.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
  return (!r1.test(strEmail) && r2.test(strEmail));
}

function IsValidState(strState)
{
	var intGoodState = 0;
	var arrPostalState = new Array("", "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY");
	for (var i=0; i<arrPostalState.length; i++)
	{
		if (strState.toUpperCase() == arrPostalState[i])
		{
			intGoodState = 1;
			break;
		}
	}
	if (intGoodState == 1)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function IsValidZip(strZip)
{
	if (CheckIfNumeric(strZip) && strZip.length <= 7)
	{
		return true;
	}
	else
	{
		return false;
	}
}

//Canada
function IsValidProvince(strProvince) {
    var intGoodProvince = 0;
    var arrPostalProvince = new Array("", "AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE", "QC", "SK", "YT");
    for (var i = 0; i < arrPostalProvince.length; i++) {
        if (strProvince.toUpperCase() == arrPostalProvince[i]) {
            intGoodProvince = 1;
            break;
        }
    }
    if (intGoodProvince == 1) {
        return true;
    }
    else {
        return false;
    }
}

//Canada
function IsValidPostalCode(strPostalCode) {
    var zipRegExp = /(^\D{1}\d{1}\D{1}\s\d{1}\D{1}\d{1}$)/;
    return zipRegExp.test(strPostalCode);
}

//Mexico
//function IsValidProvinceMX(strProvince)
//{
//    var intGoodProvince = 0;
//    var arrPostalProvince = new Array("AG", "BC", "BS", "CM", "CS", "CH", "CO", "CL", "DF", "DG", "GT", "GR", "HG", "JA", "ME", "MI", "MO", "NA", "NL", "OA", "PB", "QE", "QR", "SL", "SI", "SO", "TB", "TM", "TL", "VE", "YU", "ZA");
//    for (var i = 0; i < arrPostalProvince.length; i++)
//    {
//        if (strProvince.toUpperCase() == arrPostalProvince[i])
//        {
//            intGoodProvince = 1;
//            break;
//        }
//    }
//    if (intGoodProvince == 1)
//    {
//        return true;
//    }
//    else
//    {
//        return false;
//    }
//}

function CheckIfNumeric(strToCheck)
{
	var boolReturn = true;
	for (var i=0; i<strToCheck.length; i++)
	{
		if (strToCheck.charAt(i) != parseInt(strToCheck.charAt(i)))
		{
			boolReturn = false;
			break;
		}	
	}
	
	return boolReturn;
}

function IsDate(dateStr)
{
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null)
    {
        //alert("Please enter your birth date as dd/mm/yyyy. Your current selection reads: " + dateStr);
        return false;
    }

    month = matchArray[1];
    day = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12)
    { // check month range
        //alert("Month must be between 1 and 12.");
        return false;
    }

    if (day < 1 || day > 31)
    {
        //alert("Day must be between 1 and 31.");
        return false;
    }

    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31)
    {
        //alert("Month "+month+" doesn`t have 31 days!");
        return false;
    }

    if (month == 2)
    { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day == 29 && !isleap))
        {
            //alert("February " + year + " doesn`t have " + day + " days!");
            return false;
        }
    }
    return true; // date is valid
}

var intPhoneNumsShown;
function AddAnotherPhoneNum()
{
	intPhoneNumsShown++;
	document.getElementById("divPhone" + intPhoneNumsShown).style.display = "";

	if (intPhoneNumsShown == 10)
	{
		document.getElementById("divAddAnotherPhoneNum").style.display = "none";
	}
}

var intChildsShown = 2;
function AddAnotherChild()
{
	intChildsShown++;
	document.getElementById("tblChild" + intChildsShown).style.display = "";

	if (intChildsShown == 10)
	{
		document.getElementById("divAddAnotherChild").style.display = "none";
	}
}