// global variables
var toggleTimer = null, toggleTimer2 = null;

// eventhandler for domonload
var onDOMload=function() {
  if(arguments.callee.done) return;
  arguments.callee.done=true;
  if(_timer) clearInterval(_timer);
  
	// add functions that should run on dom load
	initLoadEvents()
	initTools();
	initPageTools();
	initEmail();
	initBoxes();
	initSitemap();
	initMap();
	initIframeHandler();
	removeFlashBorder();	
	setupTable("color");
	suggestionBox();
	addLinkToPartnerlogo();
	
	if(typeof skinSpecificScript !== 'undefined'){
		skinSpecificScript();
	}
	
};



/*@cc_on
@if (@_win32 || @_win64)
if(document.getElementById){
    document.write("<script id=\"ieScriptLoad\" defer src=\"//:\"><\/script>");
    document.getElementById("ieScriptLoad").onreadystatechange=function(){if(this.readyState=="complete"){onDOMload()}};
}
@end @*/
if(document.addEventListener){document.addEventListener("DOMContentLoaded",onDOMload,false)};
if(/KHTML|WebKit|iCab/i.test(navigator.userAgent)){var _timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){onDOMload()}},10)}
window.onload=onDOMload;


// shortcut for get elemeny by id
var $ = function(elm) { return document.getElementById(elm); }


// remove 'click here to active and use this control' on flash objects
var removeFlashBorder = function() {
	var theObjects = document.getElementsByTagName("object");
	if(!theObjects) return;
	var n = theObjects.length;
	for (var i=0; i<n; i++){
		theObjects[i].outerHTML = theObjects[i].outerHTML;
	}
};


// get elements by class name
function getElementsByClassName(node,classname) {
	if (node.getElementsByClassName)
		return node.getElementsByClassName(classname);
	else {
		// your custom function
	}
}

var getElementsByClassName = function(oElm, strTagName, strClassName){
	if (oElm.getElementsByClassName) {
		return oElm.getElementsByClassName(strClassName);
	} else {
		var arrElements=(strTagName == '*' && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements=new Array();
		strClassName=strClassName.replace(/\-/g, '\\-');
		var oRegExp = new RegExp('(^|\\s)' + strClassName + '(\\s|$)');
		var oElement;
		for(var i=0, il=arrElements.length; i<il; i++){
			oElement=arrElements[i];
			if(oRegExp.test(oElement.className)){
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements)
	}
};


// eventhandler for adding events to objects
function addEvent(obj, type, fn){
	if (obj.addEventListener){
		obj.addEventListener(type, fn, false);
		EventCache.add(obj, type, fn);
	}else if(obj.attachEvent){
		obj["e"+type+fn] = fn;
		obj[type+fn]=function(){obj["e"+type+fn](window.event);}
		obj.attachEvent("on"+type, obj[type+fn]);
		EventCache.add(obj, type, fn);
	}else{
		obj["on"+type]=obj["e"+type+fn];
	}
}
var EventCache = function(){
	var listEvents=[];
	return {
		listEvents: listEvents,
		add: function(node, sEventName, fHandler){
			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]);};
				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;
			};
		}
	};
}();


// check if object has a function event attached
var hasFunctionEvent = function(obj,eventhandler){
	if(!obj.attributes) return false;
	var n = obj.attributes.length;
	for(var x=0; x<n; x++){
		var strEvent = 'e'+ eventhandler +'function';
		if(obj.attributes[x].nodeName.indexOf(strEvent) != -1){
			return (obj.attributes[x].value?true:false);
		}
	}
};

