var APHScriptLibrary = APHScriptLibrary ? APHScriptLibrary : new Object(); 

APHScriptLibrary.Settings = {}; 
APHScriptLibrary.Menus = {}; 
APHScriptLibrary.Calendar = {}; 
APHScriptLibrary.Calendar.Actions = {}; 
APHScriptLibrary.Calendar.Calculations = {}; 
APHScriptLibrary.LightBox = {};  

var today; var myYear; var myMonth; var myDate; var myDay; var myDaysInMonth; var myFirstDay; var elementID; var fieldID; var subMenuIDs = [];		
var MonthNames		= ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var MonthNames_sh	= ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var menuID = "myMenu"; var formID = "myForm";
var agentCode = "aph";
var prodArray = [ 	//any new elemnts to be added at the *END* of the 
"parking",					//list to maintain database binary code system
"chauffeured",
"hotel",
"lounge",
"int_lounge",
"shortbr",
"insurance",
"carhire",
"money",
"tickets",
"ski",
"sim",
"olsafe",
"mytravel"
];

APHScriptLibrary.LoadFlash = function(flash_path, width, height)
{
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ width +'" height="'+ height +'">');
	document.write('<param name="movie" value="'+ flash_path +'"/><param name="quality" value="best"/><param name="wmode" value="transparent"/><param name="play" value="true"/><embed pluginspage="http://www.macromedia.com/go/getflashplayer" src="'+ flash_path +'" type="application/x-shockwave-flash" wmode="transparent" quality="best" play="true" width="'+ width +'" height="'+ height +'"></embed>');
	document.write('</object>');
}


var pageTracker = null;
var addTracker = function(elementName, trackerName){
	return function(){
		if(pageTracker != null){
			pageTracker._trackEvent(trackerName, 'Clicked', elementName);
		}
	};
}
var weAreTrackingHotels = true;

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

APHScriptLibrary.SetAgentCode = function()
{
	var x = location.search;
	if(x){ //read querystring
		x = x.substr(1).replace("%26","&");
		var queryString = x.split("&");
		for(var i = 0; i < queryString.length; i++){
			var param = queryString[i];
			var res;
			if((res = param.match(/^ref=(.*)$/i)) != null){
				agentCode = res[1];
			}
		}
	}else{ //read cookies
		var cookieCode = APHScriptLibrary.ReadCookie("ref");
		if(cookieCode)
			agentCode = cookieCode;
	}
}

APHScriptLibrary.GetNews = function(id)
{
	myContainer = document.getElementById(id);

	var myContainer = document.getElementById(id);
	var i = 0;
	while (myContainer.childNodes[i])
	{
		if (myContainer.childNodes[i].tagName == 'P' || myContainer.childNodes[i].tagName == 'H3') myNews.push(myContainer.childNodes[i].innerHTML); 
		i++;
	}
	return myNews;	
}


//PopUp Menu Script 
APHScriptLibrary.Menus.Initializer = function()
{
	var MenuObject = document.getElementById(menuID).getElementsByTagName("li");
	for (key in MenuObject) { if (MenuObject[key].id)	subMenuIDs.push(MenuObject[key].id)	 }
	for($i = 0; $i<subMenuIDs.length; $i++){
		subLastChild = document.getElementById(subMenuIDs[$i]+"_sub").lastChild;
		subMenu = document.getElementById(subMenuIDs[$i]+"_sub");
		subMenuChilds = subMenu.getElementsByTagName("LI");
		subLastChild = subMenuChilds[subMenuChilds.length-1]; 
		if(subLastChild.className == "" || !(subLastChild.className)){
			subLastChild.className = "lastmenuitem";
		}else{
			if(subLastChild.className.indexOf("lastmenuitem") == -1){
				subLastChild.className += " lastmenuitem";
			}
		}
	}
}

APHScriptLibrary.Menus.HotelsFlyOut = function()
{
	if (document.getElementById('myMenu_bttn2_sub')	!= null){
		var tracking = (weAreTrackingHotels)? " onclick=\"pageTracker._trackEvent(\'MenuClicks\', \'Clicked\', \'HotelMenu\');\"": "";
		var HotelsFlyOut = '<li><a href="/information/airport_hotels.shtml"'+tracking+'>Parking &amp; Hotel Packages</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/hotel_room_only.shtml"'+tracking+'>Hotel Room Only</a></li>';
		HotelsFlyOut += '<li class="dark_blu_bttn"><a href="/hotels/gatwick_airport/index.shtml"'+tracking+'>Gatwick Airport Hotels</a></li>';
		HotelsFlyOut += '<li class="dark_blu_bttn"><a href="/hotels/birmingham_airport/index.shtml"'+tracking+'>Birmingham Airport Hotels</a></li>';
		HotelsFlyOut += '<li class="dark_blu_bttn"><a href="/hotels/manchester_airport/index.shtml"'+tracking+'>Manchester Airport Hotels</a></li>';
		HotelsFlyOut += '<li class="dark_blu_bttn"><a href="/hotels/heathrow_airport/index.shtml"'+tracking+'>Heathrow Airport Hotels</a></li>';
		HotelsFlyOut += '<li class="lastmenuitem" id="myMenu_bttn6" ><a href="/hotels/featured_airport_hotels.shtml"'+tracking+'>More Hotels</a><ul id="myMenu_bttn6_sub" style="display: none;">';
		HotelsFlyOut += '<li><a href="/hotels/aberdeen_airport/index.shtml"'+tracking+'>Aberdeen Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/belfast_airport/index.shtml"'+tracking+'>Belfast Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/blackpool_airport/index.shtml"'+tracking+'>Blackpool Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/bristol_airport/index.shtml"'+tracking+'>Bristol Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/cardiff_airport/index.shtml"'+tracking+'>Cardiff Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/doncaster_airport/index.shtml"'+tracking+'>Doncaster Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/durham_tees_airport/index.shtml"'+tracking+'>Durham Tees Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/east_midlands_airport/index.shtml"'+tracking+'>East Midlands Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/edinburgh_airport/index.shtml"'+tracking+'>Edinburgh Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/exeter_airport/index.shtml"'+tracking+'>Exeter Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/glasgow_airport/index.shtml"'+tracking+'>Glasgow Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/leeds_bradford_airport/index.shtml"'+tracking+'>Leeds Bradford Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/liverpool_airport/index.shtml"'+tracking+'>Liverpool Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/luton_airport/index.shtml"'+tracking+'>Luton Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/newcastle_airport/index.shtml"'+tracking+'>Newcastle Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/prestwick_airport/index.shtml"'+tracking+'>Prestwick Airport Hotels</a></li>';
		HotelsFlyOut += '<li><a href="/hotels/southampton_airport/index.shtml"'+tracking+'>Southampton Airport Hotels</a></li>';
		HotelsFlyOut += '<li class="lastmenuitem"><a href="/hotels/stansted_airport/index.shtml"'+tracking+'>Stansted Airport Hotels</a></li>';
		HotelsFlyOut += '</ul></li>';
		document.getElementById('myMenu_bttn2_sub').innerHTML = HotelsFlyOut;
		subMenuIDs.push("myMenu_bttn6");
	}else{
		//alert("Cannot find hotel parent element.");
	}
	subMenuIDs.sort();
}

		function InArray(n,h){
			for(i=0; i<h.length; i++){
				if(h[i] == n) return i;
			}
			return -1;
		}

var lastElement = null;


APHScriptLibrary.Menus.Listener = function()
{
	shiftMenu();
	if (navigator.userAgent.indexOf("MSIE")!=-1){
		var arVersion = navigator.appVersion.split("MSIE");
		var version = parseFloat(arVersion[1]);
		e = window.event;

		if(version >= 7){
		
	
		var myElementID;
			
	  	//window.status = "last element: " + lastElement + " | current: " + e.srcElement.id + " | parent: " + e.srcElement.parentNode.id;
		
			if (myElementID = e.srcElement.id)
			{
				for (i = 0; i < subMenuIDs.length; i++){
					if (myElementID == subMenuIDs[i]){
				   		for (i = 0; i < subMenuIDs.length; i++){
				   			if(((i == 1 && myElementID == "myMenu_bttn6") || (i == 0 && myElementID == "myMenu_bttn7")) || (lastElement == "myMenu_bttn2" && myElementID == "myMenu_bttn6") || (lastElement == "myMenu_bttn1" && myElementID == "myMenu_bttn7")){
				   			  //|-------------Prevent Whole submenu disappearing when leaving subsub menu-------------|
				   				continue;
				   			}
				   			//if(lastElement 
				  			document.getElementById(subMenuIDs[i] + "_sub").style.display = "none";
						}
				   		document.getElementById(myElementID + "_sub").style.display = "";
				   		lastElement = myElementID;
					}
				}
			}
			else 
			{
				if(lastElement == "myMenu_bttn6" && e.srcElement.parentNode.id == "myMenu_bttn2_sub")
				{
					document.getElementById("myMenu_bttn6_sub").style.display = "none";
					lastElement = "myMenu_bttn2";
					return;
				}
				if(lastElement == "myMenu_bttn7" && e.srcElement.parentNode.id == "myMenu_bttn1_sub"){
					document.getElementById("myMenu_bttn7_sub").style.display = "none";
					lastElement = "myMenu_bttn1";
					return;
				}
				if (e.srcElement.parentNode.id != lastElement + "_sub")
				{
					//window.status = e.srcElement.parentNode.id +"!="+ lastElement + "_sub";
					if (!e.srcElement.href)
					{
						for (i = 0; i < subMenuIDs.length; i++){
				  			document.getElementById(subMenuIDs[i] + "_sub").style.display = "none";
						}
				  	}
				  	
				}
			}
		}
		if (e!=null)
		{
			if(e.srcElement.nodeName.toUpperCase() != "LI" && e.srcElement.parentNode.nodeName.toUpperCase() != "LI"){
				for (i = 0; i < subMenuIDs.length; i++){
			  		document.getElementById(subMenuIDs[i] + "_sub").style.display = "none";
				}			
			}
		}//*/
	}//end IE
			
		if (navigator.userAgent.indexOf("Chrome")!= -1 || navigator.userAgent.indexOf("Firefox")!= -1){ 
			function Listener(e)
			{
	
				var x = e.clientX;
				var y = e.clientY;
	
				var eInAr = InArray(e.target.id, subMenuIDs);
				var eParInAr = -1;
				if(e.target.parentNode != null)
					eParInAr = InArray(e.target.parentNode.id, subMenuIDs);
				if (eInAr != -1 ){
					window.status = "over subelement id " + e.target.id;
					document.getElementById(subMenuIDs[eInAr]+"_sub").style.display = "";
					for (i = 0; i < subMenuIDs.length; i++) {
						if(i == eInAr || ((i == 1 && eInAr == 5) || (i == 0 && eInAr == 6))){
							continue;
						}
						document.getElementById(subMenuIDs[i] + "_sub").style.display = "none";
				   }
				}else if(eParInAr != -1){
					window.status = "over subelement id " + eParInAr
					document.getElementById(subMenuIDs[eParInAr]+"_sub").style.display = "";
					for (i = 0; i < subMenuIDs.length; i++) {
						if(i == eParInAr || ((i == 1 && eParInAr == 5) || (i == 0 && eParInAr == 6))){
							continue;
						}
						document.getElementById(subMenuIDs[i] + "_sub").style.display = "none";
					}
				}else{
					if(e.target.nodeName == "LI"){
						if(e.target.parentNode.id.indexOf("_sub") == -1){
							for (i = 0; i < subMenuIDs.length; i++) {
						    	document.getElementById(subMenuIDs[i] + "_sub").style.display = "none";
						   	}
						}
					   	if(e.target.parentNode.id == "myMenu_bttn2_sub" && e.target.id != "myMenu_bttn6_sub")
					   		document.getElementById("myMenu_bttn6_sub").style.display = "none";
					}else if(e.target.nodeName == "A"){
						if(e.target.parentNode.parentNode.id.indexOf("_sub") == -1){
							return;
						}
					}else{
						for (i = 0; i < subMenuIDs.length; i++) {
					    	document.getElementById(subMenuIDs[i] + "_sub").style.display = "none";
					   }
					}
				}
			}
			document.onmousemove=Listener;
		}//end firefox/chrome
}

// Storage Functions 
APHScriptLibrary.SetCookie = function(name, value, days)
{
		if (typeof(days) != "undefined"){
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}

		if (value!="" && name!="") 
		{
		document.cookie = name + "=" + escape( value ) + ( ( expires ) ? expires : "" ) + "; domain=.aph.com; path=/"; 
		return true;
		}
		else return false;
}



APHScriptLibrary.ReadCookie = function(name) 
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) 
		{
		//alert("Cookie" + c.substring(nameEQ.length,c.length));
		return c.substring(nameEQ.length,c.length);
		}
	}
	return null;
}
APHScriptLibrary.SetAgentCode(); //has to be called here as requires ReadCookie function to be defined


var scraper_index = -1;
var scraper_timer = null;
var scraper_images = [];
var scraper_rotate_speed = 15000;

    function rotate_skyScrapers(){
        var offer = document.getElementById("fresh_offer");
        if(offer != null){
            scraper_index = (scraper_index==scraper_images.length-1) ? -1 : scraper_index;
            scraper_index++;
            while(offer.hasChildNodes()){
                offer.removeChild(offer.firstChild);
            }
            offer.appendChild(scraper_images[scraper_index]);
            scraper_timer = setTimeout("rotate_skyScrapers()",scraper_rotate_speed);
        }
    }

APHScriptLibrary.CheckCookies = function()
{
	var cookies_enabled = false;
    if(navigator.cookieEnabled)
    {
       cookies_enabled = true;
    }
    else
    {
       alert("Your cookies have been disabled. Please note, you might not be able to take advantage of our discounts this way.");
       cookies_enabled = false;
    }
}


APHScriptLibrary.ContentOrder = function(firstID, secondID)
{
		var bl = document.getElementById(secondID);
		var tl = document.getElementById(firstID);
		tl.parentNode.removeChild( tl );
		bl.parentNode.insertBefore( tl, bl );
}

