//Javascript

<!--
	function preSearch(searchPhrase)
	{
		var xmlHttp = GetXmlHttpObject();
		var url = "pre_ss.asp?searchText=" + searchPhrase + "&sid=" + Math.random();
		var ret = false;
		
		preState = -1;
		
		xmlHttp.open("GET", url, false);
		xmlHttp.send(null);			

		if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
		{
			var result = xmlHttp.responseText;
			if (result == 'OK')
				ret = true;
		}
		
		return ret;
	}
			
	function updateInputDate(inputBox, adjustBox)
	{
		var dateCheck = document.getElementById(inputBox).value;
		if (dateCheck != '')
		{
			var dateParts = dateCheck.split('/');
			
			if (dateParts.length == 3 && 
				dateParts[0].length > 0 && 
				dateParts[1].length > 0 && 
				dateParts[2].length > 0 && 
				myParseInt(dateParts[2]) > 2000)
			{
				var newDate = new Date();
				var modDay = myParseInt(dateParts[0]) + 1;
				var modMonth = myParseInt(dateParts[1])   ;
				var modYear = myParseInt(dateParts[2]);
				
				var modDate = new Date(modYear, modMonth -1  , modDay);
				document.getElementById(adjustBox).value = padDate(modDate.getDate() + '/' + (modDate.getMonth()+1) + '/' + modDate.getFullYear());
				document.getElementById(inputBox).value = padDate(dateCheck);
			}
		}
	}	
	
	function padValue(n)
	{
		if (n.length == 1)
			return '0' + n;
		else
			return n;
	}
	
	function clearSearch()
	{
		document.getElementById('countryRef').value = '-1';
		document.getElementById('regionRef').value = '-1';
		document.getElementById('cityRef').value = '-1';
		document.getElementById('hotelRef').value = '-1';
	}
	
	function showdivNoRes() 
	{
		var msg = "Destination not found.  Please try a different search word.";

		if (document.getElementById) 
		{ // DOM3 = IE5, NS6
			document.getElementById('divNoRes').style.visibility = 'visible';
			document.getElementById('divNoRes').innerText = msg;
		}
		else 
		{
			if (document.layers) 
			{ // Netscape 4
				document.divNoRes.visibility = 'visible';
				document.divNoRes.innerText = msg;
			}
			else 
			{ // IE 4
				document.all.divNoRes.style.visibility = 'visible';
				document.all.divNoRes.innerText = msg;
			}
		}
		
	} 	
	
	function padDate(dateValue)
	{
		if (dateValue.indexOf('/')>-1)
		{
			var dateParts = dateValue.split('/');
			
			if (dateParts.length == 3 && 
				dateParts[0].length > 0 && 
				dateParts[1].length > 0 && 
				dateParts[2].length > 0 && 
				myParseInt(dateParts[2]) > 2000)
			{
				return padValue(dateParts[0]) + '/' + padValue(dateParts[1]) + '/' + dateParts[2];
			}
			else
				return dateValue;
		}
		else
			return dateValue;
	}

	function padDateBox(boxId)
	{
		var boxValue = document.getElementById(boxId).value;
		
		document.getElementById(boxId).value = padDate(boxValue);
	}
	
	function padDateBoxes()
	{
		padDateBox('txtCheckIn');
		padDateBox('txtCheckOut');
	}
	
	function isValidDateEx(checkDate)
	{
		var validChars = '1234567890/';
		var i;
		var ret = true;
		
		for (i = 0; i < checkDate.length; i++)
			if (validChars.indexOf(checkDate[i]) == -1)
			{
				ret = false;
				break;
			}
		
		return ret;
	}
	
	function isValidDate(checkDate)
	{
		var ret = false;
		
		if (checkDate.indexOf('/')>-1)
		{
			var dateParts = checkDate.split('/');
			if (dateParts.length == 3)
			{
				if (!isNaN(dateParts[0]) && !isNaN(dateParts[1]) && !isNaN(dateParts[2]))
					ret = true;
			}
		}
		
		return ret;
	}
	
	function myLeft(str, n)
	{
		var ret = str;
		if (n < str.length)
			ret = str.substring(0, n);
			
		return ret;
	}
	
	function myParseInt(strToParse)
	{
		var ret = strToParse;

		while (myLeft(ret, 1) == '0' || myLeft(ret, 1) == ' ')
		{
			ret = ret.substring(1);
		}
		
		return parseInt(ret, 10);
	}
	
	function GetNow()
	{
		var now = new Date();
		now.setHours(0, 0, 0);
		return formatDate(now);
	}

	// Takes a date string e.g. "Wed Feb 4 00:00:00 UTC 2009" and formats like "04/02/2009 00:00:00"
	function formatDate(date) {
		var str = (date.getDate() < 10?"0":"") +  date.getDate() + "/"  
			+ (date.getMonth() < 10?"0":"") + (parseInt(date.getMonth())+1) + "/" 
			+ date.getFullYear() + " " 
			+ (date.getHours() < 10?"0":"") + date.getHours() + ":"  
			+ (date.getMinutes() < 10?"0":"") + date.getMinutes() + ":"
			+ (date.getSeconds() < 10?"0":"") + date.getSeconds();
		return str;
	}

	// THE FOLLOWING parseDate FUNCTION WAS TAKEN FROM...
	/*  Copyright Mihai Bazon, 2002-2005  |  www.bazon.net/mishoo
	 * -----------------------------------------------------------
	 * The DHTML Calendar, version 1.0 "It is happening again"
	 * Details and latest version at:
	 * www.dynarch.com/projects/calendar
	 * This script is developed by Dynarch.com.  Visit us at www.dynarch.com.
	 * This script is distributed under the GNU Lesser General Public License.
	 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
	 */
	function parseDate(str, fmt)
	{
		var today = new Date();
		var y = 0;
		var m = -1;
		var d = 0;
		var a = str.split(/\W+/);
		var b = fmt.match(/%./g);
		var i = 0, j = 0;
		var hr = 0;
		var min = 0;
	
		for (i = 0; i < a.length; ++i)
		{
			if (!a[i])
				continue;
	
			switch (b[i])
			{
				case "%d":
				case "%e":
					d = parseInt(a[i], 10);
					break;
				case "%m":
					m = parseInt(a[i], 10) - 1;
					break;
				case "%Y":
				case "%y":
					y = parseInt(a[i], 10);
					(y < 100) && (y += (y > 29) ? 1900 : 2000);
					break;
				case "%b":
				case "%B":
					for (j = 0; j < 12; ++j)
					{
						if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
					}
					break;
				case "%H":
				case "%I":
				case "%k":
				case "%l":
					hr = parseInt(a[i], 10);
					break;
				case "%P":
				case "%p":
					if (/pm/i.test(a[i]) && hr < 12)
						hr += 12;
					else if (/am/i.test(a[i]) && hr >= 12)
						hr -= 12;
					break;
				case "%M":
					min = parseInt(a[i], 10);
					break;
			}
		}
	
		if (isNaN(y)) y = today.getFullYear();
		if (isNaN(m)) m = today.getMonth();
		if (isNaN(d)) d = today.getDate();
		if (isNaN(hr)) hr = today.getHours();
		if (isNaN(min)) min = today.getMinutes();
		if (y != 0 && m != -1 && d != 0)
			return new Date(y, m, d, hr, min, 0);
	
		y = 0; m = -1; d = 0;
		for (i = 0; i < a.length; ++i)
		{
			if (a[i].search(/[a-zA-Z]+/) != -1)
			{
				var t = -1;
				for (j = 0; j < 12; ++j)
				{
					if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; }
				}
				if (t != -1)
				{
					if (m != -1)
					{
						d = m+1;
					}
					m = t;
				}
			}
			else if (parseInt(a[i], 10) <= 12 && m == -1)
			{
				m = a[i]-1;
			}
			else if (parseInt(a[i], 10) > 31 && y == 0)
			{
				y = parseInt(a[i], 10);
				(y < 100) && (y += (y > 29) ? 1900 : 2000);
			}
			else if (d == 0)
			{
				d = a[i];
			}
		}
	
		if (y == 0)
			y = today.getFullYear();
	
		if (m != -1 && d != 0)
			return new Date(y, m, d, hr, min, 0);
	
		return today;
	}
		
-->
