/**
 * @author Ayumu Takai 
 * @extends jquery
 */

jQuery.fn.eyecatch = function(options){
	var opt = options;
    var _eyecatch = this;
    var fragments = $(_eyecatch).children('.fragment');
    var thumbnails = $(_eyecatch).children('ul').children('li').children('a');
    var currentThumbnail = null;
    
    var select = function(anchor){
	    $(fragments).removeClass('selected');
	    $(thumbnails).removeClass('selected');
	    $(anchor).addClass('selected');
	    $($(anchor).attr('href')).addClass('selected');
    };

    var delaySelect = function(anchor){
    	if(anchor === currentThumbnail){
    		select(anchor);
    	}
    	currentThumbnail = null;
    };
    
    var changeEyecatch = function(){
         var p = $(opt.isAutoChange);
        $(p).text();
		if( $(p).text() == "true" ){
			var nextThumbnail = $(thumbnails).filter('.selected').parent().next().children('a');
			if( nextThumbnail.length == 0){
				nextThumbnail = thumbnails.get(0);
			}
			select(nextThumbnail);
		}
		setTimeout(function(){changeEyecatch();},options.interval);
    }
    

    $(thumbnails).unbind();

    var rolloverImgs = $(thumbnails).children('img');
	rolloverImgs.each(function(){
		this.originalSrc = $(this).attr('src');
		this.rolloverSrc = this.originalSrc.replace(new RegExp('('+"_on"+')?(\.gif|\.jpg|\.png)$'), "_on"+"$2");
		this.rolloverImg = new Image;
		this.rolloverImg.src = this.rolloverSrc;
	});
    
    function currentThumb(){
    	return currentThumbnail;
    }
    
    $(thumbnails).hover(function(ev){
	    ev.preventDefault();
		currentThumbnail = ev.currentTarget;
		var p = $(opt.isAutoChange);
		$(p).text("false");
		var img = $(this).children('img')[0];
		$(img).attr('src',img.rolloverSrc);
		setTimeout(function(){
			var ct = currentThumb();
			//console.log('currentThumb:' + ct + ' ev:' + ev.currentTarget);
    		if(ev.currentTarget === ct ){
    			select(ev.currentTarget);
    		}
		},500);
    },function(){
    	currentThumbnail = null;
        var p = $(opt.isAutoChange);
        $(p).text("true");
	    var img = $(this).children('img')[0];
    	$(img).attr('src',img.originalSrc);
    });
    
    $(fragments).hover(function(ev){
    	currentThumbnail = null;
	    ev.preventDefault();
        var p = $(opt.isAutoChange);
        $(p).text("false");    
    },function(){
        var p = $(opt.isAutoChange);
        $(p).text("true");    
    });
    
    $(thumbnails).click(function(ev){
    	ev.preventDefault();
    	var anchor = $($(ev.currentTarget).attr('href'));
			anchor = $(anchor).children('a');
    	if($(anchor).attr('href')){
    		document.location = $(anchor).attr('href');
    	}
    });
	

	var url_params = location.search.substr(1);
	if(url_params){
		var Arr_url = url_params.split("&");
		var params = {};
		for ( var i in Arr_url){
   			 var ar = Arr_url[i].split("=");
   			 params[ar[0]] = ar[1];
  		}
  		if(params['catchup']){
  			var index = params['catchup'];
  			var anchor = thumbnails[index];
  			select(anchor);
  			var p = $(opt.isAutoChange);
        	$(p).text("false");  
  		}
  	}
    setTimeout(function(){changeEyecatch();},options.interval);
};

