/* (C) 2006,2007 Stegmann Systems (www.aps-info.de) */

var SLIDER_SHOWTOOLTIP = false;

var m_bBrowserIsOpera = bb.browser.opera;
var m_bBrowserIsFirefox3 = (bb.browser.gecko && bb.browser.version=="1.9"); 

function onWindowResized() {
	enOrDisableNavmenuScrollers();
	var bIsBrowsingContainerVisible = false;
	
	var bbBrowsing = bb.document.getElementById('browsingContainer');
	if (bbBrowsing) {
		var htBrowsing = bbBrowsing.viewNode;
		var bbBrowsingDisp = bb.html.getStyle(htBrowsing, 'display');
		bIsBrowsingContainerVisible = (bbBrowsingDisp!='none');
	}
	if (bIsBrowsingContainerVisible===true) {
		//Browsing Container da
		bb.command.setStyle(bb.document.getElementById('contentContainer'), {'height':(getBodyHeight()-document.getElementById('headerContainer').clientHeight-document.getElementById('browsingContainer').clientHeight)+'px'});
	}
	else {
		//nicht da
		bb.command.setStyle(bb.document.getElementById('contentContainer'), {
			'height': (getBodyHeight() - document.getElementById('headerContainer').clientHeight) + 'px'
		});	
	}
}

function onShowNode(node) {
	if (node.id == 'suggestBox') {
		node.style.top = (document.getElementById('headerContainer').clientHeight + document.getElementById('search').clientHeight) + 'px'
	}
}

function onBeforeAnyNode(node) {
	enOrDisableNavmenuScrollers();
	if(m_bBrowserIsFirefox3 || m_bBrowserIsOpera) {
		if (!m_bBrowserIsOpera) {
			if (document.getElementById('headerContainer')) {
				document.getElementById('headerContainer').style.backgroundImage = "url('/images/customer/headerbg2.gif')";
			}
			if (document.getElementById('searchPanel')) {
				document.getElementById('searchPanel').style.width = '185px';
			}
		}
		if (document.getElementById('pattern')) {
			document.getElementById('pattern').style.width = '100px';
		}
		
	}
}

function onBeforeNode_infotext(node) {
	if (node.childNodes.length > 0) {
		setOverflow('contentContainer', 'auto');
		showDiv('browsingContainer', false);
		showDiv('footer', true);
		showDiv('result', false);
		showDiv('navmenuContainer', true);
		if (m_bBrowserIsFirefox3) {
			bb.document.getElementById('centerPanelLayout').setAttribute('columns', '185px 382px 190px *');			
		}
		else if (m_bBrowserIsOpera) {
			document.getElementById('stripeInLogoHider').style.left='751px';
			bb.document.getElementById('centerPanelLayout').setAttribute('columns', '185px 379px 190px *');
		}
		else {
			bb.document.getElementById('centerPanelLayout').setAttribute('columns', '190px 379px 190px *');
		}
		bb.command.setStyle(bb.document.getElementById('milddleContentContainer'), {'padding-top':'0px'});
		bb.command.setStyle(bb.document.getElementById('contentContainer'), {
			'height': (getBodyHeight() - document.getElementById('headerContainer').clientHeight) + 'px'
		});	
	}
}

function onBeforeNode_result(node) {
	if (node.childNodes.length > 0) {
		bb.command.trace(null, document.getElementById('contentContainer').scrollTop+"px");
		
		//Fix: AKHIF-133
		if (typeof(document.getElementById('contentContainer').scrollTop) == 'number') {
			if (document.getElementById('contentContainer').scrollTop > 0) {
				document.getElementById('contentContainer').scrollTop = 0;
			}
		}
		if (typeof(document.getElementById('contentContainer').scrollLeft) == 'number') {
			if (document.getElementById('contentContainer').scrollLeft > 0) {
				document.getElementById('contentContainer').scrollLeft = 0;
			}
		}
		
		showDiv('browsingContainer', true);
		showDiv('footer', false);
		showDiv('infotext', false);
		showDiv('navmenuContainer', false);
		var bodyWidth = getBodyWidth();
		var maxCols = Math.floor(bodyWidth / 190);
		var centerCols = ((maxCols - 2) > 0)?(maxCols - 2):1;
		var centerWidth = (centerCols * 190) -1;
		var nColWidth = 190;
		if (m_bBrowserIsFirefox3) {
			centerWidth=centerWidth+centerCols;
			nColWidth = 188;
		}
		else if (m_bBrowserIsOpera) {
			centerWidth=1+centerWidth-centerCols;
		}
		var centerWidthCSS = centerWidth + 'px';
		
		bb.document.getElementById('centerPanelLayout').setAttribute('columns', (nColWidth+'px ') +centerWidthCSS+ ' 0px *');
		bb.command.setStyle(bb.document.getElementById('milddleContentContainer'), {'padding-top':document.getElementById('browsingContainer').clientHeight+'px'});
		bb.command.setStyle(bb.document.getElementById('contentContainer'), {'height':(getBodyHeight()-document.getElementById('headerContainer').clientHeight-document.getElementById('browsingContainer').clientHeight)+'px'});		
	}
}


