Prototype.Browser.IE6 = Prototype.Browser.IE && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5)) == 6;
Prototype.Browser.IE7 = Prototype.Browser.IE && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5)) == 7;
Prototype.Browser.IE8 = Prototype.Browser.IE && !Prototype.Browser.IE6 && !Prototype.Browser.IE7;
Prototype.Browser.IE = ( Prototype.Browser.IE6 || Prototype.Browser.IE7 || Prototype.Browser.IE8 );
Prototype.Browser.Safari = !!navigator.userAgent.match(/.*Safari/);

document.observe("dom:loaded", function(){
	objMainNaviObserver.init();
	if($('image_slider') !== null){
		oImageSlider.init();
	}

});

Event.observe(window, 'load', function() {

    imageZoomDivs = $$("div.imageZoom");
    if (imageZoomDivs) {
	    imageZoomDivs.each(function(s) {
	    	maxx = parseInt(s.getAttribute('maxx'));
	    	maxy = parseInt(s.getAttribute('maxy'));
	    	div = s.select("div");
	    	div = div[0];
	    	img = s.select("img");
	    	img = img[0];
	    	x = parseInt(img.getAttribute('width'));
	    	y = parseInt(img.getAttribute('height'));
	    	if (x > maxx || y > maxy) {
	    		percent = (100/x)*maxx;
	    		newx = maxx;
	    		newy = (y/100)*percent;
	    		if (newy>maxy) {
	    			percent = (100/y)*maxy;
	    			newy = maxy;
	    			newx = (x/100)*percent;
	    		}
	    	} else {
	    		newx = x;
	    		newy = y;
	    	}
	    	div.setStyle({'width': newx+"px"});
	    	img.setAttribute('width',newx);
	    	img.setAttribute('height',newy);
	    	img.setAttribute('owidth',x);
	    	img.setAttribute('oheight',y);
	    	img.setStyle({'cursor':'pointer'});
	    	img.observe('click',function(event) {
	    		img = Event.findElement(event, 'img');
	    		effect_showImage(img.getAttribute('src'),img.getAttribute('owidth'),img.getAttribute('oheight'));
	    	});
	    });
    }
});

function effect_showImage(src,x,y) {
	cx = getClientWidth()-50;
	cy = getClientHeight()-50;
	maxx = cx;
	maxy = cy;
	if (x > maxx || y > maxy) {
		percent = (100/x)*maxx;
		newx = maxx;
		newy = (y/100)*percent;
		if (newy>maxy) {
			percent = (100/y)*maxy;
			newy = maxy;
			newx = (x/100)*percent;
		}
	} else {
		newx = x;
		newy = y;
	}
	
	cx = parseInt(newx)+10;
	cy = parseInt(newy)+25;
	$('body').insert("<div id='img_overlay'></div>");
	ab = "-"+(cx/2)+"px";
	cd = "-"+(cy/2)+"px";
	$('img_overlay').setStyle({'width': cx+"px", 'height': cy+"px", 'marginLeft': ab, 'marginTop': cd});
	$('img_overlay').insert("<table id='image_table'><tr><td colspan='2' id='image'><a style='color:#000' href='javascript:void(null);' onclick='effect_closeImage()'><img id='big_image' src='"+src+"' width='"+newx+"' height='"+newy+"'/></a></td></tr><tr><td>&nbsp;</td><td class='closeImg'><a style='color:#000' href='javascript:void(null);' onclick='effect_closeImage()'>Schlie&szlig;en</a></tr></table>")
	
	
	
}

function effect_closeImage() {
	$("img_overlay").remove();
}


function getClientHeight() {
	if (window.innerHeight != null)
		return window.innerHeight;
	if (document.body.clientHeight != null)
		return document.body.clientHeight;
	return null;
}

function getClientWidth() {
	if (window.innerWidth != null)
		return window.innerWidth;
	if (document.body.clientWidth != null)
		return document.body.clientWidth;
	return null;
}

