var myCollection = window.document.all;

function doChecking()
{
		
		
		var TB  = Ctrl_Prefix+"_TB_AutoComplete1_tbAutoComplete"
		var TB1 = Ctrl_Prefix+"_TB_AutoComplete2_tbAutoComplete"
		var TB2 = Ctrl_Prefix+"_TB_AutoComplete3_tbAutoComplete"
		var TB3 = Ctrl_Prefix+"_TB_AutoComplete4_tbAutoComplete"
	
		var name	= window.document.getElementById(Ctrl_Prefix+"_inpName");
		var lastName = window.document.getElementById(Ctrl_Prefix+"_inpLastName");
		
		var phone   = window.document.getElementById(Ctrl_Prefix+"_inpMainPhone");
		var phone_prefix = window.document.getElementById(Ctrl_Prefix+"_selMainPhone");
		var phone1  = window.document.getElementById(Ctrl_Prefix+"_inpSecPhone");
		var phone1_prefix  = window.document.getElementById(Ctrl_Prefix+"_selSecPhone");
		
		var zip		= window.document.getElementById(Ctrl_Prefix+"_inpZip");
		var userPass = window.document.getElementById(Ctrl_Prefix+"_userPass");
		var userRePass = window.document.getElementById(Ctrl_Prefix+"_userRePass");
		var id		 = window.document.getElementById(Ctrl_Prefix+"_inpID");
		var email		 = window.document.getElementById(Ctrl_Prefix+"_inpEmail");
		var recName		= window.document.getElementById(Ctrl_Prefix+"_inpRecName");
		var recLastname	= window.document.getElementById(Ctrl_Prefix+"_inprecLastName");
		
		var phone2  = window.document.getElementById(Ctrl_Prefix+"_inpRecMainPhone");
		var phone3  = window.document.getElementById(Ctrl_Prefix+"_inpSecMainPhone");
		//eliran, 23.07.2007: in order to skip the validation of the phone area in cases of delivery abroad, I will set the phone_prefix to the phone object.
		var phone2_prefix  = (DELIVERY_DEST == "2") ? phone2 :  window.document.getElementById(Ctrl_Prefix+"_selRecMainPhone");
		var phone3_prefix  = (DELIVERY_DEST == "2") ? phone3 :  window.document.getElementById(Ctrl_Prefix+"_selRecSecPhone");
		
		var recApp	= window.document.getElementById(Ctrl_Prefix+"_inpRecHome");
		var recZip   = window.document.getElementById(Ctrl_Prefix+"_inpRecZip");
		var recCountry	= window.document.getElementById(Ctrl_Prefix+"_inpState");
		var recAddress	= window.document.getElementById(Ctrl_Prefix+"_inpAbroadAddress");
		
		
	
		if(name)
		{
			if(name.value.length < 1)
			{
			
				var errorCode = eval('ORDER_ERRORS.'+ name.myName)
				doJob(name, errorCode);
				return;
			}
		}
		if(lastName)
		{
			if(lastName.value.length < 1)
			{
				var errorCode = eval('ORDER_ERRORS.'+ lastName.myName)
				doJob(lastName, errorCode);
				return;
			}
		}
		if(phone)
		{
			if(phone.value.length < 1)
			{
				var errorCode = eval('ORDER_ERRORS.'+ phone.myName)
				doJob(phone, errorCode);
				return;
			}
			else
			{
				if(phone.value.length < 7)
				{
					doJob(phone, ORDER_ERRORS.PHONE_LEN);
					return;
				}
				else if(!isPhoneNumFull(phone, phone_prefix))
				{
					doJob(phone, ORDER_ERRORS.PHONE_NUM);
					return;
				}
			}
		}
		if(phone1)
		{
			if(phone1.value.length > 0)
			{
				if(phone1.value.length > 7)
				{
					doJob(phone1, ORDER_ERRORS.PHONE_LEN);
					return;
				}
				else if (!isPhoneNumFull(phone1, phone1_prefix))
				{
					doJob(phone1, ORDER_ERRORS.PHONE_NUM);
					return;
				}
			}
		
		}
		if(TB && TB1)
		{
			for(var i=0; i<myCollection.length; i++)
			{
				
				if(TB == myCollection[i].id || TB1 == myCollection[i].id)
				{
				
					if(myCollection[i].value.length <1)
					{
					
						//var errorCode = eval('ORDER_ERRORS.'+myCollection[i].myName)	
						//doJob(myCollection[i], errorCode);
						//return;
						
					}
				
				}		
			}
		
		}
		if(zip)
		{
			if(zip.value.length > 0)
			{
				if(zip.value.length < 5 )
				{
					doJob(zip, ORDER_ERRORS.ZIP);
					return;
				}
			}
		}
		if(email)
		{
			if(email.value.length < 1)
			{
				var errorCode = eval('ORDER_ERRORS.'+ email.myName)
				doJob(email, errorCode);
				return;
			}
			else
			{
				if(!isValidEmail(email.value))
				{
					doJob(email, ORDER_ERRORS.EMAIL_WRONG);
					return;
				}
			}
		}
		if(id)
		{
			if(id.value.length < 0)
			{
				var errorCode = eval('ORDER_ERRORS.'+ id.myName)
				doJob(id, errorCode);
				return;
			}
			else
			{
				if(!IsValidID(id.value))
				{
					doJob(id, ORDER_ERRORS.ID_WRONG);
					return;
				}
			}
		}
		if(userPass && userRePass)
		{
			if(userPass.value.length < 5)
			{
				doJob(userPass, ORDER_ERRORS.PASS);
				return;
			}
			
			if(userRePass.value.length < 5)
			{
				doJob(userRePass, ORDER_ERRORS.REPASS);
				return;
			}
			
			
			
			if(userPass.value != userRePass.value)
			{
			
				doJob(userRePass, ORDER_ERRORS.PASS_EQU);
				return;
			}
		
		}
		if(recName.value.length < 1)
		{
			var errorCode = eval('ORDER_ERRORS.'+ recName.myName)
			doJob(recName, errorCode);
			return;
		}
		
		if(recLastname.value.length < 1)
		{
			var errorCode = eval('ORDER_ERRORS.'+ recLastname.myName)
			doJob(recLastname, errorCode);
			return;
		}
		
		if(phone2.value.length < 1)
		{
			var errorCode = eval('ORDER_ERRORS.'+ phone2.myName)
			doJob(phone2, errorCode);
			return;
		}
		else
		{
			if(phone2.value.length < 7)
			{
				doJob(phone2, ORDER_ERRORS.PHONE_LEN);
				return;
			}
			else if(!isPhoneNumFull(phone2, phone2_prefix))
			{				
				doJob(phone2, ORDER_ERRORS.PHONE_NUM);
				return;
			}
			
		}
		
		if(phone3.value.length > 0)
		{
			if(phone3.value.length < 7)
			{
				doJob(phone3, ORDER_ERRORS.PHONE_LEN);
				return;
			}
			else if (!isPhoneNumFull(phone3, phone3_prefix))
			{
				doJob(phone3, ORDER_ERRORS.PHONE_NUM);
				return;
			}
		}
		
		
		for(var i=0; i<myCollection.length; i++)
		{
			
			if(TB2 == myCollection[i].id || TB3 == myCollection[i].id)
			{
			
				if(myCollection[i].value.length <1)
				{
				
					var errorCode = eval('ORDER_ERRORS.'+myCollection[i].myName)	
					doJob(myCollection[i], errorCode);
					return;
					
				}
			
			}		
		}
		
		if(recApp != null)
		{
			if(recApp.value.length < 1)
			{
				var errorCode = eval('ORDER_ERRORS.'+ recApp.myName)
				doJob(recApp, errorCode);
				return;
			}
		}
		
		if (DELIVERY_DEST == "2") // abroad
		{
			if (recZip.value.length == 0)
			{
				doJob(recZip, ORDER_ERRORS.ZIP);
				return;			
			}
		}
		else // local
		{
			if(recZip.value.length > 0)
			{
				if(recZip.value.length < 5 )
				{
					doJob(recZip, ORDER_ERRORS.ZIP);
					return;
				}
			}
		}
		
		if(recCountry != null)
		{
		
			if(recCountry.value.length < 1)
				{
					
				doJob(recCountry, ORDER_ERRORS.COUNTRY);
				return;
				}

		}
		if(recAddress != null)
		{
			if(recAddress.value.length < 1)
				{
					doJob(recAddress, ORDER_ERRORS.ADDRESS);
				return;
				}
		}
		
		// set the auto complete controls values.
		try
		{
			var valueArr = new Array(TB_AutoComplete1_Value, TB_AutoComplete2_Value, TB_AutoComplete3_Value, TB_AutoComplete4_Value, TB_AutoComplete5_Value);
			for (i = 1 ; i <= 5 ; i++)
			{
				var sHiddenAutoCompleteId = Ctrl_Prefix + "_TB_AutoComplete" + i + "_hdnAutoCompleteValue";
				var autoCompleteObjValue = valueArr[i-1];
				var autoCompleteObj = document.all(sHiddenAutoCompleteId);
				if (autoCompleteObj)
				{
					autoCompleteObj.value = autoCompleteObjValue;				
				} 
			}			
		}
		catch (e)
		{
			//alert(e.description);
		}
		
		var form						= window.document.forms[0];
		form.submit();		
}

