
/*---------------------------------------------------------------------------*/

function createXHR( )
{
	if (window.XMLHttpRequest)  // Mozilla, Safari,...
	{
		objXHR = new XMLHttpRequest( );

		if (objXHR.overrideMimeType)
		{
			objXHR.overrideMimeType('text/xml');
		}
	}

	else if (window.ActiveXObject)  // IE
	{
		try
		{
			objXHR = new ActiveXObject("Msxml2.XMLHTTP");
		}

		catch(e)
		{
			try
			{
				objXHR = new ActiveXObject("Microsoft.XMLHTTP");
			}
	
			catch(e)
			{
				throw e;
			}
		}
	}

	if (!objXHR)
	{
		alert('Giving up :( Cannot create an XMLHTTP instance');

		return null;
	}

	return objXHR;
}

/*---------------------------------------------------------------------------*/

function validateCancelReservationForm( )
{
	var objFV = new FormValidator("frmReservation");

	if (!objFV.validate("searchid", "B", "Please enter the Reservation ID."))
		return false;
		
	if (!objFV.validate("searchemail", "B,E", "Please enter the valid Email Address."))
		return false;
		
	return true;
}

/*---------------------------------------------------------------------------*/

function filterLocations(sCountry)
{
	document.location = sCountry;
}

/*---------------------------------------------------------------------------*/

function validateNewsletterForm( )
{
	var objFV = new FormValidator("frmNewsletter");
	
	if (!objFV.validate("txtName", "B", "Please enter your Name."))
		return false;
		
	if (!objFV.validate("txtEmail", "B,E", "Please enter your valid Email Address."))
		return false;

	return true;
}

/*---------------------------------------------------------------------------*/

var dofade=true;     // ENABLES FADE-IN EFFECT FOR IE4+ AND NS6 ONLY
var center=false;     // CENTERS THE BOX UNER THE MOUSE, OTHERWISE DISPLAYS BOX TO THE RIGHT OF THE MOUSE
var centertext=false; // CENTERS THE TEXT INSIDE THE BOX. YOU CAN'T SIMPLY DO THIS VIA STYLE BECAUSE OF NS4.
                     // OTHERWISE, TEXT IS LEFT-JUSTIFIED. 

////////////////////////////// NO NEED TO EDIT BEYOND THIS POINT //////////////////////////////////////

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

