//#################                    EADS Javascript Library               #######################
//################# Programming: Florian Kirchberger SiteForce AG http://www.siteforce.de    #######
//################# Version: 24 April 2010 - 00:41                                           #######
//##################################################################################################


// ###########   attachEventListener #############
function attachEventListener(target, eventType, functionRef, capture){
		// ## cross browser compatible attachEventListener function -- function can be called with a pointer or a string representing a function name
	
		if (typeof(functionRef)== 'string') {
			functionRef=eval(functionRef);
		}

		if (typeof target.addEventListener != "undefined"){
			target.addEventListener(eventType, functionRef, capture);
		} else if (typeof target.attachEvent != "undefined"){
			target.attachEvent("on" + eventType, functionRef);
		} else {
			eventType = "on" + eventType;
		
		if(typeof target[eventType] == "function"){
			var oldListener = target[eventType];
			target[eventType] = function(){
				oldListener();
				return functionRef();
			};
		} else {
			target[eventType] = functionRef;
		}
	}
}


// ###############   createDOMElement    ###############
function createDOMElement(mElementType, mParentElement ,mTextString, mClassName , mElementID ){
	var mNewObject = document.createElement(mElementType);
	var mClassObject = document.createAttribute("class");

	if( mClassName  != ""){
		mClassObject.nodeValue = mClassName ;
		mNewObject.setAttributeNode(mClassObject);
	}

	
	if( mElementID  != "") {
		//alert("mElementID " + mElementID );
		var mIDObject = document.createAttribute("id");
		mIDObject.nodeValue = mElementID ;
		mNewObject.setAttributeNode(mIDObject);
	}
	
	

	if(mTextString != "") { 
		if (mElementType.toLowerCase() == "div") {
			mNewObject.innerHTML = mTextString;
		} else {
			var mTextNode = document.createTextNode("" + mTextString);
			mNewObject.appendChild(mTextNode);
		}
	}

	mParentElement.appendChild(mNewObject);

	return mNewObject;

}


// ### setInnerHtml  ###
function setInnerHtml(elementId, innerHtmlText) {
	var element = document.getElementById(elementId);
	if(element != null) {
		element.innerHTML = "" + innerHtmlText;
	}
}
