function absTop (obj) {

         absHt = obj.offsetTop;
         while(obj.offsetParent) {
             obj = obj.offsetParent;
             absHt += obj.offsetTop;
         }
         return absHt;
}

function measureWinHt () {

   var winHt;

   if (self.innerHeight)  {
      winHt = self.innerHeight;
   } else if (document.documentElement && document.documentElement.clientHeight) {
      winHt = document.documentElement.clientHeight;
   } else if (document.body) {
      winHt = document.body.clientHeight;
   }
   return winHt;
}

function measureScrollTop () {

   var scrollTop;
   if (self.pageYOffset) {
      scrollTop = self.pageYOffset;
   } else if (document.documentElement && document.documentElement.scrollTop) {
      scrollTop = document.documentElement.scrollTop;
   } else if (document.body) {
      scrollTop = document.body.scrollTop;
   }
   return scrollTop;
}

function closeCustomSelect (strg) {

   if(document.getElementById(strg) && (myParent = document.getElementById(strg).parentNode))
   with(myParent) {
      myCustomOptionsContainer.style.visibility = 'hidden';
      /*if (myCustomOptionsContainer.getElementsByTagName('A').length>30) {
         myCustomOptionsContainer.style.height = '40em';
      } else {
         myCustomOptionsContainer.style.height = 'auto';
      }*/
      style.zIndex = '';
   }
}





var focussedID = "";

function initSelects () {

   var allSelects = document.getElementsByTagName('SELECT');
   var mySelects = new Array();
   var curr = 0;
   

   
   for (i=0; i<allSelects.length ; i++ ) {

   
       if(allSelects[i].className == 'customize') {
           mySelects[curr] = allSelects[i];
           curr++;
       }
   }

   for (i=0; i<mySelects.length ; i++) {
       myCustomSelect = document.createElement('SPAN');
       myCustomSelect.className = 'customSelect';
       var myCustomOptionsContainer = document.createElement('SPAN');
       myCustomSelect.myCustomOptionsContainer = myCustomOptionsContainer;
       myCustomOptionsContainer.className = 'optionsContainerDwn';
       //myCustomOptionsContainer.onfocus = myCustomOptionsContainer.onclick;
       //myCustomOptionsContainer.onscroll = myCustomOptionsContainer.onclick;
       myOptions = mySelects[i].options;
	   
	   
       var myPreselectedOption = document.createElement('A');
       myPreselectedOption.tabIndex = i;
       //myPreselectedOption.href = '#';
	    myPreselectedOption.href = '||';
       myPreselectedOption.className = 'preselectedOption';
       myPreselectedOption.innerHTML = myOptions[0].innerHTML;
	   //myPreselectedOption.innerHTML = myOptions[i].innerHTML;
       myPreselectedOption.id = 'preselect' + i;
	   //myPreselectedOption.name = 'preselect' + i;

	   //alert(myPreselectedOption.href);

       myPreselectedOption.onclick =  function (e) {
           meldung = 'absTop: ' + absTop(this);
           meldung += '\nContainerhoehe: ' + this.parentNode.myCustomOptionsContainer.offsetHeight;
           meldung += '\nFensterhoehe: ' + measureWinHt();

           //alert(meldung);
           var container =  this.parentNode.myCustomOptionsContainer;
           var containerHt = container.offsetHeight;
           if(((absTop(this) + containerHt) > measureWinHt())
              && (absTop(this) - containerHt > measureScrollTop()))
           {
              container.className = 'optionsContainerUp';
              if((absTop(this) + measureScrollTop()) < containerHt) {
                  //alert((absTop(this) + measureScrollTop() - this.offsetHeight) + 'px');
                  container.style.height = (absTop(this) - measureScrollTop() - this.offsetHeight) + 'px';
              }
           } else {
              container.className = 'optionsContainerDwn';
              if((absTop(this) + containerHt) > measureWinHt()) {
                  container.style.height = (measureWinHt() - absTop(this) - this.offsetHeight) + 'px';
              }
           }
           if (focussedID) closeCustomSelect(focussedID);
           focussedID = this.id;

           this.parentNode.myCustomOptionsContainer.style.visibility = '';
           this.parentNode.style.zIndex = '1';
           if(e) e.stopPropagation();
           else window.event.cancelBubble = true;
           return false;
       }

       myCustomOptionsContainer.myPreselectedOption = myPreselectedOption;
       myCustomSelect.appendChild(myPreselectedOption);

       var myCustomOptions = new Array();
       for (j=1; j < myOptions.length; j++ ) {
           myCustomOptions[j] = document.createElement('A');
           myCustomOptions[j].myPreselectedOption = myPreselectedOption;
		   
		   //neu imken:
		   var URL = myOptions[j].value;
		   var getParams = URL.split("||");
		   
		   
           //myCustomOptions[j].href = myOptions[j].value;
		   myCustomOptions[j].href = getParams[0];
           myCustomOptions[j].target = mySelects[i].form.target;
           myCustomOptions[j].innerHTML = myOptions[j].innerHTML;
		   
			//neu imken:
			var urlHref = document.forms[0].toBeCustomized.value;
			var getParams_urlHref = urlHref.split("||");
			if(getParams[1]!="" && getParams[1] == getParams_urlHref[1]){
				myPreselectedOption.innerHTML = getParams[1];
		   }

		 
		   
           myCustomOptions[j].className = 'customOpt';
           myCustomOptions[j].onclick = function () {
               this.myPreselectedOption.innerHTML = this.innerHTML;
               closeCustomSelect(this.myPreselectedOption.id);
           }
		   
		   
		   
		   
		   
           myCustomOptionsContainer.appendChild(myCustomOptions[j]);
       }
       if (j>30) myCustomOptionsContainer.style.height = '30em';

       myCustomSelect.appendChild(myCustomOptionsContainer);

       mySelects[i].form.insertBefore(myCustomSelect, mySelects[i]);
       //alert(myCustomOptionsContainer.offsetHeight);
       //alert(absTop(myCustomOptionsContainer));
       //myCustomSelect.style.width = (myCustomOptionsContainer.offsetWidth +40) + 'px';
	    myCustomSelect.style.width = 200 + 'px';
       myCustomSelect.myCustomOptionsContainer.style.visibility = 'hidden';
       myCustomSelect.myCustomOptionsContainer.style.width = myCustomSelect.style.width;
		//alert(myCustomSelect.style.width);
       mySelects[i].style.display = 'none';
   }
}

