var dataObj = null;
var columnsToShow = new Array('orgnamel','orgnamek','gemname','vereinsregisternr','orgtyp');
var dateStringsCreated = false;
var dateFields = new Array('datumzeit_von','datumzeit_bis');
var lastColSorted = '';
var sortNext = '';
var pk = '';
var curID = '';
var showTirisLink = true;
var numericSort = false;

function searchOrgs(primaryKey) {
	WebUI.Display.clearMessages();
	var formu = dojo.byId('orgSuchFormular');
	pk = primaryKey;
	var req = new WebUI.Ajax.Request({url: "orgPublic.show", cmd: "findOrgs", onLoad: cbSearch, onError: cbSearch, 
		data : { orgnamel: formu.orgnamel.value, gemname: formu.gemname.value, 
				bezoestat: formu.bezoestat.value, sartid: formu.sartid.value, regidorgtyp: formu.regidorgtyp.value } 
	});
	req.execute();
}

function searchEvents(formu, primaryKey) {
	WebUI.Display.clearMessages();
	pk = primaryKey;
	var req = new WebUI.Ajax.Request({url: "kalPublic.show", cmd: "searchEvents", onLoad: cbSearch, onError: cbSearch, 
		data : { veranstname: formu.veranstname.value, regidveranstkat: formu.regidveranstkat.value, 
				jahr1: formu.jahr1.value, sartid: formu.sartid.value, jahr2: formu.jahr2.value } 
	});
	req.execute();
}

function searchStaetten(primaryKey) {
	WebUI.Display.clearMessages();
	var formu = dojo.byId('staetteSuchFormular');
	pk = primaryKey;
	var req = new WebUI.Ajax.Request({url: "staettenPublic.show", cmd: "searchStaetten", onLoad: cbSearch, onError: cbSearch, 
		data : { sstaettename: formu.sstaettename.value, gemname: formu.gemname.value, 
				stypid: formu.stypid.value, sartid: formu.sartid.value, anlageid: formu.anlageid.value } 
	});
	req.execute();
}

function cbSearch(/* WebUI.Ajax.Response */ response) {
	removeDataRows(document.getElementById('tb'));
	// createDateStrings(response.data);
	dataObj = response.data;
	if(dataObj != null && dataObj.valueList.length > 0) {
		createTable(dataObj, true, 'tb');
	}
	WebUI.Theme.handleBodyResize();
}

function createTable(dataObj, /* boolean */ ascending, tbodyName) {
	try {
		var tbod = document.getElementById(tbodyName);
		if (ascending) {
			for (var i=0;i<dataObj.valueList.length;i++) {
				appendRow(i, tbod);
			}
		} else {
			for (var i=dataObj.valueList.length-1;i>=0;i--) {
				appendRow(i, tbod);
			}
		}
	} catch (ex) {
		handleAusnahme(ex,'createTable');
	}
}

function appendRow(rowNum, tbod) {
	var valueObject = dataObj.valueList[rowNum];
	var seq = valueObject[getIndexFor(dataObj.columns,pk)];
	var newRow = document.createElement('tr');
	tbod.appendChild(newRow);
	newRow.id = 'v'+seq;
	if (tbod.rows.length%2 == 0) {
		newRow.className = 'even';
	} else {
		newRow.className = 'odd';
	}	
	var typo;	
	switch(pk) {
		case 'veranstid':
			typo = 'Event';
			break;
		case 'staetteid':
			typo = 'Staette';
			break;
		default:
			typo = 'Org';
			break;
	}		
	var newCol, a, href, imgSrc, img;	
	// 1.Spalte: Detail-Icon mit Link
	newCol = dojo.create("td", {}, newRow);
	href='javascript:get'+typo+'Details('+seq+')';
	var imgSrc =  dojo.moduleUrl("webbasic", "img/global/blank.gif").uri;
	a = dojo.create("a", { href: href}, newCol);			
	img = dojo.create("img", {src: imgSrc, title: "Detailansicht", className: "icon icon-use"}, a);	
	
	// 2.Spalte: TIRIS-Link, wenn vorhanden bzw. benötigt
	if (showTirisLink) {
		newCol = dojo.create("td", {className: "icon"}, newRow);
		var gwrCode = valueObject[getIndexFor(dataObj.columns,'adrcodegwr')];		
		if (gwrCode != null && gwrCode.length>0) {			
			href = "javascript:addressPane.showAddress({ gwrcode: '" + gwrCode + "'} )";
			a = dojo.create("a", { href: href}, newCol);
			img = dojo.create("img", {src: imgSrc, title: "TIRIS-Link", className: "icon icon-map"}, a);	
		} else {			
			newCol.innerHTML = '-';
		}
	}	
	// weitere Spalten: Daten
	var indices = getIndicesFor(dataObj.columns, columnsToShow);
	for (var j=0;j<columnsToShow.length;j++) {
		newCol = dojo.create("td", {}, newRow);
		if (arrayContains(dateFields, columnsToShow[j])) {
			newCol.innerHTML = valueObject[indices[j]].dateString;
		} else {
			if (pk == 'staetteid' && columnsToShow[j] == 'anlagename') {
				href = "javascript:getAnlageDetails("+valueObject[getIndexFor(dataObj.columns,'anlageid')]+")";
				dojo.create('a', {href: href, innerHTML: valueObject[indices[j]]}, newCol);
			} else {
				newCol.innerHTML = valueObject[indices[j]];
			}
		}
	}
}

