var serverDate=jQuery('#serverDate').get(0).title;
jQuery(document).ready(function(){
    jQuery("#rtsupplierSelAll").click(function(){
        jQuery('table[id="rtsupplierList"] input').each(function(){
        	jQuery(this).attr('checked', true);        
        });        
    });
    
    jQuery("#rtsupplierUnSelAll").click(function(){    	
        jQuery('table[id="rtsupplierList"] input').each(function(){
        	jQuery(this).attr('checked', false);        
        });        
    });
    
    var dates = jQuery('#departDateTime, #returnDateTime').datepicker({
		defaultDate: Date.parseExact(serverDate, 'd/M/yyyy'),
		dateFormat:'dd/mm/yy',
		minDate: Date.parseExact(serverDate, 'd/M/yyyy'),
		numberOfMonths: 2,
		buttonImage: '/images/calender.jpg',
        buttonImageOnly:true,
        buttonText: "Calendar",
        showOn: 'both',
		showOptions: {direction: 'down' },
		onSelect: function(selectedDate) {
			var option = this.id == "departDateTime" ? "minDate" : "";
			var instance = jQuery(this).data("datepicker");
			var date = jQuery.datepicker.parseDate(instance.settings.dateFormat || jQuery.datepicker._defaults.dateFormat, selectedDate, instance.settings);
			dates.not(this).datepicker("option", option, date);
		}
	});
	if(jQuery("#departDateTime").val()!="")         		
		jQuery("#returnDateTime").datepicker("option","minDate",jQuery("#departDateTime").val());	
});

function getDates() {
 date = document.getElementById('departDateTime').value;

 if (date == "") {
  objff.options.array = dates;
 } else {
  objff.options.array = get3MonthsDates(date);
 }
}

function tripoptions(str) {
	
	if (str == "+/- 3 days") {

		jQuery('#tddeparttime').get(0).style.visibility = 'hidden';
		jQuery('#tddeparttime').get(0).style.display = "none";
		jQuery('#rtDepartDate').get(0).style.visibility = 'visible';
		jQuery('#rtDepartDate').get(0).style.display = "block";

		jQuery('#tdreturntime').get(0).style.visibility = 'hidden';
		jQuery('#tdreturntime').get(0).style.display = "none";
		jQuery('#rtReturnDate').get(0).style.visibility = 'visible';
		jQuery('#rtReturnDate').get(0).style.display = "block";
		jQuery("#dayRange").val(true);
		
		}
	else if (str == "Exact Date") {

		jQuery('#tddeparttime').get(0).style.visibility = 'visible';
		jQuery('#tddeparttime').get(0).style.display = "block";
		jQuery('#rtDepartDate').get(0).style.visibility = 'hidden';
		jQuery('#rtDepartDate').get(0).style.display = "none";
		jQuery('#tdreturntime').get(0).style.visibility = 'visible';
		jQuery('#tdreturntime').get(0).style.display = "block";
		jQuery('#rtReturnDate').get(0).style.visibility = 'hidden';
		jQuery('#rtReturnDate').get(0).style.display = "none";
		jQuery("#dayRange").val(false);
	}
	
}

function rangeSearchModify(){
	
	jQuery('#tddeparttime').get(0).style.visibility = 'hidden';
	jQuery('#tddeparttime').get(0).style.display = "none";
	jQuery('#rtDepartDate').get(0).style.visibility = 'visible';
	jQuery('#rtDepartDate').get(0).style.display = "block";

	jQuery('#tdreturntime').get(0).style.visibility = 'hidden';
	jQuery('#tdreturntime').get(0).style.display = "none";
	jQuery('#rtReturnDate').get(0).style.visibility = 'visible';
	jQuery('#rtReturnDate').get(0).style.display = "block";
	jQuery('#rd3days').get(0).checked=true;//direct variable
	jQuery("#dayRange").val(true);//hidden variable
}

