var mapList;var maps=new Hash();var layouts=new Hash();function editMap(A){(function(){var B=siteUrl+"/map-maker?mapid="+A;window.location=B}).delay(1)}window.addEvent("load",function(){$("MyMaps").empty().adopt(new Element("li",{id:"MapDotter",html:"Loading your maps "}));myDotter=new Dotter("MapDotter",{periodical:250,dot:".",numDots:5}).start()});window.addEvent("pageload",function(){loadShoppingCart();mapList=new List({element:"MyMaps",select:false});new Request.JSON({url:themeUrl+"/php/initialize.php",onComplete:function(A){myDotter.stop();$("MapDotter").dispose();theUser.userid=A.user?A.user.username:"anonymous";A.layouts.each(function(B){layouts.set(B.resourceid,B)});A.stockMaps.each(function(B){maps.set(B.resourceid,B)});if($type(A.userMaps)=="array"){A.userMaps.each(function(B){B.addSilently=true;mapList.add(new MapItem(B))})}else{if($type(A.userMaps)=="object"){for(mapid in A.userMaps){A.userMaps[mapid].mapid=mapid;A.userMaps[mapid].addSilently=true;mapList.add(new MapItem(A.userMaps[mapid]))}}}}}).send()});var MapItem=new Class({Family:"MapItem",Extends:Item,previewBlocks:null,options:{mapid:"",basemap:"",title:"",defaultTitle:"Untitled Map",defaultDescription:"No description",updateUrl:themeUrl+"/php/map_update.php",thumbnailUrl:themeUrl+"/php/map_thumbnail.php",thumbnailSize:{x:133,y:116}},initialize:function(A){this.previewBlocks=[];this.parent(A)},dispose:function(){this.previewBlocks.each(function(A){A.dispose()})},update:function(A,B){if(this.options.updateUrl){A.mapid=this.options.mapid;new Request({url:this.updateUrl,data:A,onComplete:B}).send()}else{if(B){B()}}},setTitle:function(A){this.options.title=A;this.previewBlocks.each(function(B){B.getElements(".mapTitle").set("html",A)});this.update({maptitle:A})},setDescription:function(A){this.options.description=A;this.update({mapdescription:A})},disposeElement:function(A){this.previewBlocks.erase(A);A.dispose()},createElement:function(){var A=this.options;var D=layouts.get(A.layout);if(!D){console.log("layout "+A.layout+" not found");return }var G=new Element("div",{"class":"mapItem"});var I=100;var H=100;if(A.mapaspect>1){H/=A.mapaspect}else{I*=A.mapaspect}var F=new Element("a",{"class":"itemThumb",href:"javascript:void(0)",events:{click:(function(){editMap(A.mapid)}).bind(this)}});var C=new Element("img",{width:I,height:H,src:A.thumbnailUrl+"?basemap="+A.basemap+"&mapid="+A.mapid+"&userid="+theUser.userid+"&extent="+A.extent+"&width="+(I*2)+"&height="+(H*2)});F.adopt(C);G.adopt(F);var E=new Element("div",{"class":"itemDetail"}).inject(G);new Element("a",{"class":"itemTitle",href:"javascript:void(0)",html:A.title?A.title:A.defaultTitle,events:{click:function(){editMap(A.mapid)}}}).inject(E);new Element("div",{"class":"itemDescription",html:A.description?A.description:A.defaultDescription}).inject(E);var B=new Element("div",{"class":"itemColumn"}).inject(G);new Element("div",{"class":"itemLayout",html:D.size+" "+D.medium}).inject(B);new Element("div",{"class":"itemPrice",html:"$"+D.price}).inject(B);B=new Element("div",{"class":"itemColumn"}).inject(G);if(A.created){new Element("div",{"class":"itemCreated",html:"created: "+A.created}).inject(B)}if(A.modified){new Element("div",{"class":"itemModified",html:"modified: "+A.modified}).inject(B)}B=new Element("div",{"class":"itemColumn"}).inject(G);new Jx.Button({label:"Edit",onClick:(function(){editMap(A.mapid)}).bind(this)}).addTo(B);new Jx.Button({label:"Delete",onClick:(function(){var K=$(G.parentNode);if(!G){return }K.addClass("notice");var J=K.hasClass("hover");K.removeClass("hover");if(window.confirm("Are you sure you want to delete this map?")){K.removeClass("notice");K.addClass("error");new Request.JSON({url:themeUrl+"/php/map_delete.php",data:{mapid:A.mapid},onComplete:(function(L){if(L.success){mapList.remove(this)}updateNumMaps(L.values.numMaps)}).bind(this)}).send()}else{K.removeClass("notice");if(J){K.addClass("hover")}}}).bind(this)}).addTo(B);this.previewBlocks.push(G);return G}});var Dotter=new Class({Implements:[Options,Events],options:{delay:1000,dot:".",message:"Loading",numDots:3,property:"text",reset:false},initialize:function(A,B){this.setOptions(B);this.container=$(A);this.dots=0;this.running=false},dot:function(){if(this.running){var A=this.container.get(this.options.property);this.dots++;this.container.set(this.options.property,(this.dots%this.options.numDots!=0?A:this.options.message)+""+this.options.dot)}return this},load:function(){this.loaded=true;this.dots=0;this.dotter=function(){this.dot();this.fireEvent("dot")}.bind(this);this.periodical=this.dotter.periodical(this.options.delay);this.container.set(this.options.property,this.options.message+""+this.options.dot);return this},start:function(){if(!this.loaded||this.options.reset){this.load()}this.running=true;this.fireEvent("start");return this},stop:function(){this.running=this.loaded=false;$clear(this.periodical);this.fireEvent("stop");return this}});