Locale.use('de-DE');

function setPageNumber(number) {
	$('pagenumber').set('value', number);
	$('productlistform').submit();
}

function changeAndSubmit() {
	$('productlistform').submit();
}

function submitSearchForm(id) {
	$(id).submit();
}

function setProductID(number, id) {
	$('product').set('value', number);
	$('productlistform').set('action', id);
	$('productlistform').submit();
}

function viewImage(src, ident) {
	$$('ul[class=mehrfachbilder] li').set('class', '');
	$(ident).set('class', 'selected');
	$('imageProductView').morph({
		'opacity': 0
	});

	$('imageProductView').set('src', src);

	$('imageProductView').morph({
		'opacity': 1
	});

}

//for the big tab content
function clearAllTabContentBoxes() {
	$('tabContent1').set('style', 'display:none');
	$('tabContentTab1').removeClass('active');
	$('tabContent2').set('style', 'display:none');
	$('tabContentTab2').removeClass('active');
	$('tabContent3').set('style', 'display:none');
	$('tabContentTab3').removeClass('active');
	$('tabContent4').set('style', 'display:none');
	$('tabContentTab4').removeClass('active');
}

window.addEvent('domready', function() {
	if ($('tabContentTab1') != null) {
		$('tabContentTab1').addEvent('click', function(e) {
			e.stop();
			clearAllTabContentBoxes();
			$('tabContent1').set('style', 'display:block');
			$('tabContentTab1').addClass('active');
		});
	}
	if ($('tabContentTab2') != null) {
		$('tabContentTab2').addEvent('click', function(e){
			e.stop();
			clearAllTabContentBoxes();
			$('tabContent2').set('style','display:block');
			$('tabContentTab2').addClass('active');
		});
	}
	if ($('tabContentTab3') != null) {
		$('tabContentTab3').addEvent('click', function(e){
			e.stop();
			clearAllTabContentBoxes();
			$('tabContent3').set('style','display:block');
			$('tabContentTab3').addClass('active');
		});
	}
	if ($('tabContentTab4') != null) {
		$('tabContentTab4').addEvent('click', function(e){
			e.stop();
			clearAllTabContentBoxes();
			$('tabContent4').set('style','display:block');
			$('tabContentTab4').addClass('active');
		});
	}
});

//Wechsel der Registerkarten

function clearAllSmallTabContentBoxes() {
	$('tabContentSmall1').set('style','display:none');
	$('tabContentSmallTab1').removeClass('active');
	$('tabContentSmall2').set('style','display:none');
	$('tabContentSmallTab2').removeClass('active');
	$('tabContentSmall3').set('style','display:none');
	$('tabContentSmallTab3').removeClass('active');
}

window.addEvent('domready', function(){
	if ($('tabContentSmallTab1') != null) {
		$('tabContentSmallTab1').addEvent('click', function(e){
			e.stop();
			clearAllSmallTabContentBoxes();
			$('tabContentSmall1').set('style','display:block');
			$('tabContentSmallTab1').addClass('active');
		});
	}
	if ($('tabContentSmallTab2') != null) {
		$('tabContentSmallTab2').addEvent('click', function(e){
			e.stop();
			clearAllSmallTabContentBoxes();
			$('tabContentSmall2').set('style','display:block');
			$('tabContentSmallTab2').addClass('active');
		});
	}
	if ($('tabContentSmallTab3') != null) {
		$('tabContentSmallTab3').addEvent('click', function(e){
			e.stop();
			clearAllSmallTabContentBoxes();
			$('tabContentSmall3').set('style','display:block');
			$('tabContentSmallTab3').addClass('active');
		});
	}
}); 

