if(typeof(PB)=="undefined"){PB={};}
PB.ProductBrowser={
	trackWidth:540,
	productWidth:210,
	shownProductsCount:3,
	isSliding:false,
	currentProductId:1,
	init:function(){
		this.productCount = $$('#pb_productlist li').length;
		if (this.productCount > this.shownProductsCount){
			$('pb_whitemask').innerHTML = "<ul id=\"pb_productnamelistwhite\">" + $('pb_productnamelist').innerHTML + "</ul>";
			
			$('pb_scroll_left').style.display = "block";
			
			$('pb_scroll_right').style.display = "block";
			
			$('pb_navcontainer').style.display = "block";
			
			this.productNameWidth = this.trackWidth/this.productCount;
			this.sliderWidth = this.productNameWidth*this.shownProductsCount;
			$('pb_whitemask').style.width = $('pb_slider').style.width = this.sliderWidth + "px";
		
			this.productListLis = $$('#pb_productlist li');
			
			this.productNameListanchors = $$('#pb_productnamelist li');
			for (i=0; i<this.productNameListanchors.length; i++){
				this.productNameListanchors[i].myId = i;
				this.productNameListanchors[i].style.width = Math.floor(this.trackWidth/this.productCount)+"px";
			}
		
			this.productNameListWhiteanchors = $$('#pb_productnamelistwhite li');
			for (i=0; i<this.productNameListWhiteanchors.length; i++){
				this.productNameListWhiteanchors[i].myId = i;
				this.productNameListWhiteanchors[i].style.width = Math.floor(this.trackWidth/this.productCount)+"px";
			}
		
			this.productNameListanchors.each(function(c){
				Event.observe(c,'mouseup',function(e){
					PB.ProductBrowser.animateSlide(c.myId);
				});
			});
		
			this.productNameListWhiteanchors.each(function(c){
				Event.observe(c,'mouseup',function(e){
					PB.ProductBrowser.animateSlide(c.myId);
				});
			});
		
			Event.observe('pb_scroll_left','mousedown',function(){
				PB.ProductBrowser.left();
			});
		
			Event.observe('pb_scroll_right','mousedown',function(){
				PB.ProductBrowser.right();
			});
			
			this.productListLis.each(function(c){
				Event.observe(c,'mouseover',function(e){
					c.className = "over";
				});
			});
			
			this.productListLis.each(function(c){
				Event.observe(c,'mouseout',function(e){
					c.className = "";
				});
			});
		}
	},
	animateSlide:function(toProduct){
		if(toProduct > PB.ProductBrowser.productCount - PB.ProductBrowser.shownProductsCount + 1){
			toProduct = PB.ProductBrowser.productCount - PB.ProductBrowser.shownProductsCount + 1;
		} else if(toProduct<=1) {
			toProduct = 1;
		}

		if (!PB.ProductBrowser.isSliding && toProduct != PB.ProductBrowser.currentProductId){
			var productStopPoint = - (toProduct-1) * PB.ProductBrowser.productWidth;
			var sliderStopPoint = (toProduct-1) * PB.ProductBrowser.productNameWidth;
			
			window.clearInterval(PB.ProductBrowser.animationId);
			
			PB.ProductBrowser.isSliding = true;
			
			PB.ProductBrowser.animationId=window.setInterval(function(){
				var sliderPos=parseInt($('pb_productlist').getStyle('left'))||0;
				var handlePos=parseInt($('pb_slider').getStyle('left'))-2||0;
				var x=PB.ProductBrowser.calculateDecel(sliderPos,productStopPoint);
				var sx=PB.ProductBrowser.calculateDecel(handlePos,sliderStopPoint);
				$('pb_productlist').style.left=x+"px";
				$('pb_slider').style.left=(sx+2)+"px";
				$('pb_whitemask').style.left=(sx+2)+"px";
				$('pb_productnamelistwhite').style.left=-sx+"px";
				if(x==productStopPoint){
					window.clearInterval(PB.ProductBrowser.animationId);
					PB.ProductBrowser.isSliding=false;
					PB.ProductBrowser.currentProductId = toProduct;
					$('pb_productlist').style.left=productStopPoint+"px";
					$('pb_slider').style.left=(sliderStopPoint+2)+"px";
					$('pb_whitemask').style.left=(sliderStopPoint+2)+"px";
					$('pb_productnamelistwhite').style.left=-sliderStopPoint+"px";
				}
			},30);
		}

	},
	
	left:function(){
		PB.ProductBrowser.animateSlide(PB.ProductBrowser.currentProductId - 1);
	},
	
	right:function(){
		PB.ProductBrowser.animateSlide(PB.ProductBrowser.currentProductId + 1);
	},
	
	calculateDecel:function(from,to){
		var n=from-Math.floor((from-to)*.4);
		if(Math.abs(from-to)<4)return to;
		else return n;
	}
}
/*
if(typeof(AC)=="undefined"){AC={};}

AC.ProductBrowser={
productSlider:null,
sliderVal:0,
animationId:false,
viewportWidth:946,
contentWidth:946,
categories:[
{id:'pb-cat1',offset:0},
{id:'pb-cat2',offset:0.32}
],
arrowScrollAmount:0.24,
isSliding:false,
lastX:0.32,
isMouseDown:false,
dif:0,
overlap:0,
offsetImageWidth:127,
sliderOffset:291,
offsetContentWidth:-946,
clicked:false,
startIndex:0,

isIpScroll:false,
hasIpDragged:false,
init:function(setupArgs){
if(typeof(setupArgs.categories)!='undefined')this.categories=setupArgs.categories;
if(typeof(setupArgs.imageOverlap)!='undefined')this.overlap=setupArgs.imageOverlap;
if(typeof(setupArgs.sliderCentering)!='undefined')this.sliderOffset=setupArgs.sliderCentering;
if(typeof(setupArgs.initialCategory)!='undefined')this.startIndex=setupArgs.initialCategory;
if(typeof(setupArgs.arrowScrollAmount)!='undefined')this.arrowScrollAmount=setupArgs.arrowScrollAmount;

$('pb-productslidertrack').style.visibility="visible";
$('pb-productbrowsercontainer').style.overflow="hidden";

this.viewportWidth=$('pb-productbrowsercontainer').getWidth();
this.offsetImageWidth=$$('#pb-productslider .pb-productimage')[0].getWidth()-this.overlap;
this.contentWidth=this.offsetImageWidth*$$('#pb-productslider .pb-productimage').length;
this.offsetContentWidth=-1*(this.contentWidth-this.viewportWidth);

this.productSlider=new Control.Slider('pb-productsliderhandle','pb-productslidertrack',{
axis:'horizontal'
});



AC.ProductBrowser.animateSlide(this.categories[this.startIndex].offset);


this.productSlider.options.onChange=function(value){
$('pb-productsliderhandleimage').style.left=$('pb-productsliderhandle').style.left;

if(AC.ProductBrowser.isThrow&&!AC.ProductBrowser.isSliding){
AC.ProductBrowser.isSliding=true;
AC.ProductBrowser.isThrow=false;

var mod=value+AC.ProductBrowser.throwMod;
if(mod<0)mod=0;
if(mod>1)mod=1;
AC.ProductBrowser.animateSlide(mod);
}
else if(!AC.ProductBrowser.isSliding&&value){
AC.ProductBrowser.isSliding=true;
AC.ProductBrowser.animateSlide(value);
}
};

this.productSlider.options.onSlide=function(value){
$('pb-productsliderhandleimage').style.left=$('pb-productsliderhandle').style.left;
if(value&&!AC.ProductBrowser.isSliding){
AC.ProductBrowser.isSliding=true;
AC.ProductBrowser.isThrow=false;
if(AC.ProductBrowser.isMouseDown){
AC.ProductBrowser.dif=value-AC.ProductBrowser.lastX;
AC.ProductBrowser.lastX=value;


if(AC.ProductBrowser.dif>0.05){
AC.ProductBrowser.isThrow=true;
AC.ProductBrowser.throwMod=0.2;
}
else if(AC.ProductBrowser.dif<-0.04){
AC.ProductBrowser.isThrow=true;
AC.ProductBrowser.throwMod=-0.2;
}
}

var w=AC.ProductBrowser.offsetContentWidth;
$('pb-productslider').style.left=w*value+"px";

this.sliderVal=value;
AC.ProductBrowser.lastX=value;
AC.ProductBrowser.colorCats();
AC.ProductBrowser.isSliding=false;
}

Element.setStyle($('pb-productbrowsercontainer'),{overflow:"hidden"});
};

Event.observe('pb-productslidertrack','mousedown',function(e){
var o=e.offsetX||e.layerX;
if(Event.element(e).id=='pb-productslidertrack'&&o<100)AC.ProductBrowser.animateSlide(0);
});
Event.observe('pb-leftarrow','mousedown',function(){
AC.ProductBrowser.left();
});
Event.observe('pb-rightarrow','mousedown',function(){
AC.ProductBrowser.right();
});

Event.observe('pb-productsliderhandle','mousedown',function(){
AC.ProductBrowser.isMouseDown=true;
$('pb-productsliderhandle').style.zIndex="5";
});

Event.observe('pb-productsliderhandle','mouseup',function(){
AC.ProductBrowser.isMouseDown=false;
});

AC.ProductBrowser.categories.each(function(c){
Event.observe($(c.id),'mouseup',function(e){
AC.ProductBrowser.animateSlide(c.offset);
});
});
},

animateSlide:function(toX){

if(toX>1)toX=1;
if(toX<0)toX=0;
AC.ProductBrowser.sliderVal=toX;
window.clearInterval(AC.ProductBrowser.animationId);
var w=AC.ProductBrowser.offsetContentWidth;
var stopPoint=w*toX;

var sliderStopPoint=(Math.round(AC.ProductBrowser.viewportWidth-AC.ProductBrowser.sliderOffset)*toX);

AC.ProductBrowser.isSliding=true;
AC.ProductBrowser.animationId=window.setInterval(function(){
var sliderPos=parseInt($('pb-productslider').getStyle('left'))||0;
var handlePos=parseInt($('pb-productsliderhandle').getStyle('left'))||0;
var x=AC.ProductBrowser.calculateDecel(sliderPos,stopPoint);
var sx=AC.ProductBrowser.calculateDecel(handlePos,sliderStopPoint);
$('pb-productslider').style.left=x+"px";
$('pb-productsliderhandle').style.left=sx+"px";
$('pb-productsliderhandleimage').style.left=sx+"px";
AC.ProductBrowser.colorCats();

if(x==stopPoint){
window.clearInterval(AC.ProductBrowser.animationId);
AC.ProductBrowser.isSliding=false;
}
},30);

},

colorCats:function(){
var sliderX=parseInt($('pb-productsliderhandle').getStyle('left'))+(($('pb-productsliderhandle').getWidth()-20)/2);
AC.ProductBrowser.categories.each(function(c){
var left=parseInt($(c.id).getStyle('left'))
var clr=Math.ceil((Math.min(sliderX,left)/Math.max(sliderX,left))*10);
$(c.id).className='pb-catclass'+clr;
});
},

left:function(){
AC.ProductBrowser.animateSlide(AC.ProductBrowser.sliderVal-AC.ProductBrowser.arrowScrollAmount);
},

right:function(){
AC.ProductBrowser.animateSlide(AC.ProductBrowser.sliderVal+AC.ProductBrowser.arrowScrollAmount);
},

calculateDecel:function(from,to){
var n=from-Math.floor((from-to)*.4);
if(Math.abs(from-to)<4)return to;
else return n;
}
};

*/
