var queue={currentPage:null,currentPath:null,oldPage:null,inTransition:false,waiting:null,currentQo:null,init:function(){$.address.init(this.onAddressInit).change(this.onAddressChange)},goAddress:function(a){a=a.substr(1,a.length-1);queue.go(a)},onAddressInit:function(){},go:function(a){a=a.split("/");a=new QueueObject(a);if(a.getPage()==null)a=new QueueObject(["home"]);this.stack(a)},stack:function(a){if(this.currentPage)if(a.path[0]==this.currentPage.name){this.executeAction(a);return}if(this.inTransition==
false){this.waiting=false;this.goQo(a)}else this.waiting=a},goQo:function(a){this.inTransition=true;modal.close();var b=new (a.getPage());this.oldPage=this.currentPage;this.currentPage=b;this.currentQo=a;animation.showLoading();b.onLoad=this.onPageLoaded;b.transitionInCompleted=this.onPageInCompleted;b.load()},onPageInCompleted:function(){queue.inTransition=false;queue.waiting&&queue.stack(queue.waiting)},executeDefaultAction:function(){queue.currentPage.defaultAction&&queue.currentPage[queue.currentPage.defaultAction].apply(queue.currentPage,
[])},executeAction:function(a){if(queue.currentPage.name==a.path[0]){var b=[],c=null;if(a.path.length>1){c=a.path[1];if(a.path.length>2)b=a.path.slice(2)}typeof queue.currentPage[c]=="function"?queue.currentPage[c].apply(queue.currentPage,b):queue.executeDefaultAction()}},onPageLoaded:function(){animation.hideLoading();queue.oldPage&&queue.oldPage.isUp==true&&queue.currentPage.content.animate({_size:2},{duration:0,queue:true});queue.currentPage.onLoad=function(){trace("pagina j\u00e1 carregada")};
queue.currentPage.transitionIn();queue.executeAction(queue.currentQo);queue.oldPage&&queue.oldPage.transitionOut()},onAddressChange:function(a){queue.goAddress(a.value)}};