// references slider
//Slider für Mootools:
var mooSlider = new Class({
  //Options
  Implements: Options,

  // default options
  options: {
    prev: 'a.buttonPrev',
    next: 'a.buttonNext',
    item: 'li.item',
    wrapper : 'ul.wrapperInner',
    transition : 'quad:in:out',
    duration : 200,
    step: 169,
    move: 1
  },

  // Initialisierung
  initialize: function(container, options){
    var that = this;

    // start with 1
    this.cur = 1;
    
    // setting defaults
    this.container = container;
    this.setOptions(options);

    // shortcuts:
    this.move = parseInt(this.options.move);
    this.step = parseInt(this.options.step);
    this.items = parseInt(this.container.getElements(this.options.item).length -1);
    this.prev = this.container.getElement(this.options.prev);
    this.next = this.container.getElement(this.options.next);
    this.wrapper = this.container.getElement(this.options.wrapper);
    
    //animation
    this.moveFx = new Fx.Tween(this.wrapper, {
        duration: this.options.duration,
        transition: this.options.transition,
        link: 'cancel',
        property: 'margin-left'
    });
    this.moveFx.addEvent('complete',function(){
        that.setBtns(that.items);
    });
    
    // set Buttons
    this.setBtns(this.items);
  },
  
  // set Button functions
  setBtns: function(){
    var that = this;
    
    // previous
    if(this.cur - this.move > 0){
        $(this.prev).removeClass('inActive');
        $(this.prev).addEvent('click', function(){
            that.moveIt(+1 * that.step * that.move);
        });
    }else{
        $(this.prev).addClass('inActive');
    }
    
    // next
    if(this.cur + this.move < this.items - this.move){
        $(this.next).removeClass('inActive');
        $(this.next).addEvent('click', function(){
            that.moveIt(-1 * that.step * that.move);
        });
    }else if(this.cur + this.move == this.items - this.move){
        $(this.next).addEvent('click', function(){
            that.moveIt(false, true);
        });
    }else{
        $(this.next).addClass('inActive');
    }
  },

  // unset Buttons during Animation
  unsetBtns: function(){
    $(this.prev).removeEvents('click');
    $(this.next).removeEvents('click');
  },

  // animation of the wrapper window:
  moveIt: function(alpha,reset){
    this.unsetBtns();
    if (reset){
        this.cur = 1;
        this.moveFx.start(curPos, 0);
    }else{
        this.cur = alpha > 0 ? this.cur - this.move : this.cur + this.move;
        var curPos = parseInt(this.wrapper.getStyle('margin-left'));
        this.moveFx.start(curPos, curPos + alpha);
    }
  }
});

// muss in domready Stack rein:
window.addEvent('domready', function() {
    var mooSliders = [];
    $$('.mooSlider').each(function(el, i) {
        mooSliders[i] = new mooSlider (el);
    });
});

//Teaser fÃ¼r Mootools:
var mooTeaser = new Class({
    //Options
    Implements: Options,

    // default options
    options: {  
        wImg: 'ul.images',
        wTxt: 'ul.texts',
        iImg: 'li',
        iTxt: 'li',
        duration: 700,
        timer: 4000
    },

    // Initialisierung
    initialize: function(container, options){
        var that = this;

        // start with 1
        this.cur = 0;

        // setting defaults
        this.container = container;
        this.setOptions(options);

        this.container.addEvents({
            mouseenter: function (){that.stopTimer();},
            mouseleave: function (){that.startTimer();}
        });
        
        // morphs for animation
        this.imgs = this.container.getElement(this.options.wImg).getElements(this.options.iImg);
        this.imgAnis = [];
        this.imgs.each(function(el,i){
            that.imgAnis[i] = new Fx.Morph(el,{duration: that.options.duration, transition: Fx.Transitions.Sine.easeOut});
        });
        // txt and the li hover funcs
        this.texts = this.container.getElement(this.options.wTxt).getElements(this.options.iTxt);
        this.texts.each(function(el,i){
            el.addEvent('mouseenter', function(){
                that.cur = i;
                that.switchText(i);
                that.switchImg(i);
            });
            el.addEvent('click', function(){
		self.location.href = that.imgs[i].getChildren('a').get('href');
            });
        });
        // start animation timer
        this.startTimer();
    },

    // start Timer
    startTimer: function(){
        this.periodicalTimer = this.switchAll.periodical(this.options.timer, this);
    },

    // stop Timer
    stopTimer: function(){
        $clear(this.periodicalTimer);
    },

    // get Current and switch 
    switchAll: function (){
        if(this.cur + 1 < 3){
            this.cur ++;
        }else{
            this.cur = 0;
        }
        this.switchText(this.cur);
        this.switchImg(this.cur);
    },

    // switch texts
    switchText: function(cur){
        this.texts.each(function(el,i){
            el.removeClass('cur');
        });
        this.texts[cur].addClass('cur');
    },
    
    // switch images
    switchImg: function(cur){
        var that = this;
        this.imgs[cur].setStyle('z-index','4');
        this.imgAnis[cur].start({'opacity': 1}).chain(function(){
            that.imgs.each(function(el,i){
                if (i != that.cur) {
                    el.setStyle('opacity','0');
                }
            });
            that.imgs[cur].setStyle('z-index','3');
        });
    }
});

