﻿var openmenus = new Array();
var openmenucounter=0;
var SelectClicked='';

function menuon(obj)
{
 if(obj)
 {
  if(document.getElementById(obj))
  {
   document.getElementById(obj).style.display='block';
   openmenus[openmenucounter]=obj;
   openmenucounter++;
  }
 }
}

function idonoff(obj)
{
 if(obj)
 {
  if(document.getElementById(obj))
  {
   if(document.getElementById(obj).style.display=='' || document.getElementById(obj).style.display=='none') menuon(obj);
   else menuoff(obj);
  }
 }
}

function menuoff(obj)
{
 if(obj)
 {
  for(var i=0; i<arguments.length; i++)
  {
   if(document.getElementById(arguments[i])) document.getElementById(arguments[i]).style.display='none';
  }
 }
}

function allmenuoff()
{
var obj;
 for(var i=0; i<openmenus.length; i++)
 {
  if(document.getElementById(openmenus[i]))
  obj=document.getElementById(openmenus[i]);
  if(obj)
  {
   obj.style.display='none';
  }
 }
 openmenus = new Array();
 openmenucounter=0;
}

function autotableiste()
{
 var fullid, menuitem, menuitems, suche, ergebnis, temp, onclick, newDIV, newText;
 allmenus=new Array();

 // gibts den bereich wo die tableiste angezeigt werden soll
 if(document.getElementById("autotableiste") && window.event)
 {
  var tabmenu=document.getElementById("autotableiste");
  tabmenu.style.display='block';
  menuitems=document.getElementById("autotableiste").title;
  // array mit id erstellen, ist in eta ein explode()
  ergebnis = menuitems.split(" ");
  // alle title durchgehen
  for(var i=0; i<ergebnis.length; i++)
  {

   temp=ergebnis[i].split("menu_");
   fullid=ergebnis[i];
   // nur einträge die mit menu_ beginnen
   if(document.getElementById(ergebnis[i]) && fullid!=temp)
   {
    // lege einen neuen schalter fürs menü an
    newDIV = document.createElement("div");
    // füge den neuen schalter ins menü ein
    tabmenu.appendChild(newDIV);
    // lege im schalter den menütext an
    newText = document.createTextNode(temp[1]);
    // schaltertext einfügen
    newDIV.appendChild(newText);
    // lege das attribut für den mouse - event an
    onclick = document.createAttribute("title");
    // schalterfunktion erstellen
    // onclick.nodeValue = "menuon('"+ergebnis[i]+"')";
    onclick.nodeValue = ergebnis[i];
    // ein paar classen einfügen
    var newclass=document.createAttribute("class");
    newclass.nodeValue = "tabitem W20";
    // wenn eigene breite angegeben, alt,
    if(tabmenu.alt)
    {
     newclass.nodeValue = "tabitem " + tabmenu.alt;
    }
//    alert(tabmenu.alt +" ich " + newclass.nodeValue +" "+ newDIV.title);
    // schalterfunktion einfügen
    newDIV.setAttributeNode(newclass);
    newDIV.setAttributeNode(onclick);

    //menü schliessen
    menuoff(ergebnis[i]);
   }
//   alert(newDIV.outerHTML);
  }
 }
}




function get_selected(obj,trenner,typ)
{
 if(!trenner) trenner=" ";
 if(!typ) typ="text";
 if(document.getElementById(obj))
 {
  var sel=document.getElementById(obj);
  var output="";
  var len=sel.options.length;
  for(i=0;i<len;i++)
  {
   if(typ=="text") if(sel.options[i].selected) output+=sel.options[i].text + trenner;
   if(typ=="value") if(sel.options[i].selected) output+=sel.options[i].value + trenner;
  }
  return output;
 }
}

function msieversion()
{
 var ua = window.navigator.userAgent
 var msie = ua.indexOf ("MSIE ")
 if(msie > 0 )
  return parseFloat(ua.substring(msie+5,ua.indexOf(";", msie )))
 else
  return 0    // is other browser
}


var zwischenablagedata='';
function gettext(obj)
{

 // wenn sourceelement textarea,
 // hole  schreibe den inhalt in die  zwischenablage ein
 if(obj.tagName=='TEXTAREA')
 {
  if(document.selection.createRange().text)
  {
   zwischenablagedata=document.selection.createRange().text;
  }
  else
  {
   zwischenablagedata=obj.value;
  }
 }


 if(obj.tagName=='SPAN')
 {
   zwischenablagedata=obj.innerText;
 }
 window.clipboardData.setData("Text",zwischenablagedata);

}

function inserttext(obj)
{
 // wenn sourceelement span, und demfolgendes element ein textarea
 // füge  den text aus der zwischenablage ein
 if(obj.tagName=='SPAN')
 {
  var si=obj.sourceIndex+1;
  if(document.all[si].tagName=='TEXTAREA')
  {
   document.all[si].value=zwischenablagedata;
  }
 }
}
/*
  für blur von <select>
*/
function set_selectclicked(what)
{
 switch(what)
 {
  case"ask":
   var out=SelectClicked;
   SelectClicked='';
   return out;
  break;
  default:
   SelectClicked='1';
 }
}
function set_focus(id)
{
 try
 {
  // bei select haben wir ein problem beim rausgehen aus dem optionfeldern
  if(document.activeElement.tagName=="SELECT")
  {
   var obj=document.getElementById(id);
   switch(obj.currentStyle.display)
   {
    case"block": obj.focus();
    break;
    case"inline": obj.focus();
    break;
   }
  }
 }
 catch(hl)
 {
  if(window.debug)debug(hl.message);
 }
}


/*
  find all tags wich have a title named selfclose
  get_selfclosers("BLOCKQUOTE")
*/
function get_selfclosers(tagname)
{
 try
 {
  var elements=document.getElementsByTagName(tagname);
  var al=elements.length;

  for(var i=0; i<al;i++)
  {
   if(elements[i].title=="selfclose")
   {
    elements[i].style.height='1em';
    elements[i].style.cursor='hand';
    elements[i].onclick=selfcloseopen;
 //   alert(i +"\n"+ elements[i].onclick);
   }
  }
 }
 catch(hl)
 {
  if(window.debug)debug(hl.message);
 }
}

function selfcloseopen()
{
 if(this.style.height) this.style.height=''; else this.style.height='1em';
}