objMainNaviObserver = {
	aeSecondLevelMenu : [],
	aeThirdLevelMenu : [],	
	init:function(){		
		this.nSecondLevelMenuLeft = $('main_navi').positionedOffset().left;
	
		this.aeSecondLevelMenu = $$('#main_navi ul li ul.second_level');
		for(var i = 0; i < this.aeSecondLevelMenu.length; i++){			
			if( $(this.aeSecondLevelMenu[i]).visible() === true ){
				this.nHeaderLeft = this.aeSecondLevelMenu[i].positionedOffset().left;
				this.resizeMenu(this.aeSecondLevelMenu[i]);
			}
		}
		
		this.aeThirdLevelMenu = $$('ul.third_level li');
		var nAbsoluteListWidth = 0;
		for(var i = 0; i < this.aeThirdLevelMenu.length; i++){
			nAbsoluteListWidth = nAbsoluteListWidth + (this.aeThirdLevelMenu[i].getWidth()+10);
		}

		if(nAbsoluteListWidth == 0){
			nAbsoluteListWidth = 729;
		}
		var nMargin = +249;
		if( nAbsoluteListWidth > 729 ){
			var nMargin = nMargin + ( nAbsoluteListWidth - 729);  
		}
		
		if(Prototype.Browser.IE){
			nMargin = nMargin - 35;
		}

		if( $$('.cms_content_position')[0] !== undefined &&  $$('.third_level')[0] !== undefined && nAbsoluteListWidth < 570 ){
			nAbsoluteListWidth = 570;
		}
		if ($('cms_content_position')) {
	    	    $('cms_content_position').setStyle({
			width: nAbsoluteListWidth+'px',
	    		marginLeft : '-'+nMargin+'px'
		    });
		}
	},
	resizeMenu:function(eSecondLevelMenu){
		var nWidth = eSecondLevelMenu.getWidth();
		var eFirstLevenMenuPoint = eSecondLevelMenu.parentNode;
		
		if(Prototype.Browser.IE7){
			eSecondLevelMenu.setStyle({
				marginLeft: '-'+$(eFirstLevenMenuPoint).getWidth()+'px'
			});
		}

		nOffset = this.nHeaderLeft - this.nSecondLevelMenuLeft-1000 +nWidth;
		nOffset = parseInt(nOffset, 10);

		if(Prototype.Browser.IE7){
			nOffset = nOffset - 120;			
		}
		
		if( nOffset > 0 && (eFirstLevenMenuPoint.id != 'last') ){
			var nWidth = $(eFirstLevenMenuPoint).getWidth();

			var nFirstLevenMenuPointWidth = parseInt(nWidth, 10) + nOffset;
			if(Prototype.Browser.Safari){				
				nFirstLevenMenuPointWidth = nFirstLevenMenuPointWidth + 50;
			}
			eFirstLevenMenuPoint = eSecondLevelMenu.parentNode;


			eFirstLevenMenuPoint.setStyle({
				width: nFirstLevenMenuPointWidth+'px'
			});
		}
		if (eFirstLevenMenuPoint.id == 'last') {
			$$('.second_level')[0].setStyle({
				marginLeft : '-216px'
			});
		}
	}
};

