﻿function removeline(o){
	var f=F.top(o,F.ie?"TBODY":"TABLE"), tr=f.getElementsByTagName("TR");
	if(tr.length<=1) return alert("表格只剩一行，不能删除！");
	o.parentNode.parentNode.parentNode.removeChild(o.parentNode.parentNode);
}
function init_xml(o){
	o.clear=function(){
		var f=F.ie?o.tBodies[0]:o;
		for(var i=f.childNodes.length-1;i>=0;i--) f.removeChild(f.childNodes[i]);
	};
	o.newline=function(){
		var tr=document.createElement("TR"),td;
		//if(this.getElementsByTagName("TR").length>=20) return alert("定制信息不能超过 20 行。");
		tr.appendChild(td=document.createElement("TD"));
		td.className="note";
		tr.appendChild(td=document.createElement("TD"));
		td.innerHTML="<input type='hidden' /><input class='input' type='text' maxlength='50' /><input type='hidden' value='row' /><div class='warn'></div>";
		F.ie?this.tBodies[0].appendChild(tr):this.appendChild(tr);
		this.attach(this);
		return tr;
	};
	o.attach=function(o){
		var tr=o.getElementsByTagName("TR");
		for(var i=0;i<tr.length;i++){
			var p=tr[i].getElementsByTagName("INPUT")[1];
			p.onfocus=function(){F.top(this).getElementsByTagName("DIV")[0].className="warn_hover";}
			p.onblur=function(){F.top(this).getElementsByTagName("DIV")[0].className="warn_finish";}
		}
	};
	o.swap=function(v){
		var p=Form[v],arr=this.read(),l=[];
		if(!p) this.clear();
		else {
			for(var i=0;i<p.length;i++){
				var node={name:p[i][1],title:p[i][0],value:""};
				for(var j=0;j<arr.length;j++){
					var e=arr[j];
					if(e.title==p[i][0]){
						node.value=e.value;
						e.name="-ok-";
						break;
					}
				}
				l.push(node);
			}
		}
		for(var j=0;j<arr.length;j++){
			var e=arr[j];
			if(e.name!="-ok-"&&e.value)	{
				e.name="row";
				l.push(e);
			}
		}
		this.write(l);
	};
	o.init=function(){
		var tr=o.getElementsByTagName("TR");
		if(tr.length>0) this.attach(o);
	};
	o.read=function(){
		var tr=this.getElementsByTagName("TR"),arr=[];
		for(var i=0;i<tr.length;i++){
			var txt=tr[i].getElementsByTagName("INPUT");
			var t=txt[0].value.trim(),v=txt[1].value.trim(),n=txt[2].value.trim();
			var node={name:n,title:t,value:v}
			arr.push(node);
		}
		return arr
	};
	o.write=function(arr){
		this.clear();
		for(var i=0;i<arr.length;i++){
			var tr=this.newline(),txt=tr.getElementsByTagName("INPUT"),n=arr[i].name;
			if(!n) n="row";
			tr.cells[0].innerHTML=arr[i].title+"：";
			var div=tr.getElementsByTagName("DIV")[0];
			div.className="warn";
			div.innerHTML="请您填写"+arr[i].title.toString().replace(/\s+|　/g,"");
			txt[0].value=arr[i].title;
			txt[1].value=arr[i].value;
			txt[2].value=n;
		}
	};
	o.get=function(){
		var arr=this.read(),c=0,s=[];
		for(var i=0;i<arr.length;i++){
			var e=arr[i],n=e.name;
			if(!e.title) continue;
			c+=F.ch(e.title)+F.ch(e.value);
			s.push("<"+(n?n:"row")+" title=\""+F.xmlIn(e.title)+"\" value=\""+F.xmlIn(e.value)+"\" />");
		}
		this.chars=c;
		return s.join('');
	};
	o.set=function(v){
		if(!v) return this.clear();
		var d=F.loadXml(v),xn=d.documentElement.childNodes,arr=[];
		for(var i=0;i<xn.length;i++){
			var xa=xn[i].attributes;
			if(xa.length<2) continue;
			var node={name:xn[i].nodeName,title:F.xmlOut(xa[0].value),value:F.xmlOut(xa[1].value)};
			arr.push(node);
		}
		this.write(arr);
	};
	o.init();
}
