// HOME PAGE VALIDATIONS


function makevis()
{
document.getElementById("pilotsh").style.visibility='visible';
document.getElementById("pilotsh").style.display='block';
}

function prepopulate(){

   var orginTypeObj1=document.getElementById("selorigin")
   var orginTypeIndex1=orginTypeObj1.selectedIndex;
   var orginType11=orginTypeObj1[orginTypeIndex1].value;
   
   
   var destinationTypeObj1=document.getElementById("seldestination")
   var destinationTypeIndex1=destinationTypeObj1.selectedIndex;
   var destinationType11=destinationTypeObj1[destinationTypeIndex1].value;
   
	var noofAdults1=document.getElementById("selnoOfAdults")
   var noofAdultsIndex1=noofAdults1.selectedIndex;
   var noofAdults11=noofAdults1[noofAdultsIndex1].value;
   
   var noOfChildren1=document.getElementById("selnoOfChildren")
   var noOfChildrenIndex1=noOfChildren1.selectedIndex;
   var noOfChildren11=noOfChildren1[noOfChildrenIndex1].value;
   
   var noOfInfants1=document.getElementById("selnoOfInfants")
   var noOfInfantsIndex1=noOfInfants1.selectedIndex;
   var noOfInfants11=noOfInfants1[noOfInfantsIndex1].value;
   
   var homeDepatureDate
   var homeReturnDate;
   if(document.getElementById("txtdeptDateRtrip").value!=null){
   homeDepatureDate =document.getElementById("txtdeptDateRtrip").value
   }
   if(document.getElementById("txtretnDateRtrip").value!=null){
   homeReturnDate =document.getElementById("txtretnDateRtrip").value
   }
  if(document.getElementById("txtdeptDateOway").value!=null){
   homeDepatureDateOneWay =document.getElementById("txtdeptDateOway").value
   }
   
   var homedepttime;
   var homeretntime;
   var homedepttimeoneway;
	if(document.getElementById("seldeptTimeRtrip").value!=null){
   homedepttime =document.getElementById("seldeptTimeRtrip").value
   }
   if(document.getElementById("selretnTimeRtrip").value!=null){
   homeretntime =document.getElementById("selretnTimeRtrip").value
   }
  if(document.getElementById("seldeptTimeOway").value!=null){
   homedepttimeoneway =document.getElementById("seldeptTimeOway").value
   }
   var chkResidentValue = true;
 /*  if(document.getElementById("chkResidentIndia").checked){
   chkResidentValue =true;
   }
   else{
	   chkResidentValue =false;
   }
   */
   var exp1=true;
   var addOption =1;
 if(trip =='R')  {
//document.location.href="http://www.makemytrip.co.in/makemytrip/flights.do?&hometripType="+trip+"&homeOriginCity="+orginType11+"&homeDestinationCity="+destinationType11+"&homeDepatureDate="+homeDepatureDate+"&homeReturnDate="+homeReturnDate+"&homenoofAdults="+noofAdults11+"&homenoOfChildren="+noOfChildren11+"&homenoOfInfants="+noOfInfants11+"&homedepttime="+homedepttime+"&homeretntime="+homeretntime+"&exp="+exp1+"&addOption="+addOption+"&chkResidentValue="+chkResidentValue;
}
else if(trip =='O'){
// document.location.href="http://www.makemytrip.co.in/makemytrip/flights.do?&hometripType="+trip+"&homeOriginCity="+orginType11+"&homeDestinationCity="+destinationType11+"&homeDepatureDateOneWay="+homeDepatureDateOneWay+"&homenoofAdults="+noofAdults11+"&homenoOfChildren="+noOfChildren11+"&homenoOfInfants="+noOfInfants11+"&homedepttimeoneway="+homedepttimeoneway+"&exp="+exp1+"&addOption="+addOption+"&chkResidentValue="+chkResidentValue;
}

//document.location.href="flights.do";
}


