
$(document).ready(function(){
  
  var minOffset = $("div#logo").height();
  //alert(minOffset);
  
  $(window).scroll(function () {
    
   if ($("div#topmenu").hasClass("static")){
    return true;
   }    
    
   offset = $(document).scrollTop();
   
   if ($("div#topmenu").css("top")=="auto"){$("div#topmenu").css("top",minOffset);}
   //$("div#basketStatusContent").html($("div#topmenu").css("top")+' '+offset);
   
   //$("div#basketStatus").html(offset);
   if (lastScrollTop < $(document).scrollTop()){
    if ($("div#topmenu").height()>$(window).height()){
     offset=offset - ($("div#topmenu").height()-$(window).height());
    }
   }
   //if (offset<40){offset=40;}
   if (offset<minOffset){offset=minOffset;}
   offset = offset+"px";

   $("div#topmenu").animate({top:offset},{duration:500,easing:'easeOutExpo',queue:false});

   if (lastScrollTop > $(document).scrollTop()){lastScrollTop = $(document).scrollTop()+1;}
   if (lastScrollTop < $(document).scrollTop()){lastScrollTop = $(document).scrollTop()-1;}
  });  
  
  
 
 $("a[rel^='prettyPhoto']").prettyPhoto( {default_width: 640,default_height: 480,opacity: 0.30,animationSpeed:'fast'}  );

 $(".hiddenFancybox").fancybox({
             'transitionIn'	: 'elastic',
             'transitionOut'	: 'elastic',
             'padding'         : 20
  });

 registerBasketControls();
 registerImageControls();
 registerBannerControls();
 registerSlideshowControls();
 
 
 
 $("img.tableIcon").hover(
  function(){
   swapTableIcon(this);
  }
 );
 

  $("img.tableIcon").click(
  function(){
   //alert($(this).closest("div").html());
   var src =$(this).attr('src');
   src = src.replace(/icon/,"large");
   //alert(src);
   //var title = $(this).closest("tr").find("td:nth-child(2)").html()+" "+$(this).closest("tr").find("td:nth-child(3)").html();;
   var p = $(this).position();
   $("div#hiddenFancybox").css("top",p.top  + $(this).height()/2);
   $("div#hiddenFancybox").css("left",p.left + $(this).width()/2 );
   //$("div#hiddenFancybox > a").attr("title",title);
   $("div#hiddenFancybox > a").attr("href",src);
   $("div#hiddenFancybox > a").click();
   //$.prettyPhoto.open(src,'','');
  }
 );

  $("img.tableImagex").click(
  function(){
   //alert($(this).closest("div").html());
   var src =$(this).attr('src');
   src = src.replace(/small|icon/,"large");
   var p = $(this).position();
   //var title = $(this).closest("div").find("h1").html();
   $("div#hiddenFancybox").css("top",p.top  + $(this).height()/2);
   $("div#hiddenFancybox").css("left",p.left + $(this).width()/2 );
   //$("div#hiddenFancybox > a").attr("title",title);
   $("div#hiddenFancybox > a").attr("href",src);
   $("div#hiddenFancybox > a").attr('rel', 'gallery');
   $("div#hiddenFancybox > a").click();
   //alert(src);
   //$.prettyPhoto.open(src,'','');
  }
 );
  

 
 $("div#search a").click(
  function(){
   $("#searchForm").submit();
   return false;
  }
 );

 $("div#search input").focus(
  function(){
   if ($(this).css("color")!="black"){
    $(this).css("color","black");
    $(this).val('');
   }
  }
 );
 
 $("#searchForm").submit(
  function(){
   var search = $("#searchInput").val();
   if (search.length>2){
   } else {
    $("div#message").html("Please enter a longer search term...");
    return false;
   }
  }
 );
 
 $("th.price").click(function(){
  if (confirm("Remove trade prices?")){ 
   //$(this).hide();
   $('th:nth-child(9),td:nth-child(9)').hide();  
   var url = "ajax?task=hidePrices";
   //alert(url);
   $("div#hiddenDiv").load(url,function(){
    window.location.href = window.location.href; 
   });
  };
 });


 
});




$(document).ready(function() {
   $("div#viewPort").mousemove(function(e){
    moveThings(e.pageX,e.pageY);
   });
});

var lastX = 0;
var lastY = 0;