var initLoadEvents = function() {

	try {
		document.execCommand("BackgroundImageCache", false, true);
	} catch(err) {}

	if($('applytothisjobtitle') != null) {
		toggleObj('applytothisjob');
		addEvent($('applytothisjobtitle'),'click', function(){ toggleObj('applytothisjob')});
	}
	
	// startpage suggestion box
	var suggestionbox = $('business');
	
		if (suggestionbox != null) {
			var fieldset = suggestionbox.getElementsByTagName('fieldset')[0];
			if(fieldset != null )
			{ fieldset.style.display = 'block'; }
				
			var p = suggestionbox.getElementsByTagName('p');
			for (var i=0, il=p.length;i<il;i++)
				p[i].style.display = 'block';	

		}
			
	// align content in listings (if too much content)
	var listbox = getElementsByClassName(document,'div','listbox');
		if (listbox != null) {

			for (var i=0, il=listbox.length;i<il;i++) {
				var dl = listbox[i].getElementsByTagName('dl')[0];
				if (dl != null) {
					if (dl.clientHeight > 100) dl.getElementsByTagName('dd')[0].className = 'img large';
				}
			}
		}
		
	// style columns in list document tables (through colgroup with col elements)
	var listdocuments = $('list-documents');
	if (listdocuments != null) {
		var tables = listdocuments.getElementsByTagName('table');
	
		if (tables != null) {
			for (var i=0, il=tables.length;i<il;i++) {
				var table = tables[i];
				
				// colgroup
				var colgroup = document.createElement('colgroup');
					
					// first column
					var col1 = document.createElement('col')
					var col1Width = document.createAttribute('width');
						col1Width.nodeValue = "1*";
					
					col1.setAttributeNode(col1Width);
					
					// second column
					var col2 = document.createElement('col');
					var col2Width = document.createAttribute('width');
						col2Width.nodeValue = '20%';
					
					col2.setAttributeNode(col2Width);
						
					// third column
					var col3 = document.createElement('col');
					var col3Width = document.createAttribute('width');
						col3Width.nodeValue = '10%';
						
					col3.setAttributeNode(col3Width);
					
					// fourth column (if media kit table)
					var col4 = document.createElement('col');
					var col4Width = document.createAttribute('width');
						col4Width.nodeValue = '8%';
						
					col4.setAttributeNode(col4Width);
					
					if (table.className == 'mediakit') colgroup.appendChild(col4);
					
					colgroup.appendChild(col1);
					colgroup.appendChild(col2);
					colgroup.appendChild(col3);
					
					var thead = table.getElementsByTagName('thead')[0];
					var tbody = table.getElementsByTagName('tbody')[0];
					
					var targetElm;
					
					// decide where to add colgroup section
					if (thead != null) {
						targetElm = thead;
						
						var th;
						if (table.className == 'mediakit') {
							th = thead.getElementsByTagName('th')[1]; // media kit table
						} else {
							th = thead.getElementsByTagName('th')[0];
						}
						th.style.width='62%';
							
					} else {
						targetElm = tbody;
					}
					
					// add whole colgroup section to table
					var colgroupSection = table.insertBefore(colgroup, targetElm);
			}
		}
	}
}

// focus suggestion box text field
var suggestionBox = function() {
	var suggestionTxt = getElementsByClassName(document,'input','suggestiontxt')[0];
	if(suggestionTxt)
	{
		addEvent(suggestionTxt, 'click', function() { suggestionTxt.select() });
		if (suggestionTxt.setAttribute) suggestionTxt.setAttribute('autocomplete', 'off'); 
	}
}

// initialize tools
var initTools = function() {
	var ss = $("siteselector"), ssas = $('siteselector-as');
	if (!ss) return;
		//$("siteselector").style.top = '-5000px';
	
	var ssa = $("siteselector-li").getElementsByTagName('a')[0];
	
	
	if (!ssa) return;
	
	
		ssa.style.display = 'block';
		
		addEvent(ssa, 'mouseover', function() { window.clearTimeout(toggleTimer); siteSelector.Display(0) });
		addEvent(ssa, 'mouseout', function() { toggleTimer = window.setTimeout(siteSelector.Hide, 200) });
		addEvent(ss, 'mouseover', function() { window.clearTimeout(toggleTimer); siteSelector.Display(1) });
		addEvent(ss, 'mouseout', function() { toggleTimer = window.setTimeout(siteSelector.Hide, 200) });
		
	if (!ssas) return;
	
		var ssasa = $('siteselector-li-as').getElementsByTagName('a')[0];
	
	if (!ssasa) return;
			
		ssasa.style.display = 'block';
		
		addEvent(ssasa, 'mouseover', function() { window.clearTimeout(toggleTimer2); siteSelectorAS.Display(0) });
		addEvent(ssasa, 'mouseout', function() { toggleTimer2 = window.setTimeout(siteSelectorAS.Hide, 200) });
		addEvent(ssas, 'mouseover', function() { window.clearTimeout(toggleTimer2); siteSelectorAS.Display(1) });
		addEvent(ssas, 'mouseout', function() { toggleTimer2 = window.setTimeout(siteSelectorAS.Hide, 200) });
}