function onewayfn(){

			//resetDates();
				for (var i=0; i < document.forms[0].radtripType.length; i++)
				   {
				   if(   document.forms[0].radtripType[i].checked)
					  {
					  var rad_val = document.forms[0].radtripType[i].value;
					 //alert(rad_val +"rad_val");
					 trip =rad_val;
					// alert(trip+"trip");
							if(rad_val=="O"){
									document.getElementById("roundtrip").style.display="none";
									document.getElementById("oneway").style.display="";
									document.forms[0].txtdeptDateOway.value=document.forms[0].txtdeptDateRtrip.value;
									document.forms[0].txtretnDateOway.value=document.forms[0].txtretnDateRtrip.value;
									if(timechange==true){
									document.forms[0].seldeptTimeOway.value=document.forms[0].seldeptTimeRtrip.value;
									document.forms[0].selretnTimeOway.value=document.forms[0].selretnTimeRtrip.value;
									}
									else{
										timechange=false;
									}
									if(timechange==false && modifychange==true){
									document.forms[0].seldeptTimeRtrip.value=document.forms[0].seldeptTimeOway.value;
									document.forms[0].selretnTimeRtrip.value=document.forms[0].selretnTimeOway.value;
									}
									else{
									modifychange==false;
									}
									
							}else{
									document.getElementById("oneway").style.display="none";
									document.getElementById("roundtrip").style.display="";
									document.forms[0].txtdeptDateRtrip.value=document.forms[0].txtdeptDateOway.value;
									document.forms[0].txtretnDateRtrip.value=document.forms[0].txtretnDateOway.value;
									if(timechange==true){
									document.forms[0].seldeptTimeRtrip.value=document.forms[0].seldeptTimeOway.value;
									document.forms[0].selretnTimeRtrip.value=document.forms[0].selretnTimeOway.value;
									}
									else{
										timechange=false;
									}
									if(timechange==false && modifychange==true){
									document.forms[0].seldeptTimeOway.value=document.forms[0].seldeptTimeRtrip.value;
									document.forms[0].selretnTimeOway.value=document.forms[0].selretnTimeRtrip.value;
									}
									else{
									modifychange==false;
									}
							}
					  
					  }
				   }
				//returnDateField();
}

/* function that submit the form*/
var deptdate;
var retndate;
function homeSearchFormSubmit(){
	//alert("homeSearchFormSubmit() called");
	var levfrom = document.getElementById("selorigin").value
	//alert("levfrom  "+levfrom)
		if(levfrom == null || levfrom == "")
		{
			alert("Please select a leaving from city")
			document.getElementById("selorigin").focus();
			return;
		}
	var goingto = document.getElementById("seldestination").value
	//alert("goingto  "+goingto)
		if(goingto == null || goingto == "")
		{
			alert("Please select a going to city")
			document.getElementById("seldestination").focus();
			return;
		}
	for (var i=0; i < document.forms[0].radtripType.length; i++){
		if( document.forms[0].radtripType[i].checked){
			var rad_val = document.forms[0].radtripType[i].value;
			
			//alert("rad_val = "+rad_val);
			
			if(rad_val=="O"){
				deptdate=document.forms[0].txtdeptDateOway.value;
				retndate="";
			}else{
				//alert("else caled"+document.forms[0].txtdeptDateRtrip.value);
				//alert("else caled"+document.forms[0].txtretnDateRtrip.value);
				deptdate=document.forms[0].txtdeptDateRtrip.value;
				retndate=document.forms[0].txtretnDateRtrip.value;
			}
		}
	}
	//alert("for loop end");
	document.forms[0].depdate.value=deptdate;
	document.forms[0].retndate.value=retndate;
	//alert("deptdate = "+deptdate);
	//alert("retndate = "+retndate);
	
	var validat_returnvalue= true;
	validat_returnvalue = homeValidateOriginDestination();
	//alert(validat_returnvalue);
	//return false;
	if(validat_returnvalue){	
//		document.forms[0].action = "http://www.makemytrip.co.in/makemytrip/searchFlightProgress.do?mapTo=searchExactProgress&frompage=modify";
		document.forms[0].submit();
	}
}

/* function that checks all the validations of the home page*/

