/*

SwfFocusSoundControll
---------------------------------------

Firefoxで新規タブを閉じて、
Flashページが表示されたときにfocusが得られない。
→Flashにfocus渡す


*/

$(document).ready(function(){
	sfsc.constructor();
});

sfsc = {
	//プロパティー
	swfinfo : {
		id : "external_flashcontent"	
	},
	browser : undefined,
	//
	
	//初期化
	constructor : function(){
		//
		sfsc.browser = sfsc.getBrowser();
		//
		window.onfocus = sfsc.windowFocus;
		window.onblur = sfsc.windowBlur;
		//
		if(sfsc.browser == "IE")
		{
			$("#" + sfsc.swfinfo.id).bind("focusin", function(){
				sfsc.flashFocus();
			});
			//
			$("#" + sfsc.swfinfo.id).bind("focusout", function(){
				sfsc.flashBlur();  
			});
		}
		//document.getElementById(sfsc.swfinfo.id).onfocus = sfsc.flashFocus;
		//document.getElementById(sfsc.swfinfo.id).onblur = sfsc.flashBlur;
	},
	//
	windowFocus : function(){
		//console.log("windowFocus");
		document.getElementById(sfsc.swfinfo.id).focus();
		sfsc.soundOn();
	},
	//
	windowBlur : function(){
		//console.log("windowBlur");
		//window.blur();
		sfsc.soundOff();
	},
	//
	flashFocus : function(){
		//console.log("flashFocus");
		window.focus();
		sfsc.callFlash("soundOn");
	},
	//
	flashBlur : function(){
		//console.log("flashBlur");
		sfsc.callFlash("soundOff");
	},
	//
	soundOn : function(){
		sfsc.callFlash("soundOn");
	},
	//
	soundOff : function(){
		sfsc.callFlash("soundOff");
	},
	//
	//直接Flash側のFunctionを呼んでると、js読み込み時に「そんなFunctionない！」と怒られるから
	callFlash : function(func){
		if(sfsc.getObject(sfsc.swfinfo.id)[func]){
			sfsc.getObject(sfsc.swfinfo.id)[func]();
		}
	},
	//
	getObject : function(objname){
		if(navigator.appName.indexOf("Microsoft") != -1){
			return window[objname];
		}else{
			return document[objname];
		}
	},
	// GET ID OBJECT
	getElement : function(ID){
		return (document.getElementById(ID)) ? document.getElementById(ID) : undefined;
	},
	//
	getBrowser : function(){
		var mAge = navigator.userAgent;
		var mRet = "ETC";
		if( mAge.indexOf("MSIE") >= 0 ){ mRet = "IE"; }		// IE
		if( mAge.indexOf("Firefox") >= 0 ){ mRet = "FF"; }	// FOX
		if( mAge.indexOf("Opera") >= 0 ){ mRet = "OP"; }	// OPERA
		if( mAge.indexOf("Safari") >= 0 ){ mRet = "SF"; }	// Safari
		return mRet;
	}
}

window.onload = function(){
	//sfsc.constructor();
}
