var formDefaultValues = ['укажите город или а�?ропорт'];
function unsetDefaults() {
	OJ("input:text").each(function(){
		for( i=0; i<formDefaultValues.length; i++ ) {
			if(OJ(this).val() == formDefaultValues[i]) {
				OJ(this).val('');
			}
		}
	});
}

function setupPage(){
	OJ("#formFlights").validate({
		invalidHandler: function(){
//			setTimeout('OJ("#container").animate({height: OJ("#container div.scroll-block").eq(currentSectionNo).height()+"px"},400)', 5);
		},
		focusInvalid: false,
		focusCleanup: false,
		errorLabelContainer: OJ("#formError"),
		onfocusout: function() {}
	});


	OJ("#AirDepartTime").selectbox();
	OJ("#AirReturnTime").selectbox();
	OJ("#adultPassengers").selectbox();
	OJ("#childPassengers").selectbox();
	OJ("#infantPassengers").selectbox();
	
	OJ("#adultPassengers").change( function(){
		updateAirPassengers();
	});
	
	OJ("#childPassengers").change( function(){
		updateAirPassengers();
	});
	
	OJ("#infantPassengers").change( function(){
		updateAirPassengers();
	});
	
	updateAirPassengers();

	//OJ('#sortDropDown').selectbox();

	OJ("#seatClass").selectbox();
	//OJ('#Search-AirDirectOnly').selectbox();
	OJ("#airlinePref").selectbox();
	OJ("#airlineAlliance").selectbox();

	//OJ('#formFlightsAdditionalClass').selectbox();
	//OJ('#formFlightsAdditionalAirline').selectbox();
	//OJ('#formFlightsAdditionalAlliance').selectbox();
	//toggleOneWayFlightsByString(OJ("#flightType-Return").val());

		//calcNumNights(document.getElementById("departDateCO"), document.getElementById("returnDateCO"), document.getElementById("numNights"));
		var maxRooms = 3;
		var maxChildren = 8;

		OJ("#numRooms").selectbox();

		for(var roomIndex = 1; roomIndex <= maxRooms; roomIndex++)
		{
			OJ("#numAdultsRoom_" + roomIndex).selectbox();
			OJ("#numChildrenRoom_" + roomIndex).selectbox();

			for(var childIndex = 1; childIndex <= maxChildren; childIndex++)
			{
				OJ("#selectAgeChild_" + roomIndex + "_" + childIndex).selectbox();
			}
			
			OJ("#numAdultsRoom_" + roomIndex).change( function(){
				updateHotelPassengers();
			});
			
			OJ("#numChildrenRoom_" + roomIndex).change( function(){
				updateHotelPassengers();
			});
		}

		OJ("#locationType").selectbox();
		OJ("#propertyType").selectbox();

		/*OJ("#numAdultsRoom_2").selectbox();
		OJ("#numAdultsRoom_3").selectbox();
		OJ("#numChildrenRoom_2").selectbox();
		OJ("#numChildrenRoom_3").selectbox();*/
		updateHotelPassengers();
	

	OJ("#contact-box a").click(function(){
		//reset the contact display

		$text = OJ(OJ(this).attr("href"));

		OJ("#contact-box p").hide();
		OJ("#contact-box li, #contact-box p").removeClass("selected");

		//color the selected option link
		OJ(this).parent().addClass("selected");

		//show the selected contact text
		$text.show().addClass("selected");

		//move the pointer
		/*if (this.offsetParent) {
			var left = this.offsetLeft;
			$text.children(".corner").css("left",left+16)
		}*/

	})
	
}

function updateAirPassengers(){
	var totalPax = 9;
	
	var curAdult = OJ("#adultPassengers").val();
	var curChild =  OJ("#childPassengers").val();
	var curInf = OJ("#infantPassengers").val();
	
	var maxAdult = totalPax - curChild - curInf;
	var maxChild = totalPax - curAdult - curInf;
	var maxInf =  totalPax - curAdult - curChild;
	if(maxInf > curAdult){ 
		maxInf = Number(curAdult);
	}
	
	OJ("#adultPassengers_container li").show();
	OJ("#childPassengers_container li").show();
	OJ("#infantPassengers_container li").show();
	
	//adults
	for(var i=maxAdult+1; i <= totalPax; i++){
		OJ("#adultPassengers_input_"+i).hide();
	}
	
	//child
	for(var i=maxChild+1; i <= 8; i++){
		OJ("#childPassengers_input_"+i).hide();
	}
	
	//child
	for(var i=maxInf+1; i <= 8; i++){
		OJ("#infantPassengers_input_"+i).hide();
	}
}

