var renovierenForm = {

	switchCheckbox: function (obj) {		
		with(obj = obj.parentNode.getElementsByTagName('IMG')[0]) {
			if(src.indexOf('_act')>-1) { 
				src = src.replace(/_act/, '_pas'); 
			} else { 
				src = src.replace(/_pas/, '_act'); 
			}
		}
	}
}


//-----------------------------------------------------------------------
// Reiternavigation Angebote + Einkaufsliste
//-----------------------------------------------------------------------
var px = 10;//mehr=schneller
var timer = new Array();

var columnBoxes = {
	changeContent:function(obj, urlString) {
		ulObj = obj.parentNode.parentNode;
		for(i=0;i<ulObj.getElementsByTagName('li').length;i++) {
			if(ulObj.getElementsByTagName('li')[i] != obj.parentNode) {
				ulObj.getElementsByTagName('li')[i].className = "";
			} else {
				obj.parentNode.className = "active";
			}
		}
		if(urlString) {
		    vspace = $(obj).parent().parent().parent().find("div")[0].offsetHeight / 2 - 20;
		    $(obj).parent().parent().parent().find("div")[0].innerHTML = "<center><img vspace=" + vspace + " src=\"images/icon/loading.gif\" align=\"center\" width=\"40\" height=\"40\"></center>";
			$.ajax({
			  url: urlString,
			  cache: false,
			  success: function(html){
				$(obj).parent().parent().parent().find("div")[0].innerHTML = html;
			  }
			});
		} else {
			myCards = $(obj).parent().parent().parent().find("div.card");
			for(i=0; i<myCards.length; i++) {
				if($(myCards[i]).hasClass(obj.className)) {
					myCards[i].style.display = 'block';
				} else {
					myCards[i].style.display = 'none';
				}
			}
		}
		return false;
	}
}


//Funktionen fuer die Gewinnspiel Layer

function openPopupLayer(url,breite,hoehe,iframetitle) {

	var dummyContent = '<div id="PopupLayer">'+
		'<div id="DragPopup">'+
			'<h3 id="PopupLayerBar"><span>Titel des Popupfensters</span></h3>'+
			'<a class="close-icon" href="#" onclick="return closePopupLayer();" title="Fenster schlie&szlig;en"><span>Fenster schliessen</span></a>'+
		'</div>'+
		'<div id="Overlap" style="width:'+breite+';height:'+hoehe+';"></div>'+
		'<div id="Nondragable">'+
			'<iframe src="' + url + '" id="PopupFrame" class="popup-frame-object" name="PopupFrame" frameborder="0" scrolling="no" border="0"></iframe>'+
		'</div>'+
	'</div>';

	$('body').append(dummyContent);


	$('div#Overlap').css({height: hoehe + 'px' });
	$('div#Overlap').css({width: breite + 'px' });
	$('#PopupFrame').css({height: hoehe + 'px' });
	$('#PopupFrame').css({width: breite + 'px' });


	$("#PopupLayer").mousemove(function(event) {
		$('#PopupLayer').draggable();

		//console.log(event.target.id);

		if(event.target.id == 'DragPopup') {
			$('#PopupLayer').draggable('enable');
		}
		else if(event.target.id == 'Nondragable') {
			$('#PopupLayer').draggable('disable');
		}
	});

	var popLayer = document.getElementById('PopupLayer');
	popLayer.getElementsByTagName('h3')[0].childNodes[0].innerHTML = iframetitle;
	y = ($(document).scrollTop() - Math.ceil($('#PopupLayer').height()/2)  + ($(window).height()/2));
	x = ($(document).width()/2) -  Math.ceil($('#PopupLayer').width() / 2);
	$('div#PopupLayer').css({top: y + 'px',left: x +'px'});
	popLayer.style.display = 'block';
}

function closePopupLayer() {
		$('div#PopupLayer').remove();
		return false;
}

