var errCnt =0;
var AutoMoveInd = 0;
function sendmail()
{
	document.form1.action="sendmail.jsp";
	document.form1.submit();
}

function next()
{
        if (checkform())
        {
		document.form1.direction.value = "NEXT";
		document.form1.submit();
        }
}
function finish()
{
        if (checkform())
        {
		document.form1.direction.value = "FINISH";
		document.form1.submit();
        }
}

function getTextArray(f, grpName)
{
	var grp, rad, r = 0, sum =0;
	var lang = 'english';

	if (document.form1.lang.value != "" || document.form1.lang != null)
	{
		lang = document.form1.lang.value;
	}

	grp = (typeof grpName == 'string') ? document.form1[grpName] : grpName;
	while (rad = grp[r++])
	{ 
		if (rad.value > 0) 
    			sum = sum + parseInt(rad.value);
	}
	return sum;
}

function sumTextArray(f, grpName)
{
	var grp, rad, r = 0, sum =0;
	var lang = 'english';

	if (document.form1.lang.value != "" || document.form1.lang != null)
	{
		lang = document.form1.lang.value;
	}

	grp = (typeof grpName == 'string') ? document.form1[grpName] : grpName;

	if (grp.length > 0)
	{
		while (rad = grp[r++])
		{ 
			if (!IsNumeric(rad.value))
			{
				if(lang == 'french')
					alert("Veuillez entrer un chiffre");
				else
					alert("Please enter a numeric value");

				return false;
			}

			if (rad.value > 0) 
				sum = sum + parseInt(rad.value);
		}
	}
	else
	{
		sum = grp.value;

		if (!IsNumeric(sum))
		{
			if(lang == 'french')
				alert("Veuillez entrer un chiffre");
			else
				alert("Please enter a numeric value");

			return false;
		}
	}

	document.form1.SumTotalTextCombo.value = sum; 
}


function addZero(val,vLength)
{
	var oVal = val;
	var aCnt = 0;

	if(oVal.length < vLength)
	{
		for (aCnt = 0;oVal.length < vLength;aCnt++)
		{
			oVal = "0" + oVal;
		}
	}

	return oVal;	
}

function populateLists(inputStr)
{
var getDate= new Date();
var day= getDate.getDate();
var month= getDate.getMonth();
var year= getDate.getFullYear();
var numberYears= 3;



for (var dayCounter=0; dayCounter <31 ; dayCounter++)
	{
	var counter= String(dayCounter+1);
	
	inputStr.day.options[dayCounter] = new Option(counter,counter);
	}

for (var dayCounter=0; dayCounter <31 ; dayCounter++)
	{
	var d=0;
	d=inputStr.day.options[dayCounter].value;
	if(d==day){
		inputStr.day.options[dayCounter].selected=true;
		break;}
	}

for (var yearCounter=0,cYearCounter=year; yearCounter <numberYears ; yearCounter++, cYearCounter--)
	{
	var y= String(cYearCounter);
	inputStr.year.options[yearCounter] = new Option(y,y);
		
	}
for(var monthCounter=0;monthCounter<12;monthCounter++)
	{
	
	if(monthCounter==month)
		{inputStr.month.options[monthCounter].selected=true;
	break;}
	
	}

}

function populateLists2(inputStr2)
{
var numberOfDays=0;


if(inputStr2.month.options[1].selected)

numberOfDays=28;
else if(inputStr2.month.options[8].selected||inputStr2.month.options[3].selected||inputStr2.month.options[5].selected||inputStr2.month.options[10].selected)
numberOfDays=30;
else
numberOfDays=31;


for(dayCounter=0;dayCounter<31;dayCounter++){
inputStr2.day.options[dayCounter]=null;
}

for (var dayCounter=0; dayCounter < numberOfDays ; dayCounter++)
	{
	var counter= String(dayCounter+1);
	inputStr2.day.options[dayCounter] = new Option(counter);
		
	}
}
function IsNumeric(sText)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}

	return IsNumber;
}

function IsNumericNoDec(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}

	return IsNumber;
}

function checkTime(sHour,sMin,boxcheck)
{
	var blnValid = false;
	if(sHour>'' && sMin>''){
		if(IsNumericNoDec(sHour) && IsNumericNoDec(sMin) && sMin.length ==2){
			if (boxcheck == 2){
				if (sHour >= 0 && sHour < 24 && sMin >=0 && sMin <60){
				blnValid = true;
				}
			}else{
			if (boxcheck == 0){
				if (sHour >= 0 && sHour < 13 && sMin >=0 && sMin <60){
				blnValid = true;
				}
			}
			else{
				blnValid = true;
			}

			}
		}
	}
	return blnValid;	
}


