/*
 * mopHover 2.0
 * By Hiroki Miura (http://www.mopstudio.jp)
 * Copyright (c) 2009 mopStudio
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
 * July 10, 2009
*/

var mopHover,mopHoverFunc;
var mopHoverFastSrc,mopHoverNewSrc0,mopHoverNewSrc1,mopHoverNewSrc2,mopHoverCheck;
var mopHoverTarget,mopHoverSlide,mopHoverSlideTarget;

jQuery.fn.extend({
	mopHover:function(setting){
		$(this).hover(
			function(){
				mopHoverTarget=setting.target;
				mopHoverSlide=setting.slide;
				mopHoverSlideTarget=setting.slideTarget;
				if(mopHoverTarget=='this'){
					mopHoverFastSrc=$(this).attr("src");
					mopHoverFunc.func1();
					mopHoverFunc.func2();
					$(this).attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
				}else if(mopHoverTarget=='next'){
					mopHoverFastSrc=$(this).next().attr("src");
					mopHoverFunc.func1();
					mopHoverFunc.func2();
					$(this).next().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
				}else if(mopHoverTarget=='child'){
					mopHoverFastSrc=$(this).children().attr("src");
					mopHoverFunc.func1();
					mopHoverFunc.func2();
					$(this).children().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
				}else if(mopHoverTarget=='childNext'){
					mopHoverFastSrc=$(this).children().next().attr("src");
					mopHoverFunc.func1();
					mopHoverFunc.func2();
					$(this).children().next().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
				}
			},
			function(){
				if(mopHoverTarget=='this'){
					mopHoverFastSrc=$(this).attr("src");
					mopHoverFunc.func1();
					mopHoverFunc.func2();
					$(this).attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
				}else if(mopHoverTarget=='next'){
					mopHoverFastSrc=$(this).next().attr("src");
					mopHoverFunc.func1();
					mopHoverFunc.func2();
					$(this).next().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
				}else if(mopHoverTarget=='child'){
					mopHoverFastSrc=$(this).children().attr("src");
					mopHoverFunc.func1();
					mopHoverFunc.func2();
					$(this).children().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
				}else if(mopHoverTarget=='childNext'){
					mopHoverFastSrc=$(this).children().next().attr("src");
					mopHoverFunc.func1();
					mopHoverFunc.func2();
					$(this).children().next().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
				}
			}
		);
		$(this).click(
			function(){
				if(mopHoverSlide==true){
					if(mopHoverTarget=='this'){
						mopHoverFastSrc=$(this).attr("src");
						mopHoverFunc.func3();
						if(mopHoverSlideTarget=='parentNext'){
							$(this).parent().next().slideToggle('fast');
						}
						if(mopHoverSlideTarget=='next'){
							$(this).next().slideToggle('fast');
						}
						$(this).attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
					}else if(mopHoverTarget=='next'){
						mopHoverFastSrc=$(this).next().attr("src");
						mopHoverFunc.func3();
						if(mopHoverSlideTarget=='parentNext'){
							$(this).parent().next().slideToggle('fast');
						}
						if(mopHoverSlideTarget=='next'){
							$(this).next().slideToggle('fast');
						}
						$(this).next().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
					}else if(mopHoverTarget=='child'){
						mopHoverFastSrc=$(this).children().attr("src");
						mopHoverFunc.func3();
						if(mopHoverSlideTarget=='parentNext'){
							$(this).parent().next().slideToggle('fast');
						}
						if(mopHoverSlideTarget=='next'){
							$(this).next().slideToggle('fast');
						}
						$(this).children().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
					}else if(mopHoverTarget=='childNext'){
						mopHoverFastSrc=$(this).children().next().attr("src");
						mopHoverFunc.func3();
						if(mopHoverSlideTarget=='parentNext'){
							$(this).parent().next().slideToggle('fast');
						}
						if(mopHoverSlideTarget=='next'){
							$(this).next().slideToggle('fast');
						}
						$(this).children().next().attr({src:mopHoverNewSrc1+mopHoverNewSrc2});
					}
				}
			}
		);
	}
});

mopHoverFunc={
	func0:function(){
		mopHoverNewSrc0=mopHoverFastSrc.slice(0,-4);
	},
	func1:function(){
		mopHoverFunc.func0();
		mopHoverCheck=mopHoverNewSrc0.slice(-3,-1);
		mopHoverNewSrc1=mopHoverNewSrc0.slice(0,-3);
		if(mopHoverCheck=='_n'){
			mopHoverNewSrc1=mopHoverNewSrc1+'_on'
		}else if(mopHoverCheck=='_o'){
			mopHoverNewSrc1=mopHoverNewSrc1+'_no'
		}else{
			mopHoverNewSrc1=mopHoverNewSrc1+'_no'
		}
	},
	func2:function(){
		mopHoverNewSrc2=mopHoverFastSrc.slice(-4,-1);
		if(mopHoverNewSrc2==".pn"){
			mopHoverNewSrc2=".png"
		}else if(mopHoverNewSrc2==".jp"){
			mopHoverNewSrc2=".jpg"
		}else if(mopHoverNewSrc2==".gi"){
			mopHoverNewSrc2=".gif"
		}
	},
	func3:function(){
		mopHoverFunc.func0();
		mopHoverCheck2=mopHoverNewSrc0.slice(-6,-4);
		mopHoverNewSrc0=mopHoverNewSrc0.slice(0,-6);
		if(mopHoverCheck2=='_d'){
			mopHoverNewSrc1=mopHoverNewSrc0+'_up_xx'
		}else{
			mopHoverNewSrc1=mopHoverNewSrc0+'_dn_on'
		}
	}/*end of func*/
}