function homeValidateOriginDestination(){
var orginTypeObj=document.getElementById("selorigin")
var orginTypeIndex=orginTypeObj.selectedIndex;
var orginType=orginTypeObj[orginTypeIndex].text;

var destinationTypeObj=document.getElementById("seldestination")
var destinationTypeIndex=destinationTypeObj.selectedIndex;
var destinationType=destinationTypeObj[destinationTypeIndex].text;
var validate_date =true;
validate_date =homeValidDateRange(); 
var field1=document.getElementById("selnoOfChildren").value;
var field2=document.getElementById("selnoOfAdults").value;
var noOfBookings=(field1/1)+(field2/1);

var fromdate = deptdate;
fromdate = getDateObj(fromdate);
var currentDate=getDateObj_CurrentDate();
/*if((orginType=="---------------")){
		  alert(selectLeavingFromCity);
		  return false;
	  }
else if((destinationType=="---------------")){
		  alert(selectGoingTOCity);
		  return false;
	  }	  */
if((document.getElementById("selorigin").value=="0")){
		  alert(selectLeavingFromCity);
		  return false;
	  }
else if((document.getElementById("seldestination").value=="0")){
		  alert(selectGoingTOCity);
		  return false;
	  }
else if((document.getElementById("selorigin").value==document.getElementById("seldestination").value)){
	 	 alert(cityCheck);
	 return false;
}
else if(trip=="R"){
	var todate =getDateObj(retndate);
    if(dateFieldEmpty(deptdate)==false){
		  alert(departureCheck);
		return false;
	}
	  else if(ValidateForm(deptdate,"txtdeptDateRtrip")==false){
			return false;
	  }
	  else if(homeIsPreviousDate1(fromdate,"txtdeptDateRtrip")==false){
				alert(eventCheckDeparture);
				return false;   
	  }
	  else if(document.getElementById("txtdeptDateRtrip")!=null && (document.getElementById("txtdeptDateRtrip").value=="DD/MM/YYYY")){
				alert(departureCheck);
			return false;
			}
			else if(dateFieldEmpty(retndate)==false){
		  alert(returnCheck);
		return false;
		}
			else if(ValidateForm(retndate,"txtretnDateRtrip")==false){
			return false;
			}
			else if(homeIsPreviousDate1(todate,"txtretnDateRtrip")==false){
				alert(eventCheckReturn);
				return false;   
			}
			else if(document.getElementById("txtretnDateRtrip")!=null && (document.getElementById("txtretnDateRtrip").value=="DD/MM/YYYY")){
			alert(returnCheck);
			return false;
			}
			else if(daysBetween(getDateObj_CurrentDate(),document.getElementById("txtretnDateRtrip").value) > 331){
				alert(exactDaysRange);
				return false;
			}
			else if((document.getElementById("txtdeptDateRtrip").value)==(document.getElementById("txtretnDateRtrip").value)){
			   var deptTime=document.getElementById("seldeptTimeRtrip").value;
			   var retnTime=document.getElementById("selretnTimeRtrip").value;
			   if(((deptTime == "morning")||(deptTime == "day")||(deptTime == "evening")||(deptTime == "night"))&&(retnTime==                "morning")){
				alert(departureTimeCheck);
				return false;
				}
				else if(((deptTime == "night")||(deptTime == "day")||(deptTime == "evening"))&&(retnTime=="day")){
				alert(departureTimeCheck);
				return false;
				}
				else if(((deptTime == "night")||(deptTime == "evening"))&&(retnTime=="evening")){
				alert(departureTimeCheck);
				return false;
				}
				else if(((deptTime == "night"))&&(retnTime=="night")){
				alert(departureTimeCheck);
				 return false;
				 }
				 else if(homeIsPreviousDate1(todate,"txtretnDateRtrip")==false){
				alert(eventCheck);
				return false;   
				}
				else if(validate_date==false){
					alert(returnDateCheck);
				return false;
				}
			 else if( (document.getElementById("selnoOfInfants").value=="0")&&
					 (document.getElementById("selnoOfChildren").value=="0")&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			alert(travellerCheck);
				return false;
				}
			else if( (document.getElementById("selnoOfChildren").value=="0")&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			alert(infantCheck);
				return false;
				}
			else if(noOfBookings > 6){
			alert(bookingCheck);
			return false;
			}
			else if( document.getElementById("selnoOfAdults").value < document.getElementById("selnoOfInfants").value){
			alert(ticketCheck);
			return false;
			}
			else if(((document.getElementById("selnoOfChildren").value > 0)&& (document.getElementById("selnoOfInfants").value >0))&&((            document.getElementById("selnoOfAdults").value=="0"))){
			alert(infantAccompanyCheck);
				return false;
				}
				else{
				return true;
				}
			}
			 else if(validate_date==false){
					alert(returnDateCheck);
				return false;
				}
			else if( (document.getElementById("selnoOfInfants").value=="0")&&
					 (document.getElementById("selnoOfChildren").value=="0")&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			alert(travellerCheck);
			return false;
			}
			
			else if( (document.getElementById("selnoOfChildren").value=="0")&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			alert(infantCheck);
			return false;
			}
			else if(noOfBookings > 6){
			alert(bookingCheck);
			return false;
			}
			else if( document.getElementById("selnoOfAdults").value < document.getElementById("selnoOfInfants").value){
			alert(ticketCheck);
			return false;
			}
			else if( (document.getElementById("selnoOfChildren").value > 0)&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			alert(childAccompany);
			return false;
			}
			else if(((document.getElementById("selnoOfChildren").value > 0)&& (document.getElementById("selnoOfInfants").value >0))&&((document.getElementById("selnoOfAdults").value=="0"))){
			alert(infantAccompanyCheck);
			return false;
			}
			else{
				return true;
			}
}
else if(trip=="O"){
	if(dateFieldEmpty(deptdate)==false){
		  alert(departureCheck);
		return false;
		}
	else if(ValidateForm(deptdate,"txtdeptDateOway")==false){
			return false;
			}
		else if(homeIsPreviousDate1(fromdate,"txtdeptDateOway")==false){
				alert(eventCheckDeparture);
				return false;   
			}
		else if((document.getElementById("txtdeptDateOway")!=null)&&(document.getElementById("txtdeptDateOway").value=="DD/MM/YYYY")){
			alert(departureCheck);
			return false;
			}
			else if(daysBetween(getDateObj_CurrentDate(),document.getElementById("txtdeptDateOway").value) >331){
				alert(exactDaysRange);
				return false;
			}
			else if( (document.getElementById("selnoOfInfants").value=="0")&&
					 (document.getElementById("selnoOfChildren").value=="0")&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			alert(travellerCheck);
		   return false;
		   }
		   else if((document.getElementById("selnoOfChildren").value=="0")&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			  alert(infantCheck);
		   return false;
		   }
		   else if( (document.getElementById("selnoOfChildren").value > 0)&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			alert(childAccompany);
			return false;
			}
			else if(((document.getElementById("selnoOfChildren").value > 0)&& (document.getElementById("selnoOfInfants").value >0))&&((document.getElementById("selnoOfAdults").value=="0"))){
			 alert(infantAccompanyCheck);
			return false;
			}
		   else if(noOfBookings > 6){
			alert(bookingCheck);
			return false;
			}
			else if(document.getElementById("selnoOfAdults").value < document.getElementById("selnoOfInfants").value){
			alert(ticketCheck);
			return false;
			}
			else{
				return true;
			}
}
else if( (document.getElementById("selnoOfInfants").value=="0")&&
		(document.getElementById("selnoOfChildren").value=="0")&&
		(document.getElementById("selnoOfAdults").value=="0")){
		alert(travellerCheck);
		return false;
	  }
else if((document.getElementById("selnoOfChildren").value=="0")&&
		(document.getElementById("selnoOfAdults").value=="0")){
		 alert(infantCheck);
		return false;
	  }
else if( (document.getElementById("selnoOfChildren").value > 0)&&
					 (document.getElementById("selnoOfAdults").value=="0")){
			alert(childAccompany);
			return false;
			}	  
 else if(((document.getElementById("selnoOfChildren").value > 0)&& (document.getElementById("selnoOfInfants").value >0))&&((document.getElementById("selnoOfAdults").value=="0"))){
			alert(infantAccompanyCheck);
			return false;
			}
else if(noOfBookings > 6){
			 alert(bookingCheck);
			return false;
			}
else if(document.getElementById("selnoOfAdults").value < document.getElementById("selnoOfInfants").value){
			alert(ticketCheck);
			return false;
			}
else if((document.getElementById("txtretnDateRtrip").value) >(document.getElementById("txtdeptDateRtrip").value)){
	alert(returnDateCheck);
	return false;
}
}
/* function to check whether the date entered is within the range */
function homeValidDateRange(){
	var flag = true;
	var fromdate = deptdate;
	var todate = retndate;
	if(flag == true){
		flag = false;
		fromdate = getDateObj(fromdate);
		todate   = getDateObj(todate);		
		if(isPreviousDate(fromdate)){
			if(fromdate > todate.setHours(fromdate.getHours(),fromdate.getMinutes(),fromdate.getSeconds(),fromdate.getMilliseconds())){
				//alert(returnDateCheck);
				return flag;
			}else{
				flag = true;
				return flag;
			}
		}
	}	
	return flag;
}
/* function that check whether the date is previous or not*/
function homeIsPreviousDate1(inputdate,fname){	
	var today = new Date();	
	inputdate.setHours(today.getHours(),today.getMinutes(),today.getSeconds(),today.getMilliseconds())
	if(inputdate < today){	
	  document.getElementById(fname).value="DD/MM/YYYY";
	  document.getElementById(fname).focus();
	 	return false;
	}else{		
		return true;
	}
}
/* function that returns date object */
function getDateObj(input){
	var dayfield=input.split("/")[0]
	var monthfield=input.split("/")[1]
	var yearfield=input.split("/")[2]
	var dayobj = new Date(yearfield, monthfield-1, dayfield)
	return dayobj;
}

