var animating = false;
var originalImage;
var originalOffset;
var nImage;

// Open links in external window for XHTML 1.0 Strict compliancy
// To make a link open in external window add the "rel" attribute to the <a> tag
// and set its value to "external" example:
//     <a href="http://www.google.com" rel="external">Google</a>
function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	var areas = document.getElementsByTagName("area");
	var forms = document.getElementsByTagName("form");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") &&
		anchor.getAttribute("rel") == "external")
		anchor.target = "_blank";
	}
	for (var x=0; x<areas.length; x++) {
		var area = areas[x];
		if (area.getAttribute("href") &&
		area.getAttribute("rel") == "external")
		area.target = "_blank";
	}
	for (var y=0; y<forms.length; y++) {
		var form = forms[y];
		if (form.getAttribute("rel") == "external")
		form.target = "_blank";
	}
}



function dropDown(menu,fa) {
	var myMenu = document.getElementById(menu);
	
	if(fa == 'appear') {
		new Effect.Appear(myMenu,{duration:0.3});
	} else if(fa == 'fade') {
		new Effect.Fade(myMenu,{duration:0.5});
	}
}



function sHover(elem,e) {
	thisId = elem.nextSibling.id.substr(7,elem.nextSibling.id.length);
	
	if(document.getElementById("sNavOn"+thisId).style.left != '10px') {
		if(e == "on") {
			elem.parentNode.style.background = "url('http://gaia/hardrockhotelcorporate/website/images/side_hover.gif') left top no-repeat";
		} else if(e == "off") {
			elem.parentNode.style.background = "";
		}
	} else {
		if(e == "on") {
			elem.style.cursor = 'default';
		} else if(e == "off") {
			elem.style.cursor = 'pointer';
		}
	}
}



function moveElem(elem,eStart,eEnd,eTime,cID,tOff) {
	
	var FPS = 30;								// Frames per second
	var numFrames = FPS*(eTime/1000);			// Frames in animation
	var timePerFrame = eTime/numFrames;			// Time per frame in ms
	var dist = (eEnd - eStart)/numFrames;	// Distance to travel (in pixels)
	
	var newDist = eStart;
	var frame = 1;
	
	function displayNextFrame() {
		if (frame > numFrames || dist == 0) {
			clearInterval(intervalId);
			document.getElementById(elem).style.top = '-'+eEnd+'px';
			if(cID == '') {
				// alert("Do Nothing!");
			} else {
				// alert("Load Content!");
				swapContent(cID,tOff);
			}
			return;
		}
		
		newDist += dist;
	
		document.getElementById(elem).style.top = '-' + newDist + 'px';
	
		frame++;
	}
	
	var intervalId = setInterval(displayNextFrame,timePerFrame);
		
}



function contentMe(cID,tOff,hOff,newImage) {
	if(cID==homeID){
		document.getElementById("sNavLI"+homeID).style.display='none';
	} else {
		document.getElementById("sNavLI"+homeID).style.display='';
	}
	if(cID != lastID) {
		var element = document.getElementById("content");
		document.getElementById("sNavOn"+lastID).style.left = "-5000px";
		document.getElementById("sNavOff"+lastID).style.left = "10px";
		document.getElementById("sNavOff"+cID).style.left = "-5000px";
		document.getElementById("sNavOn"+cID).style.left = "10px";
		lastID = cID;
		document.getElementById("sNavOn"+cID).parentNode.style.background = '';
		
		nImage = newImage;
	
		if(animating == false) {
			animating = true;
			if(nImage != '') {
				originalOffset == '0px';
			} else {
				originalOffset = '-'+hOff+'px';
			}
			originalImage = document.getElementById('headerImage').src;
			
			var curPos = 0;		// Starting position of element
			var timePerFrame = 5;	// Time per frame in ms
			var numFrames = 7;		// Frames in animation
			var dist = 5;			// Distance to travel (in pixels)
			
			var newPos = curPos;	
			var frame = 1;
					
			function displayNextFrame() {
				if (frame > numFrames) {
					//moveElem('header_backing',0,hOff,250,cID,tOff);
					clearInterval(intervalId);
					// alert("Done moving up!");
					curPos = newPos;
					// animating = false;
					swapContent(cID,tOff);
					return;
				}
				
				newPos = newPos - dist;
				
				element.style.marginTop = newPos + 'px';
			
				frame++;
			}
		
			var intervalId = setInterval(displayNextFrame,timePerFrame);
			
		} else {
			swapContent(cID,tOff);
		}
	}
}



