function openToolWindow(/*A Href*/button,/*String*/link) {
	if (trackDownload) { trackDownload(link); }
	toolwin = window.open(link,"tools","width=610,height=620,left=0,top=0,resizable=yes,scrollbars=yes");
	button.href ="javascript:void(0)";
	toolwin.focus();
}

function openProductWindow(/*A Href*/button,/*String*/link) {
	if (trackDownload) { trackDownload(link); }
	toolwin = window.open(link,"product","width=610,height=650,left=0,top=0,resizable=yes,scrollbars=yes");
	button.href ="javascript:void(0)";
	toolwin.focus();
}


function openLoopWindow(/*A Href*/button,/*String*/link, name, /*String*/width, /*String*/height) {
	loopwin = window.open(link,"loop"+name,"width="+ width +",height="+ height +",left=0,top=0,resizable=yes,scrollbars=no");
	button.href ="javascript:void(0)";
	loopwin.focus();
}


function openWebcamWindow(/*A Href*/button,/*String*/link, name, /*String*/width, /*String*/height) {
	loopwin = window.open(link,"loop"+name,"width="+ width +",height="+ height +",left=0,top=0,resizable=yes,scrollbars=yes");
	button.href ="javascript:void(0)";
	loopwin.focus();
}

var bOnfocusShopReload = 0;

function openShopWindow(/*A href*/button,/*String*/link,/*String*/query) {
  if(query) {
    if(window.XMLHttpRequest) {
      oRequest = new XMLHttpRequest();
    } else {
      var oRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
	oRequest.open("GET", link+query, false);
    oRequest.send(""); 
  }

  shopwin = window.open(link,"shop","width=610,height=650,left=32,top=32,resizable=yes,scrollbars=yes");
  shopwin.focus();
  bOnfocusShopReload = 1;

  //button.href="javascript:void(0)";
  return false;
}

function checkReloadShop() {
if (bOnfocusShopReload) {
		reloadShop();
		bOnfocusShopReload = 0;
	}
}

var aBlockedLexDiv = new Array();



function showLex(event) {
	var callId = this.id.split('_');
	
	if (callId[ 0 ].indexOf('Div') >0) {
		var Showid = callId[ 0 ];
		var aId = '';
	}
	else {
		var Showid = callId[ 0 ] + 'Div';
		var aId = this.id;
	}
	
	for (var sDiv in aBlockedLexDiv) {
		hideNow(sDiv);
		aBlockedLexDiv[sDiv] = 0;
	}
	
	
	if(event) {
		var posY= event.pageY;
		var origY = posY;
	}
	else {
		var posY= window.event.y;
		var origY = window.event.y;
		var oParent = document.getElementById(this.id).offsetParent;
		if (oParent.id.indexOf('content') < 0) {
			posY += oParent.offsetTop + oParent.offsetParent.offsetTop;
		}
	}
	

	var scrollY = 0;
	if (self.pageYOffset) // all except Explorer
	{
		scrollY = 0;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		scrollY = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		scrollY = document.body.scrollTop;
	}
	
	

	var divHeight = document.getElementById(Showid).offsetHeight;
	divHeight = Math.round(divHeight/2);
	
	var oParent = document.getElementById(this.id).offsetParent;
	if (oParent.className == 'prediction_probability') {
		var pY = scrollY+origY-180-divHeight;

	} else {

		var pY = posY - divHeight;
		pY = Math.round((pY / 16)-0.5);
		pY = pY * 16;
	
		pY -= 160;
		if (pY < -3)  pY = -3;
		pY += scrollY;
	}
	
	var posX = document.getElementById(aId).offsetLeft + document.getElementById(aId).offsetWidth + 10;

	
	

	document.getElementById(Showid).style.top = pY+'px';
	document.getElementById(Showid).style.left = posX + 'px';
	document.getElementById(Showid).style.visibility = "visible";
	
	if (document.getElementById("column3")) {document.getElementById("column3").style.zIndex = 20;}
	if (document.getElementById("column4")) {document.getElementById("column4").style.zIndex = 20;}
	
	
	aBlockedLexDiv[Showid] = 1;
	
}


function showLexNoMove(event) {
	var Showid = this.id;
	
	document.getElementById(Showid).style.visibility = "visible";

	if (document.getElementById("column3")) {document.getElementById("column3").style.zIndex = 20;}
	if (document.getElementById("column4")) {document.getElementById("column4").style.zIndex = 20;}	

	aBlockedLexDiv[Showid] = 1;
}


function hideTimeout(e) {
	var callId = this.id.split('_');
	var divId = (callId[ 0 ].indexOf('Div') > 0) ? callId[ 0 ] : callId[ 0 ] + 'Div';
	
	aBlockedLexDiv[divId] = 0;
	setTimeout("hideNow('" +divId+ "')",1000);
}

function hideNow(divId) {
	if (!aBlockedLexDiv[divId]) {
	 document.getElementById(divId).style.top = "-500px";
	 document.getElementById(divId).style.left = "-500px";
	 document.getElementById(divId).style.visibility = "hidden";
	
	 if (document.getElementById("column3")) {document.getElementById("column3").style.zIndex = 24;}
	 if (document.getElementById("column4")) {document.getElementById("column4").style.zIndex = 24;}	
	 
	}

}

function moveWebcamPopUps() {
	if (document.getElementById("popUps") && document.getElementById("webcamMap")) { 
		
		var el = document.getElementById('webcamMap'); 
		
		var totalOffsetTop = -100; 
		var totalOffsetLeft = 9; 
		
		while (el != null) { 
			totalOffsetTop += el.offsetTop; 
			totalOffsetLeft += el.offsetLeft; 
			el = el.offsetParent; 
		}
		
		var WcPu = document.getElementById("popUps"); 
		
		var newDiv = document.getElementById("webcamPopUps"); 
		
		var childNodesCount = WcPu.childNodes.length; 
		
		var counter = 0; 
		
		while (counter++ < childNodesCount) { 
			var node = WcPu.childNodes[0]; 
			WcPu.removeChild(node); 
			
			if(!node.style) 
				continue; 
			
			newDiv.appendChild(node); 
			
			node.style.left = totalOffsetLeft+"px" ; 
			node.style.top = totalOffsetTop+"px" ; 
		}
	}
} 

function switchBubble(img,mouseOver) {
	if (mouseOver) {
		img.src="/images/webcam_bubble_grey.gif";
	} else {
		img.src="/images/webcam_bubble_blue.gif";
	}
}

/**
 * Choses between the black/white image and the colored image
 * depending on the users settings (-> cokie)
 */
var aImages = new Array();
var nImageCounter = 0;

function selectImage(sColImgSrc, sBwImgSrc, sId, sAttributes) {

	nImageCounter++;

	if(!sId || sId == "") {
		sId = "image_"+nImageCounter;
	}

	aImages[sId] = {"col": sColImgSrc, "bw": sBwImgSrc };

	if(document.cookie && document.cookie.search(/bw/) > -1) {
		document.write('<img src="' + sBwImgSrc + '" id="' + sId + '" ' + sAttributes + '/>');
	} else {
		document.write('<img src="' + sColImgSrc + '" id="' + sId + '" ' + sAttributes + '/>');
	}

}

/**
 * Choses between the black/white link and the colored link
 * depending on the users settings (-> cokie)
 */
var aColorLinks = new Array();
var nLinkCounter = 0;

function selectLink(sColText, sBwText, sId, sAttributes) {

	nLinkCounter++;

	if(!sId || sId == "") {
		sId = "link_"+nLinkCounter;
	}

	aColorLinks[sId] = {"col": sBwText, "bw": sColText };
	
	if(document.cookie && document.cookie.search(/bw/) > -1) {
		document.write('<a href="#" onclick="changeColorMode(); return false;" id="'+sId+'" '+sAttributes+'>'+ sColText + '</a>');
	} else {
		document.write('<a href="#" onclick="changeColorMode(); return false;" id="'+sId+'" '+sAttributes+'>'+ sBwText + '</a>');
	}

}

/**
 * Changes the mode between color and black/white view.
 */
function changeColorMode() {
	var mode;
	var currentElement;
    var currentValue;
	if(document.cookie && document.cookie.search(/bw/) > -1) {
		mode = "col";
	} else {
		mode = "bw";
	}

	document.cookie = mode;

	for(var sId in aImages) {
		currentElement = document.getElementById(sId);
		currentValue = aImages[sId][mode];
		if(sId == "all_regions" && isIe6()) { // Der IE6 muss (statt das src Attribut des img#all_regions zu ändern, welches für ihn auf 0.gif gesetzt ist) einen Filter über das img#all_regions legen!
			currentElement.runtimeStyle.filter = ""; // Aktuellen Filter entfernen
			currentElement.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + currentValue + "', sizingMethod='scale')";
			continue;
		}
		currentElement.src = currentValue;
	}

	for(var sId in aColorLinks) {
		currentElement = document.getElementById(sId);
		currentValue = aColorLinks[sId][mode];
		currentElement.innerHTML = currentValue;
	}

}

function isIe6() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf ( "MSIE " );
if ( msie > 0 )      // Internet Explorer
{
		if( parseInt (ua.substring (msie+5, ua.indexOf (".", msie ))) == 6) { //if IE6 return true
			return true;
		} else return false;
	}			 		
else                 // If another browser, return false
return false;	

}

