/* Init scripts */
		window.onload = function() {
			
			/* replace headers */
			//initSIFR();
			
			/* init marquee area */
			//marquee('focus-box','li',false,'a',10,8000,20);
			marquee('focus-box','li',false,'y',10,8000,20);
			/* init gallery navigation */
			initGalleryNav();
			initAngleNav();
			
			/* init possible forms */
			if (typeof initForms == "function") initForms();
			
			/* init possible tables */
			initObjectList();
			initSearchResults()
		}
		
/* sIFR init */

		/*function initSIFR() {
			if(typeof sIFR == "function"){
				sIFR.replaceElement(".popup h1", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansregular.swf", sColor: "#69584D", sWmode: "transparent"}));
				sIFR.replaceElement("#titlebar-nav .header h1", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansregular.swf", sColor: "#FFFFFF", sWmode: "transparent",sFlashVars:"textalign=right"}));
				sIFR.replaceElement("#global-nav .header h1", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansregular.swf", sColor: "#C2B4A7", sWmode: "transparent",sFlashVars:"textalign=right"}));
				sIFR.replaceElement("#global-nav .header h3", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansbold.swf", sColor: "#C2B4A7", sWmode: "transparent",sFlashVars:"textalign=right"}));
				sIFR.replaceElement("#titlebar-nav h3", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansbold.swf", sColor: "#FFFFFF", sWmode: "transparent",sFlashVars:"textalign=right"}));
				sIFR.replaceElement("#titlebar-nav .image h1", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansregular.swf", sColor: "#FFFFFF", sWmode: "transparent", sCase:"upper",sFlashVars:"textalign=left"}));
				sIFR.replaceElement("#main-image h1", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansregular.swf", sColor: "#69584D", sWmode: "transparent",sFlashVars:"textalign=left"}));
				sIFR.replaceElement("#content h1", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansregular.swf", sColor: "#69584D", sWmode: "transparent",sFlashVars:"textalign=right&offsetTop=-3"}));
				sIFR.replaceElement("#image-gallery h1", named({sFlashSrc: "/skanska_rdn/utils/sifr/skanskasansregular.swf", sColor: "#69584D", sWmode: "transparent",sFlashVars:""}));
			};
		}*/

		
/* Object list init */

		function initObjectList() {
			if (document.getElementById("object-list-data")) {
				var rows = document.getElementById("object-list-data").getElementsByTagName("tr");
				for (var i=0;i<rows.length;i++) {
					if (rows[i].getElementsByTagName("a").length>0) {
						rows[i].onmouseover = function() {
							addClass(this,"over");
						}
						rows[i].onmouseout = function() {
							remClass(this,"over");
						}
						rows[i].onclick = function() {
							var elms = this.getElementsByTagName("td");
							var a = false;
							for (var i=0;i<elms.length;i++) {
								if (elms[i].className.indexOf("nr")!=-1) a = elms[i].getElementsByTagName("a")[0];
							}
							if (a) location.href = a.href;
						}
					}
				}
			}
		}

/* Search result init */

	function initSearchResults() {
		if (document.getElementById("search-results-data")) {
			var rows = document.getElementById("search-results-data").getElementsByTagName("tr");
			for (var i=0;i<rows.length;i++) {
				
					var elms = rows[i].getElementsByTagName("td");
					var img = false;
					for (var j=0;j<elms.length;j++) {
						if (elms[j].className.indexOf("project")!=-1) img = elms[j].getElementsByTagName("img")[0];
					}
					if (img) {
						img.onmouseover = function() {
							showPreview(this);
						}
						img.onmouseout = function() {
							showPreview();
						}
					}
					
					rows[i].onmouseover = function() {
						addClass(this,"over");
					}
					rows[i].onmouseout = function() {
						remClass(this,"over");
					}
					rows[i].onclick = function() {
						var elms = this.getElementsByTagName("td");
						var a = false;
						var target = "";
						for (var i=0;i<elms.length;i++) {
							if (elms[i].className.indexOf("project")!=-1)
							{
							    a = elms[i].getElementsByTagName("a")[0];
							    target = elms[i].getElementsByTagName("a")[0].getAttribute("target");
							}
						}
						if(target=="")
						{
						    if (a) location.href = a.href;
						}else{
						    if (a)
						    {
						        window.open(a.href);
						    }
						}
					}
				}
		}
	}
	
	function showPreview(o) {
		
		if (o) {
		
			// get preview image
			var imgs = o.parentNode.getElementsByTagName("img");
			var img = false;
			for (var i=0;i<imgs.length;i++) {
				if (imgs[i].className=="preview") img = imgs[i];
			}
			if (img) {
				// find or create preview layer
				if (document.getElementById("search-preview")) {
					var elm = document.getElementById("search-preview");
				} else {
					var elm = document.createElement("div");
					elm.setAttribute("id","search-preview");
					document.getElementsByTagName("body").item(0).appendChild(elm);
				}
				
				// reset contents
				elm.innerHTML = "";
				
				// create shadow
				var shadow = document.createElement("div");
				shadow.className = "inner";
				elm.appendChild(shadow);
				
				// load preview image
				img = img.cloneNode(true);
				shadow.appendChild(img);
				
				// position layer
				elm.style.left = getAbsLeft(o) + parseInt(o.offsetWidth) + "px";
				elm.style.top = getAbsTop(o) + "px";
				
				// show layer
				elm.style.display = "block";
			} else {
				elm.style.display = "none";
			}
		} else {
			// hide layer if visible
			if (document.getElementById("search-preview")) {
				document.getElementById("search-preview").style.display = "none";
			}
		}
	}

	