function swapContent(cID,tOff) {
	var cLoad = cID;
	var tOffset = tOff;
	
	if((user_platform == "apple" && user_browser == "firefox") || (user_browser == "opera")) {
		document.getElementById('content_body').style.display = 'none';
		document.getElementById('tContainer').style.display = 'none';
	} else {
		new Effect.Fade(document.getElementById('content_body'),{duration:0.5});
		new Effect.Fade(document.getElementById('tContainer'),{duration:0.5});
	}
	
	function loadContent() {
		clearInterval(interval);
		// alert(tOff);
		document.getElementById("tContainer").style.top = "-"+tOff+"px";
		xajax_getContent(cLoad);
	}
	
	var interval = setInterval(loadContent,500);
	
}



function swapImage(newImage,hOffset) {
	if(newImage != document.getElementById('headerImage').src) {
		// alert("New image: "+newImage+"\n\nOld image: "+document.getElementById('headerImage').src);
		new Effect.Fade('headerImageContainer',{ 
						duration: 0.5,
						afterFinish: function() {
							document.getElementById('headerImage').src = "";
						}
						});
		function loadImage() {
			clearInterval(interval);
			document.getElementById('headerImage').src = newImage;
			new Effect.Appear('headerImageContainer',{ duration: 0.5 });
			moveElem('headerImage',0,hOffset,1000,'','');
		}
	
		var interval = setInterval(loadImage,750);
	}
}




function openMenu(elem,stat) {
	var menuElem = document.getElementById(elem);
	
	switch(stat) {
		case 'on':
			menuElem.style.display = 'block';
			break;
		case 'alive':
			menuElem.style.display = 'block';
			break;
		case 'off':
			menuElem.style.display = 'none';
			break;
	}
	
}



function showHideReservation() {
	var check_availability = document.getElementById('check_availability');
	var divReserve = document.getElementById('divReserve');	
	var divAmend = document.getElementById('divAmend');		
	if(check_availability.style.display == 'none') {
		check_availability.style.display= 'block';
		calendarControl.show();
		if(divReserve.style.display == 'block') {
			showCalendarControl(document.getElementById('arrival'));
		} else {
			showCalendarControl(document.getElementById('arrival1'));
		}
	} else {
		check_availability.style.display = 'none';
		calendarControl.hide();
	}
}


/*
function setActive(elem) {
	var arrival = document.getElementById('title_arrival');
	var arrival1 = document.getElementById('title_arrival1');
	var departure = document.getElementById('title_departure');

	if(elem == 'arrival') {
		if(arrival.src.indexOf('-a.gif') == -1) {
			arrival.src = arrival.src.replace('.gif','-a.gif');
			arrival1.src = arrival1.src.replace('-a.gif','.gif');
			departure.src = departure.src.replace('-a.gif','.gif');
		}
	} else if(elem == 'departure') {
		if(departure.src.indexOf('-a.gif') == -1) {
			arrival.src = arrival.src.replace('-a.gif','.gif');
			arrival1.src = arrival1.src.replace('-a.gif','.gif');
			departure.src = departure.src.replace('.gif','-a.gif');
		}
	} else if(elem == 'arrival1') {
		if(arrival1.src.indexOf('-a.gif') == -1) {
			arrival1.src = arrival1.src.replace('.gif','-a.gif');
			arrival.src = arrival.src.replace('-a.gif','.gif');
			departure.src = departure.src.replace('-a.gif','.gif');
		}
	}
}
*/


