//set onload action

window.onload = pageInit
window.onunload = pageExit

/* global constants */
var PRODUCT_OVERVIEW_FORM = "columnBCD.prodOverview.prodCat"

//create browser object
if (!window.oClient) oBrowser = new browser()
else oBrowser = window.oClient

//set the resize function for ns4
dapi_watchResize()

//checking wether to use static of dynamic navigation
if ((oBrowser.ns4 && oBrowser.minor<4.5) ||
(oBrowser.ns6 && oBrowser.minor<5) ||
(oBrowser.mac && oBrowser.ie && oBrowser.minor<5.1) || 
(oBrowser.opera) ||
(!oBrowser.ie && !oBrowser.ns)){
	USE_STATIC = true
}
/*preload*/
//oSwapHome = new makeImage(sHomeUrl,60,29)
//oSwapContacts = new makeImage(sContactsUrl,60,29)
//oSwapSearch = new makeImage(sSearchUrl,60,29)
//oSwapLanguage = new makeImage(sLanguageUrl,60,29)
//oSwapSitemap = new makeImage(sSitemapUrl,60,29)

function pageInit(){
//scroll must be initiated _before_ navigation
	if (typeof(scroll_Init)=="function") scroll_Init()
	if (typeof(customOnload_Init)=="function") customOnload_Init()
	if (oClient.ns4 && !window.IGNORE_NAV) getNavigation()

	if (typeof(ie6FormFix)=="function") ie6FormFix()
	if (typeof(prodOverview_Init)=="function") prodOverview_Init()
	if (typeof(inline_Init)=="function") inline_Init()

//	oHome = new wrapImage("toolHome",oSwapHome,"document.layers['frameworkLeft']")
//	oContacts = new wrapImage("toolContacts",oSwapContacts,"document.layers['frameworkLeft']")
//oLanguage = new wrapImage("toolLanguage",oSwapLanguage,"document.layers[\"frameworkLeft\"]")
 //   oSearch = new wrapImage("toolSearch",oSwapSearch,"document.layers['frameworkLeft']")
//	oSitemap = new wrapImage("toolSitemap",oSwapSitemap,"document.layers['frameworkLeft']")	
}

function getNavigation(sUrl) {
	sUrl = sUrl || window.sSnakeUrl
	if (!sUrl){
		alert("can't load navigation")
		return false
	}	
	oNavContainer = new wrapLayer("navigationContainer","oNavContainer")
	oNavContainer.layer.src	= sUrl
}


function ie6FormFix(){
	if (oBrowser.ie6up){
		oInput = document.getElementsByTagName("INPUT")
		for (i=0;i<oInput.length;i++){
			if (oInput[i].type=="text"){
				oInput[i].style.width = oInput[i].offsetWidth - 12 //Why 12? half should do it, but 12 seems to do the trick...
			}		
		}
	}
}

aCustomOnloadFunctions = new Array()
function addCustomOnload(sFunc){
	aCustomOnloadFunctions[aCustomOnloadFunctions.length] = (typeof(sFunc)=="string")?new Function(sFunc):sFunc; //if the function is an object
}
function customOnload_Init(){
	for (var i=0;i<aCustomOnloadFunctions.length;i++){ 
		aCustomOnloadFunctions[i]()
	}
}

aCreateScrollElements = new Array()
function scroll_Init(sDiv,sNest){
	if (sDiv){
		aCreateScrollElements[aCreateScrollElements.length] = [sDiv,sNest]
	} else {
		for (var i=0;i<aCreateScrollElements.length;i++){
			init_ScrollElement(aCreateScrollElements[i][0],aCreateScrollElements[i][1])
		}
	}
}

aScrollNests = new Array()
aScrollElements = new Array()
function init_ScrollElement(sDiv,sNest){
	if (sNest && !aScrollNests[sNest]){
		aScrollNests[sNest] = new wrapLayer(sNest,"aScrollNests[\""+sNest+"\"]")
	} 
	if (!aScrollElements[sDiv]){
		oNest = (sNest)?window.aScrollNests[sNest]:false;
		aScrollElements[sDiv] = new wrapLayer(sDiv,"aScrollElements['"+sDiv+"']",oNest)
		aScrollElements[sDiv].createScroll(true)
	} else {
		alert("This object ("+sDiv+") already has a scroll")
	}
}

function pageExit(){
//Can we clean something up?
}

