// @2011 geomix development

function initTeaser(){
				//alert("initTeaser: ");
				//jQuery.noConflict();

(function($) { 
  $(function() {
    	var isie = null;
		if($.browser.msie){
			//alert("isie");
			isie = true;
		}
		var xPos = 0;
		var yPos = 0;
		var num = 0;
		var t_height = 235;
		var t_width = 725;
		var numProducts = 3;
		var direction = "h"; //v | h
		var topProductsToLoad = 3;
		var showTP = false;
		var current;
		var currentIndex = 0;
		var showDescription = false;
		var mainLinkOnImage = true;
		var navigation = "arrow"; //number | arrow
		var tar = $(document.createElement('div')).attr('id',"teaser-wrapper");
		var preload;
		var autoslide;
		var slideinterval;
		
		if(slideinterval && slideinterval>0 && teasers.length>1){
			autoslide =true;
		}
		//alert("interval="+slideinterval);
		
		tar.css({'position':'absolute'});
		$('#teaser-container').append(tar);
		
		for(var i=0; i<teasers.length; i++){
			$(document.createElement('div')).attr('id','t'+i).attr('class', 'teaser').appendTo(tar);
			var newTeaser = $('#t'+i);
			if(direction == "h"){
				newTeaser.css({"float":"left"});
			}
			var bgpic_container = $('<div class="bg-container"></div>');
			bgpic_container.css({'position':'absolute','top':'0px', 'left':'0px', 'z-index':'1'});
			
			bgpic_container.hide();
			//bgpic_container.fadeOut(10);
			
			var bgpic = generateImage(teasers[i].pic, true); //false
			
			if(mainLinkOnImage && teasers[i].link && teasers[i].link!=""){
				
				var href = $('<a href="'+teasers[i].link+'" target="_self"></a>');
				
				bgpic_container.append(href);
				href.append(bgpic);
			} else {
				bgpic_container.append(bgpic);
			}
			
			newTeaser.append(bgpic_container);
			var teaserContent = generateContent(teasers[i]);
			newTeaser.append(teaserContent);
			xPos+=newTeaser.width();
			yPos+=t_height;
		}
		
		if(teasers.length>1){
			var navi = generateNav(tar);
			$('#teaser-container').append(navi);
			hideNav(navi);
		}
		
		var _num;
		if(!num || num==""){
			_num=0;	
		} else {
			_num = num;
		}
			
		var iv;
		if(autoslide){
			updateNav();
			currentIndex=1;
			var tar = $('.teaser-nav').find('.n'+_num);
			iv = setInterval(slide, slideinterval);
		} else {
			showSelected();
		}
		
		
		function showSelected(num){
			
			var tar = $('.teaser-nav').find('.n'+_num);
			activateTeaser(tar);
			
		}
		function slide(){
			var tar;
			if(currentIndex>=0 && currentIndex<teasers.lenght-1){
				_num = 1;
			} else {
				_num = 0;
			}
			if(navigation!="arrow"){
				tar = $('.teaser-nav').find('.n'+_num);
			} else {
				tar = $('.teaser-nav').find('.n'+_num);
			}
			
			if(currentIndex==teasers.length){
				currentIndex=0;
			}
			activateTeaser(tar);
			currentIndex++;
		}
		function updateNav()  {
			if(currentIndex>=0 && currentIndex<teasers.length-1){ 
				$('.tnav.fwd').show();
				$('.tnav-fwd-bg').show();
			} else {
				$('.tnav.fwd').hide();
				$('.tnav-fwd-bg').hide();
			}
			if(currentIndex>0 && teasers.length>1){
				$('.tnav.back').show();
				$('.tnav-back-bg').show();
			} else {
				$('.tnav.back').hide();
				$('.tnav-back-bg').hide();
			}
		
		}
		
		function generateImage(url, _preload){
			preload = _preload;
			
			var img = new Image();
  			$(img)
    			.load(function () {
   			   		$('#loader')
       		 		.removeClass('loading')
       		 		.append(this);
       		 		
					if(preload){
						//alert("img loaded");
						$(this).parent().addClass("loaded");
						//showTopproducts($(this));
							$(this).parent().parent().fadeIn(1000);
						$(this).parent().fadeIn(1000);
					} else {
						//alert("no preload");
						$(this).parent().fadeIn(1000);
					}
					
  				})
				.error(function () {
      				alert("Bild konnte nicht geladen werden!");
    			})
   		 	
				if(preload){
					//alert("preload pic: "+url);
					$(img).attr('src', url);
				}
    		
			return img;
		}

		function generateNav(){
			var nav = $('<div class="teaser-nav"></div>');
			var nav_posY = 0;
			var ul = $(document.createElement('ul'));
			nav.append(ul);
			var j;
			if(navigation=="number"){
				for(j=0; j < teasers.length; j++){
					var li = $('<li class="tnav n'+j+'"></li>');
					li.append($('<span class="navnum">'+(j+1)+'</span>'));
					ul.append(li);
					li.mousedown(function(){activateTeaser($(this))});
				}
			} else {
				ul.append('<div class="tnav-link"></div>');
			
				var li_back_bg = $('<div class="tnav-back-bg"></div>');
				li_back_bg.css({'height':t_height+'px'});
				ul.append(li_back_bg);
				
				
				var li_back = $('<li class="tnav back n0"></li>');
				li_back.append($('<span class="navnum">Back</span>'));
				ul.append(li_back);
				li_back.mousedown(function(){back($(this))});
				li_back.mouseover(function(){li_back_bg.css({'opacity':'.6'})});
				li_back.mouseleave(function(){li_back_bg.css({'opacity':'.3'})});
				
				var li_fwd_bg = $('<div class="tnav-fwd-bg"></div>');
				li_fwd_bg.css({'height':t_height+'px'});
				ul.append(li_fwd_bg);
				
				var li_fwd = $('<li class="tnav fwd n1"></li>');
				li_fwd.append($('<span class="navnum">Forward</span>'));
				ul.append(li_fwd);
				li_fwd.mousedown(function(){forward($(this))});
				li_fwd.mouseover(function(){li_fwd_bg.css({'opacity':'.6'})});
				li_fwd.mouseleave(function(){li_fwd_bg.css({'opacity':'.3'})});
				
				$('#teaser-container').mouseover(function(){showNav(nav)});
				$('#teaser-container').mouseleave(function(){hideNav(nav).stop()});
				
				
				
			}
			
			return nav;
		}
		function showNav(tar){
			tar.fadeIn(300);
		}
		function hideNav(tar){
			tar.fadeOut(300);
		}
		
		function back(tar){
			currentIndex--;
			
			if(autoslide){
				autoslide=false;
				currentIndex--;
				clearInterval(iv);
			}
			activateTeaser(tar);
		}
		function forward(tar){
			currentIndex++;
			
			if(autoslide){
				autoslide=false;
				currentIndex--;
				clearInterval(iv);
			}
			activateTeaser(tar);
		}

		function activateTeaser(tar){
			
			current = tar;

			var ahref = $('#t'+currentIndex).find('.bg-container').find('a');
				
			var link = ahref.attr("href");
			//alert("link="+link);
			if(link && link!=""){
				$('.tnav-link').css({"cursor":"pointer"});
				$('.tnav-link').mousedown(function(){window.location=link;});
			} else {
				$('.tnav-link').unbind('mousedown');
				$('.tnav-link').css({"cursor":"default"});
				//alert("unbind");
			}
			//$('#t'+currentIndex).find('.bg-container').mousedown(function(){window.location=link;});	
			
			var navElements = tar.parent().find("li").size();
			
			tar.parent().find("li").each(function(){
				if($(this).hasClass("active") == true){
					$(this).removeClass("active");
				}
			});
			tar.addClass("active");
			
			var ow = -0;
			var t_posX = 0;
			var t_posY = -(t_height*tar.index());
			//alert("currentIndex="+currentIndex);
			
			if(direction == "h"){
				$('#teaser-wrapper').css({"width":t_width*teasers.length});
				t_posX = -(t_width*currentIndex);
				
				
				$('#teaser-wrapper').stop().animate(
						   {left: parseInt($('#teaser-wrapper').css('left'), t_posX) == t_posX ? ow : t_posX},
						   'slow',
						   "easeInOutExpo");
			} else {
			
				$('#teaser-wrapper').stop().animate(
						   {top: parseInt($('#teaser-wrapper').css('top'), t_posY) == t_posY ? ow : t_posY},
						   'slow',
						   "easeInOutExpo");
			}
			
			
			var index = tar.index();
			
			
			var theimage = $('#t'+index).find('.bg-container').find('img');
			//$('#t'+index).find('.bg-container').fadeOut(100);
			if(!preload){
				alert("dont preload");
				theimage.attr('src', teasers[index].pic);
			}
			/*
			var obj = teasers[tar.index()];
			
			if(obj && $('#t'+current.index()).find('.teaser_produkte').hasClass('active') == false) {
				 if(showTP){
				 var products = generateTopProducts(obj);
				 var tc = $('#t'+tar.index()).find('.teaser-content');
				 tc.append(products);
				 }
			}
			*/
			updateNav();
		}
		function showTopproducts(img){
			
			var tc = $('#t'+current.index()).find('.teaser-content').find('.ppic_container.loaded');
			var tp = $('#t'+current.index()).find('.teaser_produkte');
			if(tc.length==topProductsToLoad){
				var pbox = $('#t'+current.index()).find('.teaser-content').find('.teaser_produkt_box');
				//alert("pbox.length="+pbox.length);
				var _delay=200;
				for(var i=0; i < pbox.length; i++){
					$(pbox[i]).delay(_delay).fadeIn(500);
					_delay+=_delay;
				}
				tp.addClass('active');
			}
		}
		function generateTopProducts(obj){
			//alert("generateTopProducts:");
			var tpc = $('<div class="teaser_produkte"></div>');
			for(var p=0; p < obj.products.length; p++){
				var pObj = obj.products[p];
				var p_container = $('<div class="teaser_produkt_box"></div>');
				var piccontainer = $('<div class="ppic_container"></div>');
				var ppic = generateImage(pObj.pic, 'preload');
				piccontainer.append(ppic);
				p_container.append(piccontainer);
				p_container.append($('<h4>'+pObj.title+'</h4>'));
				p_container.append($('<p>'+pObj.description+'</p>'));
			 	p_container.appendTo(tpc);
				p_container.hide();
			}
			
			return tpc;
		}
		function generateContent(obj){
			//alert("addTeaserContent: "+tar);
			var container = $('<div class="teaser-content"></div>');
			container.css({'z-index':'2','position':'relative','display':'inline-block','width':'100%'});
			if(showDescription){
				container.append($('<h1>'+obj.title+'</h1>'));
				var h2split = obj.description.split('#');
				container.append($('<h2>'+h2split[0]+'</h2>'));
				container.append($('<p>'+h2split[1]+'</p>'));
			}
			if(mainLinkOnImage){
			
			} else {
				container.append(generateButton(obj));
			}
			return container;
			
		}
		
		function generateButton(obj){
			var btn = $('<div class="button"></div>');
			if(obj.link && obj.link!=""){
				btn.append($('<div class="btn_l"></div>'));
				var btn_m = $('<div class="btn_m"></div>');
				btn_m.append($('<a href="'+unescape(obj.link)+'" title="Zu den Angeboten" target="_self">zu den Angeboten</a>'));	
				btn.append(btn_m);
				btn.append($('<div class="btn_r"></div>'));
			}
			return btn;
		}
		
		
		
  });
})(jQuery);
	
			}
			window.onload = function(){
				if(teasers.length>0){
					initTeaser();
				}
			}
