/**
 * Copyright (c) 2008 Logisoft Szymon Sawicki
 *
 * All rights reserved
 *
 */

var LgsPromo = 
{
	promo_images : false,
	current_promo_image : 0,
	next_promo_image : 1,
	image_ob : false,
	promo_fade : true,
	promo_fade_value : 100,
	fade_interval : 4000,
	fade_speed : 2,
	image_width: 0,
	timer: null,
	arrow_timer: null,
	sliding: false,

	init: function(imageWidth)
	{
		LgsPromo.promo_images = new Array(true);
		this.image_width = imageWidth;
	},

	setupPromoFade: function ()
	{
		if (!document.getElementById('promo_spot') || !document.getElementById('promo_box'))
		{
			return;
		}
		promos = document.getElementById('promo_spot').getElementsByTagName('li');
		s = promos.length;
		if (s==0)
		{
		    $('#promo_box').hide();
			return;
		}
		if (s>1)
		{
			for (i=1;i<=s-1;i++)
				LgsPromo.promo_images[i] = false;
	    	LgsPromo.current_promo_image = 0;
	    	LgsPromo.promo_images[LgsPromo.current_promo_image] = true;
	    	LgsPromo.next_promo_image = 1;
	    	LgsPromo.image_ob = $('#promo_spot img').get(LgsPromo.current_promo_image);
	    	this.timer = setTimeout('LgsPromo.doSpotFade(100,0,0)',LgsPromo.fade_interval);
		}
	},
	
	startFade: function()
	{
		if(this.timer)
			clearTimeout(this.timer)
		//LgsPromo.doSpotFade(100,LgsPromo.promo_index,0);
		this.timer = setTimeout('LgsPromo.doSpotFade(100,0,0)',LgsPromo.fade_interval);
	},

	doSpotFade: function(val,hash,type) 
	{
		if (!LgsPromo.promo_fade && type==0) 
			return;
		
		LgsPromo.promo_fade_value = val;
		val -= 2;
		if (type==1) val -= 18;
		if (val>0) this.timer = setTimeout('LgsPromo.doSpotFade('+ val +','+ hash +','+ type +')',LgsPromo.fade_speed);
		if (val==90) {
			//LgsPromo.setNextHeader();
		}
		if (val<=0) {
			
			LgsPromo.sliding = true;
			current_index = LgsPromo.next_promo_image;
			next_index = (LgsPromo.next_promo_image>=LgsPromo.promo_images.length-1) ? 0 : LgsPromo.next_promo_image+1;
			var image_ob_new = $($('#promo_spot img').get(current_index));
			
			if(!current_index)
			{
				$($(image_ob_new).get(0).parentNode.parentNode).css({zIndex:'9'});
			}			
			
			// ukryj tyuły na czas slide'u 
			LgsPromo.hideAllHeaders();
			
			if(current_index==0 && LgsPromo.promo_images.length-1==LgsPromo.current_promo_image)
			{
				$('#promo_spot li').removeClass('n');
				$('#promo_spot li').addClass('v');
				for(i=0; i<LgsPromo.promo_images.length; i++)
				{
					image = $($('#promo_spot img').get(i));
					image.css({marginLeft:'-'+this.image_width*(LgsPromo.promo_images.length-i-1)+'px'});		
				}
				for(i=0; i<LgsPromo.promo_images.length; i++)
				{
					image = $($('#promo_spot img').get(i));
					if(i)
					{
						image.animate({marginLeft:this.image_width*i+'px'},'slow', function() {});
					}
					else
					{
						image.animate({marginLeft:this.image_width*i+'px'},'slow', function() {$('#promo_spot li').removeClass('v');LgsPromo.setNextPromo(1); LgsPromo.sliding = false; LgsPromo.setCurrentHeader();  });
					}
				}
			}
			else
			{
				// początkowe położenie bloków
				image_ob_new.css({marginLeft:this.image_width+'px'});
				$(image_ob_new).get(0).parentNode.parentNode.className = 'v';
	
				// przesuwanie poprzedniego obrazka
				$(LgsPromo.image_ob).css({marginLeft:'0px'});
				$(LgsPromo.image_ob).animate({marginLeft:'-'+this.image_width+'px'},'slow', function() {});
				
				// przesuwanie nowego obrazka
				image_ob_new.animate({marginLeft:'0px'},'slow', function() { LgsPromo.setNextPromo(1); LgsPromo.sliding = false; LgsPromo.setCurrentHeader(); });
			}
			
			if (type==0) this.timer = setTimeout('LgsPromo.doSpotFade(100,'+ hash +',0)',LgsPromo.fade_interval);
		}
	},

	setNextPromo: function(a) 
	{
		LgsPromo.image_ob.parentNode.parentNode.className = '';
		LgsPromo.current_promo_image = LgsPromo.next_promo_image;
		LgsPromo.next_promo_image = (LgsPromo.next_promo_image>=LgsPromo.promo_images.length-1) ? 0 : LgsPromo.next_promo_image+1;
		
		LgsPromo.image_ob = $('#promo_spot img').get(LgsPromo.current_promo_image);
		LgsPromo.image_ob.parentNode.parentNode.className = 'v';
		$(LgsPromo.image_ob.parentNode.parentNode).css({zIndex:''});
		$('#promo_spot img').get(LgsPromo.next_promo_image).parentNode.parentNode.className = 'n';
		$($('#promo_spot img').get(LgsPromo.next_promo_image)).css({marginLeft:'0px'});
		
		$('#promo_spot .header').hide();
		$('#promo_spot li.v .header').show();
		LgsPromo.promo_fade_value = 100;
		$('#promo_navi_link_'+LgsPromo.current_promo_image).attr('class', 'active');
	},

	// chowanie tytułów
	hideAllHeaders: function() 
	{
		$('#promo_box .header').hide();
		$('#promo_box #empty_header').show();
	},
	
	// ustawienie aktualnego tytułu
	setCurrentHeader: function() 
	{
		promo_header_obs = $('#promo_box .header');
		promo_header_ob = promo_header_obs.get(LgsPromo.current_promo_image);
		$('#promo_box .header').hide();
		$(promo_header_ob).show();
	},
	
	// zmiana danych w tytule
	setNextHeader: function() 
	{
		promo_header_obs = $('#promo_box .header');
		promo_header_ob = promo_header_obs.get(LgsPromo.next_promo_image);
		$('#promo_box .header').hide();
		$(promo_header_ob).show();
	},

	slideSpot: function(a,id) 
	{
		if (this.sliding || (a==0 && LgsPromo.current_promo_image==id-1)) return;
				
		LgsPromo.promo_fade = false;
		
		//$('#promo_spot img').get(LgsPromo.next_promo_image).parentNode.parentNode.className = '';
		if (a==-1) next_index = (LgsPromo.next_promo_image>1) ? LgsPromo.next_promo_image-2 : ((LgsPromo.next_promo_image!=0) ? LgsPromo.promo_images.length-1 : LgsPromo.promo_images.length-2);
		if (a==0) next_index = id-1;
		if (a==1) next_index = LgsPromo.next_promo_image;		
		//$('#promo_spot img').get(LgsPromo.next_promo_image).parentNode.parentNode.className = 'n';

		var image_ob_new = $($('#promo_spot img').get(next_index));
		
		if(!next_index)
		{
			$($(image_ob_new).get(0).parentNode.parentNode).css({zIndex:'9'});
		}			

		if (a==1)
		{
			// ukryj tyuły na czas slide'u 
			LgsPromo.hideAllHeaders();
			LgsPromo.sliding = true;
			LgsPromo.promo_fade = false;
			
			if(next_index==0 && LgsPromo.promo_images.length-1==LgsPromo.current_promo_image)
			{
				$('#promo_spot li').removeClass('n');
				$('#promo_spot li').addClass('v');
				for(i=0; i<LgsPromo.promo_images.length; i++)
				{
					image = $($('#promo_spot img').get(i));
					image.css({marginLeft:'-'+this.image_width*(LgsPromo.promo_images.length-i-1)+'px'});		
				}
				for(i=0; i<LgsPromo.promo_images.length; i++)
				{
					image = $($('#promo_spot img').get(i));
					if(i)
					{
						image.animate({marginLeft:this.image_width*i+'px'},'slow', function() {});
					}
					else
					{
						image.animate({marginLeft:this.image_width*i+'px'},'slow', function() {$('#promo_spot li').removeClass('v');LgsPromo.changeSpot(a,id); LgsPromo.sliding = false; });
					}
				}
			}
			else
			{
				image_ob_new.css({marginLeft:this.image_width+'px'});
				$(image_ob_new).get(0).parentNode.parentNode.className = 'v';
			
				// przesuwanie poprzedniego obrazka
				$(LgsPromo.image_ob).css({marginLeft:'0px'});
				$(LgsPromo.image_ob).animate({marginLeft:'-'+this.image_width+'px'},'slow', function() {});
			
				// przesuwanie nowego obrazka
				image_ob_new.animate({marginLeft:'0px'},'slow', function() {LgsPromo.changeSpot(a,id); LgsPromo.sliding = false; });
			}
		}
		
		if (a==-1)
		{
			// ukryj tyuły na czas slide'u 
			LgsPromo.hideAllHeaders();
			LgsPromo.sliding = true;
			LgsPromo.promo_fade = false;
			
			if(next_index==LgsPromo.promo_images.length-1 && LgsPromo.current_promo_image==0)
			{
				$('#promo_spot li').removeClass('n');
				$('#promo_spot li').addClass('v');
				for(i=0; i<LgsPromo.promo_images.length; i++)
				{
					image = $($('#promo_spot img').get(i));
					image.css({marginLeft:this.image_width*(i+1)+'px'});		
				}
				for(i=0; i<LgsPromo.promo_images.length; i++)
				{
					image = $($('#promo_spot img').get(i));
					if(i)
					{
						image.animate({marginLeft:'-'+this.image_width*(LgsPromo.promo_images.length-i-1)+'px'},'slow', function() {});
					}
					else
					{
						image.animate({marginLeft:'-'+this.image_width*(LgsPromo.promo_images.length-i-1)+'px'},'slow', function() {$('#promo_spot li').removeClass('v');LgsPromo.changeSpot(a,id); LgsPromo.sliding = false; });
					}
				}
			}
			else
			{
				image_ob_new.css({marginLeft:'-'+this.image_width+'px'});
				$(image_ob_new).get(0).parentNode.parentNode.className = 'v';
			
				// przesuwanie poprzedniego obrazka
				$(LgsPromo.image_ob).css({marginLeft:'0px'});
				$(LgsPromo.image_ob).animate({marginLeft:this.image_width+'px'},'slow', function() {});
			
				// przesuwanie nowego obrazka
				image_ob_new.animate({marginLeft:'0px'},'slow', function() {LgsPromo.changeSpot(a,id); LgsPromo.sliding = false; });
			}
		}
		
		
	},

	changeSpot: function(a,id) 
	{
		if (a==0 && LgsPromo.current_promo_image==id-1) return;
		$('#promo_spot img').get(LgsPromo.next_promo_image).parentNode.parentNode.className = '';
		if (a==-1) LgsPromo.next_promo_image = (LgsPromo.next_promo_image>1) ? LgsPromo.next_promo_image-2 : ((LgsPromo.next_promo_image!=0) ? LgsPromo.promo_images.length-1 : LgsPromo.promo_images.length-2);
		if (a==0) LgsPromo.next_promo_image = id-1;
		$('#promo_spot img').get(LgsPromo.next_promo_image).parentNode.parentNode.className = 'n';
		//LgsPromo.promo_fade = true;
		LgsPromo.setNextPromo(1);
		LgsPromo.setCurrentHeader();
	},
	
	setPromoFade: function(value)
	{
		this.promo_fade = value;
	},
	
	hideArrows: function()
	{
		//if(LgsPromo.arrow_timer)
			//clearTimeout(LgsPromo.arrow_timer);
		//setTimeout('$("#promo_navi").hide()',1000);
		$("#promo_navi").hide();
		$("#promo_navi_r").hide();
	},
	
	showArrows: function()
	{
		//if(LgsPromo.arrow_timer)
			//clearTimeout(LgsPromo.arrow_timer);
		$("#promo_navi").show();
		$("#promo_navi_r").show();
	},
}
