
function hideNotAvailableNotification() {
	var oDiv;
	oDiv = document.getElementById("divNotAvailable");
	if (oDiv) 
		oDiv.style.display = 'none';
}

function validate()	{

	var bError_BadCustomerData = false;
	var bError_BadRoomsSelection = false;

	if (OnRequest)
	{
		DisplayNotification(0);
		
	var objTextBox_EMail	= document.getElementById("TextBox_EMail");
	var objTextBox_Password = document.getElementById("TextBox_Password");
	if (objTextBox_EMail.value == '' || objTextBox_Password.value == '')
	{
		SwitchValidatorsStatus(true);
		// verify Customer Data	
		bError_BadCustomerData = !VerifyCustomerData();
	}
	else
		SwitchValidatorsStatus(false);
		
		//bError_BadCustomerData = !VerifyCustomerData();
	}
	else
		hideNotAvailableNotification();

	bError_BadRoomsSelection = !VerifyRooms();
	
	if (bError_BadRoomsSelection || bError_BadCustomerData)
		return false;
	else
		return true;
}



function SwitchValidatorsStatus(bStatus)
{
	ValidatorEnable(document.all('RequiredFieldValidator_FirstName'), bStatus);
	ValidatorEnable(document.all('RequiredFieldValidator_LastName'), bStatus);
	ValidatorEnable(document.all('RequiredFieldValidator_Mail'), bStatus);
	ValidatorEnable(document.all('RequiredFieldValidator_Tel'), bStatus);
}

function VerifyRooms()
{
	var oSelect;
	// verify double room
	oSelect = document.getElementById("DRSelect");
	if (oSelect)
		if (oSelect.selectedIndex != 0)
			return true;
	// verify single room
	oSelect = document.getElementById("SRSelect");
	if (oSelect)
		if (oSelect.selectedIndex != 0)
			return true;
	// verify triple room
	oSelect = document.getElementById("TRSelect");
	if (oSelect)
		if (oSelect.selectedIndex != 0)
			return true;
	// verify quadruple room
	oSelect = document.getElementById("QRSelect");
	if (oSelect)
		if (oSelect.selectedIndex != 0)
			return true;
			
	if (OnRequest)
		DisplayNotification(5);
	else
	{
		var oDiv = document.getElementById("divnotification");
		oDiv.style.display = '';	
		location.href = "#";
	}
		
	return false;
}

function DisplayNotification(iError)
{
	var oDiv;
	
	oDiv = document.getElementById("divnotification");
	if (iError == 0)
		oDiv.style.display = 'none';
	else
		oDiv.style.display = '';
	switch (iError)
	{
		case 0 :
			oDiv = document.getElementById("NotificationLabel_ThanksToChooseAtLeastOneRoom");
			oDiv.style.display = 'none';
			oDiv = document.getElementById("Label_PleaseFillCustomerData");
			oDiv.style.display = 'none';
			oDiv = document.getElementById("Label_Bad_Mail");
			oDiv.style.display = 'none';
		break;
		case 2 :
			oDiv = document.getElementById("Label_PleaseFillCustomerData");
			oDiv.style.display = '';
		break;
		case 4 :
			oDiv = document.getElementById("Label_Bad_Mail");
			oDiv.style.display = '';
		break;
		case 5 :
			oDiv = document.getElementById("NotificationLabel_ThanksToChooseAtLeastOneRoom");
			oDiv.style.display = '';
		break;
	}
	location.href = "#";
}


function prepareRoomHeader(id, label, oTable) {
	var strSelectNumberOfRooms;
	var strStartingRate;
	switch (id) {
		case strIdRoomDouble : 
			strSelectNumberOfRooms	= getSelectNumberOfRooms('DR');
			strStartingRate			= strDRStartingRate;
			displayRoomHeader(id, label, strSelectNumberOfRooms, strStartingRate, oTable);
		break; 
		case strIdRoomSingle : 
			strSelectNumberOfRooms	= getSelectNumberOfRooms('SR');
			strStartingRate			= strSRStartingRate;
			displayRoomHeader(id, label, strSelectNumberOfRooms, strStartingRate, oTable);
		break; 
		case strIdRoomTriple : 
			strSelectNumberOfRooms	= getSelectNumberOfRooms('TR');
			strStartingRate			= strTRStartingRate;
			displayRoomHeader(id, label, strSelectNumberOfRooms, strStartingRate, oTable);
		break; 
		case strIdRoomQuadruple : 
			strSelectNumberOfRooms	= getSelectNumberOfRooms('QR');
			strStartingRate			= strQRStartingRate;
			displayRoomHeader(id, label, strSelectNumberOfRooms, strStartingRate, oTable);
		break; 
	}
}

