
﻿function SetMaxLength(textbox,maxLenght)
{if(textbox)
{if(textbox.value.length>maxLenght)
{textbox.value=textbox.value.substring(0,maxLenght);}}}
function Trim(s)
{return s.replace(/^\s*/,"").replace(/\s*$/,"");}
function CheckDatePast(day,month,year){var now=new Date();var today=new Date(now.getYear(),now.getMonth(),now.getDate());var date=new Date(year,month-1,day);return(date<today);}
function CheckDateFuture(day,month,year){var now=new Date();var maxFuture=new Date(now.getYear(),now.getMonth(),now.getDate()+339*24*60*60*1000);var date=new Date(year,month-1,day);return(date>=maxFuture);}
function deleteCriticalChar(inputValue)
{var intermed=inputValue;intermed=intermed.replace(/<[\s\S]*>/ig,"");intermed=intermed.replace(/</ig,"");intermed=intermed.replace(/>/ig,"");intermed=intermed.replace(/\%/ig,"");intermed=intermed.replace(/\(/ig,"");intermed=intermed.replace(/\(/ig,"");intermed=intermed.replace(/\"/ig,"");intermed=intermed.replace(/\'/ig,"");intermed=intermed.replace(/&/ig,"");intermed=intermed.replace(/_/ig,"");return intermed;}
function CheckCreditCardProfile(type,number,month,year,errorMessage,args){if(type.value=="")
{errorMessage=cErrorCardType;args.IsValid=false;}
else
{number.value=number.value.replace(/\s/g,"").replace(/\*/gi,"");if(number.value=="")
{errorMessage=cErrorCardNumber;args.IsValid=false;}
var actualDate=new Date();var actualYear=actualDate.getFullYear();var actualMonth=actualDate.getMonth();if(parseInt(year.value,10)<actualYear)
{errorMessage+=cErrorExpiryDate;args.IsValid=false;}
else if(parseInt(year.value,10)==actualYear&&(parseInt(month.value,10)-1)<actualMonth)
{errorMessage+=cErrorExpiryDate;args.IsValid=false;}
if(number.value!="")
{switch(type.value)
{case"VI":if(number.value.length!=16&&number.value.length!=13)
{errorMessage+=cErrorCardNumberLength;args.IsValid=false;}
else if(number.value.substr(0,1)!=4)
{errorMessage+=cErrorCardNumberDigit;args.IsValid=false;}
break;case"EC":if(number.value.length!=16)
{errorMessage+=cErrorCardNumberLength;args.IsValid=false;}
else if(number.value.substr(0,1)!=5)
{errorMessage+=cErrorCardNumberDigit;args.IsValid=false;}
break;case"AX":if(number.value.length!=15)
{errorMessage+=cErrorCardNumberLength;args.IsValid=false;}
else if(number.value.substr(0,1)!=3||number.value.substr(1,1)!=7)
{errorMessage+=cErrorCardNumberDigit;args.IsValid=false;}
break;case"DC":if(number.value.length!=14)
{errorMessage+=cErrorCardNumberLength;args.IsValid=false;}
else if(number.value.substr(0,1)!=3)
{errorMessage+=cErrorCardNumberDigit;args.IsValid=false;}
break;case"TP":if(number.value.length!=15)
{errorMessage+=cErrorCardNumberLength;args.IsValid=false;}
else if(number.value.substr(0,1)!=1)
{errorMessage+=cErrorCardNumberDigit;args.IsValid=false;}
break;case"JC":if(number.value.length!=16)
{errorMessage+=cErrorCardNumberLength;args.IsValid=false;}
else if(number.value.substr(0,1)!=3||number.value.substr(1,1)!=5)
{errorMessage+=cErrorCardNumberDigit;args.IsValid=false;}
break;}}}
return errorMessage;}
function CheckEmail(email)
{email.value=Trim(email.value);if(email.value.indexOf(".@")!=-1||email.value.indexOf("@.")!=-1||email.value.indexOf(" ")!=-1)
return 1;else if(!email.value.match(/^[^@]+@[^.][^@]+\.[a-zA-Z]{2,10}$/ig))return 1;else return 0;}
function CheckPhoneFaxFormat(number,args){number.value=number.value.replace(/\s/ig,"");checkforInvalidStrings=number.value.replace(/[\d\-\+\/\(\)]/ig,'');if(checkforInvalidStrings!='')
args.IsValid=false;}
function CheckNumberFormat(number,args)
{number.value=number.value.replace(/\s/ig,"");checkforInvalidStrings=number.value.replace(/\D{1,10}/ig);if(isNaN(number.value))args.IsValid=false;}
function CheckSTCNumber(number)
{if(!number.value.match(/[0-9]+/)||number.value.length<9)return 1;else return 0;}
function CheckSTCPin(pin)
{if(pin.value.length<4||pin.value.length>6)return 1;if(!pin.value.match(/[0-9]+/))return 2;else return 0;}
function CheckMMNumber(number){if(number.length!=16&&number.length!=15)return false;if(number.match(/[0-9]+/)==null)return false;return true;}
function CheckMMPin(pin){return(pin.length<4||pin.length>6||(pin.match(/\d{5}/)==null))?false:true;}
function CheckSOCUsername(userName)
{if(userName.value.length<4||userName.value.length>20)return 1;else return 0;}
function CheckSOCPassword(password)
{if(password.value.length<5||password.value.length>20)return 1;else return 0;}
function CheckName(name)
{name.value=name.value.replace(/^\s*|\s*$/g,"");if(name.value=="")return 1;else if(name.value.indexOf("*")!=-1||name.value.indexOf("<")!=-1||name.value.indexOf(">")!=-1||name.value.indexOf("/")!=-1||name.value.indexOf("\\")!=-1||name.value.indexOf("?")!=-1||name.value.indexOf("!")!=-1||name.value.indexOf("%")!=-1||name.value.indexOf("(")!=-1||name.value.indexOf(")")!=-1||name.value.indexOf("@")!=-1||name.value.indexOf("_")!=-1||name.value.match(/\d/ig)!=null)
return 1;else return 0;}
function CheckPassengerNumber(adults,children,infants){return(adults+children+infants)<6;}
function CheckChildCount(adults,infants){return adults>=infants;}
function CheckFlightRoute(from,to){return from&&to&&(from!="")&&(to!="")&&(from.toUpperCase()!=to.toUpperCase());}
function CheckFlightRouteRequired(from,to){return from&&to&&(from!="")&&(to!="");}
function ValidateSubscribe(args){var isOneChecked=false;for(var x=0;x<window.document.forms[0].elements.length;x++)
{var o=window.document.forms[0].elements[x];if(o.type=="checkbox"&&(o.id.indexOf("CheckBoxSubscription")!=-1))
{if(o.checked)isOneChecked=true;}}
if(!isOneChecked)
{args.IsValid=false;}}
function ShowValidationBox(id){var valSummaryBox=getElement(id+"_pItems")
var valSummaryItems=getElement(id+"_Summary")
if(valSummaryBox&&valSummaryItems){valSummaryBox.style.visibility="visible";valSummaryItems.style.visibility="visible";setTimeout('getElement("'+id+'_Summary").style.display = "block";',10);setTimeout('getElement("'+id+'_pItems").style.display = "block";',5);}}
function HideValidationBox(id)
{var v=getElement(id+"_pItems");if(v)v.style.display="none";}
function ShowValidationError(element,args)
{element.style.display="block";if(args!=null)
args.IsValid=false;}
function HideAll(validationElementArray)
{for(var i=0;i<validationElementArray.length;i++)
{validationElementArray[i].style.display="none";}}
function TrimAll(checkElements)
{for(var i=0;i<checkElements.length;i++)
{checkElements[i].value=Trim(checkElements[i].value);}}
function CheckEmpty(element)
{return element.value!="";}
function CheckCreditCard(type,number,code,errorLength,errorNumber,errorCvv,args)
{number=number.replace(/ /g,"");var lengthCorrect=true;var numberCorrect=true;var cvvCorrect=true;switch(type)
{case"VI":lengthCorrect=number.length==16||number.length==13;numberCorrect=number.substr(0,1)=='4';cvvCorrect=code.value.length==3;break;case"EC":lengthCorrect=number.length==16;numberCorrect=number.substr(0,1)=='5';cvvCorrect=code.value.length==3;break;case"AX":lengthCorrect=number.length==15;numberCorrect=number.substr(0,1)=='3';cvvCorrect=code.value.length==4;break;case"DC":lengthCorrect=number.length==14;numberCorrect=number.substr(0,1)=='3';cvvCorrect=code.value.length==3||code.length==4;break;case"TP":lengthCorrect=number.length==15;numberCorrect=number.substr(0,1)=='1';cvvCorrect=true;break;case"JC":lengthCorrect=number.length==16;numberCorrect=number.substr(0,1)=='3'&&number.substr(1,2)=='5';cvvCorrect=true;break;}
if(!lengthCorrect)
{ShowValidationError(errorLength,args);}
else if(!numberCorrect)
{ShowValidationError(errorNumber,args);}
if(!cvvCorrect)
{ShowValidationError(errorCvv,args);}
if(!lengthCorrect||!numberCorrect||!cvvCorrect)
{code.value="";}}