// äöüß utf-8 no bom

jQuery(document).ready(function() {		
	
	var slideshowtimeout;
	var slideshow = jQuery('#soplex_slideshow');
	var items  = slideshow.find('.slideshowitem');
	
	/* Basiselement der Navigasapware_slideshowtion anlegen */
	var navigation = jQuery('<div class="slideshow_nav"></div>');
	
	/* Grundlegender Einstellungen für SLideshowitems */
	items.each(function(index,element){
		jQuery(element).css('display','block');
		jQuery(element).css('opacity',0);
		jQuery(element).css('z-index',0);
		
		/* Für jedes Item ein Navigationsfeld hinzufügen*/
		var navfield = jQuery('<div class="navitem">'+(index+1)+'<div class=tip></div></div>');
		navfield.click(function(element){
			if(!jQuery(element.target).hasClass('active')){
				clearTimeout(slideshowtimeout);
				switchSlideshowItem(index);
			}
		});
		navigation.append(navfield);
	});
	
	
	/* Clear im Navigationsfeld einfügen da float und Navigation in Dombaum einfügen */
	navigation.append('<div class="clear"></div>');
	jQuery('#soplex_slideshow').append(navigation);
	
	/* Navitems ablegen */
	var navitems = navigation.find('.navitem');
	
	/* Eines der Items zufällig anzeigen */
	var randomnumber=Math.floor(Math.random()*items.length);
	jQuery(items[randomnumber]).css('opacity',1);
	jQuery(items[randomnumber]).css('z-index',1);
	jQuery(items[randomnumber]).toggleClass('active');
	jQuery(navitems[randomnumber]).toggleClass('active');
	
	// sapwareSlideShow(items,randomnumber);
	sapwareSlideShow(randomnumber);
	
	slideshow.hover(function(){
			// console.log(slideshowtimeout);
			clearTimeout(slideshowtimeout);
		},function(){
			var lastitem = slideshow.find('.slideshowitem.active');
			sapwareSlideShow(lastitem.index());
		}
	);
	
	
	function SlideshowFadeOut(index,callback){
		jQuery(items[index]).css('z-index',0);
		jQuery(items[index]).animate({'opacity': 0.0 },1500,function(){
			if(typeof callback == 'function'){
				callback(index);
			}
		});
		jQuery(items).removeClass('active');
		jQuery(navitems).removeClass('active');
	}
	
	function SlideshowFadeIn(index,callback){
		jQuery(items[index]).css('z-index',1);
		jQuery(items[index]).animate({'opacity':1},1500,function(){
			if(typeof callback == 'function'){
				callback(index);
			}
		});
		jQuery(items[index]).addClass('active');
		jQuery(navitems[index]).addClass('active');
	}

	function sapwareSlideShow(activeindex) {
		slideshowtimeout = window.setTimeout(function(){

			SlideshowFadeOut(activeindex);
			if(activeindex < items.length -1){
				newindex = activeindex + 1;
			} else {
				newindex = 0;
			}
			SlideshowFadeIn(newindex,sapwareSlideShow);
		},5000);
	}
	
	function switchSlideshowItem(newindex){
		items.stop(true,true);
		var lastitem = slideshow.find('.slideshowitem.active');
		SlideshowFadeOut(lastitem.index());
		SlideshowFadeIn(newindex);
	}
});