function createDateStrings(dataObj) {
	for (var i=0;i<dataObj.valueList.length;i++) {
		for (var j=0;j<dateFields.length;j++) {
			var datum = dataObj.valueList[i][dateFields[j]];
			var dateStr = '';
			if (datum.date < 10) {
				dateStr += '0';
			}
			dateStr += datum.date.toString();
			dateStr += '.';
			datum.month = Number(datum.month)+1;
			if (datum.month < 10) {
				dateStr += '0';
			}
			dateStr += datum.month.toString();
			dateStr += '.';
			datum.year = 1900 + Number(datum.year);
			dateStr += datum.year.toString();
			dateStr += ' ';
			if (datum.hours < 10) {
				dateStr += '0';
			}
			dateStr += datum.hours;
			dateStr += ':';
			if (datum.minutes < 10) {
				dateStr += '0';
			}
			dateStr += datum.minutes;
			datum.dateString=dateStr;
		}
	}
	dateStringsCreated = true;
}

function removeDataRows(tableBodyElement) {
	try {
		var bodyRows = tableBodyElement.rows;
		if (bodyRows.length > 0) {
			for (var i=bodyRows.length-1;i>=0;i--) {
				tableBodyElement.removeChild(bodyRows[i]);
			}
		}
	} catch (ex) {
		handleAusnahme(ex,'removeDataRows');
	}
}

function sortTable(/* String */colName, /* boolean */ascending) {

	
	
	if (dataObj != null) {
		if (colName.charAt(0) == '$') {
			numericSort = true;
			colName = realValue(colName);
		} else {
			numericSort = false;
		}
		if (lastColSorted != colName) {
			sortNext = colName;
			dataObj.valueList.sort(sortDataObject);
			lastColSorted = colName;
		}
		removeDataRows(document.getElementById('tb'));
		createTable(dataObj, ascending, 'tb');
	}
}

function detailansicht() {
	dojo.addClass("queryFieldset", "hidden");
	dojo.addClass("bb1", "hidden");
	dojo.addClass("liste", "hidden");
	dojo.removeClass("detailTable", "hidden");
	dojo.removeClass("bb2", "hidden");
	if (dojo.byId("detailTable2") && dojo.byId("bb3")) {
		dojo.addClass("detailTable2", "hidden");
		dojo.addClass("bb3", "hidden");
		// dojo.byId('pagetitle').innerHTML = ' Suche nach Sportstätten ';
		replaceTextNode(dojo.byId('pagetitlehead'),' Suche nach Sportstätten ');
	}
	WebUI.Theme.handleBodyResize();
}

function suchmaske() {
	dojo.removeClass("queryFieldset", "hidden");
	dojo.removeClass("bb1", "hidden");
	dojo.removeClass("liste", "hidden");
	dojo.addClass("detailTable", "hidden");
	dojo.addClass("bb2", "hidden");
	if (dojo.byId("detailTable2") && dojo.byId("bb3")) {
		dojo.addClass("detailTable2", "hidden");
		dojo.addClass("bb3", "hidden");
		// dojo.byId('pagetitle').innerHTML = ' Suche nach Sportstätten ';
		replaceTextNode(dojo.byId('pagetitlehead'),' Suche nach Sportstätten ');
	}
	if (pk == 'orgid') {
		dojo.addClass("functionsTable", "hidden");
		dojo.byId('ueberschrift').innerHTML = '';
		dojo.byId('ueberschrift').style.display = 'none';
		deleteAllChildren(dojo.byId('functionsTable'));
	}
	WebUI.Theme.handleBodyResize();
}

