/*@cc_on _d=document;eval('var document=_d')@*/

var BlogGroundMusicSetPatsNumber;

if(BlogGroundMusicSetPatsNumber==undefined) BlogGroundMusicSetPatsNumber=1;
else BlogGroundMusicSetPatsNumber++;

BlogGroundMusicSet = {

	brzWidth : 0,
	brzHeight : 0,
	pageHeight : 0,
	alp : 0,
	mode : 0,
	frameObj : [],
	partsHolder : "http://www.blog-ground-music.com/bgmset/",
	swfFile : "http://www.blog-ground-music.com/bgmset/peta/main.swf",
	partsFile : "http://www.blog-ground-music.com/bgmset/peta/parts.swf",
	copyLayer : "",
	cat : "",
	Num : 0,
	
	getElem : function(elem){
		if(document.getElementById && !document.all || document.layers) obj = document.getElementById(elem);
		else if(document.all) obj = document.all(elem);
		return obj;
	},

	brzSize : function(elm){
		var _$d=document,_h,_w;

		if (_$d.all) {
			if(window.opera){ _h = _$d.body.clientHeight; _w = _$d.body.clientWidth;}
			else{ _h = _$d.documentElement.clientHeight; _w = _$d.documentElement.clientWidth; }
		}else if (_$d.getElementById && !_$d.all || _$d.layers) {
			_h = window.innerHeight; _w = window.innerWidth;
		}
		return { height:_h , width:_w };
	},

	evtLtn : function(elm, type, func, useCapture){
		if(!elm) return false;
		if(!useCapture) useCapture = false;
		
		
		 (elm.addEventListener) ? elm.addEventListener(type, func, false) :
		 (elm.attachEvent) ? elm.attachEvent('on'+type, func) :
		 false;

		return true;
	},

	createElem : function(markup,idName){
		var divNode = document.createElement(markup);
		divNode.id = idName;
		divNode.style.display = "none";
		document.body.appendChild(divNode);
	},

	elemAlpha : function(objName,alpha){
		var obj = this.getElem(objName);
		if(window.ActiveXObject) {
			obj.style.filter = "alpha(opacity="+alpha+")";
		}else{
			obj.style.opacity = alpha / 100;
			obj.style.MozOpacity = alpha / 100;
		}
	},

	elemPos : function(elem){
		var _$d = document,_tr;
				
		(typeof(elem)=="object") ? _tr = elem : _tr = this.getElem(elem);
		
		var _lf = 0,_tp = 0;
		
		while(_tr){ _lf += _tr.offsetLeft; _tp += _tr.offsetTop; _tr = _tr.offsetParent; }
		
		if(navigator.userAgent.indexOf("Mac") != -1 && typeof _$d.body.leftMargin != "undefined"){
			_lf += _$d.body.leftMargin; _tp += _$d.body.topMargin;
		}
		
		return{ _x:_lf , _y:_tp }
	},

	setStyler : function(elem,prm){
		var obj = this.getElem(elem);
		for (var i in prm) {
		   obj.style[i] = prm[i];
		}
	},
	
	////////////////////////////////////////
	chkScore : function(){
		
		var scr=[];
		var _F = BlogGroundMusicSet;
		
		var obj = _F.getElem("BGManimDiv");
		if(!obj.getElementsByTagName){ return; }
		
		var anchors = obj.getElementsByTagName('span');
		
		var _ancl = anchors.length;
		
		for (var i=0; i<_ancl; i++){
			anchor = anchors[i];
			var _idAttri = String(anchor.getAttribute('id'));
			if ( _idAttri.match('BGMpo') ){
				
				var pos = this.elemPos(anchor);
				var htmChg = anchor.childNodes[0].parentNode;

				var style = htmChg.currentStyle || document.defaultView.getComputedStyle(htmChg, '');
				
				fFamily = style.fontFamily.replace(/,/g,"|");
				fFamily = fFamily.replace(/\"/g,"");
				
				if(i != (_ancl -1) ) var br ="!";
				else var br ="";
				
				scr.push(pos._x + "," + pos._y + "," + encodeURIComponent(anchor.childNodes[0].nodeValue) + "," + encodeURIComponent(style.fontSize) + "," + style.fontWeight + br);
				
			}
		}

		return scr.join("");
	},

	setFlash : function(swfFile,pageHeight){
		var wl = window.location;
		var blogURL = (wl.protocol+ "//" + wl.hostname + wl.pathname)
		
		
		var _F = BlogGroundMusicSet;
		var scr = this.chkScore();
		var obj = this.getElem("BGMbackGround2");
		
		var fH=[];

		fH.push('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="BlogGroundMusicAexternal" ');
		fH.push('codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="' + (_F.brzHeight*1.6) + '">');
		fH.push('<param name="movie" value="'+ swfFile +'" />');
		fH.push('<param name="wmode" value="transparent" />');
		fH.push('<param name="flashVars" value="nir='+ _F.mode +'&amp;cat='+ _F.cat +'&amp;score=' + scr + '&amp;partsHolder='+ escape(_F.partsHolder) +'&amp;blogURL='+ blogURL + '" />');
		fH.push('<param name="quality" value="high" />');
		fH.push('<param name="menu" value="false" />');
		fH.push('<param name="allowScriptAccess" value="always" />');
		fH.push('<embed src="'+ swfFile +'" menu="false" wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" ');
		fH.push('type="application/x-shockwave-flash" width="100%" height="' + (_F.brzHeight*1.6) + '" flashVars="nir='+ _F.mode +'&amp;cat='+ _F.cat +'&amp;score=' + scr + '&amp;partsHolder='+ escape(_F.partsHolder) + '&amp;blogURL='+ blogURL + '" allowScriptAccess="always"></embed>');
		fH.push('</object>');

		obj.innerHTML = fH.join("");

		var BGManimDiv = _F.getElem("BGManimDiv");

		if(!BGManimDiv.getElementsByTagName){ return; }
		var anchors = BGManimDiv.getElementsByTagName('object');
		var _ancl = anchors.length;
		for (var i=0; i<_ancl; i++){
			var anchor = anchors[i];
			anchor.style.visibility = "hidden";
		}

		var anchors = BGManimDiv.getElementsByTagName('embed');
		var _ancl = anchors.length;
		for (var i=0; i<_ancl; i++){
			var anchor = anchors[i];
			anchor.style.visibility = "hidden";
		}

	},

	resizeInit : function(scrl_width){
		
		var _F = BlogGroundMusicSet;
		var brz = _F.brzSize();

		this.setStyler("BGMbackGround2",{
			"width" : ( brz.width - scrl_width ) + "px"
		});
		
	},

	dissa : function(tim){
		var scr = document.body.scrollTop  || document.documentElement.scrollTop;
		
		scrollTo(0, scr*0.8);
		
		if(scr < 8){
			scrollTo(0, 0);
			clearInterval(timer);
			this.setFlash(this.swfFile,this.pageHeight);
		}
	},
/////////////////////////////////////////////////////////////////////////////////
	BlogGroundMusicInit : function(prm){
		
		var idname = 'BlogGroundMusicPartsSet'+ String(prm);
		document.write('<div id="'+ idname +'" style="height:275px;"></div>');
		
		var _F = BlogGroundMusicSet;

		_F.Num = prm;
		//defaault setting
		var pageHeight,timer,scr = "",_$d=document;
		
		if(window.ActiveXObject) var scrl_width = 0;
		else  var scrl_width = 16;

		////////////////////////////////////////////////////////////////////////
		var setInit = function(){
			
			var cnt =0,src;
			
			if(!_$d.getElementsByTagName){ return; }
			
			var anchors = _$d.getElementsByTagName('div');
			
			var _ancl = anchors.length;
			
			for (var i=0; i<_ancl; i++){
				var anchor = anchors[i];
				
				if(anchor.parentNode.nodeName == "BODY" && anchor.innerHTML !="" && i==0){
				
					secnode = anchor.childNodes[0].parentNode.parentNode.innerHTML;
					
					var htm = [];
					var chk=false;
					for(k=0; k < secnode.length; k++){
						
						var tstr = secnode.substr(k,1);

						if(tstr=="<") chk=true;
						else if(tstr==">") chk=false;
						
						var Etstr = escape(tstr);
						
						if(!chk){
							if( Etstr == "%u3069" || Etstr == "%u308C" || Etstr == "%u307F" || Etstr == "%u3075" || 
								Etstr == "%u305D" || Etstr == "%u3089" || Etstr == "%u3057" || Etstr == "%u30C9" || 
								Etstr == "%u30EC" || Etstr == "%u30DF" || Etstr == "%u30D5" || Etstr == "%u30BD" ||
								Etstr == "%u30E9" || Etstr == "%u30B7"){

								htm.push('<span id="BGMpo' + cnt + '">' + tstr + '</span>');cnt++;
							}else{
								htm.push(tstr);
							}

						}else{
							htm.push(tstr);
						}

					}


					if(anchor.childNodes[0]){

						var htmChg = anchor.childNodes[0].parentNode;
						
						_F.origin = htmChg;
						
						var o = _$d.getElementsByTagName('body');
						pageHeight = o[0].offsetHeight;
						_F.pageWidth = o[0].offsetWidth;
						_F.pageHeight = o[0].offsetHeight;

/*
						if( prm==1 ){
							_F.createElem("div","BGManimDiv");
							var obj = _F.getElem("BGManimDiv");
						}
*/
						_F.copyLayer = htm.join("");

					}

					_F.frameObj.push(htmChg);

				}else if(anchor.parentNode.nodeName == "BODY" && anchor.innerHTML !=""){
					
					var htmChg = anchor.childNodes[0].parentNode;
					_F.frameObj.push(htmChg);
				}

			}


			if(!_F.getElem("BGManimDiv")){
				_F.createElem("div","BGManimDiv");
			}



			if(!document.getElementsByTagName){ return; }
			var anchors = document.getElementsByTagName('script');
			var _ancl = anchors.length;

			var cnt = 1;

			for (var i=0; i<_ancl; i++){
				anchor = anchors[i];
				src = anchor.getAttribute("src");
				
				
				if(src!=null && src.indexOf("bgmset/") != -1 && src.indexOf("bgm.js") != -1 ){
					if(cnt==prm){
						
						if(src.indexOf("?") != -1){
							var cat = (src.split("?")[1].split("=")[1]);
						}else{
							var cat = "classic";
						}
					}
					cnt++;
				}
	
			}
			var fH=[];

			fH.push('<div style="text-align:center;">');
			fH.push('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="BlogGroundMusicBexternal" ');
			fH.push('codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="160" height="275">');
			fH.push('<param name="movie" value="'+ _F.partsFile +'" />');
			fH.push('<param name="wmode" value="transparent" />');
			fH.push('<param name="quality" value="high" />');
			fH.push('<param name="menu" value="false" />');
			fH.push('<param name="flashVars" value="cat=' + cat + '" />');		
			fH.push('<param name="allowScriptAccess" value="always" />');
			fH.push('<embed src="'+ _F.partsFile +'" menu="false" wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" ');
			fH.push('type="application/x-shockwave-flash" width="160" height="275" allowScriptAccess="always" flashVars="cat=' + cat + '"></embed>');
			fH.push('</object>');
			fH.push('</div>');

			_F.getElem(idname).innerHTML = fH.join("");

			if( prm==1 ){
				_F.createElem("div","BGMbackGround2");
				_F.getElem("BGManimDiv").innerHTML = _F.copyLayer;
			}

		}

		_F.evtLtn(window, "load", setInit, false);

	},

	start : function(prm,cat){

		this.mode = prm;
		var _F = BlogGroundMusicSet;

		if(window.ActiveXObject) var scrl_width = 0;
		else  var scrl_width = 16;

		var BGManimDiv = _F.getElem("BGManimDiv");

		BGManimDiv.style.position ="absolute";
		
		var objOri= this.elemPos(this.origin);

		BGManimDiv.style.top = objOri._y + "px";
		BGManimDiv.style.left = objOri._x + "px";
		
		var stylea = _F.origin.currentStyle || document.defaultView.getComputedStyle(_F.origin, '');
		BGManimDiv.style.width = stylea.width;
		BGManimDiv.style.textAlign = stylea.textAlign;
		BGManimDiv.style.margin = stylea.margin;
		BGManimDiv.style.padding = stylea.padding;
		_F.cat = cat;
		var brz = _F.brzSize();

		_F.brzWidth = brz.width;
		_F.brzHeight = brz.height;

		_F.setStyler("BGMbackGround2",{
			"display" : "block",
			"position" : "absolute",
			"left" : "0px",
			"top" : "0px",
			"zIndex" : 20,
			"width" : ( brz.width - scrl_width ) + "px",
			"height" : (_F.brzHeight*1.6) + "px"
		});


		var alp = 0;
		timer = setInterval( "BlogGroundMusicSet.dissa(" + alp + ")" ,1);
		
		for( i=0; i<_F.frameObj.length; i++){
			if(_F.frameObj[i]) _F.frameObj[i].style.display = "none";
		}
		_F.setStyler("BGManimDiv",{
			"display" : "block"
		});

		if(!BGManimDiv.getElementsByTagName){ return; }
		var anchors = BGManimDiv.getElementsByTagName('div');
		var _ancl = anchors.length;
		for (var i=0; i<_ancl; i++){
			var anchor = anchors[i];
			if(anchor.getAttribute("id").indexOf("BlogGroundMusicPartsSet") != -1){
				anchor.style.visibility = "hidden";
			}
		}
		

		_F.evtLtn(window, "resize", function(){_F.resizeInit(scrl_width) }, false);
	},
	
/////////////////////////////////////////////////////////////////////////////////
	BGMScroll : function(str){
		var _F = BlogGroundMusicSet;

		if( (_F.pageHeight - (_F.brzHeight+Number(str) ) ) > 0 ){
			_F.setStyler("BGMbackGround2",{ "top" : str + "px"});
			scrollTo(0, Number(str));
		}
	},
	
/////////////////////////////////////////////////////////////////////////////////
	callJavascript: function(){
		var _F = BlogGroundMusicSet;
		
		var brz = _F.brzSize();
		var scr = document.body.scrollTop  || document.documentElement.scrollTop;
		
		var st = scr + ',' + brz.height + ',' + _F.pageHeight;
		
		return st;
	},

/////////////////////////////////////////////////////////////////////////////////
	fadeOut:function(){
		var _F = BlogGroundMusicSet;
		
		_F.getElem("BGMbackGround2").innerHTML = "&nbsp;";
		_F.getElem("BGMbackGround2").style.display = "none";
		
		for( i=0; i<_F.frameObj.length; i++){
			if(_F.frameObj[i]) _F.frameObj[i].style.display = "block";
		}

		_F.getElem("BGManimDiv").style.display = "none";
	}

}


BlogGroundMusicSet.BlogGroundMusicInit(BlogGroundMusicSetPatsNumber);

