////////////////////////////////////////////////////////////////////////
// Eric THIEBAUT - 20110210
// Dieser Skript enthält alle funktionnen benutzt im Projketiereungsteil
////////////////////////////////////////////////////////////////////////

var mouse_x = 0; // Mouse-X Koordinate
var mouse_y = 0; // Mouse-Y Koordinate

///////////////////////////////////////////////////////////////
// Verwaltwet die 3 Aktionen von den Bestellablauf aus
///////////////////////////////////////////////////////////////
// Funktion: buttonBestellungVerwaltung
// Erwartet: strPrefix
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110301
///////////////////////////////////////////////////////////////
function buttonBestellungVerwaltung(strPrefix,intProjektID, strMeldung){
	var strErgebnis = "";
	cells = document.getElementsByTagName("input");
	fehler = 0;
	for(var i=0 ; i<cells.length ; i++){
		var cell=cells.item(i);
		if((cell.name.indexOf('checkbox')>-1) && cell.checked===true){
			var elem = cell.name.split("_");
			strErgebnis = strErgebnis + "_" + elem[1] + "_";
			
		}//checked
	}//for
	
	
	if(strErgebnis.length>0){
		/*if(fehler == 1){
			alert("Achtung: Es werden nur Ebenen mit lieferbaren Artikeln übernommen.");
		}*/
		buttonBestellungVerwaltungAktion(strPrefix,strErgebnis,intProjektID);
	}else{
		alert(strMeldung);	
	}
}

///////////////////////////////////////////////////////////////
// Verwaltwet die 3 Aktionen von den Bestellablauf aus
// AjaxAufruf für Warenkorb
///////////////////////////////////////////////////////////////
// Funktion: buttonBestellungVerwaltungWarenkorb
// Erwartet: strAuswahl,intProjektID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110308
///////////////////////////////////////////////////////////////
function buttonBestellungVerwaltungAktion(strPrefix,strAuswahl,intProjektID){
	if(strPrefix == "warenkorb" || strPrefix == "warenkorbOffert"){
		document.getElementById('sanduhr').style.display = 'block';	
	}else{
		document.getElementById('sanduhr_artikel_detail').style.display = 'block';
	}
	
	
	new Ajax.Updater('dummy','projektierung_bestellen_aktionen.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				auswahl: strAuswahl,
				projektid: intProjektID,
				prefix: strPrefix
			}
		}
	);
	
	if(strPrefix == "warenkorb" || strPrefix == "warenkorbOffert" || strPrefix == "warenkorbOffertPreis"){
		document.location.href="benutzer_bestellen_liefertermine.php";	
	}else{
		document.getElementById('sanduhr_artikel_detail').style.display = 'none';
	}

}

///////////////////////////////////////////////////////////////
// Verwaltet die Checkboxes im Bestellablauf (Father/Child)
///////////////////////////////////////////////////////////////
// Funktion: checkboxBestellungVerwaltung
// Erwartet: strAttribut,strKeyAkt,strName,blnValue
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110301
///////////////////////////////////////////////////////////////
function checkboxBestellungVerwaltung(strAttribut,strKeyAkt,strName,blnValue){
	cells = document.getElementsByTagName("input");
	for(var i=0 ; i<cells.length ; i++){
		var cell=cells.item(i);
		if(cell.getAttribute(strAttribut)){
			if(cell.getAttribute(strAttribut).indexOf(strKeyAkt)>-1){
				cell.checked=blnValue;
				cell.disabled ="";
				if(blnValue && strName!=cell.name){
					//cell.disabled="disabled";
				}
			}
		}
	}
}

///////////////////////////////////////////////////////////////
// Formatiert die Bestelltabelle (Even/Odd)
///////////////////////////////////////////////////////////////
// Funktion: bestellungstabellenFormatieren
// Erwartet: -
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110301
///////////////////////////////////////////////////////////////
function bestellungstabellenFormatieren(){
	rows=getElementsByName_iefix("tr","tr_odd_even");
	color2="CFCFCF";
	color1="FFFFFF";
	j=0;
	for(var i=0 ; i<rows.length ; i++){
		if(rows[i].style.display != "none") {
			j++;
			color = color2;
			if(j==1){
				color = color1;
			} else {
				j=0;
			}
			rows[i].bgColor=color;
		}
	}
}

///////////////////////////////////////////////////////////////
// Verwaltet den Textfelder in Scriptlayers
///////////////////////////////////////////////////////////////
// Funktion: spracheTextFeldVerwaltung
// Erwartet: strID,strTID,strValue
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110301
///////////////////////////////////////////////////////////////
function spracheTextFeldVerwaltung(strID,strTID,strValue){
	if(strValue===true){
		document.getElementById(strID).style.display="block";
	} else {
		document.getElementById(strTID).value="";
		document.getElementById(strID).style.display="none";
	}
}

