(function($){$.fn.thslide=function(callerSettings){var settings=$.extend({navPreviousWrapper:'.thslide_nav_previous a',navNextWrapper:'.thslide_nav_next a',listWrapper:'.thslide_list ul',itemOffset:100,itemVisible:5,slideSpeedSlow:600,slideSpeedFast:200,infiniteScroll:0,scrollOver:0,debug:0},callerSettings||{});settings.navPreviousWrapper=$(this).find(settings.navPreviousWrapper);settings.navNextWrapper=$(this).find(settings.navNextWrapper);settings.listWrapper=$(this).find(settings.listWrapper);settings.totalItem=$(settings.listWrapper).find('li').length;settings.itemOffsetMax;settings.listMarginLeft;settings.slideSpeed;settings.easing;settings.locked=false;settings.scrollOn=false;settings.scrollTimer=0;settings.navTimer;if(settings.totalItem>settings.itemVisible){updateListMargin(settings);settings.itemOffsetMax=parseInt($(settings.listWrapper).find('li').length)*settings.itemOffset-(settings.itemVisible*settings.itemOffset);settings.itemOffsetMax=-parseInt(settings.itemOffsetMax);$(settings.navPreviousWrapper).click(function(){return false;});$(settings.navNextWrapper).click(function(){return false;});$(settings.navPreviousWrapper).mousedown(function(){window.clearTimeout(settings.navTimer);settings.scrollOn=true;settings.slideSpeed=settings.slideSpeedFast;settings.easing="swing";slideListPrevious(settings);});$(settings.navNextWrapper).mousedown(function(){window.clearTimeout(settings.navTimer);settings.scrollOn=true;settings.slideSpeed=settings.slideSpeedFast;settings.easing="swing";slideListNext(settings);});$(settings.navPreviousWrapper).mouseup(function(){settings.scrollOn=false;});$(settings.navNextWrapper).mouseup(function(){settings.scrollOn=false;});if(settings.scrollOver==1){$(settings.navPreviousWrapper).mouseover(function(){if(!settings.scrollOn){settings.scrollOn=true;settings.slideSpeed=settings.slideSpeedSlow;settings.easing="linear";var functionCall=function(){slideListPrevious(settings);};settings.navTimer=window.setTimeout(functionCall,settings.scrollTimer);}});$(settings.navNextWrapper).mouseover(function(){if(!settings.scrollOn){settings.scrollOn=true;settings.slideSpeed=settings.slideSpeedSlow;settings.easing="linear";var functionCall=function(){slideListNext(settings);};settings.navTimer=window.setTimeout(functionCall,settings.scrollTimer);}});$(settings.navPreviousWrapper).mouseout(function(){settings.scrollOn=false;});$(settings.navNextWrapper).mouseout(function(){settings.scrollOn=false;});}}
return this;};var slideListPrevious=function(settings){if(!settings.locked&&settings.scrollOn&&((parseInt(settings.listMarginLeft)+parseInt(settings.itemOffset)<=0)||settings.infiniteScroll==1)){settings.locked=true;if(settings.infiniteScroll==1){updateListFromBeginning(settings,function(){slideListPreviousAction(settings);});}else{slideListPreviousAction(settings);}}};var slideListPreviousAction=function(settings){var offsetUpdate=parseInt(settings.listMarginLeft)+parseInt(settings.itemOffset);if(settings.debug==1){console.log('offsetUpdate: '+offsetUpdate);}
$(settings.listWrapper).animate({marginLeft:offsetUpdate},settings.slideSpeed,settings.easing,function(){if(settings.infiniteScroll==0){updateListMargin(settings);}
settings.locked=false;if(settings.scrollOn){settings.easing="linear";slideListPrevious(settings);}});};var slideListNext=function(settings){if(!settings.locked&&settings.scrollOn&&(((parseInt(settings.listMarginLeft)-parseInt(settings.itemOffset))>=settings.itemOffsetMax)||settings.infiniteScroll==1)){settings.locked=true;var offsetUpdate=-parseInt(settings.itemOffset);if(settings.debug==1){console.log('offsetUpdate: '+offsetUpdate);}
$(settings.listWrapper).animate({marginLeft:offsetUpdate},settings.slideSpeed,settings.easing,function(){if(settings.infiniteScroll==0){updateListMargin(settings);}else{updateListFromEnd(settings,null);}
settings.locked=false;if(settings.scrollOn){settings.easing="linear";slideListNext(settings);}});}};var initListItems=function(settings){for(var i=0;i<settings.totalItem;i++){var pos=parseInt($(settings.listWrapper).find('li').length-1)-parseInt(i);$(settings.listWrapper).find('li:eq('+pos+')').clone().insertBefore($(settings.listWrapper).find('li:first-child')).addClass('thslide_copy');}
resetListMargin(settings);};var updateListFromBeginning=function(settings,callback){var itemToMove=$(settings.listWrapper).find('li:last-child');$(settings.listWrapper).find('li:first-child').before(itemToMove);$(settings.listWrapper).css('marginLeft',-parseInt(settings.itemOffset));updateListMargin(settings);if(typeof callback=='function'){return callback();}};var updateListFromEnd=function(settings,callback){var itemToMove=$(settings.listWrapper).find('li:first-child');$(settings.listWrapper).find('li:last-child').after(itemToMove);$(settings.listWrapper).css('marginLeft',0);updateListMargin(settings);if(typeof callback=='function'){return callback();}};var updateListMargin=function(settings){settings.listMarginLeft=$(settings.listWrapper).css('marginLeft').split('px')[0];};var resetListMargin=function(settings){$(settings.listWrapper).css('marginLeft',-parseInt(settings.itemOffset));updateListMargin(settings);};})(jQuery);
