/*
 * 
 *@version $Id: appleLike.js,v 1.2 2010-05-17 09:39:19 dsp Exp $
 *TODO: EFFECT; 
 */
window.addEvent('domready', function(){

	altBigImg = function(slide){
		if(!slide)
			return;
		if(!slide.small)
			slide.small= slide.getElement('.small');
		slide.small.setStyle('display','none');
		if(!slide.big)
			slide.big= slide.getElement('.big')
			slide.big.setStyle('display','block');
	}
	altSmallImg = function(slide){
		if(!slide)
			return;
		if(!slide.small)
			slide.small= slide.getElement('.small')
		slide.small.setStyle('display','block');
		if(!slide.big)
			slide.big= slide.getElement('.big')
		slide.big.setStyle('display','none');
	}


	$$('.sshAppleLike').each(function(mainSlide){
		var tag = mainSlide.className;
		var loop = true;



		var regex = /loop=([0-9]*)/;
		var match = regex.exec(tag);
		if(match)
			loop = parseInt(match[1]) == 1;


		var slide = mainSlide.getFirst();
		slide.loop = loop;
		slide.style.overflow = 'hidden'; //Overflow auto fix for IE8

		var regex = /slideShowHeight=([0-9]*)/;
		var match = regex.exec(tag);
		slide.height = parseInt(match[1]);
		
		var regex = /zoomZoneAlpha=([0-9]*)/;
		var match = regex.exec(tag);
		slide.zoomZoneAlpha = parseInt(match[1]);


		regex = /slideShowWidth=([0-9]*)/;
		match = regex.exec(tag);
		slide.width =parseInt(match[1]);


		regex = /slideShowBigWidth=([0-9]*)/;
		match = regex.exec(tag);
		slide.bigWidth=parseInt(match[1]);

		regex = /slideShowImgWitdh=([0-9]*)/;
		match = regex.exec(tag);
		slide.imgWidth = parseInt(match[1]);
		slide.content = slide.getElement('.sshAppleLikeSlider');

		slide.setStyles({'width': slide.width+'px','height': slide.height+"px"});
		mainSlide.setStyles({'width': slide.width+'px','overflow': "hidden",'position':'relative'});
		slide.getFirst().setStyles({'width': slide.width+'px','height': slide.height+"px"});
		slide.scroll =mainSlide.getElement('.sshAppleLikeScroll');
		var slides = slide.getElements('.sshAppleLikeItem');


		var scroll =  slide.scroll;
		scroll.setStyles({'width': slide.width+'px'});
		scroll.bar = scroll.getElement('.sshAppleLikeBar');
		var barWidth = ( slide.width /slides.length).round();

		var slideWidth =  slide.imgWidth ;

		slide.content.setStyle('margin-left','0px');
		var baseLeft = slides[0].getLeft();
		var marge = parseInt(slides[0].getStyle('margin-left'));
		marge += parseInt(slides[0].getStyle('margin-right'));
		marge += parseInt(slides[0].getStyle('padding-left'));
		marge += parseInt(slides[0].getStyle('padding-right'));



		slide.content.setStyles({'width': ((slideWidth+marge)*slides.length)*3 +'px'});

		scroll.bar.setStyles({'height': scroll.getSize().size.y+'px','width':barWidth+'px'});
		var baseMargin = (slide.width /2) ;
		baseMargin -=  (slide.bigWidth+marge) ;

		baseMargin += (slide.bigWidth+marge) /3;
		baseMargin += marge;
		
		baseMargin += slide.zoomZoneAlpha;
		
		if(window.ie6)
			baseMargin += (baseMargin *40)/100; 

		slide.content.setStyle('margin-left',baseMargin+'px');
		
		var step = slides.length-1;

		var afterLeft =  slides[0].getLeft();
		
		
		if(	slide.loop){
			var viewImgs = (((slide.width-baseMargin)-(slide.bigWidth+marge))/(slideWidth+marge)).round() ;
			if(viewImgs < slides.length ){
				var countElm = (slides.length-viewImgs);
				
				for(;countElm <slides.length;++countElm){
					var toCopy = slides[countElm].clone(true);
					toCopy.inject(slide.content,'top');
					altSmallImg(toCopy);
				}
				
				countElm = 0;
				for(;countElm<viewImgs;++countElm){
					var toCopy = slides[countElm].clone(true);
					altSmallImg(toCopy);
					toCopy.inject(slide.content);
					

				}
			}
		}//slide.loop
		
altBigImg(slides[0]);

		scroll.slider = new Slider(scroll.getElement('.sshAppleLikeScrollBar'),scroll.bar,{'steps':step,onChange:function(index){

			var margin =parseInt(slide.content.getStyle('margin-left'));

			if(scroll.slider.last < index){
				var i;
				for(i=scroll.slider.last;i<=scroll.slider.step;++i){

					var elmLeft =  slides[i].getLeft();
					var moveOfLeft = (elmLeft - afterLeft);
					margin -= ((moveOfLeft ) );
					slide.content.setStyle('margin-left',margin+'px');

					altSmallImg(slides[i]); }
			}else{
				var i;
				for(i=scroll.slider.last;i>=index;i--){
					var elmLeft =  slides[i].getLeft();


					var moveOfRight = (afterLeft - elmLeft) ;
					margin += (moveOfRight );
					slide.content.setStyle('margin-left',margin+'px');
					altSmallImg(slides[i]); }

			}
			altBigImg(slides[index]);


			scroll.slider.last = index; 



		}});
		var slider = scroll.slider;
		scroll.slider.last =0;
		if(!slide.loop){

			
			
			var elmLeft = slides[0].getLeft();
			var i = 0;
			while(elmLeft > baseLeft && i< step ){
				slider.set( ++i);
				elmLeft = slides[0].getLeft();
			}
		}else
			slider.set( 0);


		var left =scroll.getElement('.sshAppleLikeScrollLeft');
		var right =  scroll.getElement('.sshAppleLikeScrollRight');



		left .addEvent('click',function(e){

			slider.set( scroll.slider.last-1);

		});
		right.addEvent('click',function(e){
			slider.set(scroll.slider.last+1);
		});

		mainSlide.getElements('a.popup').each(function(a){

			a.addEvent('click',function(e){
				e.stop();

				window.open(e.relatedTarget.src,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
			})})
	});
});
