﻿jQuery.fn.extend({
	silFlashBox: function(options) {
		return this.each(function() {
			new jQuery.silFlashBox(this, options);
		});
	}
});

jQuery.silFlashBox = function(obj, opt) {

  var opt = opt || {};
  opt.changeTime = opt.changeTime || 4000;
  opt.fadeTime = opt.fadeTime || 1000;
  opt.picTable = opt.picTable || [];
  opt.private = {Count:0};
  var $select = $(obj);
  tmp = [];
  tmp2 = 0;
  tmp3 = 0;
  
  $select.append("<img id=silFlashBox_Picture src="+opt.picTable[opt.picTable.length-1]+"></img>");
  $select.css({"background-image":"url("+opt.picTable[opt.picTable.length-1]+")", "background-repeat":"no-repeat"});

  for(i=0;i < opt.picTable.length;i++) {
    tmp[i] = new Image();
    tmp[i].src= opt.picTable[i];
    tmp[i].onload = function () {
    }
  }

  function silFlashBoxReplace() {
    if(opt.private.Count>opt.picTable.length-1) opt.private.Count=0;

    if(opt.private.Count==0)
      tmp2 = opt.picTable.length-1;
    else
      tmp2 = opt.private.Count-1;

    if(tmp3 != 0)
      $select.css({"background-image":"url("+opt.picTable[tmp2]+")", "background-repeat":"no-repeat"});
    else
      tmp3++;

    $("#silFlashBox_Picture").fadeOut(opt.fadeTime, function() {
      $("#silFlashBox_Picture").attr("src",opt.picTable[opt.private.Count]);
      $("#silFlashBox_Picture").fadeIn(opt.fadeTime);
      opt.private.Count++;
    });
  }
  
  setInterval(silFlashBoxReplace,opt.changeTime)

}