function switchCat (obj) {
	myList = obj.parentNode;
	while(myList.nodeName != 'UL')
		myList = myList.parentNode;
	if(myList.className == 'subCategories')	{
		myList.className = 'noSubCategories';
		//obj.innerHTML = 'Alle Kategorien';
		obj.title = 'Nur aktuelle Kategorie mit Unterpunkten einblenden';
	} else {
		myList.className = 'subCategories';
		//obj.innerHTML = 'Nur aktiver Men&uuml;punkt';
		obj.title = 'Alle Kategorien ohne Unterpunkte einblenden';
	}
	return false;
}

var dragElement = null;
var dragy = 0;
var posy = 0;


function dragInit() {
  document.onmousemove = drag;
  document.onmouseup = dragstop;
}


function dragstart(element) {
  dragElement = element;
  dragy = posy - dragElement.offsetTop;
  document.onmousedown = function (e) {
	 if(e) e.preventDefault();
  }
}


function dragstop() {
  dragElement=null;
  document.onmousedown = null;
}


function drag(e) {
  posy = (e) ? e.pageY : window.event.clientY;
  if(dragElement != null) {
	 with(dragElement) {
	  	if((posy - dragy) < 0) {
			parentNode.parentNode.scrollTop = 0;
			parentNode.style.top = 0;
			style.top = 0;
		} else {
			if((posy - dragy) > parentNode.parentNode.scrollLimit) {
				parentNode.parentNode.scrollTop = parentNode.parentNode.scrollHt;
				parentNode.style.top = parentNode.parentNode.scrollHt - parentNode.offsetHeight + "px";
				style.top = parentNode.parentNode.scrollLimit  + "px";
			} else {
				parentNode.parentNode.scrollTop = Math.ceil(offsetTop / (parentNode.parentNode.offsetHeight - offsetHeight) * parentNode.parentNode.scrollLimit);
				parentNode.style.top = parentNode.parentNode.scrollTop + "px";
				style.top = (posy - dragy) + "px";
			}
		}
	 }
  }
}


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 positionOptionBox (obj) {
	var container = obj.parentNode.optionBoxes[1];
	var containerHt = container.offsetHeight;

    if(((absTop(obj) + containerHt) > measureWinHt()) && (absTop(obj) - containerHt > measureScrollTop())) {
      container.className = 'optionsBoxUp';
	  //container.style.paddingTop = '';
	  if(!document.getElementById('Content').className || document.getElementById('Content').className == 'door')
	  	obj.parentNode.style.zIndex = eval(myFakeSelects.length+1 + obj.parentNode.idx);
    } else {
      container.className = 'optionsBoxDwn';
	  if(!document.getElementById('Content').className || document.getElementById('Content').className == 'door')
	  	obj.parentNode.style.zIndex = eval(myFakeSelects.length+1 - obj.parentNode.idx);
    }
}


var focussedID = "";

function closeCustomSelect (strg) {
   if(document.getElementById(strg) && (myContainer = document.getElementById(strg).parentNode))
   myContainer.optionBoxes[1].style.visibility = '';
   //myContainer.style.zIndex = 2;
}

function adaptSliderHeight (theSlider) {
	with(theSlider) {

		if (parentNode.parentNode.scrollHeight == parentNode.parentNode.offsetHeight) {
			parentNode.parentNode.style.overflow = 'auto';
			parentNode.parentNode.style.visibility = '';
			parentNode.parentNode.removeChild(parentNode);
			var myOptions = parentNode.parentNode.getElementsByTagName('A');
			for(i=0; i< myOptions.length; i++) {
				myOptions[i].style.marginRight = 0;
			}
			return false;
		}
	    var scrollDistance = parentNode.parentNode.scrollHeight - parentNode.parentNode.offsetHeight;
		var ht = parentNode.parentNode.offsetHeight - (parentNode.parentNode.scrollDistance - parentNode.parentNode.offsetHeight);
		style.height = (ht > 19) ? (ht + 'px') : '19px';
		parentNode.style.top = parentNode.parentNode.scrollTop + 'px';
		parentNode.parentNode.scrollHt = parentNode.parentNode.scrollHeight;
		parentNode.parentNode.scrollLimit = parentNode.parentNode.offsetHeight - offsetHeight;

	}
}

var myFakeSelects = new Array();

