var SUBMITBUTTON_FLIGHTONLY_SHOW = new Array('lbFlightOnly','divFlyHot');
var SUBMITBUTTON_FLIGHTONLY_HIDE = new Array('lbFlyHot','lbFlyHotCar','lbFlyCar');

var SUBMITBUTTON_FLYHOT_SHOW = new Array('lbFlyHot');
var SUBMITBUTTON_FLYHOT_HIDE = new Array('lbFlightOnly','lbFlyHotCar','lbFlyCar','divFlyHot','lbHotelForMaxRoom');

var SUBMITBUTTON_FLYHOTCAR_SHOW = new Array('lbFlyHotCar');
var SUBMITBUTTON_FLYHOTCAR_HIDE = new Array('lbFlyHot','lbFlightOnly','lbFlyCar','divFlyHot','lbHotelForMaxRoom' );

var SUBMITBUTTON_FLYCAR_SHOW = new Array('lbFlyCar');
var SUBMITBUTTON_FLYCAR_HIDE = new Array('lbFlyHotCar','lbFlyHot','lbFlightOnly','divFlyHot','lbHotelForMaxRoom');

var SUBMITBUTTON_HOTELONLY_SHOW = new Array('lbHotelOnly');
var SUBMITBUTTON_HOTELONLY_HIDE = new Array('lbHotFly','lbHotFlyCar','lbHotCar');

var SUBMITBUTTON_HOTFLY_SHOW = new Array('lbHotFly');
var SUBMITBUTTON_HOTFLY_HIDE = new Array('lbHotelOnly','lbHotFlyCar','lbHotCar','lbHotelForMaxRoom');

var SUBMITBUTTON_HOTFLYCAR_SHOW = new Array('lbHotFlyCar');
var SUBMITBUTTON_HOTFLYCAR_HIDE = new Array('lbHotFly','lbHotelOnly','lbHotCar','lbHotelForMaxRoom');

var SUBMITBUTTON_HOTCAR_SHOW = new Array('lbHotCar');
var SUBMITBUTTON_HOTCAR_HIDE = new Array('lbHotFly','lbHotFlyCar','lbHotelOnly','lbHotelForMaxRoom');

var BODY_HOTELONLY_SHOW = new Array('divRegionType','divRegionFields1','divDestination','divDateRange','divAdditionalOptions');
var BOBY_HOTELONLY_HIDE = new Array('divPackageExc1');

var BODY_PACKAGE1AND2_SHOW = new Array('divPackageExc1','lbTime2','lbReturning','lbTime1','divLeavingFrom','lbDepart');
var BOBY_PACKAGE1AND2_HIDE = new Array('divRegionType','divRegionFields1','divDateRange','divPackageDestination','lbStartDate','lbPickUp','lbEndDate','lbDropOff','divAdditionalOptions');

var BODY_HOTCAR_SHOW = new Array('divPackageExc1','divPackageDestination','lbStartDate','lbPickUp','lbEndDate','lbDropOff');
var BOBY_HOTCAR_HIDE = new Array('divRegionType','divRegionFields1','divDateRange','divLeavingFrom','lbDepart','lbTime1','lbReturning','lbTime2','divAdditionalOptions');

var SEARCHREGION_DESTINATION_SHOW = new Array('divDestination');
var SEARCHREGION_DESTINATION_HIDE = new Array('divAddress','divAirport','divAttraction');

var SEARCHREGION_AIRPORT_SHOW = new Array('divAirport');
var SEARCHREGION_AIRPORT_HIDE = new Array('divAddress','divDestination','divAttraction');

var SEARCHREGION_ATTRACTION_SHOW = new Array('divAttraction');
var SEARCHREGION_ATTRACTION_HIDE = new Array('divAddress','divDestination','divAirport');

var SEARCHREGION_ADDRESS_SHOW = new Array('divAddress');
var SEARCHREGION_ADDRESS_HIDE = new Array('divDestination','divAirport','divAttraction');

var HOTEL_MAX_ROOM_SHOW = new Array('lbHotelForMaxRoom');
var HOTEL_MAX_ROOM_HIDE = new Array('divAdultChild','divChildAgeDesc','divChildAge','lbHotelOnly','divChildArea');

var HOTEL_SEARCH_FILTER_SHOW = new Array('divHSFHeading','hwcChangeSearch','divHotelFilter');
var HOTEL_SEARCH_FILTER_HIDE = new Array('divChangeSearchBtn1','hwcChgSrchExpand');

