
var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
  var bracket=3
  strPhone=trim(strPhone)
  if(strPhone.indexOf("+")>1) return false
  if(strPhone.indexOf("-")!=-1)bracket=bracket+1
  if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
  var brchr=strPhone.indexOf("(")
  if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
  if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
  s=stripCharsInBag(strPhone,validWorldPhoneChars);
  return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

  function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}
function validate_email(field,alerttxt)
{
with (field)
  {
  apos=value.indexOf("@");
  dotpos=value.lastIndexOf(".");
  if (apos<1||dotpos-apos<2)
    {alert(alerttxt);return false;}
  else {return true;}
  }
}
function getElementsByClass(searchClass,node,tag) {
	
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
function validate_form2(thisform)
{ 
  elementsForms = getElementsByClass('required',thisform,'input');	
  for (var intCounter = 0; intCounter < elementsForms.length; intCounter++)  {  
	if (elementsForms[intCounter].name=="requiredname"){
		var requiredField = document.getElementById('name');	
	    if (requiredField.value==null||requiredField.value==""){ 
	      requiredField.focus();alert("Name is required to qualify.");return false;
        }
    }else if (elementsForms[intCounter].name=="requiredemail"){
    	var requiredField = document.getElementById('email');
	   if (validate_email(requiredField,"Please enter a valid e-mail address!")==false){
		requiredField.focus();return false;
		}
	}else if (elementsForms[intCounter].name=="requiredcompany"){
    	var requiredField = document.getElementById('company');
        if (requiredField.value==null||requiredField.value==""){
	       requiredField.focus();alert("Company is required to qualify.");return false;
        }
	}else if (elementsForms[intCounter].name=="requiredtelephone"){
    	var requiredField = document.getElementById('telephone');
	    if (requiredField.value==null||requiredField.value==""){
  	   	   requiredField.focus();alert("Telephone is required to qualify.");return false;
        }else if (checkInternationalPhone(requiredField.value)==false){
	       requiredField.focus(); 	
		   alert("Please enter a valid telephone number in the format xxx-xxx-xxxx");
		   return false;
	   }
	}else if (elementsForms[intCounter].name=="requiredaddress"){
    	var requiredField = document.getElementById('address');
        if (requiredField.value==null||requiredField.value==""){
	       requiredField.focus();alert("Address is required to qualify.");return false;
        }
	}else if (elementsForms[intCounter].name=="requiredcity"){
    	var requiredField = document.getElementById('city');
        if (requiredField.value==null||requiredField.value==""){
	       requiredField.focus();alert("City is required to qualify.");return false;
        }
	}else if (elementsForms[intCounter].name=="requiredstate"){
    	var requiredField = document.getElementById('state');
        if (requiredField.value==null||requiredField.value==""){
	       requiredField.focus();alert("State is required to qualify.");return false;
        }
	}else if (elementsForms[intCounter].name=="requiredzip"){
    	var requiredField = document.getElementById('zip');
        if (requiredField.value==null||requiredField.value==""){
	       requiredField.focus();alert("Postalcode is required to qualify.");return false;
        }
	}
  }

  return true;
  
}
function validate_form(thisform)
{
with (thisform)
  {
  if (company.value==null||company.value==""){
  	   
	   company.focus();alert("Company is required to qualify.");return false;
    }
  if (name.value==null||name.value==""){
  	   
	   name.focus();alert("Name is required to qualify.");return false;
    } 				    
	if (phone.value==null||phone.value==""){
  	   
	   phone.focus();alert("Telephone is required to qualify.");return false;
    }else if (checkInternationalPhone(phone.value)==false){
	 phone.focus(); 	alert("Please enter a valid telephone number in the format xxx-xxx-xxxx");
		return false;
	}
	if (validate_email(email,"Please enter a valid e-mail address!")==false)
    {email.focus();return false;}    
   if (address.value==null||address.value==""){
  	   
	   address.focus();alert("Address is required to qualify.");return false;
    }
   if (city.value==null||city.value==""){
  	   
	   city.focus();alert("City is required to qualify.");return false;
    }
   if (prov.value==null||prov.value==""){
  	   
	   prov.focus();alert("Province is required to qualify.");return false;
    }	    
   if (postalcode.value==null||postalcode.value==""){
  	   
	   postalcode.focus();alert("Postal code is required to qualify.");return false;
    } 
  }    
}
function enablesubmit() {
if(document.Register.year.checked && document.Register.privacy.checked)
{
document.Register.submitbtn.disabled=false;
}

else
{
document.Register.submitbtn.disabled=true;
}
}

 function isPhoneNumber(s) 
{

     // Check for correct phone number
     rePhoneNumber = new RegExp(/^\([1-9]\d{3}\)\s?\d{3}\-\d{4}$/||/\d{3}\-\d{3}\-\d{4}/);

     if (!rePhoneNumber.test(s)) {
     ALERT("NEW TEL NUMBER TEST FAILED");
          return false;
     }

return true;
}
 