/* Begin image rollover funtion */
// 0-6 are main navigation rollovers
// 7-13 are footer rollovers
// 14-20 are secondary nav images
// 21-24  are header nav images
// 25-26 are shows info button images
// 27-29 are packages button images
// 30-31 are packages button images
var origImg = new Array();
origImg[0] = 'topnav_resortrooms.gif';
origImg[1] = 'topnav_shows.gif';
origImg[2] = 'topnav_towersuites.gif';
origImg[3] = 'topnav_restaurants.gif';
origImg[4] = 'topnav_giftcards.gif';
origImg[5] = 'topnav_spa.gif';
origImg[6] = 'topnav_golf.gif';
origImg[7] = 'responsible_gambling_off.gif';
origImg[8] = 'investors_off.gif';
origImg[9] = 'about_off.gif';
origImg[10] = 'contact_off.gif';
origImg[11] = 'sitemap_off.gif';
origImg[12] = 'privacy_off.gif';
origImg[13] = 'guest_book_off.gif';
origImg[14] = 'snav_shows_info_off.jpg';
origImg[15] = 'snav_packages_off.jpg';
origImg[16] = 'snav_group_sales_off.jpg';
origImg[17] = 'snav_ticketing_info_off.jpg';
origImg[18] = 'snav_theater_maps_off.jpg';
origImg[19] = 'snav_faqs_off.jpg';
origImg[20] = 'snav_contact_us_off.jpg';
origImg[21] = 'hnav_wlv_off.gif';
origImg[22] = 'hnav_sign_guest_book_off.gif';
origImg[23] = 'hnav_privacy_off.gif';
origImg[24] = 'hnav_contact_off.gif';
origImg[25] = 'si_le_reve_off_btn.gif';
origImg[26] = 'si_summer_off_btn.gif';
origImg[27] = 'p_le_reve_off_btn.gif';
origImg[28] = 'p_terrace_pointe_off_btn.gif';
origImg[29] = 'p_entertainment_off_btn.gif';
origImg[30] = 'tm_le_reve_off_btn.gif';
origImg[31] = 'tm_summer_off_btn.gif';
origImg[32] = 'corpnav_propertymap.gif';
origImg[33] = 'sidenav_brokerlogin.gif';
origImg[34] = 'sidenav_cancelorder.gif';
origImg[35] = 'sidenav_shoppingcart.gif';
origImg[36] = 'sidenav_tickets.gif';

var overImg = new Array();
overImg[0] = 'topnav_resortrooms_over.gif';
overImg[1] = 'topnav_shows_over.gif';
overImg[2] = 'topnav_towersuites_over.gif';
overImg[3] = 'topnav_restaurants_over.gif';
overImg[4] = 'topnav_giftcards_over.gif';
overImg[5] = 'topnav_spa_over.gif';
overImg[6] = 'topnav_golf_over.gif';
overImg[7] = 'responsible_gambling_on.gif';
overImg[8] = 'investors_on.gif';
overImg[9] = 'about_on.gif';
overImg[10] = 'contact_on.gif';
overImg[11] = 'sitemap_on.gif';
overImg[12] = 'privacy_on.gif';
overImg[13] = 'guest_book_on.gif';
overImg[14] = 'snav_shows_info_on.jpg';
overImg[15] = 'snav_packages_on.jpg';
overImg[16] = 'snav_group_sales_on.jpg';
overImg[17] = 'snav_ticketing_info_on.jpg';
overImg[18] = 'snav_theater_maps_on.jpg';
overImg[19] = 'snav_faqs_on.jpg';
overImg[20] = 'snav_contact_us_on.jpg';
overImg[21] = 'hnav_wlv_on.gif';
overImg[22] = 'hnav_sign_guest_book_on.gif';
overImg[23] = 'hnav_privacy_on.gif';
overImg[24] = 'hnav_contact_on.gif';
overImg[25] = 'si_le_reve_on_btn.gif';
overImg[26] = 'si_summer_on_btn.gif';
overImg[27] = 'p_le_reve_on_btn.gif';
overImg[28] = 'p_terrace_pointe_on_btn.gif';
overImg[29] = 'p_entertainment_on_btn.gif';
overImg[30] = 'tm_le_reve_on_btn.gif';
overImg[31] = 'tm_summer_on_btn.gif';
overImg[32] = 'corpnav_propertymap_over.gif';
origImg[33] = 'sidenav_brokerlogin_over.gif';
origImg[34] = 'sidenav_cancelorder_over.gif';
origImg[35] = 'sidenav_shoppingcart_over.gif';
origImg[36] = 'sidenav_tickets_over.gif';

