/*Print License Agreement*/
function printField() {
    var s = document.agreement.txt.value;
    var regExp=/\n/gi;
    s = s.replace(regExp,'<br>');
    pWin = window.open('','pWin','location=yes, menubar=yes, toolbar=yes');
    pWin.document.open();
    pWin.document.write('<html><head><title>LongReach License Agreement</title></head><body>');
    pWin.document.write(s);
    pWin.document.write('</body></html>');
    pWin.print();
}
/*Forms Validation*/
function validateDownloadForm(theForm) {
var reason = "";

  reason += validateFirstName(theForm.first_name);
  reason += validateLastName(theForm.last_name);
  reason += validateCompany(theForm.company);
  reason += validateCountryFR(theForm.country)
  reason += validatePhone(theForm.phone);
  reason += validateEmail(theForm.email);

  if (reason != "") {
    alert("Some fields need correction\n");
    return false;
  }
  
  var stringToSearch = theForm.company.value.toLowerCase();
  if (stringToSearch.search("google") >= 0 && theForm.phone.value.search("123456") >=0){    
    alert("Invalid submission");
	theForm.first_name.focus();
    return false;
  }
  return true;
}

function validateLicenseForm(theForm) {
var reason = "";

  reason += validateFirstName(theForm.first_name);
  reason += validateLastName(theForm.last_name);
  reason += validateCompany(theForm.company);
  reason += validateAddress(theForm.street);
  reason += validateCity(theForm.city);
  reason += validateState(theForm.state);
  reason += validatePcode(theForm.zip);
  reason += validateCountry(theForm.country);
  reason += validatePhone(theForm.phone);
  reason += validateEmail(theForm.email);
  reason += validateOSlevel(theForm.oslevel)
  reason += validateSerial(theForm.serialnumber);
  reason += validateModel(theForm.modelnumber);
  reason += validateFeature(theForm.featurecode);

  if (reason != "") {
    alert("Some fields need correction\n");
    return false;
  }
  
  var stringToSearch = theForm.company.value.toLowerCase();
  if (stringToSearch.search("google") >= 0 && theForm.phone.value.search("123456") >=0){    
    alert("Invalid submission");
	theForm.first_name.focus();
    return false;
  }
  return true;
}

function validateFirstName(fld) {
    var error = "";
 
     if (fld.value.length ==0) {
        fld.style.background = '#fffcdb';
		document.getElementById('fnmessage').style.display = "block";
		document.getElementById('fnmessage').innerHTML= 'Please enter your first name';
		fld.focus();
        error = "Please enter your first name.\n"
    }  else if (fld.value.length <2) {
        fld.style.background = '#fffcdb';
		document.getElementById('fnmessage').style.display = "block";
		document.getElementById('fnmessage').innerHTML= 'Please enter your full first name (minimum 2 characters)';
		fld.focus();
        error = "Please enter your full first name (minimum 2 characters).\n";
    }  else {
        fld.style.background = '#ffffff';
        document.getElementById('fnmessage').style.display = "none";
    }
    return error;  
}

function validateLastName(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        fld.style.background = '#fffcdb';
		document.getElementById('lnmessage').style.display = "block";
		document.getElementById('lnmessage').innerHTML= 'Please enter your last name';
		fld.focus();
        error = "Please enter your last name.\n"
    }  else if (fld.value.length <2) {
        fld.style.background = '#fffcdb';
		document.getElementById('lnmessage').style.display = "block";
		document.getElementById('lnmessage').innerHTML= 'Please enter your full last name (minimum 2 characters)';
		fld.focus();
        error = "Please enter your full last name (minimum 2 characters).\n";
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('lnmessage').style.display = "none";
    }
    return error;  
}

function validateCompany(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        fld.style.background = '#fffcdb';
		document.getElementById('cmessage').style.display = "block";
		document.getElementById('cmessage').innerHTML= 'Please enter your company name';
		fld.focus();	
        error = "Please enter your company name.\n"
    }  else if (fld.value.length <2) {
        fld.style.background = '#fffcdb';
		document.getElementById('cmessage').style.display = "block";
		document.getElementById('cmessage').innerHTML= 'Please enter your full company name (minimum 2 characters)';
		fld.focus();
        error = "Please enter your full company name (minimum 2 characters).\n";
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('cmessage').style.display = "none";
    }
    return error;  
}

