/*! jQuery-slider v1.0 created by: Sagiv Ofek */
$.fn.slide = function (params) {

    function slideToNext()
    {
      var next = $(slider).find("li.active").removeClass("active").next();
      if (next.length == 0)
          next = $(slider).find("li:first");
      next.addClass("active");
      var i = $(slider).find("li").index(next);
      $(slider).find("ul").animate({ 'left': -w * i }, params.speed);
    }
    
    function slideToPrev() 
    {
        var next = $(slider).find("li.active").removeClass("active").prev();
        if (next.length == 0)
            next = $(slider).find("li:last");
        next.addClass("active");
        var i = $(slider).find("li").index(next);
        $(slider).find("ul").animate({ 'left': -w * i }, params.speed);
    }
    
    var slider = $(this);

    //default values
    params.startAt = (typeof params.startAt != 'undefined') ? params.startAt : 0;
    params.speed = (typeof params.speed != 'undefined') ? params.speed : 1000;
    params.show = (typeof params.show != 'undefined') ? params.show : 1;
    params.timerTriggered = (typeof params.timerTriggered != 'undefined') ? params.timerTriggered : 0;
    
    //take defaults
    $(slider).find("ul li").css({ 'float': 'left' });

    $(slider)
        .css({
            'width': $(slider).find("li:first").width() + "px",
            'height': $(slider).find("li:first").height() + "px",
            'overflow': 'hidden',
            'float': 'left'
        });

    $(slider).find("ul")
        .css({
            'width': '1000000px',
            'position': 'relative',
            'float': 'left',
            'marging': '0px',
            'padding': '0px'
        });

    current = ( params.timerTriggered ) ? $(slider).find("li.active").index() : params.startAt;
    var w = $(slider).find("li:eq(" + current + ")").addClass("active").width();
    $(slider).find("ul").css("left", (-w * current));

    $(params.btnNext).unbind("click").click(slideToNext);

    $(params.btnPrev).unbind("click").click(slideToPrev);
    
    if ( params.timerTriggered )
    {
      slideToNext();
    }
    
}