var siteSelector = {
	Display: function(fade) {
		var ss = $("siteselector"), ssli = $("siteselector-li");
		
		ss.style.top = '100%';
		ss.style.display = 'block';
		
		var ssPos = elmPos.X(ssli);
			if (ssPos > 802) ss.style.left = '-280px';
		
		if (fade==0 && ssli.className == '')
			Fade.In(ss.id, 4);
			
		ssli.className = 'selected';
	},
	Hide: function() {
		var ss = $("siteselector"), ssli = $("siteselector-li");
		
		ss.style.display = 'none';
		ssli.className = '';
	}
}


var siteSelectorAS = {
	Display: function(fade) {
		var ss = $("siteselector-as"), ssli = $("siteselector-li-as");
		
		ss.style.top = '100%';
		ss.style.display = 'block';
		
		var ssPos = elmPos.X(ssli);
			if (ssPos > 724) ss.style.left = '-160px';
			
		if (fade==0 && ssli.className == '')
			Fade.In(ss.id, 4);
			
		ssli.className = 'selected';
	},
	Hide: function() {
		var ss = $("siteselector-as"), ssli = $("siteselector-li-as");
		
		ss.style.display = 'none';
		ssli.className = '';
	}
}


// initialize page tools
var initPageTools = function() {

	var pt = $('page-tools'), introduction = $('introduction');
	var heading = document.getElementsByTagName('h1')[0];
	
	if (pt != null) {
	
	var headings = pt.getElementsByTagName('h3');
		for (i=0;i<headings.length;i++)
			headings[i].style.display = 'block';
	
		pt.style.border = '0';
		pt.style.padding = '0';
		
		// hide div elements in page tools
		var ptdiv = pt.getElementsByTagName('div');
	
		for (i=0, il=ptdiv.length;i<il;i++) {
			if (ptdiv[i].className == 'modal')
				ptdiv[i].style.display = 'none';
		}
	}
}


var scrollTop = function() {
	var scrollY;
	
	if (document.all) {
		scrollY = document.body.scrollTop;
    } else {
        scrollY = window.pageYOffset;
    }
}

// init iframe object handler
var initIframeHandler=function(){
	var iFrameWrapper=$('iframe-wrapper');
	if(iFrameWrapper){
		var iFrame=$('iframe'); if(!iFrame) return;
		var iFrameSrc=iFrame.src,iFrameId=iFrame.id;
		var iFrameDyn=document.createElement('IFRAME');
		iFrameDyn.id=iFrameId;iFrameDyn.src=iFrameSrc;iFrameDyn.width='590';iFrameDyn.height='400';
		iFrameDyn.frameBorder='0';iFrameDyn.allowTransparency='true';iFrameWrapper.innerHTML='';
		iFrameWrapper.appendChild(iFrameDyn);
	}
};
        