function moveThings(mouseX,mouseY){
  var x = mouseX - $("div#viewPort").offset().left;
  var y = mouseY - $("div#viewPort").offset().top;
 
  $("div#viewPort").find("div").each(function(i) {
   var id = $(this).attr('id');
   var s = (x/$("#viewPort").width()) * ( ($(this).width() - $("#viewPort").width()) ); 
   var p = $(this).position();
   var cx = $(this).position().left;
   var nx = cx+(-s-cx)*0.2;
   $(this).stop();
   $(this).css("left",nx);
   $(this).animate({"left":-s,easing:"linear"},750);
   //$(this).css("left",-s);
  });

  lastX = x;
  lastY = y;
  //$("div#viewStatus").html(x+","+y);
}



 function swapTableIcon(el){
  if ($(el).length == 0){return false;}
  //alert($(this).closest("div").html());
  var src =$(el).attr('src');
  src = src.replace(/icon/,"small");
  height1 = $(el).closest("div").find("img.tableImage").attr('height');
  height2 = $(el).attr('height');
  $(el).closest("div").find("img.tableImage:first").css('height',height1);
  $(el).closest("div").find("img.tableImage:first").attr('src',src);
  
  src = src.replace(/small/,"large");
  $(el).closest("div").find("a.tableImage:first").attr('href',src);
  //$(this).closest("div").find("h1").html($(this).attr('height'));
 }
 
 
 function flashTotal(){
  var text = $("div#basketStatus").css("color");
  var bg = $("div#basketStatus").css("background-color");
  $("div#basketStatusContent").animate({'color':bg},250,function(){
   $(this).animate({'color':text},500); 
  });
 }

 
 function registerBasketControls(){
  
  $("div.basketControls div.basketChange").click(
   function(event){
    //alert($(this).html());
    var action = $(this).attr('url');
    var parentDiv = $(this).parent("div");
    var productCode = parentDiv.attr('id');
    var qty = $(parentDiv).find("input").val();
    var url = "ajax?spa_code="+productCode+"&action="+action+"&qty="+qty;
    //alert(url);
    $("div#hiddenDiv").load(url);
    //$("div#basketStatusContent").effect("highlight", {color:"orange"}, 500);
    flashTotal();
    event.preventDefault();
   } 
  );
 
  $("div.basketControls input").keyup(
   function(){
    //alert($(this).html());
    var parentDiv = $(this).parent("div");
    var productCode = parentDiv.attr('id');
    var qty = $(this).val();
    var url = "ajax?spa_code="+productCode+"&action=set&qty="+qty;
    //alert(url);
    $("div#hiddenDiv").load(url);
 
   }
  );
 
   
  $("div.productPanel .add").click(function(){
   var parentDiv = $(this).closest("div");
   if ($(this).attr('code')){
    var productCode = $(this).attr('code');
   } else {
    var productCode = $(parentDiv).find("select").val();
   }
   var url = "ajax?spa_code="+productCode+"&table="+$(parentDiv).attr('id')+"&action=add";
   $("div#hiddenDiv").load(url);
   //$("div#basketStatusContent").effect("highlight", {color:"orange"}, 1500);
   flashTotal();
  });
 
 }
 
 
 function registerImageControls(){
  
  $("td.info img").click(function(){
    el = $(this).parent("td").parent("tr");
    swapTableIcon($(el).find("img.tableIcon:first"));
    //alert($(el).attr("id"));
    code = $(el).attr("id");
    el = $(this).parents("div.productTableDiv");
    //alert($(el).attr("id"));
    text = $(el).find("div.productTableText:first");
 
    var y = $(text).offset().top -80 ;
    //alert(y+" , "+$(window).scrollTop());
    if (y<$(window).scrollTop()){
     $('html,body').animate({scrollTop: y}, 250);
    }
    $(text).animate({opacity:0.01},250,function(){
      $(text).load("ajax?task=productText&code="+code,function(){
       $(text).animate({opacity:1.00},750);
      });
    });
  });  
  
  $("a.tableExtraImage, a.tableImage").fancybox({'cyclic':true,
   'titleFormat'       : function(title, currentArray, currentIndex, currentOpts) {
    return '<span id="fancybox-title-over">Image ' +  (currentIndex + 1) + ' / ' + currentArray.length + ' ' + title + '</span>';
   }
  });  
  
 }
 
 
  var bannerTimeout;
  var delay = 5000;
  var changeBanners = true;
  var bannerCount;
  var bannerNumber = 1;
  var lastBannerNumber;
  
  function registerBannerControls(){
    bannerCount = $("div.actualBanner").length;
    lastBannerNumber = bannerCount;
    
    $("div#bannerHolder").find("div.actualBanner").css("opacity","1.0");
    
    $("button.bannerButton").click(function(){
      clearTimeout(bannerTimeout);
      bannerTimeout = null;
      bannerNumber = 1*$(this).attr('banner');
      changeBanner();
    });

    if (bannerCount>1){
     timeout = setTimeout(changeBanner,50);
    } else {
     $("div#bannerHolder").find("div.actualBanner").fadeIn();
    }
  }

 

  function changeBanner(){
   if (changeBanners){

    var el = $("div#bannerHolder").find("div.actualBanner:nth-child("+(lastBannerNumber)+")");
    $(el).css({zIndex:1}).fadeOut(1000);
    
    var next = $("div#bannerHolder").find("div.actualBanner:nth-child("+(bannerNumber)+")");
    $(next).css({zIndex:0}).fadeIn(1000);

   $("button#bannerButton"+lastBannerNumber).removeClass("bannerButtonSelected");
   $("button#bannerButton"+bannerNumber).addClass("bannerButtonSelected");

    //$("div#debug").html('hide: '+lastBannerNumber+' , show: '+bannerNumber);
    
    lastBannerNumber = bannerNumber;
    bannerNumber = bannerNumber + 1;
    if (bannerNumber > bannerCount){bannerNumber=1;}    
    bannerTimeout = setTimeout(changeBanner,delay);
   }
   
  }
  
  
  
 function registerSlideshowControls(){
 
  $("div.slideshow li").click(function(){
    
    table = $(this).attr("table");
    var code = $(this).attr("code");
    url = $(this).attr("url");
    
    //alert(table+', '+url+', '+code);
    
    if (!url && table && code){
     $("div#"+table).hide();
     $("div#"+table).insertAfter("#topOfProducts");
     $("div#"+table).slideDown();
     $("tr#"+code+" img.tableIcon").hover();
     $("tr#"+code+" td.info img").click();
    }
 
    if (table && code && url){
     $("#featuredProduct").slideUp();
     $("#featuredLoading").fadeIn();
     $("#featuredProduct").load(url+' #'+table,function(){
      $("#featuredLoading").fadeOut();
      //$("#featuredProduct").hide();
      registerBasketControls();
      registerImageControls();
      $("#featuredProduct").slideDown();
      setTimeout(function(){
       //$("tr#"+code+" img.tableIcon").hover();
       //$("tr#"+code+" td.info img").click();
      },10);
     });
    }
 
  });   
   
 }
 