function displayRoomHeader(id, label, strSelectNumberOfRooms, strStartingRate, oTable) {
	var oTR = oTable.insertRow(-1);
	oTR.className = 'cr_Grid1SelectedHeaderItem';
//	oTR.style.color = strHeaderTextColor;
//	oTR.style.backgroundColor = strHeaderBGColor;
	
	var oTD;
	
	oTD = oTR.insertCell(-1);
	oTD.innerHTML = label;
	oTD.className = 'cr_title3';
//	oTD.style.fontWeight = 'bold';
	oTD.width = intRoomLabelWidth;
	
	oTD = oTR.insertCell(-1);
	oTD.innerHTML = strSelectNumberOfRooms + ' ' + strStartingRate;
	oTD.colSpan = 4;
}

function Room(id, label, oTable) {
	this.id			= id;
	this.label		= label;
	this.showHeader	= prepareRoomHeader(id, label, oTable);
}

function getSupplementsTD(strRoomPrefix, intNumber) {
	// create a select
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= strRoomPrefix + 'SupplementSelect' + intNumber;
//	oSelect.id			= strRoomPrefix + 'SupplementSelect' + intNumber;
	// add options
//	var oOption;
//	for (var intCount = 0; intCount < arrBoardingLabel.length; intCount++) {
//		oOption = document.createElement('OPTION');
//		oOption.innerText = arrBoardingLabel[intCount];
//		oOption.value = arrBoardingId[intCount];
//		oSelect.appendChild(oOption);
//	}
//	return oSelect.outerHTML;

	var strSelectName = strRoomPrefix + 'SupplementSelect' + intNumber;

	var arrSelect = new Array();
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" >';

	for (var intCount = 0; intCount < arrBoardingLabel.length; intCount++)
		arrSelect[intCount + 1] = '<option value="' + arrBoardingId[intCount] + '">' + arrBoardingLabel[intCount] + '</option>';

	arrSelect[arrBoardingLabel.length + 2] = '</select>';
	
	return arrSelect.join("");
}

function getSelectNumberOfRooms(strRoomSuffix) {			
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= strRoomSuffix + 'Select';
//	oSelect.id			= strRoomSuffix + 'Select';
//	oSelect.onchange	= 'add' + strRoomSuffix + 'Rows()';
//	addSelectOptions(oSelect, 0, intRoomsMaxNumber);
	
//	return oSelect.outerHTML;

	var arrSelect = new Array();
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strRoomSuffix + 'Select" name="'  + strRoomSuffix + 'Select" ' + ' onchange="add' + strRoomSuffix + 'Rows()">';

	for (var intCount = 0; intCount <= intRoomsMaxNumber; intCount++)
		arrSelect[intCount + 1] = '<option value="' + intCount + '">' + intCount + '</option>';

	arrSelect[intRoomsMaxNumber + 2] = '</select>';
	
	return arrSelect.join("");
}

function prepareGotoQuotation() {

	var oInput;
	// get selection for double room
	oInput = document.getElementById('InputHiddenDR');
	oInput.value = getUserSelection('DR', oTableDoubleRooms);
	// get selection for single room
	oInput = document.getElementById('InputHiddenSR');
	oInput.value = getUserSelection('SR', oTableSingleRooms);
	// get selection for triple room
	oInput = document.getElementById('InputHiddenTR');
	oInput.value = getUserSelection('TR', oTableTripleRooms);
	// get selection for quadruple room
	oInput = document.getElementById('InputHiddenQR');
	oInput.value = getUserSelection('QR', oTableQuadrupleRooms);
}