var SELECT_ROUNDTRIP_SHOW = new Array('divRoundTripSL','divFlexControlSL','divAdditionalOptionsLink',  'divRoundTrip','divFlexTravle','divAdditionalOptions');
var SELECT_ROUNDTRIP_HIDE = new Array('divOneWaySL','divMultiSL','divFlexSL','divAdditionalOptionsSL',  'divOneWay','divMulDes3','divMulDes5','divFlightFlexControl');
var SELECT_ONEWAY_SHOW = new Array('divOneWaySL','divAdditionalOptionsSL',  'divOneWay','divAdditionalOptions');
var SELECT_ONEWAY_HIDE = new Array('divRoundTripSL','divMultiSL','divFlexSL','divFlexControlSL','divAdditionalOptionsLink',  'divRoundTrip','divMulDes3','divMulDes5','divFlexTravle','divFlightFlexControl');
var SELECT_MULTI_SHOW = new Array('divMultiSL','divAdditionalOptionsSL',  'divMulDes3','divAdditionalOptions');
var SELECT_MULTI_HIDE = new Array('divRoundTripSL','divOneWaySL','divFlexSL','divFlexControlSL','divAdditionalOptionsLink',  'divRoundTrip','divOneWay','divMulDes5','divFlexTravle','divFlightFlexControl');
var arrT1 = new Array('362|Any','1|12 AM','60|1 AM','120|2 AM','180|3 AM','240|4 AM','300|5 AM','360|6 AM','420|7 AM','480|8 AM','540|9 AM','600|10 AM','660|11 AM','720|12 PM','780|1 PM','840|2 PM','900|3 PM','960|4 PM','1020|5 PM','1080|6 PM','1140|7 PM','1200|8 PM','1260|9 PM','1320|10 PM','1380|11 PM','361|Morn.','721|Noon','1081|Eve.');

var SELECT_FLEX_SHOW = new Array('divFlexSL',  'divFlightFlexControl','divFlexTravle');
var SELECT_FLEX_HIDE = new Array('divRoundTripSL','divAdditionalOptionsLink','divAdditionalOptionsSL',  'divRoundTrip','divAdditionalFL');
var SELECT_SPEC_SHOW = new Array('divRoundTripSL','divAdditionalOptionsLink',  'divRoundTrip','divAdditionalFL');
var SELECT_SPEC_HIDE = new Array('divFlexSL','divAdditionalOptionsSL',  'divFlightFlexControl','divMulDes5');


var stringBuffer = new StringBuffer();
var stringBuffer1 = new StringBuffer();
//***************************
var childArr =new Array();
var adultArr =new Array();
var seniorArr = new Array();
var childAgeArr = new Array();
var ages=new Array();
var back=false;
//***************************
var msgRooms='Rooms';
var msgRoom='Room';
var msgAdults='Adults';
var msgSeniors='Seniors';
var msgChilds='Children';
var msgChild='Children';
var msgAges='Ages';

RoomInputObject = Class.create();
RoomInputObject.prototype = 
{
	initialize: function(id)
	{
		this.id = id;
	},
	setSelectName: function (roomSelectName,adultSelectName,childSelectName,childAgeSelectName) 
	{
		this.roomSelectName = roomSelectName;
		this.adultSelectName  = adultSelectName;		
		this.childSelectName = childSelectName;
		this.childAgeSelectName = childAgeSelectName;
	},
	setSeniorSelectName:function (seniorSelectName)
	{
		this.seniorSelectName = seniorSelectName;
	},
	setRoomCount:function (minRoomCount,maxRoomCount)
	{
		this.minRoomCount = minRoomCount;
		this.maxRoomCount = maxRoomCount;
	},
	getMinRoomCount: function ()
	{
		return this.minRoomCount;
	},
	getMaxRoomCount: function ()
	{
		return this.maxRoomCount;
	},
	setAdultCount:function(minAdultCount,maxAdultCount)
	{
		this.minAdultCount = minAdultCount;
		this.maxAdultCount = maxAdultCount;
	},
	getMinAdultCount: function ()
	{
		return this.minAdultCount;
	},
	getMaxAdultCount: function ()
	{
		return this.maxAdultCount;
	},
	setSeniorCount: function (minSeniorCount,maxSeniorCount)
	{
		this.minSeniorCount = minSeniorCount;
		this.maxSeniorCount = maxSeniorCount;
	},
	getMinSeniorCount: function ()
	{
		return this.minSeniorCount;
	},
	getMaxSeniorCount: function ()
	{
		return this.maxSeniorCount;
	},
	setChildCount: function (minChildCount,maxChildCount)
	{
		this.minChildCount = minChildCount;
		this.maxChildCount = maxChildCount;
	},
	getMinChildCount: function ()
	{
		return this.minChildCount;
	},
	getMaxChildCount: function ()
	{
		return this.maxChildCount;
	},
	setChildAgeCount: function (minChildAgeCount,maxChildAgeCount)
	{
		this.minChildAgeCount = minChildAgeCount;
		this.maxChildAgeCount = maxChildAgeCount;
	},
	getMinChildAgeCount: function ()
	{
		return this.minChildAgeCount;
	},
	getMaxChildAgeCount: function ()
	{
		return this.maxChildAgeCount;
	},
	getRoomSelectName: function ()
	{
		return this.roomSelectName;
	},
	getAdultSelectName: function ()
	{
		return this.adultSelectName;
	},
	getSeniorSelectName: function ()
	{
		return this.seniorSelectName;
	},
	getChildSelectName: function ()
	{
		return this.childSelectName;
	},
	getChildAgeSelectName : function ()
	{
		return this.childAgeSelectName ;
	},
	setInfantsRadioName : function (infantsRadioName)
	{
		this.infantsRadioName = infantsRadioName;
	},
	getInfantsRadioName : function ()
	{
		return this.infantsRadioName ;
	},
	setProcessType:function(processType)
	{
		this.processType = processType;
	},
	getProcessType:function()
	{
		return this.processType;
	}
};
var currentRoom = 1;
var hotel_roomInput = new RoomInputObject('divHotelRoomInput');
var package_roomInput = new RoomInputObject('divPackageRoomInput');

