(function($){$.fn.cSlider=function(settings){var el=this;var cas={config:{sliderActiveClass:'enabledJS',inner:'.productinner',slideDuration:500,slideDurationReset:500,autoSlideTimer:0,continuous:true,paddingCorrection:0,controlsAfter:'.productinner',pagerAfter:'',pagerHasPrevAndNext:true,paddingCorrectionParams:['padding-left','padding-right','border-left-width','border-right-width','margin-left','margin-right'],lang:'cz',controls:{wrapper:'',prev:'<a class="sliderPrev"><span class="forBlind">{sliderprev}</span></a>',next:'<a class="sliderNext"><span class="forBlind">{slidernext}</span></a>',denyClass:'deny'},pager:{wrapper:'<p class="pager"></p>',prev:'<a class="prev" href="#">{pagerprev}</a>',next:'<a class="next" href="#">{pagernext}</a>',item:'<a href="#">%</a>',selectedClass:'bold',denyClass:'deny'},language:{cz:{sliderprev:'&lt;',slidernext:'&gt;',pagerprev:'Predchozi',pagernext:'Další'}},slideStepOneItem:false,debug:false},init:function(slider){cas.el={};cas.el.slider=slider;cas.el.inner=cas.el.slider.find(cas.config.inner);cas.el.firstItem=cas.el.inner.children(':first');cas.el.controlsAfter=cas.config.controlsAfter?$(cas.config.controlsAfter):false;cas.el.pagerAfter=cas.config.pagerAfter?$(cas.config.pagerAfter):false;cas.log('Slider initiating. ---------------------------------','info');if(!cas.el.inner.length){cas.log('Slider inner block not found! Stopping initialization.','error');return false}if(!cas.el.controlsAfter.length)cas.log('Controls after not found. Controls will not be placed.','info');if(!cas.el.pagerAfter.length)cas.log('Pager after not found. Pager will not be placed.','info');cas.itemsCount=cas.el.inner.children().length;cas.sliderWidth=parseInt(cas.el.slider.width());cas.inFrame=Math.round(cas.sliderWidth/cas.el.firstItem.width());cas.step=cas.sliderWidth;cas.active=0;cas.pagesTotal=Math.round(cas.itemsCount/cas.inFrame);cas.log('Found '+cas.itemsCount+' items in slider.','info');cas.log('Placing '+cas.inFrame+' items to frame.','info');cas.log('Slide step will be '+cas.step+'.','info');if(cas.itemsCount>cas.inFrame){cas.el.slider.addClass(cas.config.sliderActiveClass);cas.makeAndAppendPager();cas.makeAndAppendControls();cas.slide(0);cas.changeControlsState('prev','deny')}else cas.log('Not enough items in slider. No pager or controls will be placed.','info')},makeAndAppendPager:function(){if(!cas.el.pagerAfter)return false;var item='';var pager=$(cas.config.pager.wrapper);if(cas.config.pagerHasPrevAndNext){$(cas.replaceWord(cas.config.pager.prev)).click(function(){cas.prev();return false}).appendTo(pager)}for(var i=0;i<cas.pagesTotal;i++){cas.counter=i;var item=$(cas.config.pager.item.replace('%',i+1));eval("var clickfcn = function(){ cas.slide("+i+", false, $(this)); return false; };");if(i==0){item.click(clickfcn).addClass('ccnt-'+i).addClass(cas.config.pager.selectedClass).appendTo(pager)}else{item.click(clickfcn).addClass('ccnt-'+i).appendTo(pager)}}if(cas.config.pagerHasPrevAndNext){$(cas.replaceWord(cas.config.pager.next)).click(function(){cas.next();return false}).appendTo(pager)}cas.log('Appending pager with '+cas.pagesTotal+' pages.','info');cas.el.pagerAfter.after(pager);cas.el.pager=pager;return true},makeAndAppendControls:function(){if(!cas.el.controlsAfter.length)return false;cas.log('Appending controls.','info');cas.el.controls={};cas.el.controls.next=$(cas.replaceWord(cas.config.controls.next)).click(function(){cas.next();return false});cas.el.controls.prev=$(cas.replaceWord(cas.config.controls.prev)).click(function(){cas.prev();return false});if(typeof(cas.config.controls.wrapper)!='undefined'&&cas.config.controls.wrapper){cas.el.controls.wrapper=$(cas.config.controls.wrapper);cas.el.controls.prev.appendTo(cas.el.controls.wrapper);cas.el.controls.next.appendTo(cas.el.controls.wrapper);cas.el.controls.wrapper.insertAfter(cas.el.controlsAfter)}else{cas.el.controls.next.insertAfter(cas.el.controlsAfter);cas.el.controls.prev.insertAfter(cas.el.controlsAfter)}return true},hightlightPagerItem:function(el){if(typeof(el)=='undefined'||typeof(cas.el.pager)!='object')return false;if(typeof(el)=='object'&&!el.length)return false;if(typeof(el)=='string'){var selected=cas.el.pager.find('.'+cas.config.pager.selectedClass);var offset=0;if(cas.config.pagerHasPrevAndNext)offset=1;if(el=='prev')el=selected.prev();if(el=='next')el=selected.next();if(el=='first'){el=selected.siblings('.page:first')}if(el=='last'){el=selected.siblings('.page:last')}}el.siblings().removeClass(cas.config.pager.selectedClass);el.addClass(cas.config.pager.selectedClass);return true},log:function(e,type){if(typeof(console)=='object'&&cas.config.debug){if(type=='error')console.error(e);else if(type=='warning')console.warning(e);else if(type=='info')console.info(e);else if(type=='debug')console.debug(e);else console.log(e)}else{}},slide:function(n,reset,el){cas.active=n;cas.hightlightPagerItem(el);var leftOffset=cas.active*cas.step+cas.active*cas.config.paddingCorrection;cas.el.inner.animate({marginLeft:-leftOffset+'px'},reset?cas.config.slideDurationReset:cas.config.slideDuration);cas.log('Sliding to item '+cas.active+' ('+(-leftOffset)+'px)');if(cas.config.autoSlideTimer){clearTimeout(cas.timeoutHandler);cas.timeoutHandler=setTimeout(function(){cas.next()},cas.config.autoSlideTimer)}cas.changeControlsState('reset')},prev:function(){if(cas.active>0){cas.slide(cas.active-1,false,'prev')}else{if(cas.config.continuous){cas.slide(cas.pagesTotal-1,true,'last')}}if(!cas.config.continuous&&cas.active==0){cas.changeControlsState('prev','deny')}},next:function(){if(cas.active<cas.itemsCount-cas.inFrame&&cas.active<cas.pagesTotal-1){cas.slide(cas.active+1,false,'next')}else{if(cas.config.continuous){cas.slide(0,true,'first')}}if(!cas.config.continuous&&cas.active==cas.pagesTotal-1){cas.changeControlsState('next','deny')}},changeControlsState:function(dir,type){if(dir=='reset'){if(typeof(cas.el.controls)=='object'&&typeof(cas.config.pager.denyClass)!='undefined'){cas.el.controls.prev.removeClass(cas.config.controls.denyClass);cas.el.controls.next.removeClass(cas.config.controls.denyClass)}if(typeof(cas.el.pager)=='object'){if(cas.config.pagerHasPrevAndNext&&typeof(cas.config.pager.denyClass)!='undefined'&&cas.config.pager.denyClass){cas.el.pager.children(':first').removeClass(cas.config.pager.denyClass);cas.el.pager.children(':last').removeClass(cas.config.pager.denyClass)}}}else if(dir=='prev'){if(type='deny'){if(typeof(cas.el.controls)=='object'){cas.el.controls.prev.addClass(cas.config.controls.denyClass)}if(typeof(cas.el.pager)=='object'&&typeof(cas.config.pager.denyClass)!='undefined'&&cas.config.pager.denyClass){if(cas.config.pagerHasPrevAndNext)cas.el.pager.children(':first').addClass(cas.config.pager.denyClass)}}}else if(dir=='next'){if(type='deny'){if(typeof(cas.el.controls)=='object'){cas.el.controls.next.addClass(cas.config.controls.denyClass)}if(typeof(cas.el.pager)=='object'&&typeof(cas.config.pager.denyClass)!='undefined'&&cas.config.pager.denyClass){if(cas.config.pagerHasPrevAndNext)cas.el.pager.children(':last').addClass(cas.config.pager.denyClass)}}}},replaceWord:function(text){var words=text.match(/{[^}]*}/);if(!words||!words.length)return text;var id='';var error=0;for(i=0;i<words.length;i++){id=words[i].replace('{','').replace('}','');if(typeof(cas.config.language[cas.config.lang])=='undefined'){cas.log('Undefined language "'+cas.config.lang+'" in dictionary!');error++}else if(typeof(cas.config.language[cas.config.lang][id])=='undefined'){cas.log('Undefined word with id "'+id+'" in dictionary!');error++}if(error==0){text=text.replace(words[i],cas.config.language[cas.config.lang][id])}else{cas.log('Unable to replace word with "'+id+'" in "'+text+'"!')}}return text}};$.each(settings,function(key,val){if(typeof(val)=='object'){$.extend(cas.config[key],val)}else{cas.config[key]=val}});cas.init(el)}})(jQuery);