function getUserSelection(strRoomPrefix, oTable) {
	var oSelect;
	var strSelectedValue;
	var strUserSelection = "";
	
	for (var intCount = 0; intCount < oTable.rows.length - 1; intCount++) {
		// get adults
		oSelect				= document.getElementById( strRoomPrefix + 'AdultSelect' + (intCount + 1));
		strSelectedValue	= oSelect.options[oSelect.selectedIndex].value;
		strUserSelection	+= strSelectedValue + ',';
		// get childrens
		oSelect				= document.getElementById( strRoomPrefix + 'ChildrenSelect' + (intCount + 1));
		strSelectedValue	= oSelect.options[oSelect.selectedIndex].value;
		strUserSelection	+= strSelectedValue + ',';
		// get supplements
		oSelect				= document.getElementById( strRoomPrefix + 'SupplementSelect' + (intCount + 1));
		strSelectedValue	= oSelect.options[oSelect.selectedIndex].value;
		strUserSelection	+= strSelectedValue + ';';
	}
	
	return strUserSelection;
}

// -----------------------------------------------------------------------------------------
// misc functions
// -----------------------------------------------------------------------------------------

function fillSelect(oSelect, intFrom, intTo) {
	var intSelectedIndex = oSelect.selectedIndex;
	// remove all options
	while (oSelect.options.length > 0) 
		oSelect.options.remove(0);

	// add options
	addSelectOptions(oSelect, intFrom, intTo, intSelectedIndex);
}

function addSelectOptions(oSelect, intFrom, intTo) {
	var oOption;
	for (var intCount = intFrom; intCount <= intTo; intCount++) {
		oOption = document.createElement('OPTION');
		oOption.innerText = intCount;
		oOption.value = intCount;
		oSelect.appendChild(oOption);
	}
}

// -----------------------------------------------------------------------------------------
// ------------------------------------------ Double Room -------------------------------
// -----------------------------------------------------------------------------------------

function addDRRows(oSelect) {
	var oSelect = document.getElementById('DRSelect');
	// remove old rows
	while (oTableDoubleRooms.rows.length > 1)
		oTableDoubleRooms.deleteRow(1);
	// get number of rows to add
	var intNumber = oSelect.options[oSelect.selectedIndex].value;
	if (intNumber == 0) {
		oTableDoubleRooms.tBodies[0].rows[0].cells[1].colSpan = 1;
		return;
	}
	// add rows
	for (var intCount = 0; intCount < intNumber; intCount++)
		addDRRow(intCount + 1);
}
	
function addDRRow(intNumber) {
	// create new row
	var oTR = document.createElement('TR');
	oTR.className = 'cr_Grid1Content2';
//	oTR.style.color				= strRowTextColor;
//	oTR.style.backgroundColor	= strRowBGColor;
	var oTD;
	// add Room i
	oTD = document.createElement('TD');
	oTD.innerHTML = strRoom + ' ' + intNumber + ' :';
	oTD.className = 'cr_title3';
	oTR.appendChild(oTD);
	// add Adults + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strAdults + ' ' + getDRAdultTD(intNumber);
	oTR.appendChild(oTD);
	// add Children + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strChildren + ' ' + getDRChildrenTD(intNumber);
	oTR.appendChild(oTD);
	// add Supplements (boarding) + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strSupplements + ' ' + getSupplementsTD('DR', intNumber);
	oTR.appendChild(oTD);
	// add TR to TABLE
	oTableDoubleRooms.tBodies[0].rows[0].cells[1].colSpan = 4;
	oTableDoubleRooms.tBodies[0].appendChild(oTR);
}

function getDRAdultTD(intNumber) {
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= 'DRAdultSelect' + intNumber;
//	oSelect.id			= 'DRAdultSelect' + intNumber;
//	oSelect.onchange	= 'updateDRChildrenNumber(' + intNumber + ')';
//	addSelectOptions(oSelect, 0, 2);
//	oSelect.selectedIndex = 2;
	
//	return oSelect.outerHTML;

	var strSelectName		= 'DRAdultSelect' + intNumber;
	var strSelectOnChange	= 'updateDRChildrenNumber(' + intNumber + ')';

	var arrSelect = new Array();
	
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" onchange="' + strSelectOnChange + '">';

	arrSelect[1] = '<option value="0">0</option>';
	arrSelect[2] = '<option value="1">1</option>';
	arrSelect[3] = '<option value="2" selected>2</option>';

	arrSelect[4] = '</select>';
	
	return arrSelect.join("");
}

