// Java u.a. für CMS
// kombiniert aus global-neu.js, formular.js und pruefungen.js


// Google-Analytics

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

try {
var pageTracker = _gat._getTracker("UA-8603756-1");
pageTracker._trackPageview();
} catch(err) {}

// Mitarbeiter-Drop-Down-Liste auf der Startseite

function mjump (target,selObj,restore) {
  eval (target+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// Popup für Lehrveranstaltungsanmeldung
// bei Wartungsarbeiten registrations.php durch closed.php ersetzen

function sec2 () {
  secpopup = window.open("sec2/secure/registrations.php", "secpop", "width=max,height=max,dependent=yes,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no");
  secpopup.focus();
}

// Formular - Datumsfelder leeren - verlangt onclick="clearField(this)"

function clearField(fld) {
  if (fld.value == "0000-00-00") fld.value = "";
}

// Formular - Feld bedingungslos leeren

function clearField_uncond(fld) {
  if (fld.value) fld.value = "";
}

// Formular - Text an Cursorposition einsetzen, vor und nach aktueller Cursorposition

function insert(aTag, eTag, formularname, elementname) {
  var input = document.forms[formularname].elements[elementname];
  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);
  }
}

// Formular - Feldwert anzeigen - veraltet

function livedaten(elem,nr)
{
        // Hide-Feld beachten!
        eval("elem.form.ziel_view_"+nr).value = elem.value;
        eval("elem.form.ziel_hide_"+nr).value = elem.value;
}

// Formular - Anzahl eingegebener Zeichen überwachen, Maximum wird durch maxlength gesetzt

function CheckLen(Target) {
        var maxlength = "300"; // maximale Zeichenlänge
        StrLen=Target.value.length;
        if (StrLen==1&&Target.value.substring(0,1)==" ") {
                Target.value="";
                StrLen=0;
        }
        if (StrLen>maxlength ) {
                Target.value=Target.value.substring(0,maxlength);
                CharsLeft=0;
        }
        else {
                CharsLeft=maxlength-StrLen;
        }
        window.document.form_an.bemerkungen_anzahl.value=CharsLeft;
}

// Formular - konkrete Eingabekontrolle für Prüfungsformular

function CheckInput() {
        if (window.document.form_an.p_matrikel.value == "") {
                alert("Bitte geben Sie Ihre Matrikel-Nummer an.");
                window.document.form_an.p_matrikel.focus();
                return false;
                exit;
        }
        else if (window.document.form_an.p_studiengang.value == "") {
                alert("Bitte wählen Sie Ihren Studiengang.");
                window.document.form_an.p_studiengang.focus();
                return false;
                exit;
        }
        else if (window.document.form_an.p_studiengang.value == "Anderer" && window.document.form_an.p_studiengang_sonstiger.value == "") {
                alert("Bitte teilen Sie uns mit, was Ihr Studiengang ist oder wählen Sie einen aus der Liste der vorhandenen.");
                window.document.form_an.p_studiengang_sonstiger.focus();
                return false;
                exit;
        }
        else if (window.document.form_an.p_prart.value == "") {
                alert("Bitte wählen Sie die Art der Prüfung.");
                window.document.form_an.p_prart.focus();
                return false;
                exit;
        }
        else if (window.document.form_an.p_prart.value == "Andere" && window.document.form_an.p_prart_sonstige.value == "") {
                alert("Bitte teilen Sie uns mit, um welche Prüfungsart es sich handelt oder wählen Sie eine aus der Liste der vorhanden.");
                window.document.form_an.p_prart_sonstige.focus();
                return false;
                exit;
        }
        return true;
}

// Formular - Feldwerte live anzeigen

function setText (elem,nr) {
  document.getElementById(nr).firstChild.nodeValue = elem.value;
}