hotel_roomInput.setRoomCount(1,9);
hotel_roomInput.setAdultCount(0,8);
hotel_roomInput.setChildCount(0,8);
hotel_roomInput.setChildAgeCount(0,16);
hotel_roomInput.setSelectName('inpRoom','inpAdult','inpChildren','inpChildAge');
hotel_roomInput.setProcessType('');

package_roomInput.setRoomCount(1,9);
package_roomInput.setAdultCount(0,8);
package_roomInput.setChildCount(0,8);
package_roomInput.setChildAgeCount(0,16);
package_roomInput.setSelectName('inpRoom','inpAdult','inpChildren','inpChildAge');
package_roomInput.setSeniorSelectName('inpSenior');

function enter(e,action)
{
	if(isSubmitEvent(e))
	{
		document.forms[0].action.value = action;
		document.forms[0].submit();
	}
}

function isSubmitEvent(e)
{
	var k;
	if(e.keyCode)
	{
		k = e.keyCode;
	}
	if(e.which)
	{
		k = e.which;
	}
	if(k == '13' || k=='3')
	{
		e.cancelBubble = true;
		return true;
	}
	return false;
}

function submitAction(action,formId)
{
	$(formId).action.value = action;
	$(formId).submit();
}

function showAndHide(showList,hideList)
{	
	var showLength = showList.length;
	var hideLength = hideList.length;
	
	if(showLength == 'undefined')
	{
		showLength = 1;		
	}
	if(hideLength == 'undefined')
	{
		hideLength = 1;		
	}
	for(var i = 0; i < showLength;i++)
	{
		if($(showList[i]))
		{
			$(showList[i]).show();
		}
	}
	for(var i = 0; i < hideLength;i++)
	{
		if($(hideList[i]))
		{
			$(hideList[i]).hide();
		}
	}
}

function onChangeRegionType(i)
{
	if(i == 'CITY')
	{
		showAndHide(SEARCHREGION_DESTINATION_SHOW,SEARCHREGION_DESTINATION_HIDE);
	}
	else if(i == 'AIRPORT')
	{
		showAndHide(SEARCHREGION_AIRPORT_SHOW,SEARCHREGION_AIRPORT_HIDE);
	}
	else if(i == 'ATTRACTION')
	{
		showAndHide(SEARCHREGION_ATTRACTION_SHOW,SEARCHREGION_ATTRACTION_HIDE);
	}
	else if(i == 'ADDRESS')
	{
		showAndHide(SEARCHREGION_ADDRESS_SHOW,SEARCHREGION_ADDRESS_HIDE);
	}
}
function onChangeRoom()
{
	if(!back)
	{
		loadRoomData();
	}
	var tempCurrentRoom = currentRoom;
	if($('default')&&$('default').value!='0'&&currentRoom>1)
	{
		$('inpRoom').value = currentRoom;
	}
  if($('default'))
  {
    $('default').value=0;
  }
	currentRoom = $('inpRoom').value;

	if(currentRoom > hotel_roomInput.getMaxRoomCount()|| tempCurrentRoom > hotel_roomInput.getMaxRoomCount())
	{
		resetAdult1AndChid1();
		if((currentRoom <= hotel_roomInput.getMaxRoomCount() && $('inpAdult1').value > hotel_roomInput.getMaxAdultCount())||$('inpAdult1').value>$('inpRoom').value)
		{
			$('inpAdult1').value = 2;
		}
	}
	changeRoom(false);
	back=false;
}

function loadRoomData()
{
	var i,j=0;
	for(var roomNum=1;roomNum<=currentRoom;roomNum++)
	{
		if($('inpSenior'+roomNum))
		{
		  seniorArr[i]=parseInt($('inpSenior'+roomNum).value);
		  i++;
		}
		if($('inpAdult'+roomNum))
		{
			adultArr[j]=parseInt($('inpAdult'+roomNum).value);
			childArr[j]=parseInt($('inpChildren'+roomNum).value);
			childAgeArr[j]=getChildAgeWithRoomNum(j+1,childArr[j]);
			j++;
		}
	}
}

function getChildAgeWithRoomNum(roomNum,childs)
{
	var index=0;
	var ageArr=new Array();
	if(childAgeArr[roomNum-1])
	{
		ageArr=childAgeArr[roomNum-1].split('|');
	}

	if(!ageArr)
	{
		ageArr=new Array();
	}
	for(var i=1;i<=childs;i++)
	{
		if($('inpChildAge'+roomNum+'_'+i))
		{
			ageArr[index]=$('inpChildAge'+roomNum+'_'+i).value;
			index++;
		}
	}
	var ageStr=ageArr.join('|');
	return ageStr;
}

function loadAgesByRoomNum(roomNum)
{
	if(!childAgeArr[roomNum-1])
	{
		return;
	}
	var arr=childAgeArr[roomNum-1].split('|');
	for(var i=0;i<arr.length;i++)
	{
			ages[i]=arr[i];
	}
}