// muss in domready Stack rein:
window.addEvent('domready', function() {
    var mooTeasers = [];
    $$('.mooTeaser').each(function(el, i) {
        mooTeasers[i] = new mooTeaser (el);
    });
});

// image slider horizontal
window.addEvent('domready', function(){
	if ($('sliderImages') != null) {
		var mf = new MooFlow($('sliderImages'), {
			startIndex: 'middle',
			useSlider: true,
			useAutoPlay: false,
			useCaption: true,
			useResize: false,
			useWindowResize: false,
			useMouseWheel: false,
			useKeyInput: false,
			bgColor: 'transparent',
			reflection: 0,
			heightRatio: 0.35,
			offsetTop: 130,
			'onClickView': function(activeObject){
				if (activeObject.target != null && activeObject.target == '_blank') {
					window.open(activeObject.href);
				} else {
					self.location.href = activeObject.href;
				}
							
			}
		});

	}
});

// alternierende Stellenanzeigen
window.addEvent('domready', function(){
	$$('.mlcareer_jobslist_level2 li:odd').each(function(el,i) {
		el.addClass('mlcareer_listodd');
	});
	var mooAccordions = null;
	if ($$('.mlcareer_jobslist_level1_element') != null) {
		mooAccordions = new Fx.Accordion($$('.mlcareer_jobslist_level1_element'), '.mlcareer_jobslist_level2'); 
	
		// init
		$$('.mlcareer_jobslist_level1_element').each(function(el,i) {
			if (i != 0) {
				el.addClass('closed');
			} else {
				el.addClass('open');
			}
		});
		
		$$('.mlcareer_jobslist_level1_element').addEvent('click',function() {
			var that = this;
			$$('.mlcareer_jobslist_level1_element').each(function(el) {
				if (el != that) {
					el.removeClass('open');
					el.addClass('closed');
				} else if(el.hasClass('open')) {
					el.removeClass('open');
					el.addClass('closed');				
				} else {
					// actual open
					el.removeClass('closed');
					el.addClass('open');
				}
			});
			
		});
	}
});

// presse
window.addEvent('domready', function(){
	$$('.presse_level3 li:odd').each(function(el,i) {
		el.addClass('colour');
	});
	var mooPressAccordions = null;
	if ($$('.presse_level1_element') != null) {
		mooPressAccordions = new Fx.Accordion($$('.presse_level1_element'), $$('.presse_level2'),{alwaysHide: true});

		// init
		$$('.presse_level1_element').each(function(el,i) {
			if (i != 0) {
				el.addClass('closed');
			} else {
				el.addClass('open');
			}
		});
		
		$$('.presse_level1_element').addEvent('click',function() {
			var that = this;
			$$('.presse_level1_element').each(function(el) {
				if (el != that) {
					el.removeClass('open');
					el.addClass('closed');
				} else if(el.hasClass('open')) {
					el.removeClass('open');
					el.addClass('closed');				
				} else {
					// actual open
					el.removeClass('closed');
					el.addClass('open');
				}
			});
			
		});
	}
});

