<!--

/* ----- Vorauswahl */

function vorauswahl(n_form, n_element, n_nummer){
  document.forms[n_form].elements[n_element][n_nummer].checked=true;
}

/* ----- Submit durch Links */

function lnksubmit(n_element, n_value){
  var elementname = document.getElementById? document.getElementById(n_element):document.all[n_element];
  var formname = elementname.form.name;
  document.forms[formname].elements[n_element].value=n_value;
  document.forms[formname].submit();
}

/* ----- Campauswahl in der Autorenpage */

function autorcampjahr(n_select1, n_select2, maxcamp){
  var formname = n_select1.form.name;
  var idjahr = n_select1.value.split("-");
  for (var y=0;y<maxcamp;y++){
    document.forms[formname].elements[n_select2].options[y].style.display="none";
  }
  for (var y=idjahr[0]-1;y<=idjahr[1]-1;y++){
    document.forms[formname].elements[n_select2].options[y].style.display="block";
  }
}

function movecamp(intDirection, n_form, n_select2, n_select3, n_hidden){
  var flag;
  var arrnew = new Array();
  var box1= document.forms[n_form].elements[n_select2];
  var box2= document.forms[n_form].elements[n_select3];
  var newloc= document.forms[n_form].elements[n_hidden];

  with (box1){
    if (intDirection){
      for(var x=0;x<box1.length;x++){
        var opt = box1.options[x];
        if (opt.selected){
          flag = 1;
          for (var y=0;y<box2.length;y++){
            var myopt = box2.options[y];
            if (myopt.value == opt.value) flag = 0;
          }
          if (flag) box2.options[box2.options.length] = new Option(opt.text, opt.value, 0, 0);
        }
      }
    }
    else{
      for(var x=box2.length-1;x>=0;x--){
        var opt = box2.options[x];
        if (opt.selected) box2.options[x] = null;
      }
    }
    for (var y=0;y<box2.length;y++){
      arrnew[y] = box2.options[y].value
    }
    newloc.value = arrnew.join();
  }
}

/* ----- ButtonChanger */

function button(n_submit, n_text){
  n_submit.value=n_text;
  n_submit.disabled;

}

function buttonsicher(n_submit, n_sicher, n_text){
  if (!confirm(n_sicher)) return false;
  else{
    button(n_submit, n_text);
    return true;
  }
}

/* ----- Alle Buttons aktivieren */

function select_all(key, anz, n_element){
  var formname = key.form.name;
  for(var n_nummer = 1; n_nummer <= anz; n_nummer++){
    document.forms[formname].elements[n_element+n_nummer].checked=key.checked;
  }
}

/* ----- Umlautbox */

function umlaut(key, n_submit, n_text){
  var numSelected = key.selectedIndex;
  var formname = key.form.name;
  var typo = key.options[numSelected].value
  if (numSelected != 0){
    var newtext = document.forms[formname].elements[n_text];

    /* fuer Internet Explorer */
    if(typeof document.selection != 'undefined'){
      newtext.focus();
      var range = document.selection.createRange();
      range.text = range.text+typo;
      range.move('character', -1);
    }

    /* fuer Gecko basierende Browser */
    else if(typeof newtext.selectionStart != 'undefined'){
      var platz = newtext.selectionStart;
      newtext.value = newtext.value.substr(0, platz) + typo + newtext.value.substr(platz);
      var newpos = platz + typo.length;
      newtext.selectionStart = newpos;
      newtext.selectionEnd = newpos;
    }

    /* fuer die uebrigen Browser */
    else{
      newtext.value = newtext.value + typo;
    }
    key.selectedIndex = 0;
    newtext.focus();
  }
}

/* ----- Hilfebox */

