function event_queue(){this.events=[];this.listeners_by_type={};this.process_state=false;}
event_queue.prototype.add_listener=function(etype,object,callback)
{if(!this.listeners_by_type[etype])
this.listeners_by_type[etype]=[];this.listeners_by_type[etype].push({target:object,callback:callback});};event_queue.prototype.send_event=function(etype,context){this.events.push({'etype':etype,'context':context||{}});process_queue();};process_queue=function()
{var event=event_queue.events.shift();var etype=event.etype;var elist=event_queue.listeners_by_type[etype]||[];var length=elist.length;for(var i=0;i<length;i++)
{var listener=elist[i];var func=listener.callback;if(listener.target)
func.call(listener.target,event.context);else
func(event.context);}
if(event_queue.events.length>0)
setTimeout("process_queue",0);};function browser_view(container_node_id,element_name,parent_name_scheme,post_template,options)
{this.container_node_id=container_node_id;this.post_template=post_template;this.element_name=element_name;this.parent_name_scheme="#"+parent_name_scheme;jQuery.extend(this,options||{});this.contexts={};}
browser_view.prototype.init_display=function(){var browser=$('#'+this.container_node_id);browser.html("");};browser_view.prototype.change=function(id,options)
{var context=this.contexts[id];$.extend(context,options);};browser_view.prototype.on_new_posts=function(newposts)
{var t1=new Date().getTime();var browser=$('#'+this.container_node_id);var datasource=newposts;var ns=this.parent_name_scheme;var element_name=this.element_name;for(var i=0;i<datasource.length;i++)
{var element=datasource[i];var parent_node=$(ns+element.parent_id,browser);var context=this.contexts[element.id]={};if(parent_node.length==0)parent_node=browser;context[element_name]=element;if(this.default_filter)
this.default_filter(context);parent_node.xyz(this.post_template,context);}
if(window.console)
{console.log(new Date().getTime()-t1);}};