///////////////////////////////////////////////////////////////
// Teste ob die Spracheingaben in Ordnung sind in ScripLayers
///////////////////////////////////////////////////////////////
// Funktion: pruefeSprachauswahl_Neu
// Erwartet: strFehlerMeldungSprache
// Ausgabe: true/false
// Angelegt: Eric THIEBAUT 20110301
///////////////////////////////////////////////////////////////
function pruefeSprachauswahl_Neu(strFehlerMeldungSprache) {
	var intOK = 0;
	
	var checkedFelder = 0;
	if(document.forms.frm.Sprache_De.checked == true)checkedFelder ++;
	if(document.forms.frm.Sprache_Fr.checked == true)checkedFelder ++;
	if(document.forms.frm.Sprache_It.checked == true)checkedFelder ++;
	if(document.forms.frm.Sprache_En.checked == true)checkedFelder ++;
	
	if((document.forms.frm.Sprache_De.checked == true) && (document.forms.frm.InputText_De.value.length>0)) intOK++;
	if((document.forms.frm.Sprache_Fr.checked == true) && (document.forms.frm.InputText_Fr.value.length>0)) intOK++;
	if((document.forms.frm.Sprache_It.checked == true) && (document.forms.frm.InputText_It.value.length>0)) intOK++;
	if((document.forms.frm.Sprache_En.checked == true) && (document.forms.frm.InputText_En.value.length>0)) intOK++;
	if (intOK == checkedFelder){
		document.forms.frm.submit();
	} else {
		alert(strFehlerMeldungSprache);
	}
}

///////////////////////////////////////////////////////////////
// Teste ob die Spracheingaben in Ordnung sind in ScripLayers
///////////////////////////////////////////////////////////////
// Funktion: pruefeSprachauswahl_Unterknoten
// Erwartet: strFehlerMeldungSprache,intIst_De,intIst_Fr,intIst_It,intIst_En,strName_De,strName_Fr,strName_It,strName_En,intVaterEbeneID,intProjektID
// Ausgabe: true/false
// Angelegt: Eric THIEBAUT 20110301
///////////////////////////////////////////////////////////////
function pruefeSprachauswahl_Unterknoten(strFehlerMeldungSprache,intIst_De,intIst_Fr,intIst_It,intIst_En,strName_De,strName_Fr,strName_It,strName_En,intVaterEbeneID,intProjektID,blnAufgeklappt,blnOhneProdukte) {
	if(!arguments[11]) {blnAufgeklappt = 0};
	if(!arguments[12]) {blnOhneProdukte = 0};

	var intOK = 0;
	var intTest = intIst_De + intIst_Fr + intIst_It + intIst_En;
	if((intIst_De == 1) && (document.forms.frm.InputText_De.value.length>0)) intOK++;
	if((intIst_Fr == 1) && (document.forms.frm.InputText_Fr.value.length>0)) intOK++;
	if((intIst_It == 1) && (document.forms.frm.InputText_It.value.length>0)) intOK++;
	if((intIst_En == 1) && (document.forms.frm.InputText_En.value.length>0)) intOK++;
	if (intOK==intTest){
		ebeneAnlegen(intVaterEbeneID,strName_De,strName_Fr,strName_It,strName_En,intProjektID,blnAufgeklappt,blnOhneProdukte);
		schliesseLayer();
	} else {
		alert(strFehlerMeldungSprache);
	}
}

function pruefeSprachauswahl_ProjektUmbenennen(strFehlerMeldungSprache,intIst_De,intIst_Fr,intIst_It,intIst_En,strName_De,strName_Fr,strName_It,strName_En,strTyp,intProjektID) {
	
	var intOK = 0;
	var intTest = intIst_De + intIst_Fr + intIst_It + intIst_En;
	if((intIst_De == 1) && (document.forms.frm.InputText_De.value.length>0)) intOK++;
	if((intIst_Fr == 1) && (document.forms.frm.InputText_Fr.value.length>0)) intOK++;
	if((intIst_It == 1) && (document.forms.frm.InputText_It.value.length>0)) intOK++;
	if((intIst_En == 1) && (document.forms.frm.InputText_En.value.length>0)) intOK++;
	
	if(intIst_De != 1)strName_De = "";
	if(intIst_Fr != 1)strName_Fr = "";
	if(intIst_It != 1)strName_It = "";
	if(intIst_En != 1)strName_En = "";
	
	if (intOK==intTest){
		ebeneUmbenennen(strTyp,intProjektID,strName_De,strName_Fr,strName_It,strName_En);
		schliesseLayer();
	} else {
		alert(strFehlerMeldungSprache);
	}
}

////////////////////////////////////////////////////////
// Pendant zu IsNumeric in Javascript
////////////////////////////////////////////////////////
// Funktion: textIstNumeric
// Erwartet: strID,intDefault
// Ausgabe: true/false
// Angelegt: Eric THIEBAUT 20110301
////////////////////////////////////////////////////////
function textIstNumeric(strID,intDefault){
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < document.getElementById(strID).value.length && IsNumber == true; i++){ 
		Char = document.getElementById(strID).value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1){
			IsNumber = false;
		}
	}
	if(!IsNumber){
		document.getElementById(strID).value=intDefault;
	}
	return IsNumber;
}

////////////////////////////////////////////////////////
// Ersetzt die klassiche getElementsByName (IE Fehler)
////////////////////////////////////////////////////////
// Funktion: getElementsByName_iefix
// Erwartet: tag, name
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110223
////////////////////////////////////////////////////////
function getElementsByName_iefix(tag, name) {
         var elem = document.getElementsByTagName(tag);
         var arr = new Array();
         for(i = 0,iarr = 0; i < elem.length; i++) {
                  att = elem[i].getAttribute("name");
                  if(att == name) {
                           arr[iarr] = elem[i];
                           iarr++;
                  }
         }
         return arr;
}

////////////////////////////////////////////////////////
// Macht auf dem gecklickten Knot ein Highlight
////////////////////////////////////////////////////////
// Funktion: ebeneMitHighlight
// Erwartet: ProjektEbeneID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneMitHighlight(ProjektEbeneID){
	ebeneAlleOhneHighlight();
	if(document.getElementById('span_prj_' + ProjektEbeneID)){
		document.getElementById('span_prj_' + ProjektEbeneID).style.color='FF0000';
		document.getElementById('span_prj_' + ProjektEbeneID).style.fontWeight = 'bold';
	}
}