function swapImage(mouseevent,id,arrayNum) {
	if (mouseevent == 'over'){
		document.getElementById(id).setAttribute('src','images/'+ overImg[arrayNum]);
	}
	
	else if (mouseevent == 'out') {
		document.getElementById(id).setAttribute('src','images/'+ origImg[arrayNum]);
	}
	
	else {
		return;
	}
}

function preloadImages() {
	for (i=0; i<overImg.length; i++) {
		var images = new Array();
		images[i] = new Image;
		images[i].src = 'images/' + overImg[i];
	}
}
/* End image rollover function */

/* Begin content swapping functions */
function contentSwap(id,id2){	
	var activeDiv = document.getElementById(id);
	var setID = new Array();		
	var alt = new Array();
	var inactiveArrayNum = new Array();
	
	var buttonsDiv = document.getElementById(id2+'_buttons');
	var indButtonsDivs = buttonsDiv.getElementsByTagName('div');
	
	var copyDiv = document.getElementById(id2+'_copy');
	var showCopy = document.getElementById(id + '_copy');
	var indCopyDivs = copyDiv.getElementsByTagName('div');
	var indCopyDivCount = indCopyDivs.length;
	
	if(id2 == "packages") {
		var imageDiv = document.getElementById('p_widget_image');
		var imgs = imageDiv.getElementsByTagName('img');
	}	
	else if(id2 == "shows_info") {
		var imageDiv = document.getElementById('si_widget_image');
		var imgs = imageDiv.getElementsByTagName('img');
	}	
	var showImage = document.getElementById(id + '_widget_image');
	
	
	for (var i=0;i<indCopyDivCount;i++){
		setID[i] = indButtonsDivs[i].getAttribute('id');
		alt[i] = setID[i].split('_')[1];
		var page = setID[i].split('_')[0];
		
		indCopyDivs[i].style.display = "none";
		if ((page == 'p') || (page == 'si')) { // If the page is "packages" or "shows info", all the right images will be hidden.
			imgs[i].style.display = "none";
		}
		
		document.getElementById(setID[i]).innerHTML = "<img src=\"images/"+setID[i]+"_off_btn.gif\" id=\""+setID[i]+"_image\" width=\"126\" height=\"18\" alt=\""+alt[i]+"\" title=\""+alt[i]+"\" onmouseover=\"swapImage2('over',this.getAttribute('id'));\" onmouseout=\"swapImage2('out',this.getAttribute('id'));\" />";
	}
	
	showCopy.style.display = "block";
	if ((page == 'p') || (page == 'si')) { // If the page is "packages" or "shows info", the appropriate image will be displayed.
		showImage.style.display = "block";	
	}
	
	if (showCopy.style.display == "block") {
		var splitID = id.split('_');
		var alt_a = splitID[1];
		
		activeDiv.innerHTML = "<img src=\"images/"+id+"_on_btn.gif\" id=\""+id+"_image\" width=\"126\" height=\"18\" alt=\""+alt_a+"\" title=\""+alt_a+"\" />";	
	}
}

function swapImage2(mouseevent,id) {
	img = id.split('_image')[0];
	
	if (mouseevent == 'over'){
		document.getElementById(id).setAttribute('src','images/'+ img + "_on_btn.gif");
	}
	
	else if (mouseevent == 'out') {
		document.getElementById(id).setAttribute('src','images/'+ img + "_off_btn.gif");
	}
	
	else {
		return;
	}
}
/* End content swapping functions */

/* Extracted from Prototype JS Library, http://prototype.conio.net/
 Written by Sam Stephenson, http://conio.net/ */
function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string') element = (document.getElementById) ? document.getElementById(element) : eval("document.all."+element) ;
    if (arguments.length == 1) return element;
    elements.push(element);
  }
  return elements;
}
/* Function to remove all child nodes of an element. */
function clean(elm) {
	while($(elm).hasChildNodes()) {
		$(elm).removeChild($(elm).childNodes[0]);
	}
	return true;
}
/* Function to handle cross-browser HTTPRequest calls.
 Written by Dan Bogaard, www.rit.edu/~dsbics */
