//Browser ueberpruefen
var isIE=false;
var isNav=false;
var isNav6=false;
ieVersion=5;
isChrome=(navigator.userAgent.indexOf("Chrome")>0);
isOpera=(navigator.userAgent.indexOf("Opera")===0 || navigator.userAgent.indexOf("Opera")>0);
if ((navigator.userAgent.indexOf("MSIE") !=-1 ) || (navigator.userAgent.indexOf("Opera") !=-1 )){
  //MSIE oder Netscape 6
  isIE=true;
  isNav=false;
  isNav6=false;
  if (navigator.userAgent.indexOf("MSIE") !=-1) {
    var pos=navigator.userAgent.indexOf("MSIE");
    var navtxt=navigator.userAgent.substring(pos);
    pos=navtxt.indexOf(";");
    navtxt=navtxt.substring(0,pos);
    var param=navtxt.split(" ");
    if (param.length>1 && parseInt(param[1])>ieVersion) 
      ieVersion=parseFloat(param[1]);
  }  
}
else if (document.getElementById&&!document.all){
  isIE=false;
  isNav=false;
  isNav6=true;
}
else{
  //kein MSIE
  isIE=false;
  isNav=true;
  isNav6=false;
}
/*
if (ie)
      {
      documentWidth  =document.body.offsetWidth/2+document.body.scrollLeft-20;
      documentHeight =document.body.offsetHeight/2+document.body.scrollTop-20;
      } 
    else if (ns)
      {
      documentWidth=window.innerWidth/2+window.pageXOffset-20;
      documentHeight=window.innerHeight/2+window.pageYOffset-20;
      } 
    else if (w3)
      {
      documentWidth=self.innerWidth/2+window.pageXOffset-20;
      documentHeight=self.innerHeight/2+window.pageYOffset-20;
      } 
*/
function getPosition(name){
//der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
//des Objekts element
  var aObj = null;
  var txt=""+name;
  if ((typeof(name)=="object") || (txt.indexOf("object")>0)) {
    aObj=name;
  }
  else {
    aObj=getObject(name);
  }
  var tagname="";
  var x=0;
  var y=0; 
  //solange aObj ein Objekt ist und die Eigenschaft offsetTop enthaelt
  //wird diese Schleife fuer das Objekt und all seine Offset-Eltern ausgefuehrt
  
  txt=""+aObj;
  while (aObj&&aObj.tagName&&((typeof(aObj)=="object") || (txt.indexOf("object")>0))&&(typeof(aObj.tagName)!="undefined")){
    y+=aObj.offsetTop;     // Offset des jeweiligen Elements addieren
    x+=aObj.offsetLeft;    // Offset des jeweiligen Elements addieren
    tagname=aObj.tagName.toUpperCase(); // tag-Name ermitteln, Grossbuchstaben
    //wenn beim Body-tag angekommen aObj fuer Abbruch auf 0 setzen
    if (tagname=="BODY")
      aObj=0;

   //wenn aObj ein Objekt ist und offsetParent enthaelt
   //Offset-Elternelement ermitteln
    txt=""+aObj.offsetParent;
    if ((typeof(aObj.offsetParent)=="object") || (txt.indexOf("object")>0))
      aObj=aObj.offsetParent;
  }
  // Objekt mit x und y zurueckgeben  
  var position=new Object();
  /*
  if (isIE) {
    x-=3;
    y-=3;
  }
  else {
    x-=3;
    y-=12;  
  }
  */  
  position.x=x;
  position.y=y;
  return position;
}
function getWindowSize(){
  if (isNav || isNav6){
    var w=window.innerWidth;
    var h=window.innerHeight;
  }
  else{
    var w=document.body.clientWidth;
    var h=document.body.clientHeight;
  }
  var size=new Object();
  size.width=w;
  size.height=h;  
  return size;
}
// Create a DHTML Layer
function createLayer(name,left,top,width,height,z,bgColor,visible,content,border,noSetEnd){
  var layer;
  var result='';
  if (isNav){
    document.writeln('<layer name="'+name+'" left='+left+' top='+top+' width='+width+' height='+height+' bgColor='+bgColor+' visibility='+(visible? '"show"':'"hide"')+'>');
    document.writeln(content);    
    if (noSetEnd) result = '</layer>';
    else document.writeln('</layer>');
    layer=getLayer(name);
    layer.width=width;
    layer.height=height;
  }
  if (isIE||isNav6){
    //alert('<div id="'+name+'" NOWRAP style="position:absolute;overflow:none;'+border +'left:'+left+'px;top:'+top+'px;width:'+width+'px;height:'+height+'px;z-index:'+z+';background-color:'+bgColor+';visibility:'+(visible?'visible;':'hidden;')+'">');
    document.writeln('<div id="'+name+'" NOWRAP style="position:absolute;overflow:hidden;'+border +'left:'+left+'px;top:'+top+'px;width:'+width+'px;height:'+height+'px;z-index:'+z+';background-color:'+bgColor+';visibility:'+(visible?'visible;':'hidden;')+'">');
    document.writeln(content);
    if (noSetEnd) result = '</div>';
    else document.writeln('</div>');

  }
  if (noSetEnd == null) {
    if (isNav6) clipLayer(name,left,top,width+left,height+top);
    else clipLayer(name,0,0,width,height);
  }
  return result;
}
// get the layer object called "name"
function getObject(name){
  if (document.all) return document.all[name];
  else if (document.getElementById){
    aObj=document.getElementById(name);
    if (aObj) return aObj;
    else{
      aObj=document.getElementsByName(name);
      if (aObj) return aObj[0];
    }
  }
  else if (document.getElementByName) return document.getElementByName(name);
  else return null;
}
function getLayer(name){
  var aObj = getObject(name);
  if (aObj){
    if (isNav) return aObj;
    else if (isIE || isNav6) return aObj.style
    else return(null);
  }
  else return null;
}