// initialize boxes needed for modal popup
var initBoxes = function() {
	// create fade div
	var fade = document.createElement('div');
	var idAttr = document.createAttribute('id');
		idAttr.nodeValue = "fade";
		fade.setAttributeNode(idAttr);
		
	document.body.appendChild(fade);
	
	var pt = $('page-tools');
	
	if (!pt) return;
	
		var pta = pt.getElementsByTagName('h3');
			
			for(var i=0; i<3; i++) {
				var e = pta[i];

				if(!hasFunctionEvent(e,'click')) addEvent(e, 'click', box.Open);
				if(!hasFunctionEvent(e,'focus')) addEvent(e, 'focus', box.Open);
			}
		
		// set modal popup styles
		var elem = getElementsByClassName(document, "div", "modal");

		for(var i=0, il=elem.length; i<il; i++) {
			var e = elem[i]; // div with modal class
			
			e.style.display = 'none';
			e.style.position = 'absolute';
			e.style.top = elmPos.Y(e.parentNode) -4 + 'px';
			e.style.left = elmPos.X(e.parentNode);
			e.style.zIndex = '1002';
		}
			
		var fade = $('fade');
		var wrap = $('wrap');
		var docHeight = document.documentElement.clientHeight;
		var addHeight = 0;
		
		var flashindex = getElementsByClassName(document, "div", "flashindex");
			if (flashindex != null) addHeight = 350;
				
			if (wrap.clientHeight < docHeight) {
				fade.style.height = docHeight + 'px';
			} else {
				if (flashindex.length > 0) {
					fade.style.height = wrap.clientHeight + addHeight + 72 + 'px';
				} else {
					fade.style.height = wrap.clientHeight + 72 + 'px';
				}
			}
			
			
				
		if(!hasFunctionEvent(fade,'click')) addEvent(fade, 'click', 
			function() { 
				fade.style.display = 'none'; 
				var elem = getElementsByClassName(document, "div", "modal"); 
				for(var i=0, il=elem.length; i<il; i++) { 
					elem[i].style.display = 'none'; 
				}
		});
}

// open and close modal box
var box = {
	Open: function() {
		var fade = $('fade'), modal = $(this.className);
			if(!modal) return;
			fade.style.display = 'block';
			modal.style.display = 'block';

			modal.style.top = elmPos.Y(modal.parentNode) -4 + 'px';
	},
	Close: function(elem) {
		var fade = $('fade'), modal = $(elem);
	    $('fade').style.display = 'none';
		$('modal').style.display = 'none';
	}
}


// sitemap
var initSitemap = function() {
		
	var fieldset = $('sitemapbuttons');		
	if (!fieldset) return;
	
		fieldset.style.display = 'block';
		
		// get radio buttons and add events to them
		var radiobuttons = fieldset.getElementsByTagName('input');
		var defaultBtn = radiobuttons[0];
		var expandallBtn = radiobuttons[1];
		var collapseallBtn = radiobuttons[2];
			
			addEvent(defaultBtn, 'click', sitemap.Default);
			addEvent(expandallBtn, 'click', sitemap.ExpandAll);
			addEvent(collapseallBtn, 'click', sitemap.CollapseAll);
			
			// set default layout
			sitemap.Default();
			defaultBtn.checked = true;
			
			// add toggle event to first span in <li class="haschildren">
			var items = getElementsByClassName($('sitemap'), "li", "haschildren");
			
			for(var i=0, il=items.length; i<il; i++) {
				var e = items[i]; // li element with haschildren class
				var span = e.getElementsByTagName('span')[0]; // first anchor in <li class="haschildren">
				
				addEvent(span, 'click', sitemapToggle);
			}
}


