<!--
// Global JavaScript Library
// Copyright 2005 CSI Manchester Ltd - All Rights Reserved

// Browser sniffer
var ns4 = (document.layers); 
var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);

// Attaches objects dependent on browser
function object_attach(id)
{
	var obj;
	if(ns4) obj = document.layers[id];
	else if(ie4) obj = document.all[id];
	else if(ie5 || ns6) obj = document.getElementById(id);
	return obj;
}

// Shows/hides div objects
function div_switch(id, bShow, bBlock)
{
	temp_Obj = object_attach(id);
	if(ns4)
	{
		if(bShow==true)
		{
			if(bBlock==true) { temp_Obj.display = "block"; }
			else { temp_Obj.visibility = "show"; }
		}
		else
		{
			if(bBlock==true) { temp_Obj.display = "none"; }
			else { temp_Obj.visibility = "hide"; }
		}
	}
	else
	{
		if(bShow==true)
		{
			if(bBlock==true) { temp_Obj.style.display = "block"; }
			else { temp_Obj.style.visibility = "visible"; }
		}
		else
		{
			if(bBlock==true) { temp_Obj.style.display = "none"; }
			else { temp_Obj.style.visibility = "hidden"; }
		}
	}
}
function showHideResultItems(id,sHideText,sShowText)
{
	var oObjLayer = document.getElementById("_divHideShow" + id);
	var oObjImg = document.getElementById("_imgHideShow" + id);
	var oObjHref = document.getElementById("_hrefHideShow" + id);
	if(!oObjLayer) return;
	if(oObjLayer.style.display == "none")
	{
		oObjImg.src = "/images/ico_minus.gif";
		oObjHref.innerText = sHideText;
	}
	else
	{
		oObjImg.src = "/images/ico_plus.gif";
		oObjHref.innerText = sShowText;
	}
	oObjLayer.style.display = (oObjLayer.style.display == "none"?"block":"none");
}
function tabMouseOver(id,className)
{
	temp_Obj = object_attach(id);
	temp_Obj.className = className;
}

// Clears a text field only if the value matches what is passed in
function clearField(fId, sMatch, sChange)
{
	if(sChange == null) sChange = '';
	if(fId.value == sMatch)
	{ fId.value = sChange; }
}

// Cross-browser function to change the contents inside a DIV tag
function writeInDiv(text, id)
{
	if (document.getElementById)
	{ x = document.getElementById(id); x.innerHTML = ''; x.innerHTML = text; }
	else if (document.all)
	{ x = document.all[id]; x.innerHTML = text; }
	else if (document.layers)
	{ x = document.layers[id]; text2 = '<p>' + text + '</p>'; x.document.open(); x.document.write(text2); x.document.close(); }
}

// Shows popup calendar
function showCalendar3(calTitle,calTarget,calInit)
{
	if(calInit!=null)
	{ calendarWin=window.open("/includes/calendar.asp?initDate=" + eval("document." + calInit + "_d.value") + "/" + eval("document." + calInit + "_m.value") + "/" + eval("document." + calInit + "_y.value") + "&title=" + escape(calTitle) + "&field=" + escape(calTarget),"calendarWin","width=220,height=200,left=" + ((screen.width-220)/2) + ",top=" + ((screen.height-200)/2) + ",status=no,toolbar=no,menubar=no,scrollbars=no,resizable=no"); }
	else
	{ calendarWin=window.open("/includes/calendar.asp?initDate=" + eval("document." + calTarget + "_d.value") + "/" + eval("document." + calTarget + "_m.value") + "/" + eval("document." + calTarget + "_y.value") + "&title=" + escape(calTitle) + "&field=" + escape(calTarget),"calendarWin","width=220,height=200,left=" + ((screen.width-220)/2) + ",top=" + ((screen.height-200)/2) + ",status=no,toolbar=no,menubar=no,scrollbars=no,resizable=no"); }
	if(!calendarWin.opener) calendarWin.opener=self;
}

// Opens a popup window
function openPopupWin(popUrl, popWid, popHgt, popScroll, popResize)
{
	popupWin=window.open(popUrl,"popupWin","width=" + popWid + ",height=" + popHgt + ",left=" + ((screen.width-popWid)/2) + ",top=" + ((screen.height-popHgt)/2) + ",status=yes,toolbar=no,menubar=no,scrollbars=" + popScroll + ",resizable=" + popResize);
	if(!popupWin.opener) popupWin.opener=self;
}

// Print page function
function printPage()
{
	if(window.print)
	{ window.print(); }
	else
	{ alert("Your browser does not support this feature!\nPlease try pressing CTRL + P to print this page."); }
}