////////////////////////////////////////////////////////
// Entfernt alle Highlights
////////////////////////////////////////////////////////
// Funktion: ebeneAlleOhneHighlight
// Erwartet: -
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneAlleOhneHighlight(){
	var i;
	var arrLI=getElementsByName_iefix("span","span_prj");
	for(i=0 ; i<arrLI.length ; i++){
		arrLI[i].style.color='';
		arrLI[i].style.fontWeight = '';
	}
}

////////////////////////////////////////////////////////
// Aktualisiert die Anzeige einen Projketierungsbaum
////////////////////////////////////////////////////////
// Funktion: projektAktualisieren
// Erwartet: intProjektEbeneID,strDiv,intProjektID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function artikelImProjektHinzufuegen(intUserID,intProjektID,intProjektEbeneID,FNR,Menge){
	//alert("UserID: " + intUserID + " | ProjektID: " + intProjektID + " | ProjektEbeneID: " + intProjektEbeneID + " | FNR: " + FNR + " | "+ intProjektEbeneID + " | Menge: " + Menge);
	new Ajax.Request('projektierung_artikel_hinzufuegen.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				userid: intUserID,
				projektid: intProjektID,
				ebeneid: intProjektEbeneID,
				fnr: FNR,
				menge: Menge
			}
		}
	);
	var strDiv="div_prj_" + intProjektEbeneID;
	projektAktualisieren(intProjektEbeneID,strDiv,intProjektID,intProjektEbeneID);
}

////////////////////////////////////////////////////////
// Aktualisiert die Anzeige einen Projketierungsbaum
////////////////////////////////////////////////////////
// Funktion: projektAktualisieren
// Erwartet: intProjektEbeneID,strDiv,intProjektID
// Ausgabe: -
// Angelegt: Tobias Engel 20110118
////////////////////////////////////////////////////////
function artikelImProjektVeredeln(intProjektID,intProjektEbeneID,ProjektEbene_Artikel_ID,Menge, intFarbcode, FNR){
	
	new Ajax.Request('projektierung_artikel_veredeln.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				fnr: FNR,
				menge: Menge,
				projektartikelid: ProjektEbene_Artikel_ID,
				farbcode: intFarbcode
			}
		}
	);
	var strDiv="div_prj_" + intProjektEbeneID;
	projektAktualisieren(intProjektEbeneID,strDiv,intProjektID,intProjektEbeneID);
}

////////////////////////////////////////////////////////
// Aktualisiert die Anzeige einen Projketierungsbaum
////////////////////////////////////////////////////////
// Funktion: projektAktualisieren
// Erwartet: intProjektEbeneID,strDiv,intProjektID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function projektAktualisieren(intProjektEbeneID,strDiv,intProjektID,intProjektEbeneHighlightID,blnAufgeklappt,blnOhneProdukte){

	if(!arguments[3]) {intProjektEbeneHighlightID = 0};
	if(!arguments[4]) {blnAufgeklappt = 0};
	if(!arguments[5]) {blnOhneProdukte = 0};	

	new Ajax.Updater(strDiv,'projektierung_refresh.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:true,
			encoding:'UTF-8',
			method:'post',parameters: { 
				id: intProjektEbeneID,
				projektid: intProjektID,
				projekthiglightid: intProjektEbeneHighlightID,
				blnAufgeklappt: blnAufgeklappt,
				blnOhneProdukte: blnOhneProdukte
			}
		}
	);
}

////////////////////////////////////////////////////////
// Legt ein Projekt in der DB an
////////////////////////////////////////////////////////
// Funktion: projektAnlegen
// Erwartet: strName,intUserID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function projektAnlegen(strName,intUserID){
	new Ajax.Request('projektierung_neu.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				name: strName,
				userid: intUserID
			}
		}
	)
}

////////////////////////////////////////////////////////
// Sicherheitsabfrage Löschen
////////////////////////////////////////////////////////
// Funktion: beschriftete und kombinierte Artikel können nur nach Bestätigung gelöscht werden.
// Erwartet: strTyp,ProjektEbene_Artikel_ID, ID_Projekt, ProjektEbene_ID, strConfirmText
// Ausgabe: -
// Angelegt: Tobias Engel 22.07.2011
////////////////////////////////////////////////////////
function ArtikelSicherLoeschen(strTyp,ProjektEbene_Artikel_ID, ID_Projekt, ProjektEbene_ID, strConfirmText){
	
	Check = confirm(strConfirmText);
	if(Check == true){
		ebeneLoeschen('fnr',ProjektEbene_Artikel_ID,ID_Projekt,1,ProjektEbene_ID);
	}
	
}


////////////////////////////////////////////////////////
// Löscht ein Ebene aus der Projekt
////////////////////////////////////////////////////////
// Funktion: ebene
// Erwartet: ProjektEbeneID,antwort (1=JA,0=NEIN)
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneLoeschen(strTyp,intID,intProjektID,antwort,intVaterID,blnAufgeklappt,blnOhneProdukt){
	if(!arguments[5]) {blnAufgeklappt = 0};
	if(!arguments[6]) {blnOhneProdukt = 0};
	if(antwort==1){
		ebeneLoeschenDB(strTyp,intID,intProjektID,intVaterID,blnAufgeklappt,blnOhneProdukt);
	}
}

