function init() {
  autoEmail(); // Adds href to <a href="">name&lt;at&gt;isp&lt;dot&gt;com</a>
  addLinkEvents(); // Adds toggle function to the appointments and opens downloads automatically
  addFormEvents(); // Adds check-routines to the contact form

  if(document.editphpForm) {
    document.editphpForm.editphp_fileContent.focus();
  }
}

function jumpToStatic() {
  window.location.href = "#jump" + document.jumpToStaticForm.jumpToStatic.value
}

var toggleCheckBoxes = true;

function checkAllBoxes() {
  for(var i = 0; i < document.forms.length; ++i) {
    for(var k = 0; k < document.forms[i].elements.length; ++k) {
      if(document.forms[i].elements[k].type == "checkbox") {
        if(toggleCheckBoxes == true) {
          document.forms[i].elements[k].checked = true;
        } else {
          document.forms[i].elements[k].checked = false;
        }
      }
    }
  }
  if(toggleCheckBoxes == true) {
    toggleCheckBoxes = false;
  } else {
    toggleCheckBoxes = true;
  }
  return false;
}

function insertEmail() {
  var adr = prompt("Gib hier die Emailadresse ein.","");
  if(adr != "" && adr != null && adr != "null") {
    adr = adr.replace(/@/, "&lt;at&gt;");
    adr = adr.replace(/\./, "&lt;dot&gt;");
    var html = prompt("Hier ist der HTML-Code:","<a href=\"mailto:" + adr + "\">" + adr + "</a>");
  }
  return false;
}

function insertHref() {
  var adr = prompt("Gib hier die Link-Adresse ein.","index.php?s=");
  if(adr != "" && adr != null && adr != "null") {
    var title = prompt("Gib hier den Link-Text ein.",adr);
    if(title != "" && title != null && title != "null") {
      if(adr.indexOf("http://") == -1) {
        var insHttp = confirm("Die Link-Adresse enthält kein \"http://\". Dies kann korrekt sein, wenn der Link auf eine Seite von www.knabenchor-bremen.de verweisen soll.\nSoll \"http://\" eingefügt werden?\n\"OK\" => einfügen\n\"Abbrechen\" => nicht einfügen");
        if(insHttp == true) {
          adr = "http://" + adr + "\" target=\"_blank"; // dirty
        }
      }
      title = title.replace(/http:\/\//, "");
      var html = prompt("Hier ist der HTML-Code:","<a href=\"" + adr + "\">" + title + "</a>");
    }
  }
  return false;
}

function closeError() {
	if(document.getElementById("error")) {
		document.getElementById("error").style.display = "none";
	}
}

function autoEmail() {
  try { // dirty
    for(var i = 0; i < document.links.length; ++i) {
      if(document.links[i].firstChild.data.indexOf("<at>") != -1 && document.links[i].firstChild.data.indexOf("<dot>") != -1) {
        document.links[i].firstChild.data = document.links[i].firstChild.data.replace(/<at>/, "@");
        document.links[i].firstChild.data = document.links[i].firstChild.data.replace(/<dot>/, ".");
        document.links[i].href = "mailto:" + document.links[i].firstChild.data;
      }
    }
  }
  catch(e) {
  }
}

var arrAppToggle = new Array();

function addLinkEvents() {
  for(var i = 0; i < document.links.length; ++i) {
    if(document.links[i].id.indexOf("app_") != -1) {
      document.links[i].onclick = cc;
      arrAppToggle[document.links[i].id] = 0;
    }
    if(document.links[i].id == "dl") {
      document.location = document.links[i].href;
    }
    if(document.links[i].id == "mklink") {
      for(var k = 0; k < document.forms.length; ++k) {
        for(var m = 0; m < document.forms[k].elements.length; ++m) {
          if(document.forms[k].elements[m].name.indexOf("href") != -1) {
            document.forms[k].elements[m].onkeyup = mklink;
          }
        }
      }
    }
    if(document.links[i].id == "insertEmail") {
      document.links[i].onclick = insertEmail;
    }
    if(document.links[i].id == "insertHref") {
      document.links[i].onclick = insertHref;
    }
    if(document.links[i].id == "checkAllBoxes") {
      document.links[i].onclick = checkAllBoxes;
    }
  }
}

function checkContactForm() {
  if(document.contact_p1) {
    if(document.contact_p1.email.value.match(/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})/)) {
      if(document.contact_p1.message.value != "") {
        return true;
      } else {
        document.contact_p1.message.focus();
        return false;
      }
    } else {
      alert("Das ist keine Emailadresse.");
      document.contact_p1.email.focus();
      return false;
    }
  }
  return false;
}

function addFormEvents() {
  if(document.contact_p1) {
    document.contact_p1.onsubmit = checkContactForm;
  }
  if(document.jumpToStaticForm) {
    if(document.jumpToStaticForm.jumpToStatic) {
      document.jumpToStaticForm.jumpToStatic.onchange = jumpToStatic;
    } else {
      alert("Das Formular scheint fehlerhaft zu sein.");
    }
  }
}

function mklink(e) {
  if(!e) {
    var e = window.event;
  }
  if(e.target) {
    var elem = e.target;
  }
  if(e.srcElement) {
    var elem = e.srcElement;
  }
  document.getElementById("mklink").href = "http://" + elem.value;
  document.getElementById("mklink").firstChild.data = "http://" + elem.value;
}

function cc(e) {
  if(!e) {
    var e = window.event;
  }
  if(e.target) {
    var elem = e.target;
  }
  if(e.srcElement) {
    var elem = e.srcElement;
  }
  var id = elem.id;
  toggle(id);
  elem.blur();
  return false;
}

function toggle(id) {
  if(arrAppToggle[id] == true) {
    document.getElementById(id + "_0").style.display = "none";
    document.getElementById(id + "_1").style.display = "none";
    document.getElementById(id + "_2").style.display = "none";
    document.getElementById(id).firstChild.data = "+";
    arrAppToggle[id] = false;
  } else {
    document.getElementById(id + "_0").style.display = ""; // dirty
    document.getElementById(id + "_1").style.display = "";
    document.getElementById(id + "_2").style.display = "";
    document.getElementById(id).firstChild.data = "-";
    arrAppToggle[id] = true;
  }
}

function over(e) {
  if(!e) {
    var e = window.event;
  }
  if(e.target) {
    var elem = e.target;
  }
  if(e.srcElement) {
    var elem = e.srcElement;
  }
  var id = elem.id.substring(1,elem.id.length);
  document.getElementById("b" + id).style.visibility = "hidden";
}

function out(e) {
  if(!e) {
    var e = window.event;
  }
  if(e.target) {
    var elem = e.target;
  }
  if(e.srcElement) {
    var elem = e.srcElement;
  }
  var id = elem.id.substring(1,elem.id.length);
  document.getElementById("b" + id).style.visibility = "visible";
}

window.onload = init;
