/** modified from-* mopSlider 2.5.1 * By Hiroki Miura (http://www.mopstudio.jp/mopSlider2descrip.html) * Copyright (c) 2009 mopStudio * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php * May 1, 2010 */ var autoS=[],indiS=[],mopSldWS=[],intervalS=[],itemMgnS=[],moveS=[];var animS=[],preTurnS=[],turnS=[],nextMovS=[],nextMovBkS=[],nextNumS=[],nextNumBkS=[];var sclNumS=[],sldNumS=[];var posiS=[],posiBkS=[];var chkNumS=[],chkNumBkS=[];var mpSldMoS=[];var boxWS=[],sldWS=[],btnWS=[];var wchDgS=[];var btnPastS=[],boxPastS=[],btnPosiS=[],boxPosiS=[],btnMvNumSS=[],boxMvNumSS=[]; var finalCountS=[];var mpSldCount=0,mpSldNoS=[];var itemNumS=[];var sclMaxS=[];jQuery.fn.extend({	mopSlider:function(stt){		//user variables		var mopSldW=stt.w; //width (height based on contents and padding)		var sldW=stt.sldW; //slider case width		var btnW=stt.btnW; //slider width		var itemMgn=stt.itemMgn; //content margins		var indication=stt.defaultText; //default slider text		var timedText = stt.timedText; //slider text when animated		var shuffle=stt.shuffle; //item shuffle		var auto=stt.auto; //auto animate		var move=stt.move; //duration of move		var interval=stt.interval; //duration of interval		var mopSldTyp=stt.type; //slider css		var mpSldNo=stt.no; //if mpSlidNo is set by user		//set default values if not set		if(stt.w==null){mopSldW=500};		if(stt.sldW==null){sldW=300};		if(stt.btnW==null){btnW=50};		if(stt.itemMgn==null){itemMgn=20};		if(stt.shuffle==null){shuffle='n'};		if(stt.auto==null){auto='n'};		if(stt.move==null){move=1000};		if(stt.interval==null){interval=2000};		if(stt.type==null){mopSldTyp="black"};				var ua=navigator.userAgent,browser,os,ie67=false;		var px="px"		var btnPosi,boxPosi,btnPast,boxPast,wchDg="";		var btnMvNum,btnMoveTo,boxMvNum,boxMoveTo;		var timeCheck1,timeCheck2,dragCheck1,dragCheck2,finalTime1,finalTime2;		var mpSldNm;		var sclMax,sclNum,caseW,itemNum,sldNum,chkNum,movNum;		var mpSldMo;		var boxW,itemMgnAll;		var finalCount=0;		var anim,turn="go",preTurn="go";		var posi,posiBk;		var nextMov=[],nextMovBk=[];		var nextNum=0,nextNumBk=0;		var sclW=0,sclWbk=0;		var itemMaxHeight;						/*images for slider*/		var btnLeft=new Image();		var btnLeftF=new Image();		var btnRight=new Image();		var btnRightF=new Image();		var btnChange=new Image();		var btnChangeNn=new Image();		var btnChangeF=new Image();				var mopSldSrc=function(mopSldTyp){			if (mopSldTyp == "black"){				btnLeft.src="resources/sliderBtnLeft.png";				btnLeftF.src="resources/sliderBtnLeft.png";				btnRight.src="resources/sliderBtnRight.png";				btnRightF.src="resources/sliderBtnRight.png";				btnChange.src="resources/sliderBackRightRight.png";				btnChangeNn.src="resources/sliderBkRightRight.png";				btnChangeF.src="resources/sliderBackRightRight_L.png";			}			//add other slider piece pngs here		}		mopSldSrc(mopSldTyp); //set png sources		mpSldCount+=1;		var num=mpSldCount;		mpSldNo=num;		mpSldNoS.push(mpSldNo);		mpSldNm="#mopSlider"+mpSldNo;		var noSharp=mpSldNm.split("#")[1];		$(mpSldNm).hide(); //how does it hide mopSlider1? when it doesn't exist yet?		var arr=jQuery.makeArray($(this).children()); //whatever is inside mopslider		Array.prototype.shuffle = function() {			var i = this.length;			while(i){				var j = Math.floor(Math.random()*i);				var t = this[--i];				this[i] = this[j];				this[j] = t;			};			return this;		};				if((shuffle=='y')||(shuffle==1)){			arr.shuffle();			$(arr).appendTo(this);		};				if(ua.indexOf("Mac",0)>=0){os="mac";}else if(ua.indexOf("Win",0)>=0){os="win";};		if(ua.indexOf("MSIE 4")>-1){browser="ie4";};		if(ua.indexOf("MSIE 5")>-1){browser="ie5";};		if(ua.indexOf("MSIE 6")>-1){browser="ie6";};		if(ua.indexOf("MSIE 7")>-1){browser="ie7";};		if((browser=="ie4")||(browser=="ie5")||(browser=="ie6")||(browser=="ie7")){			itemMaxHeight = $("#sliderGallery").height();			ie67=true;		}else{			itemMaxHeight = eval($("#sliderGallery").css("min-height").split("px")[0]);		};				$(this).css({position:"absolute",overflow: "hidden",left: "0px",display: "block"});		itemNum=$(this).children().length;		itemNumS.push(itemNum);		var allW=0;		var num=0;		for (i=1; i<(itemNum+1); i++){			var itemW=eval($(this).children().eq(num).css("width").split("px")[0]); //get the width of each child			nextMov.push(itemW); //add to nextMov array			var itemH=eval($(this).children().eq(num).css("height").split("px")[0]); //get the height of each child			/*var mgn=(mopSldH-itemH)/2;			$(this).children().eq(num).css({marginTop:mgn+px}); //centers item*/			if(itemH > itemMaxHeight){itemMaxHeight = itemH;}; //find the tallest item in order to set height			num+=1;			allW+=itemW;		};		var lengthNum=nextMov.length;		for (i=1; i<(nextMov.length); i++){			var pushW=nextMov[lengthNum-1];			nextMovBk.push(pushW);			lengthNum-=1;		};		itemMgnAll=itemMgn*itemNum;		boxW=allW+itemMgnAll+itemMgn;		$(this).wrap('<div id="mopSlider"><div id="'+noSharp+'"><div class="mopHolder"></div></div></div>');		$(this).parent().after(		'<div class="mopSliderCase">'+			'<div class="mopSliderCaseLeft"></div>'+			'<div class="mopSliderCaseRight"></div>'+			'<div class="mopSliderClass">'+				'<div class="mopSldLeft"></div>'+				'<div class="mopSldCenter"></div>'+				'<div class="mopSldRight"></div>'+				'<div class="mopSliderBtn">'+					'<div class="mopSldBtnLeft"></div>'+					'<div class="mopSldBtnCenter"><div class="defaultText"></div></div>'+					'<div class="mopSldBtnRight"></div>'+				'</div>'+			'</div>'+		'</div>'+		'<div class="mopLogo"><div class="mopLogoIn"></div></div>'		);		if((auto=="nn")||(auto=="yn")){			$(mpSldNm+" .mopSliderCaseRight").css({backgroundImage:"url("+btnChangeNn.src+")",cursor:""});		}else{			$(mpSldNm+" .mopSliderCaseRight").css({backgroundImage:"url("+btnChange.src+")",cursor:"pointer"});		}		$(mpSldNm+" .mopSldCenter").css({width:sldW-40+px});		$(mpSldNm+" .mopSldBtnCenter").css({width:btnW-40+px});		var holderHeight = eval($("#sliderGallery").css("padding-top").split("px")[0]) + eval($("#sliderGallery").css("padding-bottom").split("px")[0]) + itemMaxHeight;		var dragScrollHeight = $(".mopSliderBtn").height();		$(mpSldNm).css({width:mopSldW+px, height:holderHeight+dragScrollHeight+px});		$(mpSldNm).css({position:"relative",overflow:"hidden",margin:"0 auto 0 auto",});				if(os=="mac"){$(mpSldNm+" .defaultText").css({letterSpacing:"0.1em"})};/*for mac*/		sclMax=boxW-mopSldW;		sclNum=sclMax*0.01;/*0 to100 (box)*/		sldNum=(sldW-btnW)*0.01;/*0 to100 (mopSliderClass)*/		var lastLength,lastLengthBk;		for (i=1; i<(nextMov.length+1); i++){			var lenchCheck=i-1;			sclW+=nextMov[lenchCheck]+itemMgn;			if(sclW>=sclMax){				lastLength=lenchCheck;				break;			}		}		for (i=1; i<(nextMovBk.length+1); i++){			var lenchCheckBk=i-1;			sclWbk+=nextMovBk[lenchCheckBk]+itemMgn;			if(sclWbk>=sclMax){				lastLengthBk=lenchCheckBk;				break;			}		}		var lastMov=eval(nextMov[lastLength]+itemMgn);		var amari=sclW-sclMax;		chkNum=sclMax-lastMov+amari;		var lastMovBk=eval(nextMovBk[lastLengthBk]+itemMgn);		var amariBk=sclWbk-sclMax;		chkNumBk=lastMovBk-amariBk;		nextMov[lastLength]-=amari;		nextMovBk[lastLengthBk]-=amariBk;		var holderWidth=(mopSldW+sclMax*2);		$(mpSldNm+" .mopHolder").css({width:holderWidth+px,height:holderHeight+px,left:-(sclMax)+px});		$(mpSldNm+" .mopHolder").children().css({width:boxW+px,left:sclMax+px});		$(mpSldNm+" .mopHolder").children().children().css({marginLeft:itemMgn+px,float:"left",position:"relative"});		$(mpSldNm+" .mopSliderCase").css({width:sldW+50+px});		$(mpSldNm+" .mopSliderClass").css({width:sldW+px});		$(mpSldNm+" .mopSliderBtn").css({width:btnW+px});		//$(this).pngFix();		$(mpSldNm+" .defaultText").html(indication);		if(auto=='y'){anim="y";}else if(auto=='n'){anim="n";}else if(auto=='nn'){anim="nn";}else if(auto=='yn'){anim="y";}		animS.push(anim);		autoS.push(auto);		indiS.push(indication);		nextMovS.push(nextMov); nextMovBkS.push(nextMovBk);		preTurnS.push(preTurn); turnS.push(turn);		sclNumS.push(sclNum); sldNumS.push(sldNum);		chkNumS.push(chkNum); chkNumBkS.push(chkNumBk);		mpSldMoS.push(mpSldMo);		boxWS.push(boxW); mopSldWS.push(mopSldW);		nextNumS.push(nextNum); nextNumBkS.push(nextNumBk);		sldWS.push(sldW); btnWS.push(btnW);		wchDgS.push(wchDg);		btnPastS.push(btnPast); boxPastS.push(boxPast);		btnPosiS.push(btnPosi); boxPosiS.push(boxPosi);		finalCountS.push(finalCount);		btnMvNumSS.push(finalCount); boxMvNumSS.push(finalCount);		intervalS.push(interval);		itemMgnS.push(itemMgn);		sclMaxS.push(sclMax);		moveS.push(move);		$(mpSldNm).show();		$(mpSldNm+" .mopSliderBtn").draggable({			axis:"x",			containment:"parent",			start:function(){				for (i=1; i<(mpSldNoS.length+1); i++){					var j=i-1;					if(mpSldNo==i){						wchDgS[j]="btn";					}				}				btnMvNum=0;				dragCheck1=setInterval("mpSldF.dragCheckItv('"+mpSldNo+"','"+mpSldNm+"')",20);				timeCheck1=setInterval("mpSldF.timeCheckItv('"+mpSldNo+"','"+mpSldNm+"')",50);			},			drag:function(){},			stop:function(){				clearInterval(dragCheck1);				mpSldF.finalMove(mpSldNo,mpSldNm);			}		});		$(mpSldNm+" .mopHolder").children().draggable({			axis:"x",			containment:"parent",			start:function(){				for (i=1; i<(mpSldNoS.length+1); i++){					var j=i-1;					if(mpSldNo==i){						wchDgS[j]="mopHolder";					}				}				boxMvNum=0;				dragCheck1=setInterval("mpSldF.dragCheckItv('"+mpSldNo+"','"+mpSldNm+"')",20);				timeCheck1=setInterval("mpSldF.timeCheckItv('"+mpSldNo+"','"+mpSldNm+"')",50);			},			drag:function(){},			stop:function(){				clearInterval(dragCheck1);				mpSldF.finalMove(mpSldNo,mpSldNm);			}		});		$("#mopSlider .mopSliderBtn").mousedown(			function(){				clearInterval(timeCheck1);				clearInterval(finalTime1);			}		);		$("#mopSlider .mopHolder").children().mousedown(			function(){				clearInterval(timeCheck1);				clearInterval(finalTime1);			}		);		var movCheck=function(mpSldNo,mpSldNm){			var j=mpSldNo-1;			sldNum=sldNumS[j];			var boxPosiPx=$(mpSldNm+" .mopHolder").children().css("left");			boxPosi=eval(boxPosiPx.split("px")[0]);			var boxPosi0=-(boxPosi-sclMaxS[j]);			var boxNum=-(boxPosi0/sclNumS[j]);			if(((boxPosi0)>(chkNumS[j]))&&(preTurnS[j]=="go")){				preTurnS[j]="bk";			}else if(((boxPosi0)<(chkNumBkS[j]))&&(preTurnS[j]=="bk")){				preTurnS[j]="go";			};			$(mpSldNm+" .mopSliderBtn").css({left:-(boxNum*sldNumS[j])+px});		}		var turnCheck=function(mpSldNo){			var j=mpSldNo-1;			if(preTurnS[j]=="bk"){				turnS[j]="bk";				mpSldF.goInit(mpSldNo);			}else if(preTurnS[j]=="go"){				turnS[j]="go";				mpSldF.bkInit(mpSldNo);			};		}		mpSldF={			dragCheckItv:function(mpSldNo,mpSldNm){				var sldNum100;				var boxPosi0;				var boxNum;				var j=mpSldNo-1;				btnPosiS[j]=eval($(mpSldNm+" .mopSliderBtn").css("left").split("px")[0]);				boxPosiS[j]=eval($(mpSldNm+" .mopHolder").children().css("left").split("px")[0]);				sldNum100=btnPosiS[j]/sldNumS[j];				boxPosi0=-(boxPosiS[j]-sclMaxS[j]);				boxNum=-(boxPosi0/sclNumS[j]);				if(wchDgS[j]=="btn"){					$(mpSldNm+" .mopHolder").children().css({left:Math.floor(-(sldNum100*sclNumS[j])+sclMaxS[j])+px});				}else if(wchDgS[j]=="mopHolder"){					$(mpSldNm+" .mopSliderBtn").css({left:-(boxNum*sldNumS[j])+px});				};				$(".mopCheck").html(boxNum+" "+sldNum100);			},			move:function(mpSldNo,mpSldNm){				var j=mpSldNo-1;				if(itemNumS[j]!=1){					turnCheck(mpSldNo);				}				if(animS[j]=="y"){					if(turnS[j]=="go"){						if(itemNumS[j]==1){							turnS[j]="bk";						}						$(mpSldNm+" .mopHolder").children().animate({left:-posiS[j]+sclMaxS[j]+px},							{duration:moveS[j],easing:'swing',								step:function(){movCheck(mpSldNo,mpSldNm)},								complete:function(){									if(itemNumS[j]!=1){										nextNumS[j]+=1;										posiS[j]+=((nextMovS[j][nextNumS[j]])+itemMgnS[j]);									}								}							}							);					}else if(turnS[j]=="bk"){						if(itemNumS[j]==1){							turnS[j]="go";						}						$(mpSldNm+" .mopHolder").children().animate({left:posiBkS[j]+px},							{duration:moveS[j],easing:'swing',								step:function(){movCheck(mpSldNo,mpSldNm)},								complete:function(){									if(itemNumS[j]!=1){										nextNumBkS[j]+=1;										posiBkS[j]+=((nextMovBkS[j][nextNumBkS[j]])+itemMgnS[j]);									}								}							}						);					}				}				mpSldMoS[j]=setTimeout("mpSldF.move('"+mpSldNo+"','"+mpSldNm+"')",intervalS[j]+moveS[j]);			},			goInit:function(mpSldNo){				var j=mpSldNo-1;				nextNumS[j]=0;				posiS[j]=(nextMovS[j][nextNumS[j]]+itemMgnS[j]);			},			bkInit:function(mpSldNo){				var j=mpSldNo-1;				nextNumBkS[j]=0;				if(itemNumS[j]!=1){					posiBkS[j]=(nextMovBkS[j][nextNumBkS[j]]+itemMgnS[j]);				}else{					posiBkS[j]=(nextMovS[j][nextNumS[j]]+itemMgnS[j]);				}			},			manualAct:function(mpSldNo,mpSldNm,mopSldTyp){				$(mpSldNm+" .mopHolder").children().stop();				var j=mpSldNo-1;				clearInterval(mpSldMoS[j]);				animS[j]='n'				$(mpSldNm+" .defaultText").html(indiS[j]);				if(autoS[j]!='yn'){					mopSldSrc(mopSldTyp);					if(browser!="ie6"){						$(mpSldNm+" .mopSldBtnLeft").css({backgroundImage:"url("+btnLeft.src+")"});						$(mpSldNm+" .mopSldBtnRight").css({backgroundImage:"url("+btnRight.src+")"});						$(mpSldNm+" .mopSliderCaseRight").css({backgroundImage:"url("+btnChange.src+")"});					}				}				$(mpSldNm+" .mopHolder").children().css({cursor:"move"});			},			autoAct:function(mpSldNo,mpSldNm,mopSldTyp,chkNum,chkNumBk){				for (i=1; i<(mpSldNoS.length+1); i++){					var j=i-1;					if(mpSldNo==i){						sclMax=boxWS[j]-mopSldWS[j];						animS[j]='y';						turnS[j]="go";						clearInterval(mpSldMoS[j]);					}				}				$(mpSldNm+" .mopHolder").children().css({cursor:""});				mpSldF.goInit(mpSldNo);				mpSldF.bkInit(mpSldNo);				mpSldF.auto(mpSldNo,mpSldNm,mopSldTyp);				if(eval($(mpSldNm+" .mopSliderBtn").css("left").split("px")[0])<10){					moveSS=100;				}else{					moveSS=moveS[j]				}				$(mpSldNm+" .mopHolder").children().animate({left:sclMax+px},					{duration:moveSS,easing:'swing',						step:function(){							movCheck(mpSldNo,mpSldNm,boxW,mopSldW);						},						complete:function(){							for (i=1; i<(mpSldNoS.length+1); i++){								var j=i-1;								if(mpSldNo==i){									mpSldMoS[j]=setTimeout("mpSldF.move('"+mpSldNo+"','"+mpSldNm+"')",intervalS[j]);								}							}						}					}				);			},			auto:function(mpSldNo,mpSldNm,mopSldTyp){				mopSldSrc(mopSldTyp);				$(mpSldNm+" .defaultText").html(timedText);				var j=mpSldNo-1;				if(autoS[j]!="yn"){					if(browser!="ie6"){						$(mpSldNm+" .mopSldBtnLeft").css({backgroundImage:"url("+btnLeftF.src+")"});						$(mpSldNm+" .mopSldBtnRight").css({backgroundImage:"url("+btnRightF.src+")"});						$(mpSldNm+" .mopSliderCaseRight").css({backgroundImage:"url("+btnChangeF.src+")"});					}				}			},			timeCheckItv:function(mpSldNo,mpSldNm){				var j=mpSldNo-1;				btnPastS[j]=btnPosiS[j];				boxPastS[j]=boxPosiS[j];			},			finalMove:function(mpSldNo,mpSldNm){				var j=mpSldNo-1;				finalCountS[j]=0;				if((btnPosiS[j]!=undefined)&&(btnPastS[j]!=undefined)){					btnMvNumSS[j]=btnPosiS[j]-btnPastS[j];					boxMvNumSS[j]=boxPosiS[j]-boxPastS[j];				}				finalTime1=setInterval("mpSldF.finalTimeItv('"+mpSldNo+"','"+mpSldNm+"')",50);			},			finalTimeItv:function(mpSldNo,mpSldNm){				var j=mpSldNo-1;				finalCountS[j]+=1;				if(finalCountS[j]==1){					btnMvNum=btnMvNumSS[j];					boxMvNum=boxMvNumSS[j];					mpSldNmTemp=mpSldNm;				}				btnPosiS[j]=eval($(mpSldNmTemp+" .mopSliderBtn").css("left").split("px")[0]);				boxPosiS[j]=eval($(mpSldNmTemp+" .mopHolder").children().css("left").split("px")[0]);				if(wchDgS[j]=="btn"){					if((btnMvNum<0.1)&&(btnMvNum>-0.1)){						btnMvNum=0;					}else{						if(browser=="ie6"){							btnMvNum=btnMvNum/1.75;						}else{							btnMvNum=btnMvNum/1.5;						}					}					btnMoveTo=btnMvNum+btnPosiS[j];					if(btnMoveTo>(sldWS[j]-btnWS[j])){						btnMoveTo=sldWS[j]-btnWS[j];					}else if(btnMoveTo<0){						btnMoveTo=0;					};					$(mpSldNmTemp+" .mopSliderBtn").css({left:btnMoveTo+px});					btnPastS[j]=btnMoveTo;					if(btnMvNum==0){						clearInterval(finalTime1);					}					mpSldF.checkFinal(mpSldNo,mpSldNm);				}				else if(wchDgS[j]=="mopHolder"){					if((boxMvNum<1)&&(boxMvNum>-1)){						boxMvNum=0;					}else{						if(browser=="ie6"){							boxMvNum=boxMvNum/1.75;						}else{							boxMvNum=boxMvNum/1.5;						}					}					boxMoveTo=boxMvNum+boxPosiS[j];					if(boxMoveTo>sclMaxS[j]){						boxMoveTo=sclMaxS[j];					}else if(boxMoveTo<0){						boxMoveTo=0;					};					$(mpSldNmTemp+" .mopHolder").children().css({left:boxMoveTo+px});					/*set boxPast*/					boxPastS[j]=boxMoveTo;					if(boxMvNum==0){						clearInterval(finalTime1);					}					mpSldF.checkFinal(mpSldNo,mpSldNm);				}			},			checkFinal:function(mpSldNo,mpSldNm){				var sldNum100;				var boxPosi0;				var boxNum;				var j=mpSldNo-1;				btnPosiS[j]=eval($(mpSldNm+" .mopSliderBtn").css("left").split("px")[0]);				boxPosiS[j]=eval($(mpSldNm+" .mopHolder").children().css("left").split("px")[0]);				sldNum100=btnPosiS[j]/sldNumS[j];				boxPosi0=-(boxPosiS[j]-sclMaxS[j]);				boxNum=-(boxPosi0/sclNumS[j]);				if(wchDgS[j]=="btn"){					$(mpSldNm+" .mopHolder").children().css({left:Math.floor(-(sldNum100*sclNumS[j])+sclMaxS[j])+px});				}else if(wchDgS[j]=="mopHolder"){					$(mpSldNm+" .mopSliderBtn").css({left:-(boxNum*sldNumS[j])+px});				};			}		}		/*end mpSldF*/		$(mpSldNm+" .mopSliderCaseRight").click(			function(){				for (i=1; i<(mpSldNoS.length+1); i++){					var j=i-1;					if(mpSldNo==i){						if(autoS[j]!="yn"){							if(animS[j]=="y"){								mpSldF.manualAct(mpSldNo,mpSldNm,mopSldTyp);							}else if(animS[j]=="n"){								mpSldF.autoAct(mpSldNo,mpSldNm,mopSldTyp,chkNum,chkNumBk);								clearInterval(mpSldMoS[j]);							}						}					}				}			}		);		var clickToManual=function(){			for (i=1; i<(mpSldNoS.length+1); i++){				var j=i-1;				if(mpSldNo==i){					if(animS[j]=="y"){						mpSldF.manualAct(mpSldNo,mpSldNm,mopSldTyp);					}				}			}		}		$(mpSldNm+" .mopHolder").children().mousedown(function(){clickToManual();});		$(mpSldNm+" .mopSliderBtn").mousedown(function(){clickToManual();});		animGo=function(mpSldNo,mpSldNm,mopSldTyp){			var j=mpSldNo-1;			if(animS[j]=="y"){				if(animS[j]=="y"){					mpSldF.auto(mpSldNo,mpSldNm,mopSldTyp);				}					mpSldMoS[j]=setTimeout("mpSldF.move('"+mpSldNo+"','"+mpSldNm+"')",intervalS[j]);			}else if(animS[j]=="n"){				mpSldF.manualAct(mpSldNo,mpSldNm,mopSldTyp);			}		}		setTimeout("animGo('"+mpSldNo+"','"+mpSldNm+"','"+mopSldTyp+"')",500);		mpSldF.goInit(mpSldNo);		mpSldF.bkInit(mpSldNo);	}});
