function Dom_create(Element_Obj){
	this.Super_Element    = Element_Obj;	//親Nodeの指定
	this.Node_count       = 0;				//現在のNodeの番号
	this.Elements_pointer = new Array();	
	this.Elements_name    = new Array();
	this.Single_Tags      = new Array();
	this.Error_msg        = "";
	/*与えられたパラメータでエレメントを作成*/
	this.cr_El = function(Element_name){
		def_no = this.Node_count;
		try{
			if(this.Single_Tag_Check()){
				this.app_El();
			}
			this.Elements_pointer[this.Node_count] = document.createElement(Element_name);
			this.Elements_name[this.Node_count]    = Element_name;
			this.Error_msg = "";
			this.Node_count++;
			return true;
		}catch(e){
			this.Node_count = def_no;
			this.Error_msg = "CreateElementに失敗しました。";
			return false;;
		}
	};
	
	/*与えられたパラメータでテキストデータを現在作業中のエレメントに追加*/
	this.cr_Tx = function(Txt_data){
		try{
			if(this.Single_Tag_Check()){
				this.app_El();
			}
			cr_cnt = this.Node_count - 1;
			Textnode = document.createTextNode(Txt_data);
			this.Elements_pointer[cr_cnt].appendChild(Textnode);
			this.Error_msg = "";
			return true;
		}catch(e){
			this.Error_msg = "ElementのAppendに失敗しました。";
			return false;
		}
	};
	
	/*与えられたパラメータでHTMLデータを現在作業中のエレメントに追加*/
	this.cr_iH = function(Txt_data){
		try{
			if(this.Single_Tag_Check()){
				this.app_El();
			}
			cr_cnt = this.Node_count - 1;
			this.Elements_pointer[cr_cnt].innerHTML = Txt_data;
			this.Error_msg = "";
			return true;
		}catch(e){
			this.Error_msg = "ElementのAppendに失敗しました。";
			return false;
		}
	};
	
	/*与えられたパラメータで現在作業中のエレメントに属性を追加*/
	this.set_Att = function(Txt_Name_data,Txt_Value_data){
		try{
			cr_cnt = this.Node_count - 1;
			this.Elements_pointer[cr_cnt].setAttribute(Txt_Name_data,Txt_Value_data);
			this.Error_msg = "";
			return true;
		}catch(e){
			this.Error_msg = "ElementへのsetAttributeに失敗しました。";
			return false;
		}
	};
	
	/*現在作業中のエレメントを親NodeにAppendする*/
	this.app_El = function(){
		try{
			if(this.Node_count > 1){
				cr_cnt = this.Node_count - 1;
				pt_cnt = cr_cnt - 1;
				this.Elements_pointer[pt_cnt].appendChild(this.Elements_pointer[cr_cnt]);
				this.Node_count = cr_cnt;
				this.Error_msg = "";
				return true;
			}else if(this.Node_count == 1){
				this.Super_Element.appendChild(this.Elements_pointer[0]);
				this.Node_count = 0;
				this.Error_msg = "";
				return true;
			}else{
				this.Error_msg = "AppendするElementがありません。";
				return false;
			}
		}catch(e){
			this.Error_msg = "ElementのAppendに失敗しました。";
			return false;
		}
	};
	
	/*現在作業中の全てのエレメントをAppendする*/
	this.app_AL = function(){
		try{
			cr_cnt = this.Node_count - 1;
			for(i = this.Node_count;i > 0;i--){
				if(!this.app_El()){
					this.Error_msg = "ElementのAppendに失敗しました。";
					return false;
				}
			}
		}catch(e){
			this.Error_msg = "ElementのAppendに失敗しました。";
			return false;
		}
	};
	
	/*現在作業中のエレメントが単独タグかどうかの確認*/
	this.Single_Tag_Check = function(){
		cr_cnt = this.Node_count - 1;
		if(this.Elements_name[cr_cnt] == "img" || this.Elements_name[cr_cnt] == "br" || this.Elements_name[cr_cnt] == "img"){
			return true;
		}else{
			return false;
		}
	};
}
