function isTelephone(number) {
  var blnValid=true;
/*  return blnValid; */  /* Skip telephone validation */

  if ((number.charCodeAt(3) ==45) && !(number.charCodeAt(7) ==45))
     blnValid=false;
  
  //checking the telephone code for XXXXXXXXXX
  if ( (number.charCodeAt(0)<49) || (number.charCodeAt(0)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(1)<48) || (number.charCodeAt(1)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(2)<48) || (number.charCodeAt(2)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(3)<45) || ((number.charCodeAt(3)>45) && (number.charCodeAt(3)<48)) || (number.charCodeAt(3)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(4)<49) || (number.charCodeAt(4)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(5)<48) || (number.charCodeAt(5)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(6)<48) || (number.charCodeAt(6)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(7)<45) || ((number.charCodeAt(7)>45) && (number.charCodeAt(7)<48)) || (number.charCodeAt(7)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(8)<48) || (number.charCodeAt(8)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(9)<48) || (number.charCodeAt(9)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(10)<48) || (number.charCodeAt(10)>57) ) {
    blnValid=false;
  }
  if ( (number.charCodeAt(11)<48) || (number.charCodeAt(11)>57) ) {
    blnValid=false;
  }

  if ((number.length<12) && !(number.length==10) ) {
    blnValid=false;
  }

  return blnValid;
}

function isEmail(emailAd) {
  var posOfAt=emailAd.indexOf("@");
  var posOfDot=emailAd.indexOf(".");
  var posOfDotRev=emailAd.lastIndexOf(".");
  var blnEmail=true;
  var intLength=emailAd.length

  if (posOfAt==-1) {
    //the @ symbol does not exist
    blnEmail=false;
  }
  else if (posOfDot==-1) {
    //Dot does not exist
    blnEmail=false;
  }
  else if (posOfDot==0) {
    //Dot is the first character
    blnEmail=false;
  }
  else if (posOfDotRev<posOfAt) {
    //Dot does not exist AFTER @ symbol
    blnEmail=false;
  }
  else {
    if (emailAd.charAt(posOfAt-1)==".") {
      //the dot appears next to the @ symbol.  EG: steven.@keal.com
      blnEmail=false;
    }
    else if (intLength-posOfDotRev<3) {
      //the domain address is incorrect EG: steven@keal.c
      blnEmail=false;
    }
  }

  return blnEmail;
}

function setCookie(name, value, expire) {
  document.cookie = name + "=" + escape(value)   + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()));
  return;
}

function setCookieForMonth(value, noOfmonth) {
  var expires = new Date();
  var today = new Date()
  expires.setTime(today.getTime() + noOfmonth*24*30*1000*60*60);  //set for noOfmonth month
  setCookie("survey", value, expires);

  return;
}

