﻿var bp_server    = "http://umeboshi.blogdeco.jp/";
var umeboshibp_server = bp_server;
var umeboshibp = function(){
	// config
	var bpName          = "umeboshibp";
	var names           = ["Umeboshi","Ending"];
	var srcSwfs         = ["swf/Umeboshi.swf","swf/Umeboshi0.swf"];
	var srcEndings      = ["swf/Ending0.swf","swf/Ending1.swf"];
	var swfSizes        = [["160","300"],["100%","100%"]];	//[["160","145"]];
	var swfSizeSidebar  = ["160","160"];
	var idDivs          = [];
	var idSwfs          = [];
	var idEmbs          = [];
	var elDivs          = [];
	var elSwfs          = [];
	var UMECOUNT_STARTENDING = 10;

	var lib             = "js/bp_common.js";

	// vars
	var b;	// bp_common
	var maxZIndex = 0;
	var umecount  = 0;
	var endingStarted = 0;
	var elUmes = [];

	for( var i=0; i<names.length; i++ ){
		idDivs[i] = "externalInterface_"+names[i]+"_div";
		idSwfs[i] = "externalInterface_"+names[i]+"_swf";
		idEmbs[i] = "externalInterface_"+names[i]+"_emb";
	}

	// sidebar
	document.write("<script type='text/javascript' charset='utf-8' src='"+umeboshibp_server+lib+"'></script>");
	document.write("<img src='http://log.kayac.com/cl/?rs=i&cm=bm1100015&ln=1' width='1' height='1' />");
	var getInnerHTML = function(divid,x,y,scy,w,h,src){
		var str = "<object"+
		" classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'"+
		" codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'"+
		" id='"+(divid ? "obj_"+divid : idSwfs[0])+"'"+
		" width= '"+w+"' height='"+h+"'>"+
		"<param name='movie' value='"+src+"'>"+
		"<param name='quality' value='high'>"+
		"<param name='wmode' value='transparent'>"+
		"<param name='FlashVars' value='divid="+divid+"&x="+x+"&y="+y+"&scy="+scy+"'>"+
		"<param name='allowScriptAccess' value='always'>"+
		"<embed"+
		" name='"+(divid ? "emb_"+divid : idSwfs[0])+"'"+
		" src='"+src+"'"+
		" quality='high' bgcolor='#FFFFFF'"+
		" width='"+w+"' height='"+h+"'"+
		" type='application/x-shockwave-flash'"+
		" align='middle'"+
		" wmode='transparent'"+
		" FlashVars='divid="+divid+"&x="+x+"&y="+y+"&scy="+scy+"'"+
		" pluginspage='http://www.macromedia.com/go/getflashplayer'"+
		" allowScriptAccess='always' /></object>";
		return str;
	}
// 初回はUmeboshi0.swf
	var dwrite = getInnerHTML("",0,0,0,swfSizeSidebar[0],swfSizeSidebar[1],umeboshibp_server+srcSwfs[1]);
	document.write(dwrite);

	var idgenerator = function(){
		return "ub"+(new Date()).getTime() + Math.floor(Math.random()*1000).toString();
	}

	var startEnding = function(){
		var wsize = bp_common.getWindowSize();
		var scpos = bp_common.getScrollPosition();
		var el = new bp_elementFactory(
			document.getElementsByTagName("body")[0],
			[ {"tag" : "div",
				"attr":{"id": idDivs[1] },
				"style":{
					"width"  :wsize[0]+"px",
					"height" :wsize[1]+"px",
					"left"   :scpos[0]+"px",
					"top"    :scpos[1]+"px",
					"display":"block",
					"zIndex" :maxZIndex
				},
				"innerHTML":getInnerHTML(idDivs[1],0,0,0,swfSizes[1][0],swfSizes[1][1],umeboshibp_server+srcEndings[(new Date).getTime()%2])
		} ]);
		elUmes.push(el);
	}

	return {
		addOne : function(){
			if( endingStarted ){ return; }
			if( typeof(bp_common)=="undefined" ){ return; }
			if( umecount > UMECOUNT_STARTENDING ){
				endingStarted = 1;
				startEnding();
				return;
			}
			var divid = idgenerator();
			var wsize = bp_common.getWindowSize();
			var scpos = bp_common.getScrollPosition();
			var tgtx  = Math.floor( Math.random()*(wsize[0]-parseInt(swfSizes[0][0]))+scpos[0]-20 );
			var tgty  = Math.floor( Math.random()*(wsize[1]-parseInt(swfSizes[0][1]))+scpos[1] );
			var el = new bp_elementFactory(
				document.getElementsByTagName("body")[0],
				[ {"tag" : "div",
					"attr":{"id": divid },
					"style":{
						"width"  :swfSizes[0][0]+"px",
						"height" :swfSizes[0][1]+"px",
						"left"   :tgtx            + "px",
						"top"    :scpos[1]+"px",
						"display":"block",
						"zIndex" :maxZIndex
					},
					"innerHTML":getInnerHTML(divid,tgtx,tgty,scpos[1],swfSizes[0][0],swfSizes[0][1],umeboshibp_server+srcSwfs[0])
			} ]);
			elUmes.push( el );
			umecount++;
		},
		moveOffset : function(id,x,y){
			var s = bp_common.el(id).style;
			s.left = parseInt(s.left) +x+"px";
			s.top  = parseInt(s.top)  +y+"px";
		},
		riseToTop : function(id){
			bp_common.el(id).style.zIndex = maxZIndex;
			maxZIndex++;
		},
		moveTo : function(id,y){	// string,int,int
			var div = bp_common.el(id);
			div.style.top  = y + "px";
		},
		close : function(){
			setTimeout( function(){
				endingStarted = 0;
				umecount    = 0;
				var len = elUmes.length;
				for( var i=0; i<len; i++ ){
					document.body.removeChild( elUmes[i] );
				}
				elUmes = [];
			},0);
		}
	};
}();

