
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		};
	}
}


function closeLayer (){
	parent.document.getElementById('backendOverlayLayer').style.display = "none";
	parent.document.getElementById("body").removeChild(parent.document.getElementById("iframeLayer"));
}


function toggle(id) {
	var element = document.getElementById(id);
	(!element.style.display || element.style.display=="" || element.style.display == "none") ? element.style.display = "block" : element.style.display = "none";
}


function createNewLayer (targetURL, widthInPx, heightInPx){
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
	var dsocleft=document.all? iebody.scrollLeft : pageXOffset;
	var dsoctop=document.all? iebody.scrollTop : pageYOffset;
	var pageSize = getPageSize();
	document.getElementById('backendOverlayLayer').style.display = "block";
	document.getElementById('backendOverlayLayer').style.height = pageSize[1]+"px";
	newLayer = document.createElement("iframe");
	newLayer.name = newLayer.id = "iframeLayer";
	newLayer.className = "iframeLayerStyle";
	if (widthInPx<0) widthInPx = pageSize[2]*1-(widthInPx*-1);
	if (heightInPx<0) heightInPx = pageSize[3]*1-(heightInPx*-1);	
	newLayer.style.border = "1px solid #888";
	newLayer.style.width = widthInPx+'px';
	newLayer.style.height = heightInPx+'px';
	newLayer.style.left = (dsocleft+(pageSize[2]-widthInPx)/2)+'px';
	newLayer.style.top = (dsoctop+(pageSize[3]-heightInPx)/2)+'px';
	
	newLayer.border = "0";
	newLayer.frameBorder = "0";
	newLayer.src = targetURL;
	document.getElementById("body").appendChild(newLayer);
}
function resizeLayer (widthInPx, heightInPx){
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
	var dsocleft=document.all? iebody.scrollLeft : pageXOffset;
	var dsoctop=document.all? iebody.scrollTop : pageYOffset;
	var pageSize = getParentPageSize();
	newLayer = parent.window.document.getElementById("iframeLayer");
	if (widthInPx<0) widthInPx = pageSize[2]*1-(widthInPx*-1);
	if (heightInPx<0) heightInPx = pageSize[3]*1-(heightInPx*-1);	
	newLayer.style.border = "1px solid #888";
	newLayer.style.width = widthInPx+'px';
	newLayer.style.height = heightInPx+'px';
	newLayer.style.left = (dsocleft+(pageSize[2]-widthInPx)/2)+'px';
	newLayer.style.top = (dsoctop+(pageSize[3]-heightInPx)/2)+'px';
}


function createNewFullsizeLayer(targetURL) {
	var pageSize = getPageSize();
	var widthInPx = pageSize[2]*1-60;
	var heightInPx = pageSize[3]*1-60;
	createNewLayer (targetURL, widthInPx, heightInPx);	
}



function fuegeInhaltHinzu (wert, formID, zielName) {
	var feld=document.getElementsByName(formID+zielName)[0];
	feld.value=feld.value+";"+wert;
	if(feld.value.substr(0,1)==";") {
		feld.value=feld.value.slice(1);
		}
}


function preview() {
	window.open("../index.php", "vorschauFester");
}


function showLoadingScreen() {
	var pageSize = getPageSize();
	document.getElementById('backendWaitLayer').style.display = "block";
	document.getElementById('backendOverlayLayer').style.display = "block";
	document.getElementById('backendOverlayLayer').style.height = pageSize[1]+"px";
}


function hideLoadingScreen() {
	document.getElementById('backendWaitLayer').style.display = "none";
	document.getElementById('backendOverlayLayer').style.display = "none";
}


function trim(string) {
	return string.replace(/^\s+|\s+$/g, "");
}


function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}