function changeRoom(isMaxRoomSelected)
{
	var tempCurrentRoom = currentRoom;
	var sbValue = '';	
	var isSeniorExist = false;
	var isHotelOnly = true;
	var packageType = 'HOTEL_ONLY';
	var period = hotel_roomInput.getProcessType();
	if($('packageType') != null)
	{
		packageType = $('packageType').value;
	}
	if(packageType != 'HOTEL_ONLY')
	{
		if (packageType != 'HOTEL_CAR') {isSeniorExist = true;}
		isHotelOnly = false;
	}
	var maxRoom = package_roomInput.getMaxRoomCount();
	if(isHotelOnly == true)
	{
		maxRoom = hotel_roomInput.getMaxRoomCount();
	}
	if(isMaxRoomSelected)
	{
		currentRoom = maxRoom;
	}
	stringBuffer.reset();
	if(currentRoom == 1&&!isHotelOnly)
	{
		$('divRoom1Desc').update('');

		$('divAdultChild').update('');
		$('divAdultChild').hide();
		onChangeChildren();
	}
	else if(isHotelOnly == true && currentRoom > maxRoom)
	{
		$('divRoom1Desc').update('');
		$('divAdultChild').update('');
		$('divChildAge').update('');
		showAndHide(HOTEL_MAX_ROOM_SHOW,HOTEL_MAX_ROOM_HIDE);
	}
	else
	{
		if(isHotelOnly)
		{
			if($('lbHotelOnly') != null)
			{
				$('lbHotelOnly').show();
			}
			if($('lbHotelForMaxRoom') != null)
			{
				$('lbHotelForMaxRoom').hide();
			}
		}
		if ($('divRoom1Desc') != null)
		{
			if(currentRoom>1)
			{
				if($('home'))
					$('divRoom1Desc').update('&nbsp;<br>&nbsp;<br class="clearer">'+msgRoom+' 1');
				else
					$('divRoom1Desc').update('&nbsp;<br class="clearer">'+msgRoom+' 1');
			}
			else
			{
				$('divRoom1Desc').update('');
			}
		}
		for (var j = 2; j < (parseInt(currentRoom) + 1); j++)
		{
			var divSeniorName = 'divSenior' + j;
			stringBuffer.concat('<div class="bl1">');
			if (period != 'HOTEL_CS')
			{
				stringBuffer.concat('<div class="flrasc1">&nbsp;</div>');
			}
			stringBuffer.concat('<div class="flrasc2">');
			if (period == 'HOTEL_DA' || period =='HOTEL_SENCOND' || period == 'HOTEL_CT')
			{
				stringBuffer.concat('&nbsp;<br class="clearer">');
			}
			else if (period == 'HOTEL_CS')
			{
				stringBuffer.concat('<label class="cursorStyle">');
			}
			stringBuffer.concat(msgRoom + ' ' + j);
			if (period == 'HOTEL_CS')
			{
				stringBuffer.concat(':</label></div>');
			}
			else
			{
				stringBuffer.concat('</div>');
			}
			stringBuffer.concat('<div class="flrasc1">');
			if (period == 'HOTEL_DA' || period =='HOTEL_SENCOND' || period == 'HOTEL_CT')
			{
				stringBuffer.concat('<label class="cursorStyle">'+msgAdults+':</label><br class="clearer">');
			}
			else if (period == 'HOTEL_CS')
			{
				stringBuffer.concat('<label class="cursorStyle">'+msgAdults+':</label></div>');
				stringBuffer.concat('<div class="flca2">');
			}
			stringBuffer.concat(getAdultHtml(j,isHotelOnly));
			stringBuffer.concat('</div>');

			stringBuffer.concat('<div class="flrasc1" id="' + divSeniorName + '"');			
			if (!isSeniorExist)
			{
				stringBuffer.concat(' style="display:none;"');
			}
			stringBuffer.concat('>' + getSeniorHtml(j) + '</div>');
			stringBuffer.concat('<div class="flrasc3">');
			if (period == 'HOTEL_DA' || period =='HOTEL_SENCOND' || period == 'HOTEL_CT')
			{
				stringBuffer.concat('<label class="cursorStyle">'+msgChilds+':</label><br class="clearer">');
			}
			else if(period == 'HOTEL_CS')
			{
				stringBuffer.concat('<label class="cursorStyle">'+msgChilds+':</label></div>');
				stringBuffer.concat('<div class="flca2">');
			}
			stringBuffer.concat(getChildHtml(j,isHotelOnly))
			stringBuffer.concat('</div>');
			stringBuffer.concat('</div>');
			stringBuffer.concat('<br class="clearer" />');
		}
		stringBuffer.concat('<br class="clearer" />');
		sbValue = stringBuffer.getValue();
		var ddAdultChild = $('divAdultChild');
		if (ddAdultChild != null)
		{
			if (sbValue != '')
			{
				ddAdultChild.show();
				ddAdultChild.update(sbValue);
			}
			else
			{
				ddAdultChild.hide();
			}
		}
		onChangeChildren();
		if (period != 'HOTEL_CS')
		{
			for (var j = 2; j < (parseInt(currentRoom) + 1); j++)
			{
				$('inpChildren'+j).observe('change', function(){
					onPreChangeChildren();
				});
			}
		}
	}
	currentRoom = tempCurrentRoom;
}

