// Übernommen von http://www.homepage-total.de/css/text-verstecken-anzeigen.php
function anzeigen(das){
 if (document.getElementById(das).style.display=='none') {
  document.getElementById(das).style.display='block';
 }
 else {
  document.getElementById(das).style.display='none';
 }
}

// Funktion von SelfHTML übernommen
// http://aktuell.de.selfhtml.org/tippstricks/javascript/bbcode/
function insertCode(areaName, aTag, eTag) {
  var input = document.forms[1].elements[areaName];
  if (eTag=='undefined') {eTag='';}
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0)
    {
      range.move('character', -eTag.length);
    }
    else
    {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0)
    {
      pos = start + aTag.length;
    }
    else
    {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}

function insertCode1(areaName, aTag, eTag) {
  var input = document.forms[2].elements[areaName];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0)
    {
      range.move('character', -eTag.length);
    }
    else
    {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0)
    {
      pos = start + aTag.length;
    }
    else
    {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}



function insurl(name)
{
 if(prompt)
 {
  var url = prompt('Bitte Link (URL) eingeben', 'http://');
  if(url!=null)
  {
   var txt = prompt('Bitte den Text eingeben, der stattdessen angezeigt werden soll', url);
   if(txt==null || txt==url) txt = url;

   var tag = '[url]'+url+'|'+txt+'[/url]';
   if(txt!='') tag = '[url]'+url+'|'+txt+'[/url]';
   insertCode(name, tag,'');
  }
 }
 else insertCode(name, '[url]http://[/url]','');
}

function insmail(name)
{
 if(prompt)
 {
  var url = prompt('Bitte E-Mail-Adresse eingeben', '');
  if(url!=null)
  {
   var txt = prompt('Bitte den Text eingeben, der stattdessen angezeigt werden soll', url);
   if(txt==null || txt==url) txt = url;

   var tag = '[mail]'+url+'[/mail]';
   if(txt!='') tag = '[mail]'+url+'|'+txt+'[/mail]';
   insertCode(name, tag,'');
  }
 }
 else insertCode(name, '[mail][/mail]','');
}

function insimg(name)
{
 if(prompt)
 {
  var img = prompt('Bitte Bild (URL) eingeben', 'http://');
  if(img!=null) insertCode(name, '[img]'+img+'[/img]','');
 }
 else insertCode(name, '[img]http://[/img]','');
}

function inspet(name)
{
 if(prompt)
 {
	var head = prompt('Bitte Überschrift der Listet eingeben:', 'EN-Te Aktiv');
  	var img = prompt('Bitte Frage eingeben, welche über der Unterschriftenliste zu sehen sein soll:', 'Wer kommt?');
  if(img!=null) insertCode(name, '[newlist]'+head+'|'+img+'[/newlist]');
 }
 else insertCode(name, '[newlist]EN-Te Aktiv|Wer kommt?[/newlist]','');
}

function insvote(name)
{
 if(prompt)
 {
  var eingabe = prompt('Bitte Frage eingeben, über die abgestimmt werden soll', '');
  var args = new Array();

  while(eingabe!=null && eingabe!='')
  {
          args.push(eingabe);
          eingabe = prompt('Bitte Antwortmöglichkeit '+args.length+' eingeben (wenn nötig)', '');
  }

  if(args.length==2)
          alert('Nur eine Antwortmöglichkeit reicht nicht aus!');
  else if(args.length>2)
          insertText(name, '[newvote]'+args.join('|')+'[/newvote]');
 }
}


function PM(nickname)
{
        links = (screen.width/2)-(250);
        oben = (screen.height/2)-(150);
        window.open('pm.php?to='+nickname, '', 'width=620, height=330, top ="200",left ="100"');

}

function TERMIN(q)
{ window.open('termine2.php?mask=edit'+q, '', 'width=450, height=420'); }

