var PanelID
var FieldIDPers
var FieldIDLoc
var FieldIDCon

function setVariables()
{
	PanelID = document.getElementById('_PopUpPanels').value.split(',');
	FieldIDPers = document.getElementById('_PopUpPerson').value.split(',');
	FieldIDLoc = document.getElementById('_PopUpLocation').value.split(',');
	FieldIDCon = document.getElementById('_PopUpConnection').value.split(',');
}
//======================================================================================================================================
//Diese Funktion \u00F6ffnet/schliesst das Popup
function setVisible(ID,OC)
{
	//Variabeln setzen
	setVariables()
	
	//Macht das Popup unsichtbar
	obj = document.getElementById(PanelID[ID]);
	if (OC == "O"){
		obj.style.visibility = 'visible';
	}else {
		obj.style.visibility = 'hidden'
	}	
}
//======================================================================================================================================
//Diese Funktion verarbeitet die Daten zum Mitarbeiter-Popup
function setVisiblePerson(Education,Expert,Responsibilities,furtherLanguages,DBPath,UNIID,GADirectoryPicturePicName,GADirectoryPicture_Published,LastName,FirstName,OfficePhoneNumber,OfficeFaxNumber,EMail,Mobile,MobilePriv,Language)
{
	//Felder- und Panel-IDs holen
	setVariables()
		
	//Bild-URL generieren
	if(GADirectoryPicturePicName != ""){
		if(GADirectoryPicture_Published == "approved"){	
			var _PicPath = DBPath+'/0/'+UNIID+'/$file/'+GADirectoryPicturePicName
		}
		else {_PicPath = "NoPortrait"}
	}else {_PicPath = "NoPortrait"}
 	
 	//Vorwahl einf\u00FCgen
 	if (OfficePhoneNumber.substr(0,1) == "0") {OfficePhoneNumber=OfficePhoneNumber.substr(1);}
	if (OfficePhoneNumber != "") {OfficePhoneNumber = "+41 "+OfficePhoneNumber}
	
	if (OfficeFaxNumber.substr(0,1) == "0") {OfficeFaxNumber=OfficeFaxNumber.substr(1);}
	if (OfficeFaxNumber != "") {OfficeFaxNumber = "+41 "+OfficeFaxNumber}
		if (Mobile.substr(0,1) == "0") {Mobile=Mobile.substr(1);} 	if (Mobile != "") {Mobile = "+41 "+Mobile}
 		
 	//Nachname Kapitalisieren
 	LastName = LastName.toUpperCase();
 	
	//Werte aus den Parameter holen und in das Feld schreiben.
	var Field = new Array("PopUpPortrait","PopUpEducation","PopUpExpert","PopUpResponsibilities","PopUpfurtherLanguages","PopUpLastName","PopUpFirstName","PopUpOfficePhoneNumber","PopUpOfficeFaxNumber","EMail","PopUpMobile","PopUpMobilePriv");
	var Value = new Array(_PicPath,Education,Expert,Responsibilities,furtherLanguages,LastName,FirstName,OfficePhoneNumber,OfficeFaxNumber,EMail,Mobile,MobilePriv);
	
	//Durch die Arrays laufen und die Werte in die Felder abf\u00FCllen
	for (var i = 0; i < Value.length; ++i){
		setValues(Field[i], FieldIDPers[i], Value[i],DBPath,Language);
	}
		
	//Macht das Popup Sichtbar
	setVisible("0","O");
}
//======================================================================================================================================
//Diese Funktion verarbeitet die Daten zum Standort-Popup
function setVisibleLocation(CompanyName, Street, ZipCode, City, PhoneNumber, FaxNumber, EMail)
{
	//Felder- und Panel-IDs holen
	setVariables()
	
	//Vorwahl einf\u00FCgen
	if (PhoneNumber.substr(0,1) == "0") {PhoneNumber=PhoneNumber.substr(1);} 
	if (PhoneNumber != "") {PhoneNumber = "+41 "+PhoneNumber}
	
	if (FaxNumber.substr(0,1) == "0") {FaxNumber=FaxNumber.substr(1);} 
	if (FaxNumber != "") {FaxNumber = "+41 "+ FaxNumber}

	CompanyName = CompanyName.substr(3)

	//Werte aus den Parameter holen und in das Feld schreiben.
	var Field = new Array("PopUpCompanyName", "PopUpStreet", "PopUpZipCode", "PopUpCity", "PopUpPhoneNumber", "PopUpFaxNumber", "EMail");
	var Value = new Array(CompanyName, Street, ZipCode, City, PhoneNumber, FaxNumber, EMail);
	
	//Durch die Arrays laufen und die Werte in die Felder abf\u00FCllen
	for (var i = 0; i < Value.length; ++i){
		setValues(Field[i], FieldIDLoc[i], Value[i])
	}
	
	//Macht das Popup Sichtbar
	setVisible("1","O");
}
//======================================================================================================================================
//Diese Funktion verarbeitet die Daten zum Connection-Popup
function setVisibleConnection(OfficePhoneNumber, OfficeFaxNumber, Mobile)
{
	//Felder- und Panel-IDs holen
	setVariables()
	
	//Vorwahl einf\u00FCgen
 	if (OfficePhoneNumber.substr(0,1) == "0") {OfficePhoneNumber=OfficePhoneNumber.substr(1);}
	if (OfficePhoneNumber != "") {OfficePhoneNumber = "+41 "+OfficePhoneNumber}
	
	if (OfficeFaxNumber.substr(0,1) == "0") {OfficeFaxNumber=OfficeFaxNumber.substr(1);}
	if (OfficeFaxNumber != "") {OfficeFaxNumber = "+41 "+OfficeFaxNumber}
	
	if (Mobile.substr(0,1) == "0") {Mobile=Mobile.substr(1);} 
	if (Mobile != "") {Mobile = "+41 "+Mobile}
	
	//Werte aus den Parameter holen und in das Feld schreiben.
	var Field = new Array("PopUpOfficePhoneNumberCon", "PopUpOfficeFaxNumberCon", "PopUpMobileCon");
	var Value = new Array(OfficePhoneNumber, OfficeFaxNumber, Mobile);
	
	//Durch die Arrays laufen und die Werte in die Felder abf\u00FCllen
	for (var i = 0; i < Value.length; ++i){
		setValues(Field[i], FieldIDCon[i], Value[i])
	}
		
	//Macht das Popup Sichtbar
	setVisible("2","O");
}
//======================================================================================================================================
//Diese Funktion f\u00FCllt die Werte in die jeweiligen Felder ab
function setValues(Field,FieldID, Value,DBFP,Language){

	//Label setzen
	if(Value == ""){
		setLabels(Field,"NO",Language)
	}else {
		setLabels(Field,"YES",Language)
	}
	
	//Wenn das PopUp zum ersten Mal ge\u00F6ffnet wird, Node erstellen
	var displayField = document.getElementById(FieldID);
	if (displayField) {
		if (displayField.firstChild == null){
			switch (Field) {
	 		 case "PopUpPortrait":
	    		//Portrait
   		 		if (Value != "NoPortrait") {
					var nodeImg=document.createElement("img");
					nodeImg.setAttribute("src", Value);
					document.getElementById(FieldID).appendChild(nodeImg);
				}else {
					var nodeImg=document.createElement("img");
					nodeImg.setAttribute("src", DBFP + "/DefaultPortraitGA.JPG");
					document.getElementById(FieldID).appendChild(nodeImg);
				}
    			break;
 	 		case "EMail":
	  			//EMail-Link
  	 			var nodeLink=document.createElement("a");
  	 			nodeLink.setAttribute("href", "mailto:"+Value);
  	 			nodeLinkText = document.createTextNode(Value)
   				nodeLink.appendChild(nodeLinkText)
				document.getElementById(FieldID).appendChild(nodeLink);
   		 		break;
  			default:
  				//Normaler Text
    			document.getElementById(FieldID).appendChild(document.createTextNode(Value));
   		 		break;
			}		
		} 
		//Wenn das PopUp bereits einmal ge\u00F6ffnet wurde, das node nur noch ersetzen
		else {
			switch (Field) {
 			 case "PopUpPortrait":
 			 	//Portrait - nur erstetzen wenn Bild publiziert
 			 	if (Value != "NoPortrait") {
   		 			//Feld mit HTML-Code abf\u00FCllen
					var nodeImg=document.createElement("img");
					nodeImg.setAttribute("src", Value);
					document.getElementById(FieldID).replaceChild(nodeImg, document.getElementById(FieldID).firstChild);}
				//Node l\u00F6schen
				else {
					var nodeImg=document.createElement("img");
					nodeImg.setAttribute("src",DBFP + "/DefaultPortraitGA.JPG");
					document.getElementById(FieldID).replaceChild(nodeImg, document.getElementById(FieldID).firstChild);}
    			break;
  			case "EMail":
  				//EMail-Link
   				var nodeLink=document.createElement("a");
  	 			nodeLink.setAttribute("href", "mailto:"+Value);
   				nodeLinkText = document.createTextNode(Value)
   				nodeLink.appendChild(nodeLinkText)
				document.getElementById(FieldID).replaceChild(nodeLink, document.getElementById(FieldID).firstChild);
   		 		break;
  			default:
  				//Normaler Text
   		 		document.getElementById(FieldID).firstChild.nodeValue = Value;
   		 		break;
			}
		}
	}
}
//======================================================================================================================================
function setLabels(FieldName,Write,Language){
	//Felder- und Panel-IDs holen
	var Gap = document.getElementById('_PopUpPersLabelsGaps').value.split(',');
	var FieldID = document.getElementById('_PopUpPersLabels').value.split(',');
	var Field = new Array("PopUpExpert", "PopUpEducation", "PopUpfurtherLanguages","PopUpOfficePhoneNumber","PopUpOfficeFaxNumber","PopUpMobile","PopUpMobilePriv","PopUpMobileCon");
	var FieldIDName = "NoValue"
	
	//Sprachspezifische Labels abf\u00FCllen
	if (Language == "fr"){
		var FieldValue = new Array("Domaine de sp\u00E9cialisation: ", "Formation:", "Langues de conseil:","T\u00E9l.: ","Fax: ", "Mobile: ", "Priv\u00E9: ", "Mobile: ");
	}else{
	if (Language == "it"){
		var FieldValue = new Array("Specializzazione: ", "Formazione:", "Lingue consulenza:", "Tel.: ", "Fax: ", "Cell.: ", "Privato: ", "Cell.: ");
	}else{
		var FieldValue = new Array("Fachgebiet: ", "Ausbildung:", "Beratungssprachen:","Tel.: ", "Fax: ", "Mobile: ", "Privat: ", "Mobile: ");}
	}
	//Vom Feldname ausgehend, die Variabeln abf\u00FCllen
	for (var i = 0; i < Field.length; ++i){
		if (Field[i] == FieldName){
			FieldIDName = FieldID[i]
			FieldValueText = FieldValue[i]
			FieldIDGap = Gap[i]
			}
	}
	
	//Falls ein Label gefunden wurde, das Label sowie den Gap abf\u00FCllen
	if (FieldIDName != "NoValue"){
		var displayField = document.getElementById(FieldIDName);
		if (displayField){
			if (displayField.firstChild == null){
				if (Write == "YES"){
    				document.getElementById(FieldIDName).appendChild(document.createTextNode(FieldValueText));
    				if(FieldIDGap != ""){document.getElementById(FieldIDGap).appendChild(document.createTextNode("."))};
    			}else{
    				document.getElementById(FieldIDName).appendChild(document.createTextNode(""));
    				if(FieldIDGap != ""){document.getElementById(FieldIDGap).appendChild(document.createTextNode(""))};
    			}		
			} else {
				if (Write == "YES"){
   		 			document.getElementById(FieldIDName).firstChild.nodeValue = FieldValueText;
   		 			if(FieldIDGap != ""){document.getElementById(FieldIDGap).firstChild.nodeValue = "."};
    			} else {				 
    				document.getElementById(FieldIDName).firstChild.nodeValue = ""
    				if(FieldIDGap != ""){document.getElementById(FieldIDGap).firstChild.nodeValue = ""};
   		 		}						 
			}
		}
	}
}