/* function to check whether date field  is empty is empty*/
function dateFieldEmpty(id){
	
	if((id.length==0)||(id=="DD/MM/YYYY")){
		return false;
	}
	else{
		return true;
	}
}

/*function to check whether the date is previous date to current date */
function isPreviousDate(inputdate){	
	var today = new Date();	
	inputdate.setHours(today.getHours(),today.getMinutes(),today.getSeconds(),today.getMilliseconds())
	if(inputdate < today){	
	 	return false;
	}else{		
		return true;
	}
}


function setCarrierVector(checkBoxType) {
  
  var carrierVector = Vector.getInstance();
  var groupLength = document.getElementsByName(checkBoxType).length ;
  for(var i=0;i<groupLength;i++) {
	 if(document.getElementsByName(checkBoxType)[i].checked == true) {
		 if(!carrierVector.contains(document.getElementsByName(checkBoxType)[i].value)) {
		   carrierVector.addElement(document.getElementsByName(checkBoxType)[i].value);
		 }
	 }      
   }
  return carrierVector;
}

//return String (DELIM separated album/picture ids)
//function getListAsString(vector)
//{
//	var id = null;
//	var delimiter = ","
//	for( var i=0; i<vector.size(); i++ )
//	{
//		if( id == null )
//		{
//			id = vector.elementAt(i);
//		}
//		else
//		{
//			id += delimiter + vector.elementAt(i);
//	}
//}
//	return id;
//}