function updateDRChildrenNumber(intNumber) {

	var oAdultSelect		= document.getElementById('DRAdultSelect' + intNumber);
	var oChildrenSelect		= document.getElementById('DRChildrenSelect' + intNumber);
	// get number of adults
	var strNumberOfAdults	= oAdultSelect.options[oAdultSelect.selectedIndex].value;
	// update children select
	switch (strNumberOfAdults) {
		case '0' : 
			oChildrenSelect.options[2].selected = true;
			break;
		case '1' : 
			oChildrenSelect.options[1].selected = true;
			break;
		case '2' : 
			oChildrenSelect.options[0].selected = true;
			break;
	}
}

function getDRChildrenTD(intNumber) {
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= 'DRChildrenSelect' + intNumber;
//	oSelect.id			= 'DRChildrenSelect' + intNumber;
//	oSelect.onchange	= 'updateDRAdultNumber(' + intNumber + ')';
//	addSelectOptions(oSelect, 0, 2);
//	
//	return oSelect.outerHTML;
	
	var strSelectName		= 'DRChildrenSelect' + intNumber;
	var strSelectOnChange	= 'updateDRAdultNumber(' + intNumber + ')';

	var arrSelect = new Array();
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" onchange="' + strSelectOnChange + '">';

	arrSelect[1] = '<option value="0" selected>0</option>';
	arrSelect[2] = '<option value="1">1</option>';
	arrSelect[3] = '<option value="2">2</option>';

	arrSelect[4] = '</select>';
	
	return arrSelect.join("");
}

function updateDRAdultNumber(intNumber) {
	var oAdultSelect		= document.getElementById('DRAdultSelect' + intNumber);
	var oChildrenSelect		= document.getElementById('DRChildrenSelect' + intNumber);
	// get number of adults
	var intNumberOfChildren	= oChildrenSelect.options[oChildrenSelect.selectedIndex].value;
	// update children select
	switch (intNumberOfChildren) {
		case '0' :
			oAdultSelect.options[2].selected = true;
			break;
		case '1' : 
			oAdultSelect.options[1].selected = true;
			break;
		case '2' : 
			oAdultSelect.options[0].selected = true;
			break;
	}
}

// -----------------------------------------------------------------------------------------
// ------------------------------------------ Single Room -------------------------------
// -----------------------------------------------------------------------------------------

function addSRRows(oSelect) {
	var oSelect = document.getElementById('SRSelect');
	// remove old rows
	while (oTableSingleRooms.rows.length > 1)
		oTableSingleRooms.deleteRow(1);
	// get number of rows to add
	var intNumber = oSelect.options[oSelect.selectedIndex].value;
	if (intNumber == 0) {
		oTableSingleRooms.tBodies[0].rows[0].cells[1].colSpan = 1;
		return;
	}
	// add rows
	for (var intCount = 0; intCount < intNumber; intCount++)
		addSRRow(intCount + 1);
}
	
function addSRRow(intNumber) {
	// create new row
	var oTR = document.createElement('TR');
	oTR.className = 'cr_Grid1Content2';
//	oTR.style.color				= strRowTextColor;
//	oTR.style.backgroundColor	= strRowBGColor;
	var oTD;
	// add Room i
	oTD = document.createElement('TD');
	oTD.innerHTML = strRoom + ' ' + intNumber + ' :';
	oTD.className = 'cr_title3';
	oTR.appendChild(oTD);
	// add Adults + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strAdults + ' ' + getSRAdultTD(intNumber);
	oTR.appendChild(oTD);
	// add Children + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strChildren + ' ' + getSRChildrenTD(intNumber);
	oTR.appendChild(oTD);
	// add Supplements (boarding) + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strSupplements + ' ' + getSupplementsTD('SR', intNumber);
	oTR.appendChild(oTD);
	// add TR to TABLE
	oTableSingleRooms.tBodies[0].rows[0].cells[1].colSpan = 4;
	oTableSingleRooms.tBodies[0].appendChild(oTR);
}

function getSRAdultTD(intNumber) {
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= 'SRAdultSelect' + intNumber;
//	oSelect.id			= 'SRAdultSelect' + intNumber;
//	oSelect.onchange	= 'updateSRChildrenNumber(' + intNumber + ')';
//	addSelectOptions(oSelect, 0, 1);
//	oSelect.selectedIndex = 1;
	
//	return oSelect.outerHTML;

	var strSelectName		= 'SRAdultSelect' + intNumber;
	var strSelectOnChange	= 'updateSRChildrenNumber(' + intNumber + ')';

	var arrSelect = new Array();
	
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" onchange="' + strSelectOnChange + '">';

	arrSelect[1] = '<option value="0">0</option>';
	arrSelect[2] = '<option value="1" selected>1</option>';

	arrSelect[3] = '</select>';
	
	return arrSelect.join("");
}