// news element
window.addEvent('domready', function(){
	if ($$('.news-crosslink-box-horizontal') != null) {
		var elements = $$('.news-crosslink-box-horizontal');
		$$('.news-crosslink-box-horizontal:first-child').addClass('news-crosslink-box-horizontal_first');
		if (elements.length == 3) {
			$$('.news-crosslink-box-horizontal:last-child').addClass('news-crosslink-box-horizontal_last');
		}
	}
});

function initMap(i) {
	if ($$('.selected li a') != null) {
		var elementsArray = $$('.standorte li a');
		if (elementsArray.length > 0 && elementsArray[i] != null) {
			elementsArray[i].addClass('selected');
			click_sidebar(i);
		}
	}
}; 

window.addEvent('domready', function(){
	if ($$('.selected li a') != null) {
		$$('.standorte li a').addEvent('click',function(el, i) {
			$$('.standorte li a').each(function(e){ e.removeClass('selected'); });
			this.addClass('selected');
		});
	}
});

window.addEvent('domready', function(){
	if ($$('.search_result_list_box') != null && $$('.search_result_list_box').length > 0) {
		var langVar = $$('#locallangParam').get('value');
		var moreText = '';

		if (langVar == '0') {
			moreText = 'mehr Informationen';
		} else {
			moreText = 'more Information';
		}
		$$('.search_result_list_box').each(function(e){
			var url = '';
			e.getElements('a').each(function(el,i){
				if (i == 0) {
					url = el.get('href');
				} else {
					el.set('href',url);
					el.set('html',moreText);
				}
			});

		});
		$$('.search_result_list_box:last-child').addClass('last');
	}
});


// form validator contactform
window.addEvent('domready', function() {
	
	if ($('contactForm') != null) {
		var myFormValidator = new Form.Validator.Inline($('contactForm'), {
			stopOnFailure: true,
			scrollToErrorsOnSubmit: false,
			useTitles: true,
			errorPrefix: "",
			onFormValidate: function(passed, form, event) {
				if (passed) {
					form.submit();
				}
			}
		});
	}
	if ($$('.closePopup') != null) {
		$$('.closePopup').addEvent('click',function(ev){
			ev.stop();
			parent.popupBox.closeBox();
		});
	}
});

function openUrl(url,target){
	// make the url absolute
	if (url.substr(0,7) != 'http://' && url.substr(0,1) != '/') {
		url = '/'+url;
	}
	if (target == '_top' || target == ''  || target == '_self') {
		self.location.href = url;
	} else {
		window.open(url);
	}
}

function showMouseOver(element) {
	$(element).getChildren('div.weiter_hover_box').set('style','display: block');
}

function showMouseOut(element) {
	$(element).getChildren('div.weiter_hover_box').set('style','display: none');
}

function openUrlElement(element) {
	var aChildren = element.getParent().getChildren('a');
	if (aChildren.getProperty('target') == '_blank') {
		window.open(aChildren.getProperty('href'));
	} else {
		self.location.href = aChildren.getProperty('href');
	}
}


window.addEvent('domready', function() {
	// clickable boxes
	if ( $$('li.block_1') != null) {
		$$('li.block_1').addEvent('click',function(ev){
			ev.stop();
			openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
		});
	}
	if ( $$('li.block_2') != null) {
		$$('li.block_2').addEvent('click',function(ev){
			ev.stop();
			openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
		});
	}
	if ( $$('li.block_3') != null) {
		$$('li.block_3').addEvent('click',function(ev){
			ev.stop();
			openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
		});
	}
	if ( $$('li.block_4') != null) {
		$$('li.block_4').addEvent('click',function(ev){
			ev.stop();
			openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
		});
	}
	if ( $$('li.block_5') != null) {
		$$('li.block_5').addEvent('click',function(ev){
			ev.stop();
			openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
		});
	}
	if ( $$('li.block_6') != null) {
		$$('li.block_6').addEvent('click',function(ev){
			ev.stop();
			openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
		});
	}
	if ( $$('li.block_7') != null) {
		$$('li.block_7').addEvent('click',function(ev){
			ev.stop();
			openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
		});
	}
	if ( $$('li.block_8') != null) {
		$$('li.block_8').addEvent('click',function(ev){
			ev.stop();
			openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
		});
	}
		$$('div.block_leistung').addEvent('click',function(ev){
			if (this.getElement('a') != null) {
				ev.stop();
				openUrl(this.getElement('a').get('href'),this.getElement('a').get('target'));
			}
		});
});

