
var isNS4 = (document.layers) ? true : false;
var isIE4 = (document.all && !document.getElementById) ? true : false;
var isIE5 = (document.all && document.getElementById) ? true : false;
var isNS6 = (!document.all && document.getElementById) ? true : false;
var regExMac = /Macintosh/;
var strVersion = navigator.appVersion;
if (strVersion.search(regExMac) == -1) 
{
	var isMac = false;
} 
else 
{
	var isMac = true;
}

/*var glbCCChargeOnServer	= true; 
var glbCurrency = "GBP";
var glbCurrencySymbol = "£";
var glbCreditCardCharge = 3;
var constEUROCurrency = "EUR";
var constEUROSymbol = "€";
var constEUROCCCharge = 5;
var constGBPCurrency = "GBP";
var constGBPSymbol = "£";
var constGBPCCCharge = 3;
var glbReturnDayName = "return_day";
var glbReturnMonthYearName = "return_month_and_year";
var glbTotalPaymentName = "total_payment";
var glbTotalPaymentDisplayName	= "total_payment_display";
var glbCardTypeName = "card_type";
var glbOriginAirportName = "from";
var glbDestinationAirportName	= "to";
var glbOutboundDayName = "outbound_day";
var glbOutboundMonthYearName	= "outbound_month_and_year";
var glbAdultsName = "idNumAdults";
var glbChildrenName = "idNumKids";
var glbInfantsName = "idNumInfants";
var constMaxFieldLength = 100;	
var constMaxNumberPassengers	= 9;
var constMaxNumberParty = 18;	
var constLeedsBradfordAirport	= "LBA";
var constBelfast = "BFS";
var constPrague = "PRG";
var constBarcelona = "BCN";
var constCreditCardChargeIdentifier = "charge";*/




/* START: Subscription page stuff*/ 
//Check to see if email text box contains default text and clear
function clearSubscribe(defaultText, emailFieldID)
{	
	var txt = document.getElementById(emailFieldID).value;									
	if (txt == defaultText)
	{
		document.getElementById(emailFieldID).value = "";
	}
}

//check to see if txt_email is currently rendered in the html
function getActiveEmailId()
{		
	var inputElements = document.getElementsByTagName("input");		
		
	for (i = 0; i < inputElements.length; i++)
	{				
		if (inputElements[i].id == "txt_email")
		{		
			return inputElements[i].id;			
		}		
	}
	return "page2";
}

function checkSubscribeNews() 
{
	var address = glbGetElementById("email").value;
	if (address == "Enter your email address")
	{
		alert("Please enter a valid email address if you wish to subscribe to Jet2.com special offers email");
		return false;
	}
	if (isValidEmail(address))
	{
		return true;
	}
	else
	{
		alert("Please enter a valid email address if you wish to subscribe to Jet2.com special offers email");
		return false;
	}
	return false;
}
/* END: Subscription page stuff*/ 


function setCookie(name,val)
{
	document.cookie = name + '=' + escape(val);
}

function getCookie(name)
{
	var all = document.cookie;
	var s = all.indexOf(name + '=');
	if ( s == -1 )
		return;
	s += name.length + 1;
	var e = all.indexOf(';',s);
	if ( e == -1 )
		e = all.length;
	return unescape(all.substring(s,e));
}

function popWindow(page,name,params) {
 var newWin = window.open(page, name, params);
}