function updateSRChildrenNumber(intNumber) {

	var oAdultSelect		= document.getElementById('SRAdultSelect' + intNumber);
	var oChildrenSelect		= document.getElementById('SRChildrenSelect' + intNumber);
	// get number of adults
	var strNumberOfAdults	= oAdultSelect.options[oAdultSelect.selectedIndex].value;
	// update children select
	switch (strNumberOfAdults) {
		case '0' : 
			oChildrenSelect.options[1].selected = true;
			break;
		case '1' : 
			oChildrenSelect.options[0].selected = true;
			break;
	}
}

function getSRChildrenTD(intNumber) {
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= 'SRChildrenSelect' + intNumber;
//	oSelect.id			= 'SRChildrenSelect' + intNumber;
//	oSelect.onchange	= 'updateSRAdultNumber(' + intNumber + ')';
//	addSelectOptions(oSelect, 0, 1);
	
//	return oSelect.outerHTML;

	var strSelectName		= 'SRChildrenSelect' + intNumber;
	var strSelectOnChange	= 'updateSRAdultNumber(' + intNumber + ')';

	var arrSelect = new Array();
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" onchange="' + strSelectOnChange + '">';

	arrSelect[1] = '<option value="0" selected>0</option>';
	arrSelect[2] = '<option value="1">1</option>';

	arrSelect[3] = '</select>';
	
	return arrSelect.join("");
}

function updateSRAdultNumber(intNumber) {
	var oAdultSelect		= document.getElementById('SRAdultSelect' + intNumber);
	var oChildrenSelect		= document.getElementById('SRChildrenSelect' + intNumber);
	// get number of adults
	var intNumberOfChildren	= oChildrenSelect.options[oChildrenSelect.selectedIndex].value;
	// update children select
	switch (intNumberOfChildren) {
		case '0' :
			oAdultSelect.options[1].selected = true;
			break;
		case '1' : 
			oAdultSelect.options[0].selected = true;
			break;
	}
}
						
// -----------------------------------------------------------------------------------------
// ------------------------------------------ Triple Room -------------------------------
// -----------------------------------------------------------------------------------------

function addTRRows(oSelect) {
	var oSelect = document.getElementById('TRSelect');
	// remove old rows
	while (oTableTripleRooms.rows.length > 1)
		oTableTripleRooms.deleteRow(1);
	// get number of rows to add
	var intNumber = oSelect.options[oSelect.selectedIndex].value;
	if (intNumber == 0) {
		oTableTripleRooms.tBodies[0].rows[0].cells[1].colSpan = 1;
		return;
	}
	// add rows
	for (var intCount = 0; intCount < intNumber; intCount++)
		addTRRow(intCount + 1);
}
	
function addTRRow(intNumber) {
	// create new row
	var oTR = document.createElement('TR');
	oTR.className = 'cr_Grid1Content2';
//	oTR.style.color				= strRowTextColor;
//	oTR.style.backgroundColor	= strRowBGColor;
	var oTD;
	// add Room i
	oTD = document.createElement('TD');
	oTD.innerHTML = strRoom + ' ' + intNumber + ' :';
	oTD.className = 'cr_title3';
	oTR.appendChild(oTD);
	// add Adults + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strAdults + ' ' + getTRAdultTD(intNumber);
	oTR.appendChild(oTD);
	// add Children + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strChildren + ' ' + getTRChildrenTD(intNumber);
	oTR.appendChild(oTD);
	// add Supplements (boarding) + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strSupplements + ' ' + getSupplementsTD('TR', intNumber);
	oTR.appendChild(oTD);
	// add TR to TABLE
	oTableTripleRooms.tBodies[0].rows[0].cells[1].colSpan = 4;
	oTableTripleRooms.tBodies[0].appendChild(oTR);
}