function convertTime(cHour,Bampmbox)
{
	var conH = "";
	if (Bampmbox == 0)
	{
		if (cHour == 12)
		{
			conH = "0";
		}else{
			conH = cHour;
		}
	}else{
		if (cHour == 12)
		{
			conH = parseInt(cHour,10);
		}else							
		 	if(cHour > 12)
			{
				conH = parseInt(cHour,10);
		}else{
			conH = parseInt(cHour,10) + 12;
		}
	}
return conH;
}


function countDecimals(v)
{
	var cnt = 0;

	for(var i=0;i<v.length;i++)
	{
		if(v.charAt(i) == ".")
			cnt++
	}
	return cnt;

}

function removeDEC(s)
{
	var a = "";

	for (b=0; b < s.length; b++)
	{
		if (s.charAt(b) != '.')
			a += s.charAt(b);
    	}
	return a;
}
function validateTotal(amt,d,c) //totalamount, dollars, cents
{
	//CHECK NUMERICNESS
	if(isNaN(amt) || countDecimals(amt) != 1)
		return false;
	else
	{
		//CHECK IF OVER $10000
		if(parseInt(d) >= 10000 && parseInt(c) >= 0)
		{
			if(parseInt(d) == 10000 && parseInt(c) == 0)
				return true;
			else
				return false;
		}
		else if((parseInt(d) == 0 || d == "") && parseInt(c) < 50)
			return false;
		else
			return true;
	}

}