var sitemap = {
	Default: function() {
		var elmSitemap = $('sitemap');
		if (!elmSitemap) return;
			
		var lists = elmSitemap.getElementsByTagName('ul'); // get all lists
		
		for(var i=0, il=lists.length; i<il; i++) {
			var rootElem = lists[i].parentNode.parentNode.id;
			if (rootElem != 'sitemap') {
				lists[i].style.display = 'none'; // show first level lists, hide the rest
			} else { // make sure all list items in first level are displayed
				lists[i].style.display = 'block';
			}
		}
		
		var items = getElementsByClassName(elmSitemap, "li", "haschildren"); // get all <li class="haschildren">
		
		for(var i=0, il=items.length; i<il; i++) {
			var e = items[i]; // li element with haschildren class
			var error;
			
			var rootElem = items[i].parentNode.parentNode.id; // identifier for rootElem
			
			var span = e.getElementsByTagName('span')[0]; // first anchor in <li class="haschildren">
			span.className = 'expand';
			if (rootElem == 'sitemap') { span.className = 'collapse'; } // set correct icon for level 1 anchors
		}
	},
	ExpandAll: function() {
		var elmSitemap = $('sitemap');
		if (!elmSitemap) return;
			
		var lists = elmSitemap.getElementsByTagName('ul'); // get all lists
		
		for(var i=0; i<lists.length; i++)
			lists[i].style.display = 'block'; // show all lists
			
		var items = getElementsByClassName(elmSitemap, "li", "haschildren");
		
		for(var i=0, il=items.length; i<il; i++) {
			var e = items[i]; // li element with haschildren class		
			var span = e.getElementsByTagName('span')[0]; // first span in <li class="haschildren">
			
			//addEvent(span, 'click', sitemapToggle);
			span.className = 'collapse'; // set correct icon
		}
	},
	CollapseAll: function() {
		var elmSitemap = $('sitemap');
		if (!elmSitemap) return;
			
		var lists = elmSitemap.getElementsByTagName('ul'); // get all lists
		
		for(var i=0, il=lists.length; i<il; i++)
			lists[i].style.display = 'none'; // hide all lists
		
		var items = getElementsByClassName(elmSitemap, "li", "haschildren");
		
		for(var i=0, il=items.length; i<il; i++) {
			var e = items[i]; // li element with haschildren class			
			var span = e.getElementsByTagName('span')[0]; // first span in <li class="haschildren">
			
			//addEvent(span, 'click', sitemapToggle);
			span.className = 'expand'; // set correct icon
		}
	}
}


// open and close sitemap node
var sitemapToggle = function() {
	var lists = this.parentNode.getElementsByTagName("ul"); // all lists in list item
	for(var i=0, il=lists.length; i<il; i++) {
		var e = lists[i], span = e.parentNode.getElementsByTagName('span')[0];
		//var currsStyle=(e.style.display == 'none')?true:false;
		if (e.style.display == 'none') {
			e.style.display = 'block';
			span.className = 'collapse';
		}
		else {
			e.style.display = 'none';
			span.className = 'expand';
		};
	}
}


// fade effect
var Fade = {
	In: function(uid, opacity) {
		var obj = $(uid);
		if(!obj) return;

		if(opacity <= 100) {
			Fade.setOpacity(obj, opacity);
			opacity += 20;
			fadeTimer = window.setTimeout('Fade.In("'+ uid +'",'+ opacity +')', 20);
		} else {
			Fade.setOpacity(obj, 100);
			window.clearTimeout(fadeTimer);
		}
	},
	setOpacity: function(obj, opacity) {
		if(!obj) return;
		obj.style.filter = 'alpha(style = 0,opacity:' + opacity + ')';
		obj.style.KHTMLOpacity = (opacity/100);
		obj.style.MozOpacity = (opacity/100);
		obj.style.opacity = (opacity/100);
	}
};

// get object coordinates 
var elmPos = {
	X : function(obj) {
		var curleft = 0;
		if(obj.offsetParent) { while(1) { curleft += obj.offsetLeft; if(!obj.offsetParent) break; obj = obj.offsetParent; };
		} else if(obj.x) { curleft += obj.x; }
		return curleft;
	},
	Y : function(obj) {
		var curtop = 0;
		if(obj.offsetParent) { while(1) { curtop += obj.offsetTop; if(!obj.offsetParent) break; obj = obj.offsetParent; };
		} else if(obj.y) { curtop += obj.y; }
		return curtop;
	}
}


// insert content directly after given element
function insertAfter(newElement,targetElement) {

	var parent = targetElement.parentNode; // look for target element's parent
	
	if(parent.lastchild == targetElement) { // if the parents last child is the target element
		parent.appendChild(newElement); // add the new element after the target element
	} else {
		parent.insertBefore(newElement, targetElement.nextSibling); // the target has siblings, insert the new element between the target and it's next sibling
	}
}


/*HIDE AND SHOW FUNCTION*/
function toggleObj(elementID)
{
	var obj = $(elementID);
	if(!obj) return;
	if(obj.style.display == "none") {
		obj.style.display = "block";
	} else {
		obj.style.display = "none";
	}
}