function anlageansicht() {
	// dojo.byId('pagetitle').innerHTML = ' Anlage - Detailansicht ';
	replaceTextNode(dojo.byId('pagetitlehead'),' Anlage - Detailansicht ');
	if (dojo.byId('queryFieldset').className.search('hidden') == -1) {
		dojo.byId('backButton').onclick = suchmaske;
		dojo.addClass("queryFieldset", "hidden");
		dojo.addClass("bb1", "hidden");
		dojo.addClass("liste", "hidden");
	} else {
		dojo.byId('backButton').onclick = detailansicht;
		dojo.addClass("detailTable", "hidden");
		dojo.addClass("bb2", "hidden");
	}
	dojo.removeClass("detailTable2", "hidden");
	dojo.removeClass("bb3", "hidden");
	WebUI.Theme.handleBodyResize();
}

function getOrgDetails(seq) {
	detailansicht();
	document.location.href= "#top";
	var pkIndex = getIndexFor(dataObj.columns,pk);
	for (var i=0;i<dataObj.valueList.length;i++) {
		if (dataObj.valueList[i][pkIndex] == seq) {
			var valObj = dataObj.valueList[i];
			curID = valObj[getIndexFor(dataObj.columns,'orgid')];
			replaceTextNode(dojo.byId('spName'),valObj[getIndexFor(dataObj.columns,'orgnamel')]);
			replaceTextNode(dojo.byId('spAnschrift'),getAdresse(valObj,false));
			replaceTextNode(dojo.byId('spTelefon'),valObj[getIndexFor(dataObj.columns,'tel')]);
			replaceTextNode(dojo.byId('spMobil'),valObj[getIndexFor(dataObj.columns,'mobil')]);
			replaceTextNode(dojo.byId('spFax'),valObj[getIndexFor(dataObj.columns,'fax')]);
			replaceTextNode(dojo.byId('$spEmail'),valObj[getIndexFor(dataObj.columns,'email')]);
			replaceTextNode(dojo.byId('_spHome'),valObj[getIndexFor(dataObj.columns,'homepage')]);
			var req = new WebUI.Ajax.Request({url: "orgPublic.show", cmd: "getSportarten", onLoad: cbGetSportarten, onError: cbGetSportarten, 
				data : { orgid: valObj[getIndexFor(dataObj.columns,'orgid')] } 
			});
			req.execute();
		}
	}
	WebUI.Theme.handleBodyResize();
}

function getStaetteDetails(seq) {
	var req = new WebUI.Ajax.Request({url: "staettenPublic.show", cmd: "showDetail", onLoad: cbStaetteDetails, 
		data : { staetteid: seq } 
	});
	req.execute();
}

function cbStaetteDetails(/* WebUI.Ajax.Response */ response) {
	detailansicht();
	document.location.href= "#top";
	var valObj = response.data;
	curID = valObj.staetteid;
	replaceTextNode(dojo.byId('spName'),valObj.sstaettename);
	replaceTextNode(dojo.byId('spAnschrift'),getAdresse(valObj,true));
	replaceTextNode(dojo.byId('spTelefon'),valObj.festnetz);
	replaceTextNode(dojo.byId('spMobil'),valObj.mobil);
	replaceTextNode(dojo.byId('spFax'),valObj.fax);
	replaceTextNode(dojo.byId('$spEmail'),valObj.email);
	replaceTextNode(dojo.byId('_spHome'),valObj.sstaetteurl);
	replaceTextNode(dojo.byId('spOrg'),valObj.organisation);
	replaceTextNode(dojo.byId('spKontaktperson'),valObj.kontaktperson);
	if (valObj.anlageid == null || valObj.anlageid.length == 0) {
		replaceTextNode(dojo.byId('spAnlage'),valObj.anlage);
	} else {
		deleteAllChildren(dojo.byId('spAnlage'));
		newA = document.createElement('a');
		newA.href = "javascript:getAnlageDetails("+valObj.anlageid+")";
		dojo.byId('spAnlage').appendChild(newA);
		newA.appendChild(document.createTextNode(valObj.anlage));
	}
	replaceTextNode(dojo.byId('spSportarten'),valObj.sportarten);
	var attribute = valObj.attribute.valueList;
	var detailTable = dojo.byId('detailTable');
	// alle bisherigen Zusatzattribute löschen
	for (var i=0;i<100;i++) {
		if (dojo.byId('key'+i)) {
			deleteAllChildren(dojo.byId('key'+i));
			deleteAllChildren(dojo.byId('val'+i));
			detailTable.removeChild(dojo.byId('key'+i));
			detailTable.removeChild(dojo.byId('val'+i));
		} else {
			break;
		}
	}
	for (var i=0;i<attribute.length;i++) {
		var attribut = attribute[i];
		// hardcodiert, wird aber momentan so beibehalten
		if (attribut[getIndexFor(valObj.attribute.columns,'attributName')] != 'SISID') { 
			neuedt = document.createElement('dt');
			neuedt.id = 'key'+i;
			detailTable.appendChild(neuedt);
			neuedt.appendChild(document.createTextNode(attribut[getIndexFor(valObj.attribute.columns,'attributName')]));
			neuedd = document.createElement('dd');
			neuedd.id = 'val'+i;
			detailTable.appendChild(neuedd);
			var attWertIndex = [getIndexFor(valObj.attribute.columns,'attributWert')]
			if (attribut[attWertIndex] == null || attribut[attWertIndex].length == 0) {
				neuedd.appendChild(document.createTextNode('-'));
			} else {
				neuedd.appendChild(document.createTextNode(attribut[attWertIndex]));
			}
		}
	}
	WebUI.Theme.handleBodyResize();
}