function fillQuickSearch () {

	if(document.getElementById('QuickSearchBar'))
		mySpans = document.getElementById('QuickSearchBar').getElementsByTagName('SPAN');
	else {
		mySpans = document.getElementById('QuickSearchBarRatgeber').getElementsByTagName('SPAN');
		var ratgeber = 1;
		}

	var curr = 0;
	for (i=0; i<mySpans.length; i++) {
		if(mySpans[i].className == 'obiSelect') {
			myFakeSelects[curr] = mySpans[i];
			myFakeSelects[curr].optionBoxes = myFakeSelects[curr].getElementsByTagName('SPAN');
			myFakeSelects[curr].optionBoxes[1].style.width = myFakeSelects[curr].offsetWidth -2 +'px';
			myFakeSelects[curr].optionBoxes[1].style.paddingTop = '0';
			myFakeSelects[curr].optionBoxes[0].id = 'preselect' + curr;
			myFakeSelects[curr].idx = curr;
			myFakeSelects[curr].optionBoxes[0].getElementsByTagName('A')[0].href = '#';


			myFakeSelects[curr].optionBoxes[0].getElementsByTagName('A')[0].onfocus = function () {
				this.parentNode.style.backgroundColor = '#333333';
				this.style.color = '#FFFFFF';
				this.onkeydown = function (e) {
					e = e || window.event;
					if(e.preventDefault) e.preventDefault();
					var key = e.keyCode || e.which;

					if((key == 38) || (key == 40)) var increment = key - 39;
					else var increment = 0;

					var optionsBox = this.parentNode.parentNode.optionBoxes[1];
					var fakeOptions = optionsBox.getElementsByTagName('A');
					var track = optionsBox.getElementsByTagName('SPAN')[0];
					var slider = optionsBox.getElementsByTagName('SPAN')[1];

					for(i=0; i<fakeOptions.length; i++) {
						if( (i+increment > -1) && (fakeOptions[i].className == 'selected')  && fakeOptions[i+increment]) {
							fakeOptions[i].className = '';
							fakeOptions[i+increment].className = 'selected';
							this.innerHTML = fakeOptions[i+increment].innerHTML;
							optionsBox.scrollTop = fakeOptions[i+increment].offsetTop;
							if(track) {
								track.style.top = optionsBox.scrollTop + 'px';
								slider.style.top = parseInt(optionsBox.scrollTop * track.offsetHeight / optionsBox.scrollHt) + 'px';
							}
							break;
						}
						optionsBox.scrollTop = 0;

					}
					if(track) {
						track.style.top = optionsBox.scrollTop + 'px';
						slider.style.top = parseInt(optionsBox.scrollTop * optionsBox.offsetHeight / (optionsBox.scrollHt - optionsBox.scrollLimit) ) + 'px';
						if(parseInt(slider.style.top) > optionsBox.scrollLimit) slider.style.top = optionsBox.scrollLimit + 'px';
					}
					return false;
				}
			}
			myFakeSelects[curr].optionBoxes[0].getElementsByTagName('A')[0].onblur = function () {
				this.parentNode.style.backgroundColor = '';
				this.style.color = '';
				this.onkeydown = null;
			}


			myFakeSelects[curr].optionBoxes[0].onclick = function (e) {

				if (focussedID) closeCustomSelect(focussedID);
				if (focussedID == this.id) {
					focussedID = "";
					return false;
				}
				focussedID = this.id;


				var myDependantLinks = this.parentNode.optionBoxes[1].getElementsByTagName('A');
				if(myDependantLinks[0]) {
					this.parentNode.optionBoxes[1].style.visibility = 'visible';
				}


				if (myDependantLinks.length > 6) {
					var track = this.parentNode.optionBoxes[1].getElementsByTagName('SPAN')[0];
					var slider = this.parentNode.optionBoxes[1].getElementsByTagName('SPAN')[1];
					this.parentNode.optionBoxes[1].style.height = '9.3em';
					for(i=0; i<myDependantLinks.length; i++) {
						myDependantLinks[i].style.marginRight = '20px';
					}

					for(i=0; i<myDependantLinks.length; i++) {
						if(myDependantLinks[i].className == 'selected') {
							myDependantLinks[i].parentNode.scrollTop = myDependantLinks[i].offsetTop;
							if(track)
								if(myDependantLinks[i].offsetTop < (this.parentNode.optionBoxes[1].scrollHeight - track.offsetHeight)){
									track.style.top = myDependantLinks[i].offsetTop + 'px';
								} else {
									track.style.top = (this.parentNode.optionBoxes[1].scrollHeight - track.offsetHeight) + 'px';
								}
							if(slider) {
								slider.style.top = parseInt(myDependantLinks[i].offsetTop / (this.parentNode.optionBoxes[1].scrollHeight + slider.offsetHeight) * track.offsetHeight) + 'px';
								if(slider.offsetTop > (track.offsetHeight - slider.offsetHeight))
							   		slider.style.top = (track.offsetHeight - slider.offsetHeight) + 'px';
							}
							break;
						}
						myDependantLinks[i].parentNode.scrollTop = 0;

					}
					if(track) {
					    //alert(track.parentNode.scrollTop + '\n' + track.parentNode.scrollLimit);
					    track.style.top = track.parentNode.scrollTop + track.parentNode.scrollLimit + 'px';
						if(slider) adaptSliderHeight(slider);
						this.parentNode.optionBoxes[1].style.visibility = 'visible';
					}

				} else {
					this.parentNode.optionBoxes[1].style.height = 'auto';
					for(i=0; i<myDependantLinks.length; i++) {
						myDependantLinks[i].style.marginRight = 0;
					}
				}
				positionOptionBox(this);
				if(e) e.stopPropagation();
				else window.event.cancelBubble = true;
				return false;
			}
			if (curr) myFakeSelects[curr-1].dependant = myFakeSelects[curr];
			curr++;
		}

	}

	for(i=0; i<categories.length; i++) {
		var myOption = document.createElement('A');
		myOption.innerHTML = categories[i].mainCat[0];
		myOption.href =  categories[i].mainCat[1];
		myOption.index = i;
		myOption.onclick = function () {
			this.parentNode.style.paddingTop = '';
			myFakeSelects[0].optionBoxes[0].getElementsByTagName('A')[0].innerHTML = this.innerHTML;
			var mySiblings = this.parentNode.getElementsByTagName('A');
			for(i=0; i<mySiblings.length; i++) {
				if(mySiblings[i]==this)	this.className = 'selected';
				else mySiblings[i].className = '';
			}
			findForm(this).action = this.href;
		    with(myFakeSelects[1].optionBoxes[1]) {
				while(firstChild) {
					removeChild(firstChild);
				}
			}
			if(ratgeber) {
				if(categories[this.index].subCats.length > 1) {
					myFakeSelects[1].optionBoxes[0].getElementsByTagName('A')[0].innerHTML = 'Bitte w&auml;hlen Sie ein Projekt';
				} else {
					myFakeSelects[1].optionBoxes[0].getElementsByTagName('A')[0].innerHTML = 'Alle Produkte';
				}
			}
			else {
				if(categories[this.index].subCats.length > 1) {
					myFakeSelects[1].optionBoxes[0].getElementsByTagName('A')[0].innerHTML = 'Suche verfeinern';
				} else {
					myFakeSelects[1].optionBoxes[0].getElementsByTagName('A')[0].innerHTML = 'Alle Produkte';
				}
			}

			for(i=1; i<categories[this.index].subCats.length; i++) {
				var mySubOption = document.createElement('A');
				mySubOption.innerHTML = categories[this.index].subCats[i][0];
				mySubOption.href = categories[this.index].subCats[i][1];

				mySubOption.onclick = function () {
					myFakeSelects[1].optionBoxes[0].getElementsByTagName('A')[0].innerHTML = this.innerHTML;
					var mySiblings = this.parentNode.getElementsByTagName('A');
					for(i=0; i<mySiblings.length; i++) {
						if(mySiblings[i]==this)	this.className = 'selected';
						else mySiblings[i].className = '';
					}
					findForm(this).action = this.href;
					closeCustomSelect(focussedID);
					focussedID = "";
					return false;
				}
				this.parentNode.parentNode.dependant.optionBoxes[1].appendChild(mySubOption);
			}

			if (i>6) {
				this.parentNode.parentNode.dependant.optionBoxes[1].style.height = '9.3em';

				var track = document.createElement('SPAN');
				track.className = 'track';
				track.onclick = function (e) {
					if(e) e.stopPropagation();
					else window.event.cancelBubble = true;
				}
				track.onmousedown = function (e) {
		            var e = e || window.event;
		            var mousePos = e.clientY || e.pageY;
					var scrollDistance = this.parentNode.scrollHeight - this.parentNode.offsetHeight;
					if ( (mousePos - absTop(this.parentNode) < parseInt(this.slider.style.top) ) ) {
						this.parentNode.scrollTop -= this.offsetHeight;
					} else {
						this.parentNode.scrollTop += this.offsetHeight;
					}
					this.style.top = this.parentNode.scrollTop + 'px';
					this.slider.style.top = parseInt(this.parentNode.scrollTop / scrollDistance * (this.offsetHeight - this.slider.offsetHeight)) + 'px';
				}
				track.slider = document.createElement('SPAN');
				track.slider.className = 'slider';
				track.slider.onclick = function (e) {
					if(e) e.stopPropagation();
					else window.event.cancelBubble = true;
					return false;
				}
				track.slider.onselectstart = function () { return false; };
				track.slider.onmousedown = function (e) {
					dragstart(this);
					if(e) {
						e.stopPropagation();
						e.preventDefault();
					} else window.event.cancelBubble = true;
				}
				track.appendChild(track.slider);
				this.parentNode.parentNode.dependant.optionBoxes[1].appendChild(track);
				this.parentNode.parentNode.dependant.optionBoxes[1].scrollDistance = this.parentNode.parentNode.dependant.optionBoxes[1].scrollHeight - this.parentNode.parentNode.dependant.optionBoxes[1].offsetHeight;
				adaptSliderHeight(track.slider);
			}

			closeCustomSelect(focussedID);
			focussedID = "";
			return false;

		}
		myFakeSelects[0].optionBoxes[1].appendChild(myOption);
		if (i>6) {
			myFakeSelects[0].optionBoxes[1].style.height = '9.3em';
			var track = document.createElement('SPAN');
			track.className = 'track';
			track.onclick = function (e) {
				if(e) e.stopPropagation();
				else window.event.cancelBubble = true;
			}
			track.onmousedown = function (e) {
	            var e = e || window.event;
	            var mousePos = e.clientY || e.pageY;
				var scrollDistance = this.parentNode.scrollHeight - this.parentNode.offsetHeight;
				if ( (mousePos - absTop(this.parentNode) < parseInt(this.slider.style.top) ) ) {
					this.parentNode.scrollTop -= this.offsetHeight;
				} else {
					this.parentNode.scrollTop += this.offsetHeight;
				}
				this.style.top = this.parentNode.scrollTop + 'px';
				this.slider.style.top = parseInt(this.parentNode.scrollTop / scrollDistance * (this.offsetHeight - this.slider.offsetHeight)) + 'px';
			}
			track.slider = document.createElement('SPAN');
			track.slider.className = 'slider';
			track.slider.onclick = function (e) {
				if(e) e.stopPropagation();
				else window.event.cancelBubble = true;
				return false;
			}
			track.slider.onselectstart = function () { return false; };
			track.slider.onmousedown = function (e) {
				dragstart(this);
				if(e) {
					e.stopPropagation();
					e.preventDefault();
				} else window.event.cancelBubble = true;
			}
			track.appendChild(track.slider);
			myFakeSelects[0].optionBoxes[1].appendChild(track);
			myFakeSelects[0].optionBoxes[1].scrollDistance =  myFakeSelects[0].optionBoxes[1].scrollHeight - myFakeSelects[0].optionBoxes[1].offsetHeight;
			adaptSliderHeight(track.slider);
		}
	}
}