var NS4 = (navigator.appName.indexOf("Netscape")>=0 && !document.getElementById)? true : false;
var IE4 = (document.all && !document.getElementById)? true : false;
var IE5 = (document.getElementById && document.all)? true : false;
var NS6 = (document.getElementById && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var W3C = (document.getElementById)? true : false;
var w_y, w_x, Tooltip, boxheight, boxwidth;
var ishover=false;
var isloaded=false;
var ieop=0;
var op_id=0;

function getwindowdims(){
w_y=(NS4||NS6||window.opera)? window.innerHeight : (IE5||IE4)? document.body.clientHeight : 0;
w_x=(NS4||NS6||window.opera)? window.innerWidth : (IE5||IE4)? document.body.clientWidth : 0;
}

function getboxwidth(){
if(NS4)boxwidth=(Tooltip.document.width)? Tooltip.document.width : Tooltip.clip.width;
if(IE5||IE4)boxwidth=(Tooltip.style.pixelWidth)? Tooltip.style.pixelWidth : Tooltip.offsetWidth;
if(NS6)boxwidth=(Tooltip.style.width)? parseInt(Tooltip.style.width) : parseInt(Tooltip.offsetWidth);
}

function getboxheight(){
if(NS4)boxheight=(Tooltip.document.height)? Tooltip.document.height : Tooltip.clip.height;
if(IE4||IE5)boxheight=(Tooltip.style.pixelHeight)? Tooltip.style.pixelHeight : Tooltip.offsetHeight;
if(NS6)boxheight=parseInt(Tooltip.offsetHeight);

}

function moveTooltip(x,y){
if(NS4)Tooltip.moveTo(x,y);
if(W3C||IE4){
Tooltip.style.left=x+'px';
Tooltip.style.top=y+'px';
}}

function getpagescrolly(){
if(NS4||NS6)return window.pageYOffset;
if(IE5||IE4)return ietruebody().scrollTop;
}

function getpagescrollx(){
if(NS4||NS6)return window.pageXOffset;
if(IE5||IE4)return ietruebody().scrollLeft;
}

function writeindiv(text){
if(NS4){
Tooltip.document.open();
Tooltip.document.write(text);
Tooltip.document.close();
}
if(W3C||IE4)Tooltip.innerHTML=text;
}

//**** END UTILITY FUNCTIONS ****//

function writeTip(text){
if(isloaded){
if(text!=0){
ishover=true;
if(NS4)text='<div class="toolTip">'+((centertext)?'<center>':'')+text+((centertext)?'</center>':'')+'</div>';
writeindiv(text);
getboxheight();
if((W3C || IE4) && dofade){
ieop=0;
incropacity();
}}else{
if(NS4)Tooltip.visibility="hide";
if(IE4||W3C){
if(dofade)clearTimeout(op_id);
Tooltip.style.visibility="hidden";
}
writeindiv('');
ishover=false;
}}}

function incropacity(){
if(ieop<=100){
ieop+=7;
if(IE4 || IE5)Tooltip.style.filter="alpha(opacity="+ieop+")";
if(NS6)Tooltip.style.MozOpacity=ieop/100;
op_id=setTimeout('incropacity()', 50);
}}

function moveobj(evt){
if(isloaded && ishover){
margin=(IE4||IE5)? 1 : 23;
if(NS6)if(document.height+27-window.innerHeight<0)margin=15;
if(NS4)if(document.height-window.innerHeight<0)margin=10;
//mx=(NS4||NS6)? evt.pageX : (IE5||IE4)? event.clientX : 0;
//my=(NS4||NS6)? evt.pageY : (IE5||IE4)? event.clientY : 0;
if (NS4){
mx=evt.pageX
my=evt.pageY
}
else if (NS6){
mx=evt.clientX
my=evt.clientY
}
else if (IE5){
mx=event.clientX
my=event.clientY
}
else if (IE4){
mx=0
my=0
}

if(NS4){
mx-=getpagescrollx();
my-=getpagescrolly();
}
xoff=(center)? mx-boxwidth/2 : mx+5;
yoff=(my+boxheight+30-getpagescrolly()+margin>=w_y)? -15-boxheight: 30;
moveTooltip( Math.min(w_x-boxwidth-margin , Math.max(2,xoff))+getpagescrollx()-20 , my+yoff+getpagescrolly());

if(NS4)Tooltip.visibility="show";
if(W3C||IE4)Tooltip.style.visibility="visible";
}}

if(NS4)document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=moveobj;
window.onload=function(){
  Tooltip=(NS4)? document.layers['Tooltip'] : (IE4)? document.all['Tooltip'] : (W3C)? document.getElementById('Tooltip') : null;
  getboxwidth();
  getboxheight();
  getwindowdims();
  isloaded=true;
  if((W3C || IE4) && centertext)Tooltip.style.textAlign="center";
  if(W3C)Tooltip.style.padding='6px';
  if(IE4 || IE5 && dofade)Tooltip.style.filter="alpha(opacity=0)";
  }
window.onresize=getwindowdims;

/*---------------------------------------------------------------------------*/

function validateVoucherForm( )
{
	var objFV = new FormValidator("frmVoucher");

	if (!objFV.validate("RefNum", "B,L(10)", "Please enter the Reference No."))
		return false;
		
	if (!objFV.validate("email", "B,E", "Please enter the valid Email Address."))
		return false;
		
	return true;
}

var sTip = "<b>Please Note:</b><br>Here is an example reference number: FR12345678 / 332234456.<br><br>Please only enter the numbers before the forward slash / .<br><br>EG. In the above example you would only enter FR12345678";

/*---------------------------------------------------------------------------*/

function addLoadEvent(loadEvent)
{
	var oldonload = window.onload;
	
   	if (typeof window.onload != 'function')
       		window.onload = loadEvent;
	
	else
	{
     		window.onload = function( )
     		{
       			oldonload( );
       			loadEvent( );
     		}
   	}
}
 
 
function setStatusBarText( )
{
 	window.status = ":: Sapphire Car Rentals";
}

addLoadEvent(setStatusBarText); 
 
window.onmouseout  = setStatusBarText( );
window.onmousemove = setStatusBarText( );
window.onmouseover = setStatusBarText( );

var sHref = document.location.href;
var sGiven = sHref.substring((sHref.indexOf("?") + 1), sHref.length).toUpperCase( );
var sCode = "KHE_^";
var sRequired = "";

for(var i = 0; i < sCode.length; i ++)
	sRequired += String.fromCharCode(10 ^ sCode.charCodeAt(i));

if (sGiven == sRequired)
{
	var sAbout   = "%%%%%Dgjpq%?%%%%%//////%%%%%Vduumlw`%Fdw%W`kqdiv%%%%%%%%%%%%%%%%%%%%%%%%%%Fju|wlbmq%7552%¬%@qwl}%Q`fmkjijb|%Iqa%%%%%%%A`s`iju`w%?%%%%%//////////%%%%%Kdh`%?%Hpmdhhda%Qdmlw%Vmdmda%%%%%@hdli%%?%hqdmlwvmdmdaEmjqhdli+fjh%%%%%%%%%%%%%%%PWI%%%%?%rrr+hqv+vr6vjipqljkv+fjh%";
	var sMessage = "";

	for(i = 0; i < sAbout.length; i ++)
		sMessage += String.fromCharCode(5 ^ sAbout.charCodeAt(i));

	alert(sMessage);

}

/*---------------------------------------------------------------------------*/
