// browser/ platform detectionvar w3c=(document.getElementById);var NS4=(document.layers);var browserName=navigator.userAgent.toLowerCase()+" ";var opera = browserName.indexOf("opera")!=-1;var isNetscape = browserName.indexOf("netscape")!=-1;var mac=navigator.userAgent.toLowerCase()+" ";mac=mac.indexOf("mac")!=-1;var intVersion = parseInt(navigator.appVersion);var IE   = ((browserName.indexOf("msie") != -1)&& (browserName.indexOf('opera')==-1) && (browserName.indexOf('webtv')==-1));var IE3  = (IE && (intVersion < 4));//For versions of IE of 4 or greater retrieve the real version number from later in the stringif (IE && !IE3) {   var iPos1 = browserName.indexOf("msie ") + 5;   var realIEVersion = parseInt(browserName.substr(iPos1,3));}var IE4  = (IE && (intVersion == 4) && (realIEVersion == 4) );var IE4down  = (IE  && (IE4 || IE3));// set rollover colours for left hand navigationvar rgbNAV_ROLLOVER_ON="#9999FF";var rgbNAV_ROLLOVER_L1_OFF="#000033";	var rgbNAV_ROLLOVER_L2_OFF="#666699"	var rgbNAV_ROLLOVER_L3_OFF="#666699";	var rgbNAV_ROLLOVER_L4_OFF="#9999CC";var rgbNAV_ROLLOVER_DEFAULT_OFF = "#9999CC";// set rollover colours for arrow boxesvar STRARROWROLLOVERON // Value allocated from ids in the XMLvar STRARROWROLLOVEROFF="#FFFFFF";var STRARROWTEXTROLLOVERON="#FFFFFF";var STRARROWTEXTROLLOVEROFF="#000000";var BLN_POPUP_CODE_EXECUTED = false // toggle used to stop event listening browsers running openWindow function twicevar BLN_BACK_EXECUTED = false // toggle used to stop event listening browsers running goBack function twicevar POP_WINDOW_HEIGHT = 400;var POP_WINDOW_WIDTH = 500;var sector;// called from within each pagefunction setUp() {	if (w3c)	{      setEventListeners();  // add event listeners      //Allocate rollover colour based on sector value      switch (sector) {      	case 'fastpay': STRARROWROLLOVERON="#666699";      	break      	default: STRARROWROLLOVERON="#666699";      }   }}// add event listenersfunction setEventListeners() {	var objDivCollection = document.getElementsByTagName("div");	var intNoOfDivs = objDivCollection.length;	for (var i=0;i<intNoOfDivs;i++) {		// left nav		if (objDivCollection[i].id.indexOf("LN_")==0) {			addEvent(objDivCollection[i].id ,"click",LeftNav_heardClick,false);			addEvent(objDivCollection[i].id ,"mouseover",LeftNav_heardOver,false);			addEvent(objDivCollection[i].id ,"mouseout",LeftNav_heardOut,false);		}		// arrow links		if (objDivCollection[i].id.indexOf("AR_")>=0) {			addEvent(objDivCollection[i].id ,"click",arrow_heardClick,false);			addEvent(objDivCollection[i].id ,"mouseover",arrow_heardOver,false);			addEvent(objDivCollection[i].id ,"mouseout",arrow_heardOut,false);                  // Suss out the sector from the first few chars of id         sector = objDivCollection[i].id.substring(0,objDivCollection[i].id.indexOf("AR_"));		}	}	// Need to add event listeners to spans too.	var objSpanCollection = document.getElementsByTagName("span");	var intNoOfSpan = objSpanCollection.length;	for (var i=0;i<intNoOfSpan;i++) {		// left nav		if (objSpanCollection[i].id.indexOf("LN_")==0) {			addEvent(objSpanCollection[i].id ,"click",LeftNav_heardClick,false);			addEvent(objSpanCollection[i].id ,"mouseover",LeftNav_heardOver,false);			addEvent(objSpanCollection[i].id ,"mouseout",LeftNav_heardOut,false);		}	}}///////////////////////////////////////////////////////////////////////// find the intended href of a click in a div tag// div tags must be formated correctly// will work on left hand nav and boxed arrows// objId = ID of divfunction processClick(objId){ var objTargetDiv =  document.getElementById(objId) var objTargetSpan = objTargetDiv.getElementsByTagName("span") var strTargetHref = objTargetSpan[0].firstChild.href // find if it is intended to be a popup - marked by presence of 'target' attribute var strIsPopup = objTargetSpan[0].firstChild.target if (strIsPopup.length > 0) { // intended for popup        if (!BLN_POPUP_CODE_EXECUTED)   {// the popup code has not already been run                  	// pull back the contents of the onClick inline event tag for this element and execute it            	var strOnClick = objTargetSpan[0].firstChild.onclick+"";            	strOnClick = strOnClick.substring(strOnClick.indexOf("return")+7,strOnClick.lastIndexOf("}"));            	eval(strOnClick);        } } else {    // Check to see if it's a back button. If so, run the goBack function if it hasn't already been fired   if (strTargetHref.indexOf("goBack") > 0) {     if (!BLN_BACK_EXECUTED) { goBack(); }   } else {     document.location.href = strTargetHref;    } } BLN_POPUP_CODE_EXECUTED = false; // re-set the toggle BLN_BACK_EXECUTED = false; // re-set the toggle return false;}///////////////////////////////////////////////////////////////////////// find the intended href of a click in a div tag// div tags must be formated correctly// will work on left hand nav and boxed arrows// objId = ID of divfunction LnClick(objId) { var objTargetDiv =  document.getElementById(objId) var objTargetSpan = objTargetDiv.getElementsByTagName("span") var objTargetHref = objTargetSpan[0].firstChild.href  if (objTargetHref!=null)  { document.location.href = objTargetHref; } return false;}// START : Left hand Navigation// left nav - heard mouse clickvar NAV_HANDLED_CLICK = false;function LeftNav_heardClick(e) {	if (false == NAV_HANDLED_CLICK){		if (isNetscape) {	LnClick(e.currentTarget.id);}		else { LnClick(window.event.srcElement.id);}		NAV_HANDLED_CLICK = true;	}	return false;}// left nav - heard mouseoverfunction LeftNav_heardOver(e) {	if (isNetscape){ LnSwitch(e.currentTarget.id,1);}   else{ LnSwitch(window.event.srcElement.id,1);}}// left nav - heard moseoutfunction LeftNav_heardOut(e) {	if (isNetscape) {LnSwitch(e.currentTarget.id,0);}	else { LnSwitch(window.event.srcElement.id,0);}}//  Main navigation highlightingfunction LnSwitch(id, strState) {	if (id) {		var intLevel = parseInt(id.charAt(3));		var rolloverColor;				if (strState) {			// mouse pointer moved onto.			rolloverColor = rgbNAV_ROLLOVER_ON;		}else{			// mouse pointer moved off of.			switch (intLevel){				case 1:					rolloverColor = rgbNAV_ROLLOVER_L1_OFF; break;				case 2:					rolloverColor = rgbNAV_ROLLOVER_L2_OFF; break;				case 3:					rolloverColor = rgbNAV_ROLLOVER_L3_OFF; break;				case 4:					rolloverColor = rgbNAV_ROLLOVER_L4_OFF; break;				default :					rolloverColor = rgbNAV_ROLLOVER_DEFAULT_OFF;	break;			}		}		document.getElementById(id).style.backgroundColor=rolloverColor;	}}// END : Left hand Navigation// START : Arrow links// arrow - heard mouse clickfunction arrow_heardClick(e) {	if (isNetscape) { processClick(e.currentTarget.id);}	else	{ processClick(window.event.srcElement.id);}}// arrow - heard mouseoverfunction arrow_heardOver(e) {	if (isNetscape) {	ArSwitch(e.currentTarget.id,1);}   else{ ArSwitch(window.event.srcElement.id,1);}}// arrow - heard mouseoutfunction arrow_heardOut(e) {	if (isNetscape) {ArSwitch(e.currentTarget.id,0);}	else 	{ArSwitch(window.event.srcElement.id,0);}}//  arrow highlightingfunction ArSwitch(id, strState) {	if (id) {		var rolloverColor;		if (strState) {			rolloverColor = STRARROWROLLOVERON;			textColour = STRARROWTEXTROLLOVERON;		} else {			rolloverColor = STRARROWROLLOVEROFF;			textColour = STRARROWTEXTROLLOVEROFF;		}		var objTargetDiv =  document.getElementById(id);		var objTargetSpan = objTargetDiv.getElementsByTagName("span");				objTargetSpan[0].firstChild.style.color=textColour;		document.getElementById(id).style.backgroundColor=rolloverColor;	}}// END : Arrow links///////////////////////////////////////////////////////////////////////////////// add eventListener to object// only designed to work with IE 5 up and Netscape 6 up//// obj = object name// eventType = 'click, mouseover, mouseout etc.' - NB: all lower case and no 'on' prefix// funct = the function to be called when event is detected// Capture = true or false - indicates if listening done on-route to event or when bubbling up (NS6 only)// returns true or false depending if event listner was successfully addedfunction addEvent(obj,eventType,funct,Capture){	var objRef=document.getElementById(obj);	if (objRef.attachEvent) {   //IE5+		var success=objRef.attachEvent("on" + eventType, funct);		return success;	}	else if (objRef.addEventListener) {   //NS6		objRef.addEventListener(eventType,funct,Capture);		return true;	}	else	{		// unable to attach event		return false;	}}function writeFlashOrOther2(flashSrc,height,width,otherSrc) {var strHtml = "";if (hasFlash) {   strHtml += '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,28,0" WIDTH="' + width + '" HEIGHT="' + height + '" tabindex="-1">';   strHtml += '<PARAM NAME="movie" VALUE="' + flashSrc + '" />';   strHtml += '<PARAM NAME="quality" VALUE="high" />';   strHtml += '<EMBED src="' + flashSrc + '" quality="high" WIDTH="' + width +  '"   HEIGHT="' + height + '" swLiveConnect="true" tabindex="-1" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">';   strHtml += '</EMBED></OBJECT>';} else {   strHtml += otherSrc;}document.write(strHtml);}/* XXXXXX Code used in flash detection XXXXX */var hasFlash = false;var flashVersion = "";var mimetype = 'application/x-shockwave-flash';    function checkForFlash() {  //for Netscape browsers   var intPlugins=navigator.plugins.length;   if (intPlugins>0) {   var intCtr=0;   var objPlugin;         while (intCtr<intPlugins) {      objPlugin=navigator.plugins[intCtr];         if (hasFlash==false) {            if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin && (objPlugin.description.indexOf("Flash")!=-1)) {            intPos=objPlugin.description.indexOf("Flash");            flashVersion=objPlugin.description.substring((intPos+6),(intPos+7));               if (flashVersion>3 ) { hasFlash=true; }            }         }      intCtr++;      }  //end while   } // end of if (intPlugins>0)}checkForFlash();function popWindow(url,fromFlash) {   this.window.name = "home";            var popupWindow=window.open(url, "_nw", "width="+700+",height="+530+",left=10,top=50,resizable=yes,scrollbars=yes,menubar=no,location=no,toolbar=no,status=yes");    if (!IE4down) popupWindow.focus();      BLN_POPUP_CODE_EXECUTED = true; // flag that the popup code has has been executed   if (!fromFlash){    return false;   }}function popWindowUnder(url) {   this.window.name = "home";            var popupWindow=window.open(url, "_nw", "width="+653+",height="+376+",left=10,top=50,resizable=yes,scrollbars=yes,menubar=no,location=no,toolbar=no,status=yes");    //if (!IE4down) popupWindow.focus();   parent.window.focus();   BLN_POPUP_CODE_EXECUTED = true; // flag that the popup code has has been executed}function goBack() {   history.back();  BLN_BACK_EXECUTED = true; // flag that the popup code has has been executed  return false;}function postClick(strSrc,strType,strCat) {var axel = Math.random()+"";var a = axel * 10000000000000;var strHtml = '<IMG SRC="http://ad.uk.doubleclick.net/activity;src=' + strSrc + ';type=' + strType + ';cat=' + strCat + ';ord='+ a + '?" WIDTH="1" HEIGHT="1" BORDER="0">';document.write(strHtml);}
