//Object Unpacker - unpacker.js //RadukAV //rogoff1985@mail.ru //[requires String.prototype.camelize to work with styles] function Unpacker(object, parent){ this.ReturnElements = {}; this.MainObject = {}; this.unpack(object, parent) } Unpacker.prototype.unpack = function(object, parent){ for(var j in object){ var el; if(object[j].tag.toLowerCase() == "table"){ el = new DOMTableExtended(object[j].tableStructure, parent); }else{ el = document.createElement(object[j].tag); if(object[j].attributes){ for(var i in object[j].attributes){ el[i] = object[j].attributes[i]; } }//attributes if(object[j].text){ el.appendChild(document.createTextNode(object[j].text)); }//text if(object[j].events){ for(var i in object[j].events){ el[i] = object[j].events[i]; } }//events if(object[j].style){ for(var i in object[j].style){ var styleName = i.camelize(); el.style[styleName] = object[j].style[i]; } }//style /* if(object[j].DO){ for(var i in object[j].DO){ object[j].DO[i].func.apply(el, object[j].DO[i].params); } } */ if(object[j].RETURN){ this.ReturnElements[j] = el; }//RETURN if(object[j].children){ for(var i in object[j].children){ object[j].children[i].parent = el; } this.unpack(object[j].children, el); }//children if(parent){ parent.appendChild(el); }else{ return el; }//return of the FUNCTION }//if-else }//for //end of UnpackObject FUNCTION }