﻿/******************************************************************************
	初期設定
******************************************************************************/
var BQBlogpartsURL = "http://www.bqueen.jp/bp/";

var BQTickerSwf = BQBlogpartsURL + "bp_ticker_a.swf";
var BQFloatSwf1 = BQBlogpartsURL + "bp_float1_a.swf";
var BQFloatSwf2 = BQBlogpartsURL + "bp_float2_a.swf";
var BQFloatSwf3 = BQBlogpartsURL + "bp_float3_a.swf";

var BQTickerId = "BQTickerexternal";
var BQFloatId1 = "BQFloat1external";
var BQFloatId2 = "BQFloat2external";
var BQFloatId3 = "BQFloat3external";

var BQFloat1LayerW = 205;
var BQFloat1LayerH = 210;
var BQFloat2LayerW = 360;
var BQFloat2LayerH = 214;
var BQFloat3LayerW = 328;
var BQFloat3LayerH = 238;

var BQFloat1AppFlg;
var BQFloat2AppFlg;
var BQFloat3AppFlg;

// userkey ---------------------------------------

var BQ_js_objs = window.document.getElementsByTagName('script');
var BQ_this_js = BQ_js_objs[BQ_js_objs.length - 1];
var BQ_userkey = BQ_this_js.getAttribute('src').match(/userkey=[0-9a-zA-Z]+/)[0].substr(8);


// run ---------------------------------------

function BQ_AddLoadFunction() {
	BQ_ShowSwfLayer(0);
}

if(window.addEventListener) window.addEventListener("load", BQ_AddLoadFunction, false);
else if(window.attachEvent) window.attachEvent("onload", BQ_AddLoadFunction);


// Tikerを作成する
BQMakeTicker();


/******************************************************************************
	関数名		BQMakeTicker
	機能		ティッカーを作成する
******************************************************************************/
function BQMakeTicker(){
	var sHtml = "";
	sHtml += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45" width="160" height="340" id="' + BQTickerId + '" align="middle">';
	sHtml += '<param name="allowScriptAccess" value="always" />';
	sHtml += '<param name="menu" value="false" />';
	sHtml += '<param name="movie" value="' + BQTickerSwf + '" />';
	sHtml += '<param name="quality" value="high" />';
	sHtml += '<param name="bgcolor" value="#ffffff" />';
	sHtml += '<param name="wmode" value="transparent" />';
	sHtml += '<param name="FlashVars" value="userkey=' + BQ_userkey + '" />';
	sHtml += '<embed wmode="transparent" src="' + BQTickerSwf + '" FlashVars="userkey=' + BQ_userkey + '" quality="high" menu="false" bgcolor="#ffffff" width="160" height="340" name="' + BQTickerId + '" allowScriptAccess="always" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	sHtml += '</object>';
	document.write(sHtml);
	document.write("<script type='text/javascript' src='http://www.bqueen.jp/sys/api/pv.php?userkey=" + BQ_userkey + "'></script>");
}

//--------------------------------------------------------------
// Js to As
//--------------------------------------------------------------

//Float2が閉じられたときFloat1に教えてあげる
function BQ_Float2Closed() {
	var player = document.all ? window[BQFloatId1] : document[BQFloatId1];
	player.BQ_Float2Closed();
}

//Float1,Float2が消えたあと、削除
function BQ_FloatSwfHiddenComplete() {
	BQ_HideSwfLayer(0);
	BQ_HideSwfLayer(1);
}

//Float3が消えたあと、削除
function BQ_Float3Closed() {
	BQ_HideSwfLayer(2);
}

