
	var getEditPayment = function(payment) { return payment.EDITPAYMENT };
	var setRoomTypeTarget = function(target) { roomtypetarget = target };
	var getRoomTypeTarget = function() { return roomtypetarget };	

	var setUpdatedRoomType = function(obj) {updatedRoomType = obj};
	var getUpdatedRoomType = function() { return updatedRoomType };	

	openDoc = function(path) {

		var printWindow = window.open( path, "addInfo", "status = 1, scrollbars=yes, height = 600, width = 750, resizable = yes" );
		
	}

	function setFieldFocus(id) {
	
		document.getElementById(id).focus();
	
		return true;
	
	}

	function updateCost(lodging) {

//		alert("update " + lodging);

		if (lodging.length == 7) {
			var choice = lodging.substr(7,1);
		} else {
			var choice = lodging.substr(7,2);
		}
		
		var elCostOverride = "costOverride" + choice;
		var objCostOverride = document.getElementById(elCostOverride);
		
//		if (objCostOverride.value == 1) {
//			alert("lodging " + choice + " has a cost override");
//			updateLodgingCost(lodging);
//			return false;
//		}


		var objLodging = document.getElementById(lodging);
		var roomtype = "roomtype" + choice;
		var objRoomtype = document.getElementById(roomtype);
		var roomTypeValue = objRoomtype.options[objRoomtype.selectedIndex].value;
		var elRoomcount = "roomcount" + choice;
		var elMarkuppct = "packageMarkup";
	
		lodgingvalue = objLodging.options[objLodging.selectedIndex].value;
	//		alert("lodging value = " + lodgingvalue);
	
		if (lodgingvalue == 0) {
			return false;
		}
	
		var arrivalDate = document.getElementById('arrivalDate').value;
		var departDate = document.getElementById('departDate').value;
		var roomcount = document.getElementById(elRoomcount).value;
		var markuppct = document.getElementById(elMarkuppct).value;
		
/*
		var objPlayerCount = document.getElementById('numplayers');
		var playerCount = objPlayerCount.value;
		if (! objPlayerCount.value.length || isNaN(playerCount)) {
			alert("Enter the number of people in the group");
			return false;
		}
*/
		
/*
		if (objLodging.selectedIndex == 0) {
			alert("Select a lodge name.");
			return false;
		}
*/
		
		if (! arrivalDate.length) {
			alert("Specify the arrival date for the package.");
			return false;
		}

		if (! departDate.length) {
			alert("Specify the departure date for the package.");
			return false;
		}
		

		if (! roomcount) {
//			alert("Specify the room count for Lodging choice " + choice);
			return false;
		}

		if (! markuppct) {
			alert("Specify the markup percentage for the package.");
			return false;
		}

		var elCostOverride = "costOverride" + choice;
		DWRUtil.setValue(elCostOverride, 0);


		var lodgingDetails = choice + "," + lodgingvalue + "," + roomTypeValue + "," + arrivalDate + "," + departDate + "," + roomcount + "," + markuppct;

//		alert(lodgingDetails);

		DWREngine._execute(_cfscriptLocation, null, 'getLodgingDetails', lodgingDetails, getLodgingDetailResult);
	

	}

	function lodgingCostHandler(lodging) {
	
		if (lodging.length == 7) {
			var choice = lodging.substr(7,1);
		} else {
			var choice = lodging.substr(7,2);
		}
	
		var objLodging = document.getElementById(lodging);

		lodgingvalue = objLodging.options[objLodging.selectedIndex].value;
//		alert("lodging value = " + lodgingvalue);
	
		if (lodgingvalue == 0) {
			return false;
		}

		var elCostOverride = "costOverride" + choice;
		var objCostOverride = document.getElementById(elCostOverride);
		
		if (objCostOverride.value == 1) {
//			alert("lodging " + choice + " has a cost override");
			updateLodgingCost(lodging);
			return false;
		} else {
		
//			alert("lodging " + choice + " has NO cost override");
			updateCost(lodging);
		
		}

		return true;

	}

	function updateLodgingCost(lodging) {

//		alert("update " + lodging);

		if (lodging.length == 7) {
			var choice = lodging.substr(7,1);
		} else {
			var choice = lodging.substr(7,2);
		}

//		alert("choice = " + choice);
		
		var objLodging = document.getElementById(lodging);

		lodgingvalue = objLodging.options[objLodging.selectedIndex].value;
//		alert("lodging value = " + lodgingvalue);
	
		if (lodgingvalue == 0) {
			return false;
		}

		var elMarkupPct = "packageMarkup";
		var objMarkupPct = document.getElementById(elMarkupPct);

		var elRoomCost = "roomcost" + choice;
		var objRoomCost = document.getElementById(elRoomCost);

		var elRoomMarkupTotal = "lodgingMarkupTotal" + choice;
		var objRoomMarkupTotal = document.getElementById(elRoomMarkupTotal);
		
		var elRoomCostDetail = "roomcost" + choice + "detail";
		var objRoomCostDetail = document.getElementById(elRoomCostDetail);

//		alert("room cost = " + objRoomCost.value);
//		alert("package markup = " + objMarkupPct.value);

//		var markupTotal = (objRoomCost.value * objMarkupPct.value)/100;
		
//		DWRUtil.setValue(elRoomMarkupTotal, markupTotal);
		
		objRoomCostDetail.innerHTML = '';

//		alert("markup total = " + markupTotal);
//		alert("room markup = " + objRoomMarkupTotal.innerHTML);

		var elCostOverride = "costOverride" + choice;
		DWRUtil.setValue(elCostOverride, 1);

		var lodgingDetails = choice + "," + lodgingvalue + "," + objMarkupPct.value + "," + objRoomCost.value;

//		alert(lodgingDetails);

		DWREngine._execute(_cfscriptLocation, null, 'getLodgingChangeDetails', lodgingDetails, getLodgingChangeDetailResult);

	}


	
	function updatePerPersonCost(choice) {
	
		var objNumPlayers = document.getElementById('numplayers');
		var elRoomCost = "roomcost" + choice;
		var objRoomCost = document.getElementById(elRoomCost);
		var roomcost = objRoomCost.value;

		if (LeftCorner.ListFind('1,4,5,6,7',choice)) {
			choice = 1;
		}

		if (LeftCorner.ListFind('2,8,9,10,11',choice)) {
			choice = 2;
		}

		if (LeftCorner.ListFind('3,12,13,14,15',choice)) {
			choice = 3;
		}


		var elLodgingCost = "ppLodging" + choice;
		var objLodgingCost = document.getElementById(elLodgingCost);

		var elFormLodgingCost = "frmppLodging" + choice;
		var objFormLodgingCost = document.getElementById(elFormLodgingCost);
		
		var elGolfCost = "ppGolfCost" + choice;
		var objGolfCost = document.getElementById(elGolfCost);

		var elFormGolfCost = "frmppGolfCost" + choice;
		var objFormGolfCost = document.getElementById(elFormGolfCost);
		

		var elPerPersonCost = "ppCost" + choice;
		var objPerPersonCost = document.getElementById(elPerPersonCost);

		var elExpenseCost = "ppExpenseTotal" + choice;
		var objExpenseCost = document.getElementById(elExpenseCost);

		var elFormExpenseCost = "frmppExpenseTotal" + choice;
		var objFormExpenseCost = document.getElementById(elFormExpenseCost);

		var elFormPerPersonCost = "frmppCost" + choice;
		var objFormPerPersonCost = document.getElementById(elFormPerPersonCost);

		roomcost = roomcost.replace(',', '');
//		alert("modified room cost = " + roomcost);

		var totalLodgingCost = calculateLodgingCost(choice);

//		alert("total lodging cost = " + totalLodgingCost.toFixed(2));

		var totalGolfCost = calculateGolfCost();
		
//		alert("total golf cost = " + totalGolfCost.toFixed(2));
		
		var totalExpenses = calculateExpenses(choice);

//		var golfMarkupTotal = calculateGolfMarkupTotal(choice);
//		var lodgingMarkupTotal = calculateLodgingMarkupTotal(choice);

		var totalMarkup = updateMarkupTotal(choice);

//		alert("total expenses for per person cost = " + totalExpenses);

//		alert("total golf cost before replace = " + totalGolfCost.indexOf(","));

//		if (totalGolfCost.indexOf(",") > 0) {
//			totalGolfCost = totalGolfCost.replace(',', '');
//		}
		
//		alert("per person total golf cost = " + totalGolfCost);

//		alert("room cost = " + roomcost);
//		alert("total golf = " + totalGolfCost);
//		alert("total expenses = " + totalExpenses);
//		alert("number of players = " + objNumPlayers.value);
//		alert("total markup = " + totalMarkup);

		
		var perPersonCost = calculatePerPersonCost(totalLodgingCost,totalGolfCost,totalExpenses,objNumPlayers.value,totalMarkup);
		
//		alert("per person cost = " + perPersonCost);


		objLodgingCost.innerHTML = totalLodgingCost.toFixed(2);
		objFormLodgingCost.value = totalLodgingCost.toFixed(2);

		var elPackageChoice = "packageCost" + choice;

		if (totalLodgingCost == '0.00') {
					
			document.getElementById(elPackageChoice).style.display='none';
		} else {
			document.getElementById(elPackageChoice).style.display='block';
		}

		objGolfCost.innerHTML = totalGolfCost.toFixed(2);
		objFormGolfCost.value = totalGolfCost.toFixed(2);

//		alert("total golf cost field value = " + objFormGolfCost.value);

//		objExpenseCost.innerHTML = totalExpenses.toFixed(2);
//		objFormExpenseCost.value = totalExpenses.toFixed(2);
		
	
	}
	
	function getRoomCount(choice) {
	
		var elRoomCount = 'roomcount' + choice;
	
		var objRoomCount = document.getElementById(elRoomCount);
		
		return objRoomCount.value;
	
	}

	function updateAllPackages() {
	
		var packageMarkup = document.getElementById('packageMarkup');
		if ((isNaN(packageMarkup.value)) || ! packageMarkup.value.length) {
			alert("Enter a valid markup percentage as a whole number.");
			packageMarkup.focus();
			return false;
		}

		lodgingCostHandler('lodging1');	
		lodgingCostHandler('lodging2');
		lodgingCostHandler('lodging3');
		lodgingCostHandler('lodging4');
		lodgingCostHandler('lodging5');	
		lodgingCostHandler('lodging6');
		lodgingCostHandler('lodging7');
		lodgingCostHandler('lodging8');
		lodgingCostHandler('lodging9');
		lodgingCostHandler('lodging10');
		lodgingCostHandler('lodging11');
		lodgingCostHandler('lodging12');					
		lodgingCostHandler('lodging13');
		lodgingCostHandler('lodging14');
		lodgingCostHandler('lodging15');				

		courseHandler('1');
		courseHandler('2');
		courseHandler('3');
		courseHandler('4');
		courseHandler('5');
		courseHandler('6');
		courseHandler('7');
		courseHandler('8');
		courseHandler('9');
		courseHandler('10');
		courseHandler('11');
		courseHandler('12');

		updateMarkupTotal(1);
		updateMarkupTotal(2);
		updateMarkupTotal(3);		
	
//		updatePerPersonCost(1);
//		updatePerPersonCost(2);
//		updatePerPersonCost(3);
	
		updatePackageTotal(1);
		updatePackageTotal(2);
		updatePackageTotal(3);
	
	}
	
	function updatePackageTotal(choice) {

//		alert("choice before in updatePackageTotal = " + choice);


		if (LeftCorner.ListFind('1,4,5,6,7',choice)) {
			choice = 1;
		}

		if (LeftCorner.ListFind('2,8,9,10,11',choice)) {
			choice = 2;
		}

		if (LeftCorner.ListFind('3,12,13,14,15',choice)) {
			choice = 3;
		}
	
//		alert("choice before in updatePackageTotal = " + choice);
	
		var golfCost = calculateGolfCost();
		var lodgingCost = calculateLodgingCost(choice);
		
//		alert("after calculating lodging cost = " + lodgingCost);

		var objNumPlayers = document.getElementById('numplayers');
		var roomcount = getRoomCount(choice);
		var objPackageMarkup = document.getElementById("packageMarkup");
		
//		if (lodgingCost == 0) {
//			return false;
//		}

//		alert("expense total = " + calculateExpenses());

		
		var expenseTotal = calculateExpenses(choice);

		var expensesMarkup = 0;
		
		var elExpensesMarkupTotal = 'expensesMarkupTotal' + choice;
		
		if (expenseTotal > 0) {
		
			expensesMarkup = (expenseTotal * objPackageMarkup.value) / 100;
			expensesMarkup = expensesMarkup.toFixed(2);
			// expensesMarkup = LeftCorner.Ceiling(expensesMarkup);


//			numerator = (Math.round(numerator * 100) / 100).toFixed(2);
		}

		document.getElementById(elExpensesMarkupTotal).innerHTML = expensesMarkup;

//		alert("expenses markup = " + expensesMarkup);

//		var expenseTotal = expenseSubTotal * roomcount;

//		alert("expense total = " + expenseTotal);

		var golfMarkupTotal = calculateGolfMarkupTotal(choice);
		var lodgingMarkupTotal = calculateLodgingMarkupTotal(choice);
		var expensesMarkupTotal = calculateExpensesMarkupTotal(choice);

		var elRoomCost = "roomcost" + choice;
		var objRoomCost = document.getElementById(elRoomCost);

		var roomcost = objRoomCost.value;
//		alert("room cost " + choice + " = " + roomcost);

		updatePerPersonCost(choice);





//		var elExpenseTotal = "ppExpenseTotal" + choice;
//		var elFormExpenseTotal = "frmppExpenseTotal" + choice;
		
		
		
//		document.getElementById(elExpenseTotal).innerHTML = parseFloat(expenseTotal).toFixed(2);
//		document.getElementById(elFormExpenseTotal).value = parseFloat(expenseTotal).toFixed(2);

//		alert("expense total 1 = " + document.getElementById(elFormExpenseTotal).value);

//		alert("golf cost = " + golfCost);
//		alert("lodging cost = " + lodgingCost);
		
		var packageTotal = golfCost + lodgingCost + expenseTotal + golfMarkupTotal + lodgingMarkupTotal + expensesMarkupTotal;
		
//		alert("package total = " + packageTotal);
		
		var elPackageTotal = "ppPackageTotal" + choice;
		var elFormPackageTotal = "frmppPackageTotal" + choice;

		var objPackageTotal = document.getElementById(elPackageTotal);
		var objFormPackageTotal = document.getElementById(elFormPackageTotal);

		var elExpenseTotal = "ppPackageTotal" + choice;
		var elFormExpenseTotal = "frmppPackageTotal" + choice;

		var elExpenseCost = "ppExpenseTotal" + choice;
		var objExpenseCost = document.getElementById(elExpenseCost);

		var elFormExpenseCost = "frmppExpenseTotal" + choice;
		var objFormExpenseCost = document.getElementById(elFormExpenseCost);

		var elPerPersonCost = "ppCost" + choice;
		var objPerPersonCost = document.getElementById(elPerPersonCost);

		var elFormPerPersonCost = "frmppCost" + choice;
		var objFormPerPersonCost = document.getElementById(elFormPerPersonCost);


		objExpenseCost.innerHTML = parseFloat(expenseTotal).toFixed(2);
		objFormExpenseCost.value = parseFloat(expenseTotal).toFixed(2);
		
//		alert("updating packages - package total = " + parseFloat(packageTotal).toFixed(2));
		
		var perPersonTotal = (packageTotal / objNumPlayers.value);
		perPersonTotal = LeftCorner.Ceiling(perPersonTotal);

		objPerPersonCost.innerHTML = perPersonTotal.toFixed(2);
		objFormPerPersonCost.value = perPersonTotal.toFixed(2);

		revisedPackageTotal = parseInt(perPersonTotal * objNumPlayers.value);

		objPackageTotal.innerHTML = revisedPackageTotal.toFixed(2);
		objFormPackageTotal.value = revisedPackageTotal.toFixed(2);

		
	}
	
	function updateMarkupTotal(choice) {

//		alert("update markup total choice = " + choice);

		if (LeftCorner.ListFind('1,4,5,6,7',choice)) {
			choice = 1;
		}

		if (LeftCorner.ListFind('2,8,9,10,11',choice)) {
			choice = 2;
		}

		if (LeftCorner.ListFind('3,12,13,14,15',choice)) {
			choice = 3;
		}
	
		var golfMarkupTotal = calculateGolfMarkupTotal();
		var lodgingMarkupTotal = calculateLodgingMarkupTotal(choice);
		var expensesMarkupTotal = calculateExpensesMarkupTotal(choice);
		
//		if (lodgingMarkupTotal == 0) {
//			return false;
//		}
		
		var markupTotal = golfMarkupTotal + lodgingMarkupTotal + expensesMarkupTotal;
		var elMarkupTotal = "ppMarkupTotal" + choice;
		var elFormMarkupTotal = "frmppMarkupTotal" + choice;
		
		document.getElementById(elMarkupTotal).innerHTML = markupTotal.toFixed(2);
		document.getElementById(elFormMarkupTotal).value = markupTotal.toFixed(2);

//		alert("updated markup total = " + markupTotal);
	
		return parseFloat(markupTotal);
	
	}
	
	function updateExpenseTotal(choice) {
	
		var expenseTotal = calculateExpenseTotal();
		
//		alert("expense total in update = " + expenseTotal);
		
		var elExpenseTotal = "ppExpenseTotal" + choice;
		
		document.getElementById(elExpenseTotal).innerHTML = expenseTotal;
	
	}

	function calculatePerPersonCost(roomcost,golfcost,expenses,numplayers,markuptotal) {
	
//		alert("inside calc per person cost");
	
//		alert("room cost = " + roomcost);
//		alert("golf cost = " + golfcost);
//		alert("num players = " + numplayers);
	
		roomcost = parseFloat(roomcost);
		expenses = parseFloat(expenses);
		golfcost = parseInt(golfcost);

//		alert("room cost = " + roomcost);
//		alert("golf cost = " + golfcost);
//		alert("expense cost = " + expenses);		
//		alert("num players = " + numplayers);

	
//		alert("round room cost = " + roomcost);
	
		var cost = 0;
		var numerator = (roomcost + golfcost + expenses + markuptotal);

//		alert("cost numerator = " + numerator);

		if (numerator > 0) {

//			numerator = ((numerator * 100) / 100).toFixed(2);
//			numerator = LeftCorner.Ceiling((numerator * 100) / 100).toFixed(2);
//			numerator = (Math.round(numerator * 100) / 100).toFixed(2);
	//		alert("per person cost numerator = " + numerator);
			var cost = (numerator / parseInt(numplayers));
		
		}
		
//		alert("per person cost calc = " + parseFloat(cost));
		
		return parseFloat(cost);
	
	}

	function calculateLodgingCost(choice) {

//	alert("get lodging cost for choice " + choice);

	var objRoomCost1;
	var objRoomCost2;	
	var objRoomCost3;	
	var objRoomCost4;	
	var objRoomCost5;		
	var objRoomCost6;
	var objRoomCost7;
	var objRoomCost8;
	var objRoomCost9;
	var objRoomCost10;
	var objRoomCost11;
	var objRoomCost12;
	var objRoomCost13;
	var objRoomCost14;
	var objRoomCost15;
	
	var roomcost1 = 0;
	var roomcost2 = 0;
	var roomcost3 = 0;
	var roomcost4 = 0;
	var roomcost5 = 0;
	
	var costTotal = 0;
	
		if (LeftCorner.ListFind('1,4,5,6,7',choice)) {

			objRoomCost1 = document.getElementById("roomcost1");
			objRoomCost2 = document.getElementById("roomcost4");
			objRoomCost3 = document.getElementById("roomcost5");
			objRoomCost4 = document.getElementById("roomcost6");
			objRoomCost5 = document.getElementById("roomcost7");
	
//			alert("room cost 1 = " + objRoomCost1.value);
	
		}

		if (LeftCorner.ListFind('2,8,9,10,11',choice)) {

			objRoomCost1 = document.getElementById("roomcost2");
			objRoomCost2 = document.getElementById("roomcost8");
			objRoomCost3 = document.getElementById("roomcost9");
			objRoomCost4 = document.getElementById("roomcost10");
			objRoomCost5 = document.getElementById("roomcost11");
	
		}

		if (LeftCorner.ListFind('3,12,13,14,15',choice)) {

			objRoomCost1 = document.getElementById("roomcost3");
			objRoomCost2 = document.getElementById("roomcost12");
			objRoomCost3 = document.getElementById("roomcost13");
			objRoomCost4 = document.getElementById("roomcost14");
			objRoomCost5 = document.getElementById("roomcost15");

		}


			if (objRoomCost1.value.indexOf(",") > 0) {
				objRoomCost1.value = objRoomCost1.value.replace(',', '');
				
			}

			roomcost1 = objRoomCost1.value;

			if (objRoomCost2.value.indexOf(",") > 0) {
				objRoomCost2.value = objRoomCost2.value.replace(',', '');
			}

			roomcost2 = objRoomCost2.value;

			if (objRoomCost3.value.indexOf(",") > 0) {
				objRoomCost3.value = objRoomCost3.value.replace(',', '');
			}

			roomcost3 = objRoomCost3.value;

			if (objRoomCost4.value.indexOf(",") > 0) {
				objRoomCost4.value = objRoomCost4.value.replace(',', '');
			}

			roomcost4 = objRoomCost4.value;

			if (objRoomCost5.value.indexOf(",") > 0) {
				objRoomCost5.value = objRoomCost5.value.replace(',', '');
			}

			roomcost5 = objRoomCost5.value;
		
		costTotal = parseFloat(roomcost1) + parseFloat(roomcost2) + parseFloat(roomcost3) + parseFloat(roomcost4) + parseFloat(roomcost5);
	
//		alert("lodging cost total choice " + choice + " = " + costTotal);
	
		return costTotal;
	
	}


	function calculateGolfCost() {
	
		var objRateCost1 = document.getElementById('ratecost1');
		var objRateCost2 = document.getElementById('ratecost2');
		var objRateCost3 = document.getElementById('ratecost3');	
		var objRateCost4 = document.getElementById('ratecost4');
		var objRateCost5 = document.getElementById('ratecost5');	
		var objRateCost6 = document.getElementById('ratecost6');
		var objRateCost7 = document.getElementById('ratecost7');
		var objRateCost8 = document.getElementById('ratecost8');
		var objRateCost9 = document.getElementById('ratecost9');
		var objRateCost10 = document.getElementById('ratecost10');
		var objRateCost11 = document.getElementById('ratecost11');
		var objRateCost12 = document.getElementById('ratecost12');
		var objRateCost13 = document.getElementById('ratecost13');
		var objRateCost14 = document.getElementById('ratecost14');		

		var objNumplayers1 = document.getElementById('numplayers1');
		var objNumplayers2 = document.getElementById('numplayers2');
		var objNumplayers3 = document.getElementById('numplayers3');	
		var objNumplayers4 = document.getElementById('numplayers4');
		var objNumplayers5 = document.getElementById('numplayers5');	
		var objNumplayers6 = document.getElementById('numplayers6');
		var objNumplayers7 = document.getElementById('numplayers7');
		var objNumplayers8 = document.getElementById('numplayers8');
		var objNumplayers9 = document.getElementById('numplayers9');
		var objNumplayers10 = document.getElementById('numplayers10');
		var objNumplayers11 = document.getElementById('numplayers11');
		var objNumplayers12 = document.getElementById('numplayers12');
		var objNumplayers13 = document.getElementById('numplayers13');
		var objNumplayers14 = document.getElementById('numplayers14');		


		var objNumPlayers = document.getElementById('numplayers');

		if (isNaN(objNumPlayers.value)) {
			return 0;
		}

//		alert("numplayers 1 = " + parseInt(objRateCost1.value * objNumplayers1.value));

//		var rateCostTotal = parseInt(objRateCost1.value) + parseInt(objRateCost2.value) + parseInt(objRateCost3.value) + parseInt(objRateCost4.value) + parseInt(objRateCost5.value) + parseInt(objRateCost6.value) + parseInt(objRateCost7.value) + parseInt(objRateCost8.value) + parseInt(objRateCost9.value) + parseInt(objRateCost10.value) + parseInt(objRateCost11.value) + parseInt(objRateCost12.value);
//		rateCostTotal = rateCostTotal * parseInt(objNumPlayers.value);

		var rateCostTotal = parseInt(objRateCost1.value * objNumplayers1.value) + parseInt(objRateCost2.value * objNumplayers2.value) + parseInt(objRateCost3.value * objNumplayers3.value) + parseInt(objRateCost4.value * objNumplayers4.value) + parseInt(objRateCost5.value * objNumplayers5.value) + parseInt(objRateCost6.value * objNumplayers6.value) + parseInt(objRateCost7.value * objNumplayers7.value) + parseInt(objRateCost8.value * objNumplayers8.value) + parseInt(objRateCost9.value * objNumplayers9.value) + parseInt(objRateCost10.value * objNumplayers10.value) + parseInt(objRateCost11.value * objNumplayers11.value) + parseInt(objRateCost12.value * objNumplayers12.value) + parseInt(objRateCost13.value * objNumplayers13.value) + parseInt(objRateCost14.value * objNumplayers14.value);
	
//		alert("golf cost total = " + rateCostTotal);
	
		return parseFloat(rateCostTotal);
	
	}


	function clearLodgingMarkup(choice) {
	
		var markupTotal = "lodgingMarkupTotal" + choice;
		document.getElementById(markupTotal).innerHTML = 0;
		
//		alert("clear golf markup = " + document.getElementById(markupTotal).innerHTML);
	}


	function clearGolfCourseMarkup(choice) {
	
		var markupTotal = "gcMarkupTotal" + choice;
		document.getElementById(markupTotal).innerHTML = 0;
		
//		alert("clear golf markup = " + document.getElementById(markupTotal).innerHTML);
	}


	function calculateGolfMarkupTotal() {
	
		var objGolfMarkup1 = document.getElementById('gcMarkupTotal1');
		var objGolfMarkup2 = document.getElementById('gcMarkupTotal2');
		var objGolfMarkup3 = document.getElementById('gcMarkupTotal3');	
		var objGolfMarkup4 = document.getElementById('gcMarkupTotal4');
		var objGolfMarkup5 = document.getElementById('gcMarkupTotal5');	
		var objGolfMarkup6 = document.getElementById('gcMarkupTotal6');
		var objGolfMarkup7 = document.getElementById('gcMarkupTotal7');
		var objGolfMarkup8 = document.getElementById('gcMarkupTotal8');
		var objGolfMarkup9 = document.getElementById('gcMarkupTotal9');
		var objGolfMarkup10 = document.getElementById('gcMarkupTotal10');
		var objGolfMarkup11 = document.getElementById('gcMarkupTotal11');
		var objGolfMarkup12 = document.getElementById('gcMarkupTotal12');										
		var objGolfMarkup13 = document.getElementById('gcMarkupTotal13');										
		var objGolfMarkup14 = document.getElementById('gcMarkupTotal14');												


//		alert("golf markup 11 = " + objGolfMarkup11.innerHTML);
		
		var markupTotal = parseFloat(objGolfMarkup1.innerHTML) + parseFloat(objGolfMarkup2.innerHTML) + parseFloat(objGolfMarkup3.innerHTML) + parseFloat(objGolfMarkup4.innerHTML) + parseFloat(objGolfMarkup5.innerHTML) + parseFloat(objGolfMarkup6.innerHTML) + parseFloat(objGolfMarkup7.innerHTML) + parseFloat(objGolfMarkup8.innerHTML) + parseFloat(objGolfMarkup9.innerHTML) + parseFloat(objGolfMarkup10.innerHTML) + parseFloat(objGolfMarkup11.innerHTML) + parseFloat(objGolfMarkup12.innerHTML);
	
//		alert("golf markup total = " + markupTotal);
	
		return markupTotal;
	
	}

	function calculateLodgingMarkupTotal(choice) {
	
//		alert("choice in lodging markup total = " + choice);
	
		if (LeftCorner.ListFind('1,4,5,6,7',choice)) {

			var objLodgingMarkup1 = document.getElementById("lodgingMarkupTotal1");		
			var objLodgingMarkup2 = document.getElementById("lodgingMarkupTotal4");		
			var objLodgingMarkup3 = document.getElementById("lodgingMarkupTotal5");		
			var objLodgingMarkup4 = document.getElementById("lodgingMarkupTotal6");		
			var objLodgingMarkup5 = document.getElementById("lodgingMarkupTotal7");

//			alert("lodging " + choice + " found in listfind for choice 1");
		
		}

		if (LeftCorner.ListFind('2,8,9,10,11',choice)) {

			var objLodgingMarkup1 = document.getElementById("lodgingMarkupTotal2");		
			var objLodgingMarkup2 = document.getElementById("lodgingMarkupTotal8");		
			var objLodgingMarkup3 = document.getElementById("lodgingMarkupTotal9");		
			var objLodgingMarkup4 = document.getElementById("lodgingMarkupTotal10");		
			var objLodgingMarkup5 = document.getElementById("lodgingMarkupTotal11");
		
		}

		if (LeftCorner.ListFind('3,12,13,14,15',choice)) {

			var objLodgingMarkup1 = document.getElementById("lodgingMarkupTotal3");		
			var objLodgingMarkup2 = document.getElementById("lodgingMarkupTotal12");		
			var objLodgingMarkup3 = document.getElementById("lodgingMarkupTotal13");		
			var objLodgingMarkup4 = document.getElementById("lodgingMarkupTotal14");		
			var objLodgingMarkup5 = document.getElementById("lodgingMarkupTotal15");
		
		}
	
		var markupTotal = parseFloat(objLodgingMarkup1.innerHTML) + parseFloat(objLodgingMarkup2.innerHTML) + parseFloat(objLodgingMarkup3.innerHTML) + parseFloat(objLodgingMarkup4.innerHTML) + parseFloat(objLodgingMarkup5.innerHTML);

//		alert("lodging markup total = " + markupTotal);
	
		return markupTotal;
	
	}

	function calculateExpensesMarkupTotal(choice) {
	
//		alert("inside calculate expenses markup total for choice " + choice);
	
		if (LeftCorner.ListFind('1,4,5,6,7',choice)) {
			choice = 1;
		}

		if (LeftCorner.ListFind('2,8,9,10,11',choice)) {
			choice = 2;
		}

		if (LeftCorner.ListFind('3,12,13,14,15',choice)) {
			choice = 3;
		}
	
		var elExpensesMarkup = "expensesMarkupTotal" + choice;
	
		var objExpensesMarkup = document.getElementById(elExpensesMarkup);
		
		var markupTotal = parseFloat(objExpensesMarkup.innerHTML);
	
//		alert("leaving calculate expenses markup total");
	
		return markupTotal;
	
	}
	

			function calculateExpenses(choice) {
			
//				alert("inside calculate expenses");
			
				if (LeftCorner.ListFind('1,4,5,6,7',choice)) {
					choice = 1;
				}
		
				if (LeftCorner.ListFind('2,8,9,10,11',choice)) {
					choice = 2;
				}
		
				if (LeftCorner.ListFind('3,12,13,14,15',choice)) {
					choice = 3;
				}

			
				var expenseCount = jsExpenseList.getRowCount();
				
//				alert("row count = " + expenseCount);
				
				var cbExpenseItem = '';
				var elExpenseItem;
				var expenseID;
				var expenseTotal = 0;
				var rowIndex = 0;
				
				for (c=0;c < expenseCount; c++) {
				
//					rowIndex = c + 1;
					expenseID = jsExpenseList.miscexpenseid[c];
				

				
					elExpenseItem = 'cbMiscExpense' + choice + '_' + expenseID;
					elExpenseAmount = 'expenseAmount' + choice + '_' + expenseID;
					elExpenseQuantity = 'expenseQuantity' + choice + '_' + expenseID;
					objExpenseItem = document.getElementById(elExpenseItem);
					objExpenseAmount = document.getElementById(elExpenseAmount);
					objExpenseQuantity = document.getElementById(elExpenseQuantity);

					if (objExpenseItem.checked) {

//						alert("expense ID " + expenseID + " checked " + objExpenseItem.checked);
					
						if (LeftCorner.IsNumeric(objExpenseAmount.value) && LeftCorner.IsNumeric(objExpenseQuantity.value)) {
					
							expenseTotal = expenseTotal + (objExpenseAmount.value * objExpenseQuantity.value);
					
						}
					
					}
				
				}
			
//				alert("returned expense total = " + expenseTotal);
			
				return parseFloat(expenseTotal);
			
			}


	function lodgeRoomHandler(el) {

		var roomTypeTarget = "roomTypeID";
		var targetResult = setRoomTypeTarget(roomTypeTarget);
		
		var lodging = DWRUtil.getValue(el);
		DWREngine._execute(_cfscriptLocation, null, 'roomtypelookup', lodging, getRoomTypeResult);

	
	
	}

	function calendarHandler(src,target,calanchor) {

//		var elArrivalDate = (evt.target) ? evt.target.id : ((evt.srcElement) ? evt.srcElement.id : null);
		var objSource = document.getElementById(src);
		var objTarget = document.getElementById(target);
		
//		alert('arrival = ' + objArrivalDate.value);
		
		if (! objTarget.value.length) {
			if (objSource.value.length) {
				objTarget.value = objSource.value;
			}
		}
		
//		alert("length = " + calanchor.length);
		if (calanchor.length) {
			if (target == 'arrivalDate') {		
				cal1.select(document.forms[0].arrivalDate,calanchor,'MM/dd/yyyy');
			}
			if (target == 'departDate') {
				cal1.select(document.forms[0].departDate,calanchor,'MM/dd/yyyy'); 
			}
		}
	
	}

	function lodgingHandler(evt) {
	
		var elLodging = (evt.target) ? evt.target.id : ((evt.srcElement) ? evt.srcElement.id : null);

		var objRoomtype = roomTypeHandler(elLodging);

//		updateCost(elLodging);

//		var choice = lodgingElement.substr(7,1);

//		var objLodging = document.getElementById(lodgingElement);
//		var roomtype = "roomtype" + choice;

//		lodgingvalue = objLodging.options[objLodging.selectedIndex].value;
//		alert("lodging value = " + lodgingvalue);

//		var arrivalDate = document.getElementById('arrivalDate').value;
//		var departDate = document.getElementById('departDate').value;
		
		


//		var objRoomtype = document.getElementById(roomtype);
//		roomtypevalue = objRoomtype.options[objRoomtype.selectedIndex].text;
		
//		var updatedRoomTypeValue = DWRUtil.getValue('roomtype1');
		
//		var updatedRoomType = getUpdatedRoomType();
		
//		var updatedRoomTypeValue = updatedRoomType.options[updatedRoomType.selectedIndex].value;

//		alert("test value = " + updatedRoomTypeValue);
		

//		var lodgingDetails = choice + "," + lodgingvalue + "," + arrivalDate + "," + departDate;

//		alert(lodgingDetails);

//		DWREngine._execute(_cfscriptLocation, null, 'getLodgingDetails', lodgingDetails, getLodgingDetailResult);

//		var lodgingDetail = getLodgingDetail(choice,lodgingvalue,updatedRoomTypeValue,arrivalDate,departDate);
		

	}

	function getLodgingDetailResult(_lodgingDetailObject) {
		lodgingDetailObject = _lodgingDetailObject;
//		alert("cost = " + lodgingDetailObject.COST);
//		alert ("lodging detail markup display = " + lodgingDetailObject.DISPLAYLODGINGMARKUP);
//		alert("display field = " + lodgingDetailObject.DISPLAYFIELD);
//		alert("lodging detail display total cost = " + lodgingDetailObject.DISPLAYTOTALCOST);
//		alert("total cost = " + lodgingDetailObject.TOTALCOST);
//		alert("display field value = " + document.getElementById('roomcost2detail').innerHTML);
		document.getElementById(lodgingDetailObject.DISPLAYFIELD).innerHTML = lodgingDetailObject.COST;
		document.getElementById(lodgingDetailObject.DISPLAYTOTALCOST).value = lodgingDetailObject.TOTALCOST;

//		alert("lodging detail display lodging element = " + lodgingDetailObject.DISPLAYPPLODGING);
		document.getElementById(lodgingDetailObject.DISPLAYPPLODGING).innerHTML = lodgingDetailObject.TOTALCOST;

		document.getElementById(lodgingDetailObject.DISPLAYLODGINGMARKUP).innerHTML = parseFloat(lodgingDetailObject.MARKUPTOTAL).toFixed(2);

//		alert("choice in lodging detail result = " + lodgingDetailObject.CHOICE);

//		updatePerPersonCost(lodgingDetailObject.CHOICE);
		updateMarkupTotal(lodgingDetailObject.CHOICE);
//		alert("getting ready to call updatePackageTotal in lodging detail");
		updatePackageTotal(lodgingDetailObject.CHOICE);

//		document.getElementById(lodgingDetailObject.DISPLAYFIELD).style.display = 'block';
//		alert("after update lodging detail");
	}


	function getLodgingChangeDetailResult(_lodgingDetailObject) {
		lodgingDetailObject = _lodgingDetailObject;
//		alert("cost = " + lodgingDetailObject.COST);
//		alert ("lodging detail markup display = " + lodgingDetailObject.DISPLAYLODGINGMARKUP);
//		alert("display field = " + lodgingDetailObject.DISPLAYFIELD);
//		alert("lodging detail display total cost = " + lodgingDetailObject.DISPLAYTOTALCOST);
//		alert("total cost = " + lodgingDetailObject.TOTALCOST);
//		alert("display field value = " + document.getElementById('roomcost2detail').innerHTML);
		document.getElementById(lodgingDetailObject.DISPLAYFIELD).innerHTML = lodgingDetailObject.COST;
//		document.getElementById(lodgingDetailObject.DISPLAYTOTALCOST).value = lodgingDetailObject.TOTALCOST;

//		alert("lodging detail display lodging element = " + lodgingDetailObject.DISPLAYPPLODGING);
		document.getElementById(lodgingDetailObject.DISPLAYPPLODGING).innerHTML = lodgingDetailObject.TOTALCOST;

		document.getElementById(lodgingDetailObject.DISPLAYLODGINGMARKUP).innerHTML = parseFloat(lodgingDetailObject.MARKUPTOTAL).toFixed(2);

//		alert("choice in lodging detail result = " + lodgingDetailObject.CHOICE);

//		updatePerPersonCost(lodgingDetailObject.CHOICE);
		updateMarkupTotal(lodgingDetailObject.CHOICE);
//		alert("getting ready to call updatePackageTotal in lodging detail");
		updatePackageTotal(lodgingDetailObject.CHOICE);

//		document.getElementById(lodgingDetailObject.DISPLAYFIELD).style.display = 'block';
//		alert("after update lodging detail");
	}


	function roomTypeHandler(lodging) {

//		var lodgingElement = (evt.target) ? evt.target.id : ((evt.srcElement) ? evt.srcElement.id : null);

		if (lodging.length == 7) {
			var choice = lodging.substr(7,1);
		} else {
			var choice = lodging.substr(7,2);
		}

		var roomTypeTarget = "roomtype" + choice;
		var bedcountTarget = "bedcount" + choice;
		var breakfastTarget = "breakfast" + choice;

		var targetResult = setRoomTypeTarget(roomTypeTarget);

		var objRoomtype = getRoomType(lodging);

		if (document.getElementById(bedcountTarget)) {
			document.getElementById(bedcountTarget).innerHTML = '';
		}

		if (document.getElementById(breakfastTarget)) {
			document.getElementById(breakfastTarget).innerHTML = '';
		}

		var lodging = DWRUtil.getValue(lodging);
		var breakfastParams = choice + ',' + lodging;
		DWREngine._execute(_cfscriptLocation, null, 'breakfastlookup', breakfastParams, getBreakfastResult);

		
//		var objRoomtype = document.getElementById(roomTypeTarget);

		return objRoomtype;

}

	function bedCountHandler(roomtype) {
	
//		alert("bed count handler");
	
		if (roomtype.length == 8) {
			var choice = roomtype.substr(8,1);
		} else {
			var choice = roomtype.substr(8,2);
		}

		var lodging = "lodging" + choice;
		var lodgingID = DWRUtil.getValue(lodging);
		var roomtypeID = DWRUtil.getValue(roomtype);
		var bedinfo = choice + "," + lodgingID + "," + roomtypeID;
		
		DWREngine._execute(_cfscriptLocation, null, 'getbedcount', bedinfo, getBedCountResult);

	
	
	}

	function getBedCountResult(_bedcountObject) {
	
		bedcountObject = _bedcountObject;
//		alert("displayfield = " + bedcountObject.DISPLAYFIELD);

		document.getElementById(bedcountObject.DISPLAYFIELD).innerHTML = bedcountObject.BEDCOUNT;
	
	}

	function getBreakfastResult(_breakfastObject) {
	
		breakfastObject = _breakfastObject;
//		alert("displayfield = " + bedcountObject.DISPLAYFIELD);

		document.getElementById(breakfastObject.DISPLAYFIELD).innerHTML = breakfastObject.TYPES;
	
	}


	function getRoomType(elementName)
	{
		var lodging = DWRUtil.getValue(elementName);
		DWREngine._execute(_cfscriptLocation, null, 'roomtypelookup', lodging, getRoomTypeResult);

		
		return document.getElementById(getRoomTypeTarget());
	}
	
	function getRoomTypeResult(roomTypeArray)
	{

		var targetElement = getRoomTypeTarget();

		DWRUtil.removeAllOptions(targetElement);
		DWRUtil.addOptions(targetElement, roomTypeArray, "KEY", "VALUE");

		var roomtypevalue = document.getElementById(targetElement).options[document.getElementById(targetElement).selectedIndex].value;

//		alert("room type value = " + roomtypevalue);

//		setUpdatedRoomType(document.getElementById(targetElement));
		
	}


	function ratetypeHandler(choice)
	{
//		var ratetypeID = (evt.target) ? evt.target.id : ((evt.srcElement) ? evt.srcElement.id : null);
//		var choice = ratetypeID.substr(8,1);

		getCourseRate(choice);
	}
	
	function getResult_gccost(_courserateObject)
	{
		courserateObject = _courserateObject;
//		alert("displayfield = " + courserateObject.DISPLAYFIELD);
		DWRUtil.setValue(courserateObject.DISPLAYFIELD, courserateObject.COST);
		document.getElementById(courserateObject.MARKUPTOTALDISPLAY).innerHTML = courserateObject.MARKUPTOTAL;

//		updatePerPersonCost(1);
//		updatePerPersonCost(2);
//		updatePerPersonCost(3);
		
		updateMarkupTotal(1);
		updateMarkupTotal(2);
		updateMarkupTotal(3);		

//		updateExpenseTotal(1);
//		updateExpenseTotal(2);
//		updateExpenseTotal(3);		
		
		updatePackageTotal(1);
		updatePackageTotal(2);
		updatePackageTotal(3);		
		
//		document.getElementById(courserateObject.DISPLAYFIELD).innerHTML = courserateObject.COST;
	}

	function removeLodging(choice) {
	
	confirmedResponse = confirm("Clear lodging choice?");
	
		if (confirmedResponse) {
	
		var lodging = "lodging" + choice;
		var roomtype = "roomtype" + choice;
		var roomcount = "roomcount" + choice;
		var roomcost = "roomcost" + choice;
		var roomdetail = "roomcost" + choice + "detail";
		var breakfast = "breakfast" + choice;
		var costOverride = "costOverride" + choice;


		var objLodging = document.getElementById(lodging);
		var objRoomtype = document.getElementById(roomtype);
		var objRoomcount = document.getElementById(roomcount);	
		var objRoomcost = document.getElementById(roomcost);
		var objBreakfast = document.getElementById(breakfast);
		var objRoomdetail = document.getElementById(roomdetail);
		var objCostOverride = document.getElementById(costOverride);
		
//		objRoomtype.attributes["onChange"].value = "updateCost(" + "'lodging" + choice + "'" + ")";
	
		objRoomtype.onchange = function() {updateCost(lodging)}
	
		DWRUtil.removeAllOptions(roomtype);

	
		objLodging.selectedIndex = 0;
		objRoomtype.options[0] = new Option('Select room type','0')
		objRoomtype.selectedIndex = 0;
		objRoomcount.value = 0;
		objRoomcost.value = 0;
		objBreakfast.innerHTML = '';
		objRoomdetail.innerHTML = '';
		objCostOverride.value = 0;
		
		clearLodgingMarkup(choice);
	
		updatePackageTotal(choice);
		
		}
//		alert("after package update");
	
	}

	function removeCourse(choice) {
	
		confirmedResponse = confirm("Clear golf course choice?");
	
		if (confirmedResponse) {

	
		var course = "course" + choice;
		var playdate = "playDate" + choice;
		var teetime = "teetime" + choice;
		var numplayers = "numplayers" + choice;
		var ratetype = "ratetype" + choice;
		var ratecost = "ratecost" + choice;
		var playweekday = "playDateWeekDay" + choice;

		var objPlayerCount = document.getElementById('numplayers');		
		
		var objCourse = document.getElementById(course);
		var objPlayDate = document.getElementById(playdate);
		var objTeetime = document.getElementById(teetime);
		var objNumPlayers = document.getElementById(numplayers);
		var objRatetype = document.getElementById(ratetype);
		var objRatecost = document.getElementById(ratecost);
		var objPlayWeekday = document.getElementById(playweekday);
		
		objCourse.selectedIndex = 0;
		objPlayDate.value = '';
		objTeetime.value = '';
		
		if (isNaN(objPlayerCount.value)) {
			objNumPlayers.value = 0;
		} else {
			objNumPlayers.value = objPlayerCount.value;
		}

		objRatetype.selectedIndex = 0;
		objRatecost.value = 0;
		objPlayWeekday.innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;';
	
		clearGolfCourseMarkup(choice);
		
		updateAllPackages();
		
		}
	
	}


	function init()
	{
//		DWRUtil.useLoadingMessage();
//		DWREngine._errorHandler =  errorHandler;
//		loadInfo();
		
//		YAHOO.example.init();

/*
		if (document.getElementById('cal2Container')) {
			YAHOO.example.calendar.cal2 = new YAHOO.widget.Calendar("cal2","cal2Container", { title:"Choose a date:", close:false } );
			YAHOO.example.calendar.cal2.selectEvent.subscribe(handleSelect, YAHOO.example.calendar.cal2, true);
			YAHOO.example.calendar.cal2.render();
			YAHOO.example.calendar.cal2.show();
	//		YAHOO.example.calendar.cal2.hide();		
		}

		if (document.getElementById('cal3Container')) {
			YAHOO.example.calendar.cal3 = new YAHOO.widget.Calendar("cal3","cal3Container", { title:"Choose a date:", close:false } );
			YAHOO.example.calendar.cal3.selectEvent.subscribe(handleDateSelect, YAHOO.example.calendar.cal3, true);
			YAHOO.example.calendar.cal3.render();
			YAHOO.example.calendar.cal3.show();
	//		YAHOO.example.calendar.cal2.hide();		
		}

		if (document.getElementById('cal4Container')) {
			YAHOO.example.calendar.cal4 = new YAHOO.widget.Calendar("cal4","cal4Container", { title:"Choose a date:", close:false } );
			YAHOO.example.calendar.cal4.selectEvent.subscribe(handleQuoteDate, YAHOO.example.calendar.cal4, true);
			YAHOO.example.calendar.cal4.render();
			YAHOO.example.calendar.cal4.show();
	//		YAHOO.example.calendar.cal2.hide();		
		}

		if (document.getElementById('cal5Container')) {
			YAHOO.example.calendar.cal5 = new YAHOO.widget.Calendar("cal5","cal5Container", { title:"Choose a date:", close:false } );
			YAHOO.example.calendar.cal5.selectEvent.subscribe(handleQuoteGolfDate, YAHOO.example.calendar.cal5, true);
			YAHOO.example.calendar.cal5.render();
			YAHOO.example.calendar.cal5.show();
	//		YAHOO.example.calendar.cal2.hide();		
		}


		if (document.getElementById('panel1')) {
			testpopup1 = new PopupWindow("panel1");
			testpopup1.offsetY = 25;
			testpopup1.autoHide();		
		}

		if (document.getElementById('panel2')) {
			testpopup2 = new PopupWindow("panel2");
			testpopup2.offsetY = 25;
			testpopup2.autoHide();		
		}

		if (document.getElementById('panel3')) {
			testpopup3 = new PopupWindow("panel3");
			testpopup3.offsetY = 25;
			testpopup3.autoHide();		
		}

		if (document.getElementById('panel4')) {
			testpopup4 = new PopupWindow("panel4");
			testpopup4.offsetY = 25;
			testpopup4.autoHide();		
		}

*/

//		testpopup1 = new PopupWindow();
//		testpopup1.offsetX=0;
//		testpopup1.offsetY=0;
//		testpopup1.setSize(200,200);
//		testpopup1.setUrl(_calendarLocation);
//		testpopup1.autoHide();

		
		// Listener to show the 1-up Calendar when the button is clicked

//		YAHOO.util.Event.addListener("aPlayDate1", "click", showGolfCalendar, YAHOO.example.calendar.cal2, true);
//		YAHOO.util.Event.addListener("aPlayDate1", "click", YAHOO.example.calendar.cal2.show, YAHOO.example.calendar.cal2, true);

		
	}

