var doNotShowSpace = false;


//---------------
var imgDir = "/src/templates/homepage/grafik/";
var srcOn = imgDir + "open.gif";
var srcOff = imgDir + "close.gif";
var isIE = (navigator.appName.indexOf("Microsoft") !=-1);
var menuHidden = true; //lng selection

window.onresize = function() {
	if(!menuHidden) {
		menuVisibility(false);
		menuHidden = true;
	}
}
document.onclick = function(ev) {
	if(!ev) {
		ev = event;
	}
	var el = getMenuObj();
	if(!menuHidden) {
		var x = isIE ? ev.offsetX : ev.layerX;
		var y = isIE ? ev.offsetY : ev.layerY;
		if(x < el.offsetLeft || x > el.offsetLeft + 100 || y < el.offsetTop || y > el.offsetTop + 40) {
			menuVisibility(false);
			menuHidden = true;
		}
	}
}

	function flipLngMenu(sr, ev){
	try{
	  var el = getMenuObj();
	  
	  if (!menuHidden) {
	  	menuVisibility(false);
		menuHidden = true;
		return;
	  }
	  
	  var pos = getElemPosition(sr);
	  el.style.top = (pos.y + sr.offsetHeight -1) + "px";
	  el.style.left = (pos.x - 103 + (isIE?2:0) + sr.offsetWidth) + "px";
   	  menuVisibility(true);
	  menuHidden = false;
	  if(!ev) {
	  	ev = event;	
	  }
	  ev.cancelBubble = true;
	  }catch(e){
	  	log(e.description);
	  }
	}
	
	function getMenuObj(){
		return document.getElementById("Lngsel_el");
	}
	
	function menuVisibility(v){
		var el = getMenuObj();
		if (v){
			  el.style.visibility = "visible";
			  el.style.display = "block";
		}else{
			  el.style.visibility = "hidden";
			  el.style.display = "none";		
		}
	}
 
//################ SUB NAVI 

function displayNavi2() {
  hideNavi2();
	var navi2Div = document.getElementById("navi2");
	if(navi2Div!=null) {
		navi2Div.style.visibility='';
	}
}
function hideNavi2() {
	var navi2Div = document.getElementById("navi2");
	var navi2Table = document.getElementById("subNav2");
	var spcr = document.getElementById("navi2Spacer");
	if(navi2Div!=null && spcr!=null) {
		navi2Div.style.visibility='hidden';
		spcr.style.visibility='hidden';
	}
}

function toggleSpacer2(show) {
	var spcr2 = document.getElementById("navi2Spacer2");
	if(spcr2!=null) {
	   if(show && !doNotShowSpace) {
	     spcr2.style.visibility='visible';
     	   }
     	   else 
     	     spcr2.style.visibility='hidden';
	}
}

//####################################################

function getElemPosition(txtCtrl){
  var skAbs = (arguments.length>1 && arguments[1]);
  var posobj = new xypos();
  var left,top,tempEl;
	    try{	    	         
	        left = txtCtrl.offsetLeft;
	        top = txtCtrl.offsetTop;
	        tempEl = txtCtrl;	      

	        if (tempEl.style.position!='absolute')
	        do{
		        tempEl = tempEl.offsetParent;
		        if (tempEl) {
		        	
                    if (tempEl.style.position!='relative' && tempEl.style.position!='absolute'
                   && (tempEl.style.overflow==''||tempEl.style.overflow=='visible') || skAbs){
			            left+= tempEl.offsetLeft;
			            top+=tempEl.offsetTop;
			        }
		        }
		       //break;
	        }while (tempEl)
	    }catch(e){
		    log(e.description);
	    }

     posobj.x=left;
     posobj.y=top;
     return posobj;
}

function xypos(){
   this.x;
   this.y;
}

function tryme(){
		try{
			var el = document.getElementById("_log");
			eval(el.value);
		}catch(e){
			alert(e.description);
		}
	}
	
function log(str){
	try {
			var el = document.getElementById("_log");
			if (el)
				el.value = str + "\n" + el.value;
		}catch(e){
			//log(e.description);
		}
	}

	
/*
 * compare divs with sub_ + id and make them visible, sum with of visible elements
 */		
