/**********************************************************************
汎用スクリプトライブラリ
***********************************************************************/


/* 目次
-------------------------------------------------
 ・画像ロールオーバー
-------------------------------------------------- */


$(function(){
	//マウスオーバー：単純切替え（ボタン画像にclass="RollOver"を追加）
	var preLoad = new Object();
	$('img.RollOver, input.RollOver').not("[@src*='_over.']").each(function(){
					var imgSrc = this.src;
					var fType = imgSrc.substring(imgSrc.lastIndexOf('.'));
					var imgName = imgSrc.substr(0, imgSrc.lastIndexOf('.'));
					var imgOver = imgName + '_over' + fType;
					preLoad[this.src] = new Image();
					preLoad[this.src].src = imgOver;
					$(this).hover(
									function (){ this.src = imgOver; },
									function (){ this.src = imgSrc;  }
					);
	});

	//画像フェード処理（旧）
	$(".CrossFade").hover(
		function(){
			$(this).find(".Default").fadeTo("fast", 0.01);
		},
		function(){
			$(this).find(".Default").queue([]);
			$(this).find(".Default").fadeTo("fast", 1);
		}
	);
	
	//マウスオーバー：クロスフェード（ボタン画像をa要素で括ってclass="crossFade"を追加）
	$(".crossFade").each(function(){
		var i = 0;
		$(this).css({display:"block",	position:"relative"});
		var baseObj = $(this).find("img").css({position:"absolute", left:"0px", top:"0px"});
		var width = baseObj.attr("width");
		var height = baseObj.attr("height");
		$(this).css({width:width, height:height});
		$(this).attr("id", "#crossFade_" + i);
		
		//ホバーイメージの生成（ファイル名_over.拡張子）
		var hoverObj = baseObj.clone();
		var src = hoverObj.attr("src")
		var fType = src.substring(src.lastIndexOf('.'));
		var name = src.substr(0, src.lastIndexOf('.'));
		var hoverSrc = name + '_over' + fType;
		baseObj.addClass("off").css("z-index", 1000 + i);
		hoverObj.appendTo(this).addClass("over").css("z-index", 500 + i).attr("src", hoverSrc);
		
		$(".crossFade").hover(
			function(){
				$(this).find(".off").fadeTo(500, 0.01);
			},
			function(){
				$(this).find(".off").stop().queue([]).fadeTo(200, 1);
			}
		);
		i++;
	});

});

/* floatリストマージン処理（行頭要素にクラス追加 ※dtがある場合はカウントリセット※col=-1にすると先頭判定は1度のみ） */
function addFirstFlag(selector, col){
	if(col == -1) {
		$(selector + ":first").addClass("first");
		return;
	}
	var i = 0;
	$(selector).each(function(){
		if(this.tagName == "DT"){
			i = 0;
		}
		else if(i % col == 0){
			$(this).addClass("first");
			i++;
		}
		else {
			i++;
		}
	});
}