function showFlashVideo(_mediaURL,_teaserURL) {

		var presentationFlashvars = {
			mediaURL : _mediaURL,
			teaserURL : _teaserURL,
			allowSmoothing : "true",
			autoPlay : "false",
			buffer : "6",
			showTimecode : "true",
			loop : "false",
			controlColor : "0xBDC7CD",
			controlBackColor : "0x3E5A5B",
			scaleIfFullScreen : "true",
			showScalingButton : "false",
			defaultVolume : "100",
			crop : "false"
		};			

		var presentationParams = {
			menu : "false",
			allowFullScreen : "true",
			allowScriptAccess : "always"
		};
			
		var presentationAttributes = {
			id : "videoPlayer",
			name : "videoPlayer",
			bgcolor : "#000000"
		};

		swfobject.embedSWF("/fileadmin/templates/fla/flv-player.swf", 
			"videoPlayer", 
			"710", "425", "8", 
			"/fileadmin/templates/fla/expressinstall.swf", 
			presentationFlashvars, presentationParams, presentationAttributes);
}

// presentations
window.addEvent('domready', function(){

	if ($$('div.presentationImage div.prevArrow') != null) {
		$$('.presentationShowPrev').addEvent('click',function() {
			// get the right element
			// call 
		});
	}

	if ($$('div.presentationThumbnailImageElement') != null) {
		
		var mediaIndex = 0;	
		var mediaPrev = 0;
		var mediaNext = 0;
		var mediaElement = Array();

		$$('.presentationThumbnails .csc-default').each(function(element,i){
			element.getFirst().set('id','MediaElement'+mediaIndex);
			mediaIndex+= 1;
			if (mediaIndex > 0) {
				mediaNext = 1; 
			}
			mediaElement[i] = 'MediaElement'+i;
		});

		$$('.presentationShowPrev').addEvent('click',function(aEvent) {
			aEvent.stop();
			if (mediaPrev != 0) {
				mediaPrev -= 1;
				var ElementE = $$('#'+mediaElement[mediaPrev]);
				$$('div.presentationThumbnailMedia img').removeClass('presentationActive');
				$$('div.presentationThumbnailImage img').removeClass('presentationActive');
				if (ElementE.get('class') == 'presentationThumbnailImageElement') {
					ElementE.getFirst('div.presentationThumbnailImage img').addClass('presentationActive');
					if (ElementE.getChildren('div.presentationImageBigHidden') != null) {
						$$('.presentationImageBig').set('html',$$('#'+mediaElement[mediaPrev]).getFirst('.presentationImageBigHidden').get('html'));
					}
				} else {
					ElementE.getFirst('div.presentationThumbnailMedia img').addClass('presentationActive');
					if (ElementE.getChildren('div.presentationMediaBigHidden') != null) {
						$$('#presentationElement').set('html','<div id="videoPlayer"></div>');
						showFlashVideo('/'+ElementE.getFirst('.presentationVideoHidden a').get('data-path'), '/'+ElementE.getFirst('.presentationMediaBigHidden img').get('src'));
					}
				}
				mediaNext -= 1;
				$$('.nextArrow a').removeClass('presentationShowNextInactive');
				if (mediaPrev == 0) {
					$$('.prevArrow a').addClass('presentationShowPrevInactive');
				}
			}
		});
		$$('.presentationShowNext').addEvent('click',function(aEvent) {
			aEvent.stop();
			if (mediaNext != mediaIndex) {
				$$('div.presentationThumbnailMedia img').removeClass('presentationActive');
				$$('div.presentationThumbnailImage img').removeClass('presentationActive');
				var ElementE = $$('#'+mediaElement[mediaNext]);
				if (ElementE.get('class') == 'presentationThumbnailImageElement') {
					ElementE.getFirst('div.presentationThumbnailImage img').addClass('presentationActive');
					if (ElementE.getChildren('div.presentationImageBigHidden') != null) {
						$$('.presentationImageBig').set('html',ElementE.getFirst('.presentationImageBigHidden').get('html'));
					}
				} else {
					ElementE.getFirst('div.presentationThumbnailMedia img').addClass('presentationActive');
					if (ElementE.getChildren('div.presentationMediaBigHidden') != null) {
						$$('#presentationElement').set('html','<div id="videoPlayer"></div>');
						showFlashVideo('/'+ElementE.getFirst('.presentationVideoHidden a').get('data-path'), '/'+ElementE.getFirst('.presentationMediaBigHidden img').get('src'));
					}
				}
				mediaNext += 1;
				$$('.prevArrow a').removeClass('presentationShowPrevInactive');
				mediaPrev += 1;
				if (mediaNext == mediaIndex) {
					$$('.nextArrow a').addClass('presentationShowNextInactive');
				}
			}
		});

		$$('div.presentationThumbnailMediaElement').addEvent('click', function() {
			$$('div.presentationThumbnailMedia img').removeClass('presentationActive');
			$$('div.presentationThumbnailImage img').removeClass('presentationActive');
			$(this).getChildren('div.presentationThumbnailMedia img').addClass('presentationActive');
			$$('#presentationElement').set('html','<div id="videoPlayer"></div>');
			showFlashVideo('/'+$(this).getChildren('.presentationVideoHidden a').get('data-path'), '/'+$(this).getChildren('.presentationMediaBigHidden img').get('src'));
		});

		$$('div.presentationThumbnailImageElement').addEvent('click', function() {
			$$('div.presentationThumbnailImage img').removeClass('presentationActive');
			$$('div.presentationThumbnailMedia img').removeClass('presentationActive');
			$(this).getChildren('div.presentationThumbnailImage img').addClass('presentationActive');
			$$('#presentationElement').set('html',$(this).getChildren('div.presentationImageBigHidden').get('html'));
		});
		
		// set first active


		if ($$('.presentationThumbnails') != null && $$('.presentationThumbnails').length > 0) {

			$$('.prevArrow a').addClass('presentationShowPrevInactive');
			$$('.prevArrow a').set('href','');
			$$('.nextArrow a').set('href','');
			if ($$('.presentationThumbnails').getFirst('div.csc-default').getFirst().get('class') == 'presentationThumbnailMediaElement') {
				$$('.presentationThumbnails').getFirst('div.csc-default div.presentationThumbnailMediaElement').getFirst('div.presentationThumbnailMedia img').addClass('presentationActive');
				if ($$('.presentationThumbnails').getFirst('div.csc-default div.presentationThumbnailMediaElement').getChildren('div.presentationMediaBigHidden') != null) {
					$$('#presentationElement').set('html','<div id="videoPlayer"></div>');
					var ElementE = $$('.presentationThumbnails').getFirst('div.csc-default div.presentationThumbnailMediaElement');
					showFlashVideo('/'+ElementE.getFirst('.presentationVideoHidden a').get('data-path'), '/'+ElementE.getFirst('.presentationMediaBigHidden img').get('src'));
				}
			}
			else if ($$('.presentationThumbnails').getFirst('div.csc-default').getFirst().get('class') == 'presentationThumbnailImageElement')
			{
				$$('.presentationThumbnails').getFirst('div.csc-default div.presentationThumbnailImageElement').getFirst('div.presentationThumbnailImage img').addClass('presentationActive');
				if ($$('.presentationThumbnails').getFirst('div.csc-default div.presentationThumbnailImageElement').getChildren('div.presentationImageBigHidden') != null) {
					$$('.presentationImageBig').set('html',$$('.presentationThumbnails').getFirst('div.csc-default div.presentationThumbnailImageElement').getFirst('.presentationImageBigHidden').get('html'));
				}
			}
		}

	}
});