function doJob(obj, error)
	{
		var TB  = Ctrl_Prefix+"_TB_AutoComplete1_tbAutoComplete"
		var TB1 = Ctrl_Prefix+"_TB_AutoComplete2_tbAutoComplete"
		var TB2 = Ctrl_Prefix+"_TB_AutoComplete3_tbAutoComplete"
		var TB3 = Ctrl_Prefix+"_TB_AutoComplete4_tbAutoComplete"
		
		if(obj.id == TB || obj.id == TB2 )
		{
			alert(ORDER_ERRORS.CITY);
			obj.focus();
			return;
		}
		if(obj.id == TB1 || obj.id == TB3 )
		{
			alert(ORDER_ERRORS.STREET);
			obj.focus();
			return;
		}
		else
		{
			alert(error);
			obj.focus();
			return;
		}		
	}
	
	function doValidate()
	{
		var phone   = window.document.getElementById(Ctrl_Prefix+"_inpMainPhone");
		var phone1  = window.document.getElementById(Ctrl_Prefix+"_inpSecPhone");
		var phone2  = window.document.getElementById(Ctrl_Prefix+"_inpRecMainPhone");
		var phone3  = window.document.getElementById(Ctrl_Prefix+"_inpSecMainPhone");
		var zip		= window.document.getElementById(Ctrl_Prefix+"_inpZip");
		var userPass = window.document.getElementById(Ctrl_Prefix+"2_userPass");
		var userRePass = window.document.getElementById(Ctrl_Prefix+"_userRePass");
		var id		 = window.document.getElementById(Ctrl_Prefix+"_inpID");
		var email		 = window.document.getElementById(Ctrl_Prefix+"_inpEmail");	
		var recZip   = window.document.getElementById(Ctrl_Prefix+"_inpRecZip");
	
		if(!IsValidID(id.value))
		{
			doJob(id, ORDER_ERRORS.ID_WRONG);
			return;
		}
		
		if(phone.value.length < 7)
		{
			doJob(phone, ORDER_ERRORS.PHONE_LEN);
			return;
		}
		if(!isNumbers(phone.value))
		{
			doJob(phone, ORDER_ERRORS.PHONE_NUM);
			return;
		}
		if(phone2.value.length < 7)
		{
			doJob(phone2, ORDER_ERRORS.PHONE_LEN);
			return;
		}
		if(!isNumbers(phone2.value))
		{
			doJob(phone2, ORDER_ERRORS.PHONE_NUM);
			return;
		}
		if(phone1.value.length > 0)
		{
			if(phone1.value.length < 7)
			{
				doJob(phone1, ORDER_ERRORS.PHONE_LEN);
				return;
			}
			if(!isNumbers(phone1.value))
			{
				doJob(phone1, ORDER_ERRORS.PHONE_NUM);
				return;
			}
		}
		if(phone3.value.length > 0)
		{
			if(phone3.value.length < 7)
			{
				doJob(phone3, ORDER_ERRORS.PHONE_LEN);
				return;
			}
			if(!isNumbers(phone3.value))
			{
				doJob(phone3, ORDER_ERRORS.PHONE_NUM);
				return;
			}
		}
		if(zip.value.length > 0)
		{
			if(zip.value.length < 5 )
			{
				doJob(zip, ORDER_ERRORS.ZIP);
				return;
			}
		}
		
			if(recZip.value.length >0)
			{
				if( recZip.value.length < 5)
				{
					doJob(recZip, ORDER_ERRORS.ZIP);
					return;
				}
			}
		
		if(!isValidEmail(email.value))
		{
			doJob(email, ORDER_ERRORS.EMAIL_WRONG);
			return;
		}
		
	
		
		if(userPass.value.length < 5)
		{
			doJob(userPass, ORDER_ERRORS.PASS);
			return;
		}
		
		if(userRePass.value.length < 5)
		{
			doJob(userRePass, ORDER_ERRORS.REPASS);
			return;
		}
		
		
		
		if(userPass.value != userRePass.value)
		{
		
			doJob(userRePass, ORDER_ERRORS.PASS_EQU);
			return;
		}
		
		var form = window.document.forms[0];
		form.submit();
		
	}
	
	
					