document.getElementsByTitle = function(title){
    divElements = document.getElementsByTagName("div");
    liElements = document.getElementsByTagName("li");
    var relElems = []; 
    for (i = 0; i < divElements.length; i++) {
        if (divElements[i].getAttribute("title") && divElements[i].title == title) {
			relElems.push(divElements[i]);
        }
    }
    for (i = 0; i < liElements.length; i++) {
        if (liElements[i].getAttribute("title") && liElements[i].title == title) {
			relElems.push(liElements[i]);
        }
    }
	return relElems;
}

APHScriptLibrary.RemoveProducts = function(prodArray)
{
	for (var i = 0; i < prodArray.length; i++)
	{
		var prod = prodArray[i]; //alert(prod);
		var supr_elems = document.getElementsByTitle(prod);
		//alert(supr_elems.length);
		for (var j = 0; j < supr_elems.length; j++)
		{
				//alert("removing: "+supr_elems[j].tagName);
				supr_elems[j].style.display = "none";
		}
	}
}

function S4() {   return (((1+Math.random())*0x10000)|0).toString(16).substring(1);}
function createGUID() 
{
	return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}


APHScriptLibrary.RegisterParameters = function() 
{
	var qs = window.location.search.substr(1);
	var ref = qs.match(/ref=([a-zA-Z0-9-]+)&?/i);
	if(ref == null){
		registerGUID();
	}else{
	result = newAsyncAjax("GET", "/fcgi-bin/normalized-new.pl?ref="+ref[1]);
		result.onreadystatechange = function(){
			if(result.readyState == 4 && result.status == 200){
				//alert("Set");
                codesp_content();
			}
		};
		result.send(null);
		/*
		var htmlbody = document.getElementsByTagName("BODY")[0];
		if(htmlbody != null)
			htmlbody.appendChild(createElementWithParams("IMG", [
			"style::width: 1px; height: 1px",
			"src::/fcgi-bin/normalized-new.pl?ref="+ref[1]])));//*/
	}
    if(agentCode.toLowerCase() == "cand2" || agentCode.toLowerCase() == "cande"){
        document.getElementById("news_form").style.visibility = document.getElementById("socialbookmarks").style.visibility = "hidden";
    }
}

function ShowPage(){
	document.getElementById("container").style.display = "block";
}

function pollChecker(){var pollload=document.getElementById('pollload');if(pollload!=null){pollload.removeChild(document.getElementById("loadgif"));pollload.parentNode.removeChild(document.getElementById("quickpoll"));document.getElementById("loadpollform").innerHTML+="<span style='cursor: default; font-size: 10px;'>I'm sorry, we could not load the poll at this time. Please try again later.</span>";}
clearTimeout(t);}

function newXMLfromString(x){
	if(window.ActiveXObject){
		var result = new ActiveXObject("Microsoft.XMLDOM");
		result.async = false;
		result.loadXML(x);
		if(result.parseError.errorCode!=0){
			return null;
		}
	}else{
		var parser = new DOMParser();
		result = parser.parseFromString(x,"text/xml");
		if(result.documentElement.nodeName=="parsererror"){
			return null;
		}
	}
	return result;
}

function calcTags(v){var results=[];var MinSize=11;var MaxSize=20;var FontVariant=MaxSize-MinSize;var FontSizes=[];var Vt=v.slice(0);var MaxVote=Vt.sort(function(a,b){return b-a})[0];var MinVote=Vt.sort(function(a,b){return a-b})[0];var VoteRange=MaxVote-MinVote;var CatStep=Math.round(VoteRange/FontVariant);for(var i=0;i<v.length;i++){var whichStep=Math.round((v[i]-MinVote)/CatStep);FontSizes[i]=MinSize+whichStep;}
return FontSizes;}


function loadResults(result){var results=result.getElementsByTagName("PollItem");var Words=[];var uid=[];var Votes=[];for(r=0;r<results.length;r++){Words.push(results[r].childNodes[0].nodeValue);uid.push(results[r].getAttribute("uid"));Votes.push(results[r].getAttribute("votes"));}
var FontSizes=calcTags(Votes);document.getElementById("mosaic").innerHTML="";var answerSelect=document.getElementById("answer");for(var i=0;i<Votes.length;i++){if(answerSelect!=null){try{answerSelect.add(new Option(Words[i],uid[i]));}catch(e){answerSelect.add(new Option(Words[i],uid[i]),null);}}
var voteTitle=(Votes[i]==1)?"1 Vote":Votes[i]+" Votes";var span="<span id='"+uid[i]+"' title='"+voteTitle+"' class='pollspan' style=\"font-size: "+FontSizes[i]+"px;\">"+Words[i]+"</span>\n";document.getElementById("mosaic").innerHTML+=span;}
clearTimeout(t);var pollload=document.getElementById("pollload");pollload.parentNode.removeChild(pollload);document.getElementById("quickpoll").style.display='';}


function newAjax(t,u){
	var resource=null;if(window.ActiveXObject){
		resource=new ActiveXObject("Microsoft.XMLHTTP");
	}else if(window.XMLHttpRequest){
		resource=new XMLHttpRequest();
		resource.overrideMimeType('text/html');
	}
	resource.open(t,u,false);
	if(t.toUpperCase() == "POST")
		resource.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
	return resource;
}

function newAsyncAjax(t,u){
	var resource=null;
	if(window.ActiveXObject){
		resource= new ActiveXObject("Microsoft.XMLHTTP");
	}else if(window.XMLHttpRequest){
		resource= new XMLHttpRequest();
		resource.overrideMimeType('text/html');
	}
	resource.open(t,u,true);
	resource.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
	return resource;
}