/* Gallery methods */
		
		function initGalleryNav() {

			if (document.getElementById("gallery-thumbs")) {
				var nodes = document.getElementById("gallery-thumbs").getElementsByTagName("a");
				
				var aNodes = false;
				if (document.getElementById("blueprint-angles")) {
					aNodes = document.getElementById("blueprint-angles").getElementsByTagName("a");
					if (nodes.length!=aNodes.length) aNodes = false
				}
				
				for (var i=0;i<nodes.length;i++) {
					nodes[i].aNode = (aNodes)? aNodes[i]:false;
					nodes[i].onclick = function() {
                        if(document.all){
                            // IE-support
						    galleryNav(this, this.innerText);
                        } else{
                            // Firefox-support
						    galleryNav(this, this.textContent);
                        }
						return false;
					}
				}
				
				// At startup set link for the first image
			    if (nodes.length > 0)
			    {
                    if(document.all){
                        // IE-support
        				galleryNav(nodes[0], nodes[0].innerText);
                    } else{
                        // Firefox-support
        				galleryNav(nodes[0], nodes[0].textContent);
                    }
			    }
				
				if (document.getElementById("gallery-nav")) {
					if (nodes.length<=1) document.getElementById("gallery-nav").style.display = "none";
					nodes = document.getElementById("gallery-nav").getElementsByTagName("a");
					for (var i=0;i<nodes.length;i++) {
						nodes[i].onclick = function() {
							var n = (this.className=="prev")? -1:1;
							galleryStep(n);
							this.blur();
							return false;
						}
					}
				}
			}
		}
		function galleryStep(n) {
			var nodes = document.getElementById("gallery-thumbs").getElementsByTagName("li");
			var cNode = 0;
			for (var i=0;i<nodes.length;i++) {
				if (nodes[i].className.indexOf("sel")!=-1) {
					cNode = i;
					break;
				}		
			}
			cNode = (cNode+n<0)? nodes.length-1 : (cNode + n)%nodes.length;
			if(nodes[cNode].getAttribute("iuse")=="true")
			{
			    setText(nodes[cNode].getAttribute("iheading"),nodes[cNode].getAttribute("itext"));
			}
			
            if(document.all){
                // IE-support
				galleryNav(nodes[cNode].getElementsByTagName("a")[0], nodes[cNode].getElementsByTagName("a")[0].innerText);
            } else{
                // Firefox-support
				galleryNav(nodes[cNode].getElementsByTagName("a")[0], nodes[cNode].getElementsByTagName("a")[0].textContent);
            }
		}
		function galleryNav(node, link) {
			node.blur();
			gallerySelect(node);
			if (node.aNode) angleSelect(node.aNode);
			replaceMainImg(node.href, link);
		}
		function gallerySelect(node) {
			var nodes = document.getElementById("gallery-thumbs").getElementsByTagName("li");
			//itext, iheading
			for (var i=0;i<nodes.length;i++) {
				if (nodes[i].className.indexOf("sel")!=-1 && nodes[i]!=node.parentNode)
				{
				    remClass(nodes[i],"sel");
				}
				else if (nodes[i]==node.parentNode) addClass(node.parentNode,"sel");
			}
		}
		