function validateEng()
{


	var message = "";
	var messageCounter = "";
	var result = true;

	var getDate = new Date();
	var day = getDate.getDate();
	var month = getDate.getMonth()+1;
	var year = getDate.getFullYear();
	var visitDate = "";
	var visitMonth = "";
	var visitDay = "";
	var currentDate = new Date();
	var visitYear = currentDate.getFullYear();
	visitMonth = (document.form1.month.selectedIndex+1) + '';
	visitDay = (document.form1.day.selectedIndex+1) + '';
	visitYear = document.form1.year.value;
		
	
	if (visitMonth.length == 1)
	{
		visitMonth 	= "0" + visitMonth ;
	}
	if (visitDay.length == 1)
	{
		visitDay	= "0" + visitDay;
	}
	
	visitDate = visitMonth + visitDay + visitYear;
	storeCode = addZero(document.form1.tf_store.value,5);
	amount	= document.form1.tf_amount1.value + "." + document.form1.tf_amount2.value;
	var dollarAmt = document.form1.tf_amount1.value;
	var centAmt = addZero(document.form1.tf_amount2.value,2);
	var hour = document.form1.sl_hour.value;
	var min = document.form1.sl_min.value;	
	var visittime = hour + min;

	// CHANGED STORE 0920 TO 0793 - SEP-14-07 CF
	var validStore =  "00413|00012|00013|00015|00017|00021|00025|00032|00033|00034|00035|00037|00042|00043|00046|00047|00050|00054|00056|00057|00063|00067|00073|00074|00077|00079|00081|00082|00087|00088|00095|00097|00098|00102|00104|00105|00107|00108|00111|00113|00114|00115|00116|00117|00119|00121|00122|00129|00130|00136|00138|00141|00142|00143|00146|00148|00149|00151|00152|00153|00154|00157|00158|00159|00162|00164|00168|00170|00171|00172|00173|00174|00175|00176|00177|00182|00189|00190|00196|00200|00202|00205|00208|00211|00216|00217|00218|00220|00221|00229|00234|00239|00247|00248|00253|00257|00259|00260|00261|00262|00264|00266|00276|00277|00278|00279|00280|00281|00282|00286|00287|00290|00298|00301|00307|00316|00317|00335|00337|00339|00342|00344|00345|00359|00361|00369|00373|00381|00383|00397|00400|00401|00402|00404|00405|00421|00428|00429|00435|00439|00441|00451|00455|00481|00511|00523|00529|00534|00535|00553|00558|00563|00564|00566|00579|00581|00592|00595|00604|00605|00615|00616|00701|00702|00704|00715|00719|00728|00730|00731|00737|00739|00740|00741|00742|00756|00757|00758|00759|00761|00762|00763|00765|00766|00767|00768|00769|00770|00771|00772|00773|00774|00775|00777|00780|00781|00782|00783|00784|00785|00786|00787|00788|00789|00793|00794|00797|00798|00901|00905|00906|00907|00908|00909|00910|00912|00913|00914|00915|00916|00917|00918|00919|00920|00921|00922|00923|00924|00925|00927|00928|00929|00930|00931|00932|00933|00934|00935|00937|00938|00939|00940|00943|00960|00961|00964|00966|00406|00407|00408|00410|00409|00412|00414|00415";


	if(document.form1.year.value == year)
	{

		if (visitMonth > month)
		{
			message += "The month you have entered is in the future. Please check your receipt and re-select the date from the drop down boxes.\n";
			result = false;
			messageCounter += 1;
		}
		else if (visitMonth == month && visitDay > day)
		{
			message+= "The date you have entered is in the future. Please check your receipt and re-select the date from the drop down boxes.\n";
			result = false;
			messageCounter += 1;
		}
	}

	if(document.form1.tf_amount1.value == "" || !IsNumeric(document.form1.tf_amount1.value))
	{
		if (errCnt!=3)
		{
			message += "You have entered an invalid dollar amount from your receipt. Please don't use a $ sign or any other special characters. For example, if your total amount was \"$12.99\" please enter \"12\" in the first box and \"99\" in the second box.\n";
			result = false;
			messageCounter += 1;
			document.form1.tf_amount1.select();
		}
	
	}
	else if(document.form1.tf_amount2.value == "" || !IsNumeric(document.form1.tf_amount2.value))
	{
		if (errCnt!=3)
		{
			message += "You have entered an invalid amount.\nPlease check your receipt and try again. Please don't use a $ sign or any other special characters. For example, if your total amount was \"$12.99\" please enter \"12\" in the first box and \"99\" in the second box.\n";
			result = false;
			messageCounter += 1;
			document.form1.tf_amount2.select();
		}
	
	}
	
	if (validStore.indexOf(storeCode) < 0 || !IsNumeric(storeCode))
	{
		message += "You have entered an invalid Store Number. Please refer to your receipt and enter the number without spaces or special characters.";
		document.form1.tf_store.select();	
		result = false;
		messageCounter += 1;	
	}


	if (messageCounter > 0)
	{
               	errCnt+=1;
		if (errCnt ==3)
		{
			document.form1.action = "../Email/EmailErrorPage.jsp?callingPage="+document.URL+"";
			document.form1.submit();
		}else
			alert(message);
	}
	else
	{
		var Tamt = removeDEC(amount);
		certcode =storeCode + visitDate + addZero(document.form1.sl_hour.value,2) + addZero(document.form1.sl_min.value,2) + Tamt;
		document.form1.action = "xmlloader.jsp?&certcode="+ certcode +"&VisitDate=" + visitDate + "&Hour=" + hour + "&amount=" + amount + "&ln=english";
		document.form1.submit();
	}
}