/* INIT EMAIL
----------------------------------------------------*/
function initEmail(){
	var links=getElementsByClassName(document, 'a', 'email');
	var n=links.length;
	for(var i=0; i<n; i++){
		var link=links[i];
		if(link) {
			email=decodeBase64(link.title);
			email2=email.replace(/ /g,'');
			link.href='mailto:'+email2;
			link.title=email2;
			link.innerHTML=email;
		}
	}
}




function setupTable(tableClass)
{
    var oTables = document.getElementsByTagName("table");

    if (!oTables) return;
    
    for (var i=0, il=oTables.length; i<il; i++) {
        if (oTables[i].className.indexOf(tableClass) != -1) {
            var oRows = oTables[i].getElementsByTagName("tr");
            
            if (oRows == null) continue;

        }
    }
}
        
var END_OF_INPUT = -1;
var base64Chars = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/');
var reverseBase64Chars = new Array();
for(var i=0; i < base64Chars.length; i++){
	reverseBase64Chars[base64Chars[i]] = i;
};

var base64Str;
var base64Count;
function setBase64Str(str){
	base64Str=str;
	base64Count=0;
}

function readReverseBase64(){   
	if(!base64Str) return END_OF_INPUT;
	while(true){      
		if(base64Count >= base64Str.length) return END_OF_INPUT;
		var nextCharacter = base64Str.charAt(base64Count);
		base64Count++;
		if(reverseBase64Chars[nextCharacter]){
			return reverseBase64Chars[nextCharacter];
		}
		if(nextCharacter == 'A') return 0;
	}
	return END_OF_INPUT;
}

function ntos(n){
	n=n^9;
	n=n.toString(16);
	if (n.length == 1) n="0"+n;
	n="%"+n;
	return unescape(n);
}

function decodeBase64(str){
	setBase64Str(str);
	var result = "";
	var inBuffer = new Array(4);
	var done = false;
	while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){
		inBuffer[2] = readReverseBase64();
		inBuffer[3] = readReverseBase64();
		result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));
		if (inBuffer[2] != END_OF_INPUT){
			result +=  ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));
			if (inBuffer[3] != END_OF_INPUT){
				result +=  ntos((((inBuffer[2] << 6)  & 0xff) | inBuffer[3]));
			} else {
				done = true;
			}
		} else {
			done = true;
		}
	}
	return result;
}


// Google map controller
var isMapActive = false;
var useGeoCoder = false;
var isACenter = false;
var pageid;
var langCode;
var geocoder;

	function initMap()
	{
		if(isMapActive)
		{
		
			loadMap();
			if(useGeoCoder)
			{
				if(!geocoder)
				{
					geocoder = new GClientGeocoder();
				}
			}
		}	
	}

var marker;
function addAddressToMap(response) {
  //map.clearOverlays();
  if (!response || response.Status.code != 200) {
    alert("Sorry, we were unable to geocode that address. Please improve the address information.");
  } else {
  
    place = response.Placemark[0];
    point = new GLatLng(place.Point.coordinates[1],
                        place.Point.coordinates[0]);
    marker = new GMarker(point);
    if(!isACenter)
    {
		
		map.setCenter(point, 9);
		isACenter = true;
    }
  
    // add the coordinates to the page
    addCoordinatesToPage(place.Point.coordinates[1], place.Point.coordinates[0], pageid);
  }
}

function showLocation(address) {
	if(geocoder)
	{
		geocoder.getLocations(address, addAddressToMap);
	}
}

/*Web Service that will add the coordinates to the page*/
function addCoordinatesToPage(longitude, latitude, pageid)
{
	Securitas.Services.GoogleMapService.SetCoordinatesOnAddress(longitude, 
	latitude, pageid, langCode, handleReturnValue);
}

function handleReturnValue(returnvalue)
{
	map.addOverlay(marker);
	GEvent.addListener('marker', 'click', 
		function()
		{
			marker.openInfoWindowHtml( returnvalue + 
			'<br />' +  place.address + ' <br />' +
			 place.AddressDetails.Country.CountryNameCode);
		}
		);
}

