         /* 
          #      jQuery Slinky Slider Plugin 
          #      --------------------------- 
          #      Version:         1.0 
          #      --------------------------- 
          #      Author:            samhs 
          #       http://ohwrite.co.uk/jquery/jquery-plugin-slinky-slider/ 
          #      http://docs.jquery.com/Plugins/SlinkySlider 
          # 
          #       Copyright (c) 2009 Sam Hampton-Smith 
          # 
          #      Dual licensed under the MIT and GPL licenses: 
          #       http://www.opensource.org/licenses/mit-license.php 
          #      http://www.gnu.org/licenses/gpl.html 
          # 
          #      Please view files mit.txt and gpl.txt for full license terms 
          #      And include these two files if you redistribute this software 
          */ 


(function($) { 
          
         $.fn.slinkySlider = function(settings) {    
            // Utility variables - do not alter 
            var currentpanel; 
            var panelwidth; 
            var goforward = true; 
            var t; 
            settings = $.extend({}, $.fn.slinkySlider.defaults, settings);    

            return $(this).each(function(){ 
               panelwidth = $(this).width(); 
               $(this).css("overflow","hidden"); 
               settings.largesize = panelwidth-((settings.numberofpanels-1)*(settings.smallsize+settings.panelspacing)); 
               container = $(this); 
               elheight = container.height(); 
               for (var i=1;i<=settings.numberofpanels;i++) { 
                  $(container).append("<div class='panelwrappers'><div class='panel'></div></div>"); 
                  $(".panelwrappers:last .panel").load(settings.panelname+i+".html").parents(".panelwrappers").data("number",i);
               } 
               currentpanel = $(".panelwrappers:first"); 
               $(".panelwrappers").css({ 
                     "width"      :   settings.smallsize+"px", 
                     "float"      :   "left", 
                     "height"   :   elheight+"px"}); 
               $(".panels").css({ 
                     "width"      :   settings.largesize+"px", 
                     "height"   :   "100%"}); 
               $(currentpanel).css("width",settings.largesize+"px"); 
               $(".panelwrappers").not(":last").css("margin-right",settings.panelspacing+"px"); 
               $(".panelwrappers").each(function(){ 
                  $(this).mouseover(function(){switchpanel(this);}); 
               }); 
               if (settings.doauto) t = setTimeout(function(){switchpanel(null);},settings.autotimer); 
            }); 

            function switchpanel(newpanel) { 
               if (newpanel==currentpanel) { 
                  // do nothing because we're already on this panel 
               } else { 
                  var auto = false; 
                  if (newpanel==null) { 
                     auto = true; 
                     if (goforward && $(currentpanel).data("number")==settings.numberofpanels) { 
                        goforward=false; 
                     } 
                     if (!goforward && $(currentpanel).data("number")==1) { 
                        goforward=true; 
                     }                   
                     if (goforward) { 
                        newpanel = $(currentpanel).next(); 
                     } else { 
                        newpanel = $(currentpanel).prev(); 
                     }                      
                  } 
                  else { 
                     $(".panelwrappers").stop(); 
                     clearTimeout(t); 
                  } 
                  $(".panelwrappers").not(newpanel).animate({width: settings.smallsize+"px"},settings.transition, "swing"); 
                  $(newpanel).animate({width: settings.largesize+"px"},settings.transition, "swing");             
                  currentpanel = newpanel; 
                  if (auto) t = setTimeout(function(){switchpanel(null);},settings.autotimer); 
            } 
         } 
      } 
          
      $.fn.slinkySlider.defaults = { 
         autotimer:8000, 
         transition:1000, 
         panelspacing:3, 
         smallsize:20, 
         numberofpanels:5, 
         largesize:0, 
         doauto:true, 
         panelname:"panel" 
      } 

})(jQuery);