window.onload = function () {
   initSelects();
}

window.onclick = function () {
   closeCustomSelect(focussedID);
}

document.onclick = window.onclick;



























var dom = document.getElementById?1:0;
var ns4 = document.layers?1:0;
present = "scroll";

onResize = loadAgain;

function loadAgain() {

if (ns4)
self.location.reload();
}



function initScroll() {

 layer = document.getElementById("scrollholder").getElementsByTagName("div");
 layer['scroll'].style.visibility = "visible";
 layer['scroll'].style.top = 0;
}


function change(page) {

 layer[present].style.visibility = "hidden";
 layer[page].style.visibility = "visible";
 layer[page].style.top = 0;


 present = page;
}


function scroll(direction) {	
	speed = 1;

	var layertop = parseInt(layer[present].style.top);
	var scrollheight = (document.getElementById('scrollholder').offsetHeight - layer[present].offsetHeight);

	if(direction == "down"){
		if (layertop - 1 > scrollheight) {
			layer[present].style.top = (layertop - speed) + "px";
		}
		if(layertop - 1 == scrollheight){
			stop();
		}
	}
	
	if (direction == "up"){
		if (layertop < -1 ) {
			layer[present].style.top = (layertop + speed) + "px";
		}

		if(layertop == -1){
			stop();
		} 
	
	
	}


	if(direction != "stop"){
		timer = setTimeout("scroll('" + direction + "', " + speed + ")", 10);
	}
	else{
		stop();
	}
}


function stop() {
clearTimeout(timer);
}




   function UnCryptMailto( s )
    {
        var n = 0;
        var r = "";
        for( var i = 0; i < s.length; i++)
        {
            n = s.charCodeAt( i );
            if( n >= 8364 )
            {
                n = 128;
            }
            r += String.fromCharCode( n - 1 );
        }
        return r;
    }

    function linkTo_UnCryptMailto( s )
    {
        location.href=UnCryptMailto( s );
    }
