
if(typeof(AC)=="undefined"){AC={};}











AC.partBrowser={
partSlider:null,
sliderVal:0,
animationId:false,
viewportWidth:946,
contentWidth:946,


categories:[

{id:'mp-cat1',offset:0.00},

{id:'mp-cat2',offset:0.00}
,
{id:'mp-cat3',offset:0.00}
,
{id:'mp-cat4',offset:0.00}
,
{id:'mp-cat5',offset:0.00}
,
{id:'mp-cat6',offset:0.00}
,
{id:'mp-cat7',offset:0.00}
,
],




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;


if(typeof(setupArgs.MothersProductCategories)!='undefined'){this.MothersProductCategories=setupArgs.MothersProductCategories;}


if(typeof(setupArgs.MothersProductScrollAmount)!='undefined')this.MothersProductScrollAmount=setupArgs.MothersProductScrollAmount;


if(typeof(setupArgs.MothersProductContainerWidth)!='undefined')this.MothersProductContainerWidth=setupArgs.MothersProductContainerWidth;








$('mp-partslidertrack').style.visibility="visible";


$('mp-partbrowsercontainer').style.overflow="hidden";

this.viewportWidth=

$('mp-partbrowsercontainer').getWidth();
this.offsetImageWidth=$$


('#mp-partslider .mp-partimage')[0].getWidth()-this.overlap;
this.contentWidth=this.offsetImageWidth

*$$

('#mp-partslider .mp-partimage').length;
this.offsetContentWidth=-1*(this.contentWidth-this.viewportWidth);


this.partSlider=new Control.Slider('mp-partsliderhandle','mp-partslidertrack',{
axis:'horizontal'
});



if(AC.partBrowser.isMothersProduct){
this.categories=this.MothersProductCategories;
this.arrowScrollAmount=this.MothersProductScrollAmount;


$('mp-partslidertrack').style.visibility="none";


$('mp-leftarrow').style.visibility="none";


$('mp-rightarrow').style.visibility="none";


$('mp-partbrowsercontainer').style.width=this.MothersProductContainerWidth+"px";

var leftArrow=document.createElement('div');
leftArrow.id="mp-MothersProduct-leftarrow";



var rightArrow=document.createElement('div');
rightArrow.id="mp-MothersProduct-rightarrow";



$('partbrowser').appendChild(leftArrow);


$('partbrowser').appendChild(rightArrow);



Event.observe($(leftArrow),'click',function(){
AC.partBrowser.left();
});



Event.observe($(rightArrow),'click',function(){
AC.partBrowser.right();
});
}

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


this.partSlider.options.onChange=function(value){


$('mp-partsliderhandleimage').style.left=$

('mp-partsliderhandle').style.left;

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

var mod=value+AC.partBrowser.throwMod;
if(mod<0)mod=0;
if(mod>1)mod=1;


AC.partBrowser.animateSlide(mod);
}
else if(!AC.partBrowser.isSliding&&value){
AC.partBrowser.isSliding=true;
AC.partBrowser.animateSlide(value);
}
};

this.partSlider.options.onSlide=function(value){


$('mp-partsliderhandleimage').style.left=

$('mp-partsliderhandle').style.left;
if(value&&!AC.partBrowser.isSliding){
AC.partBrowser.isSliding=true;
AC.partBrowser.isThrow=false;
if(AC.partBrowser.isMouseDown){
AC.partBrowser.dif=value-AC.partBrowser.lastX;
AC.partBrowser.lastX=value;


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

var w=AC.partBrowser.offsetContentWidth;


$('mp-partslider').style.left=w*value+"px";

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

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

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

Event.observe('mp-partsliderhandle','mousedown',function(){
AC.partBrowser.isMouseDown=true;


$('mp-partsliderhandle').style.zIndex="5";
});

Event.observe('mp-partsliderhandle','mouseup',function(){
AC.partBrowser.isMouseDown=false;
});

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

animateSlide:function(toX){

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

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

AC.partBrowser.isSliding=true;
AC.partBrowser.animationId=window.setInterval(function(){
var sliderPos=parseInt(

$('mp-partslider').getStyle('left'))||0;
var handlePos=parseInt($('mp-partsliderhandle').getStyle('left'))||0;
var x=AC.partBrowser.calculateDecel(sliderPos,stopPoint);
var sx=AC.partBrowser.calculateDecel(handlePos,sliderStopPoint);


$('mp-partslider').style.left=x+"px";


$('mp-partsliderhandle').style.left=sx+"px";


$('mp-partsliderhandleimage').style.left=sx+"px";
AC.partBrowser.colorCats();

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

},

colorCats:function(){
var sliderX=parseInt(

$('mp-partsliderhandle').getStyle('left'))+((

$('mp-partsliderhandle').getWidth()-20)/2);
AC.partBrowser.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='mp-catclass'+clr;
});
},


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


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


calculateDecel:function(from,to)

{
var n=from-Math.floor((from-to)*.4);


if(Math.abs(from-to)<4)return to;

else return n;
}
};