function formCheck(form,lang) {
var status=true;

  if (form.elements['fname'].value=="") {
    if (lang=='french') {
	alert("Veuillez écrire le prénom");
	}
	else {
    alert("Please Enter First Name");
    }
    form.fname.focus();
    status=false;    
  }
  else if (form.elements['lname'].value=="") {
    if (lang=='french') {
	alert("Veuillez écrire le nom");
	}
	else {
    alert("Please Enter Last Name");
    }
    form.lname.focus();
    status=false;    
  }
  else if (form.elements['title'].value=="") {
    if (lang=='french') {
	alert("Veuillez écrire le titre");
	}
	else {
    alert("Please Enter Title");
    }
    form.title.focus();
    status=false;    
  }
  else if (form.elements['brokerage'].value=="") {
    if (lang=='french') {
	alert("Veuillez écrire le courtage");
	}
	else {
    alert("Please Enter Brokerage");
    }
    form.brokerage.focus();
    status=false;    
  }
  else if (isTelephone(form.elements['workTel'].value)==false) {
    if (lang=='french') {
	alert("Pas un numéro de téléphone valide de travail");
	}
	else {
    alert("Valid Telephone number is 10 Numbers Long e.g 9999999999");
    }
    form.workTel.focus();
    status=false;    
  }
  else if (form.elements['fax'].value.length<10) {
    if (lang=='french') {
	alert("veuillez entrer le numéro du télécopieur");
	}
	else {
    alert ("Valid Fax number is 10 Numbers Long");
    }
    form.fax.focus();
    status=false;
  }
  else if (isTelephone(form.elements['fax'].value)==false) {
    if (lang=='french') {
	alert("Pas valide un numéro de fax");
	}
	else {
    alert("Not a Valid Fax Number");
    }
    form.fax.focus();
    status=false;    
  }
  else if (form.elements['email'].value=="") {
    if (lang=='french') {
	alert("Veuillez écrire le courriel");
	}
	else {
    alert("Please Enter Email Address");
    }
    form.email.focus();
    status=false;    
  }
  else if (form.elements['overall'].value=="choose one" || form.elements['overall'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer la qualité du service à la clientele de Keal en général");
	}
	else {
	alert("Please rate the overall quality of Keal's customer service");
	}
	form.overall.focus();
	status=false;
  }
  else if (form.elements['support_staff'].value=="choose one" || form.elements['support_staff'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer la qualité de l’équipe de support de Keal");
	}
	else {
	alert("Please rate the quality of Keal's support staff");
	}
	form.support_staff.focus();
	status=false;
  }
  else if (form.elements['change_support'].value=="choose one" || form.elements['change_support'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuiller évaluer la capacité de Keal à résoudre les problèmes de support des logiciels");
	}
	else {
	alert("Please rate Keal's ability to solve software support issues");
	}
	form.change_support.focus();
	status=false;
  }
  else if (form.elements['EDI_ability'].value=="choose one" || form.elements['EDI_ability'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuiller évaluer la capacité de Keal à résoudre les problèmes de support de l’EDI");
	}
	else {
	alert("Please rate Keal's ability to solve EDI support issues");
	}
	form.EDI_ability.focus();
	status=false;
  }
  else if (form.elements['netword_ability'].value=="choose one" || form.elements['netword_ability'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuiller évaluer la capacité de Keal à résoudre les problèmes de support de réseau");
	}
	else {
	alert("Please rate Keal's ability to solve network support issues");
	}
	form.netword_ability.focus();
	status=false;
  }
  else if (form.elements['ease_phone'].value=="choose one" || form.elements['ease_phone'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer la qualité du système téléphonique de Keal");
	}
	else {
	alert("Please rate the ease of use of Keal's phone system");
	}
	form.ease_phone.focus();
	status=false;
  }
  else if (form.elements['speed_response_emergency'].value=="choose one" || form.elements['speed_response_emergency'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer le temps de réponse à vos appels de support d’urgence");
	}
	else {
	alert("Please rate the speed of response to your emergency support calls");
	}
	form.speed_response_emergency.focus();
	status=false;
  }
  else if (form.elements['speed_response_nonEmergency'].value=="choose one" || form.elements['speed_response_nonEmergency'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer le temps de réponse à vos appels de support non-urgents ");
	}
	else {
	alert("Please rate the speed of response to your non-emergency support calls");
	}
	form.speed_response_nonEmergency.focus();
	status=false;
  }
  else if (form.elements['notified'].value=="choose one" || form.elements['notified'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Est-ce que Keal vous avise toujours lorsque votre problème a été résolu?");
	}
	else {
	alert("Does Keal consistently notify you of resolution of your support calls?");
	}
	form.notified.focus();
	status=false;
  }
  else if (form.elements['hours'].value=="choose one" || form.elements['hours'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer les heures de support offertes par Keal");
	}
	else {
	alert("Please rate the hours of support Keal provides");
	}
	form.hours.focus();
	status=false;
  }
  else if (form.elements['month_end'].value=="choose one" || form.elements['month_end'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Considérez-vous que du support de fin mois additionnel serait utile pour vous?");
	}
	else {
	alert("How much value would additional month end support be to you?");
	}
	form.month_end.focus();
	status=false;
  }
  else if (form.elements['year_end'].value=="choose one" || form.elements['year_end'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Considérez-vous que du support de fin d’année additionnel serait utile pour vous?");
	}
	else {
	alert("How much value would additional year end support be to you?");
	}
	form.year_end.focus();
	status=false; 
  }
  else if (form.elements['evening'].value=="choose one" || form.elements['evening'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Considérez-vous que du support en soirée serait utile pour vous?");
	}
	else {
	alert("How much value would evening support be to you?");
	}
	form.evening.focus();
	status=false;
  }
  else if (form.elements['weekend'].value=="choose one" || form.elements['weekend'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Considérez-vous que du support la fin de semaine serait utile pour vous?");
	}
	else {
	alert("How much value would weekend support be to you?");
	}
	form.weekend.focus();
	status=false;
  }
  else if (form.elements['documentation'].value=="choose one" || form.elements['documentation'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Recevez-vous la documentation de Keal en temps opportun?");
	}
	else {
	alert("Do you recieve documentation from keal in a timely fashion?");
	}
	form.documentation.focus();
	status=false;
  }
  else if (form.elements['ease_doc'].value=="choose one" || form.elements['ease_doc'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Est-ce que la documentation fournie par Keal est claire et facile à comprendre?");
	}
	else {
	alert("Is the documentation provided be Keal clear and easy to understand?");
	}
	form.ease_doc.focus();
	status=false;
  }
  else if (form.elements['nav_phone'].value=="choose one" || form.elements['nav_phone'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer la facilité à utiliser le système téléphonique de Keal");
	}
	else {
	alert("Please rate the ease of navigation of Keal's phone system");
	}
	form.nav_phone.focus();
	status=false;
  }
  else if (form.elements['acc_doc'].value=="choose one" || form.elements['acc_doc'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer l’exactitude de la documentation que vous recevez de Keal");
	}
	else {
	alert("Please rate the accuracy of the documentation you recieve from Keal");
	}
	form.acc_doc.focus();
	status=false;
  }
  else if (form.elements['class_train'].value=="choose one" || form.elements['class_train'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Êtes-vous intéressés à participer à une journée de formation/séminaire additonnelle au bureau de Keal?");
	}
	else {
	alert("Are you interested in participating in additional one day classroom/seminar training at Keal's office?");
	}
	form.class_train.focus();
	status=false;
  }
  else if (form.elements['web_train'].value=="choose one" || form.elements['web_train'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Êtes-vous intéressés à participer à des séminaires de formation sur le Web?");
	}
	else {
	alert("Are you interested in participating in web-based training seminars?");
	}
	form.web_train.focus();
	status=false;
  }
  else if (form.elements['soft_release'].value=="choose one" || form.elements['soft_release'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Est-ce que Keal déploie des nouvelles versions des logiciels assez souvent?");
	}
	else {
	alert("Does Keal provide new software releases often enough?");
	}
	form.soft_release.focus();
	status=false;
  }
  else if (form.elements['soft_needs'].value=="choose one" || form.elements['soft_needs'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Est-ce que le contenu des nos nouvelles versions de logiciel répondent à vos besoins?");
	}
	else {
	alert("Do the contents of our software releases meet your needs?");
	}
	form.soft_needs.focus();
	status=false;
  }
  else if (form.elements['rec_sign'].value=="choose one" || form.elements['rec_sign'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Est-ce que vous avez les fonctionnalités que vous désirez dans Signassure™?");
	}
	else {
	alert("Are you recieving the features/functions that you want in SignassureTM?");
	}
	form.rec_sign.focus();
	status=false;
  }
  else if (form.elements['last_spoke'].value=="choose one" || form.elements['last_spoke'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Quand avez-vous parlé avec le personnel des ventes de Keal pour la dernière fois?");
	}
	else {
	alert("When was the last time you spoke with an account manager from Keal?");
	}
	form.last_spoke.focus();
	status=false;
  }
  else if (form.elements['last_rec'].value=="choose one" || form.elements['last_rec'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Quand avez-vous reçu du matériel de marketing de la part de Keal pour la dernière?");
	}
	else {
	alert("When is the last time you recieved marketing materials from Keal?");
	}
	form.last_rec.focus();
	status=false;
  }
  else if (form.elements['complete'].value=="choose one" || form.elements['complete'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer la teneur du site Web de Keal – y trouvez-vous l’information que vous désirez?");
	}
	else {
	alert("Please rate the completeness of Keal's web site - does it have the information you require?");
	}
	form.complete.focus();
	status=false;
  }
  else if (form.elements['useful'].value=="choose one" || form.elements['useful'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Veuillez évaluer la qualité/utilité du site Web de Keal");
	}
	else {
	alert("Please rate the quality/usefulness of Keal's web site");
	}
	form.useful.focus();
	status=false;
  }
  else if (form.elements['rec_pref'].value=="choose one" || form.elements['rec_pref'].value=="Choisissez en un") {
	if (lang=='french') {
	alert("Sous quelle forme préfériez-vous recevoir l’information de Keal au sujet des ventes et du marketing?");
	}
	else {
	alert("How would you prefer to receive sales/marketing information from Keal?");
	}
	form.rec_pref.focus();
	status=false;
  }
  
  if (status==true)
    setCookieForMonth("Done", 1);

  return status;
}

function validateCall(form) {
  var name=form.elements['name'].value;
  var email=form.elements['email'].value;
  var phone=form.elements['phone'].value;
  var description=form.elements['description'].value;
  var blnPass=true;

  if (name.length==0) {
    alert("Name is Empty");
    form.name.focus();
    blnPass=false;
  }  
  else if (isEmail(email)==false) {
    alert("Email is Incorrect");
    form.email.focus();
    blnPass=false;
  }
  else if (isTelephone(phone)==false) {
    alert("Phone Number is Invalid");
    form.phone.focus();
    blnPass=false;
  }
  else if (description.length==0) {
    alert("Description is Empty");
    form.description.focus();
    blnPass=false;
  }
    
  return blnPass;
}