/********************************************************************************
	関数名		BQ_ShowSwfLayer
	機能		Flashレイヤーを表示
	入力		sMode	0:Float1作成　1:Float2作成　2:Float3作成
********************************************************************************/
function BQ_ShowSwfLayer(sMode){
	var BQFloat1Layer;
	var BQFloat2Layer;
	var BQFloat3Layer;
	var iLayerWidth;
	var iLayerHeight;
	
	if(sMode==0){

		// float1 --------------------------------------------------------

		BQFloat1AppFlg = true;
		
		BQFloat1Layer = document.createElement('DIV');
		BQFloat1Layer.id = BQFloatId1;

		// フローティングレイヤーにスタイルを指定する
		if(window.attachEvent) { // for IE
			BQFloat1Layer.style.position = "absolute";
			BQFloat1Layer.style.zIndex = 112358;
			BQFloat1Layer.style.display = "block";
			BQFloat1Layer.style.width = BQFloat1LayerW + "px";
			BQFloat1Layer.style.height = BQFloat1LayerH + "px";
			BQFloat1Layer.style.top = "0px";
			BQFloat1Layer.style.left = "0px";
		} else { // for Modern Browser
			BQFloat1Layer.style.position = "fixed";
			BQFloat1Layer.style.zIndex = 112358;
			BQFloat1Layer.style.display = "block";
			BQFloat1Layer.style.width = BQFloat1LayerW + "px";
			BQFloat1Layer.style.height = BQFloat1LayerH + "px";
			BQFloat1Layer.style.top = "0px";
			BQFloat1Layer.style.left = "0px";
		}

		// SWFタグを作成する
		var float1Html = "";
		float1Html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45" width="' + BQFloat1LayerW + '" height="' + BQFloat1LayerH + '" align="middle" id="' + BQFloatId1 + '">';
		float1Html += '<param name="allowScriptAccess" value="always" />';
		float1Html += '<param name="menu" value="false" />';
		float1Html += '<param name="movie" value="' + BQFloatSwf1 + '" />';
		float1Html += '<param name="quality" value="high" />';
		float1Html += '<param name="wmode" value="transparent" />';
		float1Html += '<param name="salign" value="lt" />';
		float1Html += '<param name="FlashVars" value="userkey=' + BQ_userkey + '" />';
		float1Html += '<embed salign="lt" align="middle" src="' + BQFloatSwf1 + '" FlashVars="userkey=' + BQ_userkey + '" quality="high" menu="false" wmode="transparent" width="' + BQFloat1LayerW + '" height="' + BQFloat1LayerH + '" name="' + BQFloatId1 + '" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
		float1Html += '</object>';
		// SWFを挿入する
		BQFloat1Layer.innerHTML = float1Html;

		// オブジェクトを追加する
		document.getElementsByTagName('body')[0].appendChild(BQFloat1Layer);
		
	} else if(sMode==1) { // Float2を作成 (status=1,2の場合に実行される)

		// フローティングレイヤーのサイズを算出する
		iLayerWidth = BQ_GetWindowSize("width");
		iLayerHeight = BQ_GetWindowSize("height");

		// float2 --------------------------------------------------------
		
		BQFloat2AppFlg = true;

		BQFloat2Layer = document.createElement('DIV');
		BQFloat2Layer.id = BQFloatId2;

		// フローティングレイヤーにスタイルを指定する
		if(window.attachEvent) { // for IE
			BQFloat2Layer.style.position = "absolute";
			BQFloat2Layer.style.zIndex = 112359;
			BQFloat2Layer.style.display = "block";
			BQFloat2Layer.style.width = BQFloat2LayerW + "px";
			BQFloat2Layer.style.height = BQFloat2LayerH + "px";
			BQFloat2Layer.style.top = iLayerHeight - BQFloat2LayerH + "px";
			BQFloat2Layer.style.left = iLayerWidth - BQFloat2LayerW + "px";
		} else { // for Modern Browser
			BQFloat2Layer.style.position = "fixed";
			BQFloat2Layer.style.zIndex = 112359;
			BQFloat2Layer.style.display = "block";
			BQFloat2Layer.style.width = BQFloat2LayerW + "px";
			BQFloat2Layer.style.height = BQFloat2LayerH + "px";
			BQFloat2Layer.style.bottom = "0px";
			BQFloat2Layer.style.right = "0px";
		}

		// SWFタグを作成する
		var float2Html = "";
		float2Html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45" width="' + BQFloat2LayerW + '" height="' + BQFloat2LayerH + '" align="middle" id="' + BQFloatId2 + '">';
		float2Html += '<param name="allowScriptAccess" value="always" />';
		float2Html += '<param name="menu" value="false" />';
		float2Html += '<param name="movie" value="' + BQFloatSwf2 + '" />';
		float2Html += '<param name="quality" value="high" />';
		float2Html += '<param name="wmode" value="transparent" />';
		float2Html += '<param name="salign" value="lt" />';
		float2Html += '<param name="FlashVars" value="userkey=' + BQ_userkey + '" />';
		float2Html += '<embed salign="lt" align="middle" src="' + BQFloatSwf2 + '" FlashVars="userkey=' + BQ_userkey + '" quality="high" menu="false" wmode="transparent" width="' + BQFloat2LayerW + '" height="' + BQFloat2LayerH + '" name="' + BQFloatId2 + '" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
		float2Html += '</object>';

		// SWFを挿入する
		BQFloat2Layer.innerHTML = float2Html;

		// オブジェクトを追加する
		document.getElementsByTagName('body')[0].appendChild(BQFloat2Layer);

	} else { // Float3を作成 (status=1の場合に実行される)

		// フローティングレイヤーのサイズを算出する
		iLayerWidth = BQ_GetWindowSize("width");
		iLayerHeight = BQ_GetWindowSize("height");

		// float3 --------------------------------------------------------

		BQFloat3AppFlg = true;
		
		BQFloat3Layer = document.createElement('DIV');
		BQFloat3Layer.id = BQFloatId3;

		// フローティングレイヤーにスタイルを指定する
		BQFloat3Layer.style.position = "absolute";
		BQFloat3Layer.style.zIndex = 112360;
		BQFloat3Layer.style.display = "block";
		BQFloat3Layer.style.width = BQFloat3LayerW + "px";
		BQFloat3Layer.style.height = BQFloat3LayerH + "px";
		BQFloat3Layer.style.top = (iLayerHeight - BQFloat3LayerH)/2 + "px";
		BQFloat3Layer.style.left = (iLayerWidth - BQFloat3LayerW)/2 + "px";

		// SWFタグを作成する
		var float3Html = "";
		float3Html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45" width="' + BQFloat3LayerW + '" height="' + BQFloat3LayerH + '" align="middle" id="' + BQFloatId3 + '">';
		float3Html += '<param name="allowScriptAccess" value="always" />';
		float3Html += '<param name="menu" value="false" />';
		float3Html += '<param name="movie" value="' + BQFloatSwf3 + '" />';
		float3Html += '<param name="quality" value="high" />';
		float3Html += '<param name="wmode" value="transparent" />';
		float3Html += '<param name="salign" value="lt" />';
		float3Html += '<embed salign="lt" align="middle" src="' + BQFloatSwf3 + '" quality="high" menu="false" wmode="transparent" width="' + BQFloat3LayerW + '" height="' + BQFloat3LayerH + '" name="' + BQFloatId3 + '" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
		float3Html += '</object>';

		// SWFを挿入する
		BQFloat3Layer.innerHTML = float3Html;

		// オブジェクトを追加する
		document.getElementsByTagName('body')[0].appendChild(BQFloat3Layer);
	}
}


