
var currentMenu;

function switchDiv(div,modus)  {
 	e = document.getElementById(div);
	e.style.visibility = "hidden";
	if (e) {
		if(!modus){
			if (e.style.visibility == "hidden") {
				modus="show";
			}else{
				modus="hide";
			}
		}
		if(modus=="show"){
			e.style.visibility = "visible";
			/* e.style.display = "block"; */ 
		}
		if(modus=="hide"){
			e.style.visibility = "hidden";
			/* e.style.display = "none"; */
		}
	}
}

function setInvisible(div){
       e = document.getElementById(div);
  	   if (e != null)
       {
        e.style.visibility = "hidden";
       }
}

function openSubNav(div) {

    function setVisibility(node, state) {
        if (typeof node == "string") {
            node = document.getElementById(node);
        }
        if (node) {
            node.style.visibility = state;
        }
    } 
    
    setVisibility("submenu_headnavitem_1", "hidden");
    setVisibility("submenu_headnavitem_2", "hidden");
    setVisibility("submenu_headnavitem_3", "hidden");
    setVisibility("submenu_headnavitem_4", "hidden");
    setVisibility("submenu_headnavitem_5", "hidden");
    setVisibility("submenu_headnavitem_6", "hidden");
    setVisibility(div, "visible");
	if(typeof closedelay == "number"){
		window.clearInterval(closedelay);
	}    
}

function saveActiveMenu(nav){
	currentMenu = nav;
}

function initMenu(){
		
		openSubNav(currentMenu);
}

function switchMenuBack(div){
	clearMainNavigation();
	openSubNav(div);
	
}

function setActiveSubMenu(currentNav){
	currentMenu = currentNav;
}

function setNavColor(imageid, image){
	document.images[imageid].src = image.src;
}

function closeSubNav(div){
    function setVisibility(node, state) {
        if (typeof node == "string") {
            node = document.getElementById(node);
        }
        if (node) {
            node.style.visibility = state;
        }
    } 
	e = document.getElementById("div");
	
	setVisibility(div, "hidden");
}

function delayedClose(div){
	
	if ((null != currentMenu) && (currentMenu.length != 0)) {
		closedelay = window.setInterval("switchMenuBack('"+currentMenu+"')",3000);
	}
	else {
		closedelay = window.setInterval("closeSubNav('"+div+"')",3000);
	}
}

function switch_img(which,modus){
	if(which){
		obj = eval(which+"_"+modus);
		document.getElementById(which).src = obj.src;
	}
}

function switch_imgloop(id,which,modus){
	if(which){
		obj = eval(which+"_"+modus);
		alert(id);
		alert(document.getElementById(id));
		document.getElementById(id).src = obj.src;
	}
}



function clearMainNavigation(){
	if (document.images["headnavitem_1"] !=null){
		document.images["headnavitem_1"].src = headnavitem_1_lo.src;
	}
	if (document.images["headnavitem_2"] !=null){
		document.images["headnavitem_2"].src = headnavitem_2_lo.src;
	}
	if (document.images["headnavitem_3"] !=null){
		document.images["headnavitem_3"].src = headnavitem_3_lo.src;
	}
	if (document.images["headnavitem_4"] !=null ){
		document.images["headnavitem_4"].src = headnavitem_4_lo.src;
	}  
	if (document.images["headnavitem_5"] !=null){
		document.images["headnavitem_5"].src = headnavitem_5_lo.src;
	}
	if (document.images["headnavitem_6"] !=null){
		document.images["headnavitem_6"].src = headnavitem_6_lo.src;
	}
} 

function setMainNavigation1(imageid,image2){
	
	clearMainNavigation();
	
	if (imageid !=null && image2 !=null){
		document.images[imageid].src = image2.src;   
	}
}

function setMainNavigation(imageid,image2){
}

