<!--
/*=========================================================================
 * Filename    : /central/javascript/bookings.js
 * Type	       : JavaScript
 * Description : functions for validating search forms
 * Functions   : - condoLocation(form)
 *               - validateCondo(form)
 *               - packageFinder(form, mini)
 *               - hotelFinder(form, mini)
 *=========================================================================*/

	/*=====================================================================*
	 * include formfuncs.js
	 *=====================================================================*/
	document.write("<script src=\"/central/javascript/formfuncs.js\"></script>");

	/*=====================================================================*
	 * Function    : finderValidate ?condoLocation
	 * Description : grab names of region/subregion
	 *=====================================================================*/
	function condoLocation(form)
	{
		form.reg_name.value = form.region_id.options[form.region_id.selectedIndex].text;
		form.sub_name.value = form.subregion_id.options[form.subregion_id.selectedIndex].text;
		return true;
	}

	/*=====================================================================*
	 * Function    : finderValidate ?validateFinder
	 * Description : validate Condo search form
	 *=====================================================================*/
	function validateFinder(form, travel_type, mini)
	{
		var error = "";
		var numErrors = 0;
	
		switch(travel_type)
		{
			// CONDO-------------------------------------------------------
			case 1:								
				if (!isBlank(form.resort_id.value) && !isNumeric(form.resort_id.value, ',')) 
					{ numErrors++; error += "" + numErrors + ". \"Resort ID\" must be a number or a comma-separated list of numbers.\n"; }
	
				if(mini != 1) 
				{			
					if (!isBlank(form.deal_date.value) && !isDate(form.deal_date.value)) 
						{ numErrors++; error += "" + numErrors + ". \"When\" is not a valid date in the format yyyy-mm-dd.\n"; }
					if (!isBlank(form.price.value) && !isNumeric(form.price.value,'.')) 
						{ numErrors++; error += "" + numErrors + ". \"Price\" must be a number.\n"; }
				}	
				if(form.live_inv  || form.last_min){
					if(form.live_inv.value == 1 || form.last_min.checked){
						if(!isBlank(form.resort_name.value) && (form.deal_date.value.length == 0 || form.deal_date2.value.length == 0)){
							if(form.live_inv.value == 1)
								numErrors++; error += "" + numErrors + ". \"Travel Dates\" must be entered.\n"; 
						}
						if(!isBlank(form.resort_id.value) && (form.deal_date.value.length == 0 || form.deal_date2.value.length == 0)){
							if(form.live_inv.value == 1)
								numErrors++; error += "" + numErrors + ". \"Travel Dates\" must be entered.\n"; 
						}
						var myindex= form.subregion_id.selectedIndex;
						var myindex2= form.region_id.selectedIndex;
						
						if(myindex2 > 0 && (form.deal_date.value.length == 0 || form.deal_date2.value.length == 0)){
							if(form.live_inv.value == 1)
								numErrors++; error += "" + numErrors + ". \"Travel Dates\" must be entered.\n"; 
						}
						if(isBlank(form.resort_id.value) && isBlank(form.resort_name.value) && myindex2 == 0){
							numErrors++; error += "" + numErrors + ". \"Destination\" must be selected.\n"; 
						}
						if(form.subregion_id.value  == 0 && form.live_inv.value == 1){
							numErrors++; error += "" + numErrors + ". \"Sub-Region\" must be selected.\n"; 
						}				
						//if(!isBlank(form.region_id.value) || !isBlank(form.region_id.value)
					}
				}		
			break;

			// RESORT------------------------------------------------------
			case 6:
				if (!isBlank(form.resort_id.value) && !isNumeric(form.resort_id.value, ',')) 
					{ numErrors++; error += "" + numErrors + ". \"Resort ID\" must be a number or a comma-separated list of numbers.\n"; }
			break;
			
			// PACKAGE-----------------------------------------------------
			case 4:
				/*
				if(mini != 1) 
				{ 
					if (!isBlank(form.deal_date.value) && !isDate(form.deal_date.value)) 
						{ numErrors++; error += "" + numErrors + ". \"Check-In\" is not a valid date in the format yyyy-mm-dd.\n"; 	}
					if (!isBlank(form.duration.value) && !isNumeric(form.duration.value)) 
						{ numErrors++; error += "" + numErrors + ". \"Duration\" must be a number.\n"; 	}
					if (!isBlank(form.price.value) && !isNumeric(form.price.value)) 
						{ numErrors++; error += "" + numErrors + ". \"Price\" must be a number.\n"; }
				}
				*/
			break;

			// CRUISE-------------------------------------------------------
			case 2:
				if(mini != 1) 
				{ 
					if (!isBlank(form.deal_date.value) && !isDate(form.deal_date.value)) 
						{ numErrors++; error += "" + numErrors + ". \"Date\" is not a valid date in the format yyyy-mm-dd.\n"; 	}
					if (!isBlank(form.duration.value) && !isNumeric(form.duration.value)) 
						{ numErrors++; error += "" + numErrors + ". \"Duration\" must be a number.\n"; 	}
					if (!isBlank(form.price.value) && !isNumeric(form.price.value)) 
						{ numErrors++; error += "" + numErrors + ". \"Max. Price\" must be a number.\n"; }

				}
			break;

			// HOTEL-------------------------------------------------------
			case 3: 
				if(mini != 1) 
				{ 
					if (!isBlank(form.deal_date.value) && !isDate(form.deal_date.value)) 
						{ numErrors++; error += "" + numErrors + ". \"When\" is not a valid date in the format yyyy-mm-dd.\n"; 	}
				}
			break;

			// TOUR--------------------------------------------------------
			case 5: 
				if(mini != 1) 
				{ 
					if (!isBlank(form.deal_date.value) && !isDate(form.deal_date.value)) 
						{ numErrors++; error += "" + numErrors + ". \"When\" is not a valid date in the format yyyy-mm-dd.\n"; 	}
				}
			break;
			
			case 30:								
				var myindex= form.subregion_id.selectedIndex;
				var myindex2= form.region_id.selectedIndex;
				if(myindex2 < 1){
					numErrors++; error += "" + numErrors + ". \"Country\" must be selected.\n"; 				
				}
				if(myindex < 1){
					numErrors++; error += "" + numErrors + ". \"Destination\" must be selected.\n"; 				
				}							
			break;
			
			default:
				return false;
		}

					
		// let user know of all error messages
		if(numErrors > 0) {
			if (numErrors == 1)
				error = "The following error was detected:\n\n" + error + "\nPlease correct this error before proceeding.";
			else
				error = "The following errors were detected:\n\n" + error + "\nPlease correct these errors before proceeding.";
			alert(error);	
			return false;
		}
		else {
			if(travel_type == 1 || travel_type == 6)
				condoLocation(form);
			return true;
		}
	}

/*=========================================================================*/
/*=========================================================================*/
-->