////////////////////////////////////////////////////////
// Löscht ein Ebene aus der Projekt (Aufruf des Ajax Scriptes)
////////////////////////////////////////////////////////
// Funktion: ebeneLoeschenDB
// Erwartet: intProjektEbeneID,intIDProjekt
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneLoeschenDB(strTyp,intID,intIDProjekt,intVaterID,blnAufgeklappt,blnOhneProdukt){
	if(!arguments[4]) {blnAufgeklappt = 0};
	if(!arguments[5]) {blnOhneProdukt = 0};

	strDiv = "div_prj_" + intVaterID;
	new Ajax.Request('projektierung_loeschen.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				id: intID,
				projektid: intIDProjekt,
				typ:strTyp,
				blnAufgeklappt:blnAufgeklappt,
				blnOhneProdukt:blnOhneProdukt
			}
		}
	)
	projektAktualisieren(intVaterID,strDiv,intIDProjekt,0,blnAufgeklappt,blnOhneProdukt);
}
//function ebeneLoeschenDB(strTyp,intID,intIDProjekt){
//	if(strTyp == 'fnr'){
//		strLI_ID = "li_prj_fnr_" + intID;
//	} else { //Ebene
//		strLI_ID = "li_prj_" + intID;
//	}
//	new Ajax.Request('projektierung_loeschen.php',
//		{
//			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
//			evalJS:true,
//			evalScripts:true,
//			asynchronous:false,
//			encoding:'UTF-8',
//			method:'post',parameters: { 
//				id: intID,
//				projektid: intIDProjekt,
//				typ:strTyp
//			}
//		}
//	)
//	ebeneLoeschenSuccess(strLI_ID)
//}

////////////////////////////////////////////////////////
// Löscht ein Ebene aus der Projekt (Success AJAX function)
////////////////////////////////////////////////////////
// Funktion: ebeneLoeschenSuccess
// Erwartet: strLI_ID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneLoeschenSuccess(strLI_ID){
	var knot = document.getElementById(strLI_ID).parentNode;
	knot.removeChild(document.getElementById(strLI_ID));
}

////////////////////////////////////////////////////////
// Nennt ein Ebene um (Aufruf des Ajax Scriptes)
////////////////////////////////////////////////////////
// Funktion: ebeneUmbenennen
// Erwartet: intProjektEbeneID,strName
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneUmbenennen(strTyp,intProjektEbeneID,strName_De,strName_Fr,strName_It,strName_En){
	strID = "span_prj_" + intProjektEbeneID;
	new Ajax.Request('projektierung_umbenennen.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				typ: strTyp,
				id: intProjektEbeneID,
				name_De: strName_De,
				name_Fr: strName_Fr,
				name_It: strName_It,
				name_En: strName_En												
			}
		}
	);
	ebeneUmbenennenSuccess(strTyp,strID,strName_De,strName_Fr,strName_It,strName_En);
}

////////////////////////////////////////////////////////
// Nennt ein Ebene um (Success AJAX function)
////////////////////////////////////////////////////////
// Funktion: ebeneUmbenennenSuccess
// Erwartet: strSPAN_ID,strName
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneUmbenennenSuccess(strTyp,strSPAN_ID,strName_De,strName_Fr,strName_It,strName_En){
	var knot = document.getElementById(strSPAN_ID);
	knot.innerHTML = strName_De;
	if(strTyp=="projekt"){
		document.getElementById('ProjektName').value = strName_De;
	}else{
		document.getElementById('EbeneName').value = strName_De;
	}
}

////////////////////////////////////////////////////////
// Kopiert eine Ebene (bevor ein "Einfügen")
////////////////////////////////////////////////////////
// Funktion: ebeneKopieren
// Erwartet: ProjektEbeneID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneKopieren(ProjektEbeneID){
	ebeneEntmarkieren(ProjektEbeneID);
	//document.getElementById('span_prj_' + ProjektEbeneID).style.backgroundColor='yellow';
	document.getElementById('span_prj_' + ProjektEbeneID).style.fontWeight="bold";
}

////////////////////////////////////////////////////////
// Kopiert eine Ebene (bevor ein "Einfügen")
////////////////////////////////////////////////////////
// Funktion: produktKopieren
// Erwartet: ProjektEbeneID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function produktKopieren(ProjektEbene_Artikel_ID){
	produktEntmarkieren();
	document.getElementById('span_prj_fnr_' + ProjektEbene_Artikel_ID).style.fontWeight="bold";
}

////////////////////////////////////////////////////////
// Markiert eine Ebene (bevor ein "Einfügen")
////////////////////////////////////////////////////////
// Funktion: produktEntmarkieren
// Erwartet: ProjektEbeneID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function produktEntmarkieren(){
	var i;
	var arrLI=getElementsByName_iefix("span","span_prj_fnr");
	for(i=0 ; i<arrLI.length ; i++){
		arrLI[i].style.fontWeight="normal";
	}
}

////////////////////////////////////////////////////////
// Markiert eine Ebene (bevor ein "Einfügen")
////////////////////////////////////////////////////////
// Funktion: ebeneEntmarkieren
// Erwartet: ProjektEbeneID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneEntmarkieren(ProjektEbeneID){
	var i;
	var arrLI=getElementsByName_iefix("span","span_prj");
	for(i=0 ; i<arrLI.length ; i++){
		arrLI[i].style.fontWeight="normal";
	}
}

