
document.observe('dom:loaded', function(){
 	var mainmenu = new megaMenu('mainmenu'); 
 	mainmenu.action();   
});

var megaMenu = Class.create({
	initialize: function(id){
		this.id=id;
		this.anim=false;

		if($(id)){
			this.firstUl = Element.down($(id), 'ul');
			if(this.firstUl){
				this.firstLis = Element.childElements(this.firstUl);
			}
		}
	},
	action: function(){
		var self = this; 
		this.firstLis.each( function(elem) {
			Event.observe(elem, 'mouseover', function(event, element){
				var sub = Element.childElements(element);
				Element.addClassName(element, 'activeparent');
				for(var i=0; i < sub.length; i++){
					if(sub[i].tagName=='UL'){
						if(this.anim==false){
							sub[i].style.display='block';
						}else{
							var actUl = sub[i];
							if(actUl.timeout!=null && actUl.timeout!=undefined ) {window.clearTimeout(actUl.timeout); actUl.timeout=null;}
							actUl.timeout=window.setTimeout( function(){actUl.style.display='block';this.anim=false;actUl.timeout=null;}, 100);
						}
					}else if(sub[i].tagName=='A'){
						Element.addClassName(sub[i], 'tmpAct');
					}
				}
			}.bindAsEventListener(this, elem));
			Event.observe(elem, 'mouseout', function(event, element) {
				var sub = Element.childElements(element);
				Element.removeClassName(element, 'activeparent');
				for(var i=0; i < sub.length; i++){
					if(sub[i].tagName=='UL'){
						var actUl = sub[i];
						this.anim=true;
						if(actUl.timeout!=null && actUl.timeout!=undefined ) {window.clearTimeout(actUl.timeout); actUl.timeout=null;}
						actUl.timeout=window.setTimeout( function(){actUl.style.display='none';this.anim=false;actUl.timeout=null;}, 100);
					}else if(sub[i].tagName=='A'){
						Element.removeClassName(sub[i], 'tmpAct');
					}
				}				
			}.bindAsEventListener(this, elem));
		}.bind(this));
	}	
});

/* Author: Tobias Schultheiss - schultheiss@digital-worx.de */
function edxSlider(el,direction){
	var holderElement = $(el).up('.edx-slider-holder');
	var position=$(holderElement).getStyle('left');
		position=position.replace(/px/,'')
	var elementsCount = $(holderElement).getElementsByClassName('edx-slider-item').length;
	var dimensions = el.up('.edx-slider-item').getDimensions();
	var arrows=$(holderElement).getElementsByClassName('edx-slider-links');
		$(holderElement).setStyle({'width': elementsCount*dimensions.width+'px'});

	if(direction=='left'){
		var newPosition = position - dimensions.width;
		if(newPosition < 0 && newPosition > (elementsCount*dimensions.width*(-1))){
			for(var i=0; i < arrows.length; i++){
				arrows[i].style.visibility='hidden';
			}
			new Effect.Move(
					$(holderElement),
					{	x: -dimensions.width, 
						y: 0 , 
						mode: 'relative', 
						afterFinish: function(){
							for(var i=0; i < arrows.length; i++){
								arrows[i].style.visibility='visible';
							}
						}
					});
		}
	}else if(direction=='right'){
		var newPosition = parseInt(position) + dimensions.width;
		if(newPosition <= 0 && newPosition >= (elementsCount*dimensions.width*(-1))){
			for(var i=0; i < arrows.length; i++){
				arrows[i].style.visibility='hidden';
			}
			new Effect.Move(
					$(holderElement),
					{ 	x: dimensions.width, 
						y: 0 , 
						mode: 'relative', 
						afterFinish: function(){
							for(var i=0; i < arrows.length; i++){
								arrows[i].style.visibility='visible';
							}
						}
					});				
		}		
	}
}