YAHOO.util.Event.addListener(window, "load", init);
//	window.onload=init;

var thisPlayDateField = null;
var thisDateField = null;

YAHOO.namespace("example.calendar");

	function showGolfCalendar(anchor,playDate) {
	
		setPlayDateField(playDate);
	
		var objPlayDate = document.getElementById(playDate);
		var objArrivalDate = document.getElementById('arrivalDate');
	
		var calendarUpdated = false;
	
		if (isDate(objPlayDate.value)) {
			YAHOO.example.calendar.cal2.select(objPlayDate.value);
			calendarUpdated = true;
		} else if (isDate(objArrivalDate.value)) {
			YAHOO.example.calendar.cal2.select(objArrivalDate.value);
			calendarUpdated = true;
		}
	
		if (calendarUpdated) {

			var firstDate = YAHOO.example.calendar.cal2.getSelectedDates()[0]; 
		 
			// Set the Calendar's page to the earliest selected date 
			YAHOO.example.calendar.cal2.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());  
	
			YAHOO.example.calendar.cal2.render();
		
		}

		testpopup1.showPopup(anchor);
	
	
	}

	function showDefaultCalendar(anchor,dateField) {
	
		setDateField(dateField);
	
		var objDateField = document.getElementById(dateField);
	
		var calendarUpdated = false;
	
		if (isDate(objDateField.value)) {
			YAHOO.example.calendar.cal3.select(objDateField.value);
			calendarUpdated = true;
		}
	
		if (calendarUpdated) {

			var firstDate = YAHOO.example.calendar.cal3.getSelectedDates()[0]; 
		 
			// Set the Calendar's page to the earliest selected date 
			YAHOO.example.calendar.cal3.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());  
	
			YAHOO.example.calendar.cal3.render();
		
		}

		testpopup2.showPopup(anchor);
	
	
	}

	function showQuoteCalendar(anchor,dateField) {
	
		setDateField(dateField);
	
		var objArrivalDate = document.getElementById('arrivalDate');
		var objDateField = document.getElementById(dateField);
	
		var calendarUpdated = false;
	
		if (isDate(objDateField.value)) {
			YAHOO.example.calendar.cal4.select(objDateField.value);
			calendarUpdated = true;
		}

		if (dateField == 'departDate' && ! isDate(objDateField.value)) {
			if (isDate(objArrivalDate.value)) {
				YAHOO.example.calendar.cal4.select(objArrivalDate.value);
				calendarUpdated = true;
			}
		}
	
		if (calendarUpdated) {

			var firstDate = YAHOO.example.calendar.cal4.getSelectedDates()[0]; 
		 
			// Set the Calendar's page to the earliest selected date 
			YAHOO.example.calendar.cal4.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());  
	
			YAHOO.example.calendar.cal4.render();
		
		}

		testpopup3.showPopup(anchor);
	
	
	}


	function showQuoteGolfCalendar(anchor,playDate) {
	
		setPlayDateField(playDate);
	
		var objArrivalDate = document.getElementById('arrivalDate');
		var objDepartDate = document.getElementById('departDate');

		var dateValue;
		var compDates;

		var dateUpdated = false;


		if (isDate(objDepartDate.value)) {

			if (isDate(objArrivalDate.value)) {



				compDates = compareDates(objArrivalDate.value,"mm/dd/yyyy",objDepartDate.value,"mm/dd/yyyy");				

				if (compDates == 1) {
					objDepartDate.value = objArrivalDate.value;
				}
			
			}

			dateValue = objDepartDate.value;
			dateUpdated = true;
		} else if (isDate(objArrivalDate.value)) {
			dateValue = objArrivalDate.value;
			dateUpdated = true;
		}
	
		if (dateUpdated) {

			if (playDate == 'departDate') {
				document.getElementById(playDate).value = dateValue;
			}

			var weekdayId = playDate + 'Weekday';
			
			if (document.getElementById(weekdayId)) {
		
				document.getElementById(weekdayId).innerHTML = formatDate(parseDate(dateValue),'E');

			}
	
		}

		showCalendar(playDate, '%m/%d/%Y');

	}

	
	function setPlayDateField(playDate) {
	
		thisPlayDateField = playDate;
	
	}

	function getPlayDateField() {
	
		return thisPlayDateField;
	
	}

	function setDateField(date) {
	
		thisDateField = date;
	
	}

	function getDateField() {
	
		return thisDateField;
	
	}

	function handleSelect(type,args,obj) {
		var dates = args[0]; 
		var date = dates[0];
		var year = date[0], month = date[1], day = date[2];
		
		// month is an integer by default; adding an empty space string converts month to a string; Len method only works with strings
		month = month + "";
		
		if (LeftCorner.Len(month) == 1) {
			month = '0' + month;
		}		
//		alert("type = " + type);
//		alert("handle select");

		var playDateField = getPlayDateField();
		
//		alert("playDate field len = " + playDateField.length);
		if (playDateField.length == 9) {
			playDateIndex = playDateField.substr(8,1);
		} else {
			playDateIndex = playDateField.substr(8,2);
		}
		
//		alert("play date index = " + playDateIndex);
		
		var txtDate = document.getElementById(playDateField);
		txtDate.value = month + "/" + day + "/" + year;

		var weekDayAsAbbrev = getWeekDayAsAbbrev(txtDate);
		
		if (weekDayAsAbbrev.length == 1) {
			if (weekDayAsAbbrev == 'F') {
				weekDayAsAbbrev = weekDayAsAbbrev + "&nbsp;&nbsp;";
			} else {
				weekDayAsAbbrev = weekDayAsAbbrev + "&nbsp;";
			}
		}
		
		var abbrevWeekDay = "playDateWeekDay" + playDateIndex;
		
		document.getElementById(abbrevWeekDay).innerHTML = weekDayAsAbbrev;
		
//		YAHOO.example.calendar.cal2.hide();
		testpopup1.hidePopup();
		
		playdateHandler(playDateIndex);

	}

	function handleDateSelect(type,args,obj) {
		var dates = args[0]; 
		var date = dates[0];
		var year = date[0], month = date[1], day = date[2];
		
		// month is an integer by default; adding an empty space string converts month to a string; Len method only works with strings
		month = month + "";
		
		if (LeftCorner.Len(month) == 1) {
			month = '0' + month;
		}
		
//		alert("type = " + type);
//		alert("handle select");

		var dateField = getDateField();
		
//		alert("play date index = " + playDateIndex);
		
		var txtDate = document.getElementById(dateField);
		txtDate.value = month + "/" + day + "/" + year;
		
//		YAHOO.example.calendar.cal2.hide();
		testpopup2.hidePopup();
		
	}

	function handleQuoteDate(type,args,obj) {
		var dates = args[0]; 
		var date = dates[0];
		var year = date[0], month = date[1], day = date[2];
		
		// month is an integer by default; adding an empty space string converts month to a string; Len method only works with strings
		month = month + "";
		
		if (LeftCorner.Len(month) == 1) {
			month = '0' + month;
		}
		
//		alert("type = " + type);
//		alert("handle select");

		var dateField = getDateField();
		
//		alert("play date index = " + playDateIndex);
		
		var txtDate = document.getElementById(dateField);
		txtDate.value = month + "/" + day + "/" + year;
		
//		YAHOO.example.calendar.cal2.hide();
		testpopup3.hidePopup();
		
	}

	function handleQuoteGolfDate(type,args,obj) {
		var dates = args[0]; 
		var date = dates[0];
		var year = date[0], month = date[1], day = date[2];
		
		// month is an integer by default; adding an empty space string converts month to a string; Len method only works with strings
		month = month + "";
		
		if (LeftCorner.Len(month) == 1) {
			month = '0' + month;
		}
		
//		alert("type = " + type);
//		alert("handle select");

		var dateField = getPlayDateField();
		
//		alert("play date index = " + playDateIndex);
		
		var txtDate = document.getElementById(dateField);
		txtDate.value = month + "/" + day + "/" + year;
		
//		YAHOO.example.calendar.cal2.hide();
		testpopup4.hidePopup();
		
	}


	
	function courseHandler(choice) {
	
//		var courseElement = (evt.target) ? evt.target.id : ((evt.srcElement) ? evt.srcElement.id : null);
//		var choice = courseElement.substr(6,1);
		
		var numplayers = "numplayers" + choice;

		var objPlayerCount = document.getElementById('numplayers');		
		var objNumPlayers = document.getElementById(numplayers);
		
		if (isNaN(objPlayerCount.value)) {
			objNumPlayers.value = 0;
		} else {
			if (objNumPlayers.value == 0) {
				objNumPlayers.value = objPlayerCount.value;
			}
		}


		getCourseRate(choice);

	}

	function playdateHandler(choice,obj) {
	
//		var playdateElement = (evt.target) ? evt.target.id : ((evt.srcElement) ? evt.srcElement.id : null);
		
		var isValid;
		
		if (obj.value.length) {
			var isValid = validateDate(obj);

			if (! isValid) {
				return false;
			}
	
			isValid = isDate(obj.value);
	
			if (! isValid) {
				alert("Date enterd is not valid.");
				obj.focus();
				return false;
			}
		
		}



//		var choice = playdateElement.substr(8,1);
//		alert("play date choice = " + choice);
		getCourseRate(choice);

	}


	function validatePhone(obj) {
		
		if (obj.value.length && obj.value.length != 12) {
			alert("Phone number must be entered using the ###-###-#### format.");
	
			obj.focus();	
			return false;
		
		}
		
		return true;
	}

	function validateDate(obj) {
		
		if (obj.value.length && obj.value.length != 10) {
			alert("Date must be entered using the ##/##/#### format.");
	
			obj.focus();	
			return false;
		
		}
		
		return true;
	}



	function rateCostHandler(choice) {
	
		var elPlayerCount = "numplayers" + choice;
		var playerCount = DWRUtil.getValue(elPlayerCount);
		
		var elCostMarkup = "packageMarkup";
		var gcmarkup = DWRUtil.getValue(elCostMarkup);

		var elRatecost = "ratecost" + choice;
		var ratecost = DWRUtil.getValue(elRatecost);
		
		var golfChoiceMarkup = ((ratecost * gcmarkup) / 100) * playerCount;
//		var golfChoiceMarkup = Math.round((ratecost * gcmarkup) / 100) * playerCount;
		var gcmarkupTarget = "gcMarkupTotal" + choice;
		
		document.getElementById(gcmarkupTarget).innerHTML = golfChoiceMarkup;		

		
//		updatePerPersonCost(1);
//		updatePerPersonCost(2);
//		updatePerPersonCost(3);
		

//		updateExpenseTotal(1);
//		updateExpenseTotal(2);
//		updateExpenseTotal(3);		
		
		updateAllPackages()
	
	
	}

	function getCourseRate(choice) {
	
//		alert("inside getcourserate = " + choice);
	
		var ratetypeID = "ratetype" + choice;
		var ratetype = DWRUtil.getValue(ratetypeID);
		if (ratetype == '') {
			ratetype = 0;
		}
		var courseID = "course" + choice;
		var elCostMarkup = "packageMarkup";

		var course = DWRUtil.getValue(courseID);
		
		if (course == 0) {
			return false;
		}
		
		var playdateID = "playDate" + choice;
		var playdate = DWRUtil.getValue(playdateID);
		var gcmarkup = DWRUtil.getValue(elCostMarkup);
		var elPlayerCount = "numplayers" + choice;
		var playerCount = DWRUtil.getValue(elPlayerCount);
		
		if (ratetype == 4) {
		
			var elRatecost = "ratecost" + choice;
			var ratecost = DWRUtil.getValue(elRatecost);


			var golfChoiceMarkup = ((ratecost * gcmarkup) / 100) * playerCount;
//			var golfChoiceMarkup = Math.round((ratecost * gcmarkup) / 100) * playerCount;
			var gcmarkupTarget = "gcMarkupTotal" + choice;
			
			document.getElementById(gcmarkupTarget).innerHTML = golfChoiceMarkup;		
		
		} else {

			var courserate = choice + "," + course + "," + playdate + "," + ratetype + "," + gcmarkup + ',' + playerCount;
	//		alert("courserate = " + courserate);
	//		alert("script loc: " + _cfscriptLocation);
			DWREngine._execute(_cfscriptLocation, null, 'courseratecost', courserate, getResult_gccost);
		
		}
	
	}
	
	function arrivalDateHandler(obj) {
	
		if (obj.value.length > 0) {
			if (isDate(obj.value)==false) {
				document.getElementById('arrivalDateWeekday').innerHTML = '';
				obj.focus();
				return false;
			}
			
			document.getElementById('arrivalDateWeekday').innerHTML = formatDate(parseDate(obj.value),'E');
			
		}

	}

	function departDateHandler(obj) {
	
		if (obj.value.length > 0) {
			if (isDate(obj.value)==false) {
				document.getElementById('departDateWeekday').innerHTML = '';
				obj.focus();
				return false;
			}

			// var weekDayAsString = getWeekDayAsString(obj);
			// alert("week day: " + weekDayAsString);
			
			document.getElementById('departDateWeekday').innerHTML = formatDate(parseDate(obj.value),'E');
			
		}

	}
	
	function playDateCalendar(choice,anchorID) {
	
		alert("inside play date calendar");
	
		var elPlaydate = 'playdate' + choice;
		var objPlaydate = document.getElementById(elPlaydate);
		var arrivalDate = document.getElementById("arrivalDate");
		
	
		if (! objPlaydate.value.length && isDate(arrivalDate.value)) {
			cal1.select(objPlaydate,anchorID,'MM/dd/yyyy',arrivalDate.value)
		} else {
			cal1.select(objPlaydate,anchorID,'MM/dd/yyyy'); return false;
//			cal1.select(document.forms[0].playDate1,'aPlayDate1','MM/dd/yyyy'); return false;
		}
	}


	function getWeekDayAsString(obj) {
	
		// create a default date object
		var scheduleDate=new Date();

		// parse the date into date parts
		var scheduleMonth = parseInt(obj.value.substring(0,2))-1;
		var scheduleDay = obj.value.substring(3,5);
		var scheduleYear = obj.value.substring(6,10);
	
		// set the date parts taken from the date value and update the date object
		scheduleDate.setFullYear(scheduleYear,scheduleMonth,scheduleDay);
		
		var dayOfWeek = scheduleDate.getDay();
		var weekDayAsString = weekday[dayOfWeek];
		
		return weekDayAsString;
	
	}

	function getWeekDayAsAbbrev(obj) {
	
		// create a default date object
		var scheduleDate=new Date();

		// parse the date into date parts
		var scheduleMonth = parseInt(obj.substring(0,2))-1;
		var scheduleDay = obj.substring(3,5);
		var scheduleYear = obj.substring(6,10);

		scheduleDate.setDate(scheduleDay);
		scheduleDate.setMonth(scheduleMonth);
		scheduleDate.setYear(scheduleYear);

		// set the date parts taken from the date value and update the date object
//		scheduleDate.setFullYear(scheduleYear,scheduleMonth,scheduleDay);
	
		var dayOfWeek = scheduleDate.getDay();
//		alert("day of week: " + dayOfWeek);
		var weekDayAsAbbrev = weekdayAbbrev[dayOfWeek];
		
		return weekDayAsAbbrev;
	
	}