/*window.onload = loader;
function loader() {
var objReturnDay			= glbGetElementById(glbReturnDayName);
var objReturnMonthYear		= glbGetElementById(glbReturnMonthYearName);
var objTotalPayment			= glbGetElementById(glbTotalPaymentName);
var objTotalPaymentDisplay	= glbGetElementById(glbTotalPaymentDisplayName);
var objCreditCardType		= glbGetElementById(glbCardTypeName);
var strTotalPaymentValue	= getFieldValue(objTotalPayment);
if (objReturnDay) {
objReturnDay.onchange = dateReturnChange;
}
if (objReturnMonthYear) {
objReturnMonthYear.onchange = dateReturnChange;
}
if (objTotalPayment && objTotalPaymentDisplay) {
if (strTotalPaymentValue.substr(0,1) == constEUROSymbol) {
glbCurrency = constEUROCurrency;
glbCurrencySymbol = constEUROSymbol;
glbCreditCardCharge = constEUROCCCharge;
} else {
glbCurrency = constGBPCurrency;
glbCurrencySymbol = constGBPSymbol;
glbCreditCardCharge = constGBPCCCharge;			
}
objTotalPaymentDisplay.value = strTotalPaymentValue;
}
}
function creditCardTypeChange() {
var objTotalPayment			= glbGetElementById(glbTotalPaymentName);
var objTotalPaymentDisplay	= glbGetElementById(glbTotalPaymentDisplayName);
var objCreditCardType		= glbGetElementById(glbCardTypeName);
var strTotalPaymentValue			= getFieldValue(objTotalPayment);
var strTotalCreditCardTypeText		= "";
var decCreditCardCharge				= glbCreditCardCharge; 
if (objCreditCardType.selectedIndex > -1) {
strTotalCreditCardTypeText = objCreditCardType.options[objCreditCardType.options.selectedIndex].text;
}
if (strTotalPaymentValue.substr(0,1) == glbCurrencySymbol) {
if (glbCCChargeOnServer) { //== Override the credit card charges with those generated on the server
var intCurSymbolPosn = strTotalCreditCardTypeText.indexOf(glbCurrencySymbol)
if (intCurSymbolPosn > 0) {
decCreditCardCharge = parseFloat(strTotalCreditCardTypeText.substr(intCurSymbolPosn + glbCurrencySymbol.length, strTotalCreditCardTypeText.length - (intCurSymbolPosn + glbCurrencySymbol.length)));	//== Get the value of the total payment
}				
}	
var decTotalPayment = parseFloat(strTotalPaymentValue.substr(1, strTotalPaymentValue.length - 1));
} else {
return;
}

if (strTotalCreditCardTypeText.indexOf(constCreditCardChargeIdentifier) > -1) {
decTotalPayment = decTotalPayment + decCreditCardCharge;
}
objTotalPaymentDisplay.value = glbCurrencySymbol + formatCurrency(decTotalPayment);
}
function dateReturnChange() {
var objReturnDay = glbGetElementById(glbReturnDayName);
var objReturnMonthYear = glbGetElementById(glbReturnMonthYearName);
var strReturnDayValue = "";
var strReturnMonthYearValue = "";
strReturnDayValue = getFieldValue(objReturnDay);
strReturnMonthYearValue = getFieldValue(objReturnMonthYear);
if (this == objReturnDay) {
if (strReturnDayValue == -1) {
objReturnMonthYear.selectedIndex = 0;	
} else { 
if (strReturnMonthYearValue == -1) {
objReturnMonthYear.selectedIndex = 1;
}
}
} else {
if (strReturnMonthYearValue == -1) {
objReturnDay.selectedIndex = 0;	
} else { 
if (strReturnDayValue == -1) {
objReturnDay.selectedIndex = 1;
}
}
}
}
function glbGetElementById (strName) {
var objRetVal;
var blnUseForm = false;
if (document.getElementById) {
objRetVal = document.getElementById(strName);
} else {
if (document.all) {
objRetVal = document.all[strName];
} else {
blnUseForm = true;
}
}
if (objRetVal) {
if (objRetVal.type) {
if (objRetVal.type.toLowerCase() == "radio") {
eval ("objRetVal = document." + objRetVal.form.name + "." + strName);
}
}
}
if (blnUseForm) {
for (var lngFormCounter=0; !objRetVal && lngFormCounter < document.forms.length; lngFormCounter++) {
for (var lngElementCounter=0; !objRetVal && lngElementCounter < document.forms[lngFormCounter].elements.length; lngElementCounter++) {
var objElement = document.forms[lngFormCounter].elements[lngElementCounter];
if (objElement.name == strName) {			//==	Found element 
objRetVal = document.forms[lngFormCounter].elements[strName];
}
}
}			
}
return objRetVal;
}
function getElByName(name,occurrence) {
if (isIE4) {
var col;
col = document.all.tags("INPUT");
var i,nCount;
nCount = 0;
for (i = 0;i < col.length;i++) {
if (col[i].name == name) {
nCount ++;
if (nCount == occurrence || occurrence == null) {
return col[i];
}
}
}
return null;
} else {
return document.getElementsByName(name);
}
}
function getElsByTagName(tagName) {
if (isIE4) {
return document.all.tags(tagName);
} else {
return document.getElementsByTagName(tagName);
}
}
function getFieldValue(objField) {
if (objField) {
if (objField.type) {
if (objField.type.toLowerCase() == "select-one") {
if (objField.selectedIndex > -1) {
return objField.options[objField.options.selectedIndex].value;
}
}
if (objField.type.toLowerCase() == "radio") {
if (!objField.checked) {
return "";
}
}
}
if (objField.length && objField[0]) {
for (var intOption = 0; intOption < objField.length; intOption++) {	
if (objField[intOption].checked) {
return objField[intOption];
}
}
}
if (objField.value) {
return objField.value;
}
}
return "";
}
function formatCurrency(decCurrency) {
var strCurrency = decCurrency.toString();
var intDecPosn = strCurrency.indexOf(".");
if (intDecPosn == -1) {
strCurrency = strCurrency + ".00";	
} else {
if ((strCurrency.length - intDecPosn) < 3) {
strCurrency = rightPad(strCurrency, intDecPosn + 3, "0");
} else if ((strCurrency.length - intDecPosn) > 3) {
var strShortCurrency = strCurrency.substr(0, intDecPosn + 3);
var intRound = parseInt(strCurrency.substr(intDecPosn + 3, 1));
if (intRound < 5) {
strCurrency = strShortCurrency;
} else {
strCurrency = (parseFloat(strShortCurrency) + 0.01).toString();
}
}
}
return strCurrency;
}
function leftPad(str, len, chr) {
while (str.length < len) str = chr + str;
return str;
}
function rightPad(str, len, chr) {
while (str.length < len) str = str + chr;
return str;
}
function getDateValue(objDay, objMonthYear) {
var strDayValue = "";
var strMonthYearValue = "";
strDayValue = getFieldValue(objDay);
strMonthYearValue = getFieldValue(objMonthYear);
if (strDayValue == -1 || strMonthYearValue == -1) {
objDay.selectedIndex		= 0;
objMonthYear.selectedIndex	= 0;
return "";
}
return leftPad(strDayValue, 2, "0") + " " + strMonthYearValue.substr(0,3) + " " + strMonthYearValue.substr(3,4);
}
function isValidDate(strDate) {
if (strDate == "") return true;
//alert(strDate);
var strDay = strDate.substr(0,2);
if (strDay.substr(0,1) == "0")		
strDay = strDay.substr(1,1);
var intDay = parseInt(strDay);
if (intDay == "0")	return true;	
var dteDate = new Date(strDate);
if (dteDate.getDate() != intDay) {
return false;
}
return true;
}
function isValidNumber(strNumber) {
var numInput = "+-0123456789(). ";
if (strNumber == "") return false;
for(var k = 0; k < strNumber.length; k++) {
if(numInput.indexOf(strNumber.charAt(k)) == -1)	{
return false;
}
}
return true;
}
function isValidAwayNumber(strNumber) {
var numInput = "+-0123456789(). ";
for(var k = 0; k < strNumber.length; k++) {
if(numInput.indexOf(strNumber.charAt(k)) == -1)	{
return false;
}
}
return true;
}
function isValidPostcode(strPostcode) {
var regExPC = /^[a-zA-Z]{1,2}[0-9]{1,2}[a-zA-Z]? ?[0-9][a-zA-Z]{2}$/
return regExPC.test(strPostcode);
}*/