function helpshow(content, show){
  if (show==1){
    if (document.all||document.getElementById){
      helpid="help";
      helpinhid="helpcontent";
      helpinhalt=document.getElementById? document.getElementById(helpinhid):document.all[helpinhid];
      helpelement=document.getElementById? document.getElementById(helpid):document.all[helpid];
      if (helpinhalt.innerHTML == ""){
        var startX = window && window.innerWidth? window.innerWidth:document.body.offsetWidth? document.body.offsetWidth:600;
        var startY = 130;
        helpelement.style.width = startY + "px";
        function ml(id){
          var el=document.getElementById?document.getElementById(id):document.all[id];
          el.sP=function(x,y){
            this.style.left=x+"px";
            this.style.top=y+"px";
          };
          el.x = startX-el.offsetWidth-20;
          el.y = startY;
          return el;
        }
        window.stayTopLeft=function(){
          var pY = document.body.scrollTop? document.body.scrollTop : document.documentElement.scrollTop;
          ftlObj.y += (pY + startY - ftlObj.y)/8;
          ftlObj.sP(ftlObj.x, ftlObj.y);
          setTimeout("stayTopLeft()", 10);
        }
        ftlObj = ml("help");
        ftlObj.y=0;
        stayTopLeft();
      }
      helpelement.style.visibility = "visible";
      helpinhalt.innerHTML = content;
    }
  }
}

function helpcloser(n_sicher){
  if (!confirm(n_sicher)) return false;
  else{
    return true;
  }
}

/* ----- Subnavigationen ein- und ausblenden */

function naviopen(id, position){
  with (document){
    smenu=getElementById? getElementById(id):document.all[id];
    parentmenu=smenu.parentNode;
    menuleft=parentmenu.offsetLeft;
    menutop=parentmenu.offsetTop;
    menuwidth=parentmenu.offsetWidth;
    menuheight=parentmenu.offsetHeight;
    if (position=='left'){
      smenu.style.top=menutop + "px";
      smenu.style.left=menuleft+menuwidth + "px";
    }
    else if(position=='top'){
      smenu.style.top=menutop+menuheight + "px";
      smenu.style.left = naviposleft(parentmenu) - 40 + "px";
    }
    if (parentmenu.className.search(' hover') == -1){
      parentmenu.className=parentmenu.className+' hover';
    }
    smenu.style.display = 'block';
  }
}
function naviclose(id){
  with (document){
    smenu=getElementById? getElementById(id):document.all[id];
    smenu.style.display = 'none';
    parentmenu=smenu.parentNode;
  }
  smenu.className=smenu.className.replace(' hover', '');
  parentmenu.className=parentmenu.className.replace(' hover', '');
}

function naviposleft(obj) {
  curleft = 0;
  if (obj.offsetParent) {
    curleft = obj.offsetLeft;
    while (obj = obj.offsetParent) {
      curleft += obj.offsetLeft;
    }
  }
  return curleft;
}

function naviposleftx(obj){
  offsetpar = obj.offsetParent;
  curleft = 0;
  texte ="";
  el = obj;
  while (el.parentNode!=null) {
    el = el.parentNode;
    if (el.offsetParent!=null) {
      if (el.scrollLeft && el.scrollLeft>0) curleft -= el.scrollLeft;
    }
    texte+="no1 "+curleft+" "+"\n";
    if (el == offsetpar) {
      curleft += obj.offsetLeft;
      if (el.clientLeft) curleft += el.clientLeft; 
      obj = el;
      if (obj.offsetParent==null) {
        if (obj.offsetLeft) curleft += obj.offsetLeft; 
      }
      offsetpar = obj.offsetParent;
    }
    texte+="no2 "+curleft+" "+"\n";
  }
  alert(texte); 
  return curleft;
}

/* ----- Boxen ein- und ausblenden */

function DisplayElement (displayid, displayvalue){
  elementid=document.getElementById? document.getElementById(displayid):document.all[displayid];
  elementid.style.display = displayvalue;
}

function formaton (){
  DisplayElement ('formatrow', 'block');
  DisplayElement ('formatlink', 'none');
}

function formatoff (){
  DisplayElement ('formatrow', 'none');
  DisplayElement ('formatlink', 'inline');
}

function umlauton (){
  DisplayElement ('umlautrow', 'block');
  DisplayElement ('umlautlink', 'none');
}

function umlautoff (){
  DisplayElement ('umlautrow', 'none');
  DisplayElement ('umlautlink', 'inline');
}

function autorcamplinkon (){
  DisplayElement ('autorcamprow', 'block');
  DisplayElement ('autorcamplink', 'none');
}

function autorcamplinkoff (){
  DisplayElement ('autorcamprow', 'none');
  DisplayElement ('autorcamplink', 'block');
}

function autorvitaon (){
  DisplayElement ('autorvitarow', 'block');
  DisplayElement ('autorvitalink', 'none');
}

