// ACP Navi & Menu
button = new Image(51, 9);
button.src = "img/button.jpg";
button1 = new Image(51, 9);
button1.src = "img/button1.jpg";

function swapNavi(div) {
	displayType = (document.getElementById(div).style.display == 'block') ? 'none' : 'block';
	document.getElementById(div).style.display = displayType;
}

function swapMenu(div) {
	buttonSource = (document.images.button.src == button.src) ? button1.src : button.src;
	document.images.button.src = buttonSource;
	swapNavi(div);
}

// ACP functions
function check_all(form) 
{
	var checker = form.checkall.checked;
	for (var i = 0; i < form.elements.length; i++)
	{
		var element = form.elements[i];
	
		if (element.type == 'checkbox') 
		{
			element.checked = checker;
		}
	}
}

function toggle_action(form)
{
	for (var i = 0; i < form.multi_actions.options.length; i++)
	{
		if (form.multi_actions.options[i].selected == true)
		{
			var act = form.multi_actions.options[i].value;
		}
	}
	
	var sect = form.sect.value;

	form.action = "?sect=" + sect + "&act=" + act;
}

function toggle_rights(id)
{
	div = 'rights_' + id;
	
	if (document.getElementById(id).checked == true)
		document.getElementById(div).style.display = 'block';
	else
		document.getElementById(div).style.display = 'none';
}

function add_link(id)
{
	var count = new Array();
	count[id] = 0;
	
	for (var x = 1; x < 11; x++)
	{
		div = id + x;
		if (document.getElementById(div).style.display == 'block')
			count[id] = x;
	}
	
	count[id]++;
	div = id + count[id];
	if (count[id] < 11)
		document.getElementById(div).style.display = 'block';
	else
		alert("Die Anzahl der Links ist auf 10 begrenzt.");
}

// general

function decode()
{
	var url   = window.location.search;
    /* wie gehabt, es wird alles ab dem "?" gelesen */
    if (url != "")
	{
		liste = url.split("&");
        /* auch hier splitten am "&" */
        for (i=0;i<=liste.length-1;i++)
		{
			temp = liste[i].split("=");
			/* auch hier splitten am "=" */
			temp[1]=temp[1].replace(/\+/g," ");
			temp[1]=unescape(temp[1]);
			/* wie gehabt, das Putzen aber jetzt:*/
			eval_temp= 'window.' + temp[0] + "=" + temp[1];
			eval (eval_temp);
            /* schreibt den Inhalt in evaltemp, dass dann etwa so aussieht: daten1=Hallo und "berechnet" diesen String. Die Variablen stehen danach zur Verfügung --- ACHTUNG: sollen die Variablen außerhalb der Funktion verfügbar sein, dann müssen sie außerhalb "definiert" werden! */
        }
	} 
}

// normal tag inserts
function insert(aTag, eTag) {
  var input = document.getElementById('text');
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = prompt("Geben sie einen Text ein:\n" + aTag + "Text" + eTag, range.text);
	if (insText == null) return false;
    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 = prompt("Geben sie einen Text ein:\n" + aTag + "Text" + eTag, input.value.substring(start, end));
	if (insText == null) return false;
    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 openPreview (adress) {
  new_window = window.open(adress, "Zweitfenster", "width=600,height=650,scrollbars=yes");
  new_window.focus();
}