if(vers == 'YT'){
	var typePosO = '0'
	var typePosR = '1'
}else{
	var typePosO = '1'
	var typePosR = '0'
}

function isValidFlight(formName,obDate,ibDate)
{
	var CHD=document.forms[""+formName].CHD.value;
	var ADT=document.forms[""+formName].ADT.value;
	var INF=document.forms[""+formName].INF.value;

	var formN=document.forms[""+formName];
	if(document.forms[""+formName].origin.value.indexOf('(')!=-1){document.forms[""+formName].origin.value=(document.forms[""+formName].origin.value.match("\\([A-Z]{3}\\)\ \-\ ")[0]).match("[A-Z]{3}")[0];}
	if(document.forms[""+formName].destination.value.indexOf('(')!=-1){document.forms[""+formName].destination.value=(document.forms[""+formName].destination.value.match("\\([A-Z]{3}\\)\ \-\ ")[0]).match("[A-Z]{3}")[0];}
	
	var a=document.forms[""+formName].origin.value;
	var d =document.forms[""+formName].destination.value;
	var totPax=parseInt(ADT)+parseInt(CHD)+parseInt(INF);
	var isvalidD=isDate(obDate)
	var isvalidR=isDate(ibDate)
	if(!isvalidD || !isvalidR){
	return false;
	}
	var obDate=obDate.split('/');
	var ibDate=ibDate.split('/');
	var obDay=obDate[0];
	var obYear=obDate[2];
	var obMonth=(obDate[1]-1)
	var ibDay=ibDate[0];
	var ibYear=ibDate[2];
	var ibMonth=(ibDate[1]-1)
	var today=new Date();
	var D=today.getDate();if(D<10){D="0"+D;}
	var M=today.getMonth();if(M<10){M="0"+M;}
	var Y=today.getFullYear();
	var objDiff=daysElapsed(new Date(ibYear,ibMonth,ibDay),new Date(obYear,obMonth,obDay));
	var objDt=daysElapsed(new Date(obYear,obMonth,obDay),new Date(Y,M,D));
	if(objDt<0){
	alert("Depart date can't be in past")
	return false;
	}
	if(d=='' && a==''){
	alert("Depart and arrival airport can't be left blank")
	return false;
	}else if(d==a)
	{
	alert("Depart and arrival airport can't be same")
	return false;
	}
	
	if(a==''){
	alert("Depart airport can't be left blank")
	return false;
	}
	if(d==''){
	alert("Return airport can't be left blank")
	return false;
	}
	if(totPax>9)
	{
	alert("You are allowed a maximum of 9 passengers per Flight booking online.\nIf your group is larger than this, please call our call center.")
	return false;
	}
	if(INF>ADT)
	{
	alert("Total number of infant can't be greater than adult")
	return false;
	}
	if(objDiff<0 && document.forms[""+formName].type[typePosR].checked)
	{
		alert("Return date must occur after the Depart date.")
		return false;
	}
	else{return true;}
}