var Airports={};var Ports={};Airports["ABZ"]="Aberdeen";Airports["BFS"]="Belfast Int'l";Airports["BHX"]="Birmingham";Airports["BRS"]="Bristol";Airports["CWL"]="Cardiff";Airports["DSA"]="Doncaster";Airports["MME"]="Durham Tees Valley";Airports["EMA"]="East-Midlands";Airports["EDI"]="Edinburgh";Airports["EXT"]="Exeter";Airports["LGW"]="Gatwick";Airports["GLA"]="Glasgow";Airports["LHR"]="Heathrow";Airports["LBA"]="Leeds-Bradford";Airports["LPL"]="Liverpool";Airports["LTN"]="Luton";Airports["MAN"]="Manchester";Airports["NCL"]="Newcastle";Airports["PIK"]="Prestwick";Airports["STN"]="Stansted";Ports["DOV"]="Dover";function getLocations(airport){if(typeof Initialize=='function')
{Settings=new Initialize;if(!airport)
{var type=Settings.WhichLocations;var selected=Settings.Preselect;var method=Settings.Sampling;}
else
{var type='all'
var selected=airport;var method='byname';}}
else
{if(!airport)
{var type='all';var selected='detect';var method='byname';}
else
{var type='all';var selected=airport;var method='byname';}}
var elem=1;var AirportName;var AirportCode;var PortName;var PortCode;if(!type)var type='all';if(!selected)var selected='';if(!method)var method='';if(selected=='detect')
{var requri=window.location;selected=requri.toString();}
cut=selected.indexOf("?");if(cut>0)selected=selected.substring(0,cut);selected=selected.toLowerCase();selected=selected.replace("-","_");var returnValue="";returnValue+='<option value="">Please select a location</option>';if(type=="airports"||type=="all")
{for(code in Airports){AirportName=Airports[code].toLowerCase();AirportName=AirportName.replace("-","_");AirportCode=code.toLowerCase();returnValue+='<option value="'+code+'">'+Airports[code]+'</option>';if(method=="bycode"){if(in_array(AirportCode,selected)>0)var num=elem;}
if(method=="byname"){if(in_array(AirportName,selected)>0)var num=elem;}
elem++;}}
if(type=="ports"||type=="all")
for(code in Ports){PortName=Ports[code].toLowerCase();PortCode=code.toLowerCase();returnValue+='<option value="'+code+'" style="color:blue">'+Ports[code]+'</option>';if(method=="bycode"){if(selected.indexOf(PortCode)>=0)var num=elem;}
if(method=="byname"){if(selected.indexOf(PortName)>=0)var num=elem;}
elem++;}
return returnValue;}
function in_array(needle,haystack)
{needle=needle.toLowerCase();if(needle.indexOf(" ")<0){if(haystack.indexOf(needle)>=0)return true;else return false;}
else
{var aArray=[];aArray=needle.split(" ");for(i=0;i<aArray.length;i++)
{if(haystack.indexOf(aArray[i])>=0)return true;}
return false;}}
function CheckAirport()
{element=document.getElementById('ap');var a1=element.value;if(a1=="")
{alert("Please select an airport.");return false;}
else
{return true;}}
function ReturnDateFadeOut(obj)
{if(obj.value=="RO")
{document.getElementById('ret_dates').style.visibility="hidden";document.getElementById('rdd').disabled=true;document.getElementById('rdm').disabled=true;document.getElementById('rdy').disabled=true;}
else if(obj.value=="PKG")
{document.getElementById('ret_dates').style.visibility="visible";document.getElementById('rdd').disabled=false;document.getElementById('rdm').disabled=false;document.getElementById('rdy').disabled=false;}}
function SetDays(days,id){var sel=document.getElementById(id);var full=sel.length;var diff=full-days;if(diff>0)
{for(i=0;i<=diff;i++)
{sel.options[full-i]=null;}}
else
{diff=diff*-1;var max=full+diff;var min=(full+1);for(i=min;i<=max;i++)
{sel.options[i-1]=new Option(i,i);}}
return days;}
function UpdateOptions(){if(typeof Initialize=='function')
{Settings=new Initialize;var DepYearId=Settings.depYid;var DepMonthId=Settings.depMid;var DepDayId=Settings.depDid;var RetYearId=Settings.retYid;var RetMonthId=Settings.retMid;var RetDayId=Settings.retDid;}
else
{var DepYearId='ddy';var DepMonthId='ddm';var DepDayId='ddd';var RetYearId='rdy';var RetMonthId='rdm';var RetDayId='rdd';}
var DepYearValue=document.getElementById(DepYearId).value;DepYearValue=DelzeroPad(DepYearValue);var DepMonthValue=document.getElementById(DepMonthId).value-1;DepMonthValue=DelzeroPad(DepMonthValue);var DepNumDays=DaysOfThisMonth(DepYearValue,DepMonthValue);SetDays(DepNumDays,DepDayId);var RetYearValue=document.getElementById(RetYearId).value;RetYearValue=DelzeroPad(RetYearValue);var RetMonthValue=document.getElementById(RetMonthId).value-1;RetMonthValue=DelzeroPad(RetMonthValue);var RetNumDays=DaysOfThisMonth(RetYearValue,RetMonthValue);SetDays(RetNumDays,RetDayId);}
function zeroPad(value){var newvalue=value.toString();if(newvalue.length==1)return"0"+newvalue;else return newvalue;}
function DelzeroPad(value){value=value.toString();var firstdigit=value.substr(0,1);if(value.length>1&&firstdigit=='0')value=value.substr(1);return value;}
function DaysOfThisMonth(year,month){daysofmonth=(32-new Date(year,month,32).getDate());return daysofmonth;}
function Essentials(){this.Name=['January','February','March','April','May','June','July','August','September','October','November','December'];this.ShortName=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];}
function PrintDays(){if(typeof Initialize=='function')
{Settings=new Initialize;var dZero=Settings.DayValueFormat;}
else
{var dZero='N2'}
var i=1;var dayValue=null;var thisdate=new Date();var thisDay=thisdate.getDate();var thisMonth=thisdate.getMonth()+1;var thisYear=thisdate.getFullYear();var offset=1;var adjusted=thisdate.getDate()+offset;var daysThisMonth=DaysOfThisMonth(thisYear,thisMonth);var difference=daysThisMonth-thisDay;if(adjusted>daysThisMonth)thisDay=offset-difference;else thisDay=thisDay+offset;var returnValue="";for(i=1;i<=31;i++)
{if(dZero=='N2')dayValue=zeroPad(i);else dayValue=i;returnValue+='<option value="'+dayValue+'"';if(i==thisDay)returnValue+=' selected';returnValue+='>'+i+'</option>';}i=null;return returnValue;}
function PrintMonths(mode){var i=null;Month=new Essentials;if(typeof Initialize=='function')
{Settings=new Initialize;var value=Settings.MonthValueFormat;}
else
{var value='N2';}
var monthvalue=null;var thisdate=new Date();var thisMonth=thisdate.getMonth();var thisYear=thisdate.getFullYear();var offset=1;var adjusted=thisdate.getDate()+offset;var daysThisMonth=DaysOfThisMonth(thisYear,thisMonth);if(adjusted>daysThisMonth)thisMonth=thisMonth+1;var returnValue="";for(i=0;i<12;i++)
{if(value=='N2')monthvalue=zeroPad(i+1);else if(value=='S3')monthvalue=Month.Name[i].substr(0,3);else monthvalue=i+1;returnValue+='<option value="'+monthvalue+'"';if(i==thisMonth)returnValue+=' selected';returnValue+='>';if(mode==1)returnValue+=Month.ShortName[i];else returnValue+=Month.Name[i];returnValue+='</option>';}i=null;return returnValue;}
function PrintYears(){var yearvalue=null;if(typeof Initialize=='function')
{Settings=new Initialize;var value=Settings.YearValueFormat;}
else
{var value='N2';}
var thisdate=new Date();var thisMonth=thisdate.getMonth();var thisYear=thisdate.getFullYear();var offset=1;var adjusted=thisdate.getDate()+offset;var daysThisMonth=DaysOfThisMonth(thisYear,thisMonth);if(adjusted>daysThisMonth)thisMonth=thisMonth+1;if(thisMonth>11)thisYear=thisYear+1;var nextYear=thisYear+1;var returnValue="";for(i=thisYear;i<=nextYear;i++)
{if(value=='N2'){yearvalue=i.toString();yearvalue=yearvalue.substr(2,4);}
returnValue+='<option value="'+yearvalue+'"';if(i==thisYear)returnValue+=' selected';returnValue+='>'+i+'</option>';}i=null;return returnValue;}
function dotheForm(formtype,myLocation,code)
{var today=new Date();var myid=code+"_form";var agent_code=APHScriptLibrary.ReadCookie('ref');var ur=APHScriptLibrary.ReadCookie('ur');if(!agent_code)agent_code='aph';if(formtype=='parking'){var mybookingform="";mybookingform+='<br><form action="http://booking.aph.com/aph/aphbook.asp?p=p"';mybookingform+='method="get" name="frmc_parking_offer" id="frmc_parking_offer" onsubmit="javascript:FormValueConverter(this, \'parking\');return GoogleCrossDomainConverter(this, \'parking\', pageTracker._getAccount());" style="margin:0;">';mybookingform+='<div id="setdates_p"></div>';mybookingform+='<div id="fields_p">';mybookingform+='<label><b>Arrival date at car park</b></label><br>';mybookingform+='<select id="ddd" class="date" title="Arrival date at the Car Park (day)" name="ddd" onchange="UpdateReturnDate();">';mybookingform+=PrintDays();mybookingform+='</select><label></label><select id="ddm" class="date" title="Arrival date at the Car Park (month)" name="ddm" onchange="UpdateReturnDate();">';mybookingform+=PrintMonths(1);mybookingform+='</select><label></label><select id="ddy" class="date" title="Arrival date at the Car Park (year)" name="ddy" onchange="UpdateReturnDate();">';mybookingform+=PrintYears();mybookingform+='</select>';mybookingform+='<span></span><img id="DepCalBttnXML" class="hand" onclick="APHScriptLibrary.Calendar.Show(this, \'myCalendar\', \'S\', \'L\');" src="images/frame/cal.jpg" alt="" style="border-style:none; margin:0 1px 0 1px"><select name="dtime" id="dtime" class="time">';mybookingform+=GetTimesMerged('dep');mybookingform+='</select><br><label><b>Return date / landing time</b></label><br><select id="rdd" class="date" title="Return date at the Car Park (day)" name="rdd" onchange="UpdateReturnDate();">';mybookingform+=PrintDays();mybookingform+='</select><label></label><select id="rdm" class="date" title="Return date at the Car Park (month)" name="rdm" onchange="UpdateReturnDate();">';mybookingform+=PrintMonths(1);mybookingform+='</select><label></label><select id="rdy" class="date" title="Return date at the Car Park (year)" name="rdy" onchange="UpdateReturnDate();">';mybookingform+=PrintYears();mybookingform+='</select>';mybookingform+='<span></span><img id="RetCalBttnXML" class="hand" onclick="APHScriptLibrary.Calendar.Show(this, \'myCalendar\', \'S\', \'L\');" src="images/frame/cal.jpg" alt="" style="border-style:none; margin:0 1px 0 1px">';mybookingform+='<select name="rtime" id="rtime" class="time">';mybookingform+=GetTimesMerged('ret');mybookingform+='</select><br><label for="px"><b>Passengers</b></label><br><select name="px"><option value="1" selected>1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option></select>';mybookingform+='<input type="hidden" name="quote_type" value="parking">';mybookingform+='<input type="hidden" name="agent" value="'+agent_code+'">';mybookingform+='<input type="hidden" name="tmp" value="'+agent_code+'">';mybookingform+='<input type="hidden" id="dth" name="dth" value="">';mybookingform+='<input type="hidden" id="dtm" name="dtm" value="">';mybookingform+='<input type="hidden" id="rth" name="rth" value="">';mybookingform+='<input type="hidden" id="rtm" name="rtm" value="">';mybookingform+='<input type="hidden" id="product_code" name="cp" value="'+code+'">';mybookingform+='<input type="hidden" id="ap" name="ap" value="'+myLocation+'">';mybookingform+='<input type="hidden" id="ur" name="ur" value="'+ur+'">';mybookingform+='</div>';mybookingform+='<br><img id="upd_bttn_p" src="images/frame/update_bttn.gif" onclick="javascript: var form = document.getElementById(\'frmc_parking_offer\'); FormValueConverter(form, \'parking\'); ReQuoteParking(form);">';mybookingform+='<a href="http://www.parking-quote.co.uk/parking/profpark.ASP?WCI=CPInfo2&WCE='+code+'" target="_blank"><img style="display:none;" id="moreinfo_bttn_p" src="images/frame/moreinfo_bttn.gif" border="0"></a><input style="display:none" type="image" id="sbm_bttn_p" src="images/frame/book_now_bl.gif">';mybookingform+='<hr></form>';document.getElementById(myid).innerHTML="</div>"+mybookingform;}
if(formtype=='hotel'){var mybookingform="";mybookingform='<form action="http://booking.aph.com/aph/aphbook.asp?p=h" method="get" name="frmc_hotel_offer" id="frmc_hotel_offer" onsubmit="javascript:FormValueConverter(this, \'hotel\');return GoogleCrossDomainConverter(this, \'hotel\', pageTracker._getAccount());">';mybookingform+='<div id="setdates_h"></div>';mybookingform+='<div id="fields_h">';mybookingform+='<label for="txtDDate"><b>Night of Stay</b></label><br>';mybookingform+='<select id="ddd" class="date" title="Arrival date at the Hotel (day)" name="ddd" onchange="UpdateReturnDate();">';mybookingform+=PrintDays();mybookingform+='</select><label></label><select id="ddm" class="date" title="Arrival date at the Hotel (month)" name="ddm" onchange="UpdateReturnDate();">';mybookingform+=PrintMonths(1);mybookingform+='</select><label></label><select id="ddy" class="date" title="Arrival date at the Hotel (year)" name="ddy" onchange="UpdateReturnDate();">';mybookingform+=PrintYears();mybookingform+='</select><span></span><img id="dep_hot_calXML" class="hand" onclick="APHScriptLibrary.Calendar.Show(this, \'myCalendar\', \'S\', \'L\');" src="images/frame/cal.jpg" alt="" style="border-style:none; margin:0 1px 0 1px">';mybookingform+='<br><label for="txtRDate"><b>Pickup Vehicle</b></label><br><select id="rdd" class="date" title="Return to pick up car (day)" name="rdd" onchange="UpdateReturnDate();">';mybookingform+=PrintDays();mybookingform+='</select><label></label><select id="rdm" class="date" title="Return to pick up car (month)" name="rdm" onchange="UpdateReturnDate();">';mybookingform+=PrintMonths(1);mybookingform+='</select><label></label><select id="rdy" class="date" title="Return to pick up car (year)" name="rdy" onchange="UpdateReturnDate();">';mybookingform+=PrintYears();mybookingform+='</select>';mybookingform+='<span></span><img id="ret_hot_calXML" class="hand" onclick="APHScriptLibrary.Calendar.Show(this, \'myCalendar\', \'S\', \'L\');" src="images/frame/cal.jpg" alt="" style="border-style:none; margin:0 1px 0 1px">';mybookingform+='<input type="hidden" name="zn" value="PKG">';mybookingform+='<input type="hidden" name="quote_type" value="hotel">';mybookingform+='<input type="hidden" name="agent" value="'+agent_code+'">';mybookingform+='<input type="hidden" name="tmp" value="'+agent_code+'">';mybookingform+='<input type="hidden" id="product_code" name="prod" value="'+code+'">';mybookingform+='<input type="hidden" id="ap" name="ap" value="'+myLocation+'">';mybookingform+='<input type="hidden" name="WCE" value="HotelAvailabilitySubmit">';mybookingform+='<input type="hidden" id="ur" name="ur" value="'+ur+'">';mybookingform+='</div>';mybookingform+='<br><img id="upd_bttn_h" src="images/frame/update_bttn.gif" onclick="javascript: var form = document.getElementById(\'frmc_hotel_offer\'); FormValueConverter(form, \'hotel\'); ReQuoteHotel(form);">';mybookingform+='<a href="http://www.parking-quote.co.uk/parking/profpark.ASP?WCI=CPInfo2&WCE='+code+'" target="_blank"><img style="display:none;" id="moreinfo_bttn_h" src="images/frame/moreinfo_bttn.gif" border="0"></a><input style="display:none" type="image" name="submit" id="sbm_bttn_h" src="images/frame/book_now_bl.gif">';mybookingform+='<hr></form>';document.getElementById(myid).innerHTML="<div id=\""+code+"_calendar\"></div>"+mybookingform;}}
function PrintTime(){if(typeof Initialize=='function')
{Variables=new Initialize;var depHrs=Variables.depHrs;var depMin=Variables.depMin;var retHrs=Variables.retHrs;var retMin=Variables.retMin;var timeInterval=Variables.timeInterval;var selDepHr=Variables.selDepHr;var selRetHr=Variables.selRetHr;var TimeSep=Variables.TimeSeparator;}
else
{var depHrs='dth';var depMin='dtm';var retHrs='rth';var retMin='rtm';var timeInterval=30;var selDepHr=6;var selRetHr=18;var TimeSep=':';}
if(selDepHr<1)selDepHr=1;if(selRetHr<1)selDepHr=1;var merged=false;if(depHrs==depMin){merged=true;}
var returnValue="";this.Hours=function(which){var i=0;var hour="";for(i=0;i<24;i++){hour=zeroPad(i);returnValue+='<option value="'+hour+'"';if(which=='dep')if(i==selDepHr)returnValue+=' selected';if(which=='ret')if(i==selRetHr)returnValue+=' selected';returnValue+='>'+hour+'</option>';}
return returnValue;}
this.Mins=function(){var i=0;var min="";for(i=0;i<60;i=i+timeInterval){min=zeroPad(i);returnValue+='<option value="'+min+'">'+min+'</option>';}return returnValue;}
this.Merged=function(which){var i=0;var hour="";var j=0;var min="";var sel_set=false;for(i=0;i<24;i++){hour=zeroPad(i);for(j=0;j<60;j=j+timeInterval){min=zeroPad(j);returnValue+='<option value="'+hour+min+'"';if((which=='dep')&&(!sel_set))if(i==selDepHr){returnValue+=' selected';sel_set=true}
if((which=='ret')&&(!sel_set))if(i==selRetHr){returnValue+=' selected';sel_set=true}
returnValue+='>'+hour+TimeSep+min+'</option>';}}
return returnValue;}}
function GetHours(which)
{var GetTimes=new PrintTime;return GetTimes.Hours(which);}
function GetMins()
{var GetTimes=new PrintTime;return GetTimes.Mins();}
function GetTimesMerged(which)
{var GetTimes=new PrintTime;return GetTimes.Merged(which);}
function SetDates(whichform,mode,strt,end){
    var formelement=document.getElementById(whichform);
    if(!mode)
        var mode=null;
    if(!strt)
        var strt=0;
    if(!end)
        var end=7;
    if(typeof Initialize=='function'){
        Variables=new Initialize;
        var depYid=Variables.depYid;
        var depMid=Variables.depMid;
        var depDid=Variables.depDid;
        var retYid=Variables.retYid;
        var retMid=Variables.retMid;
        var retDid=Variables.retDid;
        var yearvalue=Variables.YearValueFormat;
        var monthvalue=Variables.MonthValueFormat;
        var dZero=Variables.DayValueFormat;
        var format=Variables.DateFormat;
        var dat_sep=Variables.DateSeparator;
    }else{
        var depYid='ddy';
        var depMid='ddm';
        var depDid='ddd';
        var retYid='rdy';
        var retMid='rdm';
        var retDid='rdd';
        var yearvalue='N2';
        var monthvalue='N2';
        var dZero='N2';
        var format='GB';
        var dat_sep='/';
    }
    var merged=false;
    var retday;
    var daysofmonth;
    var monthArray=['January','February','March','April','May','June','July','August','September','October','November','December'];
    var optionvalue;
    var ydigits;
    var day;
    var month;
    var year;
    var ReturnDate;
    var ReturnYear;
    var ReturnMonth;
    var ReturnDay;
    var SelMonth;
    var today=new Date();
    var SetDay=today.getDate();
    var SetMonth=today.getMonth()+1;
    var SetYear=today.getFullYear();
    var CalculatedDate=CalculateDate(SetYear,SetMonth,SetDay,strt);
    var SetDay=CalculatedDate['day'];
    var SetMonth=CalculatedDate['month'];
    var SetYear=CalculatedDate['year'];
    if(depYid===depMid&&depMid===depDid){
        var dateArray=[];
        var DepDateField=document.getElementById(depYid).value;
        if((!DepDateField)&&(format=="GB")){
            if(monthvalue=='N2')
                SetMonth=zeroPad(SetMonth);
            if(dZero=='N2')
                SetDay=zeroPad(SetDay);
            if(yearvalue=='N2'){
                SetYear=SetYear.toString();
                SetYear=SetYear.substr(2,4);
            }
            DepDateField=SetDay+dat_sep+SetMonth+dat_sep+SetYear;document.getElementById(depYid).value=DepDateField;
        }
        datearray=SplitMergedDates(DepDateField);
        var day=parseInt(DelzeroPad(datearray[0]));
        var month=parseInt(DelzeroPad(datearray[1]));
        var year=parseInt(DelzeroPad(datearray[2]));
    }else{
        document.getElementById(depDid).selectedIndex=SetDay-1;
        document.getElementById(depMid).selectedIndex=SetMonth-1;
        document.getElementById(depYid).selectedIndex=SetYear-parseInt("20"+document.getElementById(depYid).value);
    }
    if(mode!="DepOnly"){
        if(retYid==retMid&&retMid==retDid)
            merged=true;
        var RetDateBlock=CalculateReturnDate(year,month,day);
        ReturnYear=RetDateBlock['year'];
        ReturnMonth=RetDateBlock['month'];
        ReturnDay=RetDateBlock['day'];
        if(yearvalue=="N2"){
            ReturnYear=ReturnYear.toString();
            ReturnYear=zeroPad(ReturnYear);
        }
        if(monthvalue=="N2"){
            ReturnMonth=zeroPad(ReturnMonth);
        }
        if(dZero='N2')ReturnDay=zeroPad(ReturnDay);
        if(merged){
            if(format=="GB")
                ReturnDate=ReturnDay+dat_sep+ReturnMonth+dat_sep+ReturnYear;
            else
                ReturnDate=ReturnYear+dat_sep+ReturnMonth+dat_sep+ReturnDay;
            var dateField=document.getElementById(retYid);
            dateField.value=ReturnDate;
        }else{
            var RetDateBlock=CalculateReturnDate(SetYear,SetMonth,SetDay);
            if(end&&end!=7){
                RetDateBlock['day']+=(end-7);
            }
            ReturnYear=RetDateBlock['year'];
            ReturnMonth=RetDateBlock['month'];
            ReturnDay=RetDateBlock['day'];
            document.getElementById(retDid).selectedIndex=ReturnDay-1;
            document.getElementById(retMid).selectedIndex=ReturnMonth-1;
            document.getElementById(retYid).selectedIndex=ReturnYear-parseInt("20"+document.getElementById(retYid).value);
        }
    }
}

