﻿



/*
======== table of content. =================================
Description: fadein/out button image when mouse overed.
Update:  2010/07/1-
Author:  Japan Electronic Industrial Arts Co.Ltd.
         http://www.jeia.co.jp/
License: licensed under the MIT (MIT-LICENSE.txt) license.
Using:   using jQuery
         http://jquery.com/
         using DD_belatedPNG for IE6-8
         http://www.dillerdesign.com/experiment/DD_belatedPNG/

[custom]
2011/03/31 
	line:95,100,101,102,112,130,131,132
============================================================
*/
new function() {
	var fadeInTime = 500;	//フェードインの時間
	var fadeOutTime = 500;	//フェードアアウトの時間
	var offClass = 'off';	//フェードしない側(下地)の名称
	var onClass = 'on';		//フェードする側の名称
	var targetString =  'a img';//ターゲットをここで選択、基本的に一気に取得できるようにしておくのがよさげ
	var EffCutTarget = 'EffCut';

	if ( typeof jQuery == 'undefined' ) {
		return;
	}
	
	jQuery(document).ready( function() {
		init();
	});
	
	/**
	 * initialize
	 */
	
	function init() {
		jQuery(targetString).each( function() {
			var src = jQuery(this).attr( 'src' );
			var fadePatern = new RegExp( /.*_off\.[^.]+/ );
			var pngPatern = new RegExp( /.*\.png$/ );
			var ie7_flag = false;
			if($.browser.name =="msie" && $.browser.versionNumber == 7){
					ie7_flag = true;
			};
			if(ie7_flag == false){
						if($(this).hasClass(EffCutTarget) == false){
							var onImage;
							
							if ( src.match( fadePatern ) ) {
								onImage = jQuery(this).clone();
								onImage.
									attr( 'src', src.replace( '_off.', '_on.' ) ).
									addClass( onClass ).
									fadeTo( 0, 0 ).
									css({
										'position': 'absolute',
										'left': '0px',
										'top': '0px'
									});

								jQuery(this).
									addClass( offClass ).
									css({
										'position': 'absolute',
										'left': '0px',
										'top': '0px'
									}).
									parent().
										append( onImage ).
										mouseover( onMouseOver ).
										mouseout( onMouseOut ).
										css({
											'display': 'block',
											'position': 'relative'
										}).
										width( jQuery(this).width() ).
										height( jQuery(this).height() );
								
								
								if (typeof(jQuery(this).fixPng) != 'undefined') {
									if ( src.match( pngPatern ) ) {
										jQuery(this).fixPng().css('cursor','pointer');
										jQuery(onImage.get(0)).fixPng().css('cursor','pointer');
									}
								}
								
							/*
								if ( typeof( DD_belatedPNG ) != 'undefined' ) {
									if ( src.match( pngPatern ) ) {
										DD_belatedPNG.fixPng( this );
										DD_belatedPNG.fixPng( onImage.get(0) );
									}
								}
							*/
							}
						}
			}else{
				jQuery(this).mouseover(function(){
					jQuery(this).attr('src',src.replace( '_off.', '_on.' ));
				}).mouseout(function(){
					jQuery(this).attr('src',src.replace( '_on.', '_off.' ));
				});
			}
		});
		



		//add isoda 2011 04 27 
		jQuery("."+EffCutTarget).each( function() {
			var Eff_src = jQuery(this).attr( 'src' );
			var Eff_fadePatern = new RegExp( /.*_off\.[^.]+/ );
			var Eff_pngPatern = new RegExp( /.*\.png$/ );
			jQuery(this).mouseover(function(){
				jQuery(this).attr('src',Eff_src.replace( '_off.', '_on.' ));
			}).mouseout(function(){
				jQuery(this).attr('src',Eff_src.replace( '_on.', '_off.' ));
			});
		
		});
		
		
		
		
	}
	
	
	/**
	 * mouseover event( fadein )
	 */
	function onMouseOver( e ) {
		
		var src = jQuery(this).children( 'img.' + offClass ).attr( 'src' );
		var pngPatern = new RegExp( /.*\.png$/ );
		
		//jQuery(this).unbind( 'mouseover', onMouseOver );
		jQuery(this).children( 'img.' + offClass ).stop(true);
		jQuery(this).children( 'img.' + onClass ).stop(true);
		if ( src.match( pngPatern ) ) {
			jQuery(this).
		//		children( 'img.' + offClass ).
		//			fadeTo( fadeInTime, 0 ).
		//		end().
				children( 'img.' + onClass ).
					fadeTo( fadeInTime, 1, function(){
						//jQuery(this).parent().mouseover( onMouseOver );
					});
		}
		else {
			jQuery(this).
				children( 'img.' + onClass ).
					fadeTo( fadeInTime, 1, function(){
						//jQuery(this).parent().mouseover( onMouseOver );
					});
		}
	}
	
	/**
	 * mouseout event( fadeout )
	 */
	function onMouseOut( e ) {

		var src = jQuery(this).children( 'img.' + offClass ).attr( 'src' );
		var pngPatern = new RegExp( /.*\.png$/ );
		
		jQuery(this).children( 'img.' + offClass ).stop(true);
		jQuery(this).children( 'img.' + onClass ).stop(true);
		
		if ( src.match( pngPatern ) ) {
			jQuery(this).
		//		children( 'img.' + offClass ).
		//			fadeTo( fadeOutTime, 1 ).
		//		end().
				children( 'img.' + onClass ).
					fadeTo( fadeOutTime, 0 ,function(){
						
					});
		}
		else {
			jQuery(this).
				children( 'img.' + onClass ).
					fadeTo( fadeOutTime, 0 );
		}
	}
}






