var selplace = 0;

var menopen = false;

document.onreadystatechange = function(){

   if(document.readyState == "complete"){
      resize();
   }
};

document.onmousemove = function(E){

   if(!menopen)
      return false;

    var found = false;
    var btyp = 0;
    var selem = null;
    if(!navigator.appName.match(/netscape/i)){
       selem = event.srcElement;
    }
    else{
      selem = E.target;
      btyp = 1;
    }
    if(btyp){
       while(selem != null && selem.parentNode != null && !found){
         if(selem.className != null && (selem.className.match(/menu/i) || selem.className.match(/intern/i)))
            found = true;
         //alert(selem.parentNode);
         selem = selem.parentNode;
       }
    }
    else{
       while(selem != null && selem.parentElement != null && !found){
         if(selem.className.match(/menu/i) || selem.className.match(/intern/i))
            found = true;
         selem = selem.parentElement;
       }
    }
    if(!found){
      closemenues();
      //alert(selem.tagName);
    }
};

function resize_opera(){

   if(!document.body.filters && self.parent.location != self.location){
      //alert(parent.return_frm().offsetHeight);
      //alert(document.body.offsetHeight);
      parent.return_frm().style.height = document.body.offsetHeight +"px";

      if(navigator.userAgent.match(/opera/i)){
         var frm = parent.return_frm();
         frm.scrolling = "auto";

         parent.document.body.style.margin = "0px";
         parent.document.body.style.padding = "0px";
         parent.document.getElementsByTagName("table")[0].style.height = "650px";

         //parent.document.body.style.overflow = "scroll";
         resize();
         //alert("Opera interpretiert vieles beim Layout auf eine eigene Art...");
      }
      else{
         //parent.document.body.style.overflow = "scroll";
         resize();
      }
   }
}

function resize(){

   if(self.parent.location != self.location){
      var frm = parent.return_frm();
      //alert(frm.style.height);
      //alert(self.document.body.scrollHeight+"px");
      var h = (self.document.body.scrollHeight+20);
      //alert(h);
      frm.style.height = h+"px";
      var men = document.getElementById("course");

      if(men == null)
         men = document.getElementById("tasks");

      if(h < (men.offsetHeight+50))
         frm.style.height = (men.offsetHeight+50)+"px";

      if(frm.offsetHeight < 500)
         frm.style.height = "500px";
   }
   else{
      document.body.style.overflow = "auto";
   }
}

function return_frm(){

   var frm = document.getElementById("content");
   return frm;
}

function update_code(sobj){

   var tobj = document.getElementById("code");

   if(sobj.selected)
      tobj.value = tobj.value | sobj.value;
   else
      tobj.value = tobj.value ^ sobj.value;
}

function highlight(obj){

   obj.className = obj.className.replace(/low/, "high");
}

function highlightex(obj){

   obj.className = obj.className.replace(/low/, "high");
   var tds = document.getElementsByTagName("td");
   for(var i = 0; i < tds.length; i++){
      if(tds[i].innerHTML != obj.innerHTML)
         dehighlight(tds[i]);
   }
}

function dehighlight(obj){

   obj.className = obj.className.replace(/high/, "low");
}

function show(pic){

   //alert("Setting picture URL("+pic+")");

   var pic = document.getElementById("navipic").src = pic;
}

function goto_page(ppath){

   //alert("Showing page URL("+ppath+")");

   var frm = document.getElementById("content").src = ppath;
}

function opennew(opath){

   if(parent.location != opath){
      //if(confirm("Möchten Sie diese Seite wirklich in einem neuem Fenster öffnen?")){
      window.open(opath, "BBW",
                  "top=0,left=0,height=768,width=1024,resizable=yes,scrollbars=yes");
      }
   //}
   else{// if(confirm("Möchten Sie dieses Fenster wirklich schließen?")){
      if(self.opener){
         self.opener.focus();
         self.close()
      }
      else
         document.location.href = "../";
   }
}

function golist(obj, str){

   var num = obj.selectedIndex;
   var ops = obj.getElementsByTagName("option");

   if(ops[num].value != ''){
      //alert("Going to URL("+str+ops[num].value+") from dyn_optlist");
      document.location.href = str+ops[num].value;
   }
}

function viewpic(str){

   //alert("Showing picture "+str+" in original size");
   window.open(str, "PIC",
               "width=750,height=450,top=0,left=0,toolbars=no,"+
               "resizable=yes,location=no,menubar=no, scrollbars=yes");
   return false;
}