////////////////////////////////////////////////////////
// Verschiebt ein Ebene aus der Projekt (Aufruf des Ajax Scriptes)
////////////////////////////////////////////////////////
// Funktion: ebeneVerschieben
// Erwartet: intProjektEbeneID,intIDProjekt
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneVerschieben(intMethod,intEbeneID,intVaterEbeneID,intProjektID,blnAufgeklapt,blnOhneProdukte){
	if(!arguments[4]) {blnAufgeklapt = 0};
	if(!arguments[5]) {blnOhneProdukte = 0};
	strDiv = "div_prj_" + intVaterEbeneID;
	new Ajax.Request('projektierung_verschieben.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				ebeneid: intEbeneID,
				projektid: intProjektID,
				method: intMethod
			}
		}
	)
	projektAktualisieren(intVaterEbeneID,strDiv,intProjektID,intEbeneID,blnAufgeklapt,blnOhneProdukte);
}

////////////////////////////////////////////////////////
// Ändern eine Artikelmenge in der Datenbank
////////////////////////////////////////////////////////
// Funktion: mengeAendern
// Erwartet: intEbeneFNRID,intMenge
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function mengeAendern(intEbeneFNRID,intMenge,strID,blnAufgeklapt,blnOhneProdukte,intVaterEbeneID,intProjektID){
	var intDefault=1;
	var strDiv = "div_prj_" + intVaterEbeneID;
	if(textIstNumeric(strID,intDefault)){
		new Ajax.Request('projektierung_menge.php',
			{
				//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
				evalJS:true,
				evalScripts:true,
				asynchronous:false,
				encoding:'UTF-8',
				method:'post',parameters: { 
					ebenefnrid: intEbeneFNRID,
					menge: intMenge
				}
			}
		)
	}
	projektAktualisieren(intVaterEbeneID,strDiv,intProjektID,intVaterEbeneID);
}

////////////////////////////////////////////////////////
// Legt eine Unterebene an
////////////////////////////////////////////////////////
// Funktion: ebeneAnlegen
// Erwartet: vid,name
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneAnlegen(vid,name_De,name_Fr,name_It,name_En,intProjektID,blnAufgeklapt,blnOhneProdukte){
	if(!arguments[6]) {blnAufgeklapt = 0};
	if(!arguments[7]) {blnOhneProdukte = 0};
	ebeneAnlegenDB(vid,name_De,name_Fr,name_It,name_En,intProjektID,blnAufgeklapt,blnOhneProdukte)
}

////////////////////////////////////////////////////////
// Legt eine Unterebene an (in der DB)
////////////////////////////////////////////////////////
// Funktion: ebeneAnlegenDB
// Erwartet: intVaterID,name,intProjektID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneAnlegenDB(intVaterID,name_De,name_Fr,name_It,name_En,intProjektID,blnAufgeklapt,blnOhneProdukte){
	if(!arguments[6]) {blnAufgeklapt = 0};
	if(!arguments[7]) {blnOhneProdukte = 0};
	strDiv = "div_prj_" + intVaterID;
	new Ajax.Request('projektierung_unterknot_anlegen.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				vid: intVaterID,
				name_De: name_De,
				name_Fr: name_Fr,
				name_It: name_It,
				name_En: name_En,								
				projektid : intProjektID,
				blnAufgeklapt:blnAufgeklapt,
				blnOhneProdukte:blnOhneProdukte
			}
		}
	)
	projektAktualisieren(intVaterID,strDiv,intProjektID,0,blnAufgeklapt,blnOhneProdukte);
}

////////////////////////////////////////////////////////
// Legt eine Unterebene an (in der DB)
////////////////////////////////////////////////////////
// Funktion: ebeneAnlegenDB
// Erwartet: intVaterID,name,intProjektID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110210
////////////////////////////////////////////////////////
function ebeneDuplizieren(intVaterID,intEbeneID,intProjektID){
	strDiv = "div_prj_" + intVaterID;
	new Ajax.Request('projektierung_duplizieren.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				vaterid: intVaterID,
				ebeneid : intEbeneID,											
				projektid : intProjektID
			}
		}
	)
	projektAktualisieren(intVaterID,strDiv,intProjektID,intEbeneID);
}

////////////////////////////////////////////////////////
// Fügt ein Teilprojekt hinzu
////////////////////////////////////////////////////////
// Funktion: ebeneEinfuegen
// Erwartet: intQuelleEbeneID,intZielEbeneID,intProjektID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
////////////////////////////////////////////////////////
function ebeneEinfuegen(intQuelleEbeneID,intQuelleProduktID,intZielEbeneID,intProjektID,blnAufgeklapt,blnOhneProdukte){
	if(!arguments[0]) {intQuelleEbeneID = 0};
	if(!arguments[1]) {intQuelleProduktID = 0};	
//	if(!arguments[2]) {intZielEbeneID = 0};	
//	if(!arguments[3]) {intProjektID = 0};	
	if(!arguments[4]) {blnAufgeklapt = 0};
	if(!arguments[5]) {blnOhneProdukte = 0};	

	if(intQuelleEbeneID>0){
		ladeScriptLayer('projektierung_einfuegen_input.php',400,0,'Einfügen',intQuelleEbeneID,intZielEbeneID,intProjektID,blnAufgeklapt,blnOhneProdukte);
	}

	if(intQuelleProduktID)
	{
		strDiv = "div_prj_" + intZielEbeneID;
		new Ajax.Updater('dummy','projektierung_einfuegen.php',
			{
				//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
				evalJS:true,
				evalScripts:true,
				asynchronous:false,
				encoding:'UTF-8',
				method:'post',parameters: { 
					quelleebeneid: intQuelleEbeneID,
					quelleproduktid: intQuelleProduktID,
					zielebeneid : intZielEbeneID,
					projektid : intProjektID,
					blnAufgeklapt: blnAufgeklapt,
					blnOhneProdukte: blnOhneProdukte
				}
			}
		)
	}
	//projektAktualisieren(intZielEbeneID,strDiv,intProjektID);
}

