var JsAd = {

	getAd : function(adname) {
		var addiv = document.getElementById(adname);
		if(typeof addiv != 'undefined' && typeof addiv.innerHTML != 'undefined'){
			this.adSource = addiv.innerHTML;
			// javascript rausparsen
			// js-File(s) nachladen
			var pattern_src = /<script.+src="(.+)"><\/script>/gi;
			var result;
			this.srctagsdone = false;
			while (result = pattern_src.exec(this.adSource)) {
				this.addJsFile(result[1]);
			}
			this.doJsCalled = false;
			this.srctagsdone = true;
		}else{
			return false;
		}
	},

	addJsFile : function(url) {
		var srctag = document.createElement('script');
		srctag.setAttribute("type", "text/javascript");
		srctag.setAttribute("src", url);
		srctag.onload = jsAdIsLoaded;
		document.getElementsByTagName("head")[0].appendChild(srctag);
	},

	doJs : function() {
		this.doJsCalled = true;
		// Zeilenumbrüche sind problematisch
		var adReplaced = this.adSource.replace(new RegExp("\\n", "g"), '');
		var adReplaced = adReplaced.replace(new RegExp("\\t", "g"), '');
		var pattern_code = /<script type="text\/javascript"(?: language="JavaScript")?>(.+?)<\/script>/gi;
		while (result = pattern_code.exec(adReplaced)) {
			if (result[1] != '') {
				eval(result[1]);
			}
		}
	}
};

function jsAdIsLoaded() {
	if (JsAd.srctagsdone == true && JsAd.doJsCalled == false) {
		// alle geladen
		JsAd.doJs();
	}
}
