/*
	jQuery.ui.tabs でマウスオーバー画像切り替えを使うためのスクリプト。
	必ず jQuery.ui.tabs の初期化より後にスクリプトを読み込む。

	オーバー画像は必ず「-over」を付ける。
*/

$(function() {

	var jq_rollOver_cache = new Object();	// 画像キャッシュ用

	$("img.swap").each(
		function(i){
			var imgsrc = this.src;
			var dotpos = imgsrc.lastIndexOf('.');
			var imgsrc_over = imgsrc.substr(0,dotpos) + '-over.' + imgsrc.substr(dotpos+1);

			// ロールアウト画像をプロパティとして設定する
			jQuery.data(this, "imgsrc", imgsrc);

			jq_rollOver_cache[this.src] = new Image();
			jq_rollOver_cache[this.src].src = imgsrc_over;

			// 現在が選択状態なら絵を変更
			if( isSelected(this)){
				this.src = imgsrc_over;
			}
			
			
			/******************************
			* クリック時
			*/
			$(this).click(
				function(){
					// 選択状態だったら抜ける
					if( isSelected(this)){ return; }

					// 自分以外を通常状態に戻す
					var selected = $(".ui-tabs-selected img.swap");
					
					for( var i=0; i<selected.length; i++ ){
						if( jQuery.data(selected[i]) != jQuery.data(this)){
							selected[i].src = jQuery.data(selected[i], "imgsrc" );
						}
					}
				}
			);
			
			/******************************
			* ホバー時
			*/
			$(this).hover(
				function(){ this.src = imgsrc_over; },
				
				function(){
					// 選択状態だったら抜ける
					if( isSelected(this)){ return; }
					this.src = imgsrc;
				}
			);
		}
	);
	
	/******************************
	* 選択状態の中に自分自身がいないかチェック
	*/
	function isSelected( target ){
		var selected = $(".ui-tabs-selected img.swap");

		for( var i=0; i<selected.length; i++ ){
			if( jQuery.data(selected[i]) == jQuery.data(target)){
				return true;
			}
		}
		
		return false;
	}
});
