// JavaScript Document

Cufon.replace('h1');
Cufon.replace('h2');
Cufon.replace('h3');
Cufon.replace('h4');
Cufon.replace('legend');
Cufon.replace('.subHeading');
Cufon.replace('.date');

var animating = false;
  
      $(document).ready(function() {
        
         if ($('#scrollerBack')){
            var scrollerBack = $('#scrollerBack');
            var scroller = $('#scroller');
            var scrollArea = $('#'+scrollerBack.attr('rel'));
            var scrolled = scrollArea.find('ul');
            
            var viewPercentage = (scrollArea.height() - 20) / scrolled.height();
            var newH = scrollerBack.height() * viewPercentage;
            if (newH > scrollerBack.height() - 30) newH = scrollerBack.height() - 30;
            
            scroller.css('height', newH);
            
            $('#scrollerBack .topArrow, #scrollerBack .bottomArrow').click(
                function(e){
                    var rel = $(this).attr('rel');
                    var newH = (rel == 'up') ? parseInt(scroller.css('marginTop')) - 10 : parseInt(scroller.css('marginTop')) + 10;
                    if (newH < 15) newH = 15;
                    else if (newH > scrollerBack.height() - scroller.height() - 15) newH = scrollerBack.height() - 15 - scroller.height();
                    scroller.css('marginTop',newH);
                    scrolled.css('marginTop',(newH - 15) * (1 / viewPercentage) * -1);
                }
            );
            
            scroller.mousedown(
                function(e){
                    var clientStartY = e.clientY - $(window).scrollTop();
                    var scrollerStartY = parseInt(scroller.css('marginTop'));
                    $(this).css('background','#eee');
                    document.onselectstart = function(){ return false; }
                    document.onmousedown = function() {return false;}
                    
                    $(document).mousemove(
                        function(e){
                            var newH = e.clientY - $(window).scrollTop() - clientStartY + scrollerStartY;
                            
                            if (newH < 15) newH = 15;
                            else if (newH > scrollerBack.height() - scroller.height() - 15) newH = scrollerBack.height() - 15 - scroller.height();
                            
                            scroller.css('marginTop',newH);
                            
                            scrolled.css('marginTop',(newH - 15) * (1 / viewPercentage) * -1);
                        }
                    );
                    $(document).mouseup(
                        function(e){
                            $(document).unbind('mousemove').unbind('mouseup');
                            document.onselectstart = null;
                            document.onmousedown = null;
                            scroller.css('background','');
                        }
                    );
                }
            );
        }

       if ($("#slider")){
            $("#slider").css({width: "1000px" });
            $("#slideContainer").css({width: "700px"}).css("position","relative");
            $('<div class="prevBtn"><a href="#">Previous</a></div>').appendTo('#controls'); 
            $('<div class="nextBtn"><a href="#">Next</a></div>').appendTo('#controls');
            
            var sliders = $('#slider .productBoxSmall');
            sliders.css("position","absolute");

            for (var i = 0, len = sliders.length; i < len; i++){
                var newLeft = i * 240;
                sliders[i].style.left = newLeft+"px";
            }

            $(".prevBtn").click(
                function () {
                    if (animating) return false
                    animating = true;
                    var lastSlider = sliders[0];
                    var firstSlider = sliders[0];
                    for (var i = 0, len = sliders.length; i < len; i++){
                        if (sliders[i].offsetLeft > lastSlider.offsetLeft) lastSlider = sliders[i];
                        if (sliders[i].offsetLeft < firstSlider.offsetLeft) firstSlider = sliders[i];
                    }
                    
                    var newLeft = lastSlider.offsetLeft + 240;
                    if (firstSlider.offsetLeft < 0) $(firstSlider).css("left",newLeft+"px");

                    sliders.animate({"left":"-=240px"},"slow","swing",
                        function(){
                            animating = false;
                        }
                    );
                    return false;
                }
            );
           
            $(".nextBtn").click(
                function () {
                    if (animating) return false
                    animating = true;
                    var lastSlider = sliders[0];
                    var firstSlider = sliders[0];
                    for (var i = 0, len = sliders.length; i < len; i++){
                        if (sliders[i].offsetLeft > lastSlider.offsetLeft) lastSlider = sliders[i];
                        if (sliders[i].offsetLeft < firstSlider.offsetLeft) firstSlider = sliders[i];
                    }
                    
                    var newLeft = firstSlider.offsetLeft - 240;
                    if (lastSlider.offsetLeft > 480) $(lastSlider).css("left",newLeft+"px");

                    sliders.animate({"left":"+=240px"},"slow","swing",
                        function(){
                            animating = false;
                        }
                    );
                    return false;
                }
            );
        }
        
        
        if (document.getElementById('cityorzip')){
            if (document.getElementById('cityorzip').value.length == 0) document.getElementById('cityorzip').value = 'Type your city or zip code';
        }

      });
      