function getAnlageDetails(seq) {
	var req = new WebUI.Ajax.Request({url: "staettenPublic.show", cmd: "showAnlageDetails", onLoad: cbAnlageDetails, 
		data : { anlageid: seq } 
	});
	req.execute();
}

function cbAnlageDetails(/* WebUI.Ajax.Response */ response) {
	anlageansicht();
	document.location.href= "#top";
	var valObj = response.data;
	replaceTextNode(dojo.byId('spAnlName'),valObj.anlagename);
	replaceTextNode(dojo.byId('spAnlAnschrift'),getAdresse(valObj,true));
	replaceTextNode(dojo.byId('spAnlTelefon'),valObj.festnetz);
	replaceTextNode(dojo.byId('spAnlMobil'),valObj.mobil);
	replaceTextNode(dojo.byId('spAnlFax'),valObj.fax);
	replaceTextNode(dojo.byId('$spAnlEmail'),valObj.email);
	replaceTextNode(dojo.byId('_spAnlHome'),valObj.anlageurl);
	WebUI.Theme.handleBodyResize();
}

function getEventDetails(seq) {
	detailansicht();
	document.location.href= "#top";
	var pkIndex = getIndexFor(dataObj.columns,pk);
	for (var i=0;i<dataObj.valueList.length;i++) {
		if (dataObj.valueList[i][pkIndex] == seq) {
			var valObj = dataObj.valueList[i];
			curID = valObj[getIndexFor(dataObj.columns,'orgid')];
			replaceTextNode(dojo.byId('spName'),valObj[getIndexFor(dataObj.columns,'veranstname')]);
			replaceTextNode(dojo.byId('spStaette'),valObj[getIndexFor(dataObj.columns,'sstaettename')]);
			replaceTextNode(dojo.byId('spOrt'),valObj[getIndexFor(dataObj.columns,'veranstort')]);
			replaceTextNode(dojo.byId('spOrg'),valObj[getIndexFor(dataObj.columns,'orgnamel')]);
			replaceTextNode(dojo.byId('spKontaktperson'),valObj[getIndexFor(dataObj.columns,'veranstkontakt')]);
			replaceTextNode(dojo.byId('spSportart'),valObj[getIndexFor(dataObj.columns,'sportart')]);
			replaceTextNode(dojo.byId('spKategorie'),valObj[getIndexFor(dataObj.columns,'kategorie')]);
			replaceTextNode(dojo.byId('spDatumam'),valObj[getIndexFor(dataObj.columns,'datumAn')]);
			replaceTextNode(dojo.byId('spDatumBis'),valObj[getIndexFor(dataObj.columns,'datumBis')]);
			replaceTextNode(dojo.byId('_spHome'),valObj[getIndexFor(dataObj.columns,'veransturl')]);
			replaceTextNode(dojo.byId('spAbgesagt'),(valObj.veranstaltgueltig == -1) ? 'ja' : 'nein');
			if (valObj[getIndexFor(dataObj.columns,'veranstaltgueltig')] == -1) {
				dojo.byId('spAbgesagt').style.color = "#FF0000";
				dojo.byId('dtAbgesagt').style.color = "#FF0000";
			} else {
				dojo.byId('spAbgesagt').style.color = "#000000";
				dojo.byId('dtAbgesagt').style.color = "#000000";
			}
			if (valObj[getIndexFor(dataObj.columns,'veranstanhang1')] != '') {
				dojo.byId("dtAnhang1").style.display = '';
				dojo.byId("spAnhang1").style.display = '';
				dojo.byId("spAnhang1").jid = valObj[getIndexFor(dataObj.columns,'veranstanhang1')];
				if (valObj[getIndexFor(dataObj.columns,'veranstanhangbez1')] != '') {
					replaceTextNode(dojo.byId('dtAnhang1'),valObj[getIndexFor(dataObj.columns,'veranstanhangbez1')]);
				} else {
					replaceTextNode(dojo.byId('dtAnhang1'),'Anhang1');
				}
				newA = document.createElement('a');
				newA.href='javascript:initializeDownload(1)';
				dojo.byId('spAnhang1').appendChild(newA);
				newImg = document.createElement('img');
				newImg.src = '/TisisWeb/layout/images/dvtset/backtolist.png';
				newImg.alt = 'download';
				newImg.title = 'Datei herunterladen';
				newA.appendChild(newImg);
				dojo.byId('spAnhang1').appendChild(document.createTextNode(' download'));
			}
			if (valObj[getIndexFor(dataObj.columns,'veranstanhang2')] != '') {
				dojo.byId("dtAnhang2").style.display = '';
				dojo.byId("spAnhang2").style.display = '';
				dojo.byId("spAnhang2").jid = valObj[getIndexFor(dataObj.columns,'veranstanhang2')];
				if (valObj[getIndexFor(dataObj.columns,'veranstanhangbez2')] != '') {
					replaceTextNode(dojo.byId('dtAnhang2'),valObj[getIndexFor(dataObj.columns,'veranstanhangbez2')]);
				} else {
					replaceTextNode(dojo.byId('dtAnhang2'),'Anhang2');
				}
				newA = document.createElement('a');
				newA.href='javascript:initializeDownload(2)';
				dojo.byId('spAnhang2').appendChild(newA);
				newImg = document.createElement('img');
				newImg.src = '/TisisWeb/layout/images/dvtset/backtolist.png';
				newImg.alt = 'download';
				newImg.title = 'Datei herunterladen';
				newA.appendChild(newImg);
				dojo.byId('spAnhang2').appendChild(document.createTextNode(' download'));
			}
			if (valObj[getIndexFor(dataObj.columns,'veranstanhang3')] != '') {
				dojo.byId("dtAnhang3").style.display = '';
				dojo.byId("spAnhang3").style.display = '';
				dojo.byId("spAnhang3").jid = valObj[getIndexFor(dataObj.columns,'veranstanhang3')];
				if (valObj[getIndexFor(dataObj.columns,'veranstanhangbez3')] != '') {
					replaceTextNode(dojo.byId('dtAnhang3'),valObj[getIndexFor(dataObj.columns,'veranstanhangbez3')]);
				} else {
					replaceTextNode(dojo.byId('dtAnhang3'),'Anhang3');
				}
				newA = document.createElement('a');
				newA.href='javascript:initializeDownload(3)';
				dojo.byId('spAnhang3').appendChild(newA);
				newImg = document.createElement('img');
				newImg.src = '/TisisWeb/layout/images/dvtset/backtolist.png';
				newImg.alt = 'download';
				newImg.title = 'Datei herunterladen';
				newA.appendChild(newImg);
				dojo.byId('spAnhang3').appendChild(document.createTextNode(' download'));
			}
		}
	}
	WebUI.Theme.handleBodyResize();
}