function validateAddress(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        fld.style.background = '#fffcdb';
		document.getElementById('addmessage').style.display = "block";
		document.getElementById('addmessage').innerHTML= 'Please enter your company address';
		fld.focus();	
        error = "Please enter your company name.\n"
    }  else if (fld.value.length <6) {
        fld.style.background = '#fffcdb';
		document.getElementById('addmessage').style.display = "block";
		document.getElementById('addmessage').innerHTML= 'Please enter your full company address (minimum 6 characters)';
		fld.focus();
        error = "Please enter your full company address (minimum 6 characters).\n";
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('addmessage').style.display = "none";
    }
    return error;  
}

function validateCity(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        fld.style.background = '#fffcdb';
		document.getElementById('citymessage').style.display = "block";
		document.getElementById('citymessage').innerHTML= 'Please enter your city';
		fld.focus();	
        error = "Please enter your city.\n"
    }  else if (fld.value.length <4) {
        fld.style.background = '#fffcdb';
		document.getElementById('citymessage').style.display = "block";
		document.getElementById('citymessage').innerHTML= 'Please enter your full city name (minimum 4 characters)';
		fld.focus();
        error = "Please enter your full city name (minimum 4 characters).\n";
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('citymessage').style.display = "none";
    }
    return error;  
}

function validateState(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        fld.style.background = '#fffcdb';
		document.getElementById('statemessage').style.display = "block";
		document.getElementById('statemessage').innerHTML= 'Please enter your state';
		fld.focus();	
        error = "Please enter your state.\n"
    }  else if (fld.value.length <2) {
        fld.style.background = '#fffcdb';
		document.getElementById('statemessage').style.display = "block";
		document.getElementById('statemessage').innerHTML= 'Please enter your full state name (minimum 2 characters)';
		fld.focus();
        error = "Please enter your full state name (minimum 2 characters).\n";
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('statemessage').style.display = "none";
    }
    return error;  
}

function validatePcode(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        fld.style.background = '#fffcdb';
		document.getElementById('pcodemessage').style.display = "block";
		document.getElementById('pcodemessage').innerHTML= 'Please enter your Zip/Post Code';
		fld.focus();	
        error = "Please enter your Zip/Post Code.\n"
    }  else if (fld.value.length <2) {
        fld.style.background = '#fffcdb';
		document.getElementById('pcodemessage').style.display = "block";
		document.getElementById('pcodemessage').innerHTML= 'Please enter your Zip/Post Code (minimum 2 characters)';
		fld.focus();
        error = "Please enter your Zip/Post Code (minimum 2 characters).\n";
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('pcodemessage').style.display = "none";
    }
    return error;  
}

function validateCountry(fld) {
    var error = "";
 
    if (fld.value.length <1 || fld.value.length ==13) {
        fld.style.background = '#fffcdb';
		document.getElementById('cnmessage').style.display = "block";
		document.getElementById('cnmessage').innerHTML= 'Please select your country';
		fld.focus();	
        error = "Please select your country.\n"
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('cnmessage').style.display = "none";
    }
    return error;  
}

function validateCountryFR(fld) {
    var error = "";
 
    if (fld.value.length <1 || fld.value.length == 13) {
        fld.style.background = '#fffcdb';
		document.getElementById('cnmessage').style.display = "block";
		document.getElementById('cnmessage').innerHTML= 'Please select your country';
		fld.focus();	
        error = "Please select your country.\n"
    } else if (fld.value == 'E2_FRANCE') {
        fld.style.background = '#fffcdb';
		document.getElementById('cnmessage').style.display = "block";
		document.getElementById('cnmessage').innerHTML= 'LongReach is not available in France';
		fld.focus();
        error = "LongReach is not available in France.\n";
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('cnmessage').style.display = "none";
    }
    return error;  
}

