(function($){$('[rel=hover]').live('mouseover',function(){$(this).addClass($(this).attr('hover'))});$('[rel=hover]').live('mouseout',function(){$(this).removeClass("jSliderPauseHover").removeClass("jSliderPlayHover").removeClass("jSliderLeftHover").removeClass("jSliderRightHover")});$.fn.jSlider=function(config){var options=$.extend({},$.jSlider.defaults,config);if(typeof config.common=='object'){options.common=$.extend({},$.jSlider.defaults.common,config.common)}if(typeof config.objects){options.objects=$.extend({},$.jSlider.defaults.objects,config.objects)}if(typeof config.mask){options.mask=$.extend({},$.jSlider.defaults.mask,config.mask)}return this.each(function(){$.jSlider.call($(this),options)})};var c=0;$.jSlider=function(config){var _this=$(this),_meta=[];_this.find('img').each(function(i){var meta=eval('('+$(this).attr('jSlider')+')');_meta[i]=typeof meta=='object'?$.extend({},config.metadata,meta):config.metadata;_meta[i].image=$(this).attr('src')});var _html='<div id="jSlider_'+c+'" class="jSliderMask">';if(config.common.desc==true){_html+='<div class="jSliderDescription">'+'<div class="jSliderDescriptionText"></div>'+'</div>'+'<div class="jSliderDescriptionMask"></div>'}if(config.common.ctrl==true){_html+='<div class="jSliderLeft" hover="jSliderLeftHover" rel="hover"></div>'+'<div class="jSliderPause" hover="jSliderPauseHover" rel="hover"></div>'+'<div class="jSliderRight" hover="jSliderRightHover" rel="hover"></div>'}_html+='<ul>';for(var i in _meta){_html+='<li>'+'<img src="'+_meta[i].image+'" alt="'+_meta[i].title+'" title="'+_meta[i].description+'" />'+'</li>'}_html+='</ul>';_html+='</div>';_this.css({position:'relative',width:config.common.width+'px',height:config.common.height+'px'}).html(_html);$.jSlider.text(_this,_meta[0],config.mask.color);config.common.width=config.common.width==null?$.jSlider.defaults.styles.items.width:config.common.width;config.common.height=config.common.height==null?$.jSlider.defaults.styles.items.height:config.common.height;_this.find('.jSliderMask, .jSliderDescriptionMask').css({width:config.common.width+'px',height:config.common.height+'px'});_this.find('.jSliderDescription, .jSliderDescriptionMask').css({width:config.common.width+'px',height:config.mask.height+'px',color:config.mask.color});_this.find('.jSliderDescriptionMask').css({background:config.mask.bgColor,opacity:config.mask.opacity});var ctrlSize={w:Math.floor(config.common.width/3),h:config.common.height};_this.find('.jSliderLeft, .jSliderRight, .jSliderPause, jSliderPlay').css({'width':ctrlSize.w+'px','height':ctrlSize.h+'px'});if(config.common.auto==true){_this.find('.jSliderPause, jSliderPlay').css({'width':config.common.width-(ctrlSize.w*2)+'px','left':ctrlSize.w+'px'}).show();config.autoTimer=setInterval(function(){$.jSlider.animate.call(_this,config,_meta)},config.common.duration);_this.find('.jSliderPause').live('click',function(){clearInterval(config.autoTimer);$(this).removeClass('jSliderPause').addClass('jSliderPlay').attr('hover','jSliderPlayHover')});_this.find('.jSliderPlay').live('click',function(){$(this).removeClass('jSliderPlay').addClass('jSliderPause').attr('hover','jSliderPauseHover');config.autoTimer=setInterval(function(){$.jSlider.animate.call(_this,config,_meta)},config.common.duration)})}_this.find('.jSliderLeft').click(function(){$.jSlider.animate.left.call(_this,config,_meta)});_this.find('.jSliderRight').click(function(){$.jSlider.animate.right.call(_this,config,_meta)});if(config.common.hover==true){if(config.common.desc==true){$.jSlider.hover.call(_this)}else{alert('If u want user hover option ! Pls config the desc to true !')}}if(config.objects.left!=false){$(config.objects.left).click(function(){$.jSlider.animate.left.call(_this,config,_meta)})}if(config.objects.right!=false){$(config.objects.right).click(function(){$.jSlider.animate.right.call(_this,config,_meta)})}c++};$.jSlider.animate=function(config,metadata,positionAction){if(positionAction=='right'){$(this).attr('position','right')}else if(positionAction=='left'){$(this).attr('position','left')}var position=$(this).attr('position'),_this=position==null?$(this).attr('position','right'):$(this),allLiWidth=parseInt(_this.find('.jSliderMask li').length)*config.common.width,animatePosition=_this.find('.jSliderMask ul').attr('width')==null?config.common.width:(position=='right'?parseInt(_this.find('.jSliderMask ul').attr('width'))+config.common.width:parseInt(_this.find('.jSliderMask ul').attr('width'))-config.common.width),item=parseInt(animatePosition!=0?animatePosition/config.common.width:0);if(animatePosition==0){_this.attr('position','right')}if(allLiWidth==(animatePosition+config.common.width)){_this.attr('position','left')}if(animatePosition>=allLiWidth||animatePosition<0){return false}try{_this.find('.jSliderMask ul').animate({marginLeft:'-'+animatePosition+'px'}).attr('width',animatePosition);if(config.common.desc==true){$.jSlider.text(_this,metadata[item],config.mask.color)}}catch(e){alert('Has a bug in line: 170');return false}return true};$.jSlider.animate.left=function(config,metadata){$.jSlider.animate.call($(this),config,metadata,'left')};$.jSlider.animate.right=function(config,metadata){$.jSlider.animate.call($(this),config,metadata,'right')};$.jSlider.text=function(_this,obj,txcolor){_this.find('.jSliderDescriptionText').html('<div class="jSliderDescriptionTextTitle">'+'<a href="'+obj.url+'" target="_blank">'+obj.title+'</a>'+'</div>'+'<div class="jSliderDescriptionTextContent">'+obj.description+'</div>');_this.find('a').css({color:txcolor});return};$.jSlider.hover=function(){var _this=$(this),duration=500,autoDefaultSlide=0,autoCountDefaultSlide=5,autoDurationDefaultSlide=200,autoFnDefaultSlide=setInterval(function(){if(autoDefaultSlide==autoCountDefaultSlide){clearInterval(autoFnDefaultSlide);_this.find('.jSliderDescription, .jSliderDescriptionMask').slideUp(duration)}autoDefaultSlide++},autoDurationDefaultSlide);_this.find('.jSliderMask').hover(function(){if(_this.attr('action')=='true'){return false}_this.attr('action','true').find('.jSliderDescription, .jSliderDescriptionMask').slideDown(duration);return true},function(){_this.find('.jSliderDescription, .jSliderDescriptionMask').slideUp(duration,function(){_this.attr('action','false')})})};$.jSlider.defaults={common:{auto:true,desc:true,hover:true,ctrl:true,duration:4000,width:300,height:80},objects:{prev:false,next:false,ctrl:false},mask:{height:50,color:'#fff',bgColor:'#000',opacity:0.5},metadata:{url:'kenphan.info',target:'_blank',title:'Slide title',description:'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.'}}})(jQuery);