var getViewport={
    Height:function()
    {
        if(typeof window.innerHeight!='undefined')
        {
            return window.innerHeight
        }
        else if(typeof document.documentElement != 'undefined'
                && typeof document.documentElement.clientHeight != 'undefined'
                && document.documentElement.clientHeight)
        {
            return document.documentElement.clientHeight
        }
    },
    Width:function()
    {
        if(typeof window.innerWidth != 'undefined')
        {
            return window.innerWidth
        }
        else if(typeof document.documentElement!='undefined'
                && typeof document.documentElement.clientWidth != 'undefined'
                && document.documentElement.clientWidth)
        {
            return document.documentElement.clientWidth
        }
    }
};

var Cookie={
	Create: function(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=/'},
	Read: function(name){var nameEQ=name+'=',ca=document.cookie.split(';');for(var i=0,n=ca.length;i<n;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},
	Remove: function(name){Cookie.Create(name,'',-1)}
};


//function CloseSplash()
//{
//    var fadeDiv = document.getElementById("fade");
//    if (fadeDiv != null)
//    {
//        fadeDiv.style.display = "none";               
//    }
//    
//    var splashDiv = document.getElementById("DivLanguageSelectSplash");
//    if (splashDiv != null)
//    {
//        splashDiv.style.display = "none";
//    }
//}

function ShowSplash()
{
    /*var fadeDiv = document.getElementById("fade");
    if(fadeDiv != null)
    {
        fadeDiv.style.display = "block";               
    }*/
    
    var splashDiv = $("langselectsplash");
    if (splashDiv != null)
    {
        splashDiv.style.display = "block";
        splashDiv.style.width = '960px';
        splashDiv.style.top = '0';
        
        var fade = $('langsplashfade');
        
        fade.style.width = '960px';
        
        var yCordTop = elmPos.Y($('header'));
        var yCordBottom = elmPos.Y($('footer')) + 105;
        var xCordLeft = elmPos.X($('header'));
        
        var isIE = /*@cc_on!@*/false;
        if (isIE) {
			xCordLeft = xCordLeft + 9;
			yCordBottom = yCordBottom + 2;
		}
		
		if (BrowserDetect.browser == 'Firefox' && BrowserDetect.version <3) {
			xCordLeft = xCordLeft + 9;
			yCordBottom = yCordBottom + 2;
		}
		
		/*if (BrowserDetect.browser == 'Firefox' && BrowserDetect.OS=='Mac' && BrowserDetect.version <4) {
			yCordBottom = yCordBottom + 47;
		}*/
		
		if (BrowserDetect.browser == 'Safari') {
			yCordBottom = yCordBottom + 47;		
		}
		
        
        fade.style.top = yCordTop + 'px';
        fade.style.left = xCordLeft + 'px';
        fade.style.height = yCordBottom-yCordTop + 'px';
        
        var bwidth = getViewport.Width();
        var bheight = getViewport.Height();
        splashDiv.style.left = xCordLeft + 'px';
        //splashDiv.style.left = bwidth/2 - splashDiv.offsetWidth/2 - 12 + "px";
        splashDiv.style.top = ((document.documentElement.scrollTop + bheight/2) - splashDiv.offsetHeight/2)-40 +  "px";
        
        var htmlElm = document.getElementsByTagName('html')[0];
        var bodyElm = document.getElementsByTagName('body')[0];
        
        htmlElm.style.overflow='hidden';
        bodyElm.style.overflow='hidden';
    }
}

// detect browsers
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


/* ADD LINK TO SECURITAS LOGO
----------------------------------------*/
var addLinkToPartnerlogo=function(){
	var tools = $('tools'); if (!tools) return;
	var fieldset = tools.getElementsByTagName('fieldset')[0];
	fieldset.style.background = 'none';
	
	var a = document.createElement('A');
	a.setAttribute('href', 'http://www.securitas.com');
	a.setAttribute('title', 'www.securitas.com');
	fieldset.appendChild(a);
	
	var img = document.createElement('IMG');
	img.setAttribute('src', '/gfx/pinkerton/securitas-logo.png');
	img.setAttribute('alt', 'Go to securitas.com');
	a.appendChild(img);
	a.style.position = 'relative';
	a.style.zoom = '1';
	a.style.left = '188px';
	a.style.top = '-87px';
}