function checkHansa(param)
{
	var url = globalHost+"Templates/Windows/LufthansaApp.aspx?param="+param + "&lang=" + LANG; 	
	
//	window.open(globalHost+"Templates/Windows/LufthansaApp.aspx?param="+param+"&elem="+Ctrl_Prefix+"&elem1=inpLuft&lang=" + LANG,"","width=440, height=485");	
	
	var fArr = []
    with(fArr)
      {
        push("dialogHeight:500px"); 
        push("dialogWidth:350px");
        push("center:yes");
        push("resizable:no");
        push("scroll:no");
        push("status:yes");
      }
    
    var returnParams = showModalDialog(url,self,fArr.join(";"))
    
    if (returnParams != null)
    {
		var _luftScore = document.getElementById(Ctrl_Prefix + '_luftScore');
		var _luftBalance = document.getElementById(Ctrl_Prefix + '_inpLuft');  
		if (_luftScore && _luftBalance)
		{
			_luftScore.value = returnParams.credit;
			_luftBalance.value = returnParams.credit;			
		}		
    }    
    
}

function checkCredit(total)
{
	var credit = document.getElementById(Ctrl_Prefix+"_inpLuft");
	var element = document.getElementById(Ctrl_Prefix+"_luftScore");
	
	var creditTotal = document.getElementById("inpCredit");
					
	var elementTotal = document.getElementById(Ctrl_Prefix + "_inpTotal");

	var creditInt =-1;
	var elementInt =-1;

	try
	{
		if(credit.value.length >1)	
		{
			 creditInt = parseInt(credit.value , 10);
		}
		
		elementInt = parseInt(element.value, 10);
		//if ( !(regex.test(creditInt)) ) { alert(HANSA_ERR_NUM) }

		if (isNaN(element.value) || (element.value.length == 0))
		{ 
			alert(CLIENT_DICT.HANSA_ERR_NUM)
			creditTotal.innerHTML = "";
			elementTotal.innerHTML = total;
			return;
		}		
	
	}
	catch(e)
	{
		//alert(e);
	}
	if (LufthansaMin && elementInt < LufthansaMin)
	{
		// the customer tried to use less of 7500 miles.	
		alert(CLIENT_DICT.HANSA_ERR_COUNT);
		creditTotal.value = "";
				
		elementTotal.value = total;
	}
	else if (creditInt < elementInt)
	{
		// the customer tried to use more miles than he has.	
		alert(CLIENT_DICT.HANSA_ERR_QNT);
		creditTotal.value = "";
				
		elementTotal.value = total;
	}
	else
	{	
		loadXMLDocHansa(elementInt, total);		
	}	
}