function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

   if (fld.value == "") {
        fld.style.background = '#fffcdb';
		document.getElementById('pmessage').style.display = "block";
		document.getElementById('pmessage').innerHTML= 'Please enter your phone number';
		fld.focus();
        error = "Please enter your phone number.\n";
    } else if (isNaN(parseInt(stripped))) {
        fld.style.background = '#fffcdb';
		document.getElementById('pmessage').style.display = "block";
		document.getElementById('pmessage').innerHTML= 'The phone number contains illegal characters';
		fld.focus();
        error = "The phone number contains illegal characters.\n";
    } else if (!(stripped.length >=8)) {
        fld.style.background = '#fffcdb';
		document.getElementById('pmessage').style.display = "block";
		document.getElementById('pmessage').innerHTML= 'The phone number is the wrong length. Make sure you included an area code';
		fld.focus();
        error = "The phone number is the wrong length. Make sure you included an area code.\n";
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('pmessage').style.display = "none";
    }
    return error;
}
function trim(s) {
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

var invalidaddress=new Array()
    if (fld.value == "") {
        fld.style.background = '#fffcdb';
		document.getElementById('emessage').style.display = "block";
		document.getElementById('emessage').innerHTML= 'Please enter your email address';
		fld.focus();
        error = "Please enter your email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = '#fffcdb';
		document.getElementById('emessage').style.display = "block";
		document.getElementById('emessage').innerHTML= 'Please enter a valid email address';
		fld.focus();
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = '#fffcdb';
		document.getElementById('emessage').style.display = "block";
		document.getElementById('emessage').innerHTML= 'The email address contains illegal characters';
		fld.focus();
        error = "The email address contains illegal characters.\n";
    } else if (tfld.search("hotmail") >=0 || tfld.search("yahoo") >=0 || tfld.search("aol") >=0 || tfld.search("gmail") >=0) {
    	fld.style.background = '#fffcdb';
    	document.getElementById('emessage').style.display = "block";
		document.getElementById('emessage').innerHTML= 'Please enter a more official email address';
		fld.focus();
    	error = "Please enter a more official email address.\n";
    }else {
        fld.style.background = '#ffffff';
        document.getElementById('emessage').style.display = "none";
    }
    return error;
}

function validateOSlevel(fld) {
    var error = "";
 
    if (fld.value.length <1) {
        fld.style.background = '#fffcdb';
		document.getElementById('osmessage').style.display = "block";
		document.getElementById('osmessage').innerHTML= 'Please select an OS level';
		fld.focus();	
        error = "Please select an OS level.\n"
    } else {
        fld.style.background = '#ffffff';
        document.getElementById('osmessage').style.display = "none";
    }
    return error;  
}

function validateSerial(fld) {
    var error = "";
 
	  if (fld.value.length ==0) {
        fld.style.background = '#fffcdb';
		document.getElementById('snmessage').style.display = "block";
		document.getElementById('snmessage').innerHTML= 'Please enter a system serial number';
		fld.focus();
        error = "Please enter a system serial number.\n"
    }  else if (fld.value.length <7) {
        fld.style.background = '#fffcdb';
		document.getElementById('snmessage').style.display = "block";
		document.getElementById('snmessage').innerHTML= 'Please enter a system serial number (minimum 7 characters)';
		fld.focus();
        error = "Please enter a system serial number (minimum 7 characters).\n";
    }  else {
        fld.style.background = '#ffffff';
        document.getElementById('snmessage').style.display = "none";
    }
    return error;  
}

function validateModel(fld) {
    var error = "";
 
     if (fld.value.length ==0) {
        fld.style.background = '#fffcdb';
		document.getElementById('mnmessage').style.display = "block";
		document.getElementById('mnmessage').innerHTML= 'Please enter a model number';
		fld.focus();
        error = "Please enter a model number.\n"
    }  else if (fld.value.length <3) {
        fld.style.background = '#fffcdb';
		document.getElementById('mnmessage').style.display = "block";
		document.getElementById('mnmessage').innerHTML= 'Please enter a model number (minimum 3 characters)';
		fld.focus();
        error = "Please enter a model number (minimum 3 characters).\n";
    }  else {
        fld.style.background = '#ffffff';
        document.getElementById('mnmessage').style.display = "none";
    }
    return error;  
}

function validateFeature(fld) {
    var error = "";
 
     if (fld.value.length ==0) {
        fld.style.background = '#fffcdb';
		document.getElementById('fcmessage').style.display = "block";
		document.getElementById('fcmessage').innerHTML= 'Please enter a system feature code';
		fld.focus();
        error = "Please enter a system feature code.\n"
    }  else if (fld.value.length <4) {
        fld.style.background = '#fffcdb';
		document.getElementById('fcmessage').style.display = "block";
		document.getElementById('fcmessage').innerHTML= 'Please enter a system feature code (minimum 4 characters)';
		fld.focus();
        error = "Please enter a system feature code (minimum 4 characters).\n";
    }  else {
        fld.style.background = '#ffffff';
        document.getElementById('fcmessage').style.display = "none";
    }
    return error;  
}
