	/**
	* diese Datei entaelt allgemeine javascript Funktionen
	*/
	
	// Objekt fuer die QuerystringParameter (query.name)
	var query = new Object();
	
	/**
	 * gibt das Objekt query
	 * in einem Text zurueck
	 */
	function getQueryProps() {
		var text = "";
		for (property in query) {
			text += property + " = " + query[property] + ";\n";
		}
		return text;
	}
	/**
	 * ermittelt die Parameter eines QueryStrings
	 */
	function getURLparameters() {
		if (self.location.search.indexOf("=") == -1) {return;}
		var parameterArray = unescape(self.location.search).substring(1).split("&");
		for (var i=0;i<parameterArray.length;i++) {
	  		parameterArray[i] = parameterArray[i].split("=");
			switch(parameterArray[i][0]){
	  			case 'banrot[]':
	  				break;
	  			default:
	  				eval("query." + parameterArray[i][0] + " = \"" + parameterArray[i][1] + "\"");
	  		}
	 	}
	}
	/**
	 * ueberprueft einen Formularwert ob dieser Numeric ist
	 */
	function CheckNumeric(myValue, start, ende, control){
		if(control === true){
			var ok = true;
			myValue = parseInt(myValue);
			if (isNaN(myValue)) {
				ok = false;
			}
			if (ok == true){
				if (myValue < start || myValue > ende)ok = false;
			}
			if (ok == false){
				return ok;
			}
			else{
				return myValue;
			}
		}else{
			return myValue;
		}
	}
	/**
	 * ersetzt einen gesuchten String durch einen anderen String
	 */
	function strReplace(string, suchen, ersetzen) {
		ausgabe = "" + string;
		while (ausgabe.indexOf(suchen)>-1) {
			pos= ausgabe.indexOf(suchen);
			ausgabe = "" + (ausgabe.substring(0, pos) + ersetzen +
			ausgabe.substring((pos + suchen.length), ausgabe.length));
		}
		return ausgabe;
	}
	/**
	* sucht das erste vorkommen in einem string
	*/
	function strpos( haystack, needle, offset){
        var i = haystack.indexOf(needle, offset); // returns -1
	    return i >= 0 ? i : false;
	}
	/**
	 * markiert einen Text 
	 * kopiert ihn in die Zwischenablage nur bei IE
	 */
	var copytoclip=1
	function HighlightAll(theField) {
		var tempval = eval("document." + theField)
		tempval.focus()
		tempval.select()
		if (document.all && copytoclip == 1){
			therange = tempval.createTextRange()
			therange.execCommand("Copy")
			window.status = "Inhalt wird markiert (und in die Zwischenablage kopiert) !"
			setTimeout("window.status=''", 1800)
		}
	}
	/**
	 * setzt checkboxen auf true oder false
	 * @param checkboxname => z. B. checked_0 bis checked_10
	 * @param a => erste checkbox
	 * @param b => letzte checkbox
	 * @param befehl => true oder false
	 */ 
	function boxmarkieren(checkboxname, a , b, befehl){
		var d = 0;
		do{
			a++;
			d = a - 1;
			document.getElementById(checkboxname + d).checked = befehl;
		}
		while(a < b)
	}
	/**
	 * gibt die aktuelle Position der Mouse zurueck
	 * @return array  	[0] => position.left
	 * 					[1] => position.top
	 */
	function getMouseXY(e){
		var MouseXY = Array();
		var x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
		var y = (document.all) ? window.event.y + document.body.scrollTop  : e.pageY;
		MouseXY[0] = x;		//pos.left
		MouseXY[1] = y; 	//pos.top;
		return MouseXY;
	}
   /**
    * Diese Funktion ermittelt die aktuelle Fenstergroesse
    * @return array 	[0] => width
    * 					[1] => height
   */			
  function getWindowInnerSize(){
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
	x = self.innerWidth;
	y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
		{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	var xy = Array();
	xy[0] = x;
	xy[1] = y;
	xy[0]= parseInt(xy[0]);
	xy[1] = parseInt(xy[1]);
	return xy;
	}
	/**
	* elementid erzeugen
	*/
	function generatepass(plength){
		var keylist="abcdefghijklmnopqrstuvwxyz123456789";
		var temp='';
		for(i = 0; i < plength;i++){
			temp += keylist.charAt(Math.floor(Math.random() * keylist.length))
		}
		return temp;
	}
	/**
	* entfernt HTML-Objecte
	* @param parentObjectId
	* @param childObjectId
	*/
	function removeElements(parentObj, childObj){
		if(document.getElementById(parentObj)){
			parentObj = document.getElementById(parentObj);
			if(document.getElementById(childObj)){
				childObj = document.getElementById(childObj);
				idObj = childObj.id;
				parentObj.removeChild(childObj);
				//window.alert(idObj + ' wurde gel�scht!!');
			}
			else {
				window.alert('wurde nicht gefunden');
			}
		}
		else {
			window.alert(parentObj + ' wurde nicht gefunden');
		}
	}
	/**
	* erstellt dynamisch HTML-Objecte
	* @param parentObjectId
	* @param childObjectTagName
	* @param childObjectTextValue
	*/
	function createElements(parentObj, childObj, childObjTextValue){
		if(document.getElementById(parentObj)){
			parentObj = document.getElementById(parentObj);
			// childObject erstellen
			childObj = document.createElement(childObj);
			// childObjId erstellen
			childObjId = generatepass(7);
			childObj.id = childObjId;
			childObj.setAttribute("align", "right");
			childObj.setAttribute("width", "300");
			childObj.setAttribute("className", "div");
			DeleteButton = document.createElement('input');
			DeleteButton.setAttribute("type", "button");
			DeleteButton.setAttribute("name", "delete");
			DeleteButton.setAttribute("value", "Diese Zeile l�schen");
			DeleteButton.setAttribute("onclick", "removeElements('" + parentObj.id + "', '" + childObj.id + "');");
			//DeleteButton.onclick = new Function("removeElements('" + parentObj.id + "', '" + childObj.id + "')");
			// button einfuegen
			childObj.appendChild(DeleteButton);
			if(childObjTextValue != null 
				&& childObjTextValue != undefined 
				&& childObjTextValue.length > 0){
				// TextNode erstellen
				var text = document.createTextNode(childObjTextValue);
				// TextNode ins childObject einfuegen
				childObj.appendChild(text);
			}
			// childObject ins parentObject einfuegen
			parentObj.appendChild(childObj);
		}
		else {
			window.alert(parentObj + ' wurde nicht gefunden');
		}
	}
	/**
	* setzt den Focus auf ein zu oeffnendes Fenster
	*/
	function windowFocus(win){
		if (parseInt(navigator.appVersion) >= 4) {
			if (window.focus) {
				win.focus();
			}
		}
	}
	/**
	* oeffnet die Scriptvorschau des generierten Scripts
	*/
	function scriptPreview(windowpage, windowproperties) {
		windowname 	 = 'preview';
		win = window.open(windowpage, windowname, windowproperties);
		windowFocus(win);
	}
	/**
	* zeigt den ausgefuehrten Script an
	*/
	function vorschau(windowpage, windowname, windowproperties) {
		win = window.open(windowpage, windowname, windowproperties);
		windowFocus(win);
	}
	/**
	//text kopieren und markieren
	var copytoclip=1
	
	function HighlightAll(theField) {
		var tempval=eval("document."+theField)
		tempval.focus()
		tempval.select()
		if (document.all && copytoclip == 1){
			therange=tempval.createTextRange();
			therange.execCommand("Copy");
			window.status="Inhalt wird markiert (und in die Zwischenablage kopiert) !";
			setTimeout("window.status=''",1800);
		}
	}
	*/
	
	
	/**
	* blendet ein HTML-Object ein oder aus
	*/
	function displayObject(objId){
	    //alert(objId);
	    var demoId ='div_demo';
	    var visible = 'hidden';
	    if ($(objId).style.display == 'none' || $(objId).style.display == '') {
	        $(objId).style.display = 'block';
	        $(objId).style.visibility = 'visible';
			
	    }
	    else {
	        $(objId).style.display = 'none';
	        $(objId).style.visibility = 'hidden';
	        visible = 'visible';
	    }
	     if(objId == 'imagescontainer'){
        	// demo auf hidden stellen
        	$(demoId).style.visibility = visible;
         }
	}
	
	/**
	 * gibt die Groesse eines Style zurueck
	 * @param {Object} 	objId
	 * @param string 	styleType
	 *
	 * @return integer 	groesse
	 */
	function getStyleSize(objId, styleType){
	    var obj = $(objId);
	    var objStyle = obj.getStyle(styleType);
	    var objStyleSize = objStyle.split(' ')[0].replace(/[^0-9]/g, '');
	    return objStyleSize;
	    
	}
	var blindFlag = geoIpFlag = true;	
	/**
	 * ruft die Funktion blind auf
	 */
	function blind(divObjId, linkObj){
		//window.alert(divObjId);
		switch (divObjId){
			case 'weitereEinstellungen':
				if(blindFlag == true){
					blindFlag = false;
					newInnerHTML(linkObj, blindFlag);
					blindDown(divObjId);
				}
				else{
					blindFlag = true;
					newInnerHTML(linkObj, blindFlag);
					blindUp(divObjId);
				}
				break;
			case 'timesSelect':
			case 'div_categories':
			case 'div_webmaster':
				var objDiv = $(divObjId);
				var objLabel = $(linkObj);
				if(objDiv.style.display == 'block'){
					objLabel.style.fontWeight = 'normal';
					newInnerHTML(objLabel, true);
					blindUp(objDiv);
					objDiv.style.display == 'none';
					objDiv.style.visibility == 'hidden';				
				} else if(objDiv.style.display == 'none'){
					newInnerHTML(objLabel, false);
					objLabel.style.fontWeight = 'bold';
					blindDown(objDiv);
					objDiv.style.display == 'block';
					objDiv.style.visibility == 'visible';	
				} else {
					newInnerHTML(objLabel, true);
					blindUp(divObjId);
					objLabel.style.fontWeight = 'normal';
				}
				break;
			default:
				if(geoIpFlag == true){
					geoIpFlag = false;
					newInnerHTML(linkObj, geoIpFlag);
					blindDown(divObjId);
				}
				else{
					geoIpFlag = true;
					newInnerHTML(linkObj, geoIpFlag);
					blindUp(divObjId);
				}
				break;
		}
	}
	
	function blindDown(divObjId){
		Effect.BlindDown(divObjId, { duration: 0.7 });
		//Effect.SlideDown(divObjId, { duration: 0.8 });
		return false;
	}
	
	function blindUp(divObjId){
		Effect.BlindUp(divObjId, { duration: 0.7 });
		//Effect.SlideUp(divObjId, { duration: 0.8 });
		return false;
	}
	
	/**
	 * ala strripos von PHP
	 * @param {string} haystack
	 * @param {string}  needle
	 * @param {boolean} offset
	 *
	 * @return 	boolean false wenn nicht gefunden
	 * 					ansonsten die Position als zahl
	 */
	function strripos(haystack, needle, offset){
	    // Finds position of last occurrence of a string within another string  
	    // 
	    // version: 1009.2513
	    // discuss at: http://phpjs.org/functions/strripos    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +   bugfixed by: Onno Marsman
	    // +   input by: saulius
	    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
	    // *     example 1: strripos('Kevin van Zonneveld', 'E');    // *     returns 1: 16
	    haystack = (haystack + '').toLowerCase();
	    needle = (needle + '').toLowerCase();
	    
	    var i = -1;
	    if (offset) {
	        i = (haystack + '').slice(offset).lastIndexOf(needle); // strrpos' offset indicates starting point of range till end,
	        // while lastIndexOf's optional 2nd argument indicates ending point of range from the beginning
	        if (i !== -1) {
	            i += offset;
	        }
	    }
	    else {
	        i = (haystack + '').lastIndexOf(needle);
	    }
	    return i >= 0 ? i : false;
	}