// function for validating form field
function checkall() {
	// should be in miliseconds OR best will be GUID
	if (jQuery('#jsToken')!=null){
		jQuery('#jsToken').val(new Date().getSeconds());
	}
	
	setOriginDestinationId();
	
	jQuery('#placeerror').get(0).style.display = "none";
	jQuery('#rangeSearchOptionErr').get(0).style.display = "none";
	jQuery('#selectorgdeserror').get(0).style.display = "none";
	document.getElementById('rtdestinationnull').style.display = "none";
	jQuery('#rtoriginnull').get(0).style.display = "none";
	jQuery('#PreferredAirlinesErr').get(0).style.display = "none";
		
	if(jQuery("#destinationerror1").css("display","inline")) {
		jQuery("#destinationerror1").css("display","none");
	}
	
	var origin = jQuery('#rtOrigin').val();
	var destination = jQuery('#rtDestination').val();
	if(!validateDestination(origin,destination,'rtDestination'))
		clear("rtDestination");
	destination = jQuery('#rtDestination').val();
	jQuery('#placeerror').get(0).style.display = "none";
	 if((origin == 'NA' && destination== 'NA') || (origin == '' && destination== '')) {
	 	   jQuery('#selectorgdeserror').get(0).style.display = "inline";
	 	   return false;
	 } else if ( origin == destination ) {
		jQuery('#placeerror').get(0).style.display = "inline";
		return false;
	}
	
    if(!travelType) {
    	if(fetchCityCode(origin)==''){
    		jQuery('#rtoriginnull').get(0).style.display = "inline";
        	return false;
    	} else if(fetchCityCode(destination)=='') {
        	document.getElementById('rtdestinationnull').style.display = "inline";
        	return false;
    	} 
    }
	 
    if(origin=='NA') {
    	 document.getElementById('rtoriginnull').style.display = "inline";
    	 return false;
    }
    
    if(destination=='NA') {
    	document.getElementById('rtdestinationnull').style.display = "inline";
    	return false;
    } else {
    	document.getElementById('rtdestinationnull').style.display = "none";
    }
	
	//For checking depart date relative to todays date and relative to each other  
	jQuery('#dateerror').get(0).style.display = "none";
	jQuery('#returndateerror').get(0).style.display = "none";
	
	var departDate = jQuery('#departDateTime').val();
	var returnDate = jQuery('#returnDateTime').val();
	
	if (departDate == '') {
		jQuery('#dateerror').get(0).style.display = "inline";
		return false;
	}
	if (returnDate == '') {
		jQuery('#returndateerror').get(0).style.display = "inline";
		return false;
	}
	
	var todaydate = Date.parseExact(serverDate,'d/M/yyyy');
	var departDateparse = Date.parseExact(departDate,'d/M/yyyy');
	var returnDateparse = Date.parseExact(returnDate,'d/M/yyyy');
	var compareresult = departDateparse.compareTo(returnDateparse);
	var compareresulttodaydate = todaydate.compareTo(departDateparse);

	if (compareresulttodaydate == 1) {
		jQuery('#dateerror').get(0).style.display = "inline";
		return false;
	}
	if (compareresult == 1) {
		jQuery('#returndateerror').get(0).style.display = "inline";
		return false;
	}
	
	jQuery('#passengererror').get(0).style.display = "none";
	jQuery('#infaintserror').get(0).style.display = "none";
	var adults = jQuery('#adult').val();
	var minors = jQuery('#minors').val();
	var infaintss = jQuery('#infaints').val();
	var adultsrt = Number(adults);
	var minorsrt = Number(minors);
	var infaintsrt = Number(infaintss);
	var total = adultsrt + minorsrt ;
	var count = 1;

	if (total == 0 || total > 9) {
		jQuery('#passengererror').get(0).style.display = "inline";
		count = 0;
	}	
	
	if (infaintsrt > adultsrt ) {
		jQuery('#infaintserror').get(0).style.display = "inline";
		count = 0;
	}
	
	if (count!=1) {
		return false;
	} 
	// Fix for +/- 2Days Date Range Issue
	
	if(document.getElementById('rd3days').checked){
		var depRange = document.getElementById('rtDepartDate').value;
		var retRange = document.getElementById('rtReturnDate').value;
		var splitDepRange = depRange.split("");
		var splitRetRange = retRange.split("");

		var departDateRange =Date.parseExact(departDate,'dd/MM/yyyy');
		var returnDateRange =Date.parseExact(returnDate,'dd/MM/yyyy');
		
		var splitDepRangeChar1=splitDepRange[0];
		var splitDepRangeChar2=splitDepRange[1];
		var splitRetRangeChar1=splitRetRange[0];
		var splitRetRangeChar2=splitRetRange[1];
		
		if(splitDepRangeChar1=='P')
			departDateRange.setDate(departDateparse.getDate()+new Number(splitDepRange[1]));
		else
			departDateRange.setDate(departDateparse.getDate()-new Number(splitDepRange[1]));
		
		if(splitRetRangeChar1=='P')
			returnDateRange.setDate(returnDateparse.getDate()+new Number(splitRetRange[1]));
		else
			returnDateRange.setDate(returnDateparse.getDate()-new Number(splitRetRange[1]));
		
		var currentDateCheck =todaydate.compareTo(departDateRange);
		var departRangeWithReturn = departDateRange.compareTo(returnDateparse);
		
		if(currentDateCheck == 1 || departRangeWithReturn == 1){
			document.getElementById('+/-2daysdeparterror').style.display = "inline";
			return false;
		}
		
		var departDateCheck = departDateparse.compareTo(returnDateRange);
		if(departDateCheck == 1){
			document.getElementById('+/-2daysreturnerror').style.display = "inline";
			return false;
		}
		
		var datediff = ((departDateparse-returnDateparse)/(24*60*60*1000));
		if(datediff==-1){
			if(splitDepRangeChar1=='P'&&splitDepRangeChar2=='1'&&splitRetRangeChar1=='M'&&splitRetRangeChar2=='1'){
				document.getElementById('rangeSearchOptionErr').style.display = "inline";
				return false;
			}
		}
	}
	
	//For checking depart date relative to todays date and relative to each other  

	if (compareresulttodaydate == 1) {
		document.getElementById('dateerror').style.display = "inline";
		return false;
	}
	if (compareresult == 1) {
		document.getElementById('returndateerror').style.display = "inline";
		return false;
	}
	
	var isAirline = false; 

	jQuery('select[id^="rtairline"]').each(function(value){
		if(jQuery("select#"+this.id+" option:selected").val()=="00"){
			var selectedAirline=jQuery("select#"+this.id+" option:selected").text();
			if(selectedAirline.search("Select Airline") < 0){
				isAirline = true;
				return false;
			}
		}
	});
	
	if(isAirline){
		document.getElementById('PreferredAirlinesErr').style.display = "inline";
		return false;
	}
	
	return true;
	
}