function checkAvailability(theForm) {
	var formElem = document.getElementById('availability_form');
	var arrival = document.getElementById('arrival');
	var departure = document.getElementById('departure');
	var currentDate = new Date();
	
	var todayDay = currentDate.getDate();
	var todayMth = currentDate.getMonth()+1;
	var todayYr  = currentDate.getFullYear();
	var errors = 0;
	var message = "There were errors in your submission:\n\n";

	if(arrival.value == 'MM-DD-YY') {
		errors = 1;
		message+= "- You did not choose an arrival date\n";
	}
	if(departure.value == 'MM-DD-YY') {
		errors = 1;
		message+= "- You did not choose a departure date\n";
	}
	
	if(errors == 0) {
		a_month = arrival.value.split('-')[0];
		a_day = arrival.value.split('-')[1];
		a_year = arrival.value.split('-')[2];
		d_month = departure.value.split('-')[0];
		d_day = departure.value.split('-')[1];
		d_year = departure.value.split('-')[2];
		dateError = 0;
		
		if(a_year < todayYr) {
			errors = 1;
			message+= "- Your arrival date is before today's date\n";
		} else {
			if((a_year == todayYr) && (a_month < todayMth)) {
				errors = 1;
				message+= "- Your arrival date is before today's date\n";
			} else {
				if(a_day < todayDay) {
					//errors = 1;
					//message+= "- Your arrival date is before today's date\n";
				}
			}
		}
		
		if(a_year > d_year) {
			errors = 1;
			message+= "- Your departure date is before your arrival date\n";
		} 
		if(a_year == d_year) {
			if(a_month > d_month) {
				errors = 1;
				message+= "- Your departure date is before your arrival date\n";
			} else {
				if(a_day > d_day) {
					//errors = 1;
					//message+= "- Your departure date is before your arrival date\n";
				}
			}
		}
	}

	if(errors == 0) {
		a_month = arrival.value.split('-')[0];
		a_day = arrival.value.split('-')[1];
		a_year = arrival.value.split('-')[2];
		d_month = departure.value.split('-')[0];
		d_day = departure.value.split('-')[1];
		d_year = departure.value.split('-')[2];
		
		txtCheckInDay = a_day;
		txtCheckOutDay = d_day;
		txtCheckInMonthYear = a_month + "/" + a_year;
		txtCheckOutMonthYear = d_month + "/" + d_year;		
		//alert('Passed requirements! Submitting Form!');
		goLink('RESV');
	} else {
		alert(message);
	}
}



function clearForm(theForm) {
	var formElem = document.getElementById('availability_form');
		formElem.reset();
		document.getElementById('arrival').focus;
		showCalendarControl(document.getElementById('arrival'));
		setActive('arrival');
}



function startup() {
	//List functions to be run on startup here:
	externalLinks();
}

var oldonload = window.onload;

if (typeof window.onload != 'function') {
	window.onload = startup;
} else {
	window.onload = function() {
		oldonload();
		startup();
	}
}

function showContent(content) {
	var contentBody = document.getElementById(content);
		if (contentBody.style.display == "block") {
			contentBody.style.display = "none";
		} else  {
			contentBody.style.display = "block";
		}
}

function menuClick(p_strMode) {
	var v_strDivId = '';
	var v_strSpanId = '';		
	with(document.frmQuickCICO) {
		document.getElementById('divReserve').style.display = 'none';
		document.getElementById('divAmend').style.display = 'none';

		document.getElementById('menuAmend').style.display = 'none';
		document.getElementById('menuResv').style.display = 'none';
		
		var v_intnumOfChild = children.options[children.selectedIndex].value;
		
		if(v_intnumOfChild > 0) {
			v_resvDivHgt = "330px";
			v_resvDivTop = "295px";
			v_resvDivTop2 = "235px";
		} else {
			v_resvDivHgt = "235px";
			v_resvDivTop = "200px";			
			v_resvDivTop2 = "140px";
		}
		
		switch(p_strMode) {
			case "RESV"		: v_strDivId 	= "divReserve";
							  v_strSpanId 	= "menuAmend";
							  v_strDivHgt	= v_resvDivHgt;
							  v_strDivTop	= v_resvDivTop;
							  v_strDivTop2	= v_resvDivTop2;								  
							  break;
			case "AMEND"	: v_strDivId 	= "divAmend";
							  v_strSpanId 	= "menuResv";
							  v_strDivHgt	= "200px";
							  v_strDivTop	= "168px";
							  v_strDivTop2	= "145px";								  
							  break;
		}
		document.getElementById(v_strDivId).style.display = 'block';
		document.getElementById("check_availability").style.height = v_strDivHgt;
		document.getElementById("reserve-utility").style.top = v_strDivTop;
		document.getElementById("submit-clear").style.top = v_strDivTop2;			
		document.getElementById(v_strSpanId).style.display = 'block';			
	}
}



function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,left=142,top=134');");
}