function CalculateDate(year,month,day,mod_dur)
{var nextyear=year+1;var nextmonth=month+1;var retday=0;var DateArray=new Object;daysofmonth=DaysOfThisMonth(year,month-1);retday=day+mod_dur;if(retday<=daysofmonth){ReturnYear=year;ReturnMonth=month;ReturnDay=retday;}
else
{retday=retday-daysofmonth;month=nextmonth;if(month<=12){ReturnYear=year;ReturnMonth=month;ReturnDay=retday;}
else
{month=month-12;ReturnYear=nextyear;ReturnMonth=month;ReturnDay=retday;}}
DateArray['day']=ReturnDay;DateArray['month']=ReturnMonth;DateArray['year']=ReturnYear;return DateArray;}
function CalculateReturnDate(year,month,day)
{var mod_dur=7;var nextyear=year+1;var nextmonth=month+1;var retday=0;var DateArray=new Object;daysofmonth=DaysOfThisMonth(year,month-1);retday=day+mod_dur;if(retday<=daysofmonth){ReturnYear=year;ReturnMonth=month;ReturnDay=retday;}
else
{retday=retday-daysofmonth;month=nextmonth;if(month<=12){ReturnYear=year;ReturnMonth=month;ReturnDay=retday;}
else
{month=month-12;ReturnYear=nextyear;ReturnMonth=month;ReturnDay=retday;}}
DateArray['day']=ReturnDay;DateArray['month']=ReturnMonth;DateArray['year']=ReturnYear;return DateArray;}
function FormValueConverter(formobj,formtype)
{
    var formelement=document.getElementById(formobj.id);
    var a1=formelement.ap.value;
    if(a1=="Request"||a1==""){
        alert("Please select an airport.");return false;
    }
    if(formtype=='main_parking'){
        var mergedDTvalue=formelement.dtime.value;
        var mergedRTvalue=formelement.rtime.value;
        formelement.dth.value=mergedDTvalue.substr(0,2);
        formelement.dtm.value=mergedDTvalue.substr(2);
        formelement.rth.value=mergedRTvalue.substr(0,2);
        formelement.rtm.value=mergedRTvalue.substr(2);
    }
    if(formtype=='parking'){
        var mergedDTvalue=formelement.dtime.value;
        var mergedRTvalue=formelement.rtime.value;
        formelement.dth.value=mergedDTvalue.substr(0,2);
        formelement.dtm.value=mergedDTvalue.substr(2);
        formelement.rth.value=mergedRTvalue.substr(0,2);
        formelement.rtm.value=mergedRTvalue.substr(2);
    }
}
Array.prototype.in_array=function(p_val){for(var i=0,l=this.length;i<l;i++){if(this[i]==p_val){return true;}}
return false;}

/*function GoogleCrossDomainConverter(formobj,formtype,trackingID){
	var dep = APHScriptLibrary.ReadCookie('dep');
	var parkmanEntry="http://booking.aph.com/aph/aphbook.asp";
	var pman_array_ajax = newAjax("POST","/admin/mainadmin/parkman/parkman_codes.csv");
	pman_array_ajax.send(false);
	s = pman_array_ajax.status;
	var parkman_array;
	if(s == 200 || s == 304){
		parkman_array = pman_array_ajax.responseText.split(",");
	}else{
		parkman_array = new ['WB','PP','ASDA','APH','ASDAE','ASDAR','ASDAF','EPARK','EM06A','EM06B','EM06C','EM06D','EM06E','EM06F','ENEWS','EXPEM','EZINE','WBWEB','WCOME','THKS','CHAN2','HOT10','AFU'];
	}
	if(!trackingID)
		trackingID="UA-2804484-1";var pageTracker=_gat._getTracker(trackingID);pageTracker._setDomainName("none");pageTracker._setAllowLinker(true);pageTracker._trackPageview()
	switch(formtype)
	{
		case'hotel':
			var agentcode=formobj.agent.value;
			var dest=((parkman_array.in_array(agentcode.toUpperCase()))?parkmanEntry:"http://www.parking-quote.co.uk/hotprof/HotProf.ASP");
			var tmp=formobj.tmp.value;
			if(tmp==null){
				if(parkman_array.in_array(agentcode.toUpperCase()) && agentcode.toUpperCase() != "APH")
					tmp="epark";
				else
					tmp=agentcode;
			}
            if(APHScriptLibrary.ReadCookie('dep').toUpperCase() == "CH"){
                tmp = "disc";
            }
			var ddd=formobj.ddd.value;
			var ddm=formobj.ddm.value;
			var ddy=formobj.ddy.value;
			var rdd=formobj.rdd.value;
			var rdm=formobj.rdm.value;
			var rdy=formobj.rdy.value;
			var ur=null;
			if(formobj.ur!=null)
				ur=formobj.ur.value;
			var airport=formobj.ap.value;
			var zn=formobj.zn.value;
			if(formobj.prod)
				var prod=formobj.prod.value;
			var querystr=dest+'?agent='+agentcode+'&tmp='+tmp+'&ddd='+ddd+'&ddm='+ddm+'&ddy='+ddy+'&rdd='+rdd+'&rdm='+rdm+'&rdy='+rdy+'&ap='+airport+'&zn='+zn;
			if(prod)
				querystr+='&prod='+prod;
			if(dest.indexOf("/aph/aphbook")>=0)
				querystr+="&p=h";
			querystr+="&googletr=true&ur="+ur;
			pageTracker._link(querystr);
			return false;
			break;
		case'parking':
			var agentcode=formobj.agent.value;
			//var dest=((parkman_array.in_array(agentcode.toUpperCase()))?parkmanEntry:"http://www.parking-quote.co.uk/parking/profpark.asp");
			var dest = null;
			if ((parkman_array.in_array(agentcode.toUpperCase())) || (parkman_array.in_array(dep)))
				{dest=parkmanEntry;}
			else 
				{dest = "http://www.parking-quote.co.uk/parking/profpark.asp";}
			
			var tmp;
			if(parkman_array.in_array(agentcode.toUpperCase()) && agentcode.toUpperCase() != "APH")
				tmp="epark";
			else
				tmp=agentcode;
            if(APHScriptLibrary.ReadCookie('dep').toUpperCase() == "CH"){
                tmp = "disc";
            }
			var ddd=formobj.ddd.value;
			var ddm=formobj.ddm.value;
			var ddy=formobj.ddy.value;
			var dth=formobj.dth.value;
			var dtm=formobj.dtm.value;
			var rdd=formobj.rdd.value;
			var rdm=formobj.rdm.value;
			var rdy=formobj.rdy.value;
			var rth=formobj.rth.value;
			var rtm=formobj.rtm.value;
			var ur=null;
			if(formobj.ur!=null)
				ur=formobj.ur.value;
			var airport=formobj.ap.value;
			if(formobj.cp)
				var cp=formobj.cp.value;
			var px=formobj.px.value;
			var querystr=dest+'?agent='+agentcode+'&tmp='+tmp+'&ddd='+ddd+'&ddm='+ddm+'&ddy='+ddy+'&dth='+dth+'&dtm='+dtm+'&rdd='+rdd+'&rdm='+rdm+'&rdy='+rdy+'&rth='+rth+'&rtm='+rtm+'&ap='+airport+'&px='+px;
			if(cp)
				querystr+='&cp='+cp;
			if(dest.indexOf("/aph/aphbook")>=0)
				querystr+="&p=p";
			querystr+="&googletr=true&ur="+ur;
			pageTracker._link(querystr);
			return false;
			break;
		case'lounge':
			var agentcode=formobj.agent.value;
			var dest=((parkman_array.in_array(agentcode.toUpperCase()))?parkmanEntry:"http://www.parking-quote.co.uk/lge/APHBook.ASP");
			var tmp=formobj.tmp.value;
			if(tmp==null){
				if(parkman_array.in_array(agentcode.toUpperCase()) && agentcode.toUpperCase() != "APH")
					tmp="epark";
				else
					tmp=agentcode;
			}
            if(APHScriptLibrary.ReadCookie('dep').toUpperCase() == "CH"){
                tmp = "disc";
            }
			var ddd=formobj.ddd.value;
			var ddm=formobj.ddm.value;
			var ddy=formobj.ddy.value;
			var t=formobj.t.value;
			var ad=formobj.ad.value;
			var ch=formobj.ch.value;
			var inf=0;
			var airport=formobj.ap.value;
			var ur=null;
			if(formobj.ur!=null)
				ur=formobj.ur.value;
				var querystr=dest+'?agent='+agentcode+'&tmp='+tmp+'&d='+ddd+'&m='+ddm+'&y='+ddy+'&t='+t+'&ad='+ad+'&ch='+ch+'&in='+inf+'&ap='+airport;
				if(dest.indexOf("/aph/aphbook")>=0)
					querystr+="&p=l";
				querystr+="&googletr=true&ur="+ur;
				pageTracker._link(querystr);
			return false;
			break;
	}
}//*/
function GoogleCrossDomainConverter(formobj,formtype,trackingID){

    var parkmanEntry = "http://booking.aph.com/aph/aphbook.asp";    

    // THE FOLLOWING SETTINGS OVERRULE ALL SETTINGS REGARDING THE TEMPLATES 
    // group codes in the folloing array will be sent to ParkMan
    var parkman_groups = ['PP'];
    
    // code in the folling array or the on retrieved by ajax from the CSV file will be sent to ParkMan
    var pman_array_ajax = newAjax("POST","/admin/mainadmin/parkman/parkman_codes.csv");
    pman_array_ajax.send(false);
    s = pman_array_ajax.status;
    var parkman_array;
    if(s == 200 || s == 304){
        parkman_array = pman_array_ajax.responseText.split(",");
    }else{
        parkman_array = ['ASDA','APH','ASDAE','ASDAR','ASDAF','25OFF','ASALE','EDISC','EM06A','EM06B','EM06C','EM06D','EM06E','EM06F','ENEWS','EPARK','EXPEM','EZINE','FWCS1','FWCS2','FWCS3','FWCS4','KISS','KRING','MATAL','SALE','THKS','WBWEB','WCOME','CHAN2','HOT10','AFU'];
    }
    
    // codes in the folloing array will be using agentcode for tmp, other will default to epark
    var tmp_exceptions = ['APH','AFU','ASDAE','ASDAR','ASDAF'];
    
    // codes in the folloing array will be using agentcode for tmp, other will default to epark
    var disc_exceptions = [];

    var agentcode = formobj.agent.value;
    var tmp = formobj.tmp.value;
    if(!tmp)
        tmp = APHScriptLibrary.ReadCookie('tmp');
    if(APHScriptLibrary.ReadCookie('dep') && APHScriptLibrary.ReadCookie('dep').toUpperCase() == "CH"){
        if(!tmp)
            tmp = "disc";
    }else{
        if(!tmp){
            if(agentcode.toLowerCase() == "aph"){
                tmp = "aph";
            }else{
                tmp = "epark";   
            }
        }
    }
    var dest = null;
    var agentgroup = APHScriptLibrary.ReadCookie('group');
    
    switch(formtype){
    
    // hotels
    case'hotel':
        dest = (parkman_array.in_array(agentcode.toUpperCase())||(parkman_groups.in_array(agentgroup.toUpperCase()))?
            parkmanEntry: parkmanEntry);//"http://www.parking-quote.co.uk/hotprof/HotProf.ASP");
        /*if(parkman_array.in_array(agentcode.toUpperCase())||(parkman_groups.in_array(agentgroup.toUpperCase())))
        {
            if (!tmp) tmp = "epark";
            
            if(tmp_exceptions.in_array(agentcode.toUpperCase()))
                tmp = agentcode;
            if(disc_exceptions.in_array(agentcode.toUpperCase()))
                tmp = "disc";
        }//*/
        var ddd = formobj.ddd.value;
        var ddm = formobj.ddm.value;
        var ddy = formobj.ddy.value;
        var zn = formObj.zn.value;
        var pkg_ro = "";
        if(zn.toUpperCase() == "PKG"){
            var rdd = formobj.rdd.value;
            var rdm = formobj.rdm.value;
            var rdy = formobj.rdy.value;
            pkg_ro = '&rdd='+rdd+'&rdm='+rdm+'&rdy='+rdy;
        }
        var ur = null;
        if(formobj.ur!=null)
         ur = formobj.ur.value;
        var airport = formobj.ap.value;
        var zn = formobj.zn.value;
        if(formobj.prod)
            var prod = formobj.prod.value;
        var querystr = dest+'?agent='+agentcode+'&tmp='+tmp+'&ddd='+ddd+'&ddm='+ddm+'&ddy='+ddy+pkg_ro+'&ap='+airport+'&zn='+zn;
        if(prod)
            querystr+='&prod='+prod;
        if(dest.indexOf("/aph/aphbook")>=0)
            querystr+="&p=h";
        querystr+="&googletr=true&ur="+ur;
        pageTracker._link(querystr);
        return false;
        break;
        
    // parking    
    case'parking':
        dest=(parkman_array.in_array(agentcode.toUpperCase())||(parkman_groups.in_array(agentgroup.toUpperCase()))?
            parkmanEntry: parkmanEntry);//"http://www.parking-quote.co.uk/parking/profpark.asp");
        /*if(parkman_array.in_array(agentcode.toUpperCase())||(parkman_groups.in_array(agentgroup.toUpperCase())))
        {
            if (!tmp) tmp = "epark";
            
            if(tmp_exceptions.in_array(agentcode.toUpperCase()))
                tmp = agentcode;
            if(disc_exceptions.in_array(agentcode.toUpperCase()))
                tmp = "disc";
        }//*/
        var ddd=formobj.ddd.value;
        var ddm=formobj.ddm.value;
        var ddy=formobj.ddy.value;
        var dth=formobj.dth.value;
        var dtm=formobj.dtm.value;
        var rdd=formobj.rdd.value;
        var rdm=formobj.rdm.value;
        var rdy=formobj.rdy.value;
        var rth=formobj.rth.value;
        var rtm=formobj.rtm.value;
        var ur = null;
        if(formobj.ur!=null) ur=formobj.ur.value;
        var airport=formobj.ap.value;
        if(formobj.cp)
            var cp = formobj.cp.value;
        var px = formobj.px.value;
        var querystr = dest+'?agent='+agentcode+'&tmp='+tmp+'&ddd='+ddd+'&ddm='+ddm+'&ddy='+ddy+'&dth='+dth+'&dtm='+dtm+'&rdd='+rdd+'&rdm='+rdm+'&rdy='+rdy+'&rth='+rth+'&rtm='+rtm+'&ap='+airport+'&px='+px;
        if(cp)
            querystr+='&cp='+cp;
        if(dest.indexOf("/aph/aphbook")>=0)
            querystr+="&p=p";
        querystr += "&googletr=true&ur="+ur;
        pageTracker._link(querystr);
        return false;
        break;
        
    // lounge
    case'lounge':
        dest=(parkman_array.in_array(agentcode.toUpperCase())||(parkman_groups.in_array(agentgroup.toUpperCase()))?
            parkmanEntry: parkmanEntry);//"http://www.parking-quote.co.uk/lge/APHBook.ASP");
        /*if(parkman_array.in_array(agentcode.toUpperCase())||(parkman_groups.in_array(agentgroup.toUpperCase())))
        {
            if (!tmp) tmp = "epark";
            
            if(tmp_exceptions.in_array(agentcode.toUpperCase()))
                tmp = agentcode;
            if(disc_exceptions.in_array(agentcode.toUpperCase()))
                tmp = "disc";
        }//*/
        var ddd=formobj.ddd.value;
        var ddm=formobj.ddm.value;
        var ddy=formobj.ddy.value;
        var t=formobj.t.value;
        var ad=formobj.ad.value;
        var ch=formobj.ch.value;
        var inf=0;
        var airport=formobj.ap.value;
        var ur=null;
        if(formobj.ur!=null)ur=formobj.ur.value;var querystr=dest+'?agent='+agentcode+'&tmp='+tmp+'&d='+ddd+'&m='+ddm+'&y='+ddy+'&t='+t+'&ad='+ad+'&ch='+ch+'&in='+inf+'&ap='+airport;
        if(dest.indexOf("/aph/aphbook")>=0)querystr+="&p=l";querystr+="&googletr=true&ur="+ur;pageTracker._link(querystr);
        return false;
        break;
    }
}

