
function cSet(id, visible){
	if(visible == 'true')
		visible = true;
	if(visible == 'false')
		visible = false;
	if(visible == '')
		visible = false;
		
	if(visible == 'switch'){
		if(document.getElementById(id).style.visibility == "hidden"
			|| document.getElementById(id).style.display == "none"
		)
			visible = true; 
		else
			visible = false; 
	}
	
	if(visible){
		document.getElementById(id).style.display = "";
		document.getElementById(id).style.visibility = "visible";
	}else{
		document.getElementById(id).style.display = "none";
		document.getElementById(id).style.visibility = "hidden";
	}	
}

function cSetTab(id, visible){
	if(visible == 'true')
		visible = true;
	if(visible == 'false')
		visible = false;
	if(visible == '')
		visible = false;
	
	if(visible){
		document.getElementById(id).style.display = "";
		document.getElementById(id).style.visibility = "visible";
		if(document.images['img_'+id] != null)
			document.images['img_'+id].src = "modules/system/icons/buttons/triangle_b.gif";
	}else{
		document.getElementById(id).style.display = "none";
		document.getElementById(id).style.visibility = "hidden";
		if(document.images['img_'+id] != null)
			document.images['img_'+id].src = "modules/system/icons/buttons/triangle_r.gif";
	}
}

function cConfirmDelete(url){
	if(confirm('Wirklich löschen?')==true)
		window.location = url;
}

function cPicturePopup(file, w, h){
	if(w == null)
    	w = (screen.width*0.8); 
	if(h == null)
    	h = (screen.height*0.8); 

	var mywindow = window.open(file, "image", "width="+w+",height="+h+",resizable=yes,"+
		"status=no,left="+((screen.width-w)/2)+",top="+((screen.height-h)/2));
	mywindow.moveTo((screen.width-w)/2, (screen.height-h)/2);
}

function cAddToFavorites(){ 
	if(document.all)
		window.external.AddFavorite(window.location, document.title);
	else{
		if(window.sidebar)
			window.sidebar.addPanel(document.title, window.location, "")
	}
}

function cPrint(){
	window.open("index.php?page=db:programming&PHPSESSID=7583b19e3734cd6fcd12c9c9c30a4036&design=print", "blank", "toolbar=no scrollbars=yes resizable=yes"); 
}