function validateFr()
{


	var message = "";
	var messageCounter = "";
	var result = true;

	var getDate = new Date();
	var day = getDate.getDate();
	var month = getDate.getMonth()+1;
	var year = getDate.getFullYear();
	var visitDate = "";
	var visitMonth = "";
	var visitDay = "";
	var currentDate = new Date();
	var visitYear = currentDate.getFullYear();
	visitMonth = (document.form1.month.selectedIndex+1) + '';
	visitDay = (document.form1.day.selectedIndex+1) + '';
	visitYear = document.form1.year.value;
		
	
	if (visitMonth.length == 1)
	{
		visitMonth 	= "0" + visitMonth ;
	}
	if (visitDay.length == 1)
	{
		visitDay	= "0" + visitDay;
	}
	
	visitDate = visitMonth + visitDay + visitYear;
	storeCode = addZero(document.form1.tf_store.value,5);
	amount	= document.form1.tf_amount1.value + "." + document.form1.tf_amount2.value;
	var dollarAmt = document.form1.tf_amount1.value;
	var centAmt = addZero(document.form1.tf_amount2.value,2);
	var hour = document.form1.sl_hour.value;
	var min = document.form1.sl_min.value;	
	var visittime = hour + min;

	// CHANGED STORE 0920 TO 0793 - SEP-14-07 CF
	var validStore =  "00413|00012|00013|00015|00017|00021|00025|00032|00033|00034|00035|00037|00042|00043|00046|00047|00050|00054|00056|00057|00063|00067|00073|00074|00077|00079|00081|00082|00087|00088|00095|00097|00098|00102|00104|00105|00107|00108|00111|00113|00114|00115|00116|00117|00119|00121|00122|00129|00130|00136|00138|00141|00142|00143|00146|00148|00149|00151|00152|00153|00154|00157|00158|00159|00162|00164|00168|00170|00171|00172|00173|00174|00175|00176|00177|00182|00189|00190|00196|00200|00202|00205|00208|00211|00216|00217|00218|00220|00221|00229|00234|00239|00247|00248|00253|00257|00259|00260|00261|00262|00264|00266|00276|00277|00278|00279|00280|00281|00282|00286|00287|00290|00298|00301|00307|00316|00317|00335|00337|00339|00342|00344|00345|00359|00361|00369|00373|00381|00383|00397|00400|00401|00402|00404|00405|00421|00428|00429|00435|00439|00441|00451|00455|00481|00511|00523|00529|00534|00535|00553|00558|00563|00564|00566|00579|00581|00592|00595|00604|00605|00615|00616|00701|00702|00704|00715|00719|00728|00730|00731|00737|00739|00740|00741|00742|00756|00757|00758|00759|00761|00762|00763|00765|00766|00767|00768|00769|00770|00771|00772|00773|00774|00775|00777|00780|00781|00782|00783|00784|00785|00786|00787|00788|00789|00793|00794|00797|00798|00901|00905|00906|00907|00908|00909|00910|00912|00913|00914|00915|00916|00917|00918|00919|00920|00921|00922|00923|00924|00925|00927|00928|00929|00930|00931|00932|00933|00934|00935|00937|00938|00939|00940|00943|00960|00961|00964|00966|00406|00407|00408|00410|00409|00412|00414|00415";


	if(document.form1.year.value == year)
	{

		if (visitMonth > month)
		{
			message += "Entrez s'il vous plaît une date valable. La date entrez semble être une date dans l'avenir.\n";
			result = false;
			messageCounter += 1;
		}
		else if (visitMonth == month && visitDay > day)
		{
			message+= "Entrez s'il vous plaît une date valable. La date entrez semble être une date dans l'avenir.\n";
			result = false;
			messageCounter += 1;
		}
	}

	if(document.form1.tf_amount1.value == "" || !IsNumeric(document.form1.tf_amount1.value))
	{
		if (errCnt!=3)
		{
			message += "Vous avez entrer un total invalide.  N'utilisez pas s'il vous plaît le signe $ non aucun autre caractères spéciaux.  Par exemple, si votre totale était  \"$12.99\" entrez s'il vous plaît \"12\" et \"99\".\n";
			result = false;
			messageCounter += 1;
			document.form1.tf_amount1.select();
		}
	
	}
	else if(document.form1.tf_amount2.value == "" || !IsNumeric(document.form1.tf_amount2.value))
	{
		if (errCnt!=3)
		{
			message += "Vous avez entrer un total invalide.  N'utilisez pas s'il vous plaît le signe $ non aucun autre caractères spéciaux.  Par exemple, si votre totale était  \"$12.99\" entrez s'il vous plaît \"12\" et \"99\".\n";
			result = false;
			messageCounter += 1;
			document.form1.tf_amount2.select();
		}
	
	}
	
	if (validStore.indexOf(storeCode) < 0 || !IsNumeric(storeCode))
	{
		message += "Vous avez entrez un numéro de magasin invalide. Vérifiez s'il vous plaît votre reçu et essayer encore une fois.";
		document.form1.tf_store.select();	
		result = false;
		messageCounter += 1;	
	}


	if (messageCounter > 0)
	{
               	errCnt+=1;
		if (errCnt ==3)
		{
			document.form1.action = "../Email/EmailErrorPage.jsp?callingPage="+document.URL+"";
			document.form1.submit();
		}else
			alert(message);
	}
	else
	{
		var Tamt = removeDEC(amount);
		certcode =storeCode + visitDate + addZero(document.form1.sl_hour.value,2) + addZero(document.form1.sl_min.value,2) + Tamt;
		document.form1.action = "xmlloader.jsp?&certcode="+ certcode +"&VisitDate=" + visitDate + "&Hour=" + hour + "&amount=" + amount + "&ln=french";
		document.form1.submit();
	}
}
function checkform()
{
	var lang = 'english';


	if (document.form1.lang.value != "" || document.form1.lang != null)
	{
		lang = document.form1.lang.value;
	}
	
	
	if (document.form1.ROOM !=null )
	{
		//alert("in ROOM function");
		var con = document.form1.ROOM.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{	
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");

			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");

			else
				alert("Please enter a numeric value.");
							//alert("false");
			document.form1.ROOM.select();

			return false;
		}
		//return result;
	}


	if (document.form1.GO_RECOMMEND != null)
	{
		var ichecked = "";

		for (var icnt = 0;icnt<document.form1.GO_RECOMMEND.length-1;icnt++)
			if (document.form1.GO_RECOMMEND[document.form1.GO_RECOMMEND.length-1].checked == true && document.form1.GO_RECOMMEND[icnt].checked == true)
				ichecked = true;

		if(ichecked == true)
		{
			alert("If you have selected ''I do not belong to any social networks'' please do not select any other option.");
			return false;
		}
	}
//MM - 



//date validation to deny future dates MM
	if (document.form1.DATE != null)
	{
		var result = true;
		var message = "";
		var userDate = document.form1.DATE.value;
		var strYear = userDate.substring(0,4);
		var strMonth = userDate.substring(5,7);
		var strDay = userDate.substring(8,10);

	
		if (strMonth.length < 2)
		{
			strMonth = "0"+ strMonth;
		}
		if (strDay.length < 2)
		{
			strDay = "0"+ strDay;
		}
		


		var now = new Date();	

		var currentYear = now.getFullYear();
		var currentMonth = now.getMonth() + 1;
		var currentDay = now.getDate();	



		//date validation MM
		if((strDay > currentDay && strDay < 31 && strMonth == currentMonth && strMonth < 12 && strYear == currentYear) || (strMonth > currentMonth && strMonth < 12 && strYear == currentYear) || (strYear > currentYear)) 
		{
			if (strDay < 1 || strDay > 31) 
			{
				message += "Day must be between 1 and 31.\n";
			}
			else if (strMonth < 1 || strMonth > 12 ) 
				{ 
					message += "Month must be between 1 and 12.\n";
				}
			else
				{
					message += "You have entered a date from the future.\nPlease select the correct date of your visit.\n";
				}
			
				
			alert(message);	
			return false;
		

		}
		else 
		{
			return true;
		}

	}





	if (document.form1.CUSTOMER_ADD_SURVEYS1 !=null )
	{
		var con = document.form1.CUSTOMER_ADD_SURVEYS1.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");
							//alert("false");
			document.form1.CUSTOMER_ADD_SURVEYS1.select();

			return false;
		}
		//return result;
	}
	
	if (document.form1.FORMAL_REST !=null )
	{
		var con = document.form1.FORMAL_REST.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.FORMAL_REST.select();
			return false;
		}
		//return result;
	}
	if (document.form1.FAST_FOOD !=null )
	{
		var con = document.form1.FAST_FOOD.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.FAST_FOOD.select();
			return false;
		}
		//return result;
	}
	if (document.form1.TAKE_AWAY !=null )
	{
		var con = document.form1.TAKE_AWAY.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.TAKE_AWAY.select();
			return false;
		}
		//return result;
	}
	if (document.form1.SUPERMARKET !=null )
	{
		var con = document.form1.SUPERMARKET.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.SUPERMARKET.select();
			return false;
		}
		//return result;
	}
	if (document.form1.HOME_BEFORE !=null )
	{
		var con = document.form1.HOME_BEFORE.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.HOME_BEFORE.select();
			return false;
		}
		//return result;
	}
	if (document.form1.HOME_INSTEAD !=null )
	{
		var con = document.form1.HOME_INSTEAD.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.HOME_INSTEAD.select();
			return false;
		}
		//return result;
	}
	if (document.form1.FRIENDS_FAMILY !=null)
	{
		var con = document.form1.FRIENDS_FAMILY.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.FRIENDS_FAMILY.select();
			return false;
		}
		//return result;
	}
	if (document.form1.MILLERCARTER !=null)
	{
		var con = document.form1.MILLERCARTER.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.MILLERCARTER.select();
			return false;
		}
		//return result;
	}
	if (document.form1.PUB !=null || document.form1.PUB == "")
	{
		var con = document.form1.PUB.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.PUB.select();
			return false;
		}
		//return result;
	}
	if (document.form1.FORMAL_REST !=null)
	{
		var con = document.form1.FORMAL_REST.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.FORMAL_REST.select();
			return false;
		}
		//return result;
	}
	if (document.form1.FAST_FOOD !=null )
	{
		var con = document.form1.FAST_FOOD.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.FAST_FOOD.select();
			return false;
		}
		//return result;
	}
	if (document.form1.TAKE_AWAY !=null )
	{
		var con = document.form1.TAKE_AWAY.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.TAKE_AWAY.select();
			return false;
		}
		//return result;
	}
	if (document.form1.SUPERMARKET !=null)
	{
		var con = document.form1.SUPERMARKET.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.SUPERMARKET.select();
			return false;
		}
		//return result;
	}
	if (document.form1.HOME_BEFORE !=null )
	{
		var con = document.form1.HOME_BEFORE.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.HOME_BEFORE.select();
			return false;
		}
		//return result;
	}
	if (document.form1.HOME_INSTEAD !=null )
	{
		var con = document.form1.HOME_INSTEAD.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.HOME_INSTEAD.select();
			return false;
		}
		//return result;
	}
	if (document.form1.FRIENDS_FAMILY !=null )
	{
		var con = document.form1.FRIENDS_FAMILY.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.FRIENDS_FAMILY.select();
			return false;
		}
		//return result;
	}
	if (document.form1.MILLERCARTER !=null )
	{
		var con = document.form1.MILLERCARTER.value;
		var result = true;

      		if (con > 30)
			result = false;

		if (result == false)
		{
			if(lang == "spanish")
				alert("El numero que te entrado que no se puede mas que treinta y cinco.  Por favor, seguir intentando.");
			else
				alert("The number you have entered cannot be greater than 30.  Please try again.");
			
			document.form1.MILLERCARTER.select();
			return false;
		}
		//return result;
	}



	//TOMBSTONE VALIDATION
	if (document.form1.FirstName !=null)
	{
		//var valid = isAlpha(document.form1.FirstName.value);
		var valid = true;

		if(hasNumbers(document.form1.FirstName.value))
			valid = false;

		if (valid == false)
		{
			//alert("saadi" + lang);
			if (lang == 'french')
				alert ("Veuillez entrer votre prénom.");
			else
				alert ("Please enter a valid First Name.");

			document.form1.FirstName.focus();
			return false;
		}
	}

	if (document.form1.LastName !=null)
	{
		//var valid = isAlpha(document.form1.LastName.value);
		var valid = true;


		if(hasNumbers(document.form1.LastName.value))
			valid = false;

		if (valid == false)
		{
			if (lang == 'french')
				alert ("Veuillez entrer votre nom de famille.");
			else
				alert ("Please enter a valid Last Name.");

			document.form1.LastName.focus();
			return false;
		}
	}
