
/*################### DIV POSITIONING AND MASKS #####################*/

// function to centre a div of a given width and height in the browser space
function deadCenterDiv(Xwidth,Yheight,divid) { 
	// First, determine how much the visitor has scrolled 

	var scrolledX, scrolledY; 
	if( self.pageYOffset ) { 
		scrolledX = self.pageXOffset; 
		scrolledY = self.pageYOffset; 
	} else if( document.documentElement && document.documentElement.scrollTop ) { 
		scrolledX = document.documentElement.scrollLeft; 
		scrolledY = document.documentElement.scrollTop; 
	} else if( document.body ) { 
		scrolledX = document.body.scrollLeft; 
		scrolledY = document.body.scrollTop; 
	} 

	// Next, determine the coordinates of the center of browser's window 

	var centerX, centerY; 
	if( self.innerHeight ) { 
		centerX = self.innerWidth; 
		centerY = self.innerHeight; 
	} else if( document.documentElement && document.documentElement.clientHeight ) { 
		centerX = document.documentElement.clientWidth; 
		centerY = document.documentElement.clientHeight; 
	} else if( document.body ) { 
		centerX = document.body.clientWidth; 
		centerY = document.body.clientHeight; 
	} 

	// Xwidth is the width of the div, Yheight is the height of the 
	// div passed as arguments to the function: 
	var leftOffset = scrolledX + (centerX - Xwidth) / 2; 
	var topOffset = scrolledY + (centerY - Yheight) / 2; 
	// The initial width and height of the div can be set in the 
	// style sheet with display:none; divid is passed as an argument to // the function 
	var o=document.getElementById(divid); 
	var r=o.style; 
	r.position='absolute'; 
	r.top = topOffset + 'px'; 
	r.left = leftOffset + 'px'; 
	r.display = "block"; 
} 

// function to add a mask div of a given opacity and z-index
function showMaskDiv(opacity, zvalue) {
	if (document.getElementById('maskDiv'))
		var myMask = document.getElementById('maskDiv');
	else
		{
		var myMask = document.createElement('div');
		myMask.setAttribute("id","maskDiv");
		document.body.appendChild(myMask);
		}

	// get the page height
	if (window.innerHeight && window.scrollMaxY) {	
		myHeight = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		myHeight = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		myHeight = document.body.offsetHeight;
	}

	myMask.style.position = 'absolute';
	myMask.style.top = '0px';
	myMask.style.left = '0px';
	myMask.style.width = '100%';
	myMask.style.height = myHeight+'px';
	myMask.style.visibility = 'visible';
	myMask.style.background = '#000000';
	myMask.style.opacity = opacity;
	myMask.style.filter = 'alpha(opacity='+(opacity*100)+')';
	myMask.style.zIndex = zvalue;
}

// hide the mask div
function hideMaskDiv() {
	document.getElementById('maskDiv').style.visibility = 'hidden';
}

// hide availability div
function hideAvailabilityDiv() {
	document.getElementById('availabilityBox').style.display = 'none';
}

// ajax to get availability box
function openAvailability(id, title) {
	var mydiv = $('availabilityBox');
	var url = "/zones/properties.php?act=openAvailability&id="+id+"&title="+title;
	new Ajax.Updater(mydiv, url);
	document.getElementById('availabilityBox').style.display='';
}

// hide availability boxes
function getAvailabilityBoxes(div, scsearch, arrive, nights, variance) {
	var mydiv = $(div);
	var url = "/zones/search.php?act=getAvailabilityForm&div="+div+"&arrive="+arrive+"&nights="+nights+"&variance="+variance;
	new Ajax.Updater(mydiv, url);
	document.getElementById('supercontrolSearch').value = scsearch;
	if (scsearch == 1)
		document.getElementById(div).style.display = '';
	else
		document.getElementById(div).style.display = 'none';
}


// validate that a country and location have been selected
function checkSearchForm() {
	if((document.searchForm.country.value=='') || (document.searchForm.location.value=='')) {
		alert ("Please select a country and a location for your search.");
		return false;
	}
	else
		return true;
}