jQuery(document).ready(function(){
	
	var nextProduct,klasse,name, currentSite, nextSite,
	bg = jQuery('#bg'),
	slider = jQuery('#slider'),
	seiten = slider.children('.seite'),
	pfeilLinks = jQuery('#pfeil-links'),
	pfeilRechts = jQuery('#pfeil-rechts');
	currentArticle = seiten.filter('.first');
	
	seiten.each(function(){
	
		name = jQuery(this).attr('id');
		bg.append('<div class="'+name+'" ></div>')	
	
	});
	
	init();
	
	function init(){
		jQuery('#seite-1').addClass('cur');
		seiten.not('.cur').hide(); //.animate({opacity: 0},0);
		startTimer();
	}
	
	//jQuery('.page, #pfeil-links,#pfeil-rechts').bind({	
	jQuery('#pfeil-links,#pfeil-rechts').bind({								  
	mouseenter: function(){
			slider.stopTime('slideshow');
		},
	mouseleave: function(){
			startTimer();
		}
	});
	
	/* BANNERWECHSEL */	
	
	var banner = jQuery('#bg > div');
	var anzahlBanner = banner.length;
	var aktuell = seiten.filter('.cur').attr('id');
		
	if(anzahlBanner > 1) banner.not('.'+aktuell).animate({opacity:0}, 0);
	
	pfeilRechts.bind({
					 
					 click: function(){
						 	
							currentProdukt = seiten.filter('.cur');
							nextProdukt = (currentProdukt.next().length == 0) ? seiten.filter('.first') : currentProdukt.next();
							currentProdukt.removeClass('cur').stop().hide();
							nextProdukt.addClass('cur').stop().show();	
							klasse = nextProdukt.attr('id');
							
							if(klasse){
								changeBanner(klasse);
							}
						  }, //end function
	});
	
	pfeilLinks.bind({
					
					 click: function(){
						 	currentProdukt = seiten.filter('.cur');
							prevProdukt = (currentProdukt.prev().length == 0) ? seiten.filter('.last') : currentProdukt.prev();
							currentProdukt.removeClass('cur').stop().hide();
							prevProdukt.addClass('cur').stop().show();
							klasse = prevProdukt.attr('id');
							
							if(klasse){
								changeBanner(klasse);
							}
						  } //end function
	});
	
	function changeBanner(klasse){
		if(anzahlBanner > 1){
			banner.not('.'+klasse).stop().animate({opacity:0}, 500);
			banner.filter('.'+klasse).stop().animate({opacity:1}, 500);
		}
	}
	
	function startTimer(){
		slider.everyTime(9000, 'slideshow', function(){
			
			currentSite = jQuery(this).children('.cur');
			nextSite = (currentSite.hasClass('last')) ? jQuery(this).children('.first') : currentSite.next();			
			activate(nextSite);	
				 
		});
	}
	
	function activate(site){ //banner einfaden, Hintergrund ändern
	
		changeBanner(site.attr('id'));
		site.siblings('.cur').removeClass('cur').hide(); //alle banner ausser dem eigentlichen sollen ausfaden
		site.addClass('cur').show(); //nur der richtige banner soll einfaden
		
	}
	
	/****** PRELOADER ************************************************************************************/
	
	
	var bgs = jQuery('#bg > div'),
		baseUrl = 'http://' + window.location.host,
		anzahlBgs = bgs.length,
		images = [];
	
	
	
	if( anzahlBgs > 0){
		
		bgs.each(function(i){ //alle BGS in images laden
			
			var img = jQuery(this).css('background-image');
			
			if(img.substr(4,1) !== '"' && img.substr(4,1) !== '\''){
				var img = img.substring(4); 
				var imgUrl = img.substring(0,img.length-1); 
			}else{ //Firefox mach Anführungszeichen in url
				var img = img.substring(5); 
				var imgUrl = img.substring(0,img.length-2); 
			}
			//console.log(imgUrl);
			images.push(imgUrl);
			
		});
		
		/*jQuery('img').each(function(i){ // alle <img> in images laden
			
			var src = jQuery(this).attr('src'); 
			
			var srcUrl = (src.substr(0,1) == '/')? baseUrl + src : src;
			//console.log(srcUrl);
			images.push(srcUrl);
			
		});*/
		
		images = removeDuplicates(images);
		
		var maxImages = images.length;
		var prozent = 0;
		var geladen = 0;	
		
		//console.log(maxImages);
		
		for(var i = 0; i < maxImages; i++){
			// alle Images, die für die Seite gebraucht werden in ein Array packen und fiktiv reinladen. (jeden Bild wird vom Browser sowieso nur einmal reingeladen)
			jQuery('<img>').attr('src', images[i]).load(function(){ 
																 geladen++; 
																 prozent = (geladen/maxImages)*100; 
																 jQuery('#layer p').text(Math.round(prozent)+'%');  
																 if(geladen >= maxImages) jQuery('#layer').fadeOut();  
																 });
		}
	
	}else{ //endif BG check
		//jQuery('#layer').fadeOut();
	}
	
	function removeDuplicates(hasDup){
		
		var noDup = new hasDup.constructor;
		
		if(noDup.push){
			noDup[0] = hasDup[0];
		
			for(i=1;i<hasDup.length;i++){
				for(j=0;j<noDup.length;j++)
					if(hasDup[i] == noDup[j])
						break;
				if(j<noDup.length) continue;
				
				noDup.push(hasDup[i]);
			}
		}
		else{
			noDup = hasDup.charAt(0);
				
			for(i=1;i<hasDup.length;i++){
				for(j=0;j<noDup.length;j++)
					if(hasDup.charAt(i) == noDup.charAt(j))
						break;
				if(j<noDup.length) continue;
		
				noDup = noDup.concat(hasDup.charAt(i));
			}
		}
		
		return noDup;
	}
	
});