function loadXMLDocHansa(paramCredit, paramTotal)
{

	var url = globalHost+"Templates/Order_Step2/XMLCheck.aspx?credit="+paramCredit+"&total="+paramTotal;
    xmlhttp	= new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.open("GET", url , false);
	xmlhttp.setRequestHeader("Content-Type", "text/html; Charset=utf-8");
	xmlhttp.setRequestHeader("http-equiv", "Expires; content=0");
	xmlhttp.onreadystatechange = xmlhttpChange;
	xmlhttp.send();
}

function xmlhttpChange()
{
	if (xmlhttp.readyState == 4)
	{  
		if (xmlhttp.status == 200) 
        {
            var s = xmlhttp.responseXML;
			 s.load(xmlhttp.responseStream);
           
			var elementMiles = document.getElementById(Ctrl_Prefix+"_luftScore");
 
            var creditElement = s.getElementsByTagName("Item")[0].firstChild.text;

			var totalElement = s.getElementsByTagName("Item")[1].firstChild.text;
			
			var hansaElement = s.getElementsByTagName("Item")[2].firstChild.text;

			if(creditElement > 0)
			{
			
				var credit = document.getElementById("inpCredit");
				
				var element = document.getElementById(Ctrl_Prefix+"_inpTotal");
			
				// update display for the new total sum.
				element.innerHTML = totalElement;
				
				// update display for the number of miles left for the customer.
				elementMiles.value = hansaElement;
				
				// update display for the lufthanse miles discount.
				credit.innerHTML = creditElement+"-";
				
				// hide the button of calculating discount
				var imgCompDiscount = document.getElementById(Ctrl_Prefix + "_imgCheckLuft");
				if (imgCompDiscount)
				{
					imgCompDiscount.style.display = "none";
				}			
				
				// disable the luft miles text box
				elementMiles.readOnly = true;
				
				// hide the lufthansa check miles image
				var spanCheckMiles = document.getElementById("spanLufthansa");
				if (spanCheckMiles)
				{					
					spanCheckMiles.style.display = "none";
				}				
			}       
        } 
        else 
        {
				alert("There was a problem retrieving the XML data:\n" +
                xmlhttp.statusText);
        }
        
     }
}
			
