﻿function validate_request(theForm) 
{
	var reason = "";

  reason += validateTitle(theForm.title);
  reason += validateFn(theForm.fn);
  reason += validateFn(theForm.ln);
  //reason += validateCompany(theForm.company);
  reason += validateEmail(theForm.email);
  reason += validateAddress1(theForm.address1);
  reason += validateCity(theForm.city);
  reason += validateZip(theForm.zip);
  reason += validateCountries(theForm.countries);
  //reason += validateResponseType();
  reason += validateEventName(theForm.eventName);
  //reason += validateAttend();
  reason += validateDayOneSingle(theForm.dayOneSingle);
  reason += validateDayOneDouble(theForm.dayOneDouble);
  reason += validateDayOneAlisaSuite(theForm.dayOneAlisaSuite);
  reason += validateDayOneExecutiveSuite(theForm.dayOneExecutiveSuite);
  reason += validateDayOneOther(theForm.dayOneOther);  
  reason += validateDayTwoSingle(theForm.dayTwoSingle);
  reason += validateDayTwoDouble(theForm.dayTwoDouble);
  reason += validateDayTwoAlisaSuite(theForm.dayTwoAlisaSuite);
  reason += validateDayTwoExecutiveSuite(theForm.dayTwoExecutiveSuite);
  reason += validateDayTwoOther(theForm.dayTwoOther); 
  reason += validateDayThreeSingle(theForm.dayThreeSingle); 
  reason += validateDayThreeDouble(theForm.dayThreeDouble);
  reason += validateDayThreeAlisaSuite(theForm.dayThreeAlisaSuite);
  reason += validateDayThreeExecutiveSuite(theForm.dayThreeExecutiveSuite);
  reason += validateDayThreeOther(theForm.dayThreeOther);
  reason += validateDayFourSingle(theForm.dayFourSingle);
  reason += validateDayFourDouble(theForm.dayFourDouble);
  reason += validateDayFourAlisaSuite(theForm.dayFourAlisaSuite);
  reason += validateDayFourExecutiveSuite(theForm.dayFourExecutiveSuite);
  reason += validateDayFourOther(theForm.dayFourOther); 
  reason += validateDayFiveSingle(theForm.dayFiveSingle);
  reason += validateDayFiveDouble(theForm.dayFiveDouble);
  reason += validateDayFiveAlisaSuite(theForm.dayFiveAlisaSuite);
  reason += validateDayFiveExecutiveSuite(theForm.dayFiveExecutiveSuite);
  reason += validateDayFiveOther(theForm.dayFiveOther); 

  
  
  if (reason != "") {
    alert("Some fields need correction:\n" + reason);

    return false;    
    }
    
  return true;

}

function validateTitle(fld) {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        error = "Select your title.\n";
        fld.style.background = '#FFFFCC';
    } 
    
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateFn(fld) {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        error = "Enter your first name.\n";
        fld.style.background = '#FFFFCC';
    } 
    
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateLn(fld) {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        error = "Enter your last name.\n";
        fld.style.background = '#FFFFCC';
    } 
    
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateCompany(fld) {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        error = "Enter your company name.\n";
        fld.style.background = '#FFFFCC';
    } 
    
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateEmail(fld){
	var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
    
    if (fld.value == "") {
        error = "Enter email.\n";
        fld.style.background = '#FFFFCC';
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        error = "Please enter a valid email address.\n";
        fld.style.background = '#FFFFCC';
        
    } else if (fld.value.match(illegalChars)) {
        error = "The email address contains illegal characters.\n";

    } else {
        fld.style.background = 'white';
       
    }
    return error;

}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}


function validateAddress1(fld) {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        error = "Enter your address.\n";
        fld.style.background = '#FFFFCC';
    } 
    else if(fld.value.length < 10)
    {
    	error = "Your address is too short.\n";
        fld.style.background = '#FFFFCC';
    }
    
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateCity(fld) {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        error = "Enter your city.\n";
        fld.style.background = '#FFFFCC';
    } 
    else if(fld.value.length < 3)
    {
    	error = "Your address is too short.\n";
        fld.style.background = '#FFFFCC';
    }
    
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateZip(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.background = '#FFFFCC';
        error = "Enter your country zip code.\n";
    } else if (isNaN(parseInt(stripped))) {
        error = "Your country zip code contains illegal characters.\n";
        
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}


function validateCountries(fld) {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        error = "Select your country.\n";
        fld.style.background = '#FFFFCC';
    } 
    
    else {
        fld.style.background = 'white';
    } 

    return error;
}


function validateResponseType() {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (request.response1.checked==false && 
   	   request.response2.checked==false &&
   	   request.response3.checked==false &&
   	   request.response4.checked==false &&
   	   request.response5.checked==false){
        error = "Select your response requirement.\n";
        document.getElementById('response').style.background = '#FFFFCC';
    } 
    else if(request.response5.checked==true)
    {
    	if(request.txtOtherResponse.value=='')
    	{
    		error = "Please specify your response requirements.\n";
    		document.getElementById('response').style.background = '#FFFFCC';
    	}
    	else
    	{    		
    		request.txtOtherResponse.background = '#FFFFFF';
    		document.getElementById('response').style.background = 'white';
    	}
    }
    
    else {
        document.getElementById('response').style.background = 'white';
    } 

    return error;
}


function validateEventName(fld) {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        error = "Please specify the event name.\n";
        fld.style.background = '#FFFFCC';
    } 
    
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateAttend() {
    var error = "";
    //var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (request.attend1.checked==false){
        error = "Select the type of people who are attending the event.\n";
        //document.getElementById('attend').style.background = '#FFFFCC';
    } 
     

    return error;
}

function validateDayOneSingle(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayOneDouble(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayOneAlisaSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

	function validateDayOneExecutiveSuite(fld) {
	    var error = "";
	    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     
	
	   if (fld.value == "") {
	        fld.style.value = 0;
	        error = "Enter the number of room required.\n";
	        fld.style.background = '#FFFFCC';
	    } else if (isNaN(parseInt(stripped))) {
	        error = "This field contains illegal characters.\n";
	        fld.style.background = '#FFFFCC';
	    } 
	    else {
	        fld.style.background = 'white';
	    } 
	
	    return error;
	}

function validateDayOneOther(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayTwoSingle(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayTwoDouble(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}


function validateDayTwoAlisaSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayTwoExecutiveSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayTwoOther(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayThreeSingle(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayThreeDouble(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayThreeAlisaSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayThreeExecutiveSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayThreeOther(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayFourSingle(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}


function validateDayFourDouble(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}


function validateDayFourAlisaSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}


function validateDayFourExecutiveSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayFourOther(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}


function validateDayFiveSingle(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}



function validateDayFiveDouble(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}




function validateDayFiveAlisaSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}


function validateDayFiveExecutiveSuite(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}

function validateDayFiveOther(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        fld.style.value = 0;
        error = "Enter the number of room required.\n";
        fld.style.background = '#FFFFCC';
    } else if (isNaN(parseInt(stripped))) {
        error = "This field contains illegal characters.\n";
        fld.style.background = '#FFFFCC';
    } 
    else {
        fld.style.background = 'white';
    } 

    return error;
}




