var numerr = 0;
function sendmail(){
	document.form1.action="sendmail.jsp";
	document.form1.submit();
}
function populateLists(inputStr)
{
	var getDate= new Date();
	/*var day= getDate.getDate();
	var month= getDate.getMonth();
	var year= getDate.getFullYear();*/
	
	
	//    SETUP SERVER SIDE DATE  MAR 25, 2010 ZS
	//--------------------------------------------
	var day= document.form1.tf_day.value;
	var month= document.form1.tf_month.value;
	var year= document.form1.tf_year.value;
	
	var hour= getDate.getHours();
	var minute= getDate.getMinutes();
	var numberYears= 2;
	//alert(getDate);

	//  PUT THE CURSOR IN THE TOTAL TEXT BOX   Dec 16, 2008 ZS
	//********************************************************
		inputStr.tf_acct.focus();

	//    SETUP HOURS    Dec 16, 2008 ZS
	//**********************************
	/*for (var hrCounter=8; hrCounter < 23; hrCounter++ )
	{
		
		var hr = String(hrCounter);
		
		if (hrCounter < 10){
			hr = "0" + hr;		
		}
		
		inputStr.tf_hr.options[hrCounter] = new Option(hr,hr);
	}
	for (var hrCounter=0; hrCounter < 24; hrCounter++ )
	{
		var h=inputStr.tf_hr.options[hrCounter].value;
		if(h==hour){
			inputStr.tf_hr.options[hrCounter].selected=true;
			break;
		}
	}*/

	//    SETUP MINUTES Dec 16, 2008 ZS
	//**********************************
	/*for (var minCounter=0; minCounter < 60; minCounter++ )
	{
		var min = String(minCounter);
		if (minCounter < 10){
			min = "0" + min;
			inputStr.tf_min.options[minCounter] = new Option(min,min);
		}
		else
			inputStr.tf_min.options[minCounter] = new Option(min,min);
	}
	for (var minCounter=0; minCounter < 60; minCounter++ )
	{
		var m=0;
		m=inputStr.tf_min[minCounter].value;
		if(m==minute)
		{
			inputStr.tf_min[minCounter].selected=true;
			break;
		}
	}*/
	
	if (inputStr.month.selectedIndex != 0)
	{
		//    SETUP MINUTES Dec 16, 2008 ZS
		//*********************************
		for(var monthCounter=0;monthCounter<12;monthCounter++)
		{	
			if(monthCounter==month)
				{inputStr.month.options[monthCounter].selected=true;
			break;}
			
		}
		//    SETUP DAYS Dec 16, 2008 ZS
		//*******************************
		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;}
		}

		
	}
		//    SETUP YEARS Dec 16, 2008 ZS
		//*******************************
		for (var yearCounter=0,cYearCounter=year; yearCounter <numberYears ; yearCounter++, cYearCounter--)
		{
			var y= String(cYearCounter);
			inputStr.year.options[yearCounter] = new Option(y,y);
				
		}
}