function isValidFlightOnModify(formName,obDate,ibDate)
{
	var CHD=document.forms[""+formName].CHD.value;
	var ADT=document.forms[""+formName].ADT.value;
	var INF=document.forms[""+formName].INF.value;

	var formN=document.forms[""+formName];
	if(document.forms[""+formName].origin1.value.indexOf('(')!=-1){document.forms[""+formName].origin.value=(document.forms[""+formName].origin1.value.match("\\([A-Z]{3}\\)\ \-\ ")[0]).match("[A-Z]{3}")[0];}
	if(document.forms[""+formName].destination1.value.indexOf('(')!=-1){document.forms[""+formName].destination.value=(document.forms[""+formName].destination1.value.match("\\([A-Z]{3}\\)\ \-\ ")[0]).match("[A-Z]{3}")[0];}
	
	var a=document.forms[""+formName].origin1.value;
	var d =document.forms[""+formName].destination1.value;
	 if(d=='' && a==''){
        alert("Depart and arrival airport can't be left blank")
        return false;
        }else if(d==a)
        {
        alert("Depart and arrival airport can't be same")
        return false;
        }
        if(a==''){
        alert("Depart airport can't be left blank")
        return false;
        }
        if(d==''){
        alert("Return airport can't be left blank")
        return false;
        }
	var isvalidD = true;
        var isvalidR = true;
	
	var totPax=parseInt(ADT)+parseInt(CHD)+parseInt(INF);
	//var isvalidD=isDate(obDate)
	//var isvalidR=isDate(ibDate)
	//if(!isvalidD || !isvalidR){
	//return false;
	//}
	isvalidD=isDate(obDate,'ddate');
        if(!isvalidD) return false;
        if(document.forms[""+formName].type[typePosR].checked == true) {
          isvalidR=isDate(ibDate,'rdate')
          if(!isvalidR) return false;
        }

	var obDate=obDate.split('/');
	var ibDate=ibDate.split('/');
	var obDay=obDate[0];
	var obYear=obDate[2];
	var obMonth=(obDate[1]-1)
	var ibDay=ibDate[0];
	var ibYear=ibDate[2];
	var ibMonth=(ibDate[1]-1)
	var today=new Date();
	var D=today.getDate();if(D<10){D="0"+D;}
	var M=today.getMonth();if(M<10){M="0"+M;}
	var Y=today.getFullYear();
	var objDiff=daysElapsed(new Date(ibYear,ibMonth,ibDay),new Date(obYear,obMonth,obDay));
	var objDt=daysElapsed(new Date(obYear,obMonth,obDay),new Date(Y,M,D));
	if(objDt<0){
	alert("Depart date can't be in past")
	return false;
	}
	if(totPax>9)
	{
	alert("You are allowed a maximum of 9 passengers per Flight booking online.\nIf your group is larger than this, please call our call center.")
	return false;
	}
	if(INF>ADT)
	{
	alert("Total number of infant can't be greater than adult")
	return false;
	}
	if(objDiff<0 && document.forms[""+formName].type[typePosR].checked)
	{
		alert("Return date must occur after the Depart date.")
		return false;
	}
	else{return true;}
}



function isValidDpack(formName,obDate,ibDate)
{
	var CHD=document.forms[""+formName].CHD.value;
        var ADT=document.forms[""+formName].ADT.value;
        var formN=document.forms[""+formName];
        if(document.forms[""+formName].origin.value.indexOf('(')!=-1){document.forms[""+formName].origin.value=(document.forms[""+formName].origin.value.match("\\([A-Z]{3}\\)\ \-\ ")[0]).match("[A-Z]{3}")[0];}
        if(document.forms[""+formName].destination.value.indexOf('(')!=-1){document.forms[""+formName].destination.value=(document.forms[""+formName].destination.value.match("\\([A-Z]{3}\\)\ \-\ ")[0]).match("[A-Z]{3}")[0];}

        var a=document.forms[""+formName].origin.value;
        var d =document.forms[""+formName].destination.value;
        var totPax=parseInt(ADT)+parseInt(CHD);
        var isvalidD=isDate(obDate)
		
	var isvalidD=isDate(obDate)
	var isvalidR=isDate(ibDate)
	if(!isvalidD || !isvalidR){
	return false;
	}
	var obDate=obDate.split('/');
	var ibDate=ibDate.split('/');
	
	var obDay=obDate[0];
	var obYear=obDate[2];
	var obMonth=(obDate[1]-1)
	var ibDay=ibDate[0];
	var ibYear=ibDate[2];
	var ibMonth=(ibDate[1]-1)
	var today=new Date();
	var D=today.getDate();if(D<10){D="0"+D;}
	var M=today.getMonth();if(M<10){M="0"+M;}
	var Y=today.getFullYear();
	var objDiff=daysElapsed(new Date(ibYear,ibMonth,ibDay),new Date(obYear,obMonth,obDay));
	var objDt=daysElapsed(new Date(obYear,obMonth,obDay),new Date(Y,M,D));
	if(objDt<0){
		alert("Depart date can't be in past")
		return false;
	}
	if(d==a){
        alert("Depart and arrival airport can't be same")
        return false;
        }
        if(totPax>3)
        {
        alert("You are allowed a maximum of 3 passengers per Hotel+Flight booking online.\nIf your group is larger than this, please call our call center. ")
        return false;
	}
	if(objDiff<0)
	{
		alert("Return must occur after the Depart date.")
		return false;
	}
	 if(objDiff==0)
        {
                alert("Depart date and Return date can't be same.")
                return false;
        }

	else{return true;}
}