function insert_agentCode(element){
	var inp = document.getElementById(element);
	if(inp != null){
		var a_c = APHScriptLibrary.ReadCookie("ref");
		if(a_c != null)
			inp.value = a_c;
		else
			inp.value = "aph";
	}
}

function updateBookmarkURL(){
	var b_b = document.getElementById("bookmark_button");
	b_b.setAttribute("addthis:title","APH - Airport Parking and Hotels");
	var e_b = document.getElementById("addthis_email_button");
	e_b.setAttribute("addthis:title","APH - Airport Parking and Hotels");
	var client = APHScriptLibrary.ReadCookie("page");
	var book_url = window.location;
	book_url = String(book_url);
	if(client && client.toUpperCase() != "APH"){
		if(book_url.match(/\.aph\.com\/$/i)){
			b_b.setAttribute("addthis:url",book_url+client);
			e_b.setAttribute("addthis:url",book_url+client);
		}else{
			b_b.setAttribute("addthis:url",book_url+"?ref="+client);
			e_b.setAttribute("addthis:url",book_url+"?ref="+client);
		}
	}else{
		b_b.setAttribute("addthis:url",book_url);
		e_b.setAttribute("addthis:url",book_url);
	}
}

function registerGUID()
{
	var GUID = APHScriptLibrary.ReadCookie("client");
	
	if (!GUID)	
	{
		GUID = createGUID(); 
		APHScriptLibrary.SetCookie("client", GUID, 30);
	}
	return GUID;
}

	function ShowHotTags(){
		if(navigator.cookieEnabled == true && !APHScriptLibrary.ReadCookie("voted")){
				document.getElementById("pollform").innerHTML = "<label for='answer'>What is your favourite UK airline?</label><br />\n<select name='answer' id='answer'>\n</select>\n<input type='button' id='qpollvote' value='Vote' onclick='submitPoll();' />";
		}else{
			document.getElementById("pollform").innerHTML = "<p style='cursor: default; margin-top: 16px;'>The UK's favourite airlines:</p>";
		}
		result = newAsyncAjax("POST","/fcgi-bin/transmitter.pl");
		result.onreadystatechange = function(){
			if(result.readyState == 4 && result.status == 200){
				results = newXMLfromString(result.responseText);
				if(results){
					loadResults(results)
				}else{
					pollChecker();
				}
			}
		};	
		result.send("reqtype=getpoll&pollid=1");
	}

	function checkExists(file){
		var ajax = null;
		if (window.ActiveXObject) { 
			ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		else if (window.XMLHttpRequest) { 
			ajax = new XMLHttpRequest(); 
			ajax.overrideMimeType('text/html');
		}
		ajax.open("HEAD",file,false);
		ajax.send(null);
		s = ajax.status;
		if(s == 200 || s == 304){
			return true;
		}else{
			return false;
		}
	}
	
	var cssCodes = ["5hot","asda","asdae","asdaf","asdar","em06b","renew","wbweb"];
	var agentCookies = ["ddi", "html", "advert", "banner", "theme", "prodl", "group", "dep", "ref", "page", "wb_web"];
	var lastActivityDifference = 1; //in minutes how often to reset value, and to check against in functions
	var lastActivityTimer = setTimeout(function(){
		updateLastActivity("lastActivityTimer", lastActivityDifference*60*1000);
	}, 0);
    function codesp_style(){
    	var lastActivity = APHScriptLibrary.ReadCookie("lastActivity");
    	if(lastActivity != null){
    		var lastActivityDate = new Date(decodeURIComponent(lastActivity));
    		if((new Date() - lastActivityDate) > (lastActivityDifference * 60 * 1000)){
    			for(var c = 0; c < agentCookies.length; c++){
    				if(APHScriptLibrary.ReadCookie(agentCookies[c]) != null){
    					APHScriptLibrary.SetCookie(agentCookies[c], "", -1);
    				}
    			}
    			return;
    		}
		   	var head = document.getElementsByTagName("HEAD")[0];
			if(APHScriptLibrary.ReadCookie("wb_offers") != null && parseInt(APHScriptLibrary.ReadCookie("wb_offers")) == 1){
		   		var offersStyle = document.createElement("LINK");
		   		offersStyle.href = "/stylesheet/offers.css";
		   		offersStyle.type = "text/CSS";
				offersStyle.rel = "stylesheet";
				offersStyle.media = "all";
				head.appendChild(offersStyle);
			   	return;	
		   	}
	    	if(agentCode != "aph"){
	    		var script = document.createElement("SCRIPT");
	    		script.type = "text/Javascript";
	    		script.src = "/javascript/homeonly.js";
	    		head.appendChild(script);
		    	var cssFile = "../stylesheet/codespec/"+agentCode+".css";
		    	if(InArray(agentCode, cssCodes)){
		    		var cssFile = "/stylesheet/codespec/"+agentCode+".css"
		    		var css = document.createElement("LINK");
					css.type = "text/CSS";
					css.rel = "stylesheet";
					css.media = "all";
					css.href = cssFile;
					head.appendChild(css);
		    	}
		    	/*if(checkExists(cssFile)){
		    		var css = document.createElement("LINK");
					css.type = "text/CSS";
					css.rel = "stylesheet";
					css.media = "all";
					css.href = cssFile;
					head.appendChild(css);
		    	}else{
		    		var themeCode = APHScriptLibrary.ReadCookie("theme");
		    		if(agentCode.toLowerCase() != "aph" && themeCode){
			    		var themeFile = "/stylesheet/themes/"+themeCode+".css";
			    		if(checkExists(themeFile)){
			    			var css = document.createElement("LINK");
							css.type = "text/CSS";
							css.rel = "stylesheet";
							css.media = "all";
							css.href = themeFile;
							head.appendChild(css);
			    		}else{}
		    		}
		    	}//*/
	    	}
    	}
	}
	
	function updateLastActivity(timer, timeout){
		APHScriptLibrary.SetCookie("lastActivity", new Date().toGMTString());
		window[timer] = setTimeout(function(){
			updateLastActivity(timer, timeout);
		}, timeout*1000*60);
	}
	
	function headline(){
		if (agentCode.toLowerCase() != "aph" && agentCode.toLowerCase() != "hot10"){ 
			var h1 = document.getElementById("h-one");
			if(h1 != null && h1.hasChildNodes()){
				h1.removeChild(h1.firstChild);
			}
		}
	}
	
	function HorizMenuItem(ConLinkPage, ConLinkText){
		this.page = ConLinkPage;
		this.linkText = ConLinkText;
	}
	
	function insertHorizMenu(){
		var HMenuCont = document.getElementById("h-menu");
		if(HMenuCont != null){
			var MenuArray = {};
			MenuArray["link1"] = new HorizMenuItem("/gatwick_airport/", "Parking at Gatwick");
			MenuArray["link2"] = new HorizMenuItem("/birmingham_airport/", "Parking at Birmingham");
			MenuArray["link3"] = new HorizMenuItem("/manchester_airport/", "Parking at Manchester");
			MenuArray["link4"] = new HorizMenuItem("/heathrow_airport/", "Parking at Heathrow");
			MenuArray["link5"] = new HorizMenuItem("/", "Other Airports");
			var HM = document.createElement("UL");
			HM.id = "h-menu-list";
			for(var i in MenuArray){
				var item = MenuArray[i];
				var li = document.createElement("LI");
				li.className = "b"+(i.replace("link",""));
				var Mlink = document.createElement("A");
				Mlink.href = "/parking"+item.page+"index.shtml";
				Mlink.appendChild(document.createTextNode(item.linkText));
				addGoogleTrackEventListener(MLink, "MenuClicks", "HorizMenu");
				li.appendChild(Mlink);
				HM.appendChild(li);
			}
			HMenuCont.appendChild(HM);
		}
	}
	
	function codesp_content(){
		
		// banners
		var banner = APHScriptLibrary.ReadCookie("banner");
		var html = APHScriptLibrary.ReadCookie("html");
		var channel = APHScriptLibrary.ReadCookie("dep");
		var banner_div = document.getElementById('top_banner');
		var insert;
		var hotel = SearchProdLib('hotel');
		
		if(parseInt(APHScriptLibrary.ReadCookie("wb_offers")) != 1){
			if (hotel == 1 && agentCode.toLowerCase() != "aph") {
				insert = "<img src=\"/images/banners/blank_hotel.png\" alt=\"APH - Airport Parking Experts\" height=\"121\" width=\"650\" style=\"border:0\" usemap=\"#default_banner2219bc\" /><map name=\"default_banner2219bc\" id=\"default_banner2219bc\"><area title=\"Airport Hotels\" shape=\"rect\" coords=\"421,12,624,98\" href=\"/hotels/featured_airport_hotels.shtml\" alt=\"Airport Parking and Hotel Packages\"/></map>";
			}
			if ((html)&&(banner == 1) && agentCode.toLowerCase() != "aph"){
				var html_decoded = html.URLdecode();
				insert = "<div style=\"margin-top:0px; width: 400px; position: absolute; top: 10px; left: 10px;\">" + html_decoded + "</div>";
			}
			if (insert)
				banner_div.innerHTML = insert;	
		}else{
			if(document.getElementById("h-one"))
				document.getElementById("h-one").style.display = "none";
			while(banner_div.hasChildNodes()){
				banner_div.removeChild(banner_div.firstChild);	
			}
		}
			
		if(channel && channel.toUpperCase() == "CH"){
			document.getElementById("APHLogo").src = "/images/frame/aph_logo_chan.png";
			if(document.getElementById("wb_form"))
				document.getElementById("wb_form").style.display = "none";
		}
		
		// top 10		
		var topTenDiv = document.getElementById('toptenimg');
		if(topTenDiv){
			var imageOrder = [
				"/images/codespec/banners/"+agentCode+"_topten.gif",
				"/images/codespec/banners/"+agentCode+"_topten.jpg",
				"/images/banners/default_topten.png",
				"/images/banners/default_topten.jpg"
			];
			for(var i = 0; i < imageOrder.length; ){
				var topTenImg = new Image();
				topTenImg.src = ""+imageOrder[i];
				topTenImg.onLoad = new function(){
					if(!checkImage(topTenImg)){
						i++;
					}else{
						topTenDiv.src = ""+imageOrder[i];
						i = imageOrder.length;
					}
				}
			}
		}
		var dep = APHScriptLibrary.ReadCookie("dep");
		if(agentCode.toLowerCase() == "aph" || dep && dep == "CH"){
			var prodL = APHScriptLibrary.ReadCookie("prodl");
			if(agentCode.toLowerCase() != "aph" && prodL){
				prodL = parseInt(prodL).toString(2).reverse();
				var supress = [];
				for(var i = 0; i < prodArray.length; i++){
					if(prodL.charAt(i) == 0){
						supress.push(prodArray[i]);
					}
					if(prodArray[i].toLowerCase() == 'hotel' && prodL.charAt(i) == 1){
						APHScriptLibrary.Menus.HotelsFlyOut();
					}
				}
				APHScriptLibrary.RemoveProducts(supress);		
				GoogleTrack();
				return supress;
			}else{
				GoogleTrack();
				APHScriptLibrary.Menus.HotelsFlyOut();
				return null;
			}
		}
		GoogleTrack();		
	}
	
getSilverlightVersion = function() {
	var SLVersion;
	try{  
		try{
			var control = new ActiveXObject('AgControl.AgControl');
			switch(true){
				case control.IsVersionSupported("4.0"):
					SLVersion = 4;
					break;
				case control.IsVersionSupported("3.0"):
					SLVersion = 3;
					break;
				case control.IsVersionSupported("2.0"):
					SLVersion = 2;
					break;
				default:
					SLVersion = 1;
					break;
			}
			control = null;
		}catch (e){
			var plugin = navigator.plugins["Silverlight Plug-In"];
			if(plugin){         
				if (plugin.description == "1.0.30226.2"){
					SLVersion = 2;
				}else{
					SLVersion = parseInt(plugin.description[0]);
				}
			}else{
				SLVersion = "None";
			}
		}
	}catch (e){ 
		SLVersion = "None";
	}
	return SLVersion;
}
	
	function GoogleTrack(){
		var dep = APHScriptLibrary.ReadCookie("dep");
		var success = false;
		if (dep != "CH"){
			try {
				pageTracker = _gat._getTracker("UA-2804484-1");
				success = true;
			} catch(err) {
				success = false;
			}
		}else{
			try {
			pageTracker = _gat._getTracker("UA-13237461-1");
				success = true;
			} catch(err) {
				success = false;
			}	
		}
		if(success){
			pageTracker._setDomainName(".aph.com");
			pageTracker._setAllowLinker(true);
            pageTracker._setAllowHash(false);
			pageTracker._trackPageview();
			pageTracker._setCustomVar(1, 'SLVersion', getSilverlightVersion(), 1);
		}
	}
	
	String.prototype.reverse = function(){
		st = this.split("");
		rt = st.reverse();
		return rt.join("");
	}

	String.prototype.URLdecode = function(){
		var string = this;
		return unescape(string);
	}	
	
	function IsDefined(variable)
	{
	    return (typeof(window[variable]) == "undefined")?  false: true;
	}
	
	function SearchProdLib(elem)
	{
		if (IsDefined(prodArray))
		{
			var prodL = APHScriptLibrary.ReadCookie("prodl");
			if(prodL){
					prodL = prodL.toString(2).reverse();			
					for(var i = 0; i < prodArray.length; i++){
						if(prodArray[i].toLowerCase() == elem){
							return prodL[i];
						}

					}				
				}
		}
	}

	function checkImage(img){
	    if (!img.complete) { //IE works properly!
	        return false;
	    }
	    if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
	        return false;
	    }
	    return true;
	}
	
	function PaTPopup(x){
		var loc;
		var WinName;
		switch(x){
			case 2:
				loc = "/partners/terms/terms.shtml";
				WinName = "Terms and Conditions";
			case 1:
				loc = "/norobots/privacy-policy_noframe.htm";
				WinName = "Privacy Policy";
				break;
			case 0:
				loc = (agentCode.toUpperCase() == "APH" || agentCode == "")? "/norobots/t_and_c_noframe.htm":"/partners/terms/terms.htm";
				WinName = "Terms and Conditions";
				break;
			default:
				loc = "/norobots/ourratings.shtml";
				WinName = "About Our Ratings";
				break;
		}
		var newWin = window.open("http://www.aph.com"+loc, "", "status = 1, height = 600, width = 800, resizable = 0, fullscreen = 0, scrollbars = 1");
		newWin.focus();
	}
	