function populateLists2(inputStr2)
{
	var numberOfDays=0;

	if(inputStr2.month.options[2].selected)
	{
		numberOfDays=28;
	}
	else if(inputStr2.month.options[9].selected||inputStr2.month.options[4].selected||inputStr2.month.options[6].selected||inputStr2.month.options[11].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 checkTime(sHour,sMin,boxcheck)
{
		var blnValid = false;
		if(sHour>'' && sMin>''){
			if(IsNumeric(sHour) && IsNumeric(sMin) && sMin.length ==2){
			if (sHour >= 0 && sHour <13 && sMin >=0 && sMin <60){
					blnValid = true;
				}
		}
	}
	return blnValid;	
}

function isValidVisitDate(m,d)
{
	if(!isValidMonth(m) || !isValidDate(m,d))
		return false;
	else
		return true;
}

function isValidYear(y)
{
	var currentDate = new Date();
	var currentY = currentDate.getFullYear();

	if(parseInt(y,10) < 2008 || parseInt(y,10) > currentY)
		return false;
	else
		return true;
}

function isValidMonth(m)
{
	var currentDate = new Date();
	var currentM = 1 + currentDate.getMonth();

	if(parseInt(m,10) < 1 || parseInt(m,10) > currentM)
		return false;
	else
		return true;
}



function IsNumeric(numCheck)
{
   var ValidNums = "0123456789";
   var IsNumber = true;
   var Char = "";

 
   for (var q = 0; q < numCheck.length && IsNumber == true; q++) 
      { 
      Char = numCheck.charAt(q); 
      if (ValidNums.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function zeroPad(ostring, tlength)
{
	var y;
	var nval = ostring.length;
	var nstring = ostring;
	if (nval < tlength)
	{
		for (y=nval; y<tlength; y++){
			nstring = "0" + nstring;
		}

	}
	return nstring;
}

// remove pointless characters for certcode addition

function removePC(pc_str)
{
	var corr = "";

	for (var z = 0; z < pc_str.length; z++)
	{
		if (pc_str.charAt(z) != '-')
			corr += pc_str.charAt(z);
    	}
	return corr;
}
function removeDEC(dec_str)
{
	var corr_dec = "";

	for (var v = 0; v < dec_str.length; v++)
	{
		if (dec_str.charAt(v) != '.')
			corr_dec += dec_str.charAt(v);
    	}
	return corr_dec;
}

//validate decimal placement

function CheckAmount(charCheck)
{

   	var Validchars = "0123456789.";
   	var dec_used = false;
   	var val_str = true;
   	var tempc = "";

 	if (charCheck.length > 3 && charCheck.length < 8)
	{
		for (var k = 0; k < charCheck.length && val_str == true; k++) 
   		{ 
			tempc = charCheck.charAt(k); 
			//check to see if each character is valid
			if (Validchars.indexOf(tempc) == -1) 
      			{
        			val_str = false;
      			}
      			//check if decimal is used a second time
			if (tempc == '.' && dec_used == true)
			{
				val_str = false;
			}
			//check if after decimal length is 2
			if (tempc == '.' && charCheck.substr(k+1, charCheck.length-(k+1)).length != 2)
			{
				val_str = false;
			}
			//recognize the first decimal use
			if (tempc == '.' && dec_used == false)
      			{
				dec_used = true;
      			}	
   		}
		//if after loop decimal hasn't been used, this amount is false
		if (dec_used == false)
		{
			val_str = false;
		}
	}else{
		val_str = false;
	}

   	return val_str; 
}

function validate(ln)
{

	
	// SETS ALL THE ERRER MSG FRO ENGLISH AND SPANISH (Dec 12, 2008 z.s)
	//*******************************************************************
	var lang = ln;
	var DateErrMsg = "Please select a month and day of visit.";
	var FutureDateErrMsg = "Please enter a valid date. The date you have entered seems to be a date in the future.";
	var PriorDateErrMsg = "Please enter a valid date.  The date you have entered seems to be a date prior to the start of the contest.";
	var InvalidLocErrMsg = "Please enter a valid Account Number.";
	var InvalidAmntErrMsg = "You have not entered a Total Purchase Amount from your receipt.\nPlease check your receipt and enter the dollar value in the first box and cent value in the second box.\n";
	var InvalidHrM = "Please select an hour and minute.";
	if(lang == "spanish" || lang == "es" || lang == "ES")
	{
		DateErrMsg  = "Sírvase seleccionar un mes y día de la visita.";
		FutureDateErrMsg  = "Ingrese una fecha válida. La fecha que usted ha ingresado es una fecha en el futuro.";
		PriorDateErrMsg = "Ingrese una fecha válida.  La fecha que ha ingresado parece ser una fecha anterior al comienzo del concurso.";
		InvalidLocErrMsg = "Ingrese un número válido de Cuenta.";
		InvalidAmntErrMsg = "Ud. No ha introducido la cantidad total que aparece en su recibo.\nPor favor, revise su recibo e introduzca el valor en dólares en la primera casilla y el valor en centavos en la segunda casilla.\n";
		InvalidHrM = "Sírvase seleccionar una hora y minutos.";		
	}
	


	//validiate checker
	var result = true;
	var getDate = new Date();
	//var day = getDate.getDate();
	//var month = getDate.getMonth()+1;
	//var year = getDate.getFullYear();
	
	//    SETUP SERVER SIDE DATE  MAR 25, 2010 ZS
	//--------------------------------------------
	var day= document.form1.tf_day.value;
	var month= parseInt(document.form1.tf_month.value)+1;
	var year= document.form1.tf_year.value;
	
	var visitDate = "";
	var visitMonth = "";
	var visitDay = "";

	//var currentDate = new Date();

	//var visitYear = currentDate.getFullYear();

	visitMonth = (document.form1.month.selectedIndex) + '';

	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;
	}

	var vsdate =  visitYear +"-"+ visitMonth +"-"+ visitDay;

	var hour = document.form1.tf_hr.value;	
	var minute = document.form1.tf_min.value;
	var h = zeroPad(hour,2);
	var m = zeroPad(minute,2);
	
	var dol = document.form1.tf_dol.value;
	var cent = document.form1.tf_cent.value;
	
	var acctnum = document.form1.tf_acct.value;
	
	var URL = document.form1.tf_URL.value;
	
	var storelist = "";
	if(URL == "hb")
		storelist = "000000|062978|036846|062973|008545|013026|066463|060490|005085|047401|065682|031575|067944|001022|004819|057753|063963|013722|011253|065929|066961|016780|076379|035017|004512|018032";
	if(URL == "he")
		storelist = "000000|012592|013843|060130|043756|055538|051079|047226|004087|057178|055742|007273|020616|016790|065957|015745|014639|004833|015065|016772|024599|006164|016784|054433|016809|016626";
	

	if(numerr<3)
	{	
		if (acctnum.length != 11 || IsNumeric(acctnum) == false)
		{	
			alert(InvalidLocErrMsg);
			document.form1.tf_acct.select();
			result = false;
                	numerr+=1;
		}
		else if (storelist.indexOf(acctnum.substring(acctnum.length-6,acctnum.length)) < 0)
		{	
			alert(InvalidLocErrMsg);
			document.form1.tf_acct.select();
			result = false;
                	numerr+=1;
		}
		else if (document.form1.month.selectedIndex == 0)
		{
			
			alert(DateErrMsg);
			result = false;
			numerr+=1;
		}
		else if (parseInt(visitMonth,10) > month && parseInt(visitYear) == year)
		{
			
			alert(FutureDateErrMsg);
			result = false;
			numerr+=1;
		}
		else if (parseInt(visitMonth,10) == month && parseInt(visitDay,10) > day && parseInt(visitYear) == year)
		{
			
			alert(FutureDateErrMsg);
			result = false;
			numerr+=1;
		}	
		else if(document.form1.tf_hr.selectedIndex == 0 || document.form1.tf_min.selectedIndex == 0)
		{
			alert(InvalidHrM);						
			result = false;
			numerr+=1;	
		}				
		else if(IsNumeric(dol) == false || dol == "")
		{ 	
			alert(InvalidAmntErrMsg);
			document.form1.tf_dol.select();
			result = false;
			numerr+=1;
		}
		else if(IsNumeric(cent) == false || cent == "" )
		{ 	
			alert(InvalidAmntErrMsg);
			document.form1.tf_cent.select();
			result = false;
			numerr+=1;
		}
	}
	
	if (numerr==3)
	{
		result = false;
		document.form1.action = "../../Email/EmailErrorPage.jsp?callingPage="+document.URL+"";
		document.form1.submit();
	}
		
	if(result)
	{	
		
		var amnt = zeroPad(dol,5) + "." + zeroPad(cent,2);		
		var certcode = acctnum + visitYear + visitMonth + visitDay + h + m + zeroPad(dol,5)+ zeroPad(cent,2);
		var vstime = h+":"+m;
		
		document.form1.action = "xmlloader.jsp?certcode="+ certcode +"&vsdate="+ vsdate  +"&vstime="+ vstime +"&amnt=" + amnt + "&URL=" + URL + "&ln=" + lang;
		document.form1.submit();
	}

}

function submitenter(myfield,e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;

	if (keycode == 13)
   	{
   		validate();
   		return false;
   	}
	else
   		return true;
}


function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
