;(function( $ ){		  
  $.fn.EMSlider = function() {
	$('div#welcomeFlash').addClass('preload');
	
	var key_slide = 1;
	var auto_slide = 1;
	var auto_slide_seconds = 7500;
	var wipe_slide = 1;
	
	var l = $('#slider_ul li').length;
	var totalImages = l;
	
	var images = [];
	
	$('#slider_ul li').each(function() { 		
		var count = 1;
		var src1 = $(this).find('img').attr('src');
		var src2 = 'pics/welcomeSlider/blurnone_image'+count+'.png';
		var src3 = 'pics/welcomeSlider/blurlight_image'+count+'.png';
		images.push(src1, src2, src3);
		count++;
	});
	
	var allImages = images.length;
	
	$.each(images, function(k, image){
		var img = new Image();
		img.onload = function(){ 
			allImages--;
			if(allImages == 0){
				$('#welcomeFlash').removeClass('preload').children('div').fadeIn(500);
			}
		}
		img.src = image;
	});
	
	//check if auto sliding is enabled  
	if(auto_slide == 1){
		timer = setInterval(function(){
			slide('left');
		}, auto_slide_seconds); 
	}
	
	var intervalSetter = function(){
		if(auto_slide == 1) {
			clearInterval(timer);
			timer = setInterval(function(){
				slide('left');
			}, auto_slide_seconds);
		}
	}
	
	//kill autoslide on hover
	$('#slider_ul li').hover(function(){
		clearInterval(timer);							  
	}, function(){
		intervalSetter();
	});
	
	//set autoslide on browser focus/blur
	if (!$.browser.msie) {
		$(document).focus(function() {
			intervalSetter();
		});
		$(document).blur(function() {
			clearInterval(timer);
		});
	} else {
		$(window).focus(function() {
			intervalSetter();
		});
		$(window).blur(function() {
			clearInterval(timer);
		});
	}
	
	//Disable links while animation is running
	$('#rightButton').bind('click', function (e) {
		intervalSetter();			
		if ($(':animated').length) {
			return false;	
		}else{
			slide('left');
			e.preventDefault();
		}
	});
	
	$('#leftButton').bind('click', function (e) {
		intervalSetter();			
		if ($(':animated').length) {
			return false;	
		}else{
			slide('right');
			e.preventDefault();
		}
	});
			 
	//check if key sliding is enabled  
	 if(key_slide == 1){ 
		//binding keypress function  
		$(document).keydown(function(e) { 
		  intervalSetter();
			//Kindersicherung  
			if ($(':animated').length) {
				return false;
			}
			//slide on richt arrow click
			 if(e.keyCode==37){  
				slide('right');  
			}else if(e.keyCode==39){  
				slide('left');  
			}
		});  
	}
	
	//Touchewipe
	$("#slider_ul").touchwipe({   
		wipeLeft: function() {
			if ($(':animated').length) {
				return false;
			}else{
				intervalSetter();
				slide('right');
			}
		},
		wipeRight: function() {
			if ($(':animated').length) {
				return false;
			}else{
				intervalSetter();
				slide('left');
			}
		},
		min_move_x: 20,
		min_move_y: 20,
		preventDefaultEvents: true
	});
	
	$('#slider_ul li').reverseOrder();
	
	//add class before runtime
	$('#slider_ul li').each(function(){
		$(this).attr('id', 'imageID'+l);
		l--;
	});
			
	//hide liste and show only first three classes
	$('#slider_ul li').hide();
	$('#imageID1, #imageID2, #imageID3').show();
	
	//animate imagesize before start
	for(var n=4;n<=totalImages;n++){
		$('#imageID'+n).animate({width: "400px", height: "293px", marginTop: "+=80px"},1);
	}
	
	//if screen resolution is more than 1024px, then change images
	if(screen.width > 1024) {
		//add attr to img
		$('#imageID1 img').attr('src', 'pics/welcomeSlider/blurnone_image'+$('#imageID1 img').attr('src').split('image')[1]);
		$('#imageID2 img').attr('src', 'pics/welcomeSlider/blurlight_image'+$('#imageID2 img').attr('src').split('image')[1]);
		$('#imageID3 img').attr('src', 'pics/welcomeSlider/blurlight_image'+$('#imageID3 img').attr('src').split('image')[1]);
	}
	
	//animate images
	$('#imageID1').animate({width: "600px", height: "442px", marginTop: "0"},1);
	$('#imageID2').animate({width: "500px", height: "366px", marginTop: "+=40px", marginRight: "-=50px"},1);
	$('#imageID3').animate({width: "400px", height: "293px", marginTop: "+=80px", marginRight: "+=25px"},1);
	//hide description
	$('#imageID2 div, #imageID3 div').hide();
 }
		 
//slide function
function slide(where){
	var laenge = $('#slider_ul li').length;
	
	//!!!Wichtig!!! Manuelle slide Weite aendern
	if(where == 'left'){
		var left_intend = 60;	
	}else{
		var left_intend = -60;	
	}
	
	//sliding animation
	
	//hide descriptions
	$('#imageID1 div, #imageID2 div, #imageID3 div').hide();
	
	//fadeOut erstes Bild
	if(where == 'left'){
		if ( $.browser.msie ) {
			$('#imageID1').hide();
		}else{
			$('#imageID1').fadeOut(150);	
		}			
	}else{
		$('#imageID3').fadeOut(500);			
	}
	
	//animate size and height
	if(where == 'left'){
		$('#imageID1').animate({width: "600px", height: "442px"},500);
		$('#imageID1').animate({width: "400px", height: "293px", marginTop: "+=80px"},500);
		$('#imageID2').animate({width: "600px", height: "442px", marginTop: "-=40px", marginRight: "+=50px"},500);
		$('#imageID3').animate({width: "500px", height: "366px", marginTop: "-=40px", marginRight: "-=75px"},500);
		$('#imageID4').animate({width: "400px", height: "293px", marginTop: "+=0px", marginRight: "+=25px"},500);
	}else{
		$('#imageID1').animate({width: "500px", height: "366px", marginTop: "+=40px", marginRight: "-=50px"},500);
		$('#imageID2').animate({width: "400px", height: "293px", marginTop: "+=40px", marginRight: "+=75px"},500);
		$('#imageID3').animate({width: "400px", height: "293px", marginTop: "-=0px", marginRight: "-=25px"},500);
		$('#imageID'+laenge).animate({width: "600px", height: "442px", marginTop: "-=80px"},500);
	}
	
	//fade out button
	$('#button').animate({opacity: "0.4"}, 1);
	
	///Animation slide
	//!!!WICHTIG!!! Manuelle Eingabe der Zahl nötig, die für left slide verantwortlich ist. 
	$('#slider_ul:not(:animated)').animate({'left' : left_intend},500,function(){	
	
		//fade in button with delay
		$('#button').delay(1000).animate({opacity: "1"}, 1);	
		
		//sort carousel  
		if(where == 'left'){     
			$('#slider_ul li:first').before($('#slider_ul li:last'));  
		}else{
			$('#slider_ul li:last').after($('#slider_ul li:first'));
		}
		
		recalculate();
		
		//fadeIn description
		$('#imageID1 div').fadeIn(500);
		$('#imageID2 div, #imageID3 div').hide();	
		
		//change images
		if(screen.width>1024) {
		changeImage();
		}
		
		//fadeIn third image
		if(where == 'left'){
			if ( $.browser.msie ) {
				$('#imageID3').show();
			}else{
				$('#imageID3').fadeIn(500);	
			}				
		}else{
			if ( $.browser.msie ) {
				$('#imageID1').show();
			}else{
				$('#imageID1').fadeIn(500);	
			}
		}
		
		//reset position
		$('#slider_ul').css({'left' : '0px'});		
		});  

}

function recalculate() {
	//add class at runtime
	var sliderLi = $('#slider_ul li');
	var l = $('#slider_ul li').length;
	var totalImages = l;
			
	for(var i=1;i<=totalImages;i++) {
		sliderLi.removeAttr('id');
	}
		sliderLi.each(function(){
		$(this).attr('id', 'imageID'+l);
		
		l--;
		});
}
	
function changeImage() {
	var imageT1 = $('#imageID1 img');
	var imageT2 = $('#imageID2 img');
	var imageT3 = $('#imageID3 img');
	
	//remove attr from images
	$('#imageID1, #imageID3').removeAttr('src');
	
	//add new attr to images
	imageT1.attr('src', 'pics/welcomeSlider/blurnone_image'+imageT1.attr('src').split('image')[1]);
	imageT2.attr('src', 'pics/welcomeSlider/blurlight_image'+imageT2.attr('src').split('image')[1]);
	imageT3.attr('src', 'pics/welcomeSlider/blurlight_image'+imageT3.attr('src').split('image')[1]);
}


})( jQuery );

//--------------------------------------------------reverse Order 
(function($) {
$.fn.reverseOrder = function() {
	return this.each(function() {
		$(this).prependTo( $(this).parent() );
	});
};
})(jQuery);