function getTRAdultTD(intNumber) {
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= 'TRAdultSelect' + intNumber;
//	oSelect.id			= 'TRAdultSelect' + intNumber;
//	oSelect.onchange	= 'updateTRChildrenNumber(' + intNumber + ')';
//	addSelectOptions(oSelect, 0, 3);
//	oSelect.selectedIndex = 3;
//	
//	return oSelect.outerHTML;

	var strSelectName		= 'TRAdultSelect' + intNumber;
	var strSelectOnChange	= 'updateTRChildrenNumber(' + intNumber + ')';

	var arrSelect = new Array();
	
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" onchange="' + strSelectOnChange + '">';

	arrSelect[1] = '<option value="0">0</option>';
	arrSelect[2] = '<option value="1">1</option>';
	arrSelect[3] = '<option value="2">2</option>';
	arrSelect[4] = '<option value="3" selected>3</option>';

	arrSelect[5] = '</select>';
	
	return arrSelect.join("");
}

function updateTRChildrenNumber(intNumber) {

	var oAdultSelect		= document.getElementById('TRAdultSelect' + intNumber);
	var oChildrenSelect		= document.getElementById('TRChildrenSelect' + intNumber);
	// get number of adults
	var strNumberOfAdults	= oAdultSelect.options[oAdultSelect.selectedIndex].value;
	// update children select
	switch (strNumberOfAdults) {
		case '0' : 
			oChildrenSelect.options[3].selected = true;
			break;
		case '1' : 
			oChildrenSelect.options[2].selected = true;
			break;
		case '2' : 
			oChildrenSelect.options[1].selected = true;
			break;
		case '3' : 
			oChildrenSelect.options[0].selected = true;
			break;
	}
}

function getTRChildrenTD(intNumber) {
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= 'TRChildrenSelect' + intNumber;
//	oSelect.id			= 'TRChildrenSelect' + intNumber;
//	oSelect.onchange	= 'updateTRAdultNumber(' + intNumber + ')';
//	addSelectOptions(oSelect, 0, 3);
	
//	return oSelect.outerHTML;

	var strSelectName		= 'TRChildrenSelect' + intNumber;
	var strSelectOnChange	= 'updateTRAdultNumber(' + intNumber + ')';

	var arrSelect = new Array();
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" onchange="' + strSelectOnChange + '">';

	arrSelect[1] = '<option value="0" selected>0</option>';
	arrSelect[2] = '<option value="1">1</option>';
	arrSelect[3] = '<option value="2">2</option>';
	arrSelect[4] = '<option value="3">3</option>';

	arrSelect[5] = '</select>';
	
	return arrSelect.join("");
}

function updateTRAdultNumber(intNumber) {
	var oAdultSelect		= document.getElementById('TRAdultSelect' + intNumber);
	var oChildrenSelect		= document.getElementById('TRChildrenSelect' + intNumber);
	// get number of adults
	var intNumberOfChildren	= oChildrenSelect.options[oChildrenSelect.selectedIndex].value;
	// update children select
	switch (intNumberOfChildren) {
		case '0' : 
			oAdultSelect.options[3].selected = true;
			break;
		case '1' : 
			oAdultSelect.options[2].selected = true;
			break;
		case '2' : 
			oAdultSelect.options[1].selected = true;
			break;
		case '3' : 
			oAdultSelect.options[0].selected = true;
			break;
	}
}

// -----------------------------------------------------------------------------------------
// ------------------------------------------ Quadruple Room -------------------------------
// -----------------------------------------------------------------------------------------

function addQRRows(oSelect) {
	var oSelect = document.getElementById('QRSelect');
	// remove old rows
	while (oTableQuadrupleRooms.rows.length > 1)
		oTableQuadrupleRooms.deleteRow(1);
	// get number of rows to add
	var intNumber = oSelect.options[oSelect.selectedIndex].value;
	if (intNumber == 0) {
		oTableQuadrupleRooms.tBodies[0].rows[0].cells[1].colSpan = 1;
		return;
	}
	// add rows
	for (var intCount = 0; intCount < intNumber; intCount++)
		addQRRow(intCount + 1);
}
	
function addQRRow(intNumber) {
	// create new row
	var oTR = document.createElement('TR');
	oTR.className = 'cr_Grid1Content2';
//	oTR.style.color				= strRowTextColor;
//	oTR.style.backgroundColor	= strRowBGColor;
	var oTD;
	// add Room i
	oTD = document.createElement('TD');
	oTD.innerHTML = strRoom + ' ' + intNumber + ' :';
	oTD.className = 'cr_title3';
	oTR.appendChild(oTD);
	// add Adults + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strAdults + ' ' + getQRAdultTD(intNumber);
	oTR.appendChild(oTD);
	// add Children + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strChildren + ' ' + getQRChildrenTD(intNumber);
	oTR.appendChild(oTD);
	// add Supplements (boarding) + Select
	oTD = document.createElement('TD');
	oTD.innerHTML = strSupplements + ' ' + getSupplementsTD('QR', intNumber);
	oTR.appendChild(oTD);
	// add TR to TABLE
	oTableQuadrupleRooms.tBodies[0].rows[0].cells[1].colSpan = 4;
	oTableQuadrupleRooms.tBodies[0].appendChild(oTR);
}