var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";

var weekdayAbbrev=new Array(7);
weekdayAbbrev[0]="Su";
weekdayAbbrev[1]="M";
weekdayAbbrev[2]="Tu";
weekdayAbbrev[3]="W";
weekdayAbbrev[4]="Th";
weekdayAbbrev[5]="F";
weekdayAbbrev[6]="Sa";


	function formElementHandler(obj,evt) {
	
//		alert(obj.value.length);
	
		if (obj.selectedIndex) {
		
		} else if (obj.value) {
			alert("has value property");
			obj.style.background="white";
			if (obj.value.length) {
//				alert(obj.className);
			}
		}
	
	
	}


function report_expand(id, newC) {
	var i=0;
	var obj;
//	var obj=document.getElementById(id);
	while (obj = document.getElementById(id+"_"+i)) {
//	while (obj = document.getElementById(id)) {
		if (newC) { 
			obj.className = newC; 
		} else if (obj.className == 'show') { 
			obj.className = 'hide'; 
		} else if (obj.className == 'hide') { 
			obj.className = 'show';
		} else if (obj.className == 'tdwn') { 
			obj.className = 'tup'; 
		} else if (obj.className == 'tup') { 
			obj.className = 'tdwn'; 
		}
		i++;
	}

}

function expand_all(id, newC) {
	var i=0;
	var j=1;
	var k=0;
	var obj;
	var n;
	var currentClass = '';
	var displayText = '';

	obj = document.getElementById('msgExpandAll');
	currentClass = obj.className;
	
	if (currentClass == 'tdwn') {
		displayText = "Collapse All";
		buttonClass = 'tup';
		containerClass = 'show';
		obj.className = 'tup';
	} else if (currentClass == 'tup') {
		displayText = "Expand All";
		buttonClass = 'tdwn';
		containerClass = 'hide';
		obj.className = 'tdwn';	
	}

	if(document.all){
		obj.innerText = displayText;
	} else{
		obj.textContent = displayText;
	}
	
	while (n = document.getElementById(id+j+"_"+k)) {
		i=0;
		while (obj = document.getElementById(id+j+"_"+i)) {

			if (newC) { 
				obj.className = newC; 
			} else if (obj.className == 'show') { 
				obj.className = containerClass; 
			} else if (obj.className == 'hide') { 
				obj.className = containerClass;
			} else if (obj.className == 'tdwn') { 
				obj.className = buttonClass; 
			} else if (obj.className == 'tup') { 
				obj.className = buttonClass; 
			}
		i++;
		}
	j++
	}
}