/* Blueprint methods */
		function initAngleNav() {
			if (document.getElementById("blueprint-angles")) {
				var nodes = document.getElementById("blueprint-angles").getElementsByTagName("a");
				var gNodes = false;
				if (document.getElementById("gallery-thumbs")) {
					gNodes = document.getElementById("gallery-thumbs").getElementsByTagName("a");
					if (nodes.length!=gNodes.length) gNodes = false
				}
				
				for (var i=0;i<nodes.length;i++) {
					nodes[i].gNode = (gNodes)? gNodes[i]:false;
					nodes[i].onclick = function() {
						angleNav(this);
						return false;
					}
				}
			}
		}
		function angleNav(node) {
			node.blur();
			angleSelect(node);
			if (node.gNode) gallerySelect(node.gNode);
			replaceMainImg(node.href);
		}
		function angleSelect(node) {
			var nodes = document.getElementById("blueprint-angles").getElementsByTagName("a");
			for (var i=0;i<nodes.length;i++) {
				if (nodes[i].className.indexOf("sel")!=-1 && nodes[i]!=node) remClass(nodes[i],"sel");
				else if (nodes[i]==node) addClass(node,"sel");
			}
		}

/* Frontpage flash */

		/*function frontpageFlash() {
			var str = 	'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="560" height="318" id="front_test" align="middle">';
			str +=		'<param name="allowScriptAccess" value="sameDomain" />';
			str +=		'<param name="movie" value="flash/front_test.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="wmode" value="transparent" />';
			str +=		'<embed src="flash/front_test.swf" quality="high" bgcolor="#ffffff" width="560" height="318" name="front_test" wmode="transparent" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
			str +=		'</object>';
			document.writeln(str);
		}*/

/* Generic methods */

//		function replaceMainImg(url) {
//			if (document.getElementById("main-image")) {
//				var o = document.getElementById("main-image");
//				
//				o.innerHTML = "";
//				var img = document.createElement("img");
//				img.src = url;
//				o.appendChild(img);
//				
//			}
//		}

		function replaceMainImg(imageUrl, imageLink) {
			if (document.getElementById("main-image")) {
				var o = document.getElementById("main-image");
				
				o.innerHTML = "";
				var img = document.createElement("img");
				img.src = imageUrl;

                // Check if imageLink is undefined or empty (after whitespace is removed)
                if ((imageLink == undefined) || (imageLink.replace(/^\s+|\s+$/g,'') == ""))
                {
    				o.appendChild(img);
				}
				else
				{
				    var a = document.createElement("a");

				    a.setAttribute("href", imageLink);
                    a.appendChild(img);
    				o.appendChild(a);
				}
			}
		}

/* Helper methods */
		
		function addClass(o,str) {
			remClass(o,str);
			o.className += " " + str;
		}
		function remClass(o,str) {
			o.className = o.className.replace(str,"");
			o.className = o.className.replace(/' '{2,}/gi," ");
		}
		
		
		function getAbsLeft(o) {  
			var iY = 0; 
			while(o.offsetParent){ 
				iY += parseInt(o.offsetLeft);
				o = o.offsetParent;  
			} 
			return iY; 
		} 
		
		function getAbsTop(o) {  
			var iX = 0; 
			while(o.offsetParent){ 
				//window.status += o.offsetParent.nodeName + "=" + o.offsetTop + " | "; 
				iX += parseInt(o.offsetTop);  
				o = o.offsetParent;  
			} 
			return iX
		}
		
		function displayPopup(HTMLPage, w, h, toolbar, location, directories, status, menubar, scrollbars, resizable, copyhistory) {
    var Xwin = 0;
	var Ywin = 0;
        if (parseInt(navigator.appVersion) >= 4) {
            Xwin = (screen.availWidth - w)*.5;
                Ywin = (screen.availHeight - h)*.5;
        }
	displayWindow = window.open(HTMLPage,'displayWindow','toolbar='+toolbar+',location='+location+',directories='+directories+',status='+status+',menubar='+menubar+',scrollbars='+scrollbars+',resizable='+resizable+',copyhistory='+copyhistory+',width='+w+',height='+h+',left='+Xwin+',top='+Ywin);
	if(displayWindow.opener == null) displayWindow.opener = self;
}