function onPreChangeChildren()
{
	loadRoomData();
	onChangeChildren();
}
function onChangeChildren()
{
	var currentChildren = 0;
	var childAgeExist = false;
	var ddC;
	var isHotelOnly = false;
	var maxRoom = package_roomInput.getMaxRoomCount();
	if($('packageType') == null || $('packageType').value == 'HOTEL_ONLY')
	{
		isHotelOnly = true;
		maxRoom = hotel_roomInput.getMaxRoomCount();
	}
	
	if (currentRoom > maxRoom && isHotelOnly)
	{
		return;
	}

	stringBuffer.reset();
	var tempRoomCount = currentRoom;
	if(!isHotelOnly && currentRoom > package_roomInput.getMaxRoomCount() )
	{
		tempRoomCount = package_roomInput.getMaxRoomCount(); 
	}
	var processType = hotel_roomInput.getProcessType();
	if(processType == 'HOTEL_DA' || processType == 'HOTEL_SENCOND' || processType == 'HOTEL_CT')
	{
		// stringBuffer.concat('&nbsp;<br class="clearer">');
	}
	for (var j = 1; j < (parseInt(tempRoomCount) + 1); j++)
	{
		ddC = $('inpChildren' + j);
		if (ddC != null)
		{
			currentChildren = parseInt(ddC.options[ddC.selectedIndex].value);
			if (currentChildren > 0)
			{
				if(childAgeExist == false)
				{
					childAgeExist = true;
				}
				stringBuffer.concat('<div class="bl1">');
				stringBuffer.concat('<div class="flca">');
				if (processType == 'HOTEL_CS')
				{
					stringBuffer.concat(msgAges+':');
				}
				else
				{
					stringBuffer.concat('&nbsp;<br class="clearer" />'+msgRoom+' '+j);
				}
				stringBuffer.concat('</div>');
				stringBuffer.concat('<div class="flca2">');
				for (var i = 1; i < (currentChildren + 1); i++)
				{
					stringBuffer.concat('<div class="flca1" id="divAge">');
					if (processType != 'HOTEL_CS')
					{
						stringBuffer.concat(msgChild+' '+i+':'); 
						stringBuffer.concat('<br class="clearer" />');
					}
					stringBuffer.concat(getChildAgeHtml(j,i,isHotelOnly));
					if (processType == 'HOTEL_CS')
					{
						stringBuffer.concat('<br class="clearer" />');
						stringBuffer.concat('<span class="small">'+msgChild+' '+i+'</span>');
					}
					stringBuffer.concat('</div>');
				}
				stringBuffer.concat('</div>');
				if (processType == 'HOTEL_CS')
				{
					stringBuffer.concat('</div>');
					stringBuffer.concat('<div class="clearer"></div>');
				}
				else
				{
					stringBuffer.concat('<div class="clearer"></div>');
					stringBuffer.concat('</div>');
				}
				//stringBuffer.concat('<div class="clearer"></div>');
			}
			else if (processType == 'HOTEL_CS' && j < parseInt(tempRoomCount))
			{
				stringBuffer.concat('<div class="bl1">&nbsp;</div>');
				stringBuffer.concat('<div class="clearer"></div>');
			}
		}
	}
	if(childAgeExist == false)
	{
		$('divChildArea').hide();
		return;
	}
	//fuzf
	$('divChildArea').show();
	//stringBuffer.concat('<div class="clearer"></div>');
	if ($('divChildAge') != null)
	{
		$('divChildAge').show();
		$('divChildAge').update(stringBuffer.getValue());
		onChangeChildAge();
	}
	var childAgeId;
	for (var i = 1; i < (parseInt(tempRoomCount) + 1); i++)
	{
		var maxChild = $('inpChildren'+i).value;
		for (var j = 1; j < (parseInt(maxChild) + 1); j++)
		{
			childAgeId = $('inpChildAge'+i + '_' + j);
			if (childAgeId != null)
			{
				childAgeId.observe('change', function(){
					onChangeChildAge();
				});
			}
		}
	}	
}

function onChangeChildAge()
{
	loadRoomData();
	if($('divInfants') == null)
	{
		return;
	}
	var packageType = 'HOTEL_ONLY';
	if($('packageType')!= null)
	{
		packageType = $('packageType').value;
	}
	
	var isInfants = false;

	if(packageType == 'HOTEL_ONLY' || packageType == 'HOTEL_CAR')
	{
		$('divInfants').hide();
		return;
	}
	
	var currentAge = -1;
	for (var i = 1; i < (parseInt(package_roomInput.getMaxRoomCount()) + 1); i++)
	{
		for (var j = 1; j < (parseInt(package_roomInput.getMinRoomCount()) + 1); j++)
		{
			dd = $('inpChildAge'+i + '_' + j);
			if (dd != null)
			{
				currentAge = dd.options[dd.selectedIndex].value;
				if ((currentAge == i+'_0') || (currentAge == i+'_1'))
				{
					isInfants = true;
					break;
				}
			}
		}
		if (isInfants)
		{
			break;
		}
	}
	dd = $('divInfants');
	if (dd != null)
	{
		if (isInfants)
		{
			dd.show();
		}
		else
		{
			dd.hide();
		}
	}
}