function validate(obj) {

	

	if (obj.golfCoordinatorID.selectedIndex == 0) {
		alert("Select a golf coordinator.");
		obj.golfCoordinatorID.focus();
		return false;
	}


	if (obj.course1.value > 0) {
		if (obj.ratetype1.selectedIndex == 0) {
			alert("Select a rate type for Golf choice 1.");
			obj.ratetype1.focus();
			return false;
		}
	}

	if (obj.course2.value > 0) {
		if (obj.ratetype2.selectedIndex == 0) {
			alert("Select a rate type for Golf choice 2.");
			obj.ratetype2.focus();
			return false;
		}
	}

	if (obj.course3.value > 0) {
		if (obj.ratetype3.selectedIndex == 0) {
			alert("Select a rate type for Golf choice 3.");
			obj.ratetype3.focus();
			return false;
		}
	}

	if (obj.course4.value > 0) {
		if (obj.ratetype4.selectedIndex == 0) {
			alert("Select a rate type for Golf choice 4.");
			obj.ratetype4.focus();
			return false;
		}
	}

	if (obj.course5.value > 0) {
		if (obj.ratetype5.selectedIndex == 0) {
			alert("Select a rate type for Golf choice 5.");
			obj.ratetype5.focus();
			return false;
		}
	}

	if (obj.course6.value > 0) {
		if (obj.ratetype6.selectedIndex == 0) {
			alert("Select a rate type for Golf choice 6.");
			obj.ratetype6.focus();
			return false;
		}
	}

	if (obj.course7.value > 0) {
		if (obj.ratetype7.selectedIndex == 0) {
			alert("Select a rate type for Golf choice 7.");
			obj.ratetype7.focus();
			return false;
		}
	}



}

