﻿// Globale Variablen:
var deftabs=new Array();
var recordchanged = false;

// Funktionen zum Anzeigen / Verstecken von Oberflächenelementen
function toggleShowBlockElement(name) {
	elem = document.getElementById(name);
	if (elem) {
		if (!elem.vis) {
			elem.style.display="block";
			elem.vis=true;
		} else {
			elem.style.display="none";
			elem.vis=false;
		}
	}
}
function toggleShowInlineElement(name) {
	elem = document.getElementById(name);
	if (elem) {
		if (elem.style.display=="none") {
			elem.style.display="inline";
		} else {
			elem.style.display="none";
		}
	}
}

// Statuszeilenfunktionen
function statusline(text) {
	line = document.getElementById('statusline');
	if (text=="") text = "&nbsp;"
	if (line) {
		line.innerHTML=text;
	}
}
function getAjaxTransmitter() {
	var transmitter = (window.XMLHttpRequest) ? new XMLHttpRequest() : ((window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : false);
	if (!transmitter) {
		alert("AJAX Error. No HTTPRequest Object");
		return false;
	} else {
		return transmitter;
	}
}
function backgroundsubmit (form,updateelement,pane) {
	if (!form) { 
		alert("Interner Fehler. Formular nicht gefunden");
		return false;
	}
	
	tx = getAjaxTransmitter();
	txurl ="index.php";
	tx.open("POST",txurl,false);
	tx.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	tx.setRequestHeader("Accept","");
	fdata = _gatherFormData(form);
	//alert(fdata);
	tx.send(fdata);
	if (tx.status!=200) {
		alert("AJAX Error. HTTP Request failed. Server returned: "+tx.status);
	} else {
		if (updateelement) {
			ude = document.getElementById(updateelement);
			if (ude) {
				ude.innerHTML=tx.responseText;
				respcallback = document.getElementById("responsecallback");
				if (respcallback) eval (respcallback.innerHTML);
			}
		}	
	}

	if (pane) {
		toggleShowBlockElement(pane);
	}
	
}
function _gatherFormData(form) {
	fdata="";
	for (i=0;i<form.elements.length;i++) {
		elem = form.elements[i];
		switch (elem.type) {
			case "checkbox":
			case "radio":
			if (elem.checked && elem.disabled!="disabled") fdata=fdata+elem.name+"="+encodeURIComponent(elem.value)+"&";
			break;
			case "submit":
			case "reset":
			case "button":
			break;
			case "hidden":
			// Prüfen obs nen FCK Editor ist
			if (elem.name=="CustomConfigurationsPath" || elem.name=="") break;
			if (typeof(FCKeditorAPI)=="object") {
				instance = FCKeditorAPI.GetInstance(elem.name);
				if (instance) {
					fdata=fdata+elem.name+"="+encodeURIComponent(instance.EditorDocument.body.innerHTML)+"&";
				} else {
					fdata=fdata+elem.name+"="+encodeURIComponent(elem.value)+"&";
				}
			} else {
				fdata=fdata+elem.name+"="+encodeURIComponent(elem.value)+"&";
			}
			break;
			default:
			fdata=fdata+elem.name+"="+encodeURIComponent(elem.value)+"&";
			break;
		}
	
	}
	debugwin = window.open('about:blank','debugwindow',"width=800,height=500,scrollbars=yes,resize=yes");
	fd = fdata.split("&");
	for (i=0;i<fd.length;i++) debugwin.document.write(fd[i]+"<br>");
	debugwin.document.write("<input type='button' onclick='window.close()' value='Schliessen'>");
	return fdata;
}
// Funktionen zum dynamischen Styleverändern von Elementen
function switchStyle(element,elstyle) {
	if (elstyle!="") {
		element.oldstyle=element.getAttribute("class");
		element.setAttribute("class",elstyle);
	} else {
		element.setAttribute("class",element.oldstyle);
	}
	
	return;
}

// Funktionen zum Datenaustausch im Hintergrund (AJAX)
// Author: Alexander Bach, IXTENSA Werbe- und Internetagentur

function backgroundsubmit (formname,pane) {
	form = document.forms[formname];
	if (!form) { 
		alert("Interner Fehler. Formular nicht gefunden");
		return false;
	}
	data = _gatherFormData(form);
	if (pane) {
		toggleShowBlockElement(pane);
	}
}
function _gatherFormData(form) {

	alert(form.elements[0].name);

}

function openPopup(url,name,height,width,centered,top,left) {
	if (centered) {
		screenx=screen.availWidth;
		screeny=screen.availHeight;
		left=Math.floor(screenx/2-(width/2));
		top=Math.floor(screeny/2-(height/2));
	}
	pos = "innerWidth="+width+",innerHeight="+height+",left="+left+",top="+top+","; 		
	opts = pos+"resize=no,status=no";
	win = window.open(url,name,opts);
	win.focus();
	return win;	
}
function reformatPopup(newheight,newwidth,recenter) {
	if (recenter) {
		screenx=screen.availWidth;
		screeny=screen.availHeight;
		left=Math.floor(screenx/2-(newwidth/2));
		top=Math.floor(screeny/2-(newheight/2));
	} else {
		left=-1;top=-1;
	}
	window.resizeTo(newheight,newwidth);
	if (left!=-1 && top!=-1) {
		window.moveTo(left,top);
	}
}
function setmodifiedFlag(mode) {

	// Diese Funktion ändert das Modifyflag das registriert ob ein Datensatz geändert wurde oder nicht.
	recordchanged = mode;
	return true;

}

// Funktion zum Bau von Popupfenstern für Bildchen
function zoom(trigger) {
	
	bild = document.getElementById(trigger);
	if (bild) {
		
		bildpfad = bild.src.split("/");
		bildname=bildpfad[bildpfad.length-1];
		popupwin = openPopup("_data/openres/pageelements/popupmask.php?file="+bildname,"",20,20,true);
		popupwin.bild = bildname;
		bildpfad.pop();
		popupwin.bpath = bildpfad.join("/");
	} else {
		alert ("ERROR... Image not Set");
	}

}
