var gsTickerSwf = "http://www.kotsu.metro.tokyo.jp/bus/shitamachi/blog_parts/data/data/bp.swf";
var gsFloatSwf = 'http://www.kotsu.metro.tokyo.jp/bus/shitamachi/blog_parts/data/data/float.swf';


var gsFloatId = "Floating";
var gsFloatBgId = "FloatingBg";
var gsTickerId = "Ticker";

var giFloatHeight = 200;
var giFloatLeft = 0;

var gbShowFlg = 0;
var giFloatNum = 0;

bMacIeFlg = CheckMacIe();

MakeTicker();

function AddLoadFunction(fFunction, sArg){
	var fBaseOnload = window.onload;
	
	if(typeof window.onload != 'function'){
		window.onload = function(){
			fFunction(sArg);
		}
	}else{
		window.onload = function(){
			fBaseOnload();
			fFunction(sArg);
		}
	}
}



function MakeTicker(){
	var sTickerUrl = gsTickerSwf;
	
	var sHtml = "";
	sHtml += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="160" height="260" id="' + gsTickerId + '" align="middle">';
	sHtml += '<param name="allowScriptAccess" value="always" />';
	sHtml += '<param name="movie" value="' + sTickerUrl + '" />';
	sHtml += '<param name="quality" value="high" />';
	sHtml += '<param name="bgcolor" value="#ffffff" />';
	sHtml += '<param name="wmode" value="transparent" />';
	sHtml += '<embed wmode="transparent" src="' + sTickerUrl + '" quality="high" bgcolor="#ffffff" width="160" height="260" name="' + gsTickerId + '" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	sHtml += '</object>';
	
	document.write(sHtml);
}


function ShowPage(sMode){
	var oLayer;
	var sId;
	var iLayerTop;
	var iLayerWidth;
	var iLayerHeight;


	if(sMode != 1) {
		
		sId = gsFloatId;
		oLayer = document.getElementById(sId);
		
		oLayer.style.display='none';
		oLayer.innerHTML='';
		document.getElementsByTagName('body')[0].removeChild(oLayer);

		sId = gsFloatBgId;
		oLayer = document.getElementById(sId);
		
		oLayer.style.display='none';
		oLayer.innerHTML='';
		document.getElementsByTagName('body')[0].removeChild(oLayer);
		
		gbShowFlg = 0;
		
		clearInterval(iIntervalId);
		clearInterval(iIntervalBgId);
		
		return;
	}
	
	
	if(gbShowFlg == 1){

		return;
			
		
	} else {
		
		if(sMode == 1){

			oLayer = document.createElement('DIV');
			oLayer.id = gsFloatBgId;

			oLayer.style.position = "absolute";
			oLayer.style.zIndex = 999;
			oLayer.style.display = "block";
			
			
			iLayerWidth = GetWindowSize("width");
			iLayerHeight = GetWindowSize("height");

			if(CheckBrowserModeForTicker()){
				oLayer.style.width = iLayerWidth + "px";
				oLayer.style.height = iLayerHeight + "px";
			} else {
				oLayer.style.width = "100%";
				oLayer.style.height = "100%";
			}

			oLayer.style.top = GetScrollPosition("top") + "px";
			oLayer.style.left = GetScrollPosition("left") + "px";

			var sHtml = "&nbsp;";
			
			oLayer.innerHTML = sHtml;
			
			document.getElementsByTagName('body')[0].appendChild(oLayer);

			iIntervalBgId = setInterval("setLayPosition('" + gsFloatBgId + "')", 100);


			
			oLayer = document.createElement('DIV');
			oLayer.id = gsFloatId;

			oLayer.style.position = "absolute";
			oLayer.style.zIndex = 1000;
			oLayer.style.display = "block";
			
			iLayerWidth = GetWindowSize("width");
			iLayerHeight = GetWindowSize("height");

			if(CheckBrowserModeForTicker()){
				oLayer.style.width = iLayerWidth + "px";
				oLayer.style.height = iLayerHeight + "px";

			} else {
				oLayer.style.width = "100%";
				oLayer.style.height = "100%";
			}

			oLayer.style.top = GetScrollPosition("top") + "px";
			oLayer.style.left = GetScrollPosition("left") + "px";

			var sHtml = "";
			sHtml += '<table style="background-color:transparent; border:none; padding:0; margin:0; text-align:center; vertical-align:middle"  border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">';
			sHtml += '<tr><td align="center" valign="middle" style="padding:0; margin:0; border:none; background-color:transparent; text-align:center; vertical-align:middle" width="100%" height="100%">';
			sHtml += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" align="middle">';
			sHtml += '<param name="allowScriptAccess" value="always" />';
			sHtml += '<param name="movie" value="' + gsFloatSwf + '" />';
			sHtml += '<param name="quality" value="high" />';
			sHtml += '<param name="wmode" value="transparent" />';
			sHtml += '<param name="salign" value="lt" />';
			sHtml += '<param name="SWLIVECONNECT" value="TRUE" />';
			sHtml += '<embed SWLIVECONNECT="TRUE" salign="lt" align="middle" src="' + gsFloatSwf + '" quality="high" wmode="transparent" width="100%" height="100%" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
			sHtml += '</object></td></tr></table>';
			
			
			oLayer.innerHTML = sHtml;
			

			document.getElementsByTagName('body')[0].appendChild(oLayer);

			iIntervalId = setInterval("setLayPosition('" + gsFloatId + "')", 100);
			
			
			gbShowFlg = 1;
		}
	}
	
	if(bMacIeFlg == 1){
		window.scrollBy(0, 1);
	}
	
}