/********************************************************************************
	関数名		BQ_HideSwfLayer
	機能		Flashレイヤーを非表示
	入力		sMode	0:Float1非表示　2:Float2非表示
********************************************************************************/

function BQ_HideSwfLayer(sMode){
	var BQFloat1Layer;
	var BQFloat2Layer;
	var BQFloat3Layer;
	
	if(sMode == 0){ // Float1非表示
		BQFloat1AppFlg = false;
		BQFloat1Layer = document.getElementById(BQFloatId1);

		BQFloat1Layer.style.top = -BQFloat1LayerH + "px";
		BQFloat1Layer.style.width = "1px";
		BQFloat1Layer.style.height = "1px";
		//BQFloat1Layer.style.display='none';
		//BQFloat1Layer.innerHTML='';

	}else if(sMode==1) { // Float2非表示
		BQFloat2AppFlg = false;
		BQFloat2Layer = document.getElementById(BQFloatId2);
		//alert(BQFloat2Layer);

		BQFloat2Layer.style.top = -BQFloat2LayerH + "px";
		BQFloat2Layer.style.width = "1px";
		BQFloat2Layer.style.height = "1px";
		//BQFloat2Layer.style.display='none';
		//BQFloat2Layer.innerHTML='';

	}else { // Float3非表示
		BQFloat3AppFlg = false;
		BQFloat3Layer = document.getElementById(BQFloatId3);
		BQFloat3Layer.style.top = -BQFloat3LayerH + "px";
		BQFloat3Layer.style.width = "1px";
		BQFloat3Layer.style.height = "1px";
		//BQFloat3Layer.style.display='none';
		//BQFloat3Layer.innerHTML='';
	}
}

