function $(id) {
	return document.getElementById(id);
}


function modulTextEdit(modid) {
	$('menumodul'+modid+'_action').value = 'edit';
	$('menumodul'+modid).submit();
}

function modulTextSave(modid) {
	$('modulform'+modid+'_action').value = 'save';
	$('modulform'+modid).submit();
}

function modulTextView(modid) {
	$('menumodul'+modid+'_action').value = '';
	$('menumodul'+modid).submit();
}



// Allgemeine Funktionen

function is_array(input){
	return typeof(input)=='object'&&(input instanceof Array);
}

function startsWith(str, substr) {
	return (str.match("^"+substr)==substr);
}

function getFormularString(form) {
	var inputs = form.elements;
	var values = new Array();
	
	input = inputs[0];
	for ( var i = 0; i < inputs.length; i++, input = inputs[i]) {
		if (input.type=="checkbox") {
			if (input.checked)
				values.push(escape(input.name) + "=on");
			else
				values.push(escape(input.name) + "=off");
		}
		else {
			values.push(escape(input.name) + "=" + escape(input.value));
		}
	}
	
	return values.join("&");
}

var XMLHTTP = null;

function getNewXMLHTTPObject() {
	if (window.XMLHttpRequest) {
		XMLHTTPObj = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			XMLHTTPObj = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				XMLHTTPObj = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
			}
		}
	}
	return XMLHTTPObj;
}

XMLHTTP = getNewXMLHTTPObject();

function urlencode (str) {
    // URL-encodes string  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/urlencode    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Lars Fischer    // +      input by: Ratheous
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Joris
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // %          note 1: This reflects PHP 5.3/6.0+ behavior    // %        note 2: Please be aware that this function expects to encode into UTF-8 encoded strings, as found on
    // %        note 2: pages served as UTF-8
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
    str = (str+'').toString();
        // Tilde should be allowed unescaped in future versions of PHP (as reflected below), but if you want to reflect current
    // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
    return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
                                                                    replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}


function windowLoadContents(id, url, post) {
	if ($('DivWindow_' + id)) {
		if (!post) post = "";
		post = post.split('&');
		post.push("window=DivWindow_"+id);
		post = post.join('&');
		post = post.replace(/^&/, "").replace(/&$/, "");
		
		XMLHTTP.open("POST", url);
		XMLHTTP.onreadystatechange = windowLoadContentsReady;
		XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		XMLHTTP.send(post);
	}
}

function windowLoadContentsReady() {
	if ((XMLHTTP.readyState == 4) && (XMLHTTP.status == 200)) {
		var json = eval("(" + XMLHTTP.responseText + ")");
		var window = $(json.window);
		var windowContent = $(json.window+'_Content');
		windowContent.innerHTML = json.html;
		$('windowcontainer').style.display = 'block';
		window.style.display = 'block';
	}
}

function saveContent(id, text) {
	text = urlencode(text);
	XMLHTTP.open("POST", "/php/editorbox.php");
	XMLHTTP.onreadystatechange = closeEditor;
	XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHTTP.send("content_id=" + id + "&mode=save_content&string=" + text);
}