var oPressReleaseWin
function showPR(sUrl){
	if (window.oPressReleaseWin && !window.oPressReleaseWin.closed){
		oPressReleaseWin.document.location = sUrl
	} else if (!window.oPressReleaseWin || window.oPressReleaseWin.closed){
		oPressRelaseWin = openWindow("PressReleaseWindow",sUrl,600,0.8,0.5,0.5,false,"scrollbars,resizable,menubar")
	}
	if (window.oPressReleaseWin && !window.oPressReleaseWin.closed) oPressReleaseWin.focus()
}

var oPrinterFriendlyWin
function showPF(sUrl){
	if (window.oPrinterFriendlyWin && !window.oPrinterFriendlyWin.closed){
		oPrinterFriendlyWin.document.location = sUrl
	} else if (!window.oPrinterFriendlyWin || window.oPrinterFriendlyWin.closed){
		oPrinterFriendlyWin = openWindow("PrinterFriendlyWindow",sUrl,615,0.8,0.5,0.5,false,"scrollbars,resizable,menubar")
	}
	if (window.oPrinterFriendlyWin && !window.oPrinterFriendlyWin.closed) oPrinterFriendlyWin.focus()
}

var oImageDetailWin
function showImage(sUrl){
	if (window.oPrinterFriendlyWin && !window.oPrinterFriendlyWin.closed){
		oPrinterFriendlyWin.document.location = sUrl
	} else if (!window.oPrinterFriendlyWin || window.oPrinterFriendlyWin.closed){
		oPrinterFriendlyWin = openWindow("PrinterFriendlyWindow",sUrl,780,0.8,0.5,0.5,false,"scrollbars,resizable")
	}
	if (window.oPrinterFriendlyWin && !window.oPrinterFriendlyWin.closed) oPrinterFriendlyWin.focus()
}

function initHome(){
	if (!oClient.ie4 || (oClient.ie4 && document.all["navigationContainer"].tagName)){
		oNav = new wrapLayer("navigationContainer","oNav")
		//alert(oNav)
	} else {
		oNav = new wrapLayer(document.all.navigationContainer[0],"oNav")
	}
	oHomeBox = new wrapLayer("homeBox","oHomeBox")
	if (typeof(oHomeBox.layer.onmouseleave)=="object") oHomeBox.addEvent("onmouseleave",new Function("hideHome(event,true)"))
	else oHomeBox.addEvent("onmouseout",new Function("e","hideHome(e)"),true)
}

function callLink(sUrl){
	location = sUrl
}

function showHome(){
	if (!window.oHomeBox) initHome()
	oHomeBox.layerVis(true)
	if ((!oClient.ie6up && !oClient.ns4up) || oClient.ns5) oNav.layerVis(false) 
	if (oClient.opera) alert(oNav.layer.style.display)
	oHomeBox.autoHide = setTimeout("hideHome(true,true)",10000)
	return false
}

function hideHome(e,bClear){
	e = e || event;
	eB = false
	if (!bClear){
		eB = true
		if (oClient.ns4){
			if (e.target.id==oHomeBox.id) eB = false
		} else if (!oClient.ie){
			if (e.relatedTarget){
				eB = oHomeBox.layer.contains(e.relatedTarget)
			}
		} else {
			eB = oHomeBox.layer.contains(e.toElement)
		}
	}

	if (!eB){
		clearTimeout(oHomeBox.autoHide)
		oHomeBox.layerVis(false)
		if ((!oClient.ie6up && !oClient.ns4up) || oClient.ns5) oNav.layerVis(true) 
	}
}

function markHomeElement(oObj,bMark,bOperaCall){
	if (bOperaCall && !oClient.opera){
		return false
	} else if (bOperaCall && oClient.opera){
		oObj = oObj.parentNode
	}
	if (!oClient.ns4){
		if (bMark){		
			oObj.className = "homeElementActive" 
			if (oClient.opera && bOperaCall){
				oObj.style.backgroundColor = "000066"
				oObj.style.textColor = "ffffff"
			}
		} else {
			oObj.className = "homeElement"
			if (oClient.opera && bOperaCall){
				oObj.style.backgroundColor = "dddddd"
				oObj.style.textColor = "000000"
			}
		}
	}
}

function tableruler()
{
	if (document.getElementById && document.createTextNode)
	{
		var tables=document.getElementsByTagName('table');
		for (var i=0;i<tables.length;i++)
		{
			if(tables[i].className=='ruler')
			{
				var trs=tables[i].getElementsByTagName('tr');
				for(var j=0;j<trs.length;j++)
				{
					if(trs[j].parentNode.nodeName=='TBODY')
					{
						trs[j].onmouseover=function(){this.className='ruled';return false}
						trs[j].onmouseout=function(){this.className='';return false}
					}
				}
			}
		}
	}
}