function openmenu(obj, mid){

   var sels = document.getElementsByTagName("select");

   for(var i = 0; i < sels.length; i++)
      sels[i].style.visibility = "hidden";

   var divs = document.getElementsByTagName("div");

   for(var i = 0; i < divs.length; i++){
      if(divs[i].id != mid && !divs[i].innerHTML.match("home.gif"))
         divs[i].style.visibility = "hidden";
   }

   var men = document.getElementById(mid);

   if(men != null){
      if(obj.parentElement){
         with(men.style){//für IE sonst nicht parentElement
            left = obj.offsetLeft+"px";
            //alert(navigator.userAgent);
            if(navigator.userAgent.match(/opera/i))
               top = (obj.parentElement.offsetTop+obj.offsetHeight-12)+"px";
            else
               top = (obj.parentElement.offsetTop+obj.offsetHeight-5)+"px";

            if(document.body.filters && men.style.visibility != "visible"){
               filter = "blendTrans(duration=0.4)";
               men.filters.blendTrans.apply();
               visibility = "visible";
               men.filters.blendTrans.play();
            }
            else
               visibility = "visible";
         }
      }
      else{
         //alert("Test Opera");
         with(men.style){//für andere Browser
            left = obj.offsetLeft+"px";
            top = (obj.parentNode.offsetTop+obj.offsetHeight-5)+"px";//(obj.offsetHeight+1)+"px";
            visibility = "visible";
         }
      }
   }

   menopen = true;
}

function opensubmenu(obj, mid){

   var men = document.getElementById(mid);

   var offx = document.getElementById("locs").offsetLeft;
   var offy = document.getElementById("locs").offsetTop;

   if(men != null){
      with(men.style){//für IE sonst nicht parentElement
         left = (offx+obj.offsetWidth+3)+"px";
         top = (offy+obj.offsetTop-2)+"px";

         if(document.body.filters && men.style.visibility != "visible"){
            filter = "blendTrans(duration=0.4)";
            men.filters.blendTrans.apply();
            visibility = "visible";
            men.filters.blendTrans.play();
         }
         else
            visibility = "visible";
      }
   }
}

function closemenu(mid){

   var sels = document.getElementsByTagName("select");

   for(var i = 0; i < sels.length; i++)
      sels[i].style.visibility = "visible";

   //onmouseleave simulieren für andere Browser wie???
   var obj = document.getElementById(mid);
   obj.style.visibility = "hidden";

   menopen = false;
}

function closemenues(){

   var sels = document.getElementsByTagName("select");

   for(var i = 0; i < sels.length; i++)
      sels[i].style.visibility = "visible";

   var divs = document.getElementsByTagName("div");

   for(var i = 0; i < divs.length; i++){
      if(divs[i].id != "" && !divs[i].innerHTML.match("home.gif"))
         divs[i].style.visibility = "hidden";
   }

   var tds = document.getElementsByTagName("td");
   for(var i = 0; i < tds.length; i++)
      dehighlight(tds[i]);

   menopen = false;
}

function showimg(obj){

   var ops = obj.getElementsByTagName("option");
   var pre = document.getElementById("preview");

   pre.src = ops[obj.selectedIndex].value;
   //alert(pre.src);
}

function selectimg(ad){

   var px = 0;
   var py = 0;

   var addstr = arguments.length ? ad : '';

   window.open(addstr+"picpick.php", "PICPICK",
               "width=750,height=450,top="+px+",left="+py+"0,toolbars=no,"+
               "resizable=yes,location=no,menubar=no, scrollbars=yes");
   return false;
}

function useimg(obj, str){

   document.getElementById("shref").value = str;
   obj.close();
}

function usepos(obj, str){

   document.getElementById("pos").value = str;
   obj.close();
}

function setpos(){

   if(!document.body.filters){
      alert("Sie benutzen nicht den Internet Explorer von Microsoft...\n"+
            "Diese Funktion steht daher leider nicht zur Verfügung!");
      return;
   }

   var px = 0;
   var py = 0;

   window.open("setpos.html", "PICPICK",
               "width=750,height=450,top="+px+",left="+py+"0,toolbars=no,"+
               "resizable=yes,location=no,menubar=no, scrollbars=yes");
   return false;
}

function setlay(lid, lpos){

   var obj = document.getElementById("gpic");
   var obj2 = document.getElementById(lid);
   with(obj2.style){
      left = (obj.offsetLeft+parseInt(lpos.split(",")[0]))+"px";
      top = (obj.offsetTop+parseInt(lpos.split(",")[1]))+"px";
      visibility = "visible";
   }
}