function getParentPageSize() {
	var xScroll, yScroll;
	if (parent.window.innerHeight && parent.window.scrollMaxY) {
		xScroll = parent.document.body.scrollWidth;
		yScroll = parent.window.innerHeight + parent.window.scrollMaxY;
	} else if (parent.document.body.scrollHeight > parent.document.body.offsetHeight) {
		xScroll = parent.document.body.scrollWidth;
		yScroll = parent.document.body.scrollHeight;
	} else {
		xScroll = parent.document.body.offsetWidth;
		yScroll = parent.document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (parent.self.innerHeight) {
		windowWidth = parent.self.innerWidth;
		windowHeight = parent.self.innerHeight;
	} else if (parent.document.documentElement && parent.document.documentElement.clientHeight) {
		windowWidth = parent.document.documentElement.clientWidth;
		windowHeight = parent.document.documentElement.clientHeight;
	} else if (parent.document.body) {
		windowWidth = parent.document.body.clientWidth;
		windowHeight = parent.document.body.clientHeight;
	}
	if (yScroll < windowHeight) {
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}
	if (xScroll < windowWidth) {
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight)
	return arrayPageSize;
}
function getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight) {
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else {
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) {
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}
	if (yScroll < windowHeight) {
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}
	if (xScroll < windowWidth) {
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight)
	return arrayPageSize;
}


function deleteItem(url) {
	if (confirm("Achtung: Diese Daten wirklich unwiderruflich löschen?"))
		window.location.href = url + "&confirmed=1";
}



var searchReq = getXmlHttpRequestObject();
var returnID = false;
var firedByElement = false;
var firedByElementStyle = "auto";
var onSuccess = false;


function requestInfo( url, ID , tempOnSuccess) {
	document.getElementById('body').style.cursor="wait";
	returnID = ID;
	searchReq.abort()
	searchReq.open('GET', url, true);
	searchReq.onreadystatechange = handleRequestResult;
	searchReq.send(null);
	onSuccess = tempOnSuccess;
}


function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}


function handleRequestResult() {
	if (searchReq.readyState == 4) {
		if (returnID) document.getElementById(returnID).value = searchReq.responseText;
		if (firedByElement) firedByElement.style.cursor=firedByElementStyle;
		document.getElementById('body').style.cursor="auto";
		firedByElement = false;
		firedByElementStyle = "auto";
		if (onSuccess) onSuccess(searchReq.responseText);
	}
}


function insertLine() {
	var zeilen = document.getElementById("zeilen");
	var counter = document.getElementById("counter");
	if (zeilen.value < 50) {
		zeilen.value++;
		counter.value++;
		var anzahlZeilen = zeilen.value;
		var counterValue = counter.value;
		var tabelle = document.getElementById('tableItems');
		neueZeile = tabelle.insertRow(anzahlZeilen);

		zelle1 = neueZeile.insertCell(0);
		zelle2 = neueZeile.insertCell(1);
		zelle3 = neueZeile.insertCell(2);

		zelle1.innerHTML = '<img class="icon" src="setup/images/icons/trash.png" title="Zeile entfernen" alt="Zeile entfernen" onclick="deleteLine(this);" /></a><br />';
		zelle1.innerHTML += '<img class="icon" src="setup/images/icons/magnifier-zoom-in.png" alt="" onclick="waehleProjekt( \'' + counterValue + '\');" />';
		zelle2.innerHTML = '<textarea id="posten_text_' + counterValue + '" name="posten_text_' + counterValue + '" rows="3" style="width:470px;overflow-y:scroll"></textarea>';
		zelle3.innerHTML = '<p></p>';
		zelle3.innerHTML += '<p><input id="posten_netto_' + counterValue + '" name="posten_netto_' + counterValue + '" value="" size="8" type="text" /> EUR</p>';
	} else {
		alert("Sie können keine weiteren Posten hinzufügen.");
	}

}


function deleteLine(r) {
	var zeilen = document.getElementById("zeilen");
	if (zeilen.value > 0) {
		zeilen.value--;
		document.getElementById("counter").value++;
		var i = r.parentNode.parentNode.rowIndex;
		document.getElementById('tableItems').deleteRow(i);
	} else {
		alert("Sie können keine weiteren Posten entfernen.");
	}
}


function variantenGruppeLoeschen(r) {
	var gruppen = document.getElementById("gruppen");
	if (gruppen.value > 0) {
		gruppen.value--;
		document.getElementById("counter").value++;
		var i = r.parentNode.parentNode.rowIndex;
		document.getElementById('variantenTabelle').deleteRow(i);
	} else {
		alert("Sie können keine weiteren Gruppen entfernen.");
	}
}