/*
//	if (document.form1.Address !=null)
//	{
//		var valid = true;


//		if (document.form1.Address.value == "")
//		{ 
//			if (lang == 'fr' || lang == 'french')
//				alert ("Veuillez entrer une adresse valide.");

//			else
//				alert ("Please enter a valid Address.");
				


//			document.form1.Address.focus();
//			return false;
//		}
//	}
*/
	if (document.form1.EmailAddress !=null)
	{
		var valid = emailValidate(document.form1.EmailAddress.value);
		//alert("in email");
		if (document.form1.EmailAddress.value.length >= 1 && valid == false)
		{
			alert ("Please enter a valid Email address.");
			document.form1.EmailAddress.focus();
			return false;
		}
	}


	if (document.form1.lang.value != "" || document.form1.lang != null)
	{
		lang = document.form1.lang.value;
	}

	if (document.form1.TelephoneNumber !=null || document.form1.TelephoneAreaCode !=null)
	{

		var areacode = document.form1.TelephoneAreaCode.value;
		var areacode2 = replaceChars(areacode);
		var phoneno = document.form1.TelephoneNumber.value;
		var phoneno2 = replaceChars(phoneno);

		if (areacode.length != 3 || IsNumeric(areacode) == false)
		{
			if (lang == 'french' || lang=='fr')
				alert ("Veuillez entrer votre indicatif régional.");
			else
				alert ("Please enter a valid Area Code.");

			document.form1.TelephoneAreaCode.focus();
			return false;
		}
		else if(phoneno2.length != 7 || IsNumeric(phoneno2) == false)
		{
			if (lang == 'french' || lang=='fr')
				alert ("Veuillez entrer un numéro de téléphone valide sous le format 555-5556");
			else
				alert ("Please enter a valid telephone number in the following format: 555-5556");

			document.form1.TelephoneNumber.focus();
			return false;
		}
	}

	if (document.form1.TelephoneExtension !=null)
	{
		var telext = document.form1.TelephoneExtension.value;
		var telext2 = replaceChars(telext);
		var valid = IsNumeric(telext2);

		if (valid == false)
		{
			alert ("Please enter a valid Telephone Extension.");
			document.form1.LastName.focus();
			return false;
		}
		else
		{
			document.form1.TelephoneExtension.value = telext2;
		}
	}
