jQuery.fn.extend({
	silSlideShow: function(options) {
		return this.each(function() {
			new jQuery.silSlideShow(this, options);
		});
	}
});

jQuery.silSlideShow = function(obj, opt) {

 	var opt = opt || {};
	 opt.changeTime = opt.changeTime || 3000;
	 opt.fadeTime = opt.fadeTime || 1000;
	 opt.autoPlay = opt.autoPlay || 0;
	 opt.picTable = opt.picTable || [];
  opt.txtTable = opt.txtTable || [];
  opt.private = {Count:0,Busy:0,Loading:0};
  var $select = $(obj);
  tmp = [];
  
  $select.append("<div class=silSlideShow_Block><div id=silSlideShow_Block_wrap><img id=silSlideShow_Picture src=loading.gif></img></div></div>");

  $select.append("<div id=silSlideShow_Menu></div>");
  $("#silSlideShow_Menu").append("<ul id=silSlideShow_Buttons></ul>");
  $("#silSlideShow_Buttons").append("<div id=silSlideShow_Txt></div>");

  for(i=0;i < opt.picTable.length;i++) {
    tmp[i] = new Image();
    tmp[i].src= opt.picTable[i];
    tmp[i].onload = function () {
    }
  }

  if (opt.private.Count == 0 && opt.picTable.length) {
    $("#silSlideShow_Picture").attr("src", opt.picTable[0]);
    $("#silSlideShow_Txt").html(opt.txtTable[0]);
  }

  $("#silSlideShow_Next").click(function() {
    if(opt.private.Busy != 1) {
      $(".silSlideShow_Block").css({"background-image":"url("+opt.picTable[opt.private.Count]+")", "background-repeat":"no-repeat"  } );
      opt.private.Count++;
      $("#silSlideShow_Picture").fadeOut(opt.fadeTime, function() {
        if(opt.private.Count > opt.picTable.length-1) opt.private.Count = 0;
        $("#silSlideShow_Picture").attr("src", opt.picTable[opt.private.Count]);
        $("#silSlideShow_Picture").fadeIn(opt.fadeTime);
        $("#silSlideShow_Txt").html(opt.txtTable[opt.private.Count])
      });
    }
  });

  $("#silSlideShow_Previous").click(function() {
    if(opt.private.Busy != 1) {
      $(".silSlideShow_Block").css({"background-image":"url("+opt.picTable[opt.private.Count]+")", "background-repeat":"no-repeat"  } );
      opt.private.Count--;
      $("#silSlideShow_Picture").fadeOut(opt.fadeTime, function() {
        if(opt.private.Count < 0) opt.private.Count = opt.picTable.length-1;
        $("#silSlideShow_Picture").attr("src", opt.picTable[opt.private.Count]);
        $("#silSlideShow_Picture").fadeIn(opt.fadeTime);
        $("#silSlideShow_Txt").html(opt.txtTable[opt.private.Count])
      });
    }
  });

  $("#silSlideShow_Play").click(function() {
    if(opt.private.Busy != 1) {
	     var test = setInterval(play, opt.changeTime);
	  	  $("#silSlideShow_Picture:last").attr("handle", test);
  		  opt.private.Busy = 1;
    }
  });

  function play() {
    $(".silSlideShow_Block").css({"background-image":"url("+opt.picTable[opt.private.Count]+")", "background-repeat":"no-repeat"  } );
    opt.private.Count++;
    //$("#silSlideShow_Picture").fadeOut(opt.fadeTime, function() {
    $("#silSlideShow_Block_wrap").fadeOut(opt.fadeTime, function() {        
      if(opt.private.Count > opt.picTable.length-1) opt.private.Count = 0;
      $("#silSlideShow_Picture").attr("src", opt.picTable[opt.private.Count]);
      //$("#silSlideShow_Picture").fadeIn(opt.fadeTime);
      $("#silSlideShow_Block_wrap").fadeIn(opt.fadeTime);
      $("#silSlideShow_Txt").html(opt.txtTable[opt.private.Count])
    });
  }

  $("#silSlideShow_Pause").click(function() {
    var test = $("#silSlideShow_Picture:last").attr("handle");
    opt.private.Busy = 0;
    clearInterval(test);
    $("#silSlideShow_Picture").css({"filter":"alpha(opacity=0)", "opacity":"1.0", "-moz-opacity":"1"});
  });
  
  if(opt.autoPlay == 1) {
    if(opt.private.Busy != 1) {
	     var test = setInterval(play, opt.changeTime);
		    $("#silSlideShow_Picture:last").attr("handle", test);
 	    opt.private.Busy = 1;
    }
  }

}