function validatePackageChoice() {

	var quoteID = DWRUtil.getValue('quoteID');	
	var choice = DWRUtil.getValue('packageChoice');	
	var message = '';
	
	if (LeftCorner.IsNumeric(choice) ) {
		message = 'You have chosen package ' + choice + '. Do you want to proceed?';
	} else if (choice == 'Decline') {
		message = 'You have chosen to decline the package quote.  Do you want to proceed?';
	}

	var confirmedResponse = confirm(message);

	if (confirmedResponse) {
	
	
	} else {
	
		return false;
	
	}	

	return true;

}

function getCurrentStatus() {

	currentStatusIndex = document.getElementById('fldProposalStatus').selectedIndex;

}

function validateStatusChange() {

	var quoteID = DWRUtil.getValue('quoteID');
	var proposalStatus = DWRUtil.getValue('fldProposalStatus');
	var proposalChoice = DWRUtil.getValue('proposalChoice');

	var objProposalStatus = document.getElementById('fldProposalStatus');
//	var currentStatus = objProposalStatus.selectedIndex;

	var checkChoice = false;
	if (proposalStatus == 'Itinerary Pending') {
		checkChoice = true;
	}
	if (proposalStatus == 'Itinerary Approved') {
		checkChoice = true;
	}
	if (proposalStatus == 'Re-Quote') {
		checkChoice = true;
	}
	if (proposalStatus == 'Sold and Final') {
		checkChoice = true;
	}
	/*
	if (proposalStatus == 'Unsold') {
		checkChoice = true;
	}
	*/

	if (checkChoice) {

		if (proposalChoice == '') {
			alert("Package choice is not selected.");
			objProposalStatus.options[currentStatusIndex].selected = true;
			return false;
		} else {

			var quoteInfo = quoteID + "," + proposalStatus + "," + proposalChoice;
	
			DWREngine._execute(_cfscriptLocation, null, 'updateProposalStatus', quoteInfo, toggleStatusResult);
		
		}
	} else {

		var quoteInfo = quoteID + "," + proposalStatus + "," + proposalChoice;

		DWREngine._execute(_cfscriptLocation, null, 'updateProposalStatus', quoteInfo, toggleStatusResult);

	}

}