function getHeight()
{
	/* minimum height of "subnav" div, if necessary depending on height of "flash_replace" div */
	
	if ($("#subnav").length > 0)
	{
		var subnavMinHeight = 282; // 282 was reused from old code
		if ($("#flash_replace").length > 0)
		{
			subnavMinHeight = $("#flash_replace").height() - 82; // 82 was reused from old code
		}
		if ($("#subnav").height() < (subnavMinHeight))
        { 
			$("#subnav").height(subnavMinHeight);	            
        }
	}
	
	/* minimum height of "canvas" div depending on height of "left_userinterface" div */
	
	var minCanvasHeight = 555; // 555 was reused from old code
	
	var canvasHeight = 0;
	var canvasOffset = 0;
	var leftuserinterfacceOffset = 0;
	
	if ($("#canvas").offset() != null) {
		canvasOffset = $("#canvas").offset().top;
	}
	
	if ($("#left_userinterface").offset() != null) {
		leftuserinterfacceOffset = $("#left_userinterface").offset().top;
	}
	
	
	if (($("#canvas").height() + canvasOffset) < ($("#left_userinterface").height() + leftuserinterfacceOffset))
	{
		canvasHeight = $("#left_userinterface").height() + leftuserinterfacceOffset - canvasOffset;
		$("#canvas").height(canvasHeight);
	}	
	
	if ($("#canvas").height() < minCanvasHeight)
	{
		$("#canvas").height(minCanvasHeight);
	}
}

 function toggleImage(imageid,image1,image2)
 {
   if (document.images[imageid].src == image2.src)
   {
      document.images[imageid].src = image1.src;
   }
   else
   {
     document.images[imageid].src = image2.src;
   }   
}

SubNavigationHighlightImageDivArray = new Array();
SubNavigationLowlightImageDivArray = new Array();

function getSubNavigationImageDivArrays()  {


var m =0;
var k =0;
 for(var i=0; i < document.getElementsByTagName("div").length; i++)
 {
   if (document.getElementsByTagName("div")[i].id  != null  && 
       document.getElementsByTagName("div")[i].id.length > 8  &&
       document.getElementsByTagName("div")[i].id.substring(0,8) == "imageid2" )
    {
         SubNavigationHighlightImageDivArray[m]  =document.getElementsByTagName("div")[i].id ;
         m++; 
    }
      if (document.getElementsByTagName("div")[i].id  != null  && 
       document.getElementsByTagName("div")[i].id.length > 8  &&
       document.getElementsByTagName("div")[i].id.substring(0,8) == "imageid1" )
    {
         SubNavigationLowlightImageDivArray[k]  =document.getElementsByTagName("div")[i].id ;
         k++; 
    }
 }

}

function resetSubNavigationDisplay () 
{
 for(var i=0; i < SubNavigationHighlightImageDivArray.length; i++)
 {
   document.getElementById(SubNavigationHighlightImageDivArray[i]).style.display  ='none';
 }
  for(var i=0; i < SubNavigationLowlightImageDivArray.length; i++)
 {
   document.getElementById(SubNavigationLowlightImageDivArray[i]).style.display  ='inline';
 }
}

function changeTableModel(strTableName, jsonP1){

	eval("var obj=" + jsonP1 + ";");
	var intDivID = obj.i ? obj.i : 0;
	var footnote = ',' + (obj.f ? obj.f : []) + ',';
	
	if (intDivID != 0){ /* value 0 = Strich im Auswahlmen? */
		
		/* Name der DIVs zusammenbauen */
		var strDivName = 'table_' + strTableName + '_';

		/* Rausfinden, welche H?he jetzt gerade aktiv ist */
		var oldHeight = 0;
		var iteration = 1;
		while(document.getElementById(strDivName + iteration)){
			if(document.getElementById(strDivName + iteration).style.display == "inline"){
				oldHeight = document.getElementById(strDivName + iteration).offsetHeight;
				document.getElementById(strDivName + iteration).style.display = "none";
			}
			iteration = iteration + 1;
		}

		/* Divs austauschen */
		var Div = strDivName + intDivID;
		var vis = document.getElementById(Div);
		vis.style.display="inline";

		/* Rausfinden, welche H?he das neue Div hat*/
		var newHeight = 0;
		newHeight = vis.offsetHeight;

		/* H?hen verrechnen, schauen, ob es nicht schon vorher ein h?heres DIV gab,
		das schon f?r Erweiterung gesorgt hat und das DIV canvas erweitern */
		var diffHeight = 0;
		if(newHeight > oldHeight){
			diffHeight = newHeight - oldHeight;
			if(newHeight > greatestDiv){
				f = document.getElementById("canvas");
				newCanvasHeight = f.offsetHeight + diffHeight;
				f.style.height = newCanvasHeight + "px";
				absoluteHeight = diffHeight;
				greatestDiv = newHeight;
			}			
		}
		
		/* Fu?noten ausblenden, die nicht im DIV enthalten sind */
		if ($) {
			/* jQuery Funktionalit?t nutzen */
			$("#module_footer *[id^='module_footer_footnote_']").each(function(i) {
				var s = this.id.split('module_footer_footnote_');
				var d = "none";
				if (s.length > 1) {
					if (footnote.indexOf(","+s[1]+",") >= 0) {
						d = "block";
					}
				}
				this.style.display = d;
			});
		} else {
			/* DOM/JavaScript */
			alert("No jQuery access!");
		}
		
		$('#canvas').height('100%');
	}
}