function isIe7() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf ( "MSIE " );
if ( msie > 0 )      // Internet Explorer
{
		if( parseInt (ua.substring (msie+5, ua.indexOf (".", msie ))) == 7) { //if IE6 return true
			return true;
		} else return false;
	}			 		
else                 // If another browser, return false
return false;	

}

function toggleLayer(whichLayer) {
var elem, vis, cont;
if (document.getElementById) { // this is the way the standards work
    elem = document.getElementById(whichLayer);
    cont = document.getElementById("footer_link_social");
}
else if (document.all) { // this is the way old msie versions work
    elem = document.all[whichLayer];
    cont = document.all["footer_link_social"];
}
else if (document.layers) { // this is the way nn4 works
    elem = document.layers[whichLayer];
    cont = document.layers["footer_link_social"];
}

vis = elem.style;
// if the style.display value is blank we try to figure it out here
if (vis.display == '' && elem.offsetWidth != undefined && elem.offsetHeight != undefined)
    vis.display = (elem.offsetWidth != 0 && elem.offsetHeight != 0) ? 'block' : 'none';
		
vis.display = (vis.display == '' || vis.display == 'block') ? 'none' : 'block';			
vis.marginLeft = (cont.offsetWidth + 8) + "px";
}

function submitSearchBox() {
  this.document.forms['searchbox'].submit();
}
function clearSearchBox() {
	this.document.forms['searchbox'].query.value='';
}    