function toggleStatus(setting) {

		var quoteID = DWRUtil.getValue('quoteID');
		var proposalStatus = DWRUtil.getValue('fldProposalStatus');
		var proposalChoice = DWRUtil.getValue('proposalChoice');
		
		var quoteInfo = quoteID + "," + proposalStatus + "," + proposalChoice;
		
		DWREngine._execute(_cfscriptLocation, null, 'updateProposalStatus', quoteInfo, toggleStatusResult);
	
}


function toggleStatusResult(_statusObject) {

	statusObject = _statusObject;
//	DWRUtil.setValue(statusObject.DISPLAYFIELD, "Proposal " + statusObject.DISPLAY);

	itineraryHandler(statusObject.STATUS);

}

function itineraryHandler(status) {

	if (status == 'Itinerary Approved') {
		document.getElementById('btnViewItinerary').disabled = false;
	} else {
		document.getElementById('btnViewItinerary').disabled = true;
	}

//	document.getElementById('btnViewItinerary').onClick = function() {isItineraryAvailable(statusObject.DISPLAY)};

/*
	if (status == 'Approved') {
		document.location.href='index.cfm';
	} else {
		alert('Proposal must be approved.');
	}
*/

}

function isItineraryAvailable() {

	var quoteID = DWRUtil.getValue('quoteID');
	var packageChoice = DWRUtil.getValue('proposalChoice');
	var quoteInfo = quoteID + ',' + packageChoice;
	DWREngine._execute(_cfscriptLocation, null, 'getProposalStatus', quoteInfo, proposalStatusResult);

}

function proposalStatusResult(_statusObject) {

	statusObject = _statusObject;

	objItineraryResult = document.getElementById('itineraryEmailResult');
	objItineraryResult.innerHTML = '';

	if (statusObject.STATUS == 'Itinerary Approved') {
		DWREngine._execute(_cfscriptLocation, null, 'emailItinerary', statusObject.QUOTEID + ',' + statusObject.CHOICE, emailItineraryResult);
	} else {
		alert("Itinerary Approved status was not confirmed.  Save the proposal and try again.");
	}

}

function emailItineraryResult(_resultObject) {

	resultObject = _resultObject;
	objItineraryResult = document.getElementById('itineraryEmailResult');

	objItineraryResult.style.padding = '3px 3px 3px 3px';
	objItineraryResult.innerHTML = resultObject.MESSAGE;

}