function setLayPosition(sId){
	var oTarget = document.getElementById(sId);

	if(CheckBrowserModeForTicker()){
		oTarget.style.width = GetWindowSize("width") + "px";
		oTarget.style.height = GetWindowSize("height") + "px";
	}
	
	oTarget.style.top = GetScrollPosition("top") + "px";
	oTarget.style.left = GetScrollPosition("left") + "px";
}


function GetMiddlePosition(sMode){
	
	var iWindowWidth, iWindowHeight;
	iWindowWidth = GetWindowSize('width');
	iWindowHeight = GetWindowSize('height');
	
	var iScrollTop, iScrollLeft;
	iScrollTop = GetScrollPosition('top');
	iScrollLeft = GetScrollPosition('left');
	
	var iMiddleTop = iWindowHeight / 2 + iScrollTop;
	var iMiddleLeft = iWindowWidth / 2 + iScrollLeft;
	
	if(sMode == "top"){
		return iMiddleTop;
	} else {
		return iMiddleLeft;
	}
	
}


function GetScrollPosition(sMode){

	var iScrollPosition;

	if(sMode == "left"){
		if(self.pageXOffset){
			iScrollPosition = self.pageXOffset;
		}else if(document.documentElement && document.documentElement.scrollLeft){
			iScrollPosition = document.documentElement.scrollLeft;
		}else if(document.body){
			iScrollPosition = document.body.scrollLeft;
		}
	} else {

		if(self.pageYOffset){
			iScrollPosition = self.pageYOffset;
		}else if(document.documentElement && document.documentElement.scrollTop){
			iScrollPosition = document.documentElement.scrollTop;
		}else if(document.body){
			iScrollPosition = document.body.scrollTop;
		}
	}
	
	return iScrollPosition;
}

function GetWindowSize(sMode){
	var iWindowWidth, iWindowHeight;
	
	if(self.innerHeight){
		iWindowWidth = self.innerWidth;
		iWindowHeight = self.innerHeight;
	}else if(document.documentElement && document.documentElement.clientHeight){
		iWindowWidth = document.documentElement.clientWidth;
		iWindowHeight = document.documentElement.clientHeight;
	}else if(document.body){
		iWindowWidth = document.body.clientWidth;
		iWindowHeight = document.body.clientHeight;
	}
	
	if(sMode == "width"){
		return (iWindowWidth);
	} else {
		return (iWindowHeight);
	}
}
	

function CheckMacIe(){
	var sOs = ds_GetOsName();
	var sNavigator = ds_GetNavigatorName();
	
	if((sOs == "MacOSX" || sOs == "MacOS") && sNavigator == "Explorer"){
		return true;
	} else {
		return false;
	}
}


function CheckBrowserModeForTicker(){
	var sOs = ds_GetOsName();
	var sBrowser = ds_GetNavigatorName();

	if(sOs == "Windows" && sBrowser == "Explorer"){
		return true;
	}
	return false;
}


	
function ds_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 ds_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 "";
}