createElementWithParams = function(eleName, eleParams){
    if(eleName.match(/^[script|object|embed]$/i))
        return null;
    var element;
    if(eleParams){
        if(eleParams.className){
            try{
                //ie6 doesn't like setting class name through attributes
                element = document.createElement("<"+eleName+" class='"+eleParams.className+"'>");
            }catch(ex){
                element = document.createElement(eleName);
                element.setAttribute("class", eleParams.className);
            }
        }//*/
        if(element == null)
            element = document.createElement(eleName);
        if(eleParams.style){
            for(var i = 0; i < eleParams.style.length; i++){
                var thisStyle = eleParams.style[i];
                if(thisStyle.name.match(/^margin-./)){
                    var marginType = thisStyle.name.substr(thisStyle.name.indexOf("-")+1);
                    thisStyle.name = "margin"+ marginType.charAt(0).toUpperCase() + marginType.substr(1);
                }
                element.style[thisStyle.name] = thisStyle.value;
            }
        }
        if(eleParams.attrs){
            for(var i = 0; i < eleParams.attrs.length; i++){
                var thisAttr = eleParams.attrs[i];
                element[thisAttr.name] = thisAttr.value;
            }
        }
        if(eleParams.events){
            for(var i = 0; i < eleParams.events.length; i++){
                var thisEvent = eleParams.events[i];
                generateEvents(element, thisEvent);
            }
        }

    }
    return element;
}

var generateEvents = (function(){
    return (function(ele, inp){
        attachEventListeners(ele, inp.event, function(){
            executeFunctionByName(inp.func, window, inp.params);
        })
    });
})();

function attachEventListeners(element, event, func){
    if(event.match(/^on/)){
        event = event.substr(2);
    }
    if(element.addEventListener){
        element.addEventListener(event, func, false);
    }else if(element.attachEvent){
        element.attachEvent("on"+event, func );
    }
}