function getHTTP() {
	var xmlhttp;
	if(window.XMLHttpRequest) {
		try {
			xmlhttp = new XMLHttpRequest();
			xmlhttp.overrideMimeType("text/xml"); 
		} catch(e) { xmlhttp = false;	}
	} else if(window.ActiveXObject) {	// if this is IE,
		// try to set the variable to activeX xmlhttp object
		try {	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } 
		catch(e) {
			try {	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");	} 
			catch(e) { xmlhttp = false;	}
		}
	}
	return xmlhttp;
}

/* Function to grab all elements with a specific class name.
 Original written by Jonathan Snook, http://www.snook.ca/jonathan
 Add-ons by Robert Nyman, http://www.robertnyman.com 	
 Re-written by Zack Gilbert of Seen Creative, http://www.weareseencreative.com */
function getElementsByClass(className, elm, tag){
	if(elm == null) elm = document;
	if(tag == null) tag = '*';
	var elems = (tag == "*" && document.all)? document.all : elm.getElementsByTagName(tag);
	var returnElems = new Array();
	className = className.replace(/\-/g, "\\-");
	var pattern = new RegExp("(^|\\s)" + className + "(\\s|$)");
	for(var i=0; i<elems.length; i++){
		if(pattern.test(elems[i].className)) returnElems.push(elems[i]);
	}
	return returnElems
}
/* Functions to add/remove event listeners to objects
	Written by John Resig, http://ejohn.org */
function addEvent( obj, type, fn ) {
	if (obj.addEventListener) obj.addEventListener( type, fn, false );
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn ) {
	if (obj.removeEventListener) obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent) {
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}
/* Functions to handle cross-browser events.
 Written by Zack Gilbert of Seen Creative, http://www.weareseencreative.com. */
/* get the target of an event object */
function getTarget(e) {
	return (e.target) ? e.target : e.srcElement;
}
/* get the X location of an object */
function getX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	} else if (obj.x)	curleft += obj.x;
	//alert(curleft);
	return curleft;
}
/* get the Y location of an object */
function getY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y)	curtop += obj.y;
	//alert(curtop);
	return curtop;
}
function getKey(e) {
	code = false;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	return code;
}
// this function is used to stop events from acting normally. 
// NOTE: Safari supports these functions, but does not work properly!
function killKey(e) {
	(e.preventDefault) ? e.preventDefault() : window.event.returnValue = false;
	(e.stopPropagation) ? e.stopPropagation() : window.event.cancelBubble = true;	
	return false;
}

/* Begin scrollable div functions */

var increment=40; // The amount the div moves up and down.
var wndwHeight = 244;

function showScrollArrows(id){
	var scrollDiv = document.getElementById(id);
	var contentheight = scrollDiv.offsetHeight;
	
	if (contentheight > wndwHeight){
		document.getElementById('scroll_up').style.visibility="visible";
		document.getElementById('scroll_down').style.visibility="visible";
	}	
}

function movedown(id){
	var scrollDiv = document.getElementById(id);
	var contentheight = scrollDiv.offsetHeight;
	var scrollDivTop = scrollDiv.style.top;
	var top = scrollDivTop.split("px")[0];
	var maxTop = wndwHeight-contentheight;
	
	if ((contentheight > wndwHeight) && (top > maxTop)){
			scrollDiv.style.top=eval(top-increment)+"px";
	}
}

function moveup(id){
	var scrollDiv = document.getElementById(id);
	var scrollDivTop = scrollDiv.style.top;
	var top = parseInt(scrollDivTop.split("px")[0]);
	
	if (top != 0){
		scrollDiv.style.top=eval(top+increment)+"px";
	}
}

function stopscroll(){
	if (window.moveupvar){
		clearTimeout(moveupvar);
	}
	
	if (window.movedownvar){
		clearTimeout(movedownvar);
	}
}

function movetop(){
	stopscroll();
	scrollDiv.style.top=0+"px";
}
/* End scrollable div functions */

// This function replaces the swapImage function
function swapImageNew(mouseevent, id, overImg, origImg) { if (mouseevent == 'over'){ document.getElementById(id).setAttribute('src',overImg); } else if (mouseevent == 'out') { document.getElementById(id).setAttribute('src',origImg); } else { return; } } 