////////////////////////////////////////////////
// IE_objectFix.js Ver.0.2										//
// 2007.6.27 (C) SWD All rights reserved.			//
// http://www.heion.net/											//
////////////////////////////////////////////////


//objectタグを取得
var obj = document.getElementsByTagName('object');
//objectタグに埋め込まれているであろう属性ノードを配列に格納（不足があれば追記してください。）
var obj_item = new Array("classid","codebase","width","height","id","align","wmode","data","type");
//paramタグに埋め込まれているであろう属性ノードを配列に格納（不足があれば追記してください。）
var prm_item = new Array("name","value");



//------------------------------------------------
var dom       = new Object();
dom.event     = new Object();

dom.event.addEventListener = function(elm,type,func,useCapture){
	if(!elm){
		return false;
	}
	if(!useCapture){
		useCapture = false;
	}
/*
	if(elm.addEventListener){
		elm.addEventListener(type,func,false);
	}
*/
	if(elm.attachEvent){
		elm.attachEvent('on'+type,func);
	}
	else{
		return false;
	}
	return true;
};

//onload時に実行
dom.event.addEventListener(window,'load',objFIX);

function objFIX(){

	for(var A=0;A<obj.length;A++){
	var obj_html = "<object ";
	var prm_html = "<param ";
	var ele      = document.createElement('span');

//2007.10.7追記
	ele.style.display = "block";
	if(obj.item(A).attributes.getNamedItem("width").nodeValue != ''){
	ele.style.width   = obj.item(A).attributes.getNamedItem("width").nodeValue+'px';
	}
	if(obj.item(A).attributes.getNamedItem("height").nodeValue != ''){
	ele.style.height  = obj.item(A).attributes.getNamedItem("height").nodeValue+'px';
	}
	
		if(obj.item(A).parentNode.firstChild.nodeName != "SCRIPT"){

			for(var i=0;i<obj_item.length;i++){
				if((obj.item(A).attributes.getNamedItem(obj_item[i]) != null)&&(obj.item(A).attributes.getNamedItem(obj_item[i]).nodeValue != '')){
					obj_html += " "+String(obj_item[i]) + "=" + obj.item(A).attributes.getNamedItem(obj_item[i]).nodeValue;
				}
			}
		var prmCld = obj.item(A).childNodes;
		
			for(var i=0;i<prmCld.length;i++){
			obj_html += ">" + prm_html;
			
				for(var Z=0;Z<prm_item.length;Z++){
					if(prmCld[i].attributes.getNamedItem(prm_item[Z]) != null){
					obj_html += " "+String(prm_item[Z]) + "=" + prmCld[i].attributes.getNamedItem(prm_item[Z]).nodeValue;
					}
				}
			}
		
		obj_html += "></object>";
		if(obj.item(A).parentNode.getElementsByTagName('object').item(A) != null){
		obj.item(A).parentNode.replaceChild(ele,obj.item(A).parentNode.getElementsByTagName('object').item(A));
		}
		else{
		obj.item(A).parentNode.replaceChild(ele,obj.item(A).parentNode.getElementsByTagName('object').item(0));
		}
		ele.innerHTML =obj_html;
		}
	}

};