function updateHotelPassengers(){
	var totalPax = 9;
	
	//get the number of pax in each room
	var curAdult1 = OJ("#numAdultsRoom_1").val();
	
	var curChild1 = OJ("#numChildrenRoom_1").val();
		
	var curAdult2 = OJ("#numAdultsRoom_2").val();
	var curChild2 = OJ("#numChildrenRoom_2").val();

	var curAdult3 = OJ("#numAdultsRoom_3").val();
	var curChild3 = OJ("#numChildrenRoom_3").val();
	
	//get number of rooms
	var numRooms = OJ("#numRooms").val();
	
	//if theres only 1 or 2 rooms then set the missing room totals to zero in case it was previously selected, populated and then deselected.
	if(numRooms < 2){
		curAdult2 = 0;
		curChild2 = 0;
	}
	if(numRooms < 3){
		curAdult3 = 0;
		curChild3 = 0;
	}
	
	//work out the max pax allowed in each drop down.
	var maxAdult1 = totalPax - curChild1;
	var maxChild1 = totalPax - curAdult1;
	var tempTotal;
	if(numRooms > 1){
		if(curAdult2 < 1){
			curAdult2 = 1;
			tempTotal = parseInt(curAdult1) + parseInt(curChild1) + parseInt(curAdult3) + parseInt(curChild3);
			if(tempTotal > 8){
				if(curAdult1 > 1) curAdult1 -= 1;
				else if(curAdult3 > 1) curAdult3 -= 1;
				else if(curChild1 > 1) curChild1 -= 1;
				else if(curChild3 > 1) curChild3 -= 1;
			}
		}
		
		maxAdult1 -= curAdult2;
		maxAdult1 -= curChild2;
		maxChild1 -= curAdult2;
		maxChild1 -= curChild2;
		}
	if(numRooms > 2){
		if(curAdult3 < 1){
			curAdult3 = 1;
			temptotal = parseInt(curAdult1) + parseInt(curChild1) + parseInt(curAdult2) + parseInt(curChild2);
			if(temptotal > 8){
				if(curAdult1 > 1) curAdult1 -= 1;
				else if(curAdult2 > 1) curAdult2 -= 1;
				else if(curChild1 > 1) curChild1 -= 1;
				else if(curChild2 > 1) curChild2 -= 1;
			}
		}
		maxAdult1 -= curAdult3;
		maxAdult1 -= curChild3;
		maxChild1 -= curAdult3;
		maxChild1 -= curChild3;
	}
		
	var maxAdult2 = totalPax - curAdult1 - curChild1 - curChild2;
	var maxChild2 = totalPax - curAdult1 - curChild1 - curAdult2;
	if(numRooms > 2){
		maxAdult2 -= curAdult3;
		maxAdult2 -= curChild3;
		maxChild2 -= curAdult3;
		maxChild2 -= curChild3;
	}
	
	var maxAdult3 = totalPax - curAdult1 - curChild1 - curAdult2 - curChild2 - curChild3;
	var maxChild3 = totalPax - curAdult1 - curChild1 - curAdult2 - curChild2 - curAdult3;
	
	//prevent offering a room were no passengers are selectable.
	if(numRooms >1){
		if(maxAdult2 < 1){
			if(curAdult1 > 1){
				maxAdult2 += 1;
				maxAdult1 -= 1;
				curAdult1 -= 1;
				curAdult2 = 1;
			} else if(curChild1 >1){
				maxAdult2 += 1; 
				maxChild1 -= 1;
				OJ("#room1AgeFieldChild" + curChild1).css("display", "none");
				curChild1 -= 1;
				curAdult2 = 1;
			}
		}
	}
	if(numRooms > 2){
		if(maxAdult3 < 1){
			if(curAdult1 > 1){
				maxAdult3 += 1;
				maxAdult1 -= 1;
				curAdult1 -= 1;
				curAdult3 = 1;
			} else if(curAdult2 > 1){
				maxAdult3 += 1;
				maxAdult2 -= 1;
				curAdult2 -= 1;
				curAdult3 = 1;
			} else if(curChild1 >1){
				maxAdult3 += 1; 
				maxChild1 -= 1;
				OJ("#room1AgeFieldChild" + curChild1).css("display", "none"); //remove last child age drop down as we are takng 
				curChild1 -= 1;
				curAdult3 = 1;
			} else if(curChild2 >1){
				maxAdult3 += 1; 
				maxChild2 -= 1;
				OJ("#room2AgeFieldChild" + curChild2).css("display", "none");
				curChild2 -= 1;
				curAdult3 = 1;
			}	
		}
	}
	
	//update the drop down lists for each room
	//room1
	OJ("#numAdultsRoom_1_container li").show();
	OJ("#numChildrenRoom_1_container li").show();
	
	//adults
	for(var i=maxAdult1+1; i <= totalPax; i++){
		OJ("#numAdultsRoom_1_input_"+i).hide();
	}
	
	//child
	for(var i=maxChild1+1; i <= 8; i++){
		OJ("#numChildrenRoom_1_input_"+i).hide();
	}

	//room2
	OJ("#numAdultsRoom_2_container li").show();
	OJ("#numChildrenRoom_2_container li").show();

	//adults
	for(var i=maxAdult2+1; i <= totalPax; i++){
		OJ("#numAdultsRoom_2_input_"+i).hide();
	}
	
	//child
	for(var i=maxChild2+1; i <= 8; i++){
		OJ("#numChildrenRoom_2_input_"+i).hide();
	}
	
	//room3
	OJ("#numAdultsRoom_3_container li").show();
	OJ("#numChildrenRoom_3_container li").show();
	
	//adults
	for(var i=maxAdult3+1; i <= totalPax; i++){
		OJ("#numAdultsRoom_3_input_"+i).hide();
	}
	
	//child
	for(var i=maxChild3+1; i <= 8; i++){
		OJ("#numChildrenRoom_3_input_"+i).hide();
	}
	
	//update the html with values
	OJ("#numAdultsRoom_1_input").val(curAdult1);
	OJ("#numAdultsRoom_1").val(curAdult1);
	OJ("#numChildrenRoom_1_input").val(curChild1);
	OJ("#numChildrenRoom_1").val(curChild1);
	
	OJ("#numAdultsRoom_2_input").val(curAdult2);
	OJ("#numChildrenRoom_2_input").val(curChild2);
	OJ("#numAdultsRoom_2").val(curAdult2);
	OJ("#numChildrenRoom_2").val(curChild2);
	
	OJ("#numAdultsRoom_3_input").val(curAdult3);
	OJ("#numChildrenRoom_3_input").val(curChild3);
	OJ("#numAdultsRoom_3").val(curAdult3);
	OJ("#numChildrenRoom_3").val(curChild3);
	
}


OJ(document).ready(function() {
	
	setupPage();

});