function resetRoomSelect(isHotelOnly,isMaxRoomSelected)
{
	$('divRoomOne').update(getRoomOneHtml(isHotelOnly));
	
	changeRoom(isMaxRoomSelected);

	if(isHotelOnly)
	{
		$('inpRoom').value = currentRoom;
	}
	else if(isMaxRoomSelected)
	{
		$('inpRoom').value = package_roomInput.getMaxRoomCount()
	}
	
	$('inpRoom').observe('change', function(){
			onChangeRoom();
	});
	$('inpChildren1').observe('change', function(){
			onPreChangeChildren();
	});
}

function getRoomOneHtml(isHotelOnly)
{	
	var minRoom = package_roomInput.getMinRoomCount();
	var maxRoom = package_roomInput.getMaxRoomCount();
	if(isHotelOnly == true)
	{
		minRoom = hotel_roomInput.getMinRoomCount();
		maxRoom = hotel_roomInput.getMaxRoomCount();
	}

	stringBuffer.reset();
	
	stringBuffer.concat('<div class="flrasc1">');
	stringBuffer.concat('&nbsp;<br class="clearer"><label class="cursorStyle">'+msgRooms+':</label>');
	stringBuffer.concat('&nbsp;<br class="clearer">'+getRoomHtml(isHotelOnly));
	stringBuffer.concat('</div>');
	
	stringBuffer.concat('<div class="flrasc2" id="divRoom1Desc">');
	if(currentRoom > 1)
	{
		stringBuffer.concat('&nbsp;<br class="clearer">&nbsp;<br class="clearer">'+msgRoom+' 1'); 
	}
	else
	{
		stringBuffer.concat('&nbsp;'); 
	}
	stringBuffer.concat('</div>');	

	stringBuffer.concat('<div class="flrasc1" id="divAdult1">');
	stringBuffer.concat('<label class="cursorStyle">'+msgAdults+'<br class="clearer">');
	if(isHotelOnly || $('packageType').value == 'HOTEL_CAR')
	{
		stringBuffer.concat('(19+):');
	}
	else
	{
		stringBuffer.concat('(19-64):');
	}	
	
	stringBuffer.concat('</label>&nbsp;<br class="clearer">' + getAdultHtml(1,isHotelOnly));
	stringBuffer.concat('</div>');
	
	stringBuffer.concat('<div class="flrasc1" id="divSenior1">');
	stringBuffer.concat('<label class="cursorStyle">'+msgSeniors+'<br class="clearer">(65+):</label>')
	stringBuffer.concat('&nbsp;<br class="clearer">' + getSeniorHtml(1));
	stringBuffer.concat('</div>');
	
	stringBuffer.concat('<div class="flrasc3" id="divChildren1">');
	stringBuffer.concat('<label class="cursorStyle">'+msgChilds+'<br class="clearer">(0-18):</label>');
	stringBuffer.concat('&nbsp;<br class="clearer">' + getChildHtml(1,isHotelOnly));
	stringBuffer.concat('</div>');

	return stringBuffer.getValue();
}

function getRoomHtml(isHotelOnly)
{
	var currentRoom = 1;
	var ddName = 'inpRoom';

	var minRoom = package_roomInput.getMinRoomCount();
	var maxRoom = package_roomInput.getMaxRoomCount();
	var roomSelectName = package_roomInput.getRoomSelectName();
	if(isHotelOnly == true)
	{
		minRoom = hotel_roomInput.getMinRoomCount();
		maxRoom = hotel_roomInput.getMaxRoomCount() + 1;
		roomSelectName = hotel_roomInput.getRoomSelectName();
	}
	if (currentRoom > maxRoom)
	{
		currentRoom = 1;
	}
	if($(ddName) != null)
	{
		currentRoom = $(ddName).value;
	}

	var t = '<select id="' + ddName + '" name="' + roomSelectName + '">';
	for (var i = minRoom; i <= (parseInt(maxRoom)); i++) 
	{
		if (i == currentRoom)
		{
			t = t + '<option value=' + i + ' selected>' + i + '</option>';
		}
		else if(i == maxRoom && isHotelOnly)
		{
			t = t + '<option value=' + i + ' >' + i +'+'+'</option>';
		}
		else
		{
			t = t + '<option value=' + i + '>' + i + '</option>';
		}
	}
	t = t + '</select>';
	return t;
}

function resetAdult1AndChid1()
{
	stringBuffer.reset();
	stringBuffer.concat('<label class="cursorStyle">'+msgAdults+'<br class="clearer">');
	stringBuffer.concat('(19+):');
	stringBuffer.concat('</label>&nbsp;<br class="clearer">' + getAdultHtml(1,true));
	$('divAdult1').update(stringBuffer.getValue());
	
	stringBuffer.reset();
	stringBuffer.concat('<label class="cursorStyle">'+msgChilds+'<br class="clearer">(0-18):</label>');
	stringBuffer.concat('&nbsp;<br class="clearer">' + getChildHtml(1,true));
	$('divChildren1').update(stringBuffer.getValue());
	$('inpChildren1').observe('change', function(){
		onPreChangeChildren();
	});
}

