/**
  
  Product slider
  @author   FrantaToman
  @www      www.frantatoman.cz
  @version  1.0
  
*/

jQuery.fn.productSlider = function(options){

  var myoptions = jQuery.extend({divId: "#products-slider", 
                             itemClass: ".product-slider-item",
                             toLeft: "#product-slider-left",
                             toRight: "#product-slider-right",
                             itemWidth: 950,
                             detailButton: "#product-slider-show-detail",
                             infoButton: "#product-slider-show-info",
                             divDetail: ".detail",
                             divInfo: ".general",
                             productNameClass: ".product-name",
                             productNameId: "#product-slider-name-active",
                             thumbsDiv: "#products-thumbs"}, options); 
                     
  
  var itemsCount = $(myoptions.divId + " " + myoptions.itemClass).size(); 
  var active = 0;
  
  // set style
  $(myoptions.divId).css({"height" : "430px", "overflow" : "hidden"});
  $(myoptions.divId + " " + myoptions.itemClass).css({display : "none", opacity: 0.0});
  var firstItem = $(myoptions.divId + " " + myoptions.itemClass).get(active);
  $(firstItem).css({display : 'block', opacity : 1.0});
  //$(myoptions.divId).css({"height" : "430px"});
              
              
  // manipulate functions        
  var nextItem = function(){
  
    // next item
    
    if((active + 1) < itemsCount){
      nextItemId = active + 1;
    }else{
      nextItemId = 0;
    }

    var nextItem = $(myoptions.divId + " " + myoptions.itemClass).get(nextItemId);
    var activeItem = $(myoptions.divId + " " + myoptions.itemClass).get(active);
    
    $(nextItem).css({left: "950px", position: "absolute", display : "block"});
    $(nextItem).animate({left: "0", opacity: 1.0});
    
    $(activeItem).animate({left: "-950px", opacity: "0.0"});

    $(activeItem).css({position: "absolute", display : "block"}); 
    
    
    active++;

    
    if(active >= itemsCount){
      active = 0;
    }
  };
  
  var prevItem = function(){
    // next item
    
    if( (active - 1) >= 0 ){
      prevItemId = active - 1;
    }else{
      prevItemId = itemsCount - 1;
    }
    
    var prevItem = $(myoptions.divId + " " + myoptions.itemClass).get(prevItemId);
    var activeItem = $(myoptions.divId + " " + myoptions.itemClass).get(active);
    
    $(prevItem).css({left: "-950px", position: "absolute", display : "block"});
    $(prevItem).animate({left: "0", opacity: 1.0});
    $(activeItem).animate({left: "950px", opacity: 0.0});
    $(activeItem).css({position: "absolute", display : "block"});   
    
    active--;
    
    if(active < 0){
      active = itemsCount - 1;
    }
  };
              
              
                              
  $(myoptions.toLeft).click(function(){
    prevItem();
    return false;
  });
  
  $(myoptions.toRight).click(function(){
    nextItem();
    return false;
  });

};