function countSum()
{
	var myCollection = window.document.all;
	var myParam = "oblig";
	
	for(var i=0; i<myCollection.length; i++)
		{
			if(myParam == myCollection[i].myParam)
			sum += myCollection[i].value;
		}
		
	
}

function doPayment()
{
	
	var myParam = "oblig";
	var counter = 0;
	
	// check if the user filled one of the credit card related fields.
	for (var i = 0 ; i < myCollection.length ; i++)
	 {	
		if(myParam == myCollection[i].myParam)
		{
			if (myCollection[i].myName == "cardNumber")
			{			
				if(myCollection[i].value.length > 0)
				{				
					counter++;					
				}		
			}		
		}	
	 }
	 
	 if (counter > 0)   // the user filled one of the credit card related fields.
	 {
		var idUser = window.document.getElementById(Ctrl_Prefix+"_inpID");
	
		if(!checkName())
		{
			return;
		}
		
		var idBoxValue = idUser.value;
		if (idBoxValue == "")
		{
			alert(CLIENT_DICT.ID_EMPTY);
			idUser.focus();
			return;
		}
		else if (!IsValidID(idBoxValue))
		{
			alert(CLIENT_DICT.ID_ERR);
			idUser.focus();
			return;
		}
		if(!checkCreditCard())
		{
			return;
		}
		
		if(!checkInputDate())
		{
			return;
		}
		
		//if(creditCardVal!="False")
		//{
			if (!checkCardSecurityNum())
			{
				return;
			}
		//}
	 }
	 
	 // submit form
	 
	 var form = window.document.forms[0];
	 if (form)
	 {
		form.submit();
	 }
	 else
	 {
		alert(CLIENT_DICT.GENERAL_ERR);
	 }
	 	 
}
function checkName()
{
	var name = window.document.getElementById(Ctrl_Prefix+"_inpName");
	if(name.value.length < 1)
	{
		alert(CLIENT_DICT.NAME_ERR);
		name.focus();
		return false;
	}
	else
	{
		return true;
	}
}
function checkInputDate()
{
	for(var i = 0; i < myCollection.length ; i++)
	{
		if(myCollection[i].myName == "selYears")
		{			
			return checkYear(myCollection[i].value);			
		}
	}
	
	return true;
}
function checkYear(input)
{

	var serverYear;
	var creditYear;
	try
	{
		serverYear  = parseInt(globalYear, 10);
		creditYear  = parseInt(input, 10);
	}
	catch(e){}

	if(creditYear < serverYear)
	{
		alert(CLIENT_DICT.CREDIT_ERR_EXPIRATION_DATE);
		return false;
	}
	else if (creditYear == serverYear)
	{

		for(var i=0; i<myCollection.length; i++)
		{
		  if(myCollection[i].myName == "selMonths")
			{
				return checkMonths(myCollection[i].value);
			}				
		}
	}
	
	// else - no need to check month.
	return true;
		
		
}
function checkMonths(input)
{

	var creditMonth = input.substring(2);

	var serverMonth;
	try
	{
		serverMonth  = parseInt(globalMonth, 10);
		creditMonth  = parseInt(creditMonth, 10);
	}
	catch(e){}
	
	if(creditMonth > serverMonth )
	{		
		return true;
	}
	else
	{	
		alert(CLIENT_DICT.CREDIT_ERR_EXPIRATION_DATE);
		return false;
	}
}