oImageSlider = {
		eList : {},
		eButtonSlideLeft:{},
		eButtonSlideRight:{},
		nOffset : 0,
		nMaxOffset : 0,
		aeListelement : [],
		aeDivPoints:[],
		init : function(){			

			if($$('#image_slider_list li').length>1){
				this.addFirstTwoAtLast();
			}
			else{
				$('slider_arrow_left').hide();
				$('slider_arrow_right').hide();
			}
			this.aeListelement = $$('#image_slider_list li');
			this.nMaxOffset = this.aeListelement.length-1;
			if($$('#image_slider_list li').length>1){
				this.addFirstTwoAtLastThumb();
			}
			var nWidth = (this.nMaxOffset+1) * 1000;
			$('image_slider_list').setStyle({
				width: nWidth+'px'
			});
			var nWidth = (this.nMaxOffset+2) * 112;
			$('image_slider_thumbs_list').setStyle({
				width: nWidth+'px'
			});
			this.eList = $$('#imageslider ul')[0];
			this.eButtonSlideLeft = $('slider_arrow_left');
			this.eButtonSlideRight = $('slider_arrow_right');			

			$('slider_arrow_left').observe('click', oImageSlider.slideLeft);
			$('slider_arrow_right').observe('click', oImageSlider.slideRight);

			var aeDiv = [];
			var orgTop;
			var nTop;
			for( var i = 0; i < this.aeListelement.length; i++ ){
				aeDiv = this.aeListelement[i].select('div.product_info_popup');
				if(aeDiv.length > 0){
					for( var j = 0; j < aeDiv.length; j++ ){
						oPos = aeDiv[j].viewportOffset();
						orgTop = parseInt(aeDiv[j].style.top.substring(0, ( aeDiv[j].style.top.length-2) ),10 );						
						nTop = oPos.top-60-( 2 * orgTop );
						aeDiv[j].setStyle({
							top: '-'+nTop+'px'
						});
						aeDiv[j].hide();
						aeDiv[j].observe('mouseout', oImageSlider.divPopupsMouseOut );
					}
				}
				this.aeDivPoints = this.aeListelement[i].select('div.hover_point');
				if(this.aeDivPoints.length > 0){					
					for( var k = 0; k < this.aeDivPoints.length; k++ ){
						oPos = this.aeDivPoints[k].viewportOffset();
						orgTop = parseInt(this.aeDivPoints[k].style.top.substring(0, ( this.aeDivPoints[k].style.top.length-2) ),10 );						
						nTop = oPos.top-60-( 2 * orgTop );
						this.aeDivPoints[k].setStyle({
							top: '-'+nTop+'px'
						});					
						this.aeDivPoints[k].observe('mouseover', oImageSlider.divPointsMouseOver );
					}
				}
			}
		},
		divPointsMouseOver:function(){
			var ePopup = this.parentNode.select('div.product_info_popup')[0];
			ePopup.appear({ duration: 0.4 });
			oImageSlider.hidePoints();
		},
		divPopupsMouseOut:function(event){
			var current_mouse_target = null;
			if( event.toElement ){
				current_mouse_target = event.toElement;
			} else if( event.relatedTarget ){
				current_mouse_target = event.relatedTarget;
			}
			if( ! $(current_mouse_target).isChildOf( this ) && ( ( this !== current_mouse_target ) ) && ( current_mouse_target.id !== 'slider_arrow_left' ) && ( current_mouse_target.id !== 'slider_arrow_right' )){
				this.fade({
					duration: 0.4,
					afterFinish:oImageSlider.showPoints
				});
			}
		},		
		hidePoints:function(){
			var aeDiv = $('image_slider_list').select('div.hover_point');
			for( var i = 0; i < aeDiv.length; i++ ){
				aeDiv[i].hide();
			}
		},
		showPoints:function(){
			var aeDiv = $('image_slider_list').select('div.hover_point');
			for( var i = 0; i < aeDiv.length; i++ ){
				aeDiv[i].show();
			}
		},
		slideRight: function(){
			
			if( oImageSlider.nOffset == oImageSlider.nMaxOffset -1 ){
				$('image_slider_list').setStyle({
					marginLeft: '0px'
				});
				oImageSlider.nOffset = 0;
			}
			oImageSlider.nOffset = oImageSlider.nOffset + 1;
			var nMargin = oImageSlider.nOffset * -1000;
			oEffect = new Effect.Morph($('image_slider_list'), {
				style:'margin-left: '+nMargin+'px;',
				duration:0.8,
				afterFinish:function(){

				}
			});
			nMargin = oImageSlider.nOffset * 112;
			$('image_slider_thumbs_list').setStyle({
				marginLeft: '-'+nMargin+'px'
			});
		},
		slideLeft: function(){
			var nMargin;
			if( oImageSlider.nOffset === 0 ){
				oImageSlider.nOffset = oImageSlider.nMaxOffset -1;
				nMargin = oImageSlider.nOffset * -1000;
				$('image_slider_list').setStyle({
					marginLeft: nMargin+'px'
				});
			}
			oImageSlider.nOffset = oImageSlider.nOffset - 1;
			nMargin = oImageSlider.nOffset * -1000;
			oEffect = new Effect.Morph($('image_slider_list'), {
				style:'margin-left: '+nMargin+'px;',
				duration:0.8,
				afterFinish:function(){

				}
			});
			nMargin = oImageSlider.nOffset * 112;
			$('image_slider_thumbs_list').setStyle({
				marginLeft: '-'+nMargin+'px'
			});
		},
		addFirstTwoAtLast: function(){
			aeListelements = $$('#image_slider_list li');
			$('image_slider_list').innerHTML = $('image_slider_list').innerHTML + '<li>'+ aeListelements[0].innerHTML + '</li><li>' + aeListelements[1].innerHTML + '</li>';
		},
		addFirstTwoAtLastThumb: function(){
			aeListelements = $$('#image_slider_thumbs_list li');
			$('image_slider_thumbs_list').innerHTML = '<li>' + aeListelements[(this.nMaxOffset-2)].innerHTML +$('image_slider_thumbs_list').innerHTML + '<li>'+ aeListelements[0].innerHTML + '</li><li>' + aeListelements[1].innerHTML + '</li>';
		}
	};