﻿	
	
	var LastHighlightObjRef 		= '';
	var LastHighlightObjRefLock 	= false;
	var LastHighlightObjLockedRef 	= '';
	var LastDetailObjRef 			= '';
	var SearchErr					= false;
		
	//alert(window.location);
	RateObj 	= new Array();
	RateTimer	= new Object();
	LastRate 	= {};
	
		
	
	HL_Rate = function(Cell, Out, Lock) {
		
		
		if (Lock == undefined && LastHighlightObjLockedRef != LastHighlightObjRef) {
			try {
				HG_RemoveClassName(LastHighlightObjRef, 'RowHighlight');
				if (Out) { return }
			} catch(e) {}
		}
		
		if (Lock) {
			try {
				HG_RemoveClassName(LastHighlightObjLockedRef, 'RowHighlight');
			} catch(e) {}
		
			LastHighlightObjLockedRef = Cell;
			LastHighlightObjRefLock   = true;
		} else {
			LastHighlightObjRef = Cell;
		}
		
		HG_AddClassName(LastHighlightObjRef, 'RowHighlight', true);
		
		
	}
	
	
	HL_Gray = function(Cell, Out) {
		
		
		if (Out == undefined) {
			Cell.style.backgroundColor='##FFDD54'
			Cell.style.color='##000000'
		} else {
			Cell.style.backgroundColor=''
			Cell.style.color='##FFFFFF'
		}
		
	}
	
	
	
	
	LoadingMessage= function(Msg, Image) {
		
		if (Image == undefined) {
			Image = '/Images/Spinner_Line36x39.gif';
		}
		var LoadStr = '<div class="ClearFix" style="padding:10px; white-space:nowrap; border:3px #006666 solid;  background-color:#FFFFFF; "><img src="' + Image + '" align="absmiddle">&nbsp;' + Msg + '</div>';
		
		return LoadStr;
	
	}
	

	ShowDetailFromBack = function() {
		if (window.location.hash == '') {
			return
		}
		if (window.location.hash != '#' + LastRate) {
			ShowDetails(eval('Rate_' + ReplaceStr(window.location.hash, '#', '') + '_Obj'), true);
		}
	}
	
	ShowDetails = function(HotelObj, Auto) {
		
		try {
			LastDetailObjRef.style.display = 'none';
		} catch(e) {
		}
		
		LastDetailObjRef               	= GetID(HotelObj.ID);
		LastDetailObjRef.style.display 	= '';
		
	
		if (LastDetailObjRef.innerHTML 	!= '') { 
			LastDetailObjRef.innerHTML = '';
			HL_Rate(new Object(), false, true); 
			LastDetailObjRef.style.display 	= 'none';
			LastDetailObjRef = '';
			return 
		}
		

		LastRate		= HotelObj.ID;
		if (Auto == undefined) {
			window.location = '#' + HotelObj.ID;
		}
		
		ExecuteFunctionOnceAfter(
			function(){ window.scrollBy(0, -75); }
		, 200);
	
		ExecuteFunctionOnceAfter(
			function() {
				LastDetailObjRef.innerHTML 		= '<br><br><br><br><br>';
				GetHTTPAJAX(GetID(HotelObj.ID), 
								'AJAX_GetDetails.cfm'
								, undefined
								, LoadingMessage('Calculating Total...')
								, 'GCO=' + HG_ToString(HotelObj));
			}, 140);
			
	}
	
	
	
	
	ShowSearchOptions = function() {
	
		if (typeof GetID('SearchOptions') != 'undefined') {
			if (GetID('SearchOptions').style.display == '') {
				GetID('SearchOptions').style.display = 'none';
			} else {
				GetID('SearchOptions').style.display = '';
			}
		}
	}
	
	
	
	
	DoSearch = function(SearchFor, Link, Page) {
		
		if (typeof GetID('SearchOptions') == 'undefined') { 
			window.location = '/Search?SearchFor=' + SearchFor;
			return 
		}
		
		window.scrollTo(0,0);
		
		GetID('SearchBtn').style.visibility = 'hidden'
		
		if (SearchFor != undefined) {
			GetID('S_SearchFor').value = SearchFor;
		}
		
		var Obj = {	Indate:GetID('S_InDate').value
				  , OutDate:GetID('S_OutDate').value
				  , Rooms:GetID('S_Rooms').value
				  , Adults:GetID('S_Adults').value
				  , Children:GetID('S_Children').value
				  , SearchFor:GetID('S_SearchFor').value
				  , Name:GetID('S_FacilityName').value
				  }
		
		if (Page != undefined) {
			Page = '?page='+ Page;	
		} else { Page = '' }
		
		GetHTTPAJAX(GetID(SearchWait), 
						'AJAX_DoSearch.cfm' + Page
						, undefined
						, LoadingMessage('Updating Search...')
						, 'GCO=' + HG_ToString(Obj));
	
	}
	
	
	DoSearchNoFilter = function() {
		GetID('S_FacilityName').value = '';
		DoSearch();
	}
	
	GotoPage = function(Page) {
		
		if (typeof GetID('SearchOptions') == 'undefined') { return }
		
		window.scroll(0,0);
		
		GetHTTPAJAX(GetID(SearchWait), 
						'AJAX_DoSearch.cfm'
						, function() { window.location = '?page='+Page; }
						, LoadingMessage('Loading Page ' + Page + '...')
						, 'Page=' + Page);
	
	}
	
	
	IfEnter = function(e, GoFunc) {
			var keynum
			
			var keynum = (e.which) ? e.which : e.keyCode
			
			if (
				keynum == 13 	// enter
			) {
				GoFunc();
	
			} 
			return true;
			
		}
		
	
	
	ExistingUser = function() {
			GetID('SPAN_UserLabel').innerHTML 		= 'Existing User Sign In';
			GetID('DIV_UserProfile').style.display 	= 'none';
			GetID('DIV_Signin').style.display  		= '';
			GetID('TR_UserType').style.display 		= ''
	}
		
		
	EditUser = function(New) {
		
		if (GetID('DIV_UserProfile').innerHTML == '' || !New) {

			if (GetID("DIV_Confirm").style.display != '') {
				  if (!New && !confirm('Billing information below will be cleared, continue?')) { return }
			}
			
			ShowUserProfileInput(true);
			
			GetHTTPAJAX(GetID("DIV_UserProfile"), 
								'/AJAX/AJAX_GetUserProfile.cfm?New=1'+
								'&LocationID=#URL.LocationID#' +
								'&RC=#URL.RC#' 	+ 
								'&AC=#URL.AC#' 	+
								'&CD=#URL.CD#'  + 
								'&Rate=#URL.Rate#&PCode=#URL.PCode#&CF=#URL.CF#', 
								undefined, 
								'<img src=/Images/RateLoading.gif  align=absmiddle> Loading...');	
		}

		GetID('DIV_Msg').innerHTML = '';

		if (New) {
			GetID('SPAN_UserLabel').innerHTML 		= 'Create New User Profile';
		} else {
			GetID('SPAN_UserLabel').innerHTML 		= 'Edit User Profile';
			HideBillingForm();
		}
		GetID('DIV_UserProfile').style.display 	= '';
		GetID('DIV_Signin').style.display 		= 'none';
	}
	
	
	
	SignIn = function() {
		GetID('btnSignIn').style.display = 'none';
		ShowUserProfileInput(false);
		GetHTTPAJAX(GetID("DIV_Profile"), 
					'/AJAX/AJAX_Signin.cfm?' +
					'&LocationID=#URL.LocationID#' +
					'&RC=#URL.RC#' 	+ 
					'&AC=#URL.AC#' 	+
					'&CD=#URL.CD#'  + 
					'&Rate=#URL.Rate#&PCode=#URL.PCode#&CF=#URL.CF#', 
					function() {
						
						GetID('btnSignIn').style.display = '';
					}, 
					'<img src=/Images/RateLoading.gif  align=absmiddle> Checking...',
					'&fEMail='    + fEMail.value +
					'&fPassword=' + fPassword.value);	
	} 
	
	SignOff = function() {
		GetHTTPAJAX(GetID("DIV_Msg"), 
					'/AJAX/AJAX_Signin.cfm?sou=1',
					function() {
						ShowUserProfileInput(true);
						ExistingUser();
						fEMail.value = '';
						fPassword.value = '';
						GetID('DIV_UserProfile').innerHTML = '';
						HideBillingForm();
					}, 
					'<img src=/Images/RateLoading.gif  align=absmiddle> Checking...');	
	}
	
	
	EMailPW = function() {
		GetHTTPAJAX(GetID("DIV_Msg"), 
					'/AJAX/AJAX_EMailPassword.cfm?fEMail=' + fEMail.value,
					'', 
					'<img src=/Images/RateLoading.gif  align=absmiddle> Checking...'
					);	
	}
	
	ShowUserProfileInput = function(Show) {

		if (!Show) {
			GetID('TR_UserType').style.display 	= 'none';
			GetID('DIV_User').style.display 	= 'none';
			GetID('DIV_Profile').style.display 	= '';
		} else {
			//GetID('TR_UserType').style.display 	= '';
			GetID('DIV_User').style.display 	= '';
			GetID('DIV_Profile').style.display 	= 'none';
		}
		
	}
	
	GetBillingForm = function() {
		
		if (GetID("DIV_Confirm").style.display == '') {
			return
		}
		
		GetHTTPAJAX(GetID("DIV_Billing"), 
					'AJAX_GetBillingForm.cfm?'+
					'&CompanyID=#URL.CompanyID#'+
					'&LocationID=#URL.LocationID#' +
					'&RC=#URL.RC#' 	+ 
					'&AC=#URL.AC#' 	+
					'&CD=#URL.CD#'  + 
					'&Rate=#URL.Rate#&PCode=#URL.PCode#&CF=#URL.CF#', 
					'', 
					'<img src=/Images/RateLoading.gif align=absmiddle> Loading...'
					);	
	}
	
	HideBillingForm = function() {
		try {
			GetID('TBL_BillingForm').style.display = 'none';
		} catch(e) {}
	}
	
	ShowConfirmationLink = function(Link) {
		GetID('A_Confirm').href = Link;
		GetID('DIV_Confirm').style.display = '';
	}

	BookThisRoom = function() {
		window.location = 'https://www.extendedstaynetwork.com/Reserve.cfm';
	}

	
	ViewPolicy = function(Section) {
		if (Section != '' && Section != undefined) {
			window.open('Terms.cfm#' + Section, 'Terms', 'height=600, width=500');
		} else {
			window.open('Terms.cfm', 'Terms', 'height=600, width=500');
		}
	}

	CancelReservation = function(HotelName, EncChargeID, Div, CallBack) {
		if (confirm('Cancel reservation for ' + HotelName + '?') == true) {
			if (prompt('Type Yes to cancel').toUpperCase() == 'YES') {
				DoCancel(EncChargeID, Div, CallBack);	
			}
		}
	}
	
	
	DoCancel = function(EncChargeID, Div, CallBack) {
		
		if (EncChargeID == undefined || EncChargeID == '') {
			return
		}
		
		GetHTTPAJAX(GetID(Div), 
					'AJAX_Cancel.cfm?i=' + EncChargeID,
					CallBack, 
					'Cancelling, please wait...'
					);	
	}

	PrintReservation = function(ChargeID) {
		window.open('?I=' + ChargeID, null);
	}
	
	
	
	GetItins = function(Div){

		if (Div == undefined) { Div = 'Itins' }
	
		GetHTTPAJAX(GetID(Div), 
					'AJAX_GetItineraries.cfm', 
					function() {

					}, 'Loading Itineraries, please Wait...'
					, 'Target=Itins&CallBack='
					);	
	}


DoTimerSet = false; 

ExecuteFunctionOnceAfter(
	function(){
		if (DoTimerSet) {
			Obj = new Object();
			if (typeof Obj.Interval == 'undefined') {
				Obj.Interval= setInterval(ShowDetailFromBack, 300);
			}
		}
	}
, 500);	



