function validateOrder(oForm) {                                                                               
  var errMsg = " Please complete the following required fields:\n\n"
  var isvalid = true;                                                     
  var ischecked = false;                                                  
	
	
  if (oForm.provider.selectedIndex == 0  && oForm.other.value == "") {                                                                       
    errMsg =  errMsg + " - Service provider \n";             
    var isvalid = false;                                            
  } 
  			                                                                        
  if(oForm.firstname.value == "") {                                                                       
    errMsg =  errMsg + " - First name\n";                              
    var isvalid = false;                                            
  }                                                                       
                                                                        
  if (oForm.lastname.value == "") {                                                                       
    errMsg =  errMsg + " - Last name\n";                                  
    var isvalid = false;                                            
  }                                                                       		                                                                                                                                             
	
  if (isEmail(oForm.email.value ) == false)  {			                                                                        
   errMsg =  errMsg + " - Valid email address\n";                             
   isvalid = false;                                                
  }                                                                       

  if (oForm.homephone.value == "") {                                                                       
   errMsg =  errMsg + " - Home phone number\n";                             
   isvalid = false;                                                
  } 
  		
  if (oForm.address.value == "") {                                                                       
   errMsg =  errMsg + " - Address\n";                             
   isvalid = false;                                                
  }

  if (oForm.city.value == "") {                                                                       
   errMsg =  errMsg + " - City\n";                             
   isvalid = false;                                                
  }
  
      		
  if (oForm.province.selectedIndex == 0) {                                                                       
    errMsg =  errMsg + " - Province\n";                             
   isvalid = false;                                            
  } 

  if( isPostalcode(oForm.postalcode.value ) == false  ) {
    errMsg = errMsg + " - Valid postal code (format: A9A 9A9)\n";
    isvalid = false; 
  }
	                                                                                                                                               
  if (!isvalid)  {                                                                       
    alert(errMsg);                                                  
  }                                                                       
  return(isvalid);                                                        
}                                                                               

function isEmail(s) {
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@")) {
		i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@"))
		return false;
    else
		i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != ".")) {
		i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != "."))
		return false;
    else
		return true;
}

function isPostalcode(postalcode) {
	if (postalcode.search) {
		postalcode = removeSpaces(postalcode);
		if (postalcode.length == 6 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/) != -1)
			return true;
		else if (postalcode.length == 7 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]-\d[a-zA-Z]\d$/) != -1)
			return true;
		else 
			return false;
	}
	
	return true;
}         

function removeSpaces(string) {
	var newString = '';
	for (var i = 0; i < string.length; i++) {
		if (string.charAt(i) != ' ') newString += string.charAt(i);
	}
	return newString;
}                                                                         
