/* DHTML-Bibliothek */

var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;

function DHTML_init() {

 if (window.opera) {
     OP = 1;
 }
 if(document.getElementById) {
   DHTML = 1;
   DOM = 1;
 }
 if(document.all && !OP) {
   DHTML = 1;
   MS = 1;
 }
if (window.netscape && window.screen && !DOM && !OP){
   DHTML = 1;
   NS = 1;
 }
}

function getElem(p1,p2,p3) {
 var Elem;
 if(DOM) {
   if(p1.toLowerCase()=="id") {
     if (typeof document.getElementById(p2) == "object")
     Elem = document.getElementById(p2);
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="name") {
     if (typeof document.getElementsByName(p2) == "object")
     Elem = document.getElementsByName(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="tagname") {
     if (typeof document.getElementsByTagName(p2) == "object" ||
        (OP && typeof document.getElementsByTagName(p2) == "function"))
     Elem = document.getElementsByTagName(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
 else if(MS) {
   if(p1.toLowerCase()=="id") {
     if (typeof document.all[p2] == "object")
     Elem = document.all[p2];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="tagname") {
     if (typeof document.all.tags(p2) == "object")
     Elem = document.all.tags(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="name") {
     if (typeof document[p2] == "object")
     Elem = document[p2];
     else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
 else if(NS) {
   if(p1.toLowerCase()=="id" || p1.toLowerCase()=="name") {
   if (typeof document[p2] == "object")
     Elem = document[p2];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="index") {
    if (typeof document.layers[p2] == "object")
     Elem = document.layers[p2];
    else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
}

function addElements(FromID,ToID) {
    DHTML_init();
	var FromCombo = getElem("id",FromID);
	var ToCombo = getElem("id",ToID);
   //move selected options to right select box (to)
   for (var i=0;i<FromCombo.options.length;i++) {
      if (FromCombo.options[i].selected==true) {
         var addtext=FromCombo.options[i].text;
         var addvalue=FromCombo.options[i].value;
		 exist = false;
		 for (var t=0;t<ToCombo.options.length;t++) 
			 if (ToCombo.options[t].value == FromCombo.options[i].value) exist = true;
		 if (exist == false) ToCombo.options[ToCombo.options.length]=new Option(addtext,addvalue);
      }
   }
}

function delElements(FromID) {
   var to_remove_counter=0; //number of options that were removed (num selected options)
   DHTML_init();
   var FromCombo = getElem("id",FromID);

   //move selected options to right select box (to)
   for (var i=0;i<FromCombo.options.length;i++)
   {
      if (FromCombo.options[i].selected==true)
      {
         var addtext=FromCombo.options[i].text;
         var addvalue=FromCombo.options[i].value;
         FromCombo.options[i].selected=false;
         ++to_remove_counter;
      }
      else
      {
         FromCombo.options[i-to_remove_counter].selected=false;
         FromCombo.options[i-to_remove_counter].text=FromCombo.options[i].text;
         FromCombo.options[i-to_remove_counter].value=FromCombo.options[i].value;
      }
   }

   //now cleanup the last remaining options 
   var numToLeave=FromCombo.options.length-to_remove_counter;
   for (i=FromCombo.options.length-1;i>=numToLeave;i--) 
   { 
      FromCombo.options[i]=null;
   }
}

function SelectAll(comboID) {
   DHTML_init();
   var combo = getElem("id",comboID);
   for (var i=0;i<combo.options.length;i++) { 
      combo.options[i].selected=true;
	  }
	// mao: Kontrolle, ob select daten enthält. wenn nicht : setzt hidden feld 
   if (combo.options.length == 0) {
	   MAO_setHidden("", comboID); }
	   else {MAO_setHidden("mach mich voll", comboID); }
   
}

function MoveElements(FromCombo,ToCombo)
{
   var to_remove_counter=0; //number of options that were removed (num selected options)

   //move selected options to right select box (to)
   for (var i=0;i<FromCombo.options.length;i++)
   {
      if (FromCombo.options[i].selected==true)
      {
         var addtext=FromCombo.options[i].text;
         var addvalue=FromCombo.options[i].value;
         ToCombo.options[ToCombo.options.length]=new Option(addtext,addvalue);
         FromCombo.options[i].selected=false;
         ++to_remove_counter;
      }
      else
      {
         FromCombo.options[i-to_remove_counter].selected=false;
         FromCombo.options[i-to_remove_counter].text=FromCombo.options[i].text;
         FromCombo.options[i-to_remove_counter].value=FromCombo.options[i].value;
      }
   }

   //now cleanup the last remaining options 
   var numToLeave=FromCombo.options.length-to_remove_counter;
   for (i=FromCombo.options.length-1;i>=numToLeave;i--) 
   { 
      FromCombo.options[i]=null;
   }
}

function flevToggleCheckboxes() { // v1.1
	// Copyright 2002, Marja Ribbers-de Vroed, FlevOOware (www.flevooware.nl/dreamweaver/)
	var sF = arguments[0], bT = arguments[1], bC = arguments[2], oF = MM_findObj(sF);
    for (var i=0; i<oF.length; i++) {
		if (oF[i].type == "checkbox") {if (bT) {oF[i].checked = !oF[i].checked;} else {oF[i].checked = bC;}}} 
}

