
/**
 * 
 */
var isChangeOnSite = false;
var arrEvalFunktion = new Object();
var objLastChangeElement = null;

/** Ermöglicht es einen Listener beim OnChangeEvent einzuhängen */
function registerOnChangeEventListener(sEvalFunktion) {
	arrEvalFunktion[sEvalFunktion] = sEvalFunktion;
}

/** Ermöglicht es einen Listener beim OnChangeEvent einzuhängen */
function removeOnChangeEventListener(sEvalFunktion) {
	arrEvalFunktion[sEvalFunktion] = null;
	
}

/** Registriert ein Element zur OnChage-Überwachung */
function registerEditElementChangeCheck(sName, sElementName) {
	var objElem = getElem("id", sElementName, null);
	if(objElem==null) objElem = document[sName][sElementName];
	objElem.onchange = function () { onChangeCheckSite(this); };
}

/** Funktion die aufgerufen wird wen ein OnChange-Event ausgelöst wurde */
function onChangeCheckSite(objElement){
	objLastChangeElement = objElement;
	// Flag setzen auf ChangeSite
	isChangeOnSite=true;
	// Listener noch auswerten
	for(var sOneFunktion in arrEvalFunktion) {
		if(arrEvalFunktion[sOneFunktion]!=null) 
			eval(sOneFunktion);
	}
}

/** Gibt an ob sich auf der Seite etwas geändert hat */
function hasChangeOnSite() {
	return isChangeOnSite;
}

/** gibt das letzte Eventobject zurück */
function getLastEventObject(){
	return objLastChangeElement;
}