function checkCreditCard()
{
	var cardNumber = "";
	var regex = /^[0-9]+$/;
	
	for (var i=0; i < myCollection.length ; i++)
	{
	
		if (myCollection[i].myName == "cardNumber")
		{
			var temp = cardNumber+ myCollection[i].value;
			cardNumber  = temp;
		}
	}
	
	//if(creditCardVal!="False")
	//{			
		if ( !(regex.test(cardNumber)) ) 
		{ 
			alert(CLIENT_DICT.CARD_NUM_ERR)
			return false;
		}
		else
		{
			return true;
		}
	//}
	//else
	//{
		//return true;
	//}	
}

function checkCardSecurityNum()
{
	for (var i=0 ; i < myCollection.length ; i++)
	{
		if(myCollection[i].myName == "inpSecNum")
		{
			if (!isNumbers(myCollection[i].value))
			{
				alert(CLIENT_DICT.CARD_SECURITY_NUM_ERR);
				return false;				
			}			
		}				
	}	
	
	return true;
}

function openOrderData(OrderNumber,Lng)
{	
    window.open(globalHost+"Templates/OrdersSurvey/OrderData.aspx?orderNum="+OrderNumber + "&lang=" + Lng ,"OrderData", "status=0,toolbar=0,scrollbars=1,titlebar=0, width=600");
}
function ClosePopup()
{
	window.close();
}

function move2nextField(currInputFieldName, nextInputFieldName, maxLength)
{
	var currInputField = document.getElementById(currInputFieldName);
	var nextInputField = document.getElementById(nextInputFieldName);
	if (currInputField.value.length == maxLength)
	{
		nextInputField.focus();
	}
}