function findForm(obj) {
	while(obj.parentNode.nodeName != 'FORM') {
		obj = obj.parentNode;
	}
	return obj.parentNode;
}

function initSelect (fakeSelect) {
	fakeSelect.optionBoxes = fakeSelect.getElementsByTagName('SPAN');
	fakeSelect.dependantLinks = fakeSelect.optionBoxes[1].getElementsByTagName('A');
	for(i=0; i<fakeSelect.dependantLinks.length; i++) {
		var myString = fakeSelect.dependantLinks[i].href;
		if(myString.substring(myString.indexOf('#')+1, myString.length)== fakeSelect.getElementsByTagName('INPUT')[0].value) {
			fakeSelect.dependantLinks[i].className = 'selected';
		}
	}



	fakeSelect.optionBoxes[0].getElementsByTagName('A')[0].onfocus = function () {
		this.parentNode.style.backgroundColor = '#333333';
		this.style.color = '#FFFFFF';
		this.onkeydown = function (e) {
			e = e || window.event;
			if(e.preventDefault) e.preventDefault();
			var key = e.keyCode || e.which;

			if((key == 38) || (key == 40)) var increment = key - 39;
			else var increment = 0;

			var optionsBox = this.parentNode.parentNode.optionBoxes[1];
			var fakeOptions = optionsBox.getElementsByTagName('A');
			var track = optionsBox.getElementsByTagName('SPAN')[0];
			var slider = optionsBox.getElementsByTagName('SPAN')[1];

			for(i=0; i<fakeOptions.length; i++) {
				if( (i+increment > -1) && (fakeOptions[i].className == 'selected')  && fakeOptions[i+increment]) {
					fakeOptions[i].className = '';
					fakeOptions[i+increment].className = 'selected';
					this.innerHTML = fakeOptions[i+increment].innerHTML;
					optionsBox.scrollTop = fakeOptions[i+increment].offsetTop;
					if(track) {
						track.style.top = optionsBox.scrollTop + 'px';
						slider.style.top = parseInt(optionsBox.scrollTop * optionsBox.offsetHeight / (optionsBox.scrollHt - optionsBox.scrollLimit) ) + 'px';
						if(parseInt(slider.style.top) > optionsBox.scrollLimit) slider.style.top = optionsBox.scrollLimit + 'px';
					}
					break;
				}
				//optionsBox.scrollTop = 0;
				if(track) {
					track.style.top = optionsBox.scrollTop + 'px';
					slider.style.top = parseInt(optionsBox.scrollTop * optionsBox.scrollLimit / optionsBox.scrollHt) + 'px';
				}
			}

			return false;
		}
	}
	fakeSelect.optionBoxes[0].getElementsByTagName('A')[0].onblur = function () {
		this.parentNode.style.backgroundColor = '';
		this.style.color = '';
		this.onkeydown = null;
	}





	fakeSelect.optionBoxes[0].onclick = function (e) {

		if (focussedID) closeCustomSelect(focussedID);
		if (focussedID == this.id) {
			focussedID = "";
			return false;
		}
		focussedID = this.id;
		this.parentNode.optionBoxes[1].style.visibility = 'visible';
		var myDependantLinks = this.parentNode.dependantLinks;
		if (myDependantLinks.length > 6) {
			var mySlider = this.parentNode.optionBoxes[1].getElementsByTagName('SPAN')[1];
			for(i=0; i<myDependantLinks.length; i++) {
				if(myDependantLinks[i].className == 'selected') {
					myDependantLinks[i].parentNode.scrollTop = myDependantLinks[i].offsetTop;
					if(myTrack = this.parentNode.optionBoxes[1].getElementsByTagName('SPAN')[0])
						if(myDependantLinks[i].offsetTop < (this.parentNode.optionBoxes[1].scrollHeight - myTrack.offsetHeight)){
							myTrack.style.top = myDependantLinks[i].offsetTop + 'px';
						} else {
							myTrack.style.top = (this.parentNode.optionBoxes[1].scrollHeight - myTrack.offsetHeight) + 'px';
						}
					if(mySlider) {
					   mySlider.style.top = parseInt(myDependantLinks[i].offsetTop / (this.parentNode.optionBoxes[1].scrollHeight + mySlider.offsetHeight) * myTrack.offsetHeight) + 'px';
					   if(mySlider.offsetTop > (myTrack.offsetHeight - mySlider.offsetHeight))
					   	mySlider.style.top = (myTrack.offsetHeight - mySlider.offsetHeight) + 'px';
					}
					break;
				}
				myDependantLinks[i].parentNode.scrollTop = 0;
				if(myTrack = this.parentNode.optionBoxes[1].getElementsByTagName('SPAN')[0])
				   myTrack.style.top = 0;
			}
		}

		var container = this.parentNode.optionBoxes[1];
		var containerHt = container.offsetHeight;

        if(((absTop(this) + containerHt) > measureWinHt()) && (absTop(this) - containerHt > measureScrollTop())) {
        	container.className = 'optionsBoxUp';
	    } else {
	        container.className = 'optionsBoxDwn';
        }
		if(e) e.stopPropagation();
		else window.event.cancelBubble = true;
		return false;
	}

	var myOptions = fakeSelect.optionBoxes[1].getElementsByTagName('A');
	for(i=0; i<myOptions.length; i++) {
		myOptions[i].myValue = myOptions[i].href.split('#')[1];
		myOptions[i].href = '#';
		myOptions[i].onclick = function () {
			var mySiblings = this.parentNode.getElementsByTagName('A');
			for(i=0; i<mySiblings.length; i++) {
				if(mySiblings[i]==this)	this.className = 'selected';
				else mySiblings[i].className = '';
			}
			with(this.parentNode.parentNode.optionBoxes[0]){
				getElementsByTagName('A')[0].innerHTML = this.innerHTML;
				getElementsByTagName('INPUT')[0].value = this.myValue;
			}
			closeCustomSelect(focussedID);
			focussedID = "";
			findForm(this).submit();
			return false;
		}
	}
	if (i>6) {
		fakeSelect.optionBoxes[1].style.height = '9.3em';
		var track = document.createElement('SPAN');
		track.className = 'track';
		track.onclick = function (e) {
			if(e) e.stopPropagation();
			else window.event.cancelBubble = true;
			return false;
		}
		track.onmousedown = function (e) {
            var e = e || window.event;
            var mousePos = e.clientY || e.pageY;
			var scrollDistance = this.parentNode.scrollHeight - this.parentNode.offsetHeight;
			if ( (mousePos - absTop(this.parentNode) < parseInt(this.slider.style.top) ) ) {
				this.parentNode.scrollTop -= this.offsetHeight;
			} else {
				this.parentNode.scrollTop += this.offsetHeight;
			}
			this.style.top = this.parentNode.scrollTop + 'px';
			this.slider.style.top = parseInt(this.parentNode.scrollTop / scrollDistance * (this.offsetHeight - this.slider.offsetHeight)) + 'px';
		}
		track.slider = document.createElement('SPAN');
		track.slider.className = 'slider';
		track.slider.onclick = function (e) {
			if(e) e.stopPropagation();
			else window.event.cancelBubble = true;
		}
		track.slider.onselectstart = function () { return false; };

		track.slider.onmousedown = function (e) {
			dragstart(this);
			if(e) {
				e.stopPropagation();
				e.preventDefault();
			} else window.event.cancelBubble = true;
		}
		track.appendChild(track.slider);
		fakeSelect.optionBoxes[1].appendChild(track);
		fakeSelect.optionBoxes[1].scrollDistance = fakeSelect.optionBoxes[1].scrollHeight - fakeSelect.optionBoxes[1].offsetHeight;
        adaptSliderHeight(track.slider);
    }
	return false;
}




function global_onload() {
	if(window.categories && window.categories[0]) fillQuickSearch();
	if(document.getElementById('ProductCategories')) {
		initSelect (document.getElementById('ProductCategories'));
	}
	if(document.getElementById('SortModes')) {
		initSelect (document.getElementById('SortModes'));
	}
	dragInit();
}

window.onload = function() {
    // globale Inits
    global_onload();
    // Init einzelner Module (kÃ¶nnen fehlen)
    if (plzsearch_kuechenstudios_onload) {
        plzsearch_kuechenstudios_onload();
    }
}

window.onresize = function () {
	if(myFakeSelects[0]) {
		for(i=0; i<myFakeSelects.length; i++) {
			positionOptionBox(myFakeSelects[i].optionBoxes[0]);
		}
	}
}

window.onclick = function () {
   closeCustomSelect(focussedID);
}

document.onclick = window.onclick;