function variantenGruppeHinzufuegen() {
	var counter = document.getElementById("gruppenCounter");
	var gruppen = document.getElementById("gruppen");
		gruppen.value++;
		counter.value++;
		var anzahlGruppen = gruppen.value;
		var counterValue = counter.value;
		var tabelle = document.getElementById('variantenTabelle');
		neueZeile = tabelle.insertRow(anzahlGruppen-1);
		zelle1 = neueZeile.insertCell(0);

		var code = "";
		code +=  '<p class="solidTop"><input class="gruppenName" name="v_'+counterValue+'_0_ueberschrift" type="text" value="Gruppe'+counterValue+'" />';
		code +=  '<a onmouseup="variantenGruppeLoeschen(this);" class="button" >';
		code +=  '<img src="setup/images/icons/trash.png" /><span>Diese Gruppe löschen</span></a>';
		code +=  '<input type="hidden" id="'+counterValue+'variantenCounter" value="0" /></p>';
		code +=  '<input type="hidden" id="'+counterValue+'variantenZeilenCounter" value="0" />';
		code +=  '<table class="variantenVarianten" id="'+counterValue+'_varianten">';
		code +=  '<tr><td><p class="abstandOben2">';
		code +=  '<a onmouseup="variantenVarianteHinzufuegen('+counterValue+',this);" class="button" ><img src="setup/images/icons/add.png" /><span>Variante hinzufügen</span></a></p>';
		code +=  '</td></tr>';
		code +=  '</table>';
		zelle1.innerHTML = code;
}


function variantenVarianteHinzufuegen(gruppenID, clickID) {
	var counter = document.getElementById(gruppenID+"variantenCounter");
	var zeilenCounter = document.getElementById(gruppenID+"variantenZeilenCounter");
	counter.value++;
	zeilenCounter.value++;
	var tabellenID = clickID.parentNode.parentNode.parentNode.parentNode.parentNode.id;
	var gruppenNr = clickID.parentNode.parentNode.parentNode.parentNode.parentNode.rel;
	tabelle = document.getElementById(tabellenID);
	var anzahlDerZeilen = tabelle.getElementsByTagName("tr").length;
	neueZeile = tabelle.insertRow(anzahlDerZeilen-1);
	zelle1 = neueZeile.insertCell(0);
	zelle1.className = "abstandLinks";
	var code = "";
	var cv = "0000"+counter.value;
	cv = cv.substr (cv.length-4,4);
	code +=  '<input name="v_'+gruppenID+"_"+cv+'_name" style="width:300px" type="text" value="Name" /> ';
	code +=  '<input name="v_'+gruppenID+"_"+cv+'_berechnung" style="width:030px" type="text" value="+" /> ';
	code +=  '<input name="v_'+gruppenID+"_"+cv+'_preisNetto" style="width:060px" type="text" value="0.00" /> EUR';
	code +=  '<img onmouseup="variantenVarianteLoeschen('+gruppenID+',this);" src="setup/images/icons/trash.png" /> ';
	zelle1.innerHTML = code;
}

function variantenVarianteLoeschen(gruppenID, r) {
	var anzahlDerZeilen = document.getElementById(gruppenID+"variantenZeilenCounter");
	if (anzahlDerZeilen.value > 0) {
		anzahlDerZeilen.value--;
		document.getElementById("variantenCounter"+gruppenID).value++;
		var i = r.parentNode.parentNode.rowIndex;
		document.getElementById(gruppenID+"_varianten").deleteRow(i);
	} else {
		alert("Sie können keine weiteren Varianten entfernen.");
	}
}


function deleteImage(image) {
	
	var imagePreview = "bildPreview"+image;
	var imageInput = "bild"+image;
	document.getElementById(imagePreview).src = "../imagesProducts/preview/keinBild.jpg";
	document.getElementById(imageInput).value = "";
	document.getElementById("hinweistext").innerHTML = "Um die Änderung zu übernehmen, müssen Sie die Daten noch speichern.<br/>Klicken Sie hierfür auf Datensatz speichern";
	
}