/*
	if (document.form1.DAYS_30 !=null )
	{
		var con = document.form1.DAYS_30.value;
		var result = true;

		if (IsNumeric(con) == false)
			result = false;

		if (result == false)
		{
			if(lang == "french")
				alert("S'il vous plaît entrer une valeur numérique.");
			else if(lang == "spanish")
				alert("Entre por favor un valor numérico");
			else
				alert("Please enter a numeric value.");

			document.form1.DAYS30.select();
			return false;
		}

	}*/

/*
	if (document.form1.PUB !=null)
	{
		var validFlg = true;
		var emb = document.form1.EMBERINNS.value;
		var pub = document.form1.PUB.value;

		if (!IsNumeric(document.form1.PUB.value)){			
			alert ("'Visited a pub' must be numeric");
			validFlg =  false;
		}else{
			if (document.form1.PUB.value > 31){
				alert("'Visited a pub' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		if (!IsNumeric(document.form1.FORMAL_REST.value)){
			alert ("'Visited a formal restaurant' must be numeric");
			validFlg =  false;
		}else{
			if (document.form1.FORMAL_REST.value > 31){
				alert("'Visited a formal restaurant' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		if (!IsNumeric(document.form1.FAST_FOOD.value)){
			alert ("'Visited a fast food restaurant' must be numeric");
			validFlg =  false;
		}else{
			if (document.form1.FAST_FOOD.value > 31){
				alert("'Visited a fast food restaurant' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		if (!IsNumeric(document.form1.TAKE_AWAY.value)){
			alert ("'Visited an Indian/Chinese take away restaurant' must be numeric");
			validFlg = false;
		}else{
			if (document.form1.TAKE_AWAY.value > 31){
				alert("'Visited an Indian/Chinese take away restaurant' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		if (!IsNumeric(document.form1.SUPERMARKET.value)){
			alert ("'Visited a supermarket or department store restaurant' must be numeric");
			validFlg =  false;
		}else{
			if (document.form1.SUPERMARKET.value > 31){
				alert("'Visited a supermarket or department store restaurant' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		if (!IsNumeric(document.form1.HOME_BEFORE.value)){
			alert ("'Had a few drinks at home before going to the pub' must be numeric");
			validFlg =  false;
		}else{
			if (document.form1.HOME_BEFORE.value > 31){
				alert("'Had a few drinks at home before going to the pub' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		if (!IsNumeric(document.form1.HOME_INSTEAD.value)){
			alert ("'Had a few drinks at home instead of going to the pub' must be numeric");
			validFlg =  false;
		}else{
			if (document.form1.HOME_INSTEAD.value > 31){
				alert("'Had a few drinks at home instead of going to the pub' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		if (!IsNumeric(document.form1.FRIENDS_FAMILY.value)){
			alert ("'Entertained friends/family at home' must be numeric");
			validFlg =  false;
		}else{
			if (document.form1.FRIENDS_FAMILY.value > 31){
				alert("'Entertained friends/family at home' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		if (!IsNumeric(document.form1.EMBERINNS.value)){
			alert ("'Visited an Ember Inns Pub' must be numeric");
			validFlg =  false;
		}else{
			if (document.form1.EMBERINNS.value > 31){
				alert("'Visited an Ember Inns Pub' cannot be greater than days in a month");
				validFlg =  false;
			}
		}
		
		if(validFlg){
			if(pub<emb){
				alert ("Answer to question 'Visited a pub' cannot be less then 'Visited an Ember Inns Pub'");
				document.form1.PUB.focus();
				return false;
			}	
		}
		else{
			return false;
		}	
	}*/
	return true;
}