function showMenuItems(subid){
	var visibleElementsW = 0;
		try{
			var el = document.getElementById("subNav2MiddleList");
			var subName = "sub_" + subid;
			var elem;
			for (var i=0;i<el.childNodes.length;i++){
				elem = el.childNodes[i];
				if (elem.tagName=="LI"){
				  if (elem.id==subName){
				    elementShowing(elem,true);
						visibleElementsW+=elem.offsetWidth;
					}else{
						elementShowing(elem,false);
					}
				}
			}
		}catch(e){
			log(e.description);
		}
		return visibleElementsW;
	}
	
   /*
	* show or hide element
	*/	
	function elementShowing(elem,show){
		try{
			if (show){
				elem.style.visibility='';
				elem.style.display = "block";
			}else{
				elem.style.visibility="hidden";
				elem.style.display = "none";			
			}
		}catch(e){
			log(e.description);
		}
	}		

	
//----------------
	function showNavi3(el,subid){
	try {	
    		var MOVE_DOWN = 3;
    		var spcr2 = document.getElementById("navi2Spacer2");
	
		var itemsW = showMenuItems(subid);
		if (itemsW==0) {
		  toggleSpacer2(false);
     		 return; //dont show empty subnavi
    		}
				
		var pos = getElemPosition(el);
		var x = pos.x;//jk 2008-05-06 - (isIE?el.offsetWidth:0);
		var nel = document.getElementById("navi2");
		var spcr = document.getElementById("navi2Spacer");			
		var naviMain  = document.getElementById('navigation');
		var posNm = getElemPosition(naviMain);
		var corr = (isIE?3:0);

		nel.style.top = (pos.y + el.offsetHeight + MOVE_DOWN + corr) + "px";
		spcr.style.top = (pos.y + el.offsetHeight) + "px";
		spcr2.style.top = (pos.y + el.offsetHeight + corr) + MOVE_DOWN +  "px";
				
		var sp2X = pos.x;//jk 2008-05-06 - (isIE?el.offsetWidth:0);
		spcr2.style.left = sp2X + 49+ "px";		
		
		var tbl  = document.getElementById("subNav2Middle");
		nel.style.width = itemsW + 26 + "px";
		if (!isIE){ //firefox fix 
			tbl.style.width = itemsW + 20 + "px";
		}
    		if((x + nel.offsetWidth)  > (posNm.x + naviMain.offsetWidth)) {
			x = posNm.x + naviMain.offsetWidth - nel.offsetWidth - 4;
		}
		nel.style.left = x + "px";
		spcr.style.left = x + "px";
		
		spcr.style.width = tbl.offsetWidth + "px";
		
    		nel.style.visibility = 'visible';	
		spcr.style.visibility = 'visible';
		//if one item and table smaller then button dont show it
		if (tbl.offsetWidth>el.offsetWidth){
			doNotShowSpace = false;
		}else{
			doNotShowSpace = true;
		}
		toggleSpacer2(true);
	}catch(e){
		log(e.description);
		}	
	}
	

function openBookmark(book_target,param_url, param_title, extraParams){
	var f = getPageForm();
	var docTitle = document.title;
	var docUrl = document.URL;
	f.action = book_target;
	f.method = "GET";
	f.target = "_blank";
		
	clearFormElements(f);
	
	var paramConfigured = false;
	if (param_url && param_url!=''){
		registerHiddenElement(param_url,docUrl,f);
		paramConfigured = true;
	}	
	
	if (param_title && param_title!=''){
		registerHiddenElement(param_title,docTitle,f);	
		paramConfigured = true;
	}	
		
        //check if no params case
        if (!paramConfigured){
        	f.action+=docUrl;
        }
        	
	//add additional params
	registerHiddenElementFromQS(extraParams,f);
	
	f.submit();		
}

function registerHiddenElementFromQS(extraParams,f){
	//add additional params
	if (extraParams!=''){
		var els = extraParams.split('&');
		var el;
		for (var i=0;i<els.length;i++){
			el = els[i].split("=");
			registerHiddenElement(el[0],el[1],f); //register hidden field
		}	
	}        			
}


function clearFormElements(f){
	var f =  document.pageForm;  
	var nodes = f.childNodes;
	var nodesTmp = Array();
	var k=0;
	for (var i=0; i<nodes.length; i++){
   		if (nodes[i].type && nodes[i].type=='hidden'){
   			nodesTmp[k++] = nodes[i]; //store references
       		}
   	}
   	//------------------delete from references table
   	for (var j=0;j<nodesTmp.length;j++){
   	       f.removeChild(nodesTmp[j]);	
	}
}

function registerHiddenElement(elname,val,f){
	var el = f.elements[elname];
	if (!el || (el&&!el.name)){
		el = document.createElement('input');
		el.type = 'hidden';
		el.name = elname;
		f.appendChild(el);
	}
	el.value  = val;
}

function getPageForm(){
	return document.pageForm;	
}