//==================================================================================================================
//			JavaScript Euregio RMN
//==================================================================================================================


//==================================================================================================================
//			Ebenen ein-/ausblenden
//==================================================================================================================
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

//==================================================================================================================
//			SPRACHNE_URL WECHSLER
//==================================================================================================================



function getURL(nLng,id) {		
	var Temp = "";
	
	if (sid.length>0) {
		Temp = rootUrl + "/index.jsp;jsessionid=" + sid + "?cnt=" + cnt +"&lng=" + nLng + "&lo=" + lo;		
	} else {
		Temp = rootUrl + "/index.jsp?cnt=" + cnt +"&lng=" + nLng + "&lo=" + lo;
	}
	if (id.indexOf('null')!=0) {
		Temp = Temp + "&mpos=" + mpos + "&sItem=" + id + "&id=" + pid;		
	}	
	if (id.indexOf('null')==0) {
		Temp = Temp + "&mpos=" + mpos + "&sItem=" + id + "&id=" + pid;	
	}
	location.href = Temp;	
}
//---  Globale Variablen ---//

var DOM;
var NS4;
var IE4;	
var Konqueror; 
var Opera5; 	
var version;	
var iVersion;

var loaded = false;  

var currentX = -1;
var currentY = -1;

var VisibleLayerLevel1;
var VisibleLayerLevel2;

var nodes 			= new Array();
var visibleLayers 	= new Array();


Init();


function CheckBrowser(){
 
 DOM = (document.getElementById)  ? 1 : 0;
 IE4 = (document.all)	 		 	? 1 : 0;
 
 Konqueror 	= (navigator.userAgent.indexOf("Konqueror") > -1	) ? 1 : 0;
 
 Opera5 		= (	navigator.userAgent.indexOf("Opera 5") > -1 || 
 					navigator.userAgent.indexOf("Opera/5") > -1 || 
 					navigator.userAgent.indexOf("Opera 6") > -1 || 
					navigator.userAgent.indexOf("Opera/6") > -1		) ? 1 : 0;
 
 //-- NS4 = (document.layers) 		 	? 1 : 0; --//
 NS4 			= (	!IE4 && !Konqueror && !Opera5 && !DOM && 
 					navigator.userAgent.indexOf("Mozilla") > -1 	) ? 1 : 0;
 	version = navigator.appVersion;
 	if (version.indexOf("(")>-1) {
	 	version = 	version.substring(0,version.indexOf("(")-1);
	 	iVersion = parseFloat(version);
	} else {
		iVersion = 0;
	}
 	
 	return 1;
 //alert(version);
 }
 

function Init(){
	CheckBrowser();
	loaded = false;
}
 

function popUp(menuName,on) {
	var object = null;
	if (loaded) {	
		if (on) {			
			if (DOM) {
				object = document.getElementById(menuName);
				if (object == null) {
					return;
				}
				document.getElementById(menuName).style.visibility = "visible";
			} else if (NS4) {
				object = document.layers[menuName];			
				if (object == null) {
					return;
				}
				document.layers[menuName].visibility = "show";
			} else {
				object = document.all[menuName];			
				if (object == null) {
					return;
				}
				document.all[menuName].style.visibility = "visible";
			}
		} else {
			if (DOM) {
				object = document.getElementById(menuName);
				if (object == null) {
					return;
				}
				document.getElementById(menuName).style.visibility = "hidden";
			} else if (NS4) {
				object = document.layers[menuName];			
				if (object == null) {
					return;
				}
				document.layers[menuName].visibility = "hide";
			} else {
				object = document.all[menuName];			
				if (object == null) {
					return;
				}
				document.all[menuName].style.visibility = "hidden";
			}
		}
	}
}


function getLayer(menuName) {
	var object = null;
		

	if (DOM) {
		object = document.getElementById(menuName);
		if (object == null) {
			return;
		}
		
	} else if (NS4) {
		object = document.layers[menuName];			
		if (object == null) {
			return;
		}
		
	} else {
		object = document.all[menuName];			
		if (object == null) {
			return;
		}
		
	}
	return object;
}
 








//--- Allgemeine Funktioen ----//

function FindObj(n, d) { //v4.0
  var p,i,x;  if(!d) 
  
  d = document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
 }
	
  if(!(x=d[n]) && d.all) 
  	x = d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
 
 /*!
 *   @author  Thomas Kaufmann
 *	 @version 1.0
 *   @date    25.05.2002
 */  
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
  	x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}


//--- Menüspez. Funktionen ---//

 /*!
 *   @brief   Menü Layer anzeigen
 *   @param	  LayerName 	String Name des Layers
 *	 @author  Thomas Kaufmann
 *	 @version 1.0
 *   @date    25.05.2002
 */  
function ShowLayer(LayerName){
	if(!LayerName){
		return;
	}
	
	popUp(LayerName,true);
	
	if(LayerName.indexOf("sub") == 0 && LayerName.length == 5){	
		 VisibleLayerLevel2 = LayerName;
	}else if(LayerName.indexOf("sub") == 0 && LayerName.length == 4){
		VisibleLayerLevel1 = LayerName;
	}
}

 /*! 
 *   @brief   Menü Layer verbergen
 *	 @param	  LayerName 	String Name des Layers
 *	 @author  Thomas Kaufmann
 *	 @version 1.0
 *   @date    25.05.2002
 */  
