function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) { 
	elm.addEventListener(evType, fn, useCapture); 
		return true; 
	}
	else if (elm.attachEvent) { 
	var r = elm.attachEvent('on' + evType, fn); 
	EventCache.add(elm, evType, fn);
		return r; 
	}
	else {
		elm['on' + evType] = fn;
	}
	return false;
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,	
		add : function(node, sEventName, fHandler, bCapture){
			listEvents.push(arguments);
		},	
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];				
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};				
				/* From this point on we need the event names to be prefixed with */
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};				
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};				
				item[0][item[1]] = null;
			};
		}
	};
}();

function sectionColor() {
	if (document.body) {
		context = document.body.className;
		switch (context) {
		case "home":
		case "firm":
			h2sColorContext = "#374453";
			break;
		case "services":
			h2sColorContext = "#5284C8";
			break;
		case "offices":
			h2sColorContext = "#3AA7AF";
			break;
		case "people":
			h2sColorContext = "#52BD68";
			break;	
		case "recruit":
			h2sColorContext = "#82CC44";
			break;	
		case "news":
			h2sColorContext = "#F18600";
			break;		
		case "knowledge":
			h2sColorContext = "#D52E0A";
			break;
		default:
			h2sColorContext = "#5284C8";
			break;
		}
  	do_sIFR(h2sColorContext);
  }
}
  
function do_sIFR(sectionColor) {
   sIFR.replace(helveticalight, { selector: '#content-main h2',css: ['.sIFR-root { color: '+sectionColor+'; letter-spacing: .5}'] });
   sIFR.replace(helveticalight, {
    selector: '.title h2'
    ,css: [
      '.sIFR-root { color: #FFFFFF; letter-spacing: .5}'
    ],
    wmode: 'transparent'
  });
  
  	sIFR.replace(helveticalight, {
    selector: '.intro'
    ,css: [
      '.sIFR-root { color: #62737E; letter-spacing: .6}'
    ]
  }); 
}

if (!(document.getElementsByTagName('html')[0].getAttribute("lang") == "ar")) { // don't replace text on Arabic pages
	/* sIFR 3 replacements */
	 var helveticalight = { 
 	src: '../swf/helveticalight.swf'
 	,ratios: [6,1.27,7,1.26,8,1.22,9,1.21,10,1.19,11,1.18,12,1.16,13,1.19,14,1.18,15,1.16,16,1.16,17,1.15,18,1.14,19,1.15,20,1.14,21,1.14,22,1.13,23,1.13,24,1.12,25,1.14,26,1.13,27,1.13,28,1.13,29,1.12,30,1.12,31,1.12,32,1.12,33,1.12,34,1.12,35,1.11,36,1.11,37,1.12,38,1.12,39,1.11,40,1.11,41,1.11,42,1.11,43,1.11,44,1.11,45,1.11,46,1.11,47,1.11,48,1.1,49,1.11,50,1.11,51,1.11,52,1.11,53,1.11,54,1.1,55,1.11,56,1.1,57,1.1,58,1.1,59,1.1,60,1.1,61,1.11,62,1.1,63,1.1,64,1.1,65,1.1,66,1.1,67,1.1,68,1.1,69,1.1,70,1.1,71,1.1,72,1.1,73,1.1,74,1.1,75,1.1,77,1.1,78,1.1,79,1.1,80,1.1,81,1.1,82,1.1,83,1.1,84,1.09,85,1.1,86,1.1,88,1.1,89,1.1,90,1.1,91,1.1,92,1.1,93,1.1,94,1.1,95,1.09,96,1.09,97,1.1,98,1.1,99,1.1,100,1.1,101,1.1,102,1.09,103,1.1,104,1.09,105,1.09,106,1.09,107,1.09,108,1.09,109,1.1,110,1.1,111,1.09,112,1.09,113,1.09,114,1.09,115,1.09,116,1.09,117,1.09,118,1.09,119,1.09,120,1.09,121,1.09,122,1.09,123,1.09,124,1.09,1.09]
	 };
  /*sIFR.debugMode = true; */
/*   sIFR.activate(helveticalight); */
}

//doPrint
function doPrint() {
		window.print();
}

//cookies
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(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) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/* User cookie handling */
//createCookie('TSD','Mark%20Croxton');

function checkUserCookieExists() {
	var username = readCookie("TSD");
	if (username != null) {
		document.write('<style type="text/css">#user { visibility: hidden; }</style>'); // hide until page loads
		return unescape(username); // decode ascii chars
	}
	return null;
}
var username = checkUserCookieExists();

function show_username() {
	if (document.getElementById) {
		var userP = document.getElementById("user");
		/*var username = readCookie("TSD");*/
		if (username != null) {
			userP.style.visibility = "visible"; // make it visible again
			userP.innerHTML =  '<a href="/knowledge/register.cfm" title="Manage your account">'+username+'</a>';
			userP.innerHTML += '&nbsp;|&nbsp;';
			userP.innerHTML += '<a href="/knowledge/index.cfm?logout" title="Log out">Log out</a>';
		}
	}
}

function switchLogo() {
	/* Look for the string '/aviation/' in the href. Boolean */
	var match = /\/aviation\//i.test(window.location.href);
	if (match) {
		document.write('<style type="text/css">#masthead h1 { background: transparent url(../img/logo_BeaumontSon.png) no-repeat 0 0;}</style>');

		document.write('<!--[if IE]><style type="text/css">* html body #masthead h1 {	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src="../img/logo_BeaumontSon.png",sizingMethod="scale");}</style><![endif]-->');
	}
}
switchLogo();

/* onload events */
addEvent(window,'load',show_username, false);
/* addEvent(window,'load',sectionColor, false); */

/* Stop memory leaks */
addEvent(window,'unload',EventCache.flush, false);



