var Builder={NODEMAP:{AREA:"map",CAPTION:"table",COL:"table",COLGROUP:"table",LEGEND:"fieldset",OPTGROUP:"select",OPTION:"select",PARAM:"object",TBODY:"table",TD:"table",TFOOT:"table",TH:"table",THEAD:"table",TR:"table"},node:function(_1){
_1=_1.toUpperCase();
var _2=this.NODEMAP[_1]||"div";
var _3=document.createElement(_2);
try{
_3.innerHTML="<"+_1+"></"+_1+">";
}
catch(e){
}
var _4=_3.firstChild||null;
if(_4&&(_4.tagName!=_1)){
_4=_4.getElementsByTagName(_1)[0];
}
if(!_4){
_4=document.createElement(_1);
}
if(!_4){
return;
}
if(arguments[1]){
if(this._isStringOrNumber(arguments[1])||(arguments[1] instanceof Array)){
this._children(_4,arguments[1]);
}else{
var _5=this._attributes(arguments[1]);
if(_5.length){
try{
_3.innerHTML="<"+_1+" "+_5+"></"+_1+">";
}
catch(e){
}
_4=_3.firstChild||null;
if(!_4){
_4=document.createElement(_1);
for(attr in arguments[1]){
_4[attr=="class"?"className":attr]=arguments[1][attr];
}
}
if(_4.tagName!=_1){
_4=_3.getElementsByTagName(_1)[0];
}
}
}
}
if(arguments[2]){
this._children(_4,arguments[2]);
}
return _4;
},_text:function(_6){
return document.createTextNode(_6);
},_attributes:function(_7){
var _8=[];
for(attribute in _7){
_8.push((attribute=="className"?"class":attribute)+"=\""+_7[attribute].toString().escapeHTML()+"\"");
}
return _8.join(" ");
},_children:function(_9,_a){
if(typeof _a=="object"){
_a.flatten().each(function(e){
if(typeof e=="object"){
_9.appendChild(e);
}else{
if(Builder._isStringOrNumber(e)){
_9.appendChild(Builder._text(e));
}
}
});
}else{
if(Builder._isStringOrNumber(_a)){
_9.appendChild(Builder._text(_a));
}
}
},_isStringOrNumber:function(_c){
return (typeof _c=="string"||typeof _c=="number");
},dump:function(_d){
if(typeof _d!="object"&&typeof _d!="function"){
_d=window;
}
var _e=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);
_e.each(function(_f){
_d[_f]=function(){
return Builder.node.apply(Builder,[_f].concat($A(arguments)));
};
});
}};