function pet(num,query)
{ window.open('abfragen.php?ListenID='+num+'&'+query, 'jugend-en'+num, 'width=600, height=300,scrollbars=yes,status=no,toolbar=no'); }

function openvote(v)
{
 if(v=='') var url = '';
 else           var url = 'vote.php?poll='+v;

 window.open(url, 'votewin', 'width=500,height=300,scrollbars=yes,status=no,toolbar=no');
}




function insertText(form,name,text) {
    var myQuery = document.forms[1].elements[name];
		
        //IE support
        if (document.selection) {
        	document.forms[1].elements[name].focus();
            sel = document.selection.createRange();
            sel.text = text;
        }
        //MOZILLA/NETSCAPE support
        /*
        else if (document.forms[0].elements[name].selectionStart || document.forms[0].elements[name].selectionStart == "0") {
            var startPos = document.forms[0].elements[name].selectionStart;
            var endPos = document.forms[0].elements[name].selectionEnd;
            var val = document.forms[0].elements[name].value;

            document.forms[0].elements[name].value = val.substring(0, startPos) + text + val.substring(endPos, chaineSql.length);
        }
        */
        else {
        	alert (document.forms[1].elements[name]);
            document.forms[1].elements[name].value += text;
            document.forms[1].elements[name].focus();
        }
}