function getAdultHtml(r,isHotelOnly)
{
	var currentAdult = 2;
	var ddName = 'inpAdult' + r;

	var minAdult = package_roomInput.getMinAdultCount();
	var maxAdult = package_roomInput.getMaxAdultCount();
	var adultSelectName = package_roomInput.getAdultSelectName();
	if(isHotelOnly == true)
	{
		if(currentRoom > hotel_roomInput.getMaxRoomCount())
		{
			minAdult = 9;
			maxAdult = 99;
		}
		else
		{
			minAdult = hotel_roomInput.getMinAdultCount();
			maxAdult = hotel_roomInput.getMaxAdultCount();
		}
		adultSelectName = hotel_roomInput.getAdultSelectName();
	}
	else if($('packageType') != null && $('packageType').value != 'HOTEL_CAR')
	{
		minAdult = 0;
	}
	else
	{
		minAdult = 1;
	}
	if($(ddName) != null)
	{
		currentAdult = $(ddName).value;
	}
	if (currentAdult > maxAdult)
	{
		currentAdult = 2;
	}
	if(adultArr[r-1])
	{
		currentAdult=adultArr[r-1];
	}
	var t = '<select id="' + ddName + '" name="' + adultSelectName + '">';
	for (var i = minAdult; i < (maxAdult + 1); i++) 
	{
		if (i == currentAdult)
		{
			t = t + '<option value=' + i + ' selected>' + i + '</option>';
		}
		else
		{
			t = t + '<option value=' + i + '>' + i + '</option>';
		}
	}
	t = t + '</select>';
	return t;
}

function getSeniorHtml(r)
{	
	var ddName = 'inpSenior' + r;
	var t = '<select id="' + ddName + '" name="' + package_roomInput.getSeniorSelectName() + '">';
	var minSenior = package_roomInput.getMinSeniorCount();
	var maxSenior = package_roomInput.getMaxSeniorCount();
	
	var curentSenior = minSenior;
	if($(ddName) != null)
	{
		curentSenior = $(ddName).value;
	}
	if(seniorArr[r-1])
	{
		curentSenior=seniorArr[r-1];
	}
	for (var i = minSenior; i < (maxSenior + 1); i++) 
	{
		if (i ==	curentSenior)
		{
			t = t + '<option value=' + i + ' selected>' + i + '</option>';
		}
		else
		{
			t = t + '<option value=' + i + '>' + i + '</option>';
		}
	}
	t = t + '</select>';
	return t;	
}

function getChildHtml(r,isHotelOnly)
{
	var ddName = 'inpChildren' + r;
	var minChild = package_roomInput.getMinChildCount();
	var maxChild = package_roomInput.getMaxChildCount();
	var childSelectName = package_roomInput.getChildSelectName();
	if(isHotelOnly == true)
	{
		if(currentRoom > hotel_roomInput.getMaxRoomCount())
		{
			minChild = 0;
			maxChild = 99;
		}
		else
		{
			minChild = hotel_roomInput.getMinChildCount();
			maxChild = hotel_roomInput.getMaxChildCount();
		}
		childSelectName = hotel_roomInput.getChildSelectName();
	}
	var curentChild = minChild;
	if($(ddName) != null)
	{
		curentChild = $(ddName).value;
	}
	if(curentChild > maxChild)
	{
		curentChild = 0;
	}
	if(childArr[r-1])
	{
		curentChild=childArr[r-1];
	}
	var t = '<select id="' + ddName + '" name="' + childSelectName + '">';
	for (var i = minChild; i < (maxChild + 1); i++) 
	{
		if (i == curentChild)
		{
			t = t + '<option value=' + i + ' selected>' + i + '</option>';
		}
		else
		{
			t = t + '<option value=' + i + '>' + i + '</option>';
		}
	}
	t = t + '</select>';
	return t;
}

function getChildAgeHtml(r,c,isHotelOnly)
{
	var ddName = 'inpChildAge' + r + '_' + c;
	var currentChildAge = -1;
	var opValuePre = r + '_';
	var opValuePre0 = r + '_0';
	var opValuePre1 = r + '_-1';

	var minChildAge = package_roomInput.getMinChildAgeCount();
	var maxChildAge = package_roomInput.getMaxChildAgeCount();
	var childAgeSelectName = package_roomInput.getChildAgeSelectName();

	loadAgesByRoomNum(r);

	if(isHotelOnly == true)
	{
		minChildAge = hotel_roomInput.getMinChildAgeCount();
		maxChildAge = hotel_roomInput.getMaxChildAgeCount();
		childAgeSelectName = hotel_roomInput.getChildAgeSelectName();
	}

	if($(ddName) != null)
	{
		currentChildAge = $(ddName).value;
	}
	if(ages.length>0)
	{
		currentChildAge=ages[c-1];
	}
	var t = '<select id="' + ddName + '" name="' + childAgeSelectName + '">';
	
	if (currentChildAge == opValuePre1)
	{
		t = t + '<option value="'+opValuePre1+'" selected>-?-</option>';
	}
	else
	{
		t = t + '<option value="'+opValuePre1+'">-?-</option>';
	}
	if (currentChildAge == opValuePre0)
	{
		t = t + '<option value="'+opValuePre0+'" selected>&lt;1</option>';
	}
	else
	{
		t = t + '<option value="'+opValuePre0+'">&lt;1</option>';
	}
	
	for (var i = 1; i <= maxChildAge; i++) 
	{
		if ((opValuePre+i) == currentChildAge)
		{
			t = t + '<option value="'+(opValuePre+i)+'" selected>' + i + '</option>';
		}
		else
		{
			t = t + '<option value="'+(opValuePre+i)+'">' + i + '</option>';
		}
	}
	t = t + '</select>';
	return t;
}

