// global variables
var toggleTimer = null, toggleTimer2 = null, toggleTimer3 = null, toggleTimer4 = 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();

	
	
	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");
		if (ss.style) {
			ss.style.top = '100%';
			ss.style.display = 'block';
		}
		var ssPos = elmPos.X(ssli);
		if (ssPos > 802) { ss.style.left = '-285px'; }

		if (fade == 0 && ssli.className == '') {
			Fade.In(ss.id, 4);
			ssli.className = 'selected';
		
		showHideMap(false);

		}

	},
	Hide: function() {
		var ss = $("siteselector"), ssli = $("siteselector-li");

		ss.style.display = 'none';
		ssli.className = '';

		showHideMap(true);

	}
}

function showHideMap(show) {
	var mapcanvas = $('mapcanvas');
	if (!mapcanvas) { return; }
	toggleObj(mapcanvas.id);
	var gobackbtn = $('gobackwrapper');
	
	if (show) {
		if (!gobackbtn) { showHideRegionMarkers(true); }
		if (gobackbtn.style.display == 'block') {
			showHideRegionMarkers(false); 
		}

		removeRegions();
		addRegions();
	}
	else {
		showHideRegionMarkers(false)
	}
}

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) {
			var attr = link.attributes["title"];
			if (attr != null) {
				email = decodeBase64(attr.value);
				email2=email.replace(/ /g,'');
				link.href='mailto:'+email2;
				attr = 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','+','http://www.securitas.com/');
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 FUNCTIONS 
************************************************/
// 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) {

	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 ShowSplash()
{
    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 == '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();