function doIt(url, ziel, cont){
	//erstellen des requests
    var req = null;

    try{
    	req = new XMLHttpRequest();
    }
    catch (ms){
    	try{
        	req = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (nonms){
        	try{
            	req = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (failed){
            	req = null;
            }
        }  
    }

    if (req == null) alert("Error creating request object!");
                  
    //anfrage erstellen (GET, url ist localhost,
    //request ist asynchron      
    req.open("GET", url, true);

    //Beim abschliessen des request wird diese Funktion ausgeführt
    req.onreadystatechange = function(){            
        switch(req.readyState) {
            case 4:
            	if(req.status!=200) {
                	//alert("Fehler:"+req.status+url); 
                }else{    
                                
                    //schreibe die antwort in den div container mit der id content 
                    document.getElementById(ziel).innerHTML = req.responseText;
                }
            break;
                    
            default:
                return false;
            break;     
        }
    };
  
  	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    req.send(null);				
	
	if (cont=='1') setTimeout("doIt('"+url+"', '"+ziel+"', '"+cont+"')",60000);
}



       
// remote scripting library
// (c) copyright 2005 modernmethod, inc
var sajax_debug_mode = false;
var sajax_request_type = "GET";
var sajax_target_id = "";
var sajax_failure_redirect = "";

function sajax_debug(text) {
	if (sajax_debug_mode)
		alert(text);
}
		
function sajax_init_object() {
	sajax_debug("sajax_init_object() called..")
		
	var A;
 			
	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 {
				A = new ActiveXObject(msxmlhttp[i]);
			} catch (e) {
				A = null;
			}
		}
 		
		if(!A && typeof XMLHttpRequest != "undefined")
			A = new XMLHttpRequest();
		if (!A)
			sajax_debug("Could not create connection object.");
		return A;
}
		
var sajax_requests = new Array();
		
function sajax_cancel() {
	for (var i = 0; i < sajax_requests.length; i++) 
		sajax_requests[i].abort();
}
		
function sajax_do_call(func_name, args) {
	var i, x, n;
	var uri;
	var post_data;
	var target_id;
			
	sajax_debug("in sajax_do_call().." + sajax_request_type + "/" + sajax_target_id);
	target_id = sajax_target_id;
	//alert("Type: " + sajax_request_type);
	if (typeof(sajax_request_type) == "undefined" || sajax_request_type == "") 
		sajax_request_type = "GET";
	
	uri = "shout1.php";
	if (sajax_request_type == "GET") {
	
		if (uri.indexOf("?") == -1) 
			uri += "?rs=" + escape(func_name);
		else
			uri += "&rs=" + escape(func_name);
		uri += "&rst=" + escape(sajax_target_id);
		uri += "&rsrnd=" + new Date().getTime();
				
		for (i = 0; i < args.length-1; i++) 
			uri += "&rsargs[]=" + escape(args[i]);
		
			

		post_data = null;
	} 
	else if (sajax_request_type == "POST") {
		//alert("Hier");
		post_data = "rs=" + escape(func_name);
		//alert(post_data);
		post_data += "&value=" + escape(args);
		//alert(post_data);
		//alert("Post: "+ post_data + "Url: " + uri);
			
			
	}
	else {
		alert("Illegal request type: " + sajax_request_type);
	}
			
	x = sajax_init_object();
	if (x == null) {
		if (sajax_failure_redirect != "") {
			location.href = sajax_failure_redirect;
			return false;
		} else {
			sajax_debug("NULL sajax object for user agent:\n" + navigator.userAgent);
			return false;
		}
	} else {
		x.open(sajax_request_type, uri, true);
		// window.open(uri);
			
		sajax_requests[sajax_requests.length] = x;
			
		if (sajax_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;

			sajax_debug("received " + x.responseText);
				
			var status;
			var data;
			var txt = x.responseText.replace(/^\s*|\s*$/g,"");
			status = txt.charAt(0);
			data = txt.substring(2);

			if (status == "") {
						// let's just assume this is a pre-response bailout and let it slide for now
			} else if (status == "-") 
				alert("Error: " + data);
			else {
				if (target_id != "") 
					document.getElementById(target_id).innerHTML = eval(data);
				else {
					try {
						var callback;
						var extra_data = false;
						if (typeof args[args.length-1] == "object") {
							callback = args[args.length-1].callback;
							extra_data = args[args.length-1].extra_data;
						} else {
							callback = args[args.length-1];
						}
						callback(eval(data), extra_data);
					} catch (e) {
						sajax_debug("Caught error " + e + ": Could not eval " + data );
					}
				}
			}
		}
		//alert("reload");
		
	}
	sajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
	x.send(post_data);
	sajax_debug(func_name + " waiting..");
	delete x;
	//alert("hir");
	var date = new Date();
	var curDate = null;

	do { curDate = new Date(); }
		while(curDate-date < 1000);
	doIt('shout1.php', 'Shoutbox', '1');
	//alert("letzte");
	return true;
			
}
		
				
// wrapper for add_line		
function x_add_line(linie) {
	//alert(linie);
	sajax_do_call("add_line",linie);
}

var check_n = 0;
	
function refresh() {
	if (check_n==0) {
		document.getElementById("status").innerHTML = "aktualisiere...";
		doIt('shout1.php', 'Shouts', '1');
		check_n=1;
		setTimeout("refresh()", 500);
		return;
	} else {
		check_n=0;
		document.getElementById("status").innerHTML = "Stand: " + zeit();
		setTimeout("refresh()", 20000);
	}
		
}
	
function add_cb() {
	// we don't care..
}

function add() {
	var line;
	line = document.getElementById("eingabe").value;
	if (line == "")  {
		doIt('shout1.php', 'Shoutbox', '1');
		return;
	}
	sajax_request_type = "POST";
	//alert("Ich warte1");
	x_add_line(line);
	//alert("Ich warte2");
	document.getElementById("eingabe").value = "";
	//doIt('shout1.php', 'Shoutbox', '1');
}
	
function zeit() {
	var uhrzeit = new Date();
	var stunde = uhrzeit.getHours();
	var minute = uhrzeit.getMinutes();
	if(stunde<10){
		stunde="0"+stunde;
	}
	if(stunde>10){
		+stunde;
	}
	if(minute<10){
		minute="0"+minute;
	}
	if(minute>10){
		+minute;
	}
	return(stunde+":"+minute)
}

function hide_loading()
  {

  setTimeout("document.getElementById('loading').style.display='none'", 500);
  

}