function getLayerHTML(name){
  return getObject(name);
}
function getRunTimeLayer(name){
  var aObj = getObject(name);
  if (aObj) return aObj.runtimeStyle;
  else return null;
}
// toggle layer to visible
function showLayer(name){
  var layer = getLayer(name);
  if (layer!=null){
    if (isNav) {
      layer.visibility = "show";
      layer.display="block";
    }
    if (isIE||isNav6) {
      layer.visibility = "visible";
      layer.display="block";
    }
  }
}
function isLayerVisible(name){
  var layer = getLayer(name);
  if (layer!=null){
    if (isNav) return layer.visibility == "show"?true:false;
    else if (isIE||isNav6) return layer.visibility == "visible"?true:false;
    else return false;
  }
  else return false;
}
function hideLayer(name){
  var layer = getLayer(name);
  if (layer!=null){
    if (isNav) layer.visibility = "hide";
    else layer.visibility = "hidden";
  }
}
// clip layer display to clipleft,cliptip,clipright,clipbottom
function clipLayer(name,clipleft,cliptop,clipright,clipbottom){
  var layer=getLayer(name);
  if (layer != null){
    /*
    if (isNav){
      parent.status="isNav";
      layer.clip.left=clipleft;
      layer.clip.top=cliptop;
      layer.clip.right=clipright;
      layer.clip.bottom=clipbottom;
    }
    else if (isNav6){
      //layer.clip='rect('+cliptop+' '+clipright+' '+clipbottom+' '+clipleft +')';
      var newWidth=clipright-clipleft;
      var newHeight=clipbottom-cliptop;
      layer.height=newHeight;
      layer.width=newWidth;
      layer.top=cliptop+"px";
      layer.left=clipleft+"px";
    }
    else
    */ 
    layer.clip='rect('+cliptop+' '+clipright+' '+clipbottom+' '+clipleft +')';
  }
}
function getObjWidth(name) {
  var aObj=getObject(name);
  if (aObj) {
    //alert(name+" "+aObj.offsetWidth +"  "+aObj.clientWidth);
    return parseInt(aObj.clientWidth);
  }
  else return 0;
}
function getObjHeight(name) {
  var aObj=getObject(name);
  if (aObj) {
    //alert(name+" "+aObj.offsetHeight +"  "+aObj.clientHeight);
    return parseInt(aObj.clientHeight);
  }
  else return 0;
}
function getObjectSize(name) {
  var size=new Object();
  size.width=getObjWidth(name);
  size.height=getObjHeight(name);  
  return size;
}
function resizeLayer(name,width, height){
  layer=getLayer(name);
  if (layer !=null){
    width=Math.abs(width);
    height=Math.abs(height);
    layer.width=width;
    layer.height=height;
    clipLayer(name,0,0,width,height);
  }
}
// move layer to x,y
function moveLayer(name,x,y){ 
  if (!isFinite(x) || isNaN(x) || !isFinite(y) || isNaN(y)) return;
  var layer=getLayer(name);
  if (layer!=null){
    if (isNav) layer.moveTo(x,y);
    else{
      layer.left=x+"px";
      layer.top=y+"px";
    }
  }
}
function centerLayer(name) {
  var layer=getLayer(name);
  var lyrSize=getObjectSize(name);
  var winSize=getWindowSize();
  //x=(winSize.width-lyrSize.width)/2;
  //y=(winSize.height-lyrSize.height)/2;
  x=(winSize.width-lyrSize.width)/2+document.body.scrollLeft;;
  y=(winSize.height-lyrSize.height)/2+document.body.scrollTop;  
  moveLayer(name,x,y);
}
function relativeTo(name, bzgName,xr,yr,xbuffer,ybuffer) {
  var lyrSize=getObjectSize(name);
  var pos=getPosition(bzgName);
  var bzglyrSize=getObjectSize(bzgName);
  var x=0;
  var y=0;
  switch (xr) {
    case "l":
      x=pos.x-xbuffer;
    break;
    case "c":
      x=pos.x+(bzglyrSize.width-lyrSize.width-xbuffer)/2;
    break;
    case "r":
      x=pos.x+bzglyrSize.width-lyrSize.width+xbuffer;
    break;
  }
  switch (yr) {
    case "t":
      y=pos.y-lyrSize.height-ybuffer;
    break;    
    case "m":
      y=pos.y+(bzglyrSize.height-lyrSize.height-ybuffer)/2;
    break;
    case "b":
      y=pos.y+bzglyrSize.height+ybuffer;
    break;
  }  
  moveLayer(name,x,y);
}
function LayerFuellen (name,txt){
  aLayer=getLayerHTML(name);
  if(isIE || isNav6) aLayer.innerHTML = txt;//"TEXT";
  else if (isNav){
    //Netscape
    aLayer.document.open();
    aLayer.document.write(txt);
    aLayer.document.close();
  }
}

