
function isblank(s) {
 var i, c;
 
 for(i = 0; i < s.length; i++) {
  c = s.charAt(i);
  if(c != ' ' && c != '\n' && c != '\t')
   return false;
 }
 return true;
}
//digit only function
function IsDigit(objField)
{
  var isn=objField.value;
  var flag=0;
  for (var i=0;i<isn.length;i++)
  {
    var cmp="0123456789"
    var tst=isn.substring(i,i+1)
    
    if (cmp.indexOf(tst)<0)
    {
      flag++;
    }
  }
  if (flag == 0)
  {
    return true;
  } 
  else 
  {
    return false;
  }
}

function validate(f)
{
  var i, e, msg, bypass, rdmsg, rdoname, emsg, provname, dismsg, etailermsg;
  
  //boolean to display an incorrect value in the textbox (ie AlphaNumeric, Digit only, postal code)
  var bInvalid = false;
  
   msg = '';
   rdmsg = '';
   emsg = '';
   bypass = true;
   rdoname = '';
   provname = '';
   dismsg = '';
   etailermsg = '';
   
   var checkedQty = 0;
  
   for(i = 0; i < f.length; i++) 
   {   
      e = f.elements[i];
      //alert('1:' + e.name +':' + e.type);
                
      //for some reason, the type 'radio' will not go into the required
      //so it's being placed outside the condition for this form only 
      //only needed for the attraction radio buttons 
      if(e.type == "radio")
      {
         //alert(e.name);
        if(e.name == "salutation")
        {
          if (rdoname != e.name)
          {
             bypass = true;
             msg += rdmsg;
             rdoname = e.name;
          }
          
          if(!e.checked && bypass) 
          {
            rdmsg = 'Salutation<br><br>';
          }
          else 
          {
             rdmsg = '';
             bypass = false;
          }
        }
      }
      
      //if(!e.optional)
      if(e.required)
      {
        //assign the e.name to a variable to be used later for conversion to french
        conname = e.name;
         //alert('required: ' + conname +':' + e.type);   
           //alert ("bInvalid begin : " + bInvalid);
           
           switch(conname){
            case 'firstname':  
          		 conname = escape('Please enter your first name.<br><br>');
               break;
             case 'email':        
        		   if (!CheckEmail(e))
        		   {
        			   conname = '';
                 conname = escape('Please enter a valid e-mail address<br><br>');
								 //alert ("Email : " +conname);
								 bInvalid = true;
        		   }
               break;
						 case 'dearsanta':
						   bInvalid = false;
						 	 conname = '';  
          		 conname = escape('Please enter a message for Santa.<br>');
               break;
            }
           
					 //alert ("bInvalid end : " + bInvalid);
           if (e.value == null || e.value == '' || isblank(e.value) || e.value == -1 || bInvalid == true)
           {
              msg += conname;
             // alert ("here");
           }
  
      }//end e.optional
   }
	    
   msg += rdmsg;
   msg += emsg;
   msg += etailermsg;
   msg += dismsg;
   
	// alert ("IN MSG : " + msg);
   if(msg != '') {
    popup('540x360','required-e.asp?required=' + msg);
    return false;
   } else {
    return true;
   }
   
}

//check if email address is valid
function CheckEmail(objField)
{
	var strEmailAddress;
	
	strEmailAddress = objField.value;
	
  var regexp = /^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$/;
	
	return regexp.test( strEmailAddress );
}

	//check if the postal code is valid
function CheckZipCode(objField)
{

  if ( objField.value.search(/^[A-Za-z][0-9][A-Za-z] [0-9][A-Za-z][0-9]$/) != -1 || objField.value.search(/^[0-9]{4,5}$/) != -1 )
  {
    return true;
  } 
  else 
  {
    return false;
  }
}

//check if phone number is valid
	function CheckPhone(objField)
	{
		var newtext="";
		var counter=0;
		var phoneno;
		
		phoneno = objField.value
		
		for (counter=0; counter<phoneno.length; counter++)
		{
			if (phoneno.charCodeAt(counter)>47 && phoneno.charCodeAt(counter)<58)
			{
				newtext += phoneno.charAt(counter);
			}
		}
		
    if (newtext.length != 10)
		{
			return false;
		}
		else
		{
			
			return true;
		}
    
		if (newtext.length == 10)
		{
			return true;
		}
		else
		{
			return false;
		}
	}

 