function ebeneEinfuegenErweitert(intModus,intQuelleEbeneID,intZielEbeneID,intProjektID,blnAufgeklapt,blnOhneProdukte){
	if(!arguments[0]) {intModus = 0};
	if(!arguments[1]) {intQuelleEbeneID = 0};
//	if(!arguments[2]) {intZielEbeneID = 0};	
//	if(!arguments[3]) {intProjektID = 0};	
	if(!arguments[4]) {blnAufgeklapt = 0};
	if(!arguments[5]) {blnOhneProdukte = 0};	

	intQuelleProduktID = 0;

	strDiv = "div_prj_" + intZielEbeneID;
	new Ajax.Updater('dummy','projektierung_einfuegen.php',
		{
			//Die Variablen werden über die Values der Formularfelder ermittelt und per JavaScript an das php Script übergeben
			evalJS:true,
			evalScripts:true,
			asynchronous:false,
			encoding:'UTF-8',
			method:'post',parameters: { 
				quelleebeneid: intQuelleEbeneID,
				quelleproduktid: intQuelleProduktID,
				zielebeneid : intZielEbeneID,
				projektid : intProjektID,
				blnAufgeklapt: blnAufgeklapt,
				blnOhneProdukte: blnOhneProdukte,
				intModus:intModus
			}
		}
	)
	//projektAktualisieren(intZielEbeneID,strDiv,intProjektID);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Zeigt ein Menu-Dropdown (zeigt/versteckt Menü-Einträge)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Funktion: zeigeDropDown
// Erwartet: intPositionBeruecksichtigen,intLoeschen,intUmbenennen,intUnterknotenAnlegen,intKopieren,intEinfuegen,intVerschieben
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function zeigeDropDownBearbeiten(intPositionBeruecksichtigen,intLoeschen,intUmbenennen,intUnterknotenAnlegen,intKopieren,intEinfuegen){
	if(intLoeschen == 1) {zeige('AktionLoeschen')} else {verstecke('AktionLoeschen')}
	if(intUmbenennen == 1) {zeige('AktionUmbenennen')} else {verstecke('AktionUmbenennen')}
	if(intUnterknotenAnlegen == 1) {zeige('AktionUnterknotenAnlegen')} else {verstecke('AktionUnterknotenAnlegen')}		
	if(intKopieren == 1) {zeige('AktionKopieren')} else {verstecke('AktionKopieren')}
	if(intEinfuegen > 0) {zeige('AktionEinfuegen')} else {verstecke('AktionEinfuegen')}

	//zeige('dropDownMenuAktionen',1);
	document.getElementById('dropDownMenuAktionen').style.display="block";
	if(intPositionBeruecksichtigen==1){
		document.getElementById('dropDownMenuAktionen').style.left = mouse_x;
		document.getElementById('dropDownMenuAktionen').style.top = mouse_y;
	}
}

/////////////////////////////////////////////////////
// Versteckt ein Menu-Dropdown (dropDownMenuAktionen)
/////////////////////////////////////////////////////
// Funktion: versteckeDropDown
// Erwartet: -
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
/////////////////////////////////////////////////////
function versteckeDropDownBearbeiten(){
	verstecke('dropDownMenuAktionen');
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Zeigt ein Menu-Dropdown (zeigt/versteckt Menü-Einträge)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Funktion: zeigeDropDownProjekt
// Erwartet: -
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110621
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function zeigeDropDownProjekt(){
	zeige('dropDownProjekt');
	document.getElementById('dropDownProjekt').style.left = mouse_x;
	document.getElementById('dropDownProjekt').style.top = mouse_y;
}

/////////////////////////////////////////////////////
// Versteckt ein Menu-Dropdown (dropDownProjekt)
/////////////////////////////////////////////////////
// Funktion: versteckeDropDownProjekt
// Erwartet: -
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110621
/////////////////////////////////////////////////////
function versteckeDropDownProjekt(){
	verstecke('dropDownProjekt');
}

/////////////////////////////////////////////////////
// zeige ein Element an
/////////////////////////////////////////////////////
// Funktion: zeige
// Erwartet: id,intPositionBeruecksichtigen
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
/////////////////////////////////////////////////////
function zeige(id,intPositionBeruecksichtigen){
	if(document.getElementById(id)){
		if(intPositionBeruecksichtigen==1){
			document.getElementById(id).style.left = mouse_x;
			document.getElementById(id).style.top = mouse_y;
		}
		document.getElementById(id).style.display = "table-row";	
	}
}

/////////////////////////////////////////////////////
// Versteckt ein Element
/////////////////////////////////////////////////////
// Funktion: verstecke
// Erwartet: id
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
/////////////////////////////////////////////////////
function verstecke(id){
	if(document.getElementById(id)){
		document.getElementById(id).style.display = "none";	
	}
}

/////////////////////////////////////////////////////
// Verwaltung von "+/-"-Events in Baümen
/////////////////////////////////////////////////////
// Funktion: untereEbenenVerwaltung_old
// Erwartet: strLI,strUL_Ebene,strUL_FNR
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
/////////////////////////////////////////////////////
function untereEbenenVerwaltung_old(strIMG,strUL_Ebene,strUL_FNR){
	if(document.getElementById(strIMG).getAttribute("aufzu")=='+'){
		zeige(strUL_Ebene);
		zeige(strUL_FNR);
		document.getElementById(strIMG).setAttribute("aufzu","-");
		document.getElementById(strIMG).setAttribute("src","./img/pfeilgraurunter.png");
	} else {
		verstecke(strUL_Ebene);
		verstecke(strUL_FNR);
		document.getElementById(strIMG).setAttribute("aufzu","+");
		document.getElementById(strIMG).setAttribute("src","./img/pfeilgraurechts.png");
	}
}

/////////////////////////////////////////////////////
// Verwaltung von "+/-"-Events in Baümen
/////////////////////////////////////////////////////
// Funktion: untereEbenenVerwaltung
// Erwartet: intVaterID,intChildID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
/////////////////////////////////////////////////////
function untereEbenenVerwaltung_Sicherung_20110712(intVaterID,intChildID){
	if(intVaterID>0){
		var oNodes = getElementsByName_iefix('ul','vaterID_' + intVaterID);
		for(var i=0 ; i <= oNodes.length -1 ; i++){
			if((oNodes[i].id == 'ul_prj_' + intChildID)){
				if(document.getElementById('img_prj_' + intChildID).getAttribute("aufzu") == "+"){
					oNodes[i].style.display="block";
					oNodes[i].getAttribute("EbeneID")
					zeige('ul_prj_fnr_' + oNodes[i].getAttribute("EbeneID"));
					if (document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).getAttribute("aufzu") != ""){
						document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("aufzu","-");
						document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("src","./img/pfeilgraurunter.png");
					}
				} else {
					oNodes[i].style.display="none";
					verstecke('ul_prj_fnr_' + oNodes[i].getAttribute("EbeneID"));
					if (document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).getAttribute("aufzu") != ""){
						document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("aufzu","+");
						document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("src","./img/pfeilgraurechts.png");
					}
				}
			} else {
				oNodes[i].style.display="none";
				verstecke('ul_prj_fnr_' + oNodes[i].getAttribute("EbeneID"));
				if (document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).getAttribute("aufzu") != ""){
					document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("aufzu","+");
					document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("src","./img/pfeilgraurechts.png");
				}
			}
		}
	}
}

