var	originalImage=new Array;

// DONT FORGET TO SURROUND WHOLE REGEX WITH BRACES.
function left_context(str) {
	var n = str.indexOf(RegExp.$1, 0);
	if ( n > 0 ) {
		return str.substr(0, n);
	}
	return str;
}
function SwapImage(img,suffix)
{
	var re=/((_[\w\-]+)?(\.\w+))$/;
	var m = re.exec( img.src );
	var tail=RegExp.$3;
	img.src = left_context(img.src) + "_" + suffix + tail ;
}
function PreloadImage(img)
{
	if( img.toString().substr(0,7) != "[object" )
		(new Image).src=( img );
	else
	{
		var re=/(.+[^\/]+)(\.\w+)$/;
		re.exec(img.src);
		var head=RegExp.$1;
		var tail=RegExp.$2;
		if( !originalImage[head] )
		{
			var	reTail=new RegExp("_over$");
			if( ! reTail.exec( head ) )
				(new Image).src=head + "_" + "over" + tail;
			originalImage[head]=img.src;
		}
	}
}
// init.
	
	var bIsMenuOpen=false;
	function MouseOver(img)
	{
		if( !( bIsMenuOpen && img.id=='openMenu' ) )
			SwapImage(img, 'over' );
	}
	 
	function MouseOut(img)
	{
		if( !( bIsMenuOpen && img.id=='openMenu' ) )
		{
			// 既にoverになっていないかをチェックして _over_over になるのを防止。
			var re=/(([_a-zA-Z]+)((-(\d+))?)(_[^_]+)(\.\w+))$/;
			re.exec( img.src );
			var head=left_context(img.src) + RegExp.$2;
			var category=RegExp.$2;
			var suffix=RegExp.$3;
			var suffix_n=RegExp.$5;
			var tail=RegExp.$7;

			re = /(\w+)(-(\d+))?\.\w+$/;
			re.exec( window.location.pathname );
			var path_category = RegExp.$1;
			var path_n = RegExp.$3;
			//alert(window.location.pathname);
			//alert(path_n+":"+suffix_n);
			if (path_n.length == 0 && suffix_n.length == 0) {
				if (category == path_category) {
					img.src = head + suffix + "_selected"+ tail ;
				}  else {
					img.src = head + suffix + tail ;
				}
			} else {

				if (path_n == suffix_n) {
					img.src = head + suffix + "_selected"+ tail ;
				} else {
					img.src = head + suffix + tail ;
				}
			}
		}
	}
