/**
 * jQuery Shuffle Bannar plugin
 * Copyright (C) cubdesign | http://www.cubdesign.com/
 * Dual licensed under the MIT <http://www.opensource.org/licenses/mit-license.php>
 * and GPL <http://www.opensource.org/licenses/gpl-license.php> licenses.
 * Date: 2010-02-26
 * @author Takeo Tamura
 * @version 0.5.0
 */

$(function() {
var bannarList = new Array();
bannarList.push( {image:"/assets_c/visual_01.jpg",link:"http://www.organic-restaurant-grace.com/" });
bannarList.push( {image:"/assets_c/visual_02.jpg",link:"http://www.organic-restaurant-grace.com/" });
bannarList.push( {image:"/assets_c/visual_03.jpg",link:"http://www.organic-restaurant-grace.com/" });
bannarList.push( {image:"/assets_c/visual_04.jpg",link:"http://www.organic-restaurant-grace.com/" });
bannarList.push( {image:"/assets_c/visual_05.jpg",link:"http://www.organic-restaurant-grace.com/" });
bannarList.push( {image:"/assets_c/visual_06.jpg",link:"http://www.organic-restaurant-grace.com/" });
$("#visual").visual({bannarList:bannarList});
});

(function($) {
    var name_space = 'visual';
    $.fn[name_space] = function(options) {
        var elements = this;

        var settings = $.extend({
            'bannarList' : [],
'interval':5000,
'fadeOutTime' : 1000,
'fadeInTime' : 1000
        }, options);


var addData = function (v) {
            $.data(v, name_space, {});
            return $(v);
        };


/*
* シャッフルする
*/
var shuffle = function (targetArray)  {
var i  = targetArray.length;
 while (i) {
var j  = Math.floor(Math.random() * i);
var x  = targetArray[--i];
targetArray[i] = targetArray[j];
targetArray[j] = x; 
 }
return targetArray; 
};

//キャッシュ防止用
var nocache = new Date().getTime();


var bannarList = settings.bannarList;
//シャッフル
//bannarList = shuffle(settings.bannarList);

//今表示しているバナーの番号
var currentBannarNumber = -1;

//インターバルID
var iId = -1;

/*
* バナーを変更する
*/
var changeBannarImage = function ()  {
clearInterval(iId);
 $("#visual img:first").fadeOut(settings.fadeOutTime,function(){
$(this).remove();
loadBannarImage();
 });

};
/*
* バナーを読み込む
*/
var loadBannarImage = function ()  {
currentBannarNumber++;

if( currentBannarNumber == bannarList.length ){
currentBannarNumber = 0;
}

var targetBannar = bannarList[ currentBannarNumber ];



var imageURL = "" + targetBannar.image + "?nocache="+nocache;
var linkURL = "" + targetBannar.link;

var img = new Image();

 $(img).load(function(){
$(this).hide();
$("#visual").append(this);
$(this).fadeIn(settings.fadeInTime);
$(this).click(function(){location.href=linkURL;});
iId = setInterval(changeBannarImage,settings.interval)
}).attr('src', imageURL)

};

        elements.each(function() {
addData( this );
loadBannarImage();
        });

        //method chain
        return this;
    };
})(jQuery);


