///****************************************************************
///	CHECK CV FORM
///****************************************************************

function CheckCVForm(frm) {

    // Verify that the First Name should not be blank
   var str = frm.strFirstName.value;
   if( str.length == 0 || str == "" || str == "Insert your first name here" ) {
		switch (theLan) {
			case 'ct':
				alert("\nNecessitem el seu nom. Si us plau, torni a escriure'l.");
				break;
			case 'de':
				alert("\nIhr Vorname wird benötigt, bitte erneut eingeben");
				break;
			case 'es':
				alert("\nNecesitamos su nombre.\nPor favor, vuelva a escribirlo.");
				break;
			case 'fr':
				alert("\nVotre prénom est une mention obligatoire. \nVeuillez réintroduire.");
				break;
			case 'it':
				alert("\nE' necessario digitare il proprio nome.\nProcedere nuovamente.");
				break;
			case 'jp':
				alert("\nYour First Name is required.\nPlease re-enter.");
				break;
			case 'nl':
				alert("\nUw voornaam is een verplicht veld. \nGelieve dit in te vullen.");
				break;
			default:
				alert("\nYour First Name is required.\nPlease re-enter.");
				break;
		}
		frm.strFirstName.focus();
		return false;
   }
   
   // Check to see that the First Name entered is valid .. i.e., it contains
   // only Alphabetic Characters
	if (! ( checkAlpha(str) ) ) {
		switch (theLan) {
			case 'ct':
				alert("\nEl vostre nom conté caràcters que no són vàlids. \nSi us plau, torneu escriure el vostre nom.");
				break;
			case 'de':
				alert("\nIhr Vorname enthält ungültige Zeichen.\nBitte geben Sie Ihren Vornamen erneut ein.");
				break;
			case 'es':
				alert("\nSu nombre contiene caracteres que no son válidos.\nPor favor, vuela a escribir su nombre.");
				break;
			case 'fr':
				alert("\nVotre prénom contient des caractères illicites.\nVeuillez réintroduire votre prénom.");
				break;
			case 'it':
				alert("\nIl nome contiene caratteri non validi.\nPregasi digitare nuovamente.");
				break;
			case 'jp':
				alert("\nYour First Name contains invalid Characters.\nPlease re-enter First Name.");
				break;
			case 'nl':
				alert("\nUw voornaam bevat ongeldige tekens.\nGelieve uw voornaam opnieuw in te geven.");
				break;
			default:
				alert("\nYour First Name contains invalid Characters.\nPlease re-enter First Name.");
				break;
		}
		frm.strFirstName.focus();
		return false;
	}
	
	/*
   for( var i = 0; i < str.length; i++ ) {
      var ch = str.substring(i, i + 1);
      if( ((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) && ch != ' ' && ch != '.')  {
		switch (theLan) {
			case 'ct':
				alert("\nEl vostre nom conté caràcters que no són vàlids. \nSi us plau, torneu escriure el vostre nom.");
				break;
			case 'de':
				alert("\nIhr Vorname enthält ungültige Zeichen.\nBitte geben Sie Ihren Vornamen erneut ein.");
				break;
			case 'es':
				alert("\nSu nombre contiene caracteres que no son válidos.\nPor favor, vuela a escribir su nombre.");
				break;
			case 'fr':
				alert("\nVotre prénom contient des caractères illicites.\nVeuillez réintroduire votre prénom.");
				break;
			case 'it':
				alert("\nIl nome contiene caratteri non validi.\nPregasi digitare nuovamente.");
				break;
			case 'jp':
				alert("\nYour First Name contains invalid Characters.\nPlease re-enter First Name.");
				break;
			case 'nl':
				alert("\nUw voornaam bevat ongeldige tekens.\nGelieve uw voornaam opnieuw in te geven.");
				break;
			default:
				alert("\nYour First Name contains invalid Characters.\nPlease re-enter First Name.");
				break;
		}
		frm.strFirstName.focus();
		return false;
      }
   }*/

   // Verify that the Surname should not be blank
   var str = frm.strSurname.value
   if( str.length == 0 || str == "" || str == "Insert your surname here") {
		switch (theLan) {
			case 'ct':
				alert("\nNecessitem el seu cognom. Si us plau torni a escriure'l.");
				break;
			case 'de':
				alert("\nIhr Nachname wird benötigt, bitte erneut eingeben");
				break;
			case 'es':
				alert("\nNecesitamos sus apellidos.\nPor favor, vuelva a escribirlos.");
				break;
			case 'fr':
				alert("\nVotre nom est une mention obligatoire. \nVeuillez réintroduire.");
				break;
			case 'it':
				alert("\nE' necessario digitare il proprio cognome.\nProcedere nuovamente.");
				break;
			case 'jp':
				alert("\nYour Surname is required.\nPlease re-enter.");
				break;
			case 'nl':
				alert("\nUw achternaam is een verplicht veld. \nGelieve dit in te vullen.");
				break;
			default:
				alert("\nYour Surname is required.\nPlease re-enter.");
				break;
		}
		frm.strSurname.focus();
		return false;
   }

   // Check to see that the Surname entered is valid .. i.e., it contains
   // only Alphabetic Characters
	if (! ( checkAlpha(str) ) ) {
		switch (theLan) {
			case 'ct':
				alert("\nEls vostres cognoms contenen caràcters que no són vàlids. \nSi us plau, torneu a escriure els vostres cognoms.");
				break;
			case 'de':
				alert("\nIhr Nachname enthält ungültige Zeichen.\nBitte geben Sie Ihren Nachnamen erneut ein.");
				break;
			case 'es':
				alert("\nSus apellidos contienen caracteres que no son válidos.\nPor favor, vuela a escribir sus apellidos.");
				break;
			case 'fr':
				alert("\nVotre nom contient des caractères illicites.\nVeuillez réintroduire votre nom.");
				break;
			case 'it':
				alert("\nIl cognome contiene caratteri non validi.\nPregasi digitare nuovamente.");
				break;
			case 'jp':
				alert("\nYour Surname contains invalid Characters.\nPlease re-enter Surname.");
				break;
			case 'nl':
				alert("\nUw achternaam bevat ongeldige tekens.\nGelieve uw achternaam opnieuw in te geven.");
				break;
			default:
				alert("\nYour Surname contains invalid Characters.\nPlease re-enter Surname.");
				break;
		}
		frm.strSurname.focus();
		return false;
	}
   
   /*for( var i = 0; i < str.length; i++ ) {
      var ch = str.substring(i, i + 1);
      if( ((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) && ch != ' ' && ch != '.')  {
		switch (theLan) {
			case 'ct':
				alert("\nEls vostres cognoms contenen caràcters que no són vàlids. \nSi us plau, torneu a escriure els vostres cognoms.");
				break;
			case 'de':
				alert("\nIhr Nachname enthält ungültige Zeichen.\nBitte geben Sie Ihren Nachnamen erneut ein.");
				break;
			case 'es':
				alert("\nSus apellidos contienen caracteres que no son válidos.\nPor favor, vuela a escribir sus apellidos.");
				break;
			case 'fr':
				alert("\nVotre nom contient des caractères illicites.\nVeuillez réintroduire votre nom.");
				break;
			case 'it':
				alert("\nIl cognome contiene caratteri non validi.\nPregasi digitare nuovamente.");
				break;
			case 'jp':
				alert("\nYour Surname contains invalid Characters.\nPlease re-enter Surname.");
				break;
			case 'nl':
				alert("\nUw achternaam bevat ongeldige tekens.\nGelieve uw achternaam opnieuw in te geven.");
				break;
			default:
				alert("\nYour Surname contains invalid Characters.\nPlease re-enter Surname.");
				break;
		}
		frm.strSurname.focus();
		return false;
      }
   }*/

   // Check to see that the Address Line 1 is entered 
   var str = frm.strAddress.value
   if( str == "" || str.length == 0 || str == "Insert your address here") {
		switch (theLan) {
			case 'ct':
				alert("\nNecessitem l'adreça. Si us plau, torni-la a escriure.")
				break;
			case 'de':
				alert("\nIhre Adresse wird benötigt, bitte erneut eingeben")
				break;
			case 'es':
				alert("\nEl nombre de la calle debe estar incluido.\nPor favor, vuelva a escribirlo.")
				break;
			case 'fr':
				alert("\nLe nom de rue est une mention obligatoire. \nVeuillez réintroduire.")
				break;
			case 'it':
				alert("\nE' necessario digitare la via del proprio indirizzo.\nProcedere nuovamente.")
				break;
			case 'jp':
				alert("\nStreet Address must be entered.\nPlease re-enter.")
				break;
			case 'nl':
				alert("\nAdres is een verplicht veld. \nGelieve dit in te vullen.")
				break;
			default:
				alert("\nStreet Address must be entered.\nPlease re-enter.")
				break;
		}
		frm.strAddress.focus();
		return false;
   }
   
	
   // Check to see that the Town is entered 
   var str = frm.strTown.value
   if( str == "" || str.length == 0 || str == "Insert your town here") {
		switch (theLan) {
			case 'ct':
				alert("\nNecessitem el nom del poble o ciutat. Si us plau, torni'l a escriure.")
				break;
			case 'de':
				alert("\nIhre Adresse ist nicht komplett, bitte erneut eingeben")
				break;
			case 'es':
				alert("\nEl nombre de la localidad debe estar incluido.\nPor favor, vuelva a escribirlo.")
				break;
			case 'fr':
				alert("\nLa ville est une mention obligatoire. \nVeuillez réintroduire.")
				break;
			case 'it':
				alert("\nE' necessario digitare il nome della propria città.\nProcedere nuovamente.")
				break;
			case 'jp':
				alert("\nTown/City name must be entered.\nPlease re-enter.")
				break;
			case 'nl':
				alert("\nGemeente is een verplicht veld. \nGelieve dit in te vullen.")
				break;
			default:
				alert("\nTown/City name must be entered.\nPlease re-enter.")
				break;
		}
		frm.strTown.focus();
		return false;
   }
   
   // Check to see that the Country is entered 
   var str = frm.strCountry.value
   if( str == "" || str.length == 0 || str == "Insert your country here") {
		switch (theLan) {
			case 'ct':
				alert("\nNecessitem el nom del país. Si us plau, torni'l a escriure.")
				break;
			case 'de':
				alert("\nIhre Adresse ist nicht komplett, bitte erneut eingeben")
				break;
			case 'es':
				alert("\nEl nombre del país debe estar incluido.\nPor favor, vuelva a escribirlo.")
				break;
			case 'fr':
				alert("\nLe pays est une mention obligatoire. \nVeuillez réintroduire.")
				break;
			case 'it':
				alert("\nE' necessario digitare il proprio paese.\nProcedere nuovamente.")
				break;
			case 'jp':
				alert("\nCountry must be entered.\nPlease re-enter.")
				break;
			case 'nl':
				alert("\nLand is een verplicht veld. \nGelieve dit in te vullen.")
				break;
			default:
				alert("\nCountry must be entered.\nPlease re-enter.")
				break;
		}
		frm.strCountry.focus();
		return false;
   }
   
   // Return false if the Home Phone number field contains non-numeric character 
   var str = frm.strHomePhone.value
   if( str.length > 0 && str != "Insert your home phone here") {
       for( var i = 0; i < str.length; i++ ) {
           var ch = str.substring(i, i + 1);
           if( ch == " " || ch == "(" || ch == ")" || ch == "-" || ch == "+" ) {
               ;
           } else {
               if( (ch < "0" || "9" < ch) ) {
					switch (theLan) {
						case 'ct':
							alert("\nEl telèfon de casa conté caràcters no numèrics. \nSi us plau, torneu-lo a escriure.");
							break;
						case 'de':
							alert("\nBei Telefonnummern nur Ziffern angeben.\nBitte erneut eingeben.");
							break;
						case 'es':
							alert("\nEl teléfono de casa contiene caracteres no numéricos.\nPor favor, escríbalo de nuevo.");
							break;
						case 'fr':
							alert("\nLe numéro de téléphone privé contient des caractères non numériques.\nVeuillez réintroduire.");
							break;
						case 'it':
							alert("\nIl numero telefonico di casa contiene caratteri non numerici.\nPregasi digitare nuovamente.");
							break;
						case 'jp':
							alert("\nHome Phone Number contains non-numeric character.\nPlease re-enter.");
							break;
						case 'nl':
							alert("\nTelefoonnum-mer thuis mag enkel cijfers bevatten.\nGelieve opnieuw in te geven.");
							break;
						default:
							alert("\nHome Phone Number contains non-numeric character.\nPlease re-enter.");
							break;
					}
				   frm.strHomePhone.focus()
                   return false;
               }
           }
       }
   }

   // Return false if the Phone number field contains non-numeric character 
   var str = frm.strWorkPhone.value
   if( str.length > 0 && str != "Insert your work phone here" ) {
       for( var i = 0; i < str.length; i++ ) {
           var ch = str.substring(i, i + 1);
           if( ch == " " || ch == "(" || ch == ")" || ch == "-" || ch == "+" ) {
               ;
           } else {
               if( (ch < "0" || "9" < ch) ) {
					switch (theLan) {
						case 'ct':
							alert("\nEl telèfon de la feina conté caràcters no numèrics. \nSi us plau, torneu-lo a escriure.");
							break;
						case 'de':
							alert("\nBei Telefonnummern nur Ziffern angeben.\nBitte erneut eingeben.");
							break;
						case 'es':
							alert("\nEl teléfono del trabajo contiene caracteres no numéricos.\nPor favor, escríbalo de nuevo.");
							break;
						case 'fr':
							alert("\nLe numéro de téléphone professionnel contient des caractères non numériques.\nVeuillez réintroduire.");
							break;
						case 'it':
							alert("\nIl numero telefonico dell'ufficio contiene caratteri non numerici.\nPregasi digitare nuovamente.");
							break;
						case 'jp':
							alert("\nWork Phone Number contains non-numeric character.\nPlease re-enter.");
							break;
						case 'nl':
							alert("\nTelefoonnum-mer werk mag enkel cijfers bevatten.\nGelieve opnieuw in te geven.");
							break;
						default:
							alert("\nWork Phone Number contains non-numeric character.\nPlease re-enter.");
							break;
					}
				   frm.strWorkPhone.focus()
                   return false;
               }
           }
       }
   }

   // Return false if either the Home Phone number or Work Phone number field is blank
   if (frm.strHomePhone.value == "" || frm.strHomePhone.value == "Insert your home phone here")
   {
	   	if (frm.strWorkPhone.value == "" || frm.strWorkPhone.value == "Insert your work phone here")
		{
			switch (theLan) {
				case 'ct':
					alert("\nSi us plau, introdueixi el número de telèfon de la seva feina o de casa seva.");
					break;
				case 'de':
					alert("\nBitte eine Telefonnummer (privat oder geschäftlich) eingeben");
					break;
				case 'es':
					alert("\nPor favor, introduzca el número de teléfono de su lugar de trabajo o el teléfono de su domicilio.");
					break;
				case 'fr':
					alert("\nVeuillez introduire SOIT un numéro de téléphone privé SOIT un numéro de téléphone professionnel.");
					break;
				case 'it':
					alert("\nPregasi digitare un numero di telefono di ufficio OPPURE un numero di telefono di casa.");
					break;
				case 'jp':
					alert("\nPlease enter EITHER a Home Phone Number OR Work Phone Number.");
					break;
				case 'nl':
					alert("\nGelieve OFWEL uw telefoonnummer op het werk OF privé in te vullen.");
					break;
				default:
					alert("\nPlease enter EITHER a Home Phone Number OR Work Phone Number.");
					break;
			}
			frm.strHomePhone.focus();
			return false;
		}
   }

   // Return false if Email is blank or invalid
   var str = frm.strEmail.value
   if( !CheckEmail( str )) {
   	  frm.strEmail.focus();
      return false;
   }
   
   // Check the 'heard from' select for Bicester Village
   var str = frm.strCV.value
   if( theVillage == 1 ) {
		var str = frm.strHeardFrom.value
		if( str.length == 0 || str == "" ) {
			alert("\nPlease select where you heard about this job");
			frm.strHeardFrom.focus();
			return false;
		}
	}
   
   // Return false if CV is blank
   var str = frm.strCV.value
   if( str == "" ) {
		switch (theLan) {
			case 'ct':
				alert("\nNecessitem el seu CV. Si us plau, adjunti'l.");
				break;
			case 'de':
				alert("\nBitte laden sie jetzt Ihren Lebenslauf hoch");
				break;
			case 'es':
				alert("\nNecesitamos su CV. Por favor, adjúntelo.");
				break;
			case 'fr':
				alert("\nVotre CV est indispensable. \nVeuillez le télécharger.");
				break;
			case 'it':
				alert("\nE' richiesto il tuo curriculum. Inviare il proprio curriculum.");
				break;
			case 'jp':
				alert("\nYour CV is required, please upload CV.");
				break;
			case 'nl':
				alert("\nUw CV is verplicht, gelieve dit te uploaden.");
				break;
			default:
				alert("\nYour CV is required, please upload CV.");
				break;
		}
		frm.strCV.focus();
		return false;
   }
   
	if (frm.strCV.value != "")
	{
		var strFile		= frm.strCV.value;
		var strAccExt	= "doc,pdf";
		var arrAccExt	= new Array();
	 	arrAccExt		= strAccExt.split(",");
		var strExt		= strFile.substring(strFile.lastIndexOf(".")+1,strFile.length)
		var retVal		= false;
		for (var i = 0; i < arrAccExt.length; i++)
		{
			if (strExt.toLowerCase() == arrAccExt[i])
			{
				retVal = true;
			}
		}
		if ( !retVal )
		{
			switch (theLan) {
				case 'ct':
					alert("\nNo és possible adjuntar el CV. \n Li agraïm adjunti l'arxiu en un altre format diferent.");
					break;
				case 'de':
					alert("\nIhr Lebenslauf konnte nicht hochgeladen werden. \n Bitte versuchen Sie nur Word oder PDF Dokumente hochzuladen.");
					break;
				case 'es':
					alert("\nNo ha sido posible adjuntar el CV. \n Le rogamos adjunte el archivo en otro formato diferente.");
					break;
				case 'fr':
					alert("\nImpossible de lire le fichier, le format n'est pas pris en charge. \n Merci de renvoyer votre CV dans un autre format.");
					break;
				case 'it':
					alert("\nIl tuo cv non è stato accettato. \n Riprova a scaricare un file differente.");
					break;
				case 'jp':
					alert("\nThe CV you have tried to upload is not accepted. \n Please upload an acceptable file.");
					break;
				case 'nl':
					alert("\nDe CV die u wenste op te sturen werd niet geaccepteerd. \n Gelieve uw CV op te slaan in een ander formaat.");
					break;
				default:
					alert("\nThe CV you have tried to upload is not accepted. \n Please upload an acceptable file.");
					break;
			}
			frm.strCV.focus();
			return false;
		}
	}
	
   /*
	if (frm.strCV.value != "")
	{
		if ( !IsNotBannedExtension(frm.strCV.value) )
		{
	      alert("\nThe CV you have tried to upload is not accepted. \n Please upload an acceptable file.");
	   	  frm.strCV.focus();
	      return false;
		}
	}
	*/
	
   // Return false if Terms & Conditions aren't accepted
   var str = frm.strAcceptTCs.value
   if( !frm.strAcceptTCs.checked ) {
		switch (theLan) {
			case 'ct':
				alert("\nSi us plau, marqui aquesta casella per confirmar que el seu CV i les seves dades poden ser transferides a totes les marques que es troben a La Roca Village, a través de la base de dades online.");
				break;
			case 'de':
				alert("\nBitte bestätigen Sie durch Anklicken, daß wir Ihren Lebenslauf und Ihre\npersönlichen Daten allen Marken im Village über eine Online-Datenbank zugänglich machen dürfen.");
				break;
			case 'es':
				alert("\nPor favor, marque la casilla para confirmar que su CV y sus datos pueden ser trasferidos a\ntodas las marcas que se encuentran en Village, a través de la base de datos online.");
				break;
			case 'fr':
				alert("\nVeuillez cocher cette case pour confirmer que vous acceptez que votre CV et vos\ndonnées soient accessibles par les marques de Village, via une base de données en ligne.");
				break;
			case 'it':
				alert("\nSe acconsenti a inserire il tuo cv nella nostra banca dati on line\ne a renderli disponibili a tutti i marchi presenti a Village, clicca sulla casella.");
				break;
			case 'jp':
				alert("\nPlease tick the box to confirm that your CV and details can be made\navailable to all brands within the Village, via an on line database.");
				break;
			case 'nl':
				alert("\nDoor het vakje aan te kruisen bevestigt u dat uw CV en gegevens\nvia een online gegevensbank ter beschikking liggen van alle merken in Village.");
				break;
			default:
				alert("\nPlease tick the box to confirm that your CV and details can be made\navailable to all brands within the Village, via an on line database.");
				break;
		}
		frm.strAcceptTCs.focus();
		return false;
   }

   return ConfirmSend();
   
}

