var overKey = "_on";
var activeKey = "_on";

// 無衝突モードにする
jQuery.noConflict();

/*
 * ロード時の自動ロールオーバー
 */
jQuery(function() {
	var classname = ".rollover";
	jQuery(classname).hover(
		function() {
			swapImg(jQuery(this).find("img"), overKey);
		},
		function() {
			swapImg(jQuery(this).find("img"), "");
		}
	);
	jQuery(classname).focus(function() {
			swapImg(jQuery(this).find("img"), overKey);
	});
	jQuery(classname).blur(function() {
			swapImg(jQuery(this).find("img"), "");
	});
});

/*
 * ロード時の自動プリロード
 */
jQuery(function() {
	var images = jQuery('img.preload');
	for (var i = 0; i < images.length; i++) {
		var path = images[i].src;
		var suffix = path.substr(path.lastIndexOf("."));
		var basename = getBasename(path, overKey, activeKey);
		(new Image()).src = basename + overKey + suffix;
	}
});

/*
 * ロード時の自動ナビゲーション要素変化
 */
jQuery(function() {
	var images = jQuery('img');
	for (var i = 0; i < images.length; i++) {
		var img = images[i];
		if (!img.id) continue;
		
		var path = img.src;
		var suffix = path.substr(path.lastIndexOf("."));
		var basename = getBasename(img.src, overKey, activeKey);
		(new Image()).src = basename + overKey + suffix;
		
		var classname = "." + img.id;
		if (jQuery.find(classname).length > 0) {
				img.src = basename + activeKey + suffix;
		}
	}
});
				
function swapImg(img, key) {
	var path = img.attr("src");
	var basename = getBasename(path, overKey, activeKey);
	var suffix = path.substr(path.lastIndexOf("."));
	
	
	path = img.attr("id") && jQuery.find("."+img.attr("id")).length > 0
		 ? basename + activeKey + suffix
		 : basename + key + suffix;

	img.attr("src", path);
}

/*
 * ベース名を取り出す
 */
function getBasename(src, key, activeKey) {
	var path = src.substr(0, src.lastIndexOf('.'));
	if (path.lastIndexOf(key) == (path.length - key.length)) {
		path = path.substr(0, path.length - key.length);
	}
	if (path.lastIndexOf(activeKey) == (path.length - activeKey.length)) {
		path = path.substr(0, path.length - activeKey.length);
	}
	return path;
}