function emailValidate(emailaddress)
{	
	var checkTLD=0; 
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/; 
	var emailPat=/^(.+)@(.+)$/; 
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]"; 
	var validChars="\[^\\s" + specialChars + "\]"; 
	var quotedUser="(\"[^\"]*\")"; 
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/; 
	var atom=validChars + '+'; 
	var word="(" + atom + "|" + quotedUser + ")"; 
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); 
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$"); 
	var matchArray=emailaddress.match(emailPat);

	if (matchArray==null)
	{ 
		//alert("The Email Address Is Invalid"); 
		return false; 
	}

	var user=matchArray[1]; 
	var domain=matchArray[2]; 

	for (i=0; i<user.length; i++)
	{ 
		if (user.charCodeAt(i)>127)
		{ 
			//alert("The Username Contains Invalid Characters."); 
			return false; 
		} 
	}

	for (i=0; i<domain.length; i++)
	{ 
		if (domain.charCodeAt(i)>127)
		{ 
			//alert("Ths Domain Name Contains Invalid Characters."); 
			return false; 
		}
	}

	if (user.match(userPat)==null)
	{ 
		//alert("The Username Is Invalid."); 
		return false; 
	} 

	var IPArray=domain.match(ipDomainPat); 

	if (IPArray!=null)
	{
		for (var i=1;i<=4;i++)
		{ 
			if (IPArray[i]>255)
			{ 
				//alert("The Destination IP Address Is Invalid."); 
				return false; 
			}
		}
		return true; 
	} 

	var atomPat=new RegExp("^" + atom + "$"); 
	var domArr=domain.split("."); 
	var len=domArr.length; 

	for (i=0;i<len;i++)
	{ 
		if (domArr[i].search(atomPat)==-1) 
		{ 
			//alert("The Domain Name Is Invalid."); 
			return false; 
		} 
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) 
	{
		//alert("The Domain Name Extension Is Invalid"); 
		return false; 
	} 

	if (len<2)
	{ 
		//alert("The Address Is Missing A Hostname."); 
		return false; 
	}
}