/********************************************************************************
	関数名	BQ_SetLayPosition
	機能		レイヤーの横幅を調整する
********************************************************************************/
function BQ_SetLayPosition(){
	var oTarget1 = document.getElementById(BQFloatId1);
	var oTarget2 = document.getElementById(BQFloatId2);
	var oTarget3 = document.getElementById(BQFloatId3);
	
	var iWindowWidth = BQ_GetWindowSize('width');
	var iWindowHeight = BQ_GetWindowSize('height');
	var scrollPosWidth = BQ_GetScrollPosition('left');
	var scrollPosHeight = BQ_GetScrollPosition('top');

	//if(BQ_CheckBrowserModeForTicker_AN()){
		if(BQFloat1AppFlg){
			oTarget1.style.top = scrollPosHeight + "px";
			oTarget1.style.left = scrollPosWidth + "px";
		}
		if(BQFloat2AppFlg){
			oTarget2.style.top = iWindowHeight + scrollPosHeight - BQFloat2LayerH + "px";
			oTarget2.style.left = iWindowWidth + scrollPosWidth - BQFloat2LayerW + "px";
		}
		if(BQFloat3AppFlg){
			oTarget3.style.top = (iWindowHeight - BQFloat3LayerH)/2 + scrollPosHeight + "px";
			oTarget3.style.left = (iWindowWidth - BQFloat3LayerW)/2 + scrollPosWidth + "px";
		}
	//	}
}

/********************************************************************************
	関数名		BQ_GetScrollPosition
	機能		スクロール位置を算出する
	
	入力		sMode		top / left
	出力		iPosition
********************************************************************************/
function BQ_GetScrollPosition(sMode){

	var iScrollPosition;

	if(sMode == "left"){
		if(self.pageXOffset){
			iScrollPosition = self.pageXOffset;
		// Explorer 6 Strict
		}else if(document.documentElement && document.documentElement.scrollLeft){
			iScrollPosition = document.documentElement.scrollLeft;
		// all other Explorers
		}else if(document.body){
			iScrollPosition = document.body.scrollLeft;
		}
	} else {
		if(self.pageYOffset){
			iScrollPosition = self.pageYOffset;
		// Explorer 6 Strict
		}else if(document.documentElement && document.documentElement.scrollTop){
			iScrollPosition = document.documentElement.scrollTop;
		// all other Explorers
		}else if(document.body){
			iScrollPosition = document.body.scrollTop;
		}
	}
	
	return iScrollPosition;
}

/********************************************************************************
	関数名		BQ_GetWindowSize
	機能		ウィンドウサイズを取得する
	
	入力		sMode		"width" | "height"
*********************************************************************************/
function BQ_GetWindowSize(sMode){
	
	var iWindowWidth, iWindowHeight;

	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			iWindowWidth = document.documentElement.clientWidth; 
		} else {
			iWindowWidth = self.innerWidth;
		}
		iWindowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		iWindowWidth = document.documentElement.clientWidth;
		iWindowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		iWindowWidth = document.body.clientWidth;
		iWindowHeight = document.body.clientHeight;
	}	
	
	if(sMode == "width"){
		return (iWindowWidth);
	} else {
		return (iWindowHeight);
	}
}


/********************************************************************************
	関数名		BQ_GetOsName
	機能		OS情報を取得する
	
	入力		なし
	出力		sOsData		Os情報 ("MacOSX","Windows")
********************************************************************************/
function BQ_GetOsName()
{
	var uAgent  = navigator.userAgent.toUpperCase();
	if (uAgent.indexOf("MAC OS X") >= 0) return "MacOSX";
	if (uAgent.indexOf("MAC") >= 0) return "MacOS";
	if (uAgent.indexOf("WIN") >= 0) return "Windows";
	if (uAgent.indexOf("X11") >= 0) return "UNIX";
	return "";
}
function GetNavigatorName(){
	if(navigator.IBM_HPR) return "HomepageReader";
	
	aName  = navigator.userAgent.toUpperCase();
	if (aName.indexOf("SAFARI") >= 0) return "Safari";
	if (aName.indexOf("CHIMERA") >= 0) return "Camino";
	if (aName.indexOf("OPERA") >= 0) return "Opera";
	
	aName = navigator.appName.toUpperCase();
	if (aName.indexOf("NETSCAPE") >= 0)  return "Netscape";
	if (aName.indexOf("MICROSOFT") >= 0) return "Explorer";
	return "";
}

/********************************************************************************
	関数名		BQ_CheckBrowserModeForTicker_AN
				BQ_GetOsName_AN
				GetNavigatorName_AN
	
	機能		ブラウザチェック
*********************************************************************************/
function BQ_CheckBrowserModeForTicker_AN(){
	var sOs = BQ_GetOsName();
	var sBrowser = GetNavigatorName();

	if(sOs == "Windows" && sBrowser == "Explorer"){
		return true;
	}
	return false;
}

if(window.attachEvent) { // for IE
	window.onresize = BQ_SetLayPosition;
	window.onscroll = BQ_SetLayPosition;
}