function executeFunctionByName(functionName, context, args) {
    args = args || [];
    var namespaces = functionName.split(".");
    var func = namespaces.pop();
    for(var i = 0; i < namespaces.length; i++) {
        context = context[namespaces[i]];
    }
    return context[func].apply(this, args);
}
	
	function insertFooter(){
		var endlinks = document.getElementById("endlinks");
		if(endlinks != null){
			var table = createElementWithParams("TABLE", {"className": "footertable"});
			var tbody = document.createElement("TBODY");
			var tr = createElementWithParams("TR", {"className":"nohide"});
			var firstTd = document.createElement("TD");
			firstTdA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/affiliates/affiliates.shtml"}]});
			firstTdA.appendChild(document.createTextNode("Become an Affiliate"));
			firstTd.appendChild(firstTdA);
			var secondTd = document.createElement("TD");
			secondTdA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/information/contact_us.shtml"}]});
			secondTdA.appendChild(document.createTextNode("Contact Us"));
			secondTd.appendChild(secondTdA);
			var thirdTd = document.createElement("TD");
			if(APHScriptLibrary.ReadCookie("wb_offer") == 1){
				thirdTdSpan = createElementWithParams("SPAN", {"className": "ft_link", "events": [{"event": "onclick", "func": "PaTPopup", "params": [3]}]});
			}else{
				thirdTdSpan = createElementWithParams("SPAN", {"className": "ft_link", "events": [{"event": "onclick", "func": "PaTPopup", "params": [1]}]});
			}
			thirdTdSpan.appendChild(document.createTextNode("Privacy Statement"));
			thirdTd.appendChild(thirdTdSpan);
			var fourthTd = document.createElement("TD");
			fourthTdSpan = createElementWithParams("SPAN", {"className": "ft_link", "events": [{"event": "onclick", "func": "PaTPopup", "params": [0]}]});
			fourthTdSpan.appendChild(document.createTextNode("Terms & Conditions"));
			fourthTd.appendChild(fourthTdSpan);
			tr.appendChild(firstTd);
			tr.appendChild(secondTd);
			tr.appendChild(thirdTd);
			tr.appendChild(fourthTd);
			tbody.appendChild(tr);
			table.appendChild(tbody);
			while(endlinks.hasChildNodes()){
				endlinks.removeChild(endlinks.firstChild);
			}
			endlinks.appendChild(document.createTextNode(""));
			endlinks.appendChild(table);
		}
		APHScriptLibrary.CheckCookies();
		updateBookmarkURL();
	}
	
	function insertGlobalMenu(){
		var MenuCont = document.getElementById("menu");
		if(MenuCont != null){
			var Menu = createGlobalMenu();
			var DivClear = createElementWithParams("DIV", {"style":[{"name": "clear", "value": "both"}]});
			while(MenuCont.hasChildNodes()){
				MenuCont.removeChild(MenuCont.firstChild);
			}
			MenuCont.appendChild(Menu);
			MenuCont.appendChild(DivClear);
			APHScriptLibrary.Menus.Initializer();
		}
	}
	
	function createGlobalMenu(){
		var prodL = (APHScriptLibrary.ReadCookie("prodl") == null)? 16383 : APHScriptLibrary.ReadCookie("prodl");
		prodL = parseInt(prodL).toString(2).reverse();
		var myMenu = createElementWithParams("UL", {"attrs":[{"name": "id", "value":"myMenu"}]});
		var myHome = createElementWithParams("LI", {"events": [{"event": "onmouseover", "func": "globMenuMouse", "params": [0, this]}, {"event": "onmouseout", "func": "globMenuMouse", "params": [1,this]}]});
		var myHomeA;
		if(APHScriptLibrary.ReadCookie("wb_offers") != null && APHScriptLibrary.ReadCookie("wb_offers") == 1){
			myHomeA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/offers/welcomeback.shtml?code=home"}]});
		}else{
			myHomeA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/"}]});
		}
		myHomeA.appendChild(document.createTextNode("Home"));
		myHome.appendChild(myHomeA);
		myMenu.appendChild(myHome);
		if(prodL.charAt(0)){ //parking
			var myParking = createElementWithParams("LI", {"attrs": [{"name": "id", "value": "myMenu_bttn1"}], "events": [{"event": "onmouseover", "func": "globMenuMouse", "params": [0,this]}, {"event": "onmouseout", "func": "globMenuMouse", "params":[1,this]}]});
			var myParkingLink = createElementWithParams("A", {"attrs": [{"name": "href","value":"/parking/index.shtml"}]});
			myParkingLink.appendChild(document.createTextNode("Airport Parking"));
			myParking.appendChild(myParkingLink);
			var parkingSubMenu = createElementWithParams("UL", {"attrs": [{"name": "id", "value": "myMenu_bttn1_sub"}], "style":[{"name":"display", "value": "none"}]});
			/* Creating Airport Menu Items */
			var gAPLi = createElementWithParams("LI", {"className":"dark_blu_bttn"});
			var gAPA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/parking/gatwick_airport/index.shtml"}]});
			gAPA.appendChild(document.createTextNode("Gatwick Airport Parking"));
			gAPLi.appendChild(gAPA);
			parkingSubMenu.appendChild(gAPLi);
			var bAPLi = createElementWithParams("LI", {"className": "dark_blu_bttn"});
			var bAPA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/parking/birmingham_airport/index.shtml"}]});
			bAPA.appendChild(document.createTextNode("Birmingham Airport Parking"));
			bAPLi.appendChild(bAPA);
			parkingSubMenu.appendChild(bAPLi);
			var mAPLi = createElementWithParams("LI", {"className":"dark_blu_bttn"});
			var mAPA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/parking/manchester_airport/index.shtml"}]});
			mAPA.appendChild(document.createTextNode("Manchester Airport Parking"));
			mAPLi.appendChild(mAPA);
			parkingSubMenu.appendChild(mAPLi);
			var hAPLi = createElementWithParams("LI", {"className": "dark_blu_bttn"});
			var hAPA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/parking/heathrow_airport/index.shtml"}]});
			hAPA.appendChild(document.createTextNode("Heathrow Airport Parking"));
			hAPLi.appendChild(hAPA);
			parkingSubMenu.appendChild(hAPLi);
			var mcpLi = createElementWithParams("LI", {"className": "lastmenuitem", "attrs": [{"name": "id", "value": "myMenu_bttn7"}], "style": [{"name": "cursor", "value": "default"}]});
            var mcpLiA = createElementWithParams("A", {"attrs":[{"name": "href", "value": "/parking/index.shtml"}]});
			mcpLiA.appendChild(document.createTextNode("More Car Parks"));
            mcpLi.appendChild(mcpLiA);
			var mcpSubMenu = createElementWithParams("UL", {"attrs": [{"name": "id","value":"myMenu_bttn7_sub"}], "style": [{"name": "display", "value": "none"}]});
			var MenuArray = {};
			MenuArray['link1'] = new HorizMenuItem('/parking/aberdeen_airport/index.shtml', 'Aberdeen Airport Parking');
			MenuArray['link2'] = new HorizMenuItem('/parking/belfast_airport/index.shtml', 'Belfast Airport Parking');
			MenuArray['link3'] = new HorizMenuItem('/parking/bristol_airport/index.shtml', 'Bristol Airport Parking');
			MenuArray['link4'] = new HorizMenuItem('/parking/cardiff_airport/index.shtml', 'Cardiff Airport Parking');
			MenuArray['link5'] = new HorizMenuItem('/parking/doncaster_airport/index.shtml', 'Doncaster Airport Parking');
			MenuArray['link6'] = new HorizMenuItem('/parking/dover_port/index.shtml', 'Dover Port Parking');
			MenuArray['link7'] = new HorizMenuItem('/parking/durham_tees_airport/index.shtml', 'Durham Tees Airport Parking');
			MenuArray['link8'] = new HorizMenuItem('/parking/east_midlands_airport/index.shtml', 'East Midlands Airport Parking');
			MenuArray['link9'] = new HorizMenuItem('/parking/edinburgh_airport/index.shtml', 'Edinburgh Airport Parking');
			MenuArray['link10'] = new HorizMenuItem('/parking/exeter_airport/index.shtml', 'Exeter Airport Parking');
			MenuArray['link11'] = new HorizMenuItem('/parking/glasgow_airport/index.shtml', 'Glasgow Airport Parking');
			MenuArray['link12'] = new HorizMenuItem('/parking/leeds_bradford_airport/index.shtml', 'Leeds Bradford Airport Parking');
			MenuArray['link13'] = new HorizMenuItem('/parking/liverpool_airport/index.shtml', 'Liverpool Airport Parking');
			MenuArray['link14'] = new HorizMenuItem('/parking/luton_airport/index.shtml', 'Luton Airport Parking');
			MenuArray['link15'] = new HorizMenuItem('/parking/newcastle_airport/index.shtml', 'Newcastle Airport Parking');
			MenuArray['link16'] = new HorizMenuItem('/parking/prestwick_airport/index.shtml', 'Prestwick Airport Parking');
			MenuArray['link18'] = new HorizMenuItem('/parking/stansted_airport/index.shtml', 'Stansted Airport Parking');
			MenuArray['link19'] = new HorizMenuItem('/parking/us/index.shtml', 'US Airport Parking');
			for(var i in MenuArray){
				var item = MenuArray[i];
				var li = document.createElement("LI");
				li.className = "b"+(i.replace("link",""));
				if(item.linkText.match(/US Airport/))
					li.className += " us";
				var Mlink = document.createElement("A");
				Mlink.href = item.page;
				Mlink.appendChild(document.createTextNode(item.linkText));
				li.appendChild(Mlink);
				mcpSubMenu.appendChild(li);
			}
			mcpLi.appendChild(mcpSubMenu);
			parkingSubMenu.appendChild(mcpLi);		
			/* Appending Submenu */
			myParking.appendChild(parkingSubMenu);
			myMenu.appendChild(myParking);
		}
		if(prodL.charAt(2)){ //hotels
			var myHotel = createElementWithParams("LI", {"attrs": [{"name": "id", "value":"myMenu_bttn2"}], "events":[{"event": "onmouseover", "func": "globMenuMouse", "params": [0,this]}, {"event": "onmouseout", "func": "globMenuMouse", "params": [1,this]}]});
			var myHotelA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/hotels/index.shtml"}]});
			addGoogleTrackEventListener(myHotelA, "MenuClicks", "HotelMenu");
			myHotelA.appendChild(document.createTextNode("Airport Hotels"));
			myHotel.appendChild(myHotelA);
			var myHotelSubMenu = createElementWithParams("UL", {"attrs": [{"name": "id", "value":"myMenu_bttn2_sub"}], "style": [{"name": "display", "value": "none"}]});
			var myHotelPackages = document.createElement("LI");
			var myHotelPackagesA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/hotels/index.shtml"}]});
			addGoogleTrackEventListener(myHotelPackagesA, "MenuClicks", "HotelMenu");
			myHotelPackagesA.appendChild(document.createTextNode("Parking & Hotel Packages"));
			myHotelPackages.appendChild(myHotelPackagesA);
			myHotelSubMenu.appendChild(myHotelPackages);
			
			var myHotelRoom = createElementWithParams("LI", {"className":"lastmenuitem"});
			var myHotelRoomA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/hotels/hotel_room_only.shtml"}]});
			myHotelRoomA.appendChild(document.createTextNode("Hotel Room Only"))
			addGoogleTrackEventListener(myHotelRoomA, "MenuClicks", "HotelMenu");
			myHotelRoom.appendChild(myHotelRoomA);
			myHotelSubMenu.appendChild(myHotelRoom);
			myHotel.appendChild(myHotelSubMenu);
			myMenu.appendChild(myHotel);
		}
		if(prodL.charAt(3)){ //lounges
			var myLounge = createElementWithParams("LI", {"events": [{"event": "onmouseover", "func": "globMenuMouse", "params": [0,this]}, {"event": "onmouseout", "func":"globMenuMouse", "params":[1,this]}]});
			var myLoungeA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/information/executive_lounges.shtml"}]});
			myLoungeA.appendChild(document.createTextNode("Airport Lounges"));
			myLounge.appendChild(myLoungeA);
			myMenu.appendChild(myLounge);
		}
		var travelExtras = false;
		for(i = 7; i< 14; i++){ //travel extras
			if(i == 10) //ski
				continue;
			else
				if(prodL.charAt(i)){
					travelExtras = true;
					break;
				}
		}
		if(travelExtras){
			var myTravelExtras = createElementWithParams("LI", {"attrs": [{"name": "id","value":"myMenu_bttn3"}], "events": [{"event": "onmouseover", "func":"globMenuMouse", "params": [0,this]}, {"event": "onmouseout", "func": "globMenuMouse", "params": [1,this]}]});
			var myTravelExtrasA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/travel_extras/index.shtml"}]});
			myTravelExtrasA.appendChild(document.createTextNode("Travel Extras"));
			myTravelExtras.appendChild(myTravelExtrasA);
			var myTravelExtrasSub = createElementWithParams("UL", {"attrs": [{"name": "id", "value":"myMenu_bttn3_sub"}], "style": [{"name":"display", "value":"none"}]});
			
			if (prodL.charAt(6)) {
				var mi = document.createElement("LI");
				var miA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/travel_extras/travel_insurance.shtml"}]});
				miA.appendChild(document.createTextNode("Travel Insurance"));
				mi.appendChild(miA);
				myTravelExtrasSub.appendChild(mi);
			}
			if (prodL.charAt(7)) {
				var mi = document.createElement("LI");
				var miA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/travel_extras/car_hire/index.shtml"}]});
				miA.appendChild(document.createTextNode("Car Hire"));
				mi.appendChild(miA);
				myTravelExtrasSub.appendChild(mi);
			}
			if (prodL.charAt(13)) {
				var mi = document.createElement("LI");
				var miA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/travel_extras/my_travel_cash.shtml"}]});
				miA.appendChild(document.createTextNode("My Travel Cash"));
				mi.appendChild(miA);
				myTravelExtrasSub.appendChild(mi);
			}
			if (prodL.charAt(11)) {
				var mi = document.createElement("LI");
				var miA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/travel_extras/truphone.shtml"}]});
				miA.appendChild(document.createTextNode("Truphone Local Anywhere"));
				mi.appendChild(miA);
				myTravelExtrasSub.appendChild(mi);
			}
			if (prodL.charAt(12)) {
				var mi = document.createElement("LI");
				var miA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/travel_extras/online_safe.shtml"}]});
				miA.appendChild(document.createTextNode("My Online Safe"));
				mi.appendChild(miA);
				myTravelExtrasSub.appendChild(mi);
			}
			if (prodL.charAt(9)) {
				var mi = document.createElement("LI");
				var miA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/travel_extras/attraction_tickets.shtml"}]});
				miA.appendChild(document.createTextNode("Attraction Tickets"));
				mi.appendChild(miA);
				myTravelExtrasSub.appendChild(mi);
			}
			var airportTransfers = document.createElement("LI");
            var airportTransfersA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "http://aph.resorthoppa.com/"}]});
            airportTransfersA.appendChild(document.createTextNode("Airport Transfers"));
            airportTransfers.appendChild(airportTransfersA);
            myTravelExtrasSub.appendChild(airportTransfers);
			if (prodL.charAt(8)) {
				var mi = document.createElement("LI");
				var miA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/travel_extras/airport_taxis.shtml"}]});
				miA.appendChild(document.createTextNode("Holiday Taxis"));
				mi.appendChild(miA);
				myTravelExtrasSub.appendChild(mi);
			}
			myTravelExtras.appendChild(myTravelExtrasSub);
			myMenu.appendChild(myTravelExtras);
		}
		/* News Item */
		var myNews = createElementWithParams("LI", {"attrs": [{"name": "id", "value":"myMenu_bttn4"}], "events": [{"event": "onmouseover", "func":"globMenuMouse", "params": [0,this]},{"event": "onmouseout", "func": "globMenuMouse", "params": [1,this]}]});
		var myNewsA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/news/"}]});
		myNewsA.appendChild(document.createTextNode("APH News"));
		myNews.appendChild(myNewsA);
		var myNewsSub = createElementWithParams("UL", {"attrs": [{"name": "id", "value":"myMenu_bttn4_sub"}], "style": [{"name": "display", "value": "none"}]});
		var myNewsSubKBYG = document.createElement("LI");
		var myNewsSubKBYGA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/news/knowbeforeyougo/"}]});
		myNewsSubKBYGA.appendChild(document.createTextNode("Know Before You Go"));
		myNewsSubKBYG.appendChild(myNewsSubKBYGA);
		myNewsSub.appendChild(myNewsSubKBYG);
		var myNewsSubTravel = createElementWithParams("LI", {"className":"lastmenuitem"});
		var myNewsSubTravelA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/news/Travel%20News"}]});
		myNewsSubTravelA.appendChild(document.createTextNode("Travel News"));
		myNewsSubTravel.appendChild(myNewsSubTravelA);
		myNewsSub.appendChild(myNewsSubTravel);
		myNews.appendChild(myNewsSub);
		myMenu.appendChild(myNews);	
		
		/* About Us */
		var myAbout = createElementWithParams("LI", {"event": [{"event": "onmouseover", "func":"globMenuMouse", "params": [0,this]}, {"event": "onmouseout", "func": "globMenuMouse", "params": [1,this]}]});
		var myAboutA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/information/index.shtml"}]})
		myAboutA.appendChild(document.createTextNode("About Us"));
		myAbout.appendChild(myAboutA);
		myMenu.appendChild(myAbout);
		
		/* Contact Us */
		var myContact = createElementWithParams("LI", {"attrs": [{"name": "id", "value":"myMenu_bttn5"}], "className": "dark_org_bttn lastitem"});
		var myContactA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/information/contact_us.shtml"}]});
		myContactA.appendChild(document.createTextNode("Contact Us"));
		myContact.appendChild(myContactA);
		var myContactSub = createElementWithParams("UL", {"attrs": [{"name": "id", "value":"myMenu_bttn5_sub"}], "style": [{"name": "display", "value": "none"}]});
		var myContactSubUs = document.createElement("LI");
		var myContactSubUsA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/information/contact_us.shtml"}]});
		myContactSubUsA.appendChild(document.createTextNode("Contact Us"));
		myContactSubUs.appendChild(myContactSubUsA);
		myContactSub.appendChild(myContactSubUs);
		var myContactSubParkingFAQ = document.createElement("LI");
		var myContactSubParkingFAQA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/parking/faqs.shtml"}]});
		myContactSubParkingFAQA.appendChild(document.createTextNode("Airport Parking FAQ's"));
		myContactSubParkingFAQ.appendChild(myContactSubParkingFAQA);
		myContactSub.appendChild(myContactSubParkingFAQ);
		var myContactSubHotelFAQ = document.createElement("LI");
        var myContactSubHotelFAQA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/hotels/airport_hotels_faqs.shtml"}]});
        myContactSubHotelFAQA.appendChild(document.createTextNode("Airport Hotels FAQ's"));
        myContactSubHotelFAQ.appendChild(myContactSubHotelFAQA);
        myContactSub.appendChild(myContactSubHotelFAQ);
        var myContactAsh = document.createElement("LI");
        var myContactAshA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/information/general_faqs.shtml"}]}); 
        myContactAshA.appendChild(document.createTextNode("General FAQ's"));
        myContactAsh.appendChild(myContactAshA);
        myContactSub.appendChild(myContactAsh);
		var myContactSubAff = document.createElement("LI");
		var myContactSubAffA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "/affiliates/affiliates.shtml"}]});
		myContactSubAffA.appendChild(document.createTextNode("Become An Affiliate"));
		myContactSubAff.appendChild(myContactSubAffA);
		myContactSub.appendChild(myContactSubAff);
		var myContactSubTT = createElementWithParams("LI", {"className" :"lastmenuitem"});
		var myContactSubTTA = createElementWithParams("A", {"attrs": [{"name": "href", "value": "http://www.parking-quote.co.uk/agent/aphagent.asp"}]});
		myContactSubTTA.appendChild(document.createTextNode("Travel Trade"));
		myContactSubTT.appendChild(myContactSubTTA);
		myContactSub.appendChild(myContactSubTT);
		myContact.appendChild(myContactSub);
		myMenu.appendChild(myContact);
		
		return myMenu;
	}
	
	function addGoogleTrackEventListener(element, categoryname, offername){
		if(element.addEventListener){
            element.addEventListener("click", addTracker(categoryname, offername) , false);
        }else if(element.attachEvent){
            element.attachEvent('onclick', addTracker(categoryname, offername) );
        }
	}
	
	function insertScrapers(){
		/*var xmlCode = (arguments.length == 1)? "default": agentCode;
		var xml_feed = "/partners/"+xmlCode+".xml";
		xml = newAjax("GET", xml_feed);
		xml.send(null);
		if(xml.responseText != ""){
			var xmlDoc;
			if (window.DOMParser){
				parser = new DOMParser();
				xmlDoc = parser.parseFromString(xml.responseText,"text/xml");
			}else{ // Internet Explorer
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async = false;
				xmlDoc.loadXML(xml.responseText);
			}
			var config = xmlDoc.getElementsByTagName("configuration")[0];
			if(config != null){
				scraper_rotate_speed = (config.getAttribute("rotator_speed")*1000);
				var Images = xmlDoc.getElementsByTagName("image");
				for(var i = 0; i< Images.length; i++){
					var img = createElementWithParams("IMG", ["alt::"+Images[i].getAttribute("alt"),
																 "title::"+Images[i].getAttribute("title"),
																 "style::border: none 0pt;",
																 "src::"+Images[i].getAttribute("src")]);
					var imgA = createElementWithParams("A", ["href::"+Images[i].getAttribute("href")]);
					addGoogleTrackEventListener(img, "Scrapers", Images[i].getAttribute("title"));
					imgA.appendChild(img);
					scraper_images.push(imgA);
				}
				rotate_skyScrapers();
			}else{
				if(arguments.length == 1)
					loadDefaultScrapers(true);
				else
					loadDefaultScrapers();
				return;
			}
		}else{
			if(defaultXML)
				loadDefaultScrapers(true);
			else
				loadDefaultScrapers();
			return;
		}//*/
		loadDefaultScrapers();
	}
	
	function loadDefaultScrapers(){
		var imgParams;
		var aParams;
		var defaultXml_error = false;
		//remove "true || " if using custom agent xml for scrapers uncomment above and rmove last line
		if(true || agentCode.toUpperCase() == "APH" || agentCode.toUpperCase() == ""){
            imgParams = {"style": [{"name": "border", "value": "none 0pt"}, {"name": "width", "value": "166px"}, {"name": "height", "value": "234px"}], "attrs": [{"name": "src", "value": "/images/banners/default_offer1.gif"}, {"name": "alt","value":"APH Special Offer"}]};
            aParams = {"attrs": [{"name": "href", "value": "/travel_extras/car_hire/index.shtml"}]};
            var defaultA = createElementWithParams("A", aParams);
            var defaultAImg = createElementWithParams("IMG", imgParams);
            defaultA.appendChild(defaultAImg);
            imgParams = {"style": [{"name": "border", "value": "none 0pt"}, {"name": "width", "value": "166px"}, {"name": "height", "value": "234px"}], "attrs": [{"name": "src", "value": "/images/banners/default_offer2.gif"}, {"name": "alt","value":"APH Special Offer"}]};
            aParams = {"attrs": [{"name": "href", "value": "/travel_extras/travel_insurance.shtml"}]};
            var defaultB = createElementWithParams("A", aParams);
            var defaultBImg = createElementWithParams("IMG", imgParams);
            defaultB.appendChild(defaultBImg);
            imgParams = {"style": [{"name": "border", "value": "none 0pt"}, {"name": "width", "value": "166px"}, {"name": "height", "value": "234px"}], "attrs": [{"name": "src", "value": "/images/banners/default_offer3.gif"}, {"name": "alt","value":"APH Special Offer"}]};
            aParams = {"attrs": [{"name": "href", "value": "/travel_extras/my_travel_cash.shtml"}]};
            var defaultC = createElementWithParams("A", aParams);
            var defaultCImg = createElementWithParams("IMG", imgParams);
            defaultC.appendChild(defaultCImg);
            
            scraper_images.push(defaultA);
            scraper_images.push(defaultB);
            scraper_images.push(defaultC);
            rotate_skyScrapers();
            return;
		}else{
			/*
			var default_xml = "/partners/default.xml";
			var xml = newAjax("GET", default_xml);
			xml.send(null);
			if(xml.responseText != ""){
				var parsedDefault = newXMLfromString(xml.responseText);
				if(parsedDefault != null){
					var config = parsedDefault.getElementsByTagName("configuration")[0];
					scraper_rotate_speed = (config.hasAttribute("rotator_speed"))?config.getAttribute("rotator_speed")*1000:scraper_rotate_speed;
					var Images = parsedDefault.getElementsByTagName("image");
					for(var i = 0; i< Images.length; i++){
						var img = createElementWithParams("IMG", ["alt::"+Images[i].getAttribute("alt"),
																	 "title::"+Images[i].getAttribute("title"),
																	 "style::border: none 0pt;",
																	 "src::"+Images[i].getAttribute("src")]);
						var imgA = createElementWithParams("A", ["href::"+Images[i].getAttribute("href")]);
						imgA.appendChild(img);
						scraper_images.push(imgA);
					}
					rotate_skyScrapers();
					return;
				}else{
					defaultXml_error = true;
				}
			}else{
				defaultXml_error = true
			}//*/
			if(arguments.length == 0){
				insertScrapers(true);
				return;
			}else{
				defaultXml_error = true;
			}
		}
		if(defaultXml_error){                 
                imgParams = {"style": [{"name": "border", "value": "none 0pt"}, {"name": "width", "value": "166px"}, {"name": "height", "value": "234px"}, {"name": "src", "value": "/images/banners/default_offer1.gif"}, {"name": "alt","value":"APH Special Offer"}]};
                aParams = {"attrs": [{"name": "href", "value": "/travel_extras/car_hire/index.shtml"}]};
		}
		var defaultA = createElementWithParams("A", aParams);
		var defaultImg = createElementWithParams("IMG", imgParams);
		defaultA.appendChild(defaultImg);
		var offer = document.getElementById("fresh_offer");
		if(offer != null)
			offer.appendChild(defaultA);
	}
	
	function insertNewsletter(){
		if(!APHScriptLibrary.ReadCookie("subscribed")){
			var contDiv = document.getElementById("newsLetterFormDiv");
			if(contDiv != null){
				while(contDiv.hasChildNodes()){
					contDiv.removeChild(contDiv.firstChild)
				}
				var news_letter_form = createElementWithParams("FORM", {"attrs": [{"name": "id", "value":"news_form"},
																                {"name": "action", "value": "http://links.mkt2348.com/servlet/UserSignUp?f=111628&amp;postMethod=HTML&amp;m=0&amp;j=MAS2"},
																                {"name": "method", "value": "post"}],
																        "style": [{"name": "margin","value": 0},
                                                                                    {"name": "padding", "value": 0}]});
                attachEventListeners(news_letter_form, "submit", function(){
                    return APHScriptLibrary.ValidateEmail(this);
                });
				var formDiv = document.createElement("DIV");
				//js form
				var scriptDiv = document.createElement("DIV", {"attrs": [{"name": "id", "value": "newsletter_script_form"}]});
				var scriptDivFirstP = document.createElement("P");
				var scriptDivFirstPLabel = createElementWithParams("LABEL", {"attrs": [{"name": "for", "value":"email_s"}]});
				scriptDivFirstPLabel.appendChild(document.createTextNode("Email Address:"));
				var scriptDivFirstInp = createElementWithParams("INPUT", {"attrs": [{"name": "type", "value":"text"}, 
																                    {"name": "id", "value": "email_s"},
																                    {"name": "class", "value": "email"},
																                    {"name": "maxlength", "value" :4000},
																                    {"name": "name", "value" :"EMAIL"},
																                    {"name": "value", "value":"your\@email_address.com"},
																                    {"name": "size", "value": 15}]});
                attachEventListener(scriptDivFirstInp, "blur", function(){
                    this.value=(!this.value)?'your\@email_address.com':this.value;
                });
                attachEventListener(scriptDivFirstInp, "focus", function(){
                    this.value =(this.value == 'your\@email_address.com')?'':this.value;
                });
				scriptDivFirstP.appendChild(scriptDivFirstPLabel);
				scriptDivFirstP.appendChild(document.createElement("BR"));
				scriptDivFirstP.appendChild(scriptDivFirstInp);
				var scriptDivSecondP = createElementWithParams("P",{"style": [{"name": "margin-top", "value": "-8px"},{"name": "margin-bottom", "value": "-2px;"}]});
				scriptDivSecondP.appendChild(createElementWithParams("IMG", {"attrs": [{"name": "id", "value":"news_sb_img"},
				                                                                       {"name": "width", "value": 107},
															                           {"name": "height", "value": 25},
															                           {"name": "alt", "value": "Sign Up!"},
															                           {"name": "src", "value": "/images/frame/signup.png"}],
															                "style": [{"name": "margin-left", "value": 0},
                                                                                        {"name": "cursor", "value": "pointer"}],
                                                                            "events": [{"event": "click", "func": "send_newsletter"}]}));
				scriptDiv.appendChild(scriptDivFirstP);
				scriptDiv.appendChild(scriptDivSecondP);
				formDiv.appendChild(scriptDiv);
				//hidden inps
				formDiv.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type", "value": "hidden"}, {"name": "name", "value": "EMAIL_REQUIRED"}, {"name": "value", "value":"T"}]}));
				formDiv.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type", "value": "hidden"}, {"name": "name", "value": "EMAIL_DATATYPE"}, {"name": "value", "value": "email"}]}));
				formDiv.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type", "value": "hidden"}, {"name": "name", "value": "agent_code_REQUIRED"}, {"name": "value", "value":"T"}]}));
				formDiv.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type", "value": "hidden"}, {"name": "name", "value": "agent_code_DATATYPE"}, {"name": "value", "value": "text"}]}));
				formDiv.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type", "value": "hidden"}, {"name": "id", "value": "newsletter_agentCode"}, {"name": "name", "value": "agent_code"}, {"name": "value", "value": agentCode}]}));
				//final appending
				news_letter_form.appendChild(formDiv);
				document.getElementById("newsLetterFormDiv").appendChild(news_letter_form);
			}
		}else{ //registered before
			var parCont = document.getElementById("newsletter");
			if(parCont != null)
				parCont.style.display = "none";
		}
	}
	
	function insertSearchBox(){
		var searchFormCont = document.getElementById("search_div");
		if(searchFormCont != null){
			while(searchFormCont.hasChildNodes()){
				searchFormCont.removeChild(searchFormCont.firstChild)
			}
			var contDiv = createElementWithParams("DIV", {"attrs": [{"name": "id", "value":"searchDiv"}]});
			var h3 = document.createElement("H3");
			h3.appendChild(document.createTextNode("Search Our Site:"));
			var searchForm = createElementWithParams("FORM", {"attrs": [{"name": "action", "value":"/search.shtml"}, {"name": "id", "value": "cse-search-box"}]});
			var formDiv = document.createElement("DIV");
			//hidden inps
			formDiv.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type", "value": "hidden"},
														                    {"name": "name", "value": "cx"},
														                    {"name": "value", "value": "002562744422670140379:5hlos1izokq"}]}));
			formDiv.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type","value":"hidden"},
														                    {"name": "name", "value": "cof"},
														                    {"name": "value", "value":"FORID:10"}]}));
			formDiv.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type","value": "hidden"},
														                    {"name": "name", "value":"ie"},
														                    {"name": "value", "value": "UTF-8"}]}));
			var p = document.createElement("P");
			p.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type", "value":"text"}, {"name": "name", "value":"q"}, {"name": "size", "value":19}]}));
			formDiv.appendChild(p);
			p = document.createElement("P");
			p.appendChild(createElementWithParams("INPUT", {"attrs": [{"name": "type::image"},
			                                                          {"name": "alt", "value":"Search"},
												                      {"name": "src", "value":"/images/frame/search_now_bl2.png"},
												                      {"name": "name", "value": "sa"}]}));
			formDiv.appendChild(p);
			searchForm.appendChild(formDiv);
			contDiv.appendChild(h3);
			contDiv.appendChild(searchForm);
			searchFormCont.appendChild(contDiv);
			var googleScript = document.createElement("SCRIPT");
			googleScript.type = "text/Javascript";
			googleScript.src = "http://www.google.com/cse/brand?form=cse-search-box&amp;lang=en&amp;sitesearch=true";
			searchFormCont.appendChild(googleScript);
		}
	}
	
	var resize = false;
	function shiftMenu(){
		var menu = document.getElementById("left_column");
		var canv = document.getElementById("canvas");
		var subMenuDummy = document.getElementById("myMenu_bttn1_sub");
		if(menu == null || canv == null || subMenuDummy == null)
			return;
		var menuOffset = (navigator.appVersion.indexOf("MSIE") == -1)?getStyle("left_column","padding-left"):getStyle("left_column","paddingLeft");
		if(canv.offsetLeft + parseInt(menuOffset) > (parseInt(getStyle("myMenu_bttn1_sub","width")) + 26)){// not enough room on left to display
			if(resize)//no change
				return;
			else
				resize = true;
		}else{
			resize = false;
		}
		for(var sm = 0; sm < subMenuIDs.length; sm++){
			var ElLeft = parseInt(getStyle(subMenuIDs[sm]+"_sub","left"));
			if(ElLeft != "NaN"){
				if(sm <= 4){ //subs 1-5
					if(resize)
						document.getElementById(subMenuIDs[sm]+"_sub").style.left = "-226px";
					else
						document.getElementById(subMenuIDs[sm]+"_sub").style.left = "158px";
				}else{ //subs 6-7(sub sub menus)
					if(resize){
						document.getElementById(subMenuIDs[sm]+"_sub").style.left = "-9px";
						document.getElementById(subMenuIDs[sm]+"_sub").style.top = "6px";
					}else{
						document.getElementById(subMenuIDs[sm]+"_sub").style.left = "208px";
						document.getElementById(subMenuIDs[sm]+"_sub").style.top = "-190px";
					}
				}
			}
		}
	}
	
	function getStyle(el,styleProp){
		var x = document.getElementById(el);
		if (x.currentStyle)
			var y = x.currentStyle[styleProp];
		else if (window.getComputedStyle)
			var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
		return y;
	}
	
				
	function moveHeadline(){		
		var hline = document.getElementById("h-one2");
		var header = document.getElementById("header");
		if(hline == null || header == null)
			return;
		if(parseInt(APHScriptLibrary.ReadCookie("wb_offers")) != 1){
			if (agentCode.toLowerCase() != "aph" && agentCode.toLowerCase() != "hot10"){ 
				hline.parentNode.removeChild(hline);
			}else{
				var newHline = hline.cloneNode(true);
				header.insertBefore(newHline,header.firstChild);
				hline.parentNode.removeChild(hline);
				newHline.style.display = "block";
				newHline.setAttribute("id","h-one");
			}
		}else{
			hline.parentNode.removeChild(hline);
		}
	}
	
String.prototype.trim = function(chars){
    var str = this;
    str = str.ltrim(chars);
    str = str.rtrim(chars);
    return str;
}
 
String.prototype.ltrim = function(chars){
    chars = chars || "\\s";
    return this.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
String.prototype.rtrim = function(chars){
    chars = chars || "\\s";
    return this.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
