/**************************************************************************/
/* Setter & Getter Methods                                                */
/**************************************************************************/

//
// Liest den Wert eines Parameters aus dem Cookie
//
function cookie_getValue(paramName) {
  var paramValue = "";
  var i = 0;
  var keks = document.cookie.split(";");
  while ((i<keks.length) && (keks[i].indexOf(paramName+"=")==-1)) i++;
  if (i<keks.length) paramValue=keks[i].substring(keks[i].indexOf("=") + 1);
  return paramValue;
}

//
// Schreibt den Wert eines Parameters in den Cookie
//
function cookie_setValue(paramName, paramValue, paramExpires) {
  var verfall = new Date();
  verfall.setTime(verfall.getTime()+(1000*paramExpires));
  if (document.cookie) {
    document.cookie=paramName+"="+paramValue+"; expires="+verfall.toGMTString();
  }
}

//
// Entfernt den Wert aus der Liste (string, beliebiger Separator)
//
function removeFromList(sList, sValue) {
  if (sList.indexOf(sValue)>-1)
    sList = sList.slice(0,sList.indexOf(sValue)) + 
            sList.slice(sList.indexOf(sValue)+sValue.length+1, sList.length);
  return sList;
}

//
// Haengt den Wert an eine Liste an (string, "#" als Separator)
//
function addToList(sList, sValue) {
  if (sList.indexOf(sValue)==-1) {
    if (sList.length > 0) sList=sList+"#";
    sList=sList+sValue;
  }
  return sList;
}


/**************************************************************************/
/* Navigation Functions                                                   */
/**************************************************************************/

//
// oeffnet angegebene URL im neuen Fenster
//
function openWindow(vHref, vWidth, vHeight) {
  window.open(vHref, '_blank', 'dependent=yes, height='+vHeight+', width='+vWidth+', left=250, top=200, location=no, menubar=no, status=no, scrollbars=yes, toolbar=no, resizable=yes');
}

//
// klappt ein Menue auf oder zu
//
function expandTree(sName) {
  var oImg = document["MenuImg_"+sName];
  var oDiv;
  var sDivID = "MenuID_"+sName;
  if (document.all!=null)         oDiv = document.all[sDivID];
  else if (document.layers!=null) oDiv = document.layers[sDivID];
  else                            oDiv = document.getElementById(sDivID);

  if (oDiv) {
    if (oDiv.style.display == "none") {
      oDiv.style.display = "block";
      cookie_setValue("MenuExpandOnLoad", addToList(cookie_getValue("MenuExpandOnLoad"),sName), 30*24*3600);
      if (oImg) oImg.src = oFoldUp.src;
      }
    else {
      oDiv.style.display = "none";
      cookie_setValue("MenuExpandOnLoad", removeFromList(cookie_getValue("MenuExpandOnLoad"),sName), 30*24*3600);
      oImg.src = oFoldDown.src;
    };
  };
}

//
// Initialisiert ein Menue
//
function initTree() {
  oFoldUp       = new Image();
  oFoldUp.src   = "http://www.computech.de/images/seitenelemente/menu_minus.gif";
  oFoldDown     = new Image();
  oFoldDown.src = "http://www.computech.de/images/seitenelemente/menu_plus.gif";
  keks          = cookie_getValue("MenuExpandOnLoad");
  for(var i=1; i<100; i++) {
    s = "0"+i;
    s = s.substr(s.length-2, 2);
    if (keks.indexOf(s)==-1) expandTree(s);
  };
}


/**************************************************************************/
/* Validierung Functions                                                  */
/**************************************************************************/

//
// Prueft, ob das Objekt nicht leer ist (für Pflichtfelder)
//
function validate_notempty(oField, sName) {
  var sResult = "";
  if (oField) {
    if (oField.length) {
      for(var i=0; i<oField.length; i++) 
      	if (oField[i].value.replace(/\s/g,"")=="") 
          return "\n Eines der Felder <"+sName+"> ist leer!\n";
      }
    else {
      if (oField.value.replace(/\s/g,"")=="")
        sResult="\n Bitte fuellen Sie das Feld <"+sName+"> aus!\n";
    }
  }
  return sResult;
}

//
// Prueft, ob der Inhalt des Objekts eine gueltige eMail-Adresse ist
//
function validate_eMailAddress(oField, sName) {
  if ((oField.value !="") && (!oField.value.match(/.+@.+\..+/)))
    return "\n Das Feld <"+sName+"> enthaelt keine gueltige eMail-Adresse!\n";
  else return "";
}