function roundNoRestrictionhideCheckBox(){
	if(jQuery("#ckbnorestriction2").get(0).checked){
				jQuery("#ckbdirectflights2").get(0).checked = false;
				jQuery("#ckbdirectflights2").get(0).disabled= true;
				jQuery("#ckbnorefund2").get(0).checked = false;
				jQuery("#ckbnorefund2").get(0).disabled= true;
				jQuery("#ckbnoticket2").get(0).checked = false;
				jQuery("#ckbnoticket2").get(0).disabled= true;
				
				}
				else{
					jQuery("#ckbdirectflights2").get(0).disabled= false;
					jQuery("#ckbnorefund2").get(0).disabled= false;
					jQuery("#ckbnoticket2").get(0).disabled= false;
				}	
	}

function changeChildAndInfant(adultid,childid,infantid){
	var adult= Number(jQuery("#"+adultid).val()),childoptions="",infantoptions="";
	
	var childnum=(9-adult);
	for(var i=0 ; i<=childnum;i++){
		childoptions += '<option value="'+i+'">'+i+'</option>';
	}
	
	for(var i=0 ; i<=adult;i++){	
	infantoptions += '<option value="'+i+'">'+i+'</option>';
	}
	
	jQuery("select#"+childid).html(childoptions);
	jQuery("select#"+infantid).html(infantoptions);	
	
}  
