// JavaScript Document

/**
@class VADebugger
@description
@usage
@author Takayuki Fukatsu
@contact http://vas-animatum.net
*/

function VADebugger(){
	return this;
}

//デバッガーを有効にするか否か	static.public
VADebugger.enabled=true;


//debugger swfの名前 internal only
VADebugger.flashName = "VADebuggerSWF";	

//swf参照 internal only
VADebugger.flashRef = null;	

//swfで使用する変数名 internal only
VADebugger.variableName = "__VADebugger_variable";	

//swfに変数を送るときにつかうセパレイター internal only
VADebugger.delimiter = "__VADebugger_Delimiter";



/**
@method trace
@description アウトプットウィンドウにテキストを表示します
@usage myInstance.trace(msg, level)
@param msg:String	アウトプットウィンドウに表示したい文字列
@param level:Number		デバッグのレベル０（低）～９（高）で設定が可能。
*/

VADebugger.trace = function(str, level){
	if(!VADebugger.enabled) return;
	
	//flashに値を渡す
	level = (level==null)? 0: level;
	level = Math.ceil(parseInt(level));
	level = (level<0)? 0 : level;
	level = (level>9)? 9 : level;
	
	str = level + VADebugger.delimiter + str;
	
	VADebugger.setVariable(str);
}


/**
@method trace
@description HTMLにアウトプットウィンドウと通信するためのSWFを貼り付けます。この命令をbodyタグ内の一番最後で行ってください。
@usage VADebugger.attachSWF()
*/

VADebugger.attachSWF = function(){
	if(!VADebugger.enabled) return;
	
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="48" height="48" id="VADebuggerSWF" align="middle">');
	document.write('<param name="allowScriptAccess" value="always" />');
	document.write('<param name="movie" value="VADebugger.swf" />');
	document.write('<param name="quality" value="high" />');
	document.write('<param name="bgcolor" value="#ffffff" />');
	document.write('<embed src="VADebugger.swf" quality="high" bgcolor="#ffffff" width="48" height="48" name="VADebuggerSWF" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" swLiveConnect="true"/>');
	document.write('</object>');
}



/*
--------------------------------------------------------------------
	INTERNAL USE ONLY
--------------------------------------------------------------------
*/


/*
static
*/
VADebugger.getFlashRef =function(flashName){
  if (navigator.appName.indexOf ("Microsoft") !=-1) {
    return window[flashName]
  }	else {
    return document[flashName]
  }
}


VADebugger.setVariable = function(str){
	VADebugger.getFlashRef( VADebugger.flashName ).SetVariable(VADebugger.variableName, str);
}

