/* DHTML-Bibliothek */

var DHTML = false, DOM = false, MSIE4 = false, NS4 = false, OP = false; NS6 = false;

if (document.getElementById) {
  DHTML = true;
  DOM = true;
} else {
  if (document.all) {
    DHTML = true;
    MSIE4 = true;
  } else {
    if (document.layers) {
      DHTML = true;
      NS4 = true;
    }
  }
}
if (window.opera)OP = true;
if (document.getElementById&&!document.all) NS6 = true;

function getElement (Mode, Identifier, ElementNumber) {
  var Element;
  if (DOM) {
    if (Mode.toLowerCase() == "id") {
      if (typeof document.getElementById(Identifier) == "object") {
        Element = document.getElementById(Identifier);
      } else {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "name") {
      var ElementList = document.getElementsByName(Identifier);
      if (typeof ElementList == "object" || (OP && typeof ElementList == "function")) {
        Element = ElementList[ElementNumber];
      } else {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "tagname") {
      var ElementList = document.getElementsByTagName(Identifier);
      if (typeof ElementList == "object" || (OP && typeof ElementList == "function")) {
        Element = ElementList[ElementNumber];
      } else {
        Element = false;
      }
      return Element;
    }
    return null;
  }
  if (MSIE4) {
    if (Mode.toLowerCase() == "id") {
      if (typeof document.all[Identifier] == "object") {
        Element = document.all[Identifier];
      } else {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "tagname") {
      if (typeof document.all.tags(Identifier) == "object") {
        Element = document.all.tags(Identifier)[ElementNumber];
      } else {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "name") {
      if (typeof document[Identifier] == "object") {
        Element = document[Identifier];
      } else {
        Element = false;
      }
      return Element;
    }
    return false;
  }
  if (NS4) {
    if (Mode.toLowerCase() == "id" || Mode.toLowerCase() == "name") {
      if (typeof document[Identifier] == "object") {
        Element = document[Identifier];
      } else {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "index") {
      if (typeof document.layers[Identifier] == "object") {
        Element = document.layers[Identifier];
      } else {
        Element = false;
      }
      return Element;
    }
    return false;
  }
  return false;
}

function getContent (Mode, Identifier, ElementNumber) {
  var Content;
  var Element = getElement(Mode, Identifier, ElementNumber);
  if (!Element) {
    return false;
  }
  if (DOM && Element.firstChild) {
    if (Element.firstChild.nodeType == 3) {
      Content = Element.firstChild.nodeValue;
    } else {
      Content = "";
    }
    return Content;
  }
  if (MSIE4) {
    Content = Element.innerText;
    return Content;
  }
  return false;
}

function getAttribute (Mode, Identifier, ElementNumber, AttributeName) {
  var Attribute;
  var Element = getElement(Mode, Identifier, ElementNumber);
  if (!Element) {
    return false;
  }
  if (DOM || MSIE4) {
    Attribute = Element.getAttribute(AttributeName);
    return Attribute;
  }
  if (NS4) {
    if (typeof Element[ElementNumber] == "object") {
      Attribute = Element[ElementNumber][AttributeName];
    } else {
      Attribute = Element[AttributeName]
    }
    return Attribute;
  }
  return false;
}

function setContent (Mode, Identifier, ElementNumber, Text) {
  var Element = getElement(Mode, Identifier, ElementNumber);
  if (!Element) {
    return false;
  }
  if (DOM && Element.firstChild) {
    Element.firstChild.nodeValue = Text;
    return true;
  }
  if (MSIE4) {
    Element.innerText = Text;
    return true;
  }
  if (NS4) {
    Element.document.open();
    Element.document.write(Text);
    Element.document.close();
    return true;
  }
}


/***********************************  Neue  ***********************************************/

function MH_TOOLS() {
//  var docBody = window.document.body;
  this.bodyAppend = function(obj) {
    document.body.appendChild(obj);
  }
}

function eintragen(id,text) {
  var obj = getElement ("id", id);
  if (obj) {
    if(document.all || document.getElementById) {
      obj.innerHTML = text;
    } else if(document.layers) {
      obj.document.open();
      obj.document.write(text);
      obj.document.close();
    }
  }
}


function chgStyle(id,styleTag,newStyle) {
  var obj = getElement ("id", id);
  alert(obj.style.getAttribute("fontSize", "false"));
  if (obj && (DOM || MSIE4)) {
//    alert(obj.style.getAttribute());
    obj.style.setAttribute(styleTag, newStyle, false);
    alert("Fehler in der Ausführung. Verdammter Natscape Navigator!");
  } else if (NS4) {
    alert("Fehler in der Ausführung. Verdammter Natscape Navigator!");
  }
}


function fensterWeite() {
  if (window.innerWidth) {
    return window.innerWidth;
  } else if (document.body && document.body.offsetWidth) {
    return document.body.offsetWidth;
  } else {
    return false;
  }
}

function fensterHoehe () {
  if (window.innerHeight) {
    return window.innerHeight;
  } else if (document.body && document.body.offsetHeight) {
    return document.body.offsetHeight;
  } else {
    return false;
  }
}

function encryptUML(str) {
  if(!str || str=='') return '';
  str = str.replace(/(ä)/g,'&auml;');
  str = str.replace(/(ö)/g,'&ouml;');
  str = str.replace(/(ü)/g,'&uuml;');

  str = str.replace(/(Ä)/g,'&Auml;');
  str = str.replace(/(Ö)/g,'&Ouml;');
  str = str.replace(/(Ü)/g,'&Uuml;');

  str = str.replace(/(€)/g,'&euro;');
  str = str.replace(/(ß)/g,'&szlig;');
  return str;
}

function decryptUML(str) {
  if(!str || str=='') return '';
  str = str.replace(/(&amp;auml;)/g,'ä');
  str = str.replace(/(&amp;Auml;)/g,'Ä');
  str = str.replace(/(&amp;ouml;)/g,'ö');
  str = str.replace(/(&amp;Ouml;)/g,'Ö');
  str = str.replace(/(&amp;uuml;)/g,'ü');
  str = str.replace(/(&amp;Uuml;)/g,'Ü');
  str = str.replace(/(&amp;euro;)/g,'€');
  str = str.replace(/(&amp;szlig;)/g,'ß');
  str = str.replace(/(&auml;)/g,'ä');
  str = str.replace(/(&Auml;)/g,'Ä');
  str = str.replace(/(&ouml;)/g,'ö');
  str = str.replace(/(&Ouml;)/g,'Ö');
  str = str.replace(/(&uuml;)/g,'ü');
  str = str.replace(/(&Uuml;)/g,'Ü');
  str = str.replace(/(&euro;)/g,'€');
  str = str.replace(/(&szlig;)/g,'ß');
  return str;
}


/*
Ä 	%C4
Ü 	%DC
Ö 	%D6
ä 	%E4
ü 	%FC
ö 	%F6
ß 	%DF
? 	%3F
/ 	%2F muß nur als Teil der Parameter (nach dem ?) ersetzt werden
; 	%3B
% 	%25 oder %%
= 	%3D
" 	%22
( 	%28
) 	%29
' 	%2C
. 	%2E
: 	%3A
< 	%3C
> 	%3E
@ 	%40
[ 	%5B
] 	%5D
\ 	%5C
^ 	%5E
{ 	%7B
} 	%7D
| 	%7C
& 	%26
# 	%23
*/


function eMailCheck(s){ return checkMail(s);}

function checkMail(s){
  var a = false;
  var res = false;
  if(typeof(RegExp) == 'function') {
    var b = new RegExp('abc');
    if(b.test('abc') == true) a = true;
  }
  if(a == true){
    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                     '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                     '(\\.)([a-zA-Z]{2,4})$');
    return (reg.test(s));
  } else return (s.search('@') >= 1 && s.lastIndexOf('.') > s.search('@') && s.lastIndexOf('.') >= s.length-5);
  return false;
}

function checkDate(date) {
  var a = false;
  var res = false;
  if(typeof(RegExp) == 'function') {
    var b = new RegExp('abc');
    if(b.test('abc') == true) a = true;
  }
  if(a == true){
    reg = new RegExp("^\([0-3]?[0-9]\)\\.\([0-1]?[0-9]\)\\.\([0-9]{4}\)$");
    return (reg.test(date));
  } else return (s.search('.') == 2);
  return false;

}

function info(obj) {
  text='';
  for (var value in obj) {
    text += value+': '+value.obj+"<br>\n";
  }
  alert(text);
//  infoWindow=window.open("","Info");
//  infoWindow.document.write(text);

}

function mh_selectClear(select) {
  while (select.length>0) select.options[select.length - 1] = null;
}

function mh_selectFillArray(select, array) {
  mh_selectClear(select);
  for(var value in array) {
    if (array[value]!=null) {
      NeuerEintrag = new Option(array[value],value);
      select.options[select.length] = NeuerEintrag;
    }
  }
}

function getXML(xmltext, xmlpart) {
  startsearch="/\<"+xmlpart+"\>/";
  endesearch="/\<\\/"+xmlpart+"\>/";
  start = xmltext.search(eval(startsearch));
  start = start+2+(xmlpart.length);
  ende = xmltext.search(eval(endesearch));
  laenge = ende-start;
  return xmltext.substr(start, laenge);
}

function alltrim(str) {
  if(typeof(str)=="string") return str.replace(/^\s+|\s+$/g,"");
  else return str;
}


mh_boot = new MH_BOOT();