function setGreatestDiv(strTableName){

	/* Name der DIVs zusammenbauen */
	var strDivName = 'table_' + strTableName + '_';

	/* Gr??tes Element setzen */
	var iteration = 1;
	while(document.getElementById(strDivName + iteration)){
		if(document.getElementById(strDivName + iteration).style.display == "inline"){
			greatestDiv = document.getElementById(strDivName + iteration).offsetHeight;
		}
		iteration = iteration + 1;
	}
}

function showSearchTips(){
	document.getElementById("XM_html-text_all-topics_gbl_013_searchtips").style.display = "inline";
//	newCanvasHeight = 20 + document.getElementById("XM_html-text_all-topics_gbl_013_searchtips").offsetHeight + document.getElementById("canvas").offsetHeight;

  newCanvasHeight = 20 + document.getElementById("canvas").offsetHeight;
	document.getElementById("canvas").style.height = newCanvasHeight + "px";
	document.getElementById("XM_html-text_all-topics_gbl_013_link_searchtips").style.display = "none";
}	

// ebike
function shareWindow(w,h,ziel) {
  h = h - 20; var x=0, y=0, parameter="";
  if (w < screen.availWidth || h < screen.availHeight) {
	x = (screen.availWidth - w - 12) / 2;
	y = (screen.availdHeight - h - 104) / 2;
	if (window.opera) y = 0; // Opera positioniert unter den Symbolleisten
	if (x<0 || y<0) { x=0; y=0; }
	else parameter = "width=" + w + ",height=" + h + ",";
  }
  parameter += "left=" + x + ",top=" + y;
  parameter += ",menubar=yes,location=yes,toolbar=no,status=no";
  parameter += ",resizable=yes,scrollbars=yes";
  var Fenster = window.open(ziel,"shareWin",parameter);
  if (Fenster) Fenster.focus();
  return !Fenster;
}

// ebike
function openPopUp(w,h,ziel){	
	shareWindow(w,h,ziel);
}

// swap images
if (window.$) {
	$(document).ready(function () {
	
		// quick links, meta navigation, footer, teaser highlighting
		$('a.swapimg').hover(
		
		     function(){
				var data = $('img.swapimg', this).metadata();
				$('img.swapimg', this).attr('src', data.src2 );
		     }, function(){
		     	var data = $('img.swapimg', this).metadata();
				$('img.swapimg', this).attr('src', data.src1 );
			}
			
		);
		
		// sub navigation highlighting
		$('div.swapimg').hover(
		
		     function(){
		     	resetSubNavigationDisplay();
		     	$(this).parent().find('.subnav1').hide();
		     	$(this).parent().find('.subnav2').show();
		     	
		     }, function(){
		     	$(this).parent().find('.subnav1').show();
		     	$(this).parent().find('.subnav2').hide();
		     }
		     
		);
		
	});
}

// tracking cookies
if (window.$) {
	$(document).ready(function() {
		// calculate the cookie expiration date
		var date = new Date();
		var expires = date.getTime() + (30 * 24 * 60 * 60 * 1000); // 30 days
		date.setTime(expires);
		// parse query for special tracking parameters
		var query = document.location.search;
		if (query) {
			var parms = query.substring(1).split('&');
			for (var i=0; i<parms.length; i++) {
				var pos = parms[i].indexOf('=');
				if (pos > 0) {
					var key = parms[i].substring(0, pos);
					var val = parms[i].substring(pos + 1);
					if (key == 'csref' && val) {
						// set csref cookie
						document.cookie = 'smart_tracking_campaign_csref=' + val + "; expires=" + date.toGMTString();
					} else if (key == 'pid' && val) {
						// set pid cookie
						document.cookie = 'smart_tracking_campaign_pid=' + val + "; expires=" + date.toGMTString();
					}
				}
			}
		}
		// check referer
		var referer = document.referrer;
		if (referer) {
			var refererHost = referer.replace(/https?:[/][/]([0-9a-zA-Z.-]+).*$/, "$1");
			var requestHost = document.location.href.replace(/https?:[/][/]([0-9a-zA-Z.-]+).*$/, "$1");
			if (refererHost && refererHost != requestHost) {
				if (document.cookie && document.cookie.match(/(^|;[\s]*)smart_referrer=/)) {
					// referer cookie already set --> do nothing
				} else {
					// set referer cookie once
					if (refererHost.match(/[.]smart[.]com$/)) {
						// if host is a subdomain of smart.com do nothing
					} else {
						document.cookie = 'smart_referrer=' + refererHost + "; expires=" + date.toGMTString();
					}
				}
			}
		}
	});
}