/////////////////////////////////////////////////////
// Verwaltung von "+/-"-Events in Baümen
/////////////////////////////////////////////////////
// Funktion: untereEbenenVerwaltung
// Erwartet: intVaterID,intChildID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
/////////////////////////////////////////////////////
//function untereEbenenVerwaltung_20110826(intVaterID,intChildID,blnPfeilClick){
//	if(intVaterID>0){
//		//alert(intVaterID);
//		//alert(intChildID);
//		var oNodes = getElementsByName_iefix('ul','vaterID_' + intVaterID);
//		if (document.getElementById('img_prj_' + intChildID).getAttribute("aufzu")=="+" || blnPfeilClick)
//		{
//			for(var i=0 ; i <= oNodes.length -1 ; i++){
//				if((oNodes[i].id == 'ul_prj_' + intChildID)){
//					if(document.getElementById('img_prj_' + intChildID).getAttribute("aufzu") == "+"){
//						oNodes[i].style.display="block";
//						oNodes[i].getAttribute("EbeneID")
//						zeige('ul_prj_fnr_' + oNodes[i].getAttribute("EbeneID"));
//						if (document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).getAttribute("aufzu") != ""){
//							document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("aufzu","-");
//							document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("src","./img/pfeilgraurunter.png");
//						}
//					} else {
//						oNodes[i].style.display="none";
//						verstecke('ul_prj_fnr_' + oNodes[i].getAttribute("EbeneID"));
//						if (document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).getAttribute("aufzu") != ""){
//							document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("aufzu","+");
//							//Schnellschuss-Lösung -> TODO -> "spacer.png" entfernen
//							if(document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).getAttribute("src")!="./img/spacer.png"){
//								document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("src","./img/pfeilgraurechts.png");
//							}
//						}
//					}
//				} else {
//					oNodes[i].style.display="none";
//					verstecke('ul_prj_fnr_' + oNodes[i].getAttribute("EbeneID"));
//					if (document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).getAttribute("aufzu") != ""){
//						document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("aufzu","+");
//						//Schnellschuss-Lösung -> TODO -> "spacer.png" entfernen
//						if(document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).getAttribute("src")!="./img/spacer.png"){
//							document.getElementById('img_prj_' + oNodes[i].getAttribute("EbeneID")).setAttribute("src","./img/pfeilgraurechts.png");
//						}
//					}
//				}
//			}
//		}
//	}
//}

function untereEbenenVerwaltung(intVaterID,intChildID,blnPfeilClick){
	if(intVaterID>0){
		var oNode = document.getElementById('ul_prj_' + intChildID);
		var oNodeImg = document.getElementById('img_prj_' + intChildID);
		if(oNode){
			if(oNodeImg.getAttribute("aufzu") == "+" || blnPfeilClick ){

				if(oNodeImg.getAttribute("aufzu") == "+"){
					oNode.style.display="block";
					zeige('ul_prj_fnr_' + oNode.getAttribute("EbeneID"));
					if (document.getElementById('img_prj_' + intChildID).getAttribute("aufzu") != ""){
						document.getElementById('img_prj_' + intChildID).setAttribute("aufzu","-");
						document.getElementById('img_prj_' + intChildID).setAttribute("src","./img/pfeilgraurunter.png");
					}
				} else {
					oNode.style.display="none";
					verstecke('ul_prj_fnr_' + oNode.getAttribute("EbeneID"));
					if (document.getElementById('img_prj_' + intChildID).getAttribute("aufzu") != ""){
						document.getElementById('img_prj_' + intChildID).setAttribute("aufzu","+");
						//Schnellschuss-Lösung -> TODO -> "spacer.png" entfernen
						if(document.getElementById('img_prj_' + intChildID).getAttribute("src")!="./img/spacer.png"){
							document.getElementById('img_prj_' + intChildID).setAttribute("src","./img/pfeilgraurechts.png");
						}
					}
				}
			}
		} else console.log('Knot nicht gefunden');
	}
}

