function checkResidency(form) {

var provinceindex= form.Province.selectedIndex;
var countryindex = form.Country.selectedIndex;
if (provinceindex >0 && provinceindex <= 13) {
form.Country.selectedIndex = 1;
} else if  (provinceindex >=13 && provinceindex != 70) {
form.Country.selectedIndex = 2;
}
if (countryindex > 2) {
form.Province.selectedIndex = 70;
}
}

 function numbersOnly(str) {
     for (var i=0;i<str.length;i++) {
        theChar = str.charAt(i);
        if ((theChar < "0") || (theChar > "9")) {
    	return false;
        }
     }
    return true;
  }
  
function isPhoneNum(str) {
   if (str.length != 12) { return false }
   for (i=0; i<str.length; i++) {
     if ((i == 3) || (i == 7)) {
       if (str.charAt(i) != "-") { return false }
     } else {
       if ((str.charAt(i) < "0") || (str.charAt(i) > "9")) { return false }
     }
   }
   return true;
}

function validateZip(str) {
 	if (str.length != 5 || !numbersOnly(str)) {
    return false; 
     } else {
	 return true; }
	 }
	 
function validatePostalCode(str) {
 	if (str.length != 7) {
     return false; 
     } else {
	 return true; }
	 }

 
function isValidDate(dt)
{
    var c, nSlash, ch, pos1, pos2, nMonth, nDay, nYear
    
    nSlash = 0
    for(c = 0;c <= dt.length-1;c++)
    {
         ch = dt.substring(c,c+1)
         if (ch != "/" && (ch < "0" || ch > "9"))
              return false
    
         if (ch == "/")
              nSlash++
    }
    if (nSlash != 2)
         return false
    
    pos1 = dt.indexOf("/",0)
    if (pos1 != 1 && pos1 != 2)
         return false

    pos2 = dt.indexOf("/", pos1+1)
    if (pos2 != 3 && pos2 != 4 && pos2 != 5)
         return false

    nMonth = parseInt(dt.substring(0,pos1), 10)
    nDay = parseInt(dt.substring(pos1+1,pos2), 10)
    nYear = parseInt(dt.substring(pos2+1,dt.length), 10)

    
    if (nMonth < 1 || nDay < 1 || nYear < 1900 || nMonth > 12 || nDay > 31 || nYear > 3000)
         return false
    else if ((nMonth == 4 || nMonth == 6 || nMonth == 9 || nMonth == 11) && (nDay > 30))
         return false
    else if (nMonth == 2 && nDay > 29)
         return false
    else if (nMonth == 2 && nDay == 29)
    {
         if ((nYear % 4) != 0)
              return false
         else if ((nYear % 100) == 0 && (nYear % 400) != 0)     
              return false
    }

    return true
}


function DateComparison(dateFrom,dateTo){

       FromDate = new Date(dateFrom)
       ToDate = new Date(dateTo)
       yyyyTo=ToDate.getFullYear();
       yyyyFrom = FromDate.getFullYear();
       
       mmFrom=FromDate.getMonth();
       mmTo=ToDate.getMonth();
       mmFrom+=1;
       mmTo+=1;
       
       ddFrom=FromDate.getDate();
       ddTo=ToDate.getDate();
      
       if ((yyyyTo < yyyyFrom) || (mmTo<mmFrom && yyyyTo==yyyyFrom) ||(ddTo<ddFrom && yyyyTo==yyyyFrom && mmTo==mmFrom))
{
              alert("\"From\" date must be before \"To\" date!");
              return(false);
    }
    return(true);
} 
 
 function Validate(form)
{

  if (form.Name.value == "")
 { alert("\nPlease provide your name.");
  form.Name.focus(); return; }

    if (form.Email.value == "" && form.Telephone.value == "")  
   	{ alert("\nPlease provide your e-mail address and/or telephone number.");
  	form.Email.focus(); return; }
  
   if (form.Email.value != "") {
   if (form.Email.value.indexOf('@', 0) == -1 || form.Email.value.indexOf('.', 0) == -1)
  		{ alert("\nPlease enter a valid e-mail address.");
  form.Email.focus(); return; }
	}
 
   if (form.Telephone.value != "") {
	  if (!isPhoneNum(form.Telephone.value)) {
	  alert("\nPlease enter your phone number in the format ###-###-####");		
	  form.Telephone.focus(); return; }
  }

     if (!form.SendBrochure[0].checked && !form.SendBrochure[1].checked)
  { alert("\nPlease tell us whether you would like us to send you a brochure or not.");
  form.SendBrochure.focus();return; }

    if (form.SendBrochure[0].checked && !form.BrochureType[0].checked && !form.BrochureType[1].checked)
  { alert("\nPlease specify the brochure that you would like.");
  form.BrochureType.focus();return; }
	  
  
        if (form.SendBrochure[0].checked && form.Address.value == "")
 	{ alert("\nYou indicated you want us to send you a brochure.  Please provide a street address.");
	 form.Address.focus(); return; }

     if (form.SendBrochure[0].checked && form.City.value == "")
 	{ alert("\nYou indicated you want us to send you a brochure.  Please provide a city.");
	 form.City.focus(); return; }

     if (form.SendBrochure[0].checked && form.Province.selectedIndex == 0)
  { alert("\nYou indicated you want us to send you a brochure.  Please select a province or state.  If not applicable, choose \"Outside US/Canada\"");
  form.Province.focus(); return; }

     if (form.SendBrochure[0].checked && form.Country.selectedIndex == 0)
  { alert("\nYYou indicated you want us to send you a brochure. Please select a country.");
  form.Country.focus();return; }

     if (form.SendBrochure[0].checked &&  form.PostalCode.value == "") {
  	if (form.Country.selectedIndex == 1) {
		alert("\nYou indicated you want us to send you a brochure.  Please include your postal code.");
  	} else if (form.Country.selectedIndex == 2) {
		alert("\nYou indicated you want us to send you a brochure.  Please include your zip code.");
	} else {
   alert("\nYou indicated you want us to send you a brochure.  Please include a postal or zip code.");
  }
  form.PostalCode.focus(); 
  return; }
  
  
  
 // if (!form.Activities[0].checked) {
 // alert("\nNothing checked!");
 // form.Activities[0].focus(); 
 // return; }
  
form.submit(); 
  
}

