//
//putSwf
//
//ver.0.2
//
//usage:
//makeSwf("main.swf","7,0,0,0",550,400,"#000000",{id:"swfMain"});
//makeSwf("main.swf",7,550,400,"#000000",{id:"swfMain"});
//
//makeSwf(filename,version,width,height,bgcolor,parameters,option);


function putSwf(ver,mov,w,h,bgc,param,opt){
	var tag=getSwfTag(ver,mov,w,h,bgc,param,opt);
	if(tag!=false){
		document.write(tag);
	}
}
function getSwfTag(ver,mov,w,h,bgc,param,opt){
	
	// const
	var HISSU={movie:true};
	var ALIAS={movie:'src',id:'name'};
	var VAL_DEF={allowScriptAccess:'sameDomain',quality:'high',bgcolor:'#FFFFFF',loop:'false',menu:'false'};
	var IN_OBJECT={version:true,id:true,width:true,height:true,align:true};
	var ARG_NAME=['movie','width','height','bgcolor'];
	var OPT_DEF={kaigyou:''};
	
	// vars
	var values,version,newAtt;
	var objTag,parTag,embTag;
	var option;
	
	//option
	option={};
	for(var i in OPT_DEF){
		option[i]=OPT_DEF[i];
	}
	if(typeof(opt)=="object"){
		for(var i in opt){
			option[i]=opt[i];
		}
	}
	
	
	
	// values
	values={};
	// set default
	for(var i in VAL_DEF){
		values[i]=VAL_DEF[i];
	}
	if(typeof(param)=="object"){
//		values=param;
		for(var i in param){
			values[i]=param[i];
		}
	}
	
	for(var i=0;i<ARG_NAME.length;i++){
		if(arguments[i+1]!=null){
			values[ARG_NAME[i]]=arguments[i+1];
		}
	}
	
	// hissu
	for(var i in HISSU){
		if(values[i]==null){
			alert('getSwfTag ERROR:'+i+' is undefiend');
			return false;
		}
	}
	
	
	// make string;
	objTag='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';
	parTag='';
	embTag='<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"';
	
	// exception
	if(ver!=null){
		if(typeof(ver)==Number){
			version=ver+',0,0,0';
		}else{
			version=ver;
		}
		objTag+='codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + version + '"';
	}
	
	//main
	for(var i in values){
		newAtt=getSwfAttribute(i,values);
		
		// alias or not
		if(ALIAS[i]!=null){
			//alias
			embTag+=getSwfAttributeAlias(i,values,ALIAS[i]);
		}else{
			embTag+=newAtt;
		}
		//obj or param
		if(IN_OBJECT[i]==true){
			//obj
			objTag+=newAtt;
		}else{
			//param
			parTag+=getSwfParam(i,values)+option.kaigyou;
		}
	}
	
	//close tags
	objTag+='>'+option.kaigyou;
	embTag+=' />';
	
	return objTag+parTag+embTag+'</object>';
}


function getSwfAttributeAlias(name,values,alias){
	if(values[name]==null){
		return '';
	}else{
		return ' '+alias+'="'+values[name]+'"';
	}
}
function getSwfAttribute(name,values){
	if(values[name]==null){
		return '';
	}else{
		return ' '+name+'="'+values[name]+'"';
	}
}
function getSwfParam(name,values){
	if(values[name]==null){
		return '';
	}else{
		return '<param name="' + name + '" value="' + values[name] + '" />';
	}
}