function enOrDisableNavmenuScrollers() {
	var oContainerNode = document.getElementById('navmenuContainer');
	var oTopScrollDiv = document.getElementById('navmenuTopScroller');
	var oBottomScrollDiv = document.getElementById('navmenuBottomScroller');
	if (oContainerNode.scrollHeight > oContainerNode.clientHeight) {
		if (oContainerNode.scrollTop > 0) {
			oTopScrollDiv.style.display='block';
			oTopScrollDiv.style.top = oContainerNode.scrollTop-2 + 'px';
		}
		else {
			oTopScrollDiv.style.display='none';
		}
		if (oContainerNode.scrollTop < (oContainerNode.scrollHeight - oContainerNode.clientHeight)) {
			oBottomScrollDiv.style.display = 'block';
			oBottomScrollDiv.style.top = (oContainerNode.clientHeight - oBottomScrollDiv.clientHeight) + 'px';
		}
		else {
			oBottomScrollDiv.style.display = 'none';
		} 
	}
	else {
		oTopScrollDiv.style.display="none";
		oBottomScrollDiv.style.display="none";
		cancelNavmenuScrolling();
	}
}

var nScrollNavMenuIntervalRef = undefined;


function scrollNavmenuDown() {
	cancelNavmenuScrolling();
	var oBbNavCotainer = bb.document.getElementById('navmenuContainer');
	bb.command.setStyle(oBbNavCotainer, {'cursor':'s-resize'});
	var tiles = bb.evaluateSmart("[.//a]", oBbNavCotainer);
	for (var i=0; i<tiles.length; i++) {
		bb.command.setStyle(tiles[i], {'cursor':'inherit'});
	}
	nScrollNavMenuIntervalRef = window.setInterval("scrollNavmenu(5)", 2);
}

function scrollNavmenuUp() {
	cancelNavmenuScrolling();
	var oBbNavCotainer = bb.document.getElementById('navmenuContainer');
	bb.command.setStyle(oBbNavCotainer, {'cursor':'n-resize'});
	var tiles = bb.evaluateSmart("[.//a]", oBbNavCotainer);
	for (var i=0; i<tiles.length; i++) {
		bb.command.setStyle(tiles[i], {'cursor':'inherit'});
	}
	nScrollNavMenuIntervalRef = window.setInterval("scrollNavmenu(-5)", 2);
}

function scrollNavmenu(nStepWidth) {
	if (nStepWidth === 0 || typeof(nStepWidth) != 'number') {
		nStepWidth = -1;
	}
	var oContainerNode = document.getElementById('navmenuContainer');
	enOrDisableNavmenuScrollers();
	var nOldScrollTopVal = parseInt(oContainerNode.scrollTop);
	var nNewScrollTopVal = nOldScrollTopVal + nStepWidth;
	oContainerNode.scrollTop = nNewScrollTopVal;
	if (oContainerNode.scrollTop <= 0 || oContainerNode.scrollTop >= (oContainerNode.scrollHeight - oContainerNode.clientHeight)) {
		cancelNavmenuScrolling();
	}	
}

function cancelNavmenuScrolling() {
	oBbNavCotainer = bb.document.getElementById('navmenuContainer');
	bb.command.setStyle(oBbNavCotainer, {'cursor':'auto'});
	var tiles = bb.evaluateSmart("[.//a]", oBbNavCotainer);
	for (var i=0; i<tiles.length; i++) {
		bb.command.setStyle(tiles[i], {'cursor':'pointer'});
	}
	
	if (nScrollNavMenuIntervalRef != undefined) {
		window.clearInterval(nScrollNavMenuIntervalRef);
		nScrollNavMenuIntervalRef = undefined;
	}
}

function onAfterAnyNode(node) {
	var nodeName = node.nodeName;
	if ((nodeName == 'infotext' || nodeName=='result') && node.childNodes.length > 0) {
        var oPrintNode = document.getElementById('print');
        var sPrintContents = document.getElementById(nodeName).innerHTML;
        sPrintContents = sPrintContents.replace(/id="([^"]+)/g, "id=print_$1");
        oPrintNode.innerHTML = sPrintContents;							
	}
}