function autorvitaoff (){
  DisplayElement ('autorvitarow', 'none');
  DisplayElement ('autorvitalink', 'block');
}

function autormailon (){
  DisplayElement ('autormailrow', 'block');
  DisplayElement ('autormaillink', 'none');
}

function autormailoff (){
  DisplayElement ('autormailrow', 'none');
  DisplayElement ('autormaillink', 'block');
}

function autorstaton (){
  DisplayElement ('autorstatrow', 'block');
  DisplayElement ('autorstatlink', 'none');
}

function autorstatoff (){
  DisplayElement ('autorstatrow', 'none');
  DisplayElement ('autorstatlink', 'block');
}

function textfronton (){
  DisplayElement ('textfrontrow', 'block');
  DisplayElement ('textfrontlink', 'none');
}

function textfrontoff (){
  DisplayElement ('textfrontrow', 'none');
  DisplayElement ('textfrontlink', 'block');
}


function textspezialon (){
  DisplayElement ('textspezialrow', 'block');
  DisplayElement ('textspeziallink', 'none');
}

function textspezialoff (){
  DisplayElement ('textspezialrow', 'none');
  DisplayElement ('textspeziallink', 'block');
}

function mailtext (){
  DisplayElement ('mailtextbox', 'block');
  DisplayElement ('mailtextlink', 'none');
  DisplayElement ('mailadressbox', 'none');
  DisplayElement ('mailadresslink', 'block');

  // Liste der Mails validieren
  mail_ext_id="contact_mail_ext";
  mail_send_id="contact_mail_ext_send";
  mail_ext=document.getElementById? document.getElementById(mail_ext_id):document.all[mail_ext_id];
  mail_send=document.getElementById? document.getElementById(mail_send_id):document.all[mail_send_id];
  var mail_check = mail_ext.value.match(/[A-Z0-9._%-]+@[A-Z0-9-]+.[A-Z]{2,4}/ig);
  mail_send.value='';
  if (mail_check){
    mail_ext.value='';
    for (var i = 0; i < mail_check.length; ++i){
      mail_send.value+=mail_check[i]+'; ';
      mail_ext.value+=mail_check[i]+'; ';
    }
  }
}

function mailadress (){
  DisplayElement ('mailtextbox', 'none');
  DisplayElement ('mailtextlink', 'block');
  DisplayElement ('mailadressbox', 'block');
  DisplayElement ('mailadresslink', 'none');
}

/* ----- bbCode control by subBlue design www.subBlue.com */

/* -- Startup variablen */
var theSelection = false;

/* -- Definiert die bbCode tags */
bbcode = new Array();
bbtags = new Array('[b]','[/b]','[i]','[/i]','[list]','[/list]','[nlist]','[/nlist]');

/* -- Zeigt die Hilfeinfo in der Hilfslinie */
function helpline(helptext, content, show){
  if (document.all||document.getElementById){
    helpid="helpbox";
    helpelement=document.getElementById? document.getElementById(helpid):document.all[helpid];
    helpelement.innerHTML=helptext;
  }
  helpshow(content, show);
}

/* -- Ersatzroutine fuer arrayname.length property */
function getarraysize(thearray){
  for (i = 0; i < thearray.length; i++){
    if((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null)) return i;
  }
  return thearray.length;
}