function HideLayer(LayerName){
	if(!LayerName){
		return;	
	}
	popUp(LayerName,false);
}



 
 
 /*!
  *   @brief   Prüfen, ob der Layer sichtbar ist oder nicht  
  *   @param   LayerName String Name des Layers
  *   @returns Boolean Sichtbar:true
  *	  @author  Thomas Kaufmann
  *	  @version 1.0
  *   @date    26.05.2002
  */  
 function IsLayerVisible(LayerName){
 	var ret;
 	
 	ret = false;
 	if (DOM) {
		ret = (document.getElementById(LayerName).style.visibility == "visible")?1:0;
	} else if (NS4) {
		ret = (document.layers[LayerName].visibility == "show")?1:0;
	} else {
		ret = (document.all[LayerName].style.visibility == "visible")? 1:0;
	} 	
	return ret;
 }


function setLoaded (value) {
	loaded = value;
}

//----------------------------------------------------



function tOnMouseOut(layerName) {
		
}
//------------------------------------------------------


function TreeNode(nodeName) {
	this.name 			= nodeName;
	this.parent 		= null;
	this.parentVisible	= null;
	this.parentTree = null;
	this.childs		= new Array();
	this.show 		= TreeNodeShow;
	this.hide 		= TreeNodeHide;
	this.addChild	= TreeNodeAddChild;
	this.root 		= null;
	this.level		= 0;
}



function tOnMouseOver(layerName) {
	var childLayers = new Array();
	var LayersToCheck = new Array();
	var aLayers = new Array();	
	var id		= 0;
	var layer	= null;
	var pLayer	= null;
	
	
	if (!loaded) {
		return;
	} 
	
	layer 	= nodes[layerName];
	for (i=0;i<visibleLayers.length;i++) {
		if (visibleLayers[i].name == layer.childs[0].name) {
			visibleLayers.splice(i,1);
			break;
		}
	}	
	

	pLayer 	= layer.childs[0];
	
	
	for (i=0;i<visibleLayers.length;i++) {			
		LayersToCheck[LayersToCheck.length]=visibleLayers[i];		
	}
	
	
	while (pLayer != null) {			
		for (i=0;LayersToCheck[i];i++) {			
			if (LayersToCheck[i].name == pLayer.name) {				
				LayersToCheck.splice(i,1);
			}
			if (pLayer.childs.length > 0 && LayersToCheck[i]!=null) {				
				if (pLayer.childs[0].name == LayersToCheck[i].name) {
					LayersToCheck.splice(i,1);
					break;						
				}			
			}
		}		
		pLayer = pLayer.parent;				
	}
	
	
	for (i=0;i<LayersToCheck.length;i++) {
		if (LayersToCheck.level <= layer.childs[0].level) {
			continue;
		}
		LayersToCheck[i].hide();
		for (x=0;x<visibleLayers.length;x++) {
			if (LayersToCheck[i] == visibleLayers[x]) {
				visibleLayers.splice(x,1);
				break;
			}			
		}
	}
	
	

		
	popUp(layer.ausblender,true);
	
	
	
	if (layer.childs.length > 0) {
		aLayers[id] = layer.childs[0];
		visibleLayers[visibleLayers.length] = layer.childs[0];
		layer.show();
		
		
	} else {
		//aLayers[id] = layer;
		//popUp(layer.name,true);
	}
	

	
}

function hideAll() {
	
	var aLayers = Array();
	for (i=0;i<visibleLayers.length;i++) {
		var tmpLayer;
		
		tmpLayer = visibleLayers[i];
		tmpLayer.hide();
	}
	visibleLayers = aLayers;
	
	
}

function hideAll(ausblender) {
	
	var aLayers = Array();
	for (i=0;i<visibleLayers.length;i++) {
		var tmpLayer;
		
		tmpLayer = visibleLayers[i];
		tmpLayer.hide();
	}
	visibleLayers = aLayers;
	popUp(ausblender,false);	
}

function TreeNodeShow() {
	
	popUp(this.childs[0].name,true);
	
}

function TreeNodeHide() {
	// Alle Kinder verstecken
	popUp(this.name,false);
	
		
	
}

function TreeNodeAddChild(node) {	
	this.childs[this.childs.length] = node;
	node.parent = this;
}


function OnTimer() {
	loaded=true;			
}

setTimeout("OnTimer()", 5000);


/* ======================================================================== */
/* openWindow */

function MM_openBrWindow(theURL,winName,features) { //v2.0
	var hWindow = null;	
	hWindow =  window.open(theURL,winName,features);
	hWindow.opener = self;
	
}

/* ======================================================================== */


/* ======================================================================== */
/* 				Fokus auf das erste Formularfeld setzen						*/
/* ======================================================================== */
function setzeCurser()
  {
  if (document.forms.length > 0) 
    {
	var field = document.forms[0];
	for (i = 0; i < field.length; i++)
	  {
	  if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) 
	    {
		document.forms[0].elements[i].focus();
		break;
        }
      }
   }
}
/* ======================================================================== */

function popMenu(menu_id) {
	
	var n = nodes[menu_id];	
	if (n.childs == null) {
		return;
	}
	if (n.childs.length ==0) {
		return;
	}
	
	
	tOnMouseOver(menu_id);
	popUp(n.ausblender,true);
	
		
	
}
