// js slider
(function(A){
   A.fn.jsslider = function(options){
	$j.fn.jsslider.defaults={
	   slideClass:    ".slide",
	   slideWidth:    962,
	   variableWidth: "false",
	   animation:     "easeInOutCubic"
	};
      var options=A.extend({},A.fn.jsslider.defaults, options);
      var browser=navigator.appVersion;
      if(browser.match("MSIE 6")){
         browser="ie6"
      }
      return this.each(function(){
         var clsSlides=[];
         var objDoc=A(this);
         var numSlides=objDoc.find(options.slideClass).length;
         if(numSlides > 1){
	      objDoc.before("<div class='slide-nav'></div><a href='#' class='prev actionLink prev-disabled' title='Previous'></a><a href='#' class='next actionLink' title='Next'></a>");
         }
         $thumbs=objDoc.siblings(".slide-nav");
         $next=objDoc.siblings(".next");
         $prev=objDoc.siblings(".prev");
         $inner=objDoc.parent(".inner");
         var pxWidths=[];
         var pxAbsWidths=[];
         var pxImgWidths=[];
         pxAbsWidths[0]=0;
         objDoc.find(options.slideClass).each(function(idxSlide){
            $slide=A(this);
            $thumbs.append('<div title="'+(idxSlide+1)+'"></div>');
         });

         function FindSlides(){
            objDoc.find(options.slideClass).each(function(idxSlide){
               $slide=A(this);
               if(options.variableWidth != "true"){
                  if($slide.find("img").width()>=1){
                     pxImgWidths[idxSlide]=$slide.find("img").width();
                  }
                  options.variableWidth == "false";
                  pxWidths[idxSlide]=options.slideWidth
               }else{
                  if(options.variableWidth == "true"){
                     if(parseInt($slide.find("img").css("width"))>=1){
                        pxWidths[idxSlide]=parseInt($slide.find("img").css("width")) + 20
                     }else{
                        if($slide.find("img").width() >= 1){
                           pxWidths[idxSlide]=$slide.find("img").width() + 20
                        }
                     }
                     if(pxWidths[idxSlide] == 20 || browser == "ie6"){
                        pxWidths[idxSlide]=options.slideWidth - 10;
                     }
                     $slide.width(pxWidths[idxSlide])
                  }
               }
               pxAbsWidths[idxSlide+1] = pxAbsWidths[idxSlide] + pxWidths[idxSlide];
               if(idxSlide === 0){
                  clsSlides[idxSlide]="selected";
                  $thumbs.children(":eq(0)").addClass("selected")
               }else{
                  clsSlides[idxSlide]=" "
               }
            })
         }

         FindSlides();
         if(options.variableWidth == "true"){
            $inner.css("width",pxWidths[0]+"px").css("margin-left",((options.slideWidth-pxWidths[0])/2))
         }

         var maxSlides=clsSlides.length-1;
         var idxSlideCurrent;
         $next.click(function(){
            GetCurrentSlideIndex(clsSlides);
            var idxSlideSelect=idxSlideCurrent+1;
            SetSelectedSlide(idxSlideSelect, idxSlideCurrent);
            return false
         });
         $prev.click(function(){
            GetCurrentSlideIndex(clsSlides);
            var idxSlideSelect=idxSlideCurrent-1;
            SetSelectedSlide(idxSlideSelect, idxSlideCurrent);
            return false
         });
         $thumbs.children().click(function(){
            GetCurrentSlideIndex(clsSlides);
            var idxSlideSelect=(parseInt(A(this).attr("title")))-1;
            SetSelectedSlide(idxSlideSelect, idxSlideCurrent);
            return false
         });
         function SetSelectedSlide(idxSlideSelect, idxSlideCurrent){
            if(idxSlideSelect >= 0 && idxSlideSelect <= maxSlides){
               CheckNavigationLimits(idxSlideSelect);
               ChangeToSelected(idxSlideSelect);
               clsSlides[idxSlideCurrent]=" ";
               clsSlides[idxSlideSelect]="selected";
               objDoc.animate({right:pxAbsWidths[idxSlideSelect]},{duration:1000,easing:options.animation});
               if(options.variableWidth == "true"){
                  $inner.animate({width:pxWidths[idxSlideSelect]+"px",marginLeft:((options.slideWidth-pxWidths[idxSlideSelect])/2)+"px"},{duration:1000,easing:"easeInOutCubic"})
               }
            }
         }
         function CheckNavigationLimits(idxSlideSelect){
            $next=objDoc.siblings(".next");
            $prev=objDoc.siblings(".prev");
            if(idxSlideSelect >= maxSlides){
               $next.addClass("next-disabled");
               $prev.removeClass("prev-disabled")
            }
            if(idxSlideSelect <= 0){
               $next.removeClass("next-disabled");
               $prev.addClass("prev-disabled")
            }
            if(idxSlideSelect > 0 && idxSlideSelect < maxSlides){
               $next.removeClass("next-disabled");
               $prev.removeClass("prev-disabled")
            }
         }
         function ChangeToSelected(idxSlideSelect){
            $thumbs=objDoc.siblings(".slide-nav");
            $thumbs.children().removeClass("selected");
            $thumbs.children(":eq("+idxSlideSelect+")").addClass("selected")
         }
         function GetCurrentSlideIndex(clsSlidesArray){
            A.each(clsSlidesArray, function(idxSlide, clsSlide){
               if(clsSlide === "selected"){
                  idxSlideCurrent=idxSlide
               }
               });
            return idxSlideCurrent
         }
      })
   }
})(jQuery);

