function checkAll(FormName,CheckerName) {
   var ThisCheckbox = eval("document."+FormName);
   var CtrlCheckbox = eval("document."+FormName+"."+CheckerName);

   for (var j = 0; j < ThisCheckbox.elements.length; j++)
   {
    if (ThisCheckbox.elements[j].type == "checkbox")
      if (CtrlCheckbox.checked==true)
      {
         if (ThisCheckbox.elements[j].checked == false)
            ThisCheckbox.elements[j].checked = true;

         CtrlCheckbox.checked=true;
      }
      else
      {
         if (ThisCheckbox.elements[j].checked == true)
            ThisCheckbox.elements[j].checked = false;
      }
   }
}

function showHide(elementID, aElement, aText) {
	var el = document.getElementById(elementID);
	if(el.style.display == 'block') {
	   if(aElement != undefined) {
	      aElement.innerHTML = aText[0];
	   }
		el.style.display = 'none';
		if(elementID.substring(0,7)=='content')
		   document.cookie = "GoabaseDisplay_"+elementID+"=0;";
      if (document.getElementById("bExtS"))
         document.getElementById("bExtS").value="0";
	} else {
	   if(aElement != undefined) {
	      aElement.innerHTML = aText[1];
	   }
		el.style.display = 'block';
		if(elementID.substring(0,7)=='content')
   		document.cookie = "GoabaseDisplay_"+elementID+"=1;";
      if (document.getElementById("bExtS"))
         document.getElementById("bExtS").value="1";
	}
}
function OpenWindow(file,setting) {
if (!setting)
   setting = 'width=792,height=592,scrollbars=1,resizable=1';
window.open(file,'Popup',setting);
}

// Forum, Quote text
function insertArea(field,id) {
   var ThisArea = document.getElementById('message');
   var ThisHint = document.getElementById('quote-hint');
   var ThisNewT = document.getElementById('new-theme');
   var ThisHidden = document.getElementById(field).value;
   var ThisQuoteID = document.getElementById('nLastID');
   ThisArea.value = ThisArea.value + ThisHidden+"\n\n";
   ThisArea.focus();
   ThisHint.style.display = 'block';
   ThisNewT.style.display = 'block';
   ThisQuoteID.value = id;
}

function textcounter( elID, max_limit )
{
   var elID_limit = elID + "_limit";
	var el         = document.getElementById(elID);
	var el_limit   = document.getElementById(elID_limit);   
   if( el.value.length > max_limit )
   {
    // Inhalt zu lang -> Inhalt beschneiden
    el.value = el.value.substring(0, max_limit);
   }
   else
   {
    // Laenge des Inhalts korrekt -> "Zeichen verbleibend" aktualisieren
    el_limit.innerHTML = max_limit - el.value.length;
   }
}
// Prints one or multiple Textarea(s) which will limit the text to a maximum length
// Tested on Firefox 1.5 and 3.0 and Internet Explorer 6.0 and 7.0
// For details about JavaScript events try the sample at the bottom of the page:
// mediaevent.de/javascript/onkeydown.html
// on various browsers to study the multiple differences!

// ATTENTION: onKeyDown and onKeyUp will NOT work here!!
function OnTextareaKeyPress(oEvent, oArea, MaxLen)
{
    Chr = -1;
    if (window.event) // MSIE (does not fire DEL, BACKSPACE keys)
    {
        // event.charCode is undefined on MSIE!!
        Chr = window.event.keyCode;
    }
    else if (oEvent) // Firefox (fires also DEL, BACKSPACE keys with charCode=0)
    {
        // oEvent.keyCode returns nonsense but NOT the ASCII code on Firefox!!
        Chr = oEvent.charCode;
    }

    // return false to block characters if text too long
    // return true for all control keys!!
    return (Chr < 32 || oArea.value.length < MaxLen);
}

// Shorten PASTED texts which cannot be captured in OnTextareaKeyPress()
function OnTextareaKeyUp(oArea, MaxLen)
{
    if (oArea.value.length > MaxLen)
        oArea.value = oArea.value.substring(0, MaxLen);
}