// cookies
function cSetCookie(cookieName, cookieValue, nDays) {
	var today = new Date();
	var expire = new Date();
	
	if(nDays!=null && nDays!=0) {
		expire.setTime(today.getTime() + 3600000*24*nDays);
		document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
	}
	else
		document.cookie = cookieName+"="+escape(cookieValue);
}
function cGetCookie( name ){
	
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
	return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

// bbedit functions
function cInsertText(id, tag){
	var input = document.getElementById(id);
	input.focus();
	
	if(document.selection){
		var range = document.selection.createRange();
		range.text = tag;
	}
	else{
		var selstart = input.selectionStart;
		var selend = input.selectionEnd;
		var text = input.value.substring(selstart, selend);
		input.value = input.value.substring(0, selstart) + tag + input.value.substring(selend);
	}
}
function cInsertClosingText(id, start, end){
	var input = document.getElementById(id);
	input.focus();
	
	if(document.selection){
		var sel = document.selection.createRange();
		if(sel.text != "")
			sel.text = start + sel.text + end;
	}
	else{
		var selstart = input.selectionStart;
		var selend = input.selectionEnd;
		var text = input.value.substring(selstart, selend);
		if(selstart != selend)
			input.value = input.value.substring(0, selstart) + start + text + end + input.value.substring(selend);
	}
}

function cFckeditorOpenFile(file, w, h, css){
	window.top.opener.SetUrl(file, w, h);
	if(css != null && css != '')
		window.top.opener.document.getElementById('txtAttClasses').value = css;
	window.close(); 
//	window.top.close();
	window.top.opener.focus();
}

function is_string(mixed_var){
    return (typeof(mixed_var) == 'string');
}




var ajax_debug_mode = 0;
var ajax_request_type = "POST";
var ajax_requests = new Array();

function cAjaxDebug(text) {
	if(ajax_debug_mode)
		alert(text);
}

function cAjaxInit() {
	var request;
	
	var msxmlhttp = new Array(
		'Msxml2.XMLHTTP.5.0',
		'Msxml2.XMLHTTP.4.0',
		'Msxml2.XMLHTTP.3.0',
		'Msxml2.XMLHTTP',
		'Microsoft.XMLHTTP');
	
	for (var i=0; i < msxmlhttp.length; i++) {
		try {
			request = new ActiveXObject(msxmlhttp[i]);
		} catch (e) {
			request = null;
		}
	}
		
	if(!request && typeof XMLHttpRequest != "undefined")
		request = new XMLHttpRequest();
	if(!request)
		cAjaxDebug("Could not create XMLHttpRequest-Object.");
	return request;
}

function cAjaxCancel(){
	for (var i = 0; i < ajax_requests.length; i++) 
		ajax_requests[i].abort();
}

function cAjaxCallForm(callback_func, html, html_params, cmd, form_id /* auto loaded cmd_params*/){
	var args = new Array(); 
	var f = document.getElementById(form_id);
	
	for(var i=0; i < f.elements.length; i++){
		if(f.elements[i].name != "")
			args[f.elements[i].name] = f.elements[i].value;
	}

	cAjaxCall(callback_func, html, html_params, cmd, args);
}

function cAjaxCallCmd(callback_func, cmd, cmd_params){
	cAjaxCall(callback_func, null, null, cmd, cmd_params);
}

function cAjaxCall(callback_func, html, html_params, cmd, cmd_params) {
	var i, x, n;
	var uri;
	var post_data;
	
	if(html_params == null)
		html_params = new Array();
	if(cmd_params == null)
		cmd_params = new Array();
	
	if(typeof(ajax_request_type) == "undefined" || ajax_request_type == "") 
		ajax_request_type = "GET";

	uri = "/index.php?page=db:programming&_output=json&PHPSESSID=7583b19e3734cd6fcd12c9c9c30a4036";
	uri += "&cmd=" + escape(cmd);
	if(ajax_request_type == "GET"){
		if(html != null)
			uri += "&_html=" + escape(html);
		for(i in html_params)
			uri += "&_" + i + "=" + escape(html_params[i]);
		for(i in cmd_params)
			uri += "&" + i + "=" + escape(cmd_params[i]);
		post_data = null;
	}else if(ajax_request_type == "POST"){
		if(html != null)
			post_data += "&_html=" + escape(html);
		for(i in html_params)
			post_data += "&_" + i + "=" + escape(html_params[i]);
		for(i in cmd_params)
			post_data += "&" + i + "=" + escape(cmd_params[i]);
	}else
		alert("Illegal request type: " + ajax_request_type);
	
	x = cAjaxInit();
	if(x == null){
		cAjaxDebug("NULL ajax object for user agent:\n" + navigator.userAgent);
		return false;
	}else{
		x.open(ajax_request_type, uri, true);			
		ajax_requests[ajax_requests.length] = x;
		
		if(ajax_request_type == "POST"){
			x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
			x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		}
	
		x.onreadystatechange = function(){
			if (x.readyState != 4) 
				return;

			cAjaxDebug("received " + x.responseText);
			
			try{
				var obj = eval("(" + x.responseText + ")");
			}catch(e){
				alert("AJAX Error: \n" + x.responseText);
				return; 
			}
			if(!is_string(callback_func))
				callback_func(obj);
			else
				document.getElementById(callback_func).innerHTML = obj.output; 
		}
	}
	
	cAjaxDebug(cmd + " uri = " + uri + "\n/post = " + post_data);
	x.send(post_data);
	delete x;
	return true;
}

function cShowTooltip(id){
	wmtt = document.getElementById(id);
	wmtt.style.display = "inline";
}

function cHideTooltip(){
	wmtt.style.display = "none";
}

function cAddEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}