/**
 * ホバー、クリック拡張JavaScript
 *
 * 指定範囲（.js_hover_click）内において
 * 指定エレメント（.js_hover_click_hover）のホバー時にクラス（.ov）を加え、
 * そのエレメントのクリック時に指定エレメント（.js_hover_click_click）のクリックを作動
 * （aタグが含まれる場合は最初のaのhrefに遷移）
 *
 * なお、js_hover_click、js_hover_click_hoverを同時に指定することで、
 * 選択範囲とホバー処理対象を同一のエレメントとすることが可能
 *
 * HTMLのDOM構成
 * .js_hover_click  (1...N)          ホバー、クリックの1つの枠組み
 *   .js_hover_click_click  (0...N)  クリック時の対象エレメント
 *   .js_hover_click_hover  (1...N)  ホバー時の対象エレメント
 * または
 * .js_hover_click .js_hover_click_hover (1...N)  ホバー、クリックの1つの枠組み＋ホバー時の対象が一致している場合
 *   .js_hover_click_click  (0...N)  クリック時の対象エレメント
 *
 * @require jquery.js
 */
//20090831 Mantis(14601) GAOF start
//$(function(){
	//$.hoverClick_JS();
//});
//20090831 Mantis(14601) GAOF end
// 2009-02-25 zhaoaiqing modifty start
$.hoverClick_JS = function() {
		//ホバー時の追加クラス
	var hoverClass = 'ov';
	//ホバー、クリックの1つの枠組み
	var sct = $('.js_hover_click');
	sct.each(
		function(){
			//クリック対象
			var clickElm = $(this).find('.js_hover_click_click');
			//ホバー対象
			var hoverElm;

			//枠自体がホバー対象
			if($(this).hasClass('js_hover_click_hover'))
			{
				hoverElm = $(this);
			}
			//枠内の対象
			else
			{
				hoverElm = $(this).find('.js_hover_click_hover');
			}

			hoverElm
				//ホバー処理
				.hover(
					function(){
						hoverElm.addClass(hoverClass);
					},
					function(){
						hoverElm.removeClass(hoverClass);
					}
				)
				//クリック処理
				.click(
					function (){
						clickElm.click();
						//最初のaタグにhref変更
						var anchor = clickElm.filter('a:first');
						if( anchor )
						{
							// update 2009/09/24 Log：リファラーがNULLになる問題対応 start
							// window.location.href = anchor.attr('href');
							if($.browser.msie) { 
		var body = document.getElementsByTagName("body")[0];
		var dummyLink = document.createElement("a");
		dummyLink.href = anchor.attr('href');
				body.appendChild(dummyLink);
		dummyLink.click();
		body.removeChild(dummyLink);

							} else { window.location.href = anchor.attr('href'); }

							// update 2009/09/24 Log：リファラーがNULLになる問題対応 end
						}
						return false;
					}
				)
		}
	);
}

// 2009-02-25 zhaoaiqing modifty end
//20090831 Mantis(14601) GAOF start
$(function(){
	$.hoverClick_JS();
});
//20090831 Mantis(14601) GAOF end