/* -- Insert at Claret position. */
function storeCaret(textEl){
  if(textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

/* -- Entfernt und loescht das letzte Element eines Arrays */
function arraypop(thearray){
  thearraysize = getarraysize(thearray);
  retval = thearray[thearraysize - 1];
  delete thearray[thearraysize - 1];
  return retval;
}

function bbstyle(bbnumber){
  var txtarea = document.text_form.text_text;
  txtarea.focus();
  donotinsert = false;
  theSelection = false;
  bblast = 0;

  /* -- schliesst alle geoeffneten Buttons und fuegt die Schliesstags am Ende des Textes ein. */
  if(bbnumber == -1){
    while(bbcode[0]){
      butnumber = arraypop(bbcode) - 1;
      txtarea.value += bbtags[butnumber + 1];
      buttext = eval('document.text_form.bbcode' + butnumber + '.innerHTML');
      eval('document.text_form.bbcode' + butnumber + '.innerHTML ="' + buttext.substr(0,(buttext.length - 1)) + '"');
    }
    txtarea.focus();
    return;
  }

  /* -- Wenn etwas markiert wird, dann mit dem geklickten Button umschliessen */
  /* fuer Internet Explorer */
  if(typeof document.selection != 'undefined'){
    theSelection = document.selection.createRange().text;
    if(theSelection){
      document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
      txtarea.focus();
      theSelection = '';
      return;
    }
  }
  /* fuer Gecko basierende Browser */
  else if(txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)){
    var selLength = txtarea.textLength;
    var selStart = txtarea.selectionStart;
    var selEnd = txtarea.selectionEnd;
    if(selEnd == 1 || selEnd == 2) selEnd = selLength;
    var s1 = (txtarea.value).substring(0,selStart);
    var s2 = (txtarea.value).substring(selStart, selEnd)
    var s3 = (txtarea.value).substring(selEnd, selLength);
    txtarea.value = s1 + bbtags[bbnumber] + s2 + bbtags[bbnumber+1] + s3;
    var newpos = selStart + bbtags[bbnumber].length + bbtags[bbnumber+1].length + s2.length;
    txtarea.selectionStart = newpos;
    txtarea.selectionEnd = newpos;
    txtarea.focus();
    return;
  }

  /* -- Finde die letzte Uebereinstimmung eines geoeffneten Tags mit dem gerade geklickten */
  for(i = 0; i < bbcode.length; i++){
    if(bbcode[i] == bbnumber+1){
      bblast = i;
      donotinsert = true;
    }
  }
  /* -- Schliesstag */
  if(donotinsert){
    while(bbcode[bblast]){
      butnumber = arraypop(bbcode) - 1;
      /* fuer Gecko basierende Browser */
      if(typeof txtarea.selectionStart != 'undefined'){
        var platz = txtarea.selectionStart;
        txtarea.value = txtarea.value.substr(0, platz) + bbtags[butnumber + 1] + txtarea.value.substr(platz);
        var newpos = platz + bbtags[bbnumber + 1].length;
        txtarea.selectionStart = newpos;
        txtarea.selectionEnd = newpos;
      }
      /* fuer Internet Explorer */
      else if(typeof document.selection != 'undefined'){
        var platz = document.selection.createRange();
        platz.text = platz.text+ bbtags[butnumber + 1];
        platz.move('character', -bbtags[butnumber + 1].length);
      }
      /* fuer die uebrigen Browser */
      else{
        txtarea.value += bbtags[butnumber + 1];
      }
      if (document.all||document.getElementById){
        buttonid="bbcode"+bbnumber;
        formbutton=document.getElementById? document.getElementById(buttonid):document.all[buttonid];
        buttext = formbutton.innerHTML;
        formbutton.innerHTML=formbutton.innerHTML=buttext.substr(0,(buttext.length - 1));
      }
    }
    txtarea.focus();
    return;
  }
  else{
    /* -- Eroeffnungstag */
    /* fuer Gecko basierende Browser */
    if(typeof txtarea.selectionStart != 'undefined'){
      var platz = txtarea.selectionStart;
      txtarea.value = txtarea.value.substr(0, platz) + bbtags[bbnumber] + txtarea.value.substr(platz);
      var newpos = platz + bbtags[bbnumber].length;
      txtarea.selectionStart = newpos;
      txtarea.selectionEnd = newpos;
    }
    /* fuer Internet Explorer */
    else if(typeof document.selection != 'undefined'){
      var platz = document.selection.createRange();
      platz.text = platz.text+ bbtags[bbnumber];
      platz.move('character', -bbtags[bbnumber].length);
    }
    /* fuer die uebrigen Browser */
    else{
      txtarea.value += bbtags[bbnumber];
    }
    bbcode[getarraysize(bbcode)] = bbnumber+1;
    if (document.all||document.getElementById){
      buttonid="bbcode"+bbnumber;
      formbutton=document.getElementById? document.getElementById(buttonid):document.all[buttonid];
      formbutton.innerHTML=formbutton.innerHTML+="*";
    }
    txtarea.focus();
    return;
  }
  storeCaret(txtarea);
}

/* -- loescht alle eckigen-Klammer-Codes */
function killbbcode(){
  var instext = document.forms["text_form"].elements["text_text"];
  var killtext = instext.value;
  killtext = killtext.replace(/\[\/?[a-z1-9=*]+\]/g, "");
  instext.value = killtext;
  instext.focus();
}

//-->