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) {
	
	document.getElementById("headerImageContainer").innerHTML = "";
	document.getElementById("headerImageContainer").innerHTML = '<img id="headerImage" alt="" src=""/>';

	if(newImage != document.getElementById('headerImage').src) {
		// alert("New image: "+newImage+"\n\nOld image: "+document.getElementById('headerImage').src);
		if((user_platform == "apple" && user_browser == "firefox") || (user_browser == "opera")) {
			document.getElementById('headerImage').src = "";
		} else {
			new Effect.Fade('headerImageContainer',{ 
							duration: 0,
							afterFinish: function() {
								document.getElementById('headerImage').src = "";
							}
							});
		}
		function loadImage() {
			clearInterval(interval);
			document.getElementById('headerImage').src = newImage;
		if((user_platform == "apple" && user_browser == "firefox") || (user_browser == "opera")) {
			} else {
				new Effect.Appear('headerImageContainer',{ duration: 0.5 });
				moveElem('headerImage',0,hOffset,1000,'','');
			}
		}
	
		var interval = setInterval(loadImage,750);
	}
}



function swapSwf(newSwf,hOffset) {
	
	document.getElementById("headerImageContainer").innerHTML = "";
	document.getElementById("headerImageContainer").innerHTML = '<embed id="hrciHeader" width="680" height="240" wmode="transparent" quality="best" bgcolor="#000000" name="hrciHeader" src="'+newSwf+'" type="application/x-shockwave-flash"/>';
	
}



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');
	if(check_availability.style.visibility == 'hidden') {
		check_availability.style.visibility= 'visible';
		calendarControl.show();
		setActive('arrival');
		showCalendarControl(document.getElementById('arrival'));
	} else {
		check_availability.style.visibility = 'hidden';
		calendarControl.hide();
	}
}



function setActive(elem) {
	//var arrival = document.getElementById('title_arrival');
//	var departure = document.getElementById('title_departure');
//	if(elem == 'arrival') {
//		if(arrival.src.indexOf('-a.gif') == -1) {
//			arrival.src = arrival.src.replace('.gif','-a.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');
//			departure.src = departure.src.replace('.gif','-a.gif');
//		}
//	}
}

function submitResForm(theForm, nights)
{
	Form = eval("document."+theForm);
	arrivalmonth = Form.arrival.value.split("-");
	groupcode = Form.groupcode.value;
	//Check date vars ==============================
		var currentTime = new Date();
		var month = currentTime.getMonth() + 1;
		var day = currentTime.getDate();
		var year = currentTime.getFullYear();
		year = year.toString();
		year = year.substring(year.length-2,year.length);
	//==============================================
	themonth = arrivalmonth[0];
	theday = arrivalmonth[1];
	theyear = arrivalmonth[2];
	if(theyear.length > 2){
		theyear2 = theyear.substring(theyear.length-2,theyear.length);
	}else{
		theyear2 = theyear;
	}
	//Check date ===================================
		if(year == theyear2){
			if(month == themonth){
				if(theday < day){
					showAlert("day");
					return;
				}
			}else if(themonth <month){
				showAlert("month");
				return;
			}
		}else if(theyear2 < year){
			showAlert("year");
			return;
		}
	//==============================================
	//groupcode = "";
	if(groupcode == ""){
		groupcode = "ATDLX01";
	}
	Form.action = "https://res.seminolehardrock.com/CGI-BIN/LANSAWEB?PROCFUN+rn+resnet+THR+funcparms+UP(A2560):;" + groupcode + ";" + themonth + theday + theyear2 + ";" + nights + ";" + Form.adults.value + ";" + Form.children.value + ";;;;;;;;;;;;;?";
	
	/* alert(Form.action); */
	Form.submit(); 
}; 

function showAlert($val){
	if($val == "month"){
		alert("The month you selected has already past, please try again.");
	}else if($val == "day"){
		alert("The day you selected has already past, please try again.");
	}else if($val == "year"){
		alert("The year you selected has already past, please try again.");
	}
}
function clearForm(theForm){
	Form = eval("document."+theForm);
	Form.arrival.value = "MM-DD-YYYY";
	Form.groupcode.value = "";
	Form.days[0].selected = true;
	Form.adults[1].selected = true;
	Form.children[0].selected = true;
}

function checkAvailability(theForm) {
	var formElem = document.getElementById('availability_form');
	var arrival = document.getElementById('arrival');
	var nights = document.getElementById('nights');
	//var departure = document.getElementById('departure');
	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_month = a_month - 1;
		a_day = arrival.value.split('-')[1];
		a_year = arrival.value.split('-')[2];
		//d_month = departure.value.split('-')[0];
//		d_month = d_month - 1;
//		d_day = departure.value.split('-')[1];
//		d_year = departure.value.split('-')[2];
		arrival = new Date(a_year, a_month, a_day);
		//departure = new Date(d_year, d_month, d_day);
		one_day = 1000*60*60*24;
		nights = nights.value;
		
		dateError = 0;
		if (nights < 1){
			errors = 1;
			message+= "-You departure date is before your arrival date \n";
		}
		//if(a_year > d_year) {
//			//errors = 1;
//			//message+= "- Your departure date is before your arrival date\n";
//		} else {
//			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) {
		//alert('Passed requirements! Submitting Form!');
		submitResForm(theForm, nights);
	} 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();
	}
}