function replaceChars(entry)
{
	//out = "()+-x"; // replace this
	var add = ""; // with this
	var temp = "" + entry; // temporary holder
	var i = 0;
	var out2 = new Array(5);
	out2[0] = "(" ;
	out2[1] = ")" ;
	out2[2] = "+" ;
	out2[3] = "-" ;
	out2[4] = "x" ;

	for (i = 0; i < out2.length; i++)
	{
		var out = out2[i];
		while (temp.indexOf(out)>-1)
		{
			pos= temp.indexOf(out);
			temp = "" + (temp.substring(0, pos) + add + 
			temp.substring((pos + out.length), temp.length));
		}
	}
	//alert(temp);
	return temp;
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}
function IsNumeric_nd(sText_nd)
{
	var ValidChars_nd = "0123456789";
	var IsNumber_nd=true;
	var Char_nd;

	for (q = 0; q < sText_nd.length && IsNumber_nd == true; q++) 
	{ 
		Char_nd = sText_nd.charAt(q); 
		if (ValidChars_nd.indexOf(Char_nd) == -1) 
		{
			IsNumber_nd = false;
		}
	}
	return IsNumber_nd;
}

var letters="abcdefghijklmnopqrstuvwxyz";
var LETTERS="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

function isAlpha(c)
{
	// is c a String or a character?
	if(c.length>1)
	{
		for(j=0;j<c.length;j++)
		{
			// call isAlpha recursively for each character
			alpha=isAlpha(c.substring(j,j+1));

			if(!alpha)
				return alpha;
		}
		return alpha;
	}
	else
	{
		// if c is alpha return true
		if(letters.indexOf(c)>=0 || LETTERS.indexOf(c)>=0)
			return true;
		return false;
	}
}

function hasNumbers(text)
{
	for(k=0;k<text.length;k++)
	{
		noNum = isNaN(text.substring(k,k+1));

		if(text.substring(k,k+1) == " ")
			noNum = true;

		if(!noNum)
		{
			return true;
			k = text.length;
		}
	}
}

function checkbay(src)
{
	//code for parsing the bay hbc card number
	var cd = "";

	if(src.length==9)
	{
		cd = src;
	}
	else
	{
		return false;
	}

	//now that we have a code, check it
	//first, eliminate codes that start with digits less than 6
	var nums = new Array(9);

	for(x=0;x<9;x++)
	{
		nums[x] = cd.charAt(x);		
	}

	if(nums[0]<6)
	{
		return false;
	}

	var checksum = 0;
	var checkcalc = 0;

	for(x = 0;x<8;x++)
	{
		checksum = (checksum ) + (nums[x] * (x+1));
	}

	var stringchecksum = checksum + "";
	var sumlastdigit = stringchecksum.substring(stringchecksum.length-1);
	var lastcheck = 10 - sumlastdigit;

	if(lastcheck==10)
		lastcheck = 0;
	if(nums[8]==lastcheck)
	{
		return true;
	}
	else
	{
		return false;
	}

}