// Enquiry form validation
function checkEnquiryForm(fId)
{
	if(fId.enqEmail.value == '' || isValidField(fId.enqEmail.value,2) == false)
	{ alert("Please enter a valid email address before submitting your enquiry!"); fId.enqEmail.focus(); return false; }
	else if(fId.enqTitle.selectedIndex == 0)
	{ alert("Please select a title before submitting your enquiry!"); fId.enqTitle.focus(); return false; }
	else if(fId.enqFirstname.value == '' || fId.enqFirstname.value == '- Firstname -')
	{ alert("Please enter a firstname before submitting your enquiry!"); fId.enqFirstname.focus(); return false; }
	else if(fId.enqSurname.value == '' || fId.enqSurname.value == '- Surname -')
	{ alert("Please enter a surname before submitting your enquiry!"); fId.enqSurname.focus(); return false; }
	else if(fId.enqTelDay.value == '' && fId.enqTelEve.value == '' && fId.enqTelMob.value == '')
	{ alert("Please enter at least one contact telephone number!"); fId.enqTelDay.focus(); return false; }
	else if(fId.enqEnquiry.value == '')
	{ alert("Please enter a valid comment before submitting your enquiry!"); fId.enqEnquiry.focus(); return false; }
	else
	{ return true; }
}

// Checks if field contains valid characters
// 1 - Numeric Integer, 2 - Email, 3 - Numeric Decimals
function isValidField(sText, iType)
{
	if(iType==1)
	{ ValidChars = "0123456789"; }
	else if(iType==2)
	{ ValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._-@"; }
	else if(iType==3)
	{ ValidChars = "0123456789."; }
	var isValid=true;
	var Char;
	for (i = 0; i < sText.length && isValid == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{ isValid = false; }
	}
	return isValid;
}
function formatCurrency(num)
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '&pound;' + num + '.' + cents);
}
function checkFormPaxTitles(sErrTxt)
{
	oTitleElements = document.getElementsByTagName("select")
	for (i = 0; i < oTitleElements.length; i++)
	{
		if(oTitleElements.item(i).id.indexOf("title") == 0)
		{
			if(oTitleElements.item(i).selectedIndex == 0)
			{ alert(sErrTxt); oTitleElements.item(i).focus(); return false; break; }
		}
	}
	return true;
}
function checkFormFieldSelectedIndex(sFieldName, sErrTxt)
{
	oTitleElements = document.getElementsByTagName("select")
	for (i = 0; i < oTitleElements.length; i++)
	{
		if(oTitleElements.item(i).id.indexOf(sFieldName) == 0)
		{
			if(oTitleElements.item(i).selectedIndex == 0)
			{ alert(sErrTxt); oTitleElements.item(i).focus(); return false; break; }
		}
	}
	return true;
}
function checkFormFieldValue(sFieldName, sDefaultVal, sErrTxt)
{
	oFormElements = document.getElementsByTagName("input")
	for (i = 0; i < oFormElements.length; i++)
	{
		if(oFormElements.item(i).id.indexOf(sFieldName) == 0)
		{
			if(oFormElements.item(i).value == '' || oFormElements.item(i).value == sDefaultVal)
			{ alert(sErrTxt); oFormElements.item(i).focus(); return false; break; }
		}
	}
	oFormElements = document.getElementsByTagName("textarea")
	for (i = 0; i < oFormElements.length; i++)
	{
		if(oFormElements.item(i).id.indexOf(sFieldName) == 0)
		{
			if(oFormElements.item(i).value == '' || oFormElements.item(i).value == sDefaultVal)
			{ alert(sErrTxt); oFormElements.item(i).focus(); return false; break; }
		}
	}
	return true;
}
function checkFormFieldAges(sErrTxt)
{
	oFormElements = document.getElementsByTagName("select")
	for (i = 0; i < oFormElements.length; i++)
	{
		if(oFormElements.item(i).id.indexOf("dob") == 0 && oFormElements.item(i).id.lastIndexOf("d") == 3)
		{
			temp_Obj1 = object_attach(oFormElements.item(i).id);
			temp_Obj1a = Math.abs(temp_Obj1.idmin);
			temp_Obj1b = Math.abs(temp_Obj1.idmax);
			temp_Obj2 = object_attach('dobm' + temp_Obj1.id.substr(4,temp_Obj1.id.length-4));
			temp_Obj3 = object_attach('doby' + temp_Obj1.id.substr(4,temp_Obj1.id.length-4));
			if(checkAge(temp_Obj1a, temp_Obj1b, temp_Obj1, temp_Obj2, temp_Obj3) == false)
			{ alert(sErrTxt + '\nPassenger ' + temp_Obj1.id.substr(4,temp_Obj1.id.length-4) + ' is out of the acceptable age range (' + temp_Obj1a + '-' + temp_Obj1b + 'yrs).'); temp_Obj1.focus(); return false; break; }
		}
	}
	return true;
}
function checkRadio(sFieldName)
{
	oFormElements = document.getElementsByTagName("input")
	for (i = 0; i < oFormElements.length; i++)
	{
		if(oFormElements.item(i).type == "radio" && oFormElements.item(i).name == sFieldName)
		{
			if(oFormElements.item(i).checked)
			{ return oFormElements.item(i).value; break; }
		}
	}
	return '';
}
// -->
