/* ---------------------------------------------------------------- */
/*
/* sampleplayer.js
/* ~~~~~~~~~~~~~~~~~~~~~
/*   history(yyyy.mm.dd author remarks):
/*     2011.07.25 kaneko getFlash、chrome対応
/*     2008.11.11 kaneko Objectタグ書き出し方法変更
/*     2008.10.20 maruyama flashの高さを動画と音楽で変更（下のボタンが押せなくなる状態回避）
/*     2008.10.20 maruyama firefoxのときだけ暫定でtransparentをOFF
/*     2008.02.18 kaneko 新規作成
/*
/* (c) BRAINSYNC, INC.
/*
/* assigned vars:
/*
/* ---------------------------------------------------------------- */



	//var uid;
	function SamplePlayer(){
		this._player	= null;
		this._playerID	= 'externalInterface2_sample_player';
		this._width		= 155;
		this._height	= 155;
		this._top		= 0;
		this._left		= 0;
		this._write		= false;

		this.init();
	}
	SamplePlayer.prototype.init = function() {
		//uid = (!uid) ? (new Date()).getMilliseconds() : uid;

		var script = '';
		script += '<script language=\'JavaScript\'>\n'
			+ '<!--\n'
			+ 'var isInternetExplorer = navigator.appName.indexOf(\'Microsoft\') != -1;\n'
			+ 'function '+this._playerID+'_DoFSCommand(command, args) { var FlashObj = isInternetExplorer ? document.all.'+this._playerID+' : document.'+this._playerID+';try{eval("objSamplePlayer."+command+"(\'"+args+"\')");}catch(e){}}\n'
			+ 'if (navigator.appName && navigator.appName.indexOf(\'Microsoft\') != -1 && navigator.userAgent.indexOf(\'Windows\') != -1 && navigator.userAgent.indexOf(\'Windows 3.1\') == -1) {document.write(\'<script language=\\\'VBScript\\\'\\\>\\n\');document.write(\'On Error Resume Next\\n\');document.write(\'Sub '+this._playerID+'_FSCommand(ByVal command, ByVal args)\\n\');document.write(\'	Call '+this._playerID+'_DoFSCommand(command, args)\\n\');document.write(\'End Sub\\n\');document.write(\'</script\\\>\\n\');}\n'
			+ '//-->\n'
			+ '<\/script>\n';
		document.write(script);
	}
	
	SamplePlayer.prototype.write = function() {
		this._write = true;
		width		= 1;
		height		= 1;

		depth		= 1;
		path		= '/swf/sampleplayer.swf';


		bn = navigator.userAgent;

		if(bn.indexOf("Firefox") >= 0){
			wmode		= '';
		} else {
			wmode		= 'transparent';
		}
		//wmode		= 'transparent';
		//wmode		= '';


		fvars		= '';

		var html = '';
		html += ''
			+ '<object id="' + this._playerID + '"'
			+ ' classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'
			+ ' height="'+height+'"'
			+ ' width="'+width+'"'
			+ ' codebase="'+location.protocol+'//fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9.0.115.0"'
			+ ' style="'+height+';width:'+width+';position:absolute;top:0px;left:0px;z-index:'+depth+';"'
			+ '>'
			+ '<param name="allowScriptAccess" value="always" />'
			+ '<param name="allowFullScreen" value="false" />'
			+ '<param name="MOVIE" value="' + path + '">'
			+ '<param name="quality" value="high" />'
			+ '<param name="align" value="TL" />'
			+ '<param name="salign" value="TL" />'
			+ '<param name="scale" value="noscale" />'
			+ '<param name="wmode" value="'+wmode+'">'
			+ '<param name="bgcolor" value="#ffffff" />'
			+ '<param name="FLASHVARS" value="'+fvars+'">'
			+ '<embed src="' + path + '"'
			+ ' style="display:block;height:'+height+';width:'+width+';position:absolute;top:0px;left:0px;z-index:'+depth+';"'
			+ ' NAME="'+this._playerID+'"'
			+ ' width="'+width+'"'
			+ ' height="'+height+'"'
			+ ' FlashVars="'+fvars+'"'
			+ ' bgcolor="#ffffff"'
			+ ' align="TL"'
			+ ' salign="TL"'
			+ ' scale="noscale"'
			+ ' type="application/x-shockwave-flash"'
			+ ' wmode="'+wmode+'"'
			+ ' loop="false"'
			+ ' allowScriptAccess="always"'
			+ ' pluginspage="'+location.protocol+'www.macromedia.com/go/getflashplayer"/>'
			+ '</object>';
		//snippets.addEventListener(window,"load", function(){document.body.insertAdjacentHTML('AfterBegin', html);});
		document.body.insertAdjacentHTML('AfterBegin', html);
		//document.body.insertHTML = html;
	}
	
	SamplePlayer.prototype.play = function(target, product_ids, cate, event) {
		if(target){
			this.target			= target;
		}
		if(product_ids){
			this.product_ids	= product_ids;
		}
		if(cate){
			this.cate		= cate;
		}
		if(event){
			scrollsize = document.body.scrollTop  || document.documentElement.scrollTop;
			if (!event) var event=window.event;
			this._left = (!event.pageX) ? event.clientX + document.body.scrollLeft : event.pageX;
			this._top = (!event.pageY) ? event.clientY + scrollsize : event.pageY;
		}
		if(!this._write){
			this.write();
			window.setTimeout("objSamplePlayer.play();", 1000);
			return;
		}

		if (this.cate){
			//動画
			Hsize ="155px";
		} else{
			//音楽
			Hsize ="45px";
		}

		//window.alert("x:" + event.pageX + " y:" + event.pageY+ " scroll"+ scrollsize);
		try{
			var pos	= this.getElemPos(this.target);
			var obj	= this.getFlash();
			obj.style.display	= 'block';
			obj.style.top	= (this._top - 10)+'px';
			obj.style.left	= (pos.x+1)+'px';
			obj.style.height	= Hsize;
			obj.style.width		= this._width + 'px';
//alert(this.product_ids);

			//obj.SetVariable("product_id", 0);
			obj.SetVariable("product_id", this.product_ids);
		}catch(e){
			window.setTimeout("objSamplePlayer.play();", 1000);
		}
	}


	
	SamplePlayer.prototype.size = function(value) {
		var arr = value.split('_');
		var h = arr[0];
		var w = arr[1];
		var obj	= this.getFlash();
		obj.style.height	= h + 'px';
		obj.style.width		= w + 'px';
	}

	SamplePlayer.prototype.stop = function() {
		var obj	= this.getFlash();
		//obj.SetVariable("stop", true);

		obj.style.display	= 'block';
		obj.style.height	= '1px';
		obj.style.width		= '1px';
		obj.style.left	= '-10px';
		obj.style.top	= '-10px';
	}




	SamplePlayer.prototype.getFlash = function() {
		if(!this._player){
			if(this.navigator() == 'Safari'){
				//this._player = document.getElementById(this._playerID); //古いmac 切捨て chrome対応
				this._player = window.document[this._playerID];
			}else{
				this._player = window.document[this._playerID];
			}
		}
		return this._player;
	}
	SamplePlayer.prototype.navigator = function(){
		aname = navigator.appName;
		bname = navigator.userAgent;
		if(aname.indexOf("Microsoft") >= 0) return ("MicrosoftInternetExplorer");
		if(bname.indexOf("Opera") >= 0) return ("Opera");
		if(bname.indexOf("Firefox") >= 0) return ("Mozilla Firefox");
		if(bname.indexOf("Safari") >= 0) return ("Safari");
		return ("");
	}
	SamplePlayer.prototype.getElemPos = function(elem){


		var obj = new Object();
		obj.x = elem.offsetLeft;
		obj.y = elem.offsetTop;
		while(elem.offsetParent) {
			elem = elem.offsetParent;
			obj.x += elem.offsetLeft;
			obj.y += elem.offsetTop;
		}
		return obj;
	}

	//snippets.addEventListener(window,"load", function(){var objSamplePlayer = new SamplePlayer();});
	var objSamplePlayer = new SamplePlayer();

