CL.Models.Page=Backbone.Model.extend({initialize:function(){var view=this;},getOrFetchHTML:function(success,timeout){var view=this;if(!this.get("html")){if(this.request){this.request.abort();} this.request=$.ajax({"action":"GET","url":this.get("url"),"timeout":10000,"success":function(data){view.parseResponse(data);success&&success();},"error":function(data,status){if(status=="timeout"){timeout&&timeout();}}});}else{success&&success();}},parseResponse:function(data){var $response=$("
").html(data),regions={};this.set({"title":$("title",$response).text(),"html":$("#wrapper",$response).html(),});this.scanRegions();},scanRegions:function(){var $html=$("
").html(this.get("html")),regions={};$("section.region",$html).each(function(){regions[$(this).data("region-id")]={html:$(this).html(),options:$(this).data("options")||{}}});this.set({"regions":regions});}});