function setTeleMessage()
{
	var tele = $('divTele');
	if($('packageType').value == 'HOTEL_ONLY')
	{
		tele.hide();
	}
	else
	{
		tele.show();
	}
}

var arrayString = new Array();

function StringBuffer()
{
	this.concat = concat;
	this.getValue = getValue;
	this.reset = reset;
}

function concat(StringToConcat)
{
	this.arrayString[this.arrayString.length] = StringToConcat;
}

function getValue()
{
	return this.arrayString.join('');
}

function reset()
{
	this.arrayString = null;
	this.arrayString = new Array();
}
function saveRoomData()
{
	var adultsCount = "";
	var childrenCount = "";
	var seniorCount = "";
	var childrenAge = "";
	var isHotelOnly = false;
	if($('packageType') == null || $('packageType').value == 'HOTEL_ONLY')
	{
		isHotelOnly = true;
	}
	if(currentRoom == 1 || currentRoom > hotel_roomInput.getMaxRoomCount())
	{
		adultsCount = $('inpAdult1').value;
		childrenCount = $('inpChildren1').value;
		if(currentRoom == 1)
		{
			childrenAge = getChildAge(1,childrenCount);
		}
		if(!isHotelOnly)
		{
			seniorCount = $('inpSenior1').value;
		}
	}
	else
	{
		var thisChildCount = "";
		for(var i = 1; i <= currentRoom; i++)
		{
			thisChildCount = $('inpChildren'+i).value;
			
			adultsCount += $('inpAdult'+i).value; 
			childrenCount += thisChildCount;
			if(!isHotelOnly)
			{
				seniorCount += $('inpSenior1').value;
			}
			childrenAge += getChildAge(i,thisChildCount);
			
			if(i < currentRoom)
			{
				adultsCount += "|"; 
				childrenCount += "|";
				seniorCount += "|";
			}
		}
	}
	$('hidAdultArray').value = adultsCount;
	$('hidChildArray').value = childrenCount;
	if(!isHotelOnly)
	{
		$('hidSeniorArray').value = seniorCount;
	}
	$('hidChildAgeArray').value = childrenAge.substring(0,childrenAge.length-1);
}

function getChildAge(k,childrenCount)
{
	var childAge = "";
	if(childrenCount == 1)
	{
		childAge = $('inpChildAge'+ k + '_1').value+"|";
	}
	else if(childrenCount > 1)
	{
		for(var m = 1; m <= childrenCount; m++)
		{
			childAge += $('inpChildAge'+ k + '_'+ m).value+"|";
		}
	}	
	return childAge;
}	

function setSavedRoomValue()
{
	if(currentRoom == 0 )
	{
		return;
	}
	var j = 0;
	var isHotelOnly = false;
	if($('packageType') == null || $('packageType').valu == 'HOTEL_ONLY')
	{
		isHotelOnly = true;
	}
	var childAgeArray =	$('hidChildAgeArray').value.split('|');
	if(currentRoom == 1 || currentRoom > hotel_roomInput.getMaxRoomCount())
	{
		$('inpAdult1').value = $('hidAdultArray').value;
		if(!isHotelOnly)
		{
			$('inpSenior1').value = $('hidSeniorArray').value;
		}
		
		$('inpChildren1').value = $('hidChildArray').value;
		if($('inpChildren1').value > 0 && currentRoom == 1)
		{
			onChangeChildren();
			for(var m = 1; m <= $('inpChildren1').value; m++)
			{
				$('inpChildAge1' + '_'+ m).value = childAgeArray[j++];
			}
		}
		return;
	}
	var adultArray = $('hidAdultArray').value.split('|');
	var seniorArray = $('hidSeniorArray').value.split('|');
	var childArray = $('hidChildArray').value.split('|');	
	var isChildAgeExist = false;
	for(var i = 1; i <= currentRoom; i++)
	{
		$('inpAdult'+i).value = adultArray[parseInt(i)-1];
		$('inpChildren'+i).value = childArray[parseInt(i)-1];
		if(!isHotelOnly)
		{
			$('inpSenior'+i).value = seniorArray[parseInt(i)-1];
		}
		if(isChildAgeExist == false && $('inpChildren'+i).value > 0)
		{
			isChildAgeExist = true;
		}
	}
	if(isChildAgeExist == false) return;
	onChangeChildren();
	
	for(var i = 1; i <= currentRoom; i++)
	{
		for(var m = 1; m <= $('inpChildren'+i).value; m++)
		{
			$('inpChildAge'+ i + '_'+ m).value = childAgeArray[j++];
		}		
	}
}
