YAHOO.namespace("net.federighi");YAHOO.net.federighi.KickzMap=function(){this.map={};this.cities={};this.stores={};this.city_points=new Array();this.num_stores=0;this.num_cities=0;this.default_lat=38.99357205820946;this.default_lon=-96.240234375;this.init=function(B,A){if(typeof (B)=="object"&&typeof (A)=="object"){this.map=B;this.cities=A.kickz.areas;this.stores=A.kickz.stores}if(this.cities&&this.stores){this.num_cities=this.cities.length;this.num_stores=this.stores.length}this.showCities();this.showTagCloud()};this.createMarker=function(K,D,J,E){var A=YAHOO.util.Dom.get("kickz_stores");var H=function(O){var N=O.split(",");var P=new Array();for(var M=0;M<N.length;M++){P[M]="<b>"+N[M]+"</b>"}return P.join(", ")};var B=new YMarker(K);var I="<div class='basic_marker'>"+D.gsx$name.$t+"</div>";if(E=="store"){var G="<div class='store_entry'>";G+="<b>"+D.gsx$name.$t+"</b><br>";G+=D.gsx$address.$t+"<br>";G+=D.gsx$citystate.$t+"<br>";G+=D.gsx$phone.$t+"<br>";if(D.gsx$url.$t&&D.gsx$url.$t!="Not Available"){G+="Website: <a href="+D.gsx$url.$t+" target='_blank'>"+D.gsx$link.$t+"</a><br>"}if(D.gsx$brands.$t&&D.gsx$brands.$t!="Not Available"){G+="Brands: "+H(D.gsx$brands.$t)+"<br>"}if(D.gsx$description.$t&&D.gsx$description.$t!="Not Available"){G+=D.gsx$description.$t+"<br>"}G+="</div>"}var C=(D.gsx$key)?D.gsx$key.$t:D.gsx$area.$t;var F=this;B.setSmartWindowColor("black");B.addAutoExpand(I);if(E=="city"){YEvent.Capture(B,EventsList.MouseClick,function(){F.resetStoreList();F.map.removeMarkersAll();F.focusOnCity(K,C,D)});var L=this.createLink(D,J,"city");YAHOO.util.Event.addListener(L.firstChild.id,"click",function(){F.resetStoreList();F.map.removeMarkersAll();F.focusOnCity(K,C,D)});A.appendChild(L)}else{YEvent.Capture(B,EventsList.MouseClick,function(){B.openSmartWindow(G)});var L=this.createLink(D,J,"store");YAHOO.util.Event.addListener(L.firstChild.id,"click",function(){var M=F.map.getBoundsLatLon();var N=K.Lat;var O=K.Lon;if((N<M.LatMin||N>M.LatMax)&&(O<M.LonMin||O>M.LonMax)){F.map.drawZoomAndCenter(K,5)}B.openSmartWindow(G)});A.appendChild(L)}return B};this.showCities=function(){this.map.disableDragMap();this.setListLabel("Metros");for(var B=0;B<this.num_cities;B++){var E=this.cities[B];var A=new YGeoPoint(parseFloat(E.gsx$lat.$t),parseFloat(E.gsx$lon.$t));var D=E.gsx$key.$t;this.city_points[D.toString()]=A;var C=this.createMarker(A,E,B,"city");this.map.addOverlay(C)}};this.showTagCloud=function(){var F=this;var J=YAHOO.util.Dom.get("tag_cloud");var P={"Los Angeles":0,"San Francisco":0,"New York":0,Seattle:0,"Las Vegas":0,Vancouver:0,Atlanta:0,Chicago:0,Boston:0,Philadelphia:0,Miami:0,Hawaii:0};var L={3:"xs",4:"xs",5:"s",6:"s",7:"m",8:"m",9:"l",10:"l",11:"xl",12:"xl",13:"xxl",14:"xxl",15:"xxl"};for(var G=0;G<this.num_cities;G++){for(idx2=0;idx2<this.num_stores;idx2++){var K=this.cities[G];var B=this.stores[idx2];if(K.gsx$key.$t==B.gsx$area.$t){P[K.gsx$name.$t]+=1}}}var H=new Array();function A(U,T){if(U.gsx$name.$t<T.gsx$name.$t){return -1}else{if(U.gsx$name.$t>T.gsx$name.$t){return 1}else{return 0}}}H=this.cities;H.sort(A);for(var I=0;I<this.num_cities;I++){var M=H[I];var C=P[M.gsx$name.$t];var O=M;var Q=M.gsx$name.$t;var S=M.gsx$key.$t;var R=document.createElement("div");R.className="cloud_item cloud_size_"+L[C];var D=document.createElement("a");D.href="#";D.id="tag_"+I;D.appendChild(document.createTextNode(Q));function E(U,T){F.resetStoreList();F.map.removeMarkersAll();F.focusOnCity(T.link_point,T.link_key,T.link_data)}var N={link_point:this.city_points[S],link_key:S,link_data:O};YAHOO.util.Event.addListener("tag_"+I,"click",E,N);R.appendChild(D);J.appendChild(R)}};this.focusOnCity=function(A,D,C){this.map.enableDragMap();this.map.drawZoomAndCenter(A,5);var B=YAHOO.util.Dom.get("selected_city");B.innerHTML=C.gsx$name.$t;this.setListLabel("Stores");this.showStoresForCity(D)};this.showStoresForCity=function(E){for(var B=0;B<this.num_stores;B++){var C=this.stores[B];if(E==C.gsx$area.$t){var A=new YGeoPoint(parseFloat(C.gsx$lat.$t),parseFloat(C.gsx$lon.$t));var D=this.createMarker(A,C,B,"store");this.map.addOverlay(D)}}};this.setListLabel=function(B){var A=document.createElement("div");A.className="listLabel";A.appendChild(document.createTextNode(B));YAHOO.util.Dom.get("kickz_stores").appendChild(A)};this.createLink=function(D,A,B){var E=document.createElement("div");E.className="listStore";var C=document.createElement("a");C.href="#";C.id=B+"_"+A;C.appendChild(document.createTextNode(D.gsx$name.$t));E.appendChild(C);return E};this.startOver=function(){var A=new YGeoPoint(this.default_lat,this.default_lon);this.map.drawZoomAndCenter(A,14);this.resetStoreList();this.map.removeMarkersAll();var B=YAHOO.util.Dom.get("selected_city");B.innerHTML="Select a Metro";this.showCities()};this.resetStoreList=function(){var A=YAHOO.util.Dom.get("kickz_stores");A.innerHTML=""}};