function replaceTextNode(ele, valNeu) {
	if (ele.childNodes.length > 0) {
		for (var len=ele.childNodes.length-1;len>=0;len--) {
			ele.removeChild(ele.childNodes[len]);
		}
	}
	if (valNeu == null || valNeu == '') {
		ele.appendChild(document.createTextNode('-'));
	} else {
		if (ele.id.charAt(0) == '_') {
			eleA = document.createElement('a');
			eleA.href='http://'+valNeu;
			eleA.target = '_blank';
			ele.appendChild(eleA);
			eleA.appendChild(document.createTextNode(valNeu));
		} else if (ele.id.charAt(0) == '$') {
			eleA = document.createElement('a');
			eleA.href='mailto:'+valNeu;
			ele.appendChild(eleA);
			eleA.appendChild(document.createTextNode(valNeu));
		} else {
			ele.appendChild(document.createTextNode(valNeu));
		}
	}
}

function cbGetSportarten(/* WebUI.Ajax.Response */ response) {
	replaceTextNode(dojo.byId('spSportarten'),response.data.sportarten);
	WebUI.Theme.handleBodyResize();
}

function cleanAttachmentPart() {
	for(var i=1;i<=3;i++) {
		dojo.byId("dtAnhang"+i).style.display = 'none';
		dojo.byId("spAnhang"+i).style.display = 'none';
		deleteAllChildren(dojo.byId('spAnhang'+i));
	}
}

