var preloadFlag = false;
var curTimer ;
var menus = new Array('home','resort','about','adventure','realestate','reservations','contact') ;

function showSubMenu(subMenuName){
	if(curTimer){
		clearTimeout(curTimer) ;
		clearTimeout(defTimer) ;
	}
	
	// hide all other sub menus
	for(i=0; i<menus.length; i++){
		hideSubMenu(menus[i]) ;
	}

	subMenuID = 'sm_'+subMenuName ;
	imageID	  = 'img_'+subMenuName ;
	rolloverImageName = 'images/menu-'+subMenuName+'-over.gif' ;

	document.getElementById(subMenuID).style.display = 'block' ;
	document.getElementById(imageID).src = rolloverImageName ;
}

function hideSubMenuDelay(subMenuName){
	curTimer = setTimeout('hideSubMenu(\''+subMenuName+'\')', 500) ;
	defTimer = setTimeout('showDefaultSubMenu()', 500) ;
}

function hideSubMenu(subMenuName){
	subMenuID 			= 'sm_'+subMenuName ;
	imageID	  			= 'img_'+subMenuName ;
	imageName 			= 'images/menu-'+subMenuName+'.gif' ;
	document.getElementById(subMenuID).style.display = 'none' ;
	document.getElementById(imageID).src = imageName ;
}

function showDefaultSubMenu(){
	//alert('Value of currentSection: '+currentSection) ;
	currentSubMenuID 	= 'sm_'+currentSection ;
	imageID	  			= 'img_'+currentSection ;
	imageName 			= 'images/menu-'+currentSection+'-over.gif' ;
	document.getElementById(currentSubMenuID).style.display = 'block' ;
	document.getElementById(imageID).src = imageName ;
}
		
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function preloadImages() {
	if (document.images) {
		home_over 			= newImage("images/menu-home-over.gif");
		resort_over 		= newImage("images/menu-resort-over.gif");
		adventure_over 		= newImage("images/menu-adventure-over.gif");
		realestate_over 	= newImage("images/menu-realestate-over.gif");
		reservations_over 	= newImage("images/menu-reservations-over.gif");
		contact_over 		= newImage("images/menu-contact-over.gif");

		preloadFlag = true;
	}
}

var preloadImagesArray = new Array() ;

function preloadImage(imgURL){
	//var pic = new Image() ;
	//pic.src = imgURL ;
	var pic = newImage(imgURL) ;
	preloadImagesArray.push(pic) ;
}

function hideFullsizeImage(){
	document.getElementById('fsImage').style.display = 'none' ;
}

function showFullsizeImage(imgURL,title,caption){
	document.getElementById('fsImagePlaceholder').src = imgURL ;
	document.getElementById('fsImage').style.top = document.body.scrollTop + 50 ;
	
	document.getElementById('fsImageTitle').innerHTML 	= title ;
	document.getElementById('fsImageCaption').innerHTML = caption ;
	
	document.getElementById('fsImage').style.display = 'block' ;
	setOpac('fsImage',0) ;
	FadeIn('fsImage') ;
}

// Function used to fade "in" a div
function FadeIn($WhichDiv) {
	setOpac($WhichDiv,0); // set it to transparent
	document.getElementById($WhichDiv).style.display = "block"; // display as block just in case
	for( var i = 0 ; i <= 100 ; i++ ) {
		   setTimeout( 'setOpac(\''+$WhichDiv+'\',' + i + ')' , 2 * i );
	}
}

// Function used to fade "out" a div
function FadeOut($WhichDiv) {
	for( var i = 0 ; i <= 100 ; i++ ) {
		   setTimeout( 'setOpac(\''+$WhichDiv+'\',' + (100 - i) + ')' , 8 * i );
	}
	setTimeout('ToggleDiv(\''+$WhichDiv+'\')', 8 * i);
	setOpac($WhichDiv,100); // set it to opaque (just in case)
}

// Function used to set the opacity of a div (from 0 to 10)
function setOpac( $WhichDiv, value ) {
	document.getElementById($WhichDiv).style.opacity = value / 100;
	document.getElementById($WhichDiv).style.filter = 'alpha(opacity=' + value + ')';
}

function tellafriendPopup(returnURL){
    URL = 'tellafriend/tellafriend.php?urlFrom='+returnURL ;
    width = "350" ;
    height = "455" ;
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+width+",height="+height+",left = 390,top = 162');");
}

//Google Maps
function initMapsWrapper(){
	if(init_maps()){
		init_maps() ;	
	}
}



/*** Start expand div code ***/
function toggleLayer(whichLayer) {
	if (document.getElementById) {
		var style2 = document.getElementById(whichLayer).style;
		style2.display = style2.display? "":"block";
		}
	else if (document.all) {
		var style2 = document.all[whichLayer].style;
		style2.display = style2.display? "":"block";
		}
	else if (document.layers) {
		var style2 = document.layers[whichLayer].style;
		style2.display = style2.display? "":"block";
	}
}

function boldLink(qlink) {
	if (document.getElementById) {
		var style3 = document.getElementById(qlink).style;
		style3.fontWeight = style3.fontWeight? "":"bold";
		}
	else if (document.all) {
		var style3 = document.all[qlink].style;
		style3.fontWeight = style3.fontWeight? "":"bold";
		}
	else if (document.layers) {
		var style3 = document.layers[qlink].style;
		style3.fontWeight = style3.fontWeight? "":"bold";
	}
}

/*
function layerOn(whichLayer) {
	if (document.getElementById) {
		var style2 = document.getElementById(whichLayer).style;
		style2.display = "block";
		}
	else if (document.all) {
		var style2 = document.all[whichLayer].style;
		style2.display = "block";
	}
	else if (document.layers) {
		var style2 = document.layers[whichLayer].style;
		style2.display = "block";
	}
}

function toggleLayerOn(whichLayer) {
	if (document.getElementById) {
		var style2 = document.getElementById(whichLayer).style;
		style2.display = style2.display? "":"none";
		}
	else if (document.all) {
		var style2 = document.all[whichLayer].style;
		style2.display = style2.display? "":"none";
	}
	else if (document.layers) {
		var style2 = document.layers[whichLayer].style;
		style2.display = style2.display? "":"none";
	}
}

function layerOff(whichLayer) {
	if (document.getElementById) {
		var style2 = document.getElementById(whichLayer).style;
		style2.display = "none";
		}
	else if (document.all) {
		var style2 = document.all[whichLayer].style;
		style2.display = "none";
	}
	else if (document.layers) {
		var style2 = document.layers[whichLayer].style;
		style2.display = "none";
	}
}
*/

/**
 * toggle the info-box div's visibility.
 * pass the containing li element
 */
function expand_infobox(li) {
	if( $(li).hasClassName('expanded') ) {
		$(li).removeClassName('expanded');
		return true;
	}
	$(li).addClassName('expanded');
	return true;
}

/**
 * Bind the onclick observers to the "expand" and "[x] close" links for info-boxes
 */
document.observe("dom:loaded", function() {
  	$$('ul.expandable > li a').each(function(e) { 
  		$(e).observe('click', function(event){
  			li = $(e).ancestors()[0];
  			expand_infobox(li);
  		});
	});
	$$('div.info-box').each(function(e){
		info_div = $(e).insert(close_button = new Element('a', { 'class': 'close-button', href: 'javascript:void(0);' }).update("[x] close") );
		$(close_button).observe('click',function(event){
			li = $(this).ancestors()[1];
			expand_infobox(li);			
		});
	});
});