var to = 0;
var pos = 0;
var offset = 0;
var pos = 0;
var pxStep = 10;
var msStep = 25;
var up = false;
var down = false;
var scrollEl = null;
var list_scrolling = false;
var total_height = 0 ;
Event.observe(window,'load',function(evt){
	var cats = $$('.category');
	
	for(i=0;i<cats.length;i++)
		total_height += cats[i].getHeight();

	$$('a.scroll').each(function(el){
		var direction = 1;
		if(el.hasClassName('down'))
			direction = -1;
		el.observe('mouseover',function(){
			if(!list_scrolling && checkScrollAvailable($('inhalt'),direction)){
				//scrollList(125*direction, false);
				if(direction<0)
					scrollDownExtended(false);
				else
					scrollUpExtended(false);
			}
		});
		el.observe('mousemove',function(){
			if(!list_scrolling && checkScrollAvailable($('inhalt'), direction)){
				if(direction<0)
					scrollDownExtended(false);
				else
					scrollUpExtended(false);
			}
		});
		el.observe('mouseout',function(){
			list_scrolling = false;
		});
	});

});

function scrollToContent(){
	//alert("ST "+$('content').scrollTop);
	//window.scrollBy(0,345);
}

function changePic(el,pic){
	$(el).src = imgBase+pic;
}

function myScrollTo(anchor){
	/*if(anchor==scrollEl)
		return;
	if(scrollEl!=null)
		$(scrollEl).parentNode.setAttribute('class','');
	if(scrollEl!=null)
		$(anchor).parentNode.setAttribute('class','');
	scrollEl = anchor;
	offset = 0;
	to = Position.positionedOffset($(anchor))[1];
	offset = (-1)*(to+pos);*/
	var cat = $(anchor);
	var cats = $$('.category');
	var prev = cat.previousSiblings();
	
	var offset = 0;
	for(i=0;i<prev.length;i++){
		offset -= prev[i].getHeight();
	}
	new Effect.Move('inhalt',{y: offset, mode: 'absolute', transition: Effect.Transitions.spring});
	
	//timedScroller();
}

i = 0;

function timedScroller(){
	i++;
	if(offset>0){
		$('inhalt').style.top = (pos+pxStep)+"px";
		offset = offset-pxStep;
		pos = pos+pxStep;
		
		if(offset>0)
			setTimeout('timedScroller()',msStep);
		else{
			$('inhalt').style.top = (pos-offset)+"px";
			offset = 0;
			$(scrollEl).parentNode.setAttribute('class','scrollhighlight');
		}
	}
	else if(offset<0){
		$('inhalt').style.top = (pos-pxStep)+"px";
		offset = offset+pxStep;
		pos = pos-pxStep;
		if(offset<0)
			setTimeout('timedScroller()',msStep);
		else{
			$('inhalt').style.top = (pos+offset)+"px";
			offset = 0;
			$(scrollEl).parentNode.setAttribute('class','scrollhighlight');
		}
	}
}




function scrollDown(el){
	/*stopPos = Position.positionedOffset($('stop'))[1]+pos;
	if(stopPos<0){
		return;
	}
	
	pos = pos-40; 	
	$(el).style.top = (pos)+"px";*/
	scrollDownExtended(true);
}

function scrollDownExtended(stop){
	var top = Math.abs($('inhalt').positionedOffset()['top']);
	var y = 50;
	
	/*var total_height = 0;
	var cats = $$('.category');
	
	for(i=0;i<cats.length;i++)
		total_height += cats[i].getHeight();

	if(top+y+25>total_height){
		y = total_height - top - 25;
	}*/
	//new Effect.Move('inhalt',{y:-y,mode:'relative'});
	/*if(!list_scrolling){
		list_scrolling = true;
	}*/
		scrollList(y, -1, stop);
}

function scrollUpExtended(stop){
	/*var top = $('inhalt').positionedOffset()['top'];
	var y = 40;
	if(top+y>0)
		y = Math.abs(0-top);*/
	var y = 50;
	/*if(!list_scrolling){
		list_scrolling = true;
	}*/
		scrollList(y, 1, stop);
}

function scrollUp(el){
	/*if(pos>=0)
		return;
		
	pos = pos+40; 	
	$(el).style.top = (pos)+"px";*/
	scrollUpExtended(true);
}

function checkScrollAvailable(list, d){
	var top = list.positionedOffset()['top'];

	//console.log(top);
	if((top>0 && d==1) || (((Math.abs(top)+240)>total_height)&&d==-1)){
		list_scrolling = false;
		return false;
	}
	else
		return true;
	
}

function scrollList(offset, d, stop){
	var total_height = 0;
	var cats = $$('.category');
	
	for(i=0;i<cats.length;i++)
		total_height += cats[i].getHeight();

	new Effect.Move('inhalt', {
		y: d*offset,
		mode: 'relative',
		duration: 0.5,
		transition: Effect.Transitions.linear,
		beforeStart: function(fx){
			if(!checkScrollAvailable(fx.element, d))
				fx.cancel();
			else
				list_scrolling = true;
		},
		beforeUpdate: function(fx){
			if(!list_scrolling || !checkScrollAvailable(fx.element, d))
				fx.cancel();
		},
		afterFinish: function(fx){
			if(!checkScrollAvailable(fx.element, d))
				fx.cancel();
			if(!stop)
				scrollList(offset,d,stop);
		}
	})
};

function confirmSendForm(form, action){
	if(confirm("Bestellung wirklich "+action))
		form.submit();
}

function replaceLinks(){
 	replace = document.getElementsByClassName('replacable');
	
	for(i=0;i<replace.length;i++)
		replace[i].href = "javascript: void(0);";
 }