///////////////////////////////////////////////////////
// Verwaltung von "+/-"-Events in Artikeldeskriptionen
///////////////////////////////////////////////////////
// Funktion: artikelKurztextVerwaltung
// Erwartet: strID,strBildID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
///////////////////////////////////////////////////////
function artikelKurztextVerwaltung(strID,strBildID){
	if(document.getElementById(strID).getAttribute("aufzu")=='+'){
		zeige(strID);
		document.getElementById(strID).setAttribute("aufzu","-");
		document.getElementById(strBildID).setAttribute("src","./img/pfeilgraurunter.png");
	} else {
		verstecke(strID);
		document.getElementById(strID).setAttribute("aufzu","+");
		document.getElementById(strBildID).setAttribute("src","./img/pfeilgraurechts.png");
	}
}

///////////////////////////////////////////////////////
// Liefert das Wert eines Elementes
///////////////////////////////////////////////////////
// Funktion: valueGet
// Erwartet: id
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
///////////////////////////////////////////////////////
function valueGet(id){
	return document.getElementById(id).value;	
}

///////////////////////////////////////////////////////
// Schreibt das Wert eines Elementes
///////////////////////////////////////////////////////
// Funktion: valueSet
// Erwartet: id,value
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
///////////////////////////////////////////////////////
function valueSet(id,value){
	document.getElementById(id).value = value;	
}

/////////////////////////////////////////////////////
// Verwaltung von "+/-"-Events im Bestellenbaum
/////////////////////////////////////////////////////
// Funktion: untereEbenenBestellenVerwaltung
// Erwartet: intVaterID,intChildID
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
/////////////////////////////////////////////////////
var arrZu = new Array();

function remove(arr, val) {
    for(var i=0; i<arr.length; i++) {
        if(arr[i] == val) {
            arr.splice(i, 1);
            break;
        }
    }
}

function contains(a, regex,index){
  var sp;
  for(var i = 0; i < a.length; i++) {
	sp=a[i].split('*') ;
	if(sp[index]==regex){
      return i;
    }
  }
  return -1;
}

function untereEbenenBestellenVerwaltung(pstrVaterID,blnPfeilClick){
	console.clear();
	if(pstrVaterID!=""){
		var oVater = document.getElementById(pstrVaterID);
		var strAufZu = oVater.getAttribute("aufzu"); 

		if (strAufZu == "-" || blnPfeilClick){

			if(strAufZu == "-"){
				document.getElementById(oVater.id).setAttribute("aufzu","+");
				document.getElementById('img_prj_'+oVater.id).setAttribute("src","./img/pfeilgraurunter.png");
			} else {
				document.getElementById(oVater.id).setAttribute("aufzu","-");
				document.getElementById('img_prj_'+oVater.id).setAttribute("src","./img/pfeilgraurechts.png");
			}
	
			var table = document.getElementById("table_bestellen"); 
			var cells = table.getElementsByTagName("tr"); 
	
			for (var i = 0; i < cells.length; i++) { 
				var strID = cells[i].getAttribute("id"); 
				var strVaterID = cells[i].getAttribute("vater_id"); 
				if(strVaterID && strAufZu){ 
					if(strVaterID.indexOf(pstrVaterID)>-1){
						if(strAufZu == "-"){
							{
								remove(arrZu, pstrVaterID + '*' + strID);
								if(contains(arrZu,strID,1)==-1 || contains(arrZu,pstrVaterID + '*' + strID,1)>-1){
									cells[i].style.display="table-row";
									//document.getElementById(cells[i].id).setAttribute("aufzu","+");
								} 
							}
						} else {
							cells[i].style.display="none";
							//document.getElementById(cells[i].id).setAttribute("aufzu","-");
							if(contains(arrZu,strID,1)==-1){
								arrZu[arrZu.length] = pstrVaterID + '*' + strID;
							} 
						}
					}
				}
			}
		}
	}
}


///////////////////////////////////////////////////////
// Sichert die Mouse-Position
///////////////////////////////////////////////////////
// Funktion: save_mouse_pos
// Erwartet: event
// Ausgabe: -
// Angelegt: Eric THIEBAUT 20110214
///////////////////////////////////////////////////////
function MoveHandler(e) {
mouse_x = e.pageX - 10;
mouse_y = e.pageY - 10;
//document.getElementById("test").innerHTML = mouse_x + " " + mouse_y;
}
 
function MoveHandlerIE() {
mouse_x = window.event.x// + document.body.scrollLeft;
mouse_y = window.event.y - 5// + document.body.scrollTop;
//document.getElementById("test").innerHTML = mouse_x + " " + mouse_y;
}

function redirect2URL(strURL){
	document.location.href=strURL;	
}

if (navigator.appName.substring(0,3) == "Net") {
	if(document.all) window.attachEvent('onmousemove', MoveHandlerIE)
	else window.addEventListener('mousemove', MoveHandler , false)
	document.onmousemove = MoveHandler;
} else {
	document.onmousemove = MoveHandlerIE;
}

function Coords () {
  if (window.event){
	mouse_x = window.event.x;
	mouse_y = window.event.y;  
  }
}