/* */


var loadedobjects=""
var rootdomain="http://"+window.location.hostname










// JavaScript Document

var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to 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){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    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,fname){
//	var todaydate = new Date();	
//	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)
//	}
//	month=parseInt(strMonth)
//	day=parseInt(strDay)
//	year=parseInt(strYr)
//	if (pos1==-1 || pos2==-1){
//		alert("The date format should be : DD/MM/YYYY")
//		document.getElementById(fname).value="DD/MM/YYYY";
//		return false
//	}
//	if (strMonth.length<1 || month<1 || month>12){
//		 if(isNaN(month)){
//			 alert("The date format should be : DD/MM/YYYY");
//			 document.getElementById(fname).focus();
//		 }else{
//		alert("Please enter a valid month")
//		 document.getElementById(fname).focus();
//		 }
//		return false
//	}
//	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
//		alert("Please enter a valid day")
//		 document.getElementById(fname).focus();
//		return false
//	}
//	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
//		alert("Please enter a valid 4 digit year from "+todaydate.getYear())
//		 document.getElementById(fname).focus();
//		return false
//	}
//	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
//		alert("Please enter a valid date")
//		 document.getElementById(fname).focus();
//		return false
//	}
//return true
//}

//function ValidateForm(id,fname){
//	    
//		if (isDate(id,fname)==false){
//			document.getElementById(fname).focus();
//			document.getElementById(fname).value="DD/MM/YYYY";
//					return false
//	}
//    return true
// }


function getDateObj_CurrentDate(){
    var input= new Date();
	var dayfield=input.getDate();
    var monthfield=input.getMonth();
	var yearfield=input.getFullYear();
	var months = new Array("0","1","2","3","4","5","6","7","8","9","10","11");
		
	switch(monthfield){	
		case 0: monthfield = "01";	
			  break;			 
		case 1: monthfield = "02";
			  break;
		case 2: monthfield = "03";
			  break;
		case 3: monthfield = "04";
			  break;
		case 4: monthfield = "05";
			  break;
		case 5: monthfield = "06";
			  break;
		case 6: monthfield = "07";
			  break;
		case 7: monthfield = "08";
			  break;
		case 8: monthfield = "09";
			  break;
		case 9: monthfield = "10";
			  break;
		case 10: monthfield = "11";
			  break;
		case 11: monthfield = "12";
			  break;
	}	
	switch(dayfield){	
		case 1: dayfield = "01";	
			  break;			 
		case 2: dayfield = "02";
			  break;
		case 3: dayfield = "03";
			  break;
		case 4: dayfield = "04";
			  break;
		case 5: dayfield = "05";
			  break;
		case 6: dayfield = "06";
			  break;
		case 7: dayfield = "07";
			  break;
		case 8: dayfield = "08";
			  break;
		case 9: dayfield = "09";
			  break;

	}	
	var dayobj = dayfield+"/"+monthfield+"/"+yearfield;
    return dayobj;
}


/* function to calculate the number of days between two given dates */

function daysBetween(date1, date2){ 
//alert(date1);
   if (date1.indexOf("-") != -1) { date1 = date1.split("-"); } else if (date1.indexOf("/") != -1) { date1 = date1.split("/"); } else { return 0; } 
   if (date2.indexOf("-") != -1) { date2 = date2.split("-"); } else if (date2.indexOf("/") != -1) { date2 = date2.split("/"); } else { return 0; } 
   if (parseInt(date1[1], 10) >= 1000) { 
       var sDate = new Date(date1[1]+"/"+date1[0]+"/"+date1[2]); 
   } else if (parseInt(date1[2], 10) >= 1000) { 
       var sDate = new Date(date1[2]+"/"+date1[1]+"/"+date1[0]); 
   } else { 
       return 0; 
   } 
   if (parseInt(date2[1], 10) >= 1000) { 
       var eDate = new Date(date2[1]+"/"+date2[0]+"/"+date2[2]); 
   } else if (parseInt(date2[2], 10) >= 1000) { 
       var eDate = new Date(date2[2]+"/"+date2[1]+"/"+date2[0]); 
   } else { 
       return 0; 
   } 
   var one_day = 1000*60*60*24; 
   var daysApart = Math.abs(Math.ceil((sDate.getTime()-eDate.getTime())/one_day)); 
   return daysApart; 
} 



/*
var datefieldValue ;
function passDateValueToReturnTextField(textfield){
	 datefieldValue = document.getElementById(textfield).value;
	if(datefieldValue=="DD/MM/YYYY"){
		alert(datefieldValue);
		datefieldValue=getDateObj_CurrentDate();
	}
	else{
		alert(datefieldValue+"in else");
		datefieldValue=datefieldValue;
	}
}*/





Zapatec.Calendar.setup({
showOthers        : true,
step              : 1,
electric          : false,
inputField        : "txtdeptDateOway",
button            : "deptDateOwayimgExact",
ifFormat          : "%d/%m/%Y",
daFormat          : "%d/%m/%Y",
numberMonths      : 2,
displayArea		  : null,
flat 			  : null,
multiple		  : null,
numberMonths : 2,
monthsInRow : 1,
dateStatusFunc :    dateInRange1, //the function to call
onUpdate       :    filterDates1,
vertical : true
});



Zapatec.Calendar.setup({
showOthers        : true,
step              : 1,
electric          : false,
inputField        : "txtretnDateOway",
button            : "retnDateOwayimg",
ifFormat          : "%d/%m/%Y",
daFormat          : "%d/%m/%Y",
numberMonths      : 2,
displayArea		  : null,
flat 			  : null,
multiple		  : null,
numberMonths : 2,
monthsInRow : 1,
dateStatusFunc :    dateInRange2, //the function to call
onUpdate       :    filterDates2,
vertical : true
});




Zapatec.Calendar.setup({
showOthers        : true,
step              : 1,
electric          : false,
inputField        : "txtdeptDateRtrip",
button            : "deptDateRtripimgExact",
ifFormat          : "%d/%m/%Y",
daFormat          : "%d/%m/%Y",
numberMonths      : 2,
displayArea		  : null,
flat 			  : null,
multiple		  : null,
numberMonths : 2,
monthsInRow : 1,
dateStatusFunc :    dateInRange1, //the function to call
onUpdate       :    filterDates1,
vertical : true
});

var deptShowCalendar =new Date();
function  returnDateField(){
var input =document.getElementById("txtdeptDateRtrip").value;
var deptShowCalendar
if(input!="DD/MM/YYYY"){
var dayfield=input.split("/")[0]
var monthfield=input.split("/")[1]
var yearfield=input.split("/")[2]
//alert(yearfield+""+monthfield+""+dayfield);
deptShowCalendar=new Date(yearfield,monthfield-1,dayfield);
}


Zapatec.Calendar.setup({
showOthers        : true,
step              : 1,
electric          : false,
inputField        : "txtretnDateRtrip",
button            : "retnDateRtripimgExact",
ifFormat          : "%d/%m/%Y",
daFormat          : "%d/%m/%Y",
date               :deptShowCalendar,
numberMonths      : 2,
displayArea		  : null,
flat 			  : null,
multiple		  : null,
numberMonths : 2,
monthsInRow : 1,
dateStatusFunc :    dateInRange2, //the function to call
// onUpdate       :    filterDates2,
vertical : true
});
}




var startDate;
var endDate;
var callbacks = 0;



function compareDatesOnly(date1, date2) {
var year1 = date1.getYear();
var year2 = date2.getYear();
var month1 = date1.getMonth();
var month2 = date2.getMonth();
var day1 = date1.getDate();
var day2 = date2.getDate();

if (year1 > year2) {
return -1;
}
if (year2 > year1) {
return 1;
}

//years are equal
if (month1 > month2) {
return -1;
}
if (month2 > month1) {
return 1;
}

//years and months are equal
if (day1 > day2) {
return -1;
}
if (day2 > day1) {
return 1;
}

//days are equal
return 0;
}

function filterDates1(cal) {
startDate = cal.date;
if (endDate == null) { 
Zapatec.Calendar.setup({
inputField     :    "arrivalDate",
button         :    "button8b",  // What will trigger the popup of the calendar
ifFormat       :    "%Y-%m-%d ",
timeFormat     :    "24",
date           :     startDate,
electric       :     false,
showsTime      :     false,          //no time
disableFunc    :    dateInRange2, //the function to call
onUpdate       :    filterDates2
});
}
}



function filterDates2(cal) {
endDate = cal.date;
}


function dateInRange1(date) {
if (endDate != null) {
// Disable dates after end date
var compareEnd = compareDatesOnly(date, endDate);
if  (compareEnd < 0) {
return (true);
}
// Hilight end date with "edges" style
if  (compareEnd == 0) {
{return "edges";}
}


// Hilight inner dates with "between" style
if (startDate != null){
var compareStart = compareDatesOnly(date, startDate);
if  (compareStart < 0) {
return "between";
} 
} 
}

//disable days prior to today
var today = new Date();
var compareToday = compareDatesOnly(date, today);
if (compareToday > 0) {
return(true);
}


//all other days are enabled
return false;
//alert(ret + " " + today + ":" + date + ":" + compareToday + ":" + days1 + ":" + days2);
return(ret);
}



function dateInRange2(date) {
if (startDate != null) {
// Disable dates before start date
var compareDays = compareDatesOnly(startDate, date);
if  (compareDays < 0) {
return (true);
}

// Hilight end date with "edges" style
if  (compareDays == 0) {
{return "edges";}
}

// Hilight inner dates with "between" style
if ((endDate != null) && (date > startDate) && (date < endDate)) {
return "between";
} 
} 

var now = new Date();
if (compareDatesOnly(now, date) < 0) {
return (true);
}

//all other days are enabled
return false;
}

	
	
	
// below calendars are for hotels // added on 21-04-07	
	
	

var checkInShowCalendar =new Date()
//checkInShowCalendar =new Date(checkInShowCalendar.setDate(checkInShowCalendar.getDate( ) + 1))

//function hotelCheckInDate(){
Zapatec.Calendar.setup({
showOthers        : true,
step              : 1,
electric          : false,
inputField        : "txtChIn",
button            : "imgChIn",
ifFormat          : "%d/%m/%Y",
daFormat          : "%d/%m/%Y",
//date              :checkInShowCalendar,
numberMonths      : 2,
displayArea		  : null,
flat 			  : null,
multiple		  : null,
numberMonths : 2,
monthsInRow : 1,
dateStatusFunc :    dateInRange3, //the function to call
onUpdate       :    filterDates3,
vertical : true
});
//}

	
	
	
var depthtlShowCalendar =new Date();
returnDateField1();
function  returnDateField1(){
var input =document.getElementById("txtChIn").value;
var depthtlShowCalendar
if(input.toUpperCase()!="DD/MM/YYYY"){
var dayfield=input.split("/")[0]
var monthfield=input.split("/")[1]
var yearfield=input.split("/")[2]
depthtlShowCalendar=new Date(yearfield,monthfield-1,dayfield);
}else{
depthtlShowCalendar=new Date();		

}
Zapatec.Calendar.setup({
showOthers        : true,
step              : 1,
electric          : false,
inputField        : "txtChOut",
button            : "imgChOut",
ifFormat          : "%d/%m/%Y",
daFormat          : "%d/%m/%Y",
date              :depthtlShowCalendar,
numberMonths      : 2,
displayArea		  : null,
flat 			  : null,
multiple		  : null,
numberMonths : 2,
monthsInRow : 1,
dateStatusFunc :    dateInRange4, //the function to call
//onUpdate       :    filterDates2,
vertical : true
});								  
}


var controlDate=0;								
var htlstartDate;
var htlendDate;
var htlcallbacks = 0;


function filterDates3(cal) {
htlstartDate = cal.date;
htlstartDate.setDate(htlstartDate.getDate()+1)
if (htlendDate == null) { 
Zapatec.Calendar.setup({
inputField     :    "arrivalDate",
button         :    "button8b",  // What will trigger the popup of the calendar
ifFormat       :    "%Y-%m-%d ",
timeFormat     :    "24",
date           :     htlstartDate,
electric       :     false,
showsTime      :     false,          //no time
disableFunc    :    dateInRange4, //the function to call
onUpdate       :    filterDates4
});
}
}

function filterDates4(cal) {
htlendDate = cal.date;
htlendDate.setDate(htlendDate.getDate()-1)
}


function dateInRange3(date) {
if (htlendDate != null) {
// Disable dates after end date
var compareEnd = compareDatesOnly(date, htlendDate);
if  (compareEnd < 0) {
return (true);
}
// Hilight end date with "edges" style
if  (compareEnd == 0) {
{return "edges";}
}
// Hilight inner dates with "between" style
if (htlstartDate != null){
var compareStart = compareDatesOnly(date, htlstartDate);
if  (compareStart < 0) {
return "between";
} 
} 
}
//disable days prior to today
var today = new Date();
today.setDate(today.getDate()+controlDate)
var compareToday = compareDatesOnly(date, today);
if (compareToday > 0) {
return(true);
}
//all other days are enabled
return false;
//alert(ret + " " + today + ":" + date + ":" + compareToday + ":" + days1 + ":" + days2);
return(ret);
}



function dateInRange4(date) {
if (htlstartDate != null) {
// Disable dates before start date
var compareDays = compareDatesOnly(htlstartDate, date);
if  (compareDays < 0) {
return (true);
}
// Hilight end date with "edges" style
if  (compareDays == 0) {
{return "edges";}
}
// Hilight inner dates with "between" style
if ((htlendDate != null) && (date > htlstartDate) && (date < htlendDate)) {
return "between";
} 
} 

var now = new Date();
now.setDate(now.getDate()+controlDate)
if (compareDatesOnly(now, date) < 0) {
return (true);
}

//all other days are enabled
return false;
}	