function daysElapsed(date1,date2) 
{
 var difference =
        Date.UTC(date1.getYear(),date1.getMonth(),date1.getDate(),0,0,0)
      - Date.UTC(date2.getYear(),date2.getMonth(),date2.getDate(),0,0,0);
   return  difference=(difference)/(1000*60*60*24);
}


var dtCh= "/";
var minYear=1900;
var maxYear=2100;
function isInteger(s){
var i;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function daysInFebruary (year){
	 return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr,dt){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	var month=parseInt(strMonth)
	var day=parseInt(strDay)
	var year=parseInt(strYr)
	var str = "Departure";
        if(dt == 'rdate') {
           str = "Return";
        }
        if (pos1==-1 || pos2==-1){
                alert('The '+str+' date format should be : dd/mm/yyyy')
                return false
        }
        if (strMonth.length<1 || month<1 || month>12){
                alert("Please enter a valid "+str+" month")
                return false
        }
        if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
                alert("Please enter a valid "+str+" day")
                return false
        }
        if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
                alert("Please enter a valid 4 digit year between "+str+" "+minYear+" and "+str+" "+maxYear)
                return false
        }
        if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
                alert("Please enter a valid "+str+" date")
                return false
        }

return true
}


function showHidert(fName)
{

if(document.forms[""+fName].type[typePosO].checked)
		{
		document.forms[""+fName].rdate.disabled=true;
		document.getElementById('ReturnIcon').style.display='none';
		document.getElementById('ReturnIcon2').style.display='';

		/*
		if(document.getElementById("outbound").value == "true")  {
			document.getElementById("flexi_div").style.display = "none";
		}else{
			document.getElementById("flexi_div").style.display = "";
		}
		document.getElementById('flight_hotel').style.display = 'none';
		
		*/
	}
if(document.forms[""+fName].type[typePosR].checked)
        {
		document.forms[""+fName].rdate.disabled=false;
		document.getElementById('ReturnIcon').style.display='';
		document.getElementById('ReturnIcon2').style.display='none';
        //document.getElementById('flight_hotel').style.display = '';	
        }
}



function datefill(fn){

var date=new Date();
var d=date.getDate();
var m=date.getMonth()+1;
var y=date.getFullYear();

if(d<10){d="0"+d}
if(m<10){m="0"+m}
var t=d+"/"+m+"/"+y
var r=new Date(m+"/"+d+"/"+y)
r.setDate(date.getDate()+7)

var rD=r.getDate();
var rM=r.getMonth()+1;
var rY=r.getFullYear();
if(rD<10){rD="0"+rD}
if(rM<10){rM="0"+rM}
var rt=rD+"/"+rM+"/"+rY;

document.forms[""+fn].rdate.value=rt;
}

function showHideCalendarFlexi(fName)
{

if(document.forms[""+fName].type[0].checked)
		{
		document.forms[""+fName].rdate.disabled=true;
		document.getElementById('ReturnIcon').style.display='none';
		document.getElementById('ReturnIcon2').style.display='';
		
		}
if(document.forms[""+fName].type[1].checked)
        {
		document.forms[""+fName].rdate.disabled=false;
		document.getElementById('ReturnIcon').style.display='';
		document.getElementById('ReturnIcon2').style.display='none';
        }
}