function initFunctions() {
	if (dojo.byId('functionsTable').className.search('hidden') != -1) {
		var req = new WebUI.Ajax.Request({url: "orgPublic.show", cmd: "initFunctions", onLoad: cbInitFunctions,  
			data : { orgid: curID } 
		});
		req.execute();
	}
}

function cbInitFunctions(/* WebUI.Ajax.Response */ response) {
	var header = 'Funktionen ' + dojo.byId('spName').innerHTML;
	dojo.byId('ueberschrift').innerHTML = header;
	dojo.byId('ueberschrift').style.display = '';
	dojo.removeClass('functionsTable','hidden');
	if (response.data.valueList.length == 0) {
		datK = document.createElement('dt');
		dojo.byId('functionsTable').appendChild(datK);
		datK.appendChild(document.createTextNode('Keine Funktionen angelegt'));
		datV = document.createElement('dd');
		dojo.byId('functionsTable').appendChild(datV);
		datV.appendChild(document.createTextNode(' '));
	}
	for (var i=0;i<response.data.valueList.length;i++) {
		datK = document.createElement('dt');
		dojo.byId('functionsTable').appendChild(datK);
		datK.appendChild(document.createTextNode(response.data.valueList[i][getIndexFor(response.data.columns,'regwertlangbez')]));
		datV = document.createElement('dd');
		dojo.byId('functionsTable').appendChild(datV);
		datV.appendChild(document.createTextNode(response.data.valueList[i][getIndexFor(response.data.columns,'persfname')]+' '+response.data.valueList[i][getIndexFor(response.data.columns,'persvname')]));
	}
	WebUI.Theme.handleBodyResize();
}

function getAdresse(valObj,isMap) {
	var adresse = '';
	try {
		adresse += (isMap ? valObj.plz : valObj[getIndexFor(dataObj.columns,'plz')]);
		if (adresse.length>0) {
			adresse += ' ';
		}
		adresse += (isMap ? valObj.gemname : valObj[getIndexFor(dataObj.columns,'gemname')]);
		if (adresse.length>0) {
			adresse += ', ';
		}
		var temp = (isMap ? valObj.adrstrasse : valObj[getIndexFor(dataObj.columns,'adrstrasse')]);
		adresse += temp;
		if (temp.length>0) {
			adresse += ' ';
		}
		temp = (isMap ? valObj.adrhausnr : valObj[getIndexFor(dataObj.columns,'adrhausnr')]);
		var temp2 = (isMap ? valObj.adrhnrzusatz : valObj[getIndexFor(dataObj.columns,'adrhnrzusatz')]);
		adresse += temp;
		if (temp.length > 0 && temp2.length>0) {
			adresse += '/';
		} else if (adresse.length > 0) {
			adresse = TrimString(adresse);
			adresse += ' ';
		}
		adresse += temp2;
		if (adresse.charAt(adresse.length-2) == ',') {
			adresse = adresse.substr(0,adresse.length-2);
		}
	} catch (ex) {
		handleAusnahme(ex,'getAdresse');
	}
	return adresse;
}

function realValue(original) {
	if (original.charAt(0) == '$' || original.charAt(0) == '§') { // $=combobox;
																	// §=checkbox
		return original.substr(1);
	}
	return original;
}

function handleAusnahme (ex, funcName) {
	var excStr = ex.name+': ' + funcName+': '+ex.message;
	WebUI.Display.displayError(excStr, {fade: true});
}

function getIndicesFor(/* map */ spalten, compareStrings) {
	var indexArr = new Array();
	for (var i=0;i<compareStrings.length;i++) {
		indexArr[i] = getIndexFor(spalten,compareStrings[i]);
	}
	return indexArr;
}

function getIndexFor(/* map */ spalten, compareString) {
	var ctr = 0;
	for (var entry in spalten) {
		if (entry == compareString) {
			return ctr;
		}
		ctr++;
	}
	return -1;
}