function getQRAdultTD(intNumber) {
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= 'QRAdultSelect' + intNumber;
//	oSelect.id			= 'QRAdultSelect' + intNumber;
//	oSelect.onchange	= 'updateQRChildrenNumber(' + intNumber + ')';
//	addSelectOptions(oSelect, 0, 4);
//	oSelect.selectedIndex = 4;
	
//	return oSelect.outerHTML;

	var strSelectName		= 'QRAdultSelect' + intNumber;
	var strSelectOnChange	= 'updateQRChildrenNumber(' + intNumber + ')';

	var arrSelect = new Array();
	
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" onchange="' + strSelectOnChange + '">';

	arrSelect[1] = '<option value="0">0</option>';
	arrSelect[2] = '<option value="1">1</option>';
	arrSelect[3] = '<option value="2">2</option>';
	arrSelect[4] = '<option value="3">3</option>';
	arrSelect[5] = '<option value="4" selected>4</option>';

	arrSelect[6] = '</select>';
	
	return arrSelect.join("");
}

function updateQRChildrenNumber(intNumber) {			
	var oAdultSelect		= document.getElementById('QRAdultSelect' + intNumber);
	var oChildrenSelect		= document.getElementById('QRChildrenSelect' + intNumber);
	// get number of adults
	var strNumberOfAdults	= oAdultSelect.options[oAdultSelect.selectedIndex].value;
	// update children select
	switch (strNumberOfAdults) {
		case '0' : 
			oChildrenSelect.options[4].selected = true;
			break;
		case '1' : 
			oChildrenSelect.options[3].selected = true;
			break;
		case '2' : 
			oChildrenSelect.options[2].selected = true;
			break;
		case '3' : 
			oChildrenSelect.options[1].selected = true;
			break;
		case '4' : 
			oChildrenSelect.options[0].selected = true;
			break;
	}
}

function getQRChildrenTD(intNumber) {
//	var oSelect			= document.createElement('SELECT');
//	oSelect.name		= 'QRChildrenSelect' + intNumber;
//	oSelect.id			= 'QRChildrenSelect' + intNumber;
//	oSelect.onchange	= 'updateQRAdultNumber(' + intNumber + ')';
//	addSelectOptions(oSelect, 0, 4);
	
//	return oSelect.outerHTML;

	var strSelectName		= 'QRChildrenSelect' + intNumber;
	var strSelectOnChange	= 'updateQRAdultNumber(' + intNumber + ')';

	var arrSelect = new Array();
	arrSelect[0] = '<SELECT class="cr_dropdownlist_style1" id="' + strSelectName + '" name="'  + strSelectName + '" onchange="' + strSelectOnChange + '">';

	arrSelect[1] = '<option value="0" selected>0</option>';
	arrSelect[2] = '<option value="1">1</option>';
	arrSelect[3] = '<option value="2">2</option>';
	arrSelect[4] = '<option value="3">3</option>';
	arrSelect[5] = '<option value="4">4</option>';

	arrSelect[6] = '</select>';
	
	return arrSelect.join("");	
}

function updateQRAdultNumber(intNumber) {
	var oAdultSelect		= document.getElementById('QRAdultSelect' + intNumber);
	var oChildrenSelect		= document.getElementById('QRChildrenSelect' + intNumber);
	// get number of adults
	var intNumberOfChildren	= oChildrenSelect.options[oChildrenSelect.selectedIndex].value;
	// update children select
	switch (intNumberOfChildren) {
		case '0' : 
			oAdultSelect.options[4].selected = true;
			break;
		case '1' : 
			oAdultSelect.options[3].selected = true;
			break;
		case '2' : 
			oAdultSelect.options[2].selected = true;
			break;
		case '3' : 
			oAdultSelect.options[1].selected = true;
			break;
		case '4' : 
			oAdultSelect.options[0].selected = true;
			break;
	}
}