function isValidEmail(strEmail) 
{
	if (isMac) 
	{
		if (strEmail == null || strEmail == "" || strEmail.length < 5 || strEmail.search("@") == -1) 
		{
			return false;
		} 
		else	
		{
			return true;
		}
	} 
	else 
	{
		var regExEmail = /^([a-zA-Z0-9_\-\.\']+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
		//var remail = /^([\\w-_\.]+[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$/

		//var regExEmail = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
		return regExEmail.test(strEmail);

		//return remail.test(strEmail);
		//== above code doesn't work on Mac
	}
}



/*function monthName (intMonth) {
var aryMonths = new Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
if ((intMonth > 0) && (intMonth < 13)) {
return aryMonths[intMonth - 1];
}
return "";
}
function daysInMonth (intMonth, intYear) {
if (intMonth < 1 || intMonth > 12) {
return 0;
}
if (intMonth == 12) return 31;
var dteDate = new Date ("1 " + monthName (intMonth + 1) + " " + intYear)
if (dteDate) {
dteDate.setDate(0);
return dteDate.getDate();
}
return 0;
}
function checkRequiredField (objField, strTitle, blnRequired, strType) {
var strValue = getFieldValue(objField);
if (objField) {
if (objField.length && objField[0]) {
objField = objField[0];
}
}
if (blnRequired || strValue != "") {
if (strType == "postcode" && blnRequired) {
if (!isValidPostcode(strValue)) {
alert (msgGenericInvalidStart + strTitle + msgGenericInvalidEnd);
objField.focus();
return false;
}
}
if (strType == "number") {
if (!isValidNumber(strValue)) {
alert (msgGenericInvalidStart + strTitle + msgGenericInvalidEnd);
objField.focus();
return false;
}
}
if (strType == "email") {
if (!isValidEmail(strValue)) {
alert (msgGenericInvalidStart + strTitle + msgGenericInvalidEnd);
objField.focus();
return false;
}
}
var regexp = / /g;
strCheck = strValue.replace(regexp, "");
if (strCheck == "" || strValue == -1) {
alert (msgGenericInvalidStart + strTitle + msgGenericInvalidEnd);
return false;
}
}
if (strValue.length > constMaxFieldLength) {
alert (msgGenericLongStart + strTitle + msgGenericLongEnd);
objField.focus();
return false;
}
return true;
}
function startCheck(message,flightOut,flightRet,routeStart) {
if (flightOut < routeStart) {
alert(message);
return false;
} else if (flightRet != "Invlaid Date" && (flightRet < routeStart)) {
alert(message);
return false;
}
}
function endCheck(message,flightOut,flightRet,routeEnd) {
if (flightOut > routeEnd) {
alert(message);
return false;
} else if (flightRet != "Invlaid Date" && (flightRet > routeEnd)) {
alert(message);
return false;
}
}*/


// function to extract query string values
function getQueryString(query_value) 
{
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) 
	{
		var pair = vars[i].split("=");
		if (pair[0] == query_value) 
		{
			return pair[1];
		}
	}
}

function destTabContent(tab)
{
	var path = "/Content/EN/Destinations/Tabs/";

	//set attributes of selected tab
	document.getElementById(tab + "_content").style.display = "block";
	document.getElementById(tab).src = path + tab + "_selected.gif";
	
	//set attributes of unselected tabs
	var tabArray = new Array ("tab1","tab2","tab3","tab4","tab5","tab6", "tab7", "tab8");		

	//Loop through array ignoring clicked button and setting unselected button backgrounds to gray
	for (var i = 0; i < tabArray.length; i++) 
	{
		if (tabArray[i] != tab)
		{
			document.getElementById(tabArray[i] + "_content").style.display = "none";
			document.getElementById(tabArray[i]).src = path + tabArray[i] + "_unselected.gif";
		}			
	}
}

/* START - Destination map light box */
function showHideMap(onOrOff,divName)
{
	if (onOrOff == "on")
	{
		document.getElementById(divName).style.display = "block";				
		hideShowPageElements("none");					
		//document.getElementById("contR").style.display = "none";		
		if (document.getElementById("FlashMapCont"))
		{
			document.getElementById("FlashMapCont").style.display = "none"
		}
	}
	if (onOrOff == "off")
	{
		document.getElementById(divName).style.display = "none";
		hideShowPageElements("block");
		//document.getElementById("contR").style.display = "block";
		if (document.getElementById("FlashMapCont"))
		{
			document.getElementById("FlashMapCont").style.display = "block"
		}
	}	
	setMapHeight();
}			


function hideShowPageElements(displayVar)
{
	var elementArray = new Array ("select","iframe");

	for(i = 0; i < elementArray.length; i++)
	{				
		var getElement = document.getElementsByTagName(elementArray[i]);				
		for(ii = 0; ii < getElement.length; ii++)
		{
			getElement[ii].style.display = displayVar;						
		}				
	}		
}	


function detectBrowserHeight()
{
	//get width of browser
	var getBrowserWidth;

	//detect if browser is internet explorer
	if (navigator.appName == "Microsoft Internet Explorer")
	{	
		// works in internet explorer
		getBrowserWidth = document.documentElement.clientHeight;		
	}
	else
	{
		// best for majority of browsers (does not work in ie)
		getBrowserWidth = window.innerHeight;	
	}				
	return getBrowserWidth;
}

function setMapHeight()
{	
	var mapHolderHeight = 650;
			
	var browserHeight = detectBrowserHeight();

	var divHeight = mapHolderHeight;
	
	var mapPosition = browserHeight - divHeight;
	
	mapPosition = mapPosition / 2;
	
	var mapHolderProperties = document.getElementById("mapHolder");
	
	if (browserHeight <= mapHolderHeight)
	{
		mapHolderProperties.style.marginTop = "0px";
	}
	else
	{
		mapHolderProperties.style.marginTop = mapPosition + "px";	
	}					
}
/* END - Destination map light box */


/* START - Winner Survey */
function ShowHideSection(dropDownName, idToHideShow, dropValue)
{
	var selected = document.getElementById(dropDownName);
	var hideShow = document.getElementById(idToHideShow);

	if (selected.value == dropValue)
	{
		hideShow.style.display = "block";
	}
	else
	{
		hideShow.style.display = "none";
	}
}
function StyleExtraTickets(trueOrFalse)
{		
	var textLabel = document.getElementById("label_ExtraTickets");
	var textBox = document.getElementById("text_ExtraTickets");
										
	if(trueOrFalse == true)
	{
		// enable
		textLabel.style.color = "#ff0000";
		textBox.disabled = false;			
	}
	else
	{
		// disable
		textLabel.style.color = "#CCCCCC";
		textBox.disabled = true;
		textBox.value = "";								
	}
}
function checkText()
{
	var inputText = document.getElementById("text_ExtraTickets");
	
	if (IsNumeric(inputText.value) == false)
	{		
		alert("Please enter number of return tickets bought as a numerical character");
		inputText.value = "";
	}
}	
function IsNumeric(sText)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;	
	var Char;
	
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	
	return IsNumber;   
}
/* END - Winner Survey */
