function PhotoLayerCallback(o,c){hide_loading();this.photoLayer=c;if(c.enabled||c.clickMorePhotos){this.morePhotos(o,c);c.clickMorePhotos=false;return}var m=getPhotos(o);if(!m){return}var g=[];for(var n=3;n<=19;n++){g[n]=[];c.ids[n]=[]}var d=0;var k=m.length;if(c.is_ie&&k>1000){k=1000}for(var f=0;f<k;f++){var a=m[f];var p=40;var b=-1;for(var n=3;n<=19;n++){c.ids[n][a.id]="exists";var h=calc_precision(n);var b=h[0];var p=h[1];var l=n>=11?100:30;var e=this.createMarker(a,c.markerIcon,p);if(typeof toFixed=="function"){var j=(e.latlng.lat().toFixed(b)+""+e.latlng.lng().toFixed(b))}else{var j=(toFixedIe(e.latlng.lat(),b)+""+toFixedIe(e.latlng.lng(),b))}j=j.replace(".","").replace(".","").replace("-","");if(!c.seenLatLngs[j]){c.seenLatLngs[j]=[]}if(!c.seenLatLngs[j][n]){d++;c.seenLatLngs[j][n]=[];c.seenLatLngs[j][n].push(a);g[n].push(e)}else{if(c.seenLatLngs[j][n].length<l){c.seenLatLngs[j][n].push(a)}}}}for(var n=3;n<=19;n++){c.mgr.addMarkers(g[n],n,n)}c.mgr.refresh()}PhotoLayerCallback.prototype.morePhotos=function(o,c){hide_loading();this.photoLayer=c;var n=c.map.getZoom();var l=n>=12?25:15;var e=displayed=0;var m=getPhotos(o);if(!m){return}var f=[];var k=[];for(var h=n;h<=19;h++){f[h]=[];k[h]=0}while(k[n]<l&&m[e]){var a=m[e];if(c.ids[n]&&c.ids[n][a.id]){e++;continue}for(var h=n;h<=19;h++){if(k[h]>=l){continue}if(!c.ids[h]){c.ids[h]=[]}c.ids[h][a.id]="exists";var g=calc_precision(h);var b=g[0];var p=c.enabled?40:20;var d=this.createMarker(a,c.markerIcon,p);if(typeof toFixed=="function"){var j=(d.latlng.lat().toFixed(b)+""+d.latlng.lng().toFixed(b))}else{var j=(toFixedIe(d.latlng.lat(),b)+""+toFixedIe(d.latlng.lng(),b))}j=j.replace(".","").replace(".","").replace("-","");if(!c.seenLatLngs[j]){c.seenLatLngs[j]=[]}if(!c.seenLatLngs[j][h]){c.seenLatLngs[j][h]=[];c.seenLatLngs[j][h].push(a);c.mgr.addMarker(d,h,h);k[h]++}else{if(c.seenLatLngs[j][h].length<30){c.seenLatLngs[j][h].push(a)}}}e++}};function show_loading(){document.getElementById("mainloading").style.display="block"}function hide_loading(){document.getElementById("mainloading").style.display="none"}function toFixedIe(b,a){var c=Math.pow(10,a||0);return String(Math.round(b*c)/c)}function getPhotos(a){return(a.photos&&a.photos.photo)||a}function getLink(a){return("http://www.flickr.com/photos/"+a.owner+"/"+a.id)}function getImageUrl(a,b){return"http://farm"+a.farm+".static.flickr.com/"+a.server+"/"+a.id+"_"+a.secret+b+".jpg"}function getOriginalImageUrl(a){return"http://farm"+a.farm+".static.flickr.com/"+a.server+"/"+a.id+"_"+a.originalsecret+"_o."+a.originalformat}function getBestImageUrl(a){if(a.o_width){if(a.o_width>1280||a.o_height>1280){return getImageUrl(a,"_b")}return getOriginalImageUrl(a)}return getImageUrl(a,"")}function calc_precision(b){var c=-1;var a=40;if(b>4){c=0}if(b>=8){c=1}if(b>=10){c=2}if(b>=11){c=8}return[c,a]}PhotoLayerCallback.prototype.getLatLng=function(b){var c=parseFloat(b.latitude);var a=parseFloat(b.longitude);return new GLatLng(c,a)};PhotoLayerCallback.prototype.createMarker=function(a,i,n){var j=this;var l=a.title;var e=a.author;var k=getLink(a);var d=getImageUrl(a,"_s");var h=a.ownername;var c=getBestImageUrl(a);var m=getImageUrl(a,"");var h=a.ownername;var b=a.ownername;var g=new GIcon(i);g.image=d;var f=new MarkerLight(this.getLatLng(a),{image:d,title:l,width:n,height:n});GEvent.addListener(f,"mouseover",function(){if(!f.tooltip){f.tooltip=new Tooltip(f,"<img border='0' src='"+d+"' height='75'/>",4);map.addOverlay(f.tooltip)}f.tooltip.show()});GEvent.addListener(f,"mouseout",function(){f.tooltip.hide()});GEvent.addListener(f,"click",function(){if(j.photoLayer.lastMarker){j.photoLayer.lastMarker.resetBorder()}f.highlightBorder();j.photoLayer.lastMarker=f;f.tooltip.hide();var x=j.photoLayer.map.getZoom();var w="";var t=calc_precision(x);var p=t[0];CB_Gallery=null;if(typeof toFixed=="function"){var u=(f.latlng.lat().toFixed(p)+""+f.latlng.lng().toFixed(p))}else{var u=(toFixedIe(f.latlng.lat(),p)+""+toFixedIe(f.latlng.lng(),p))}u=u.replace(".","").replace(".","").replace("-","");var s=document.getElementById("hd").checked;if(j.photoLayer.seenLatLngs[u][x].length==1){var o=j.photoLayer.seenLatLngs[u][x][0];var v=s?getBestImageUrl(o):getImageUrl(o,"");var q=nsid==o.owner?o.title:o.title+" (by "+o.ownername+")";w+="<a rel='clearbox' href='"+v+"' title='"+q+"'><img border='0' src='"+getImageUrl(o,"_s")+"'/></a>";document.getElementById("hidden").innerHTML=w;var v=s?c:m;var q=nsid==b?l:l+" (by "+h+")";CB_Open("gallery=clearbox,,href="+v+",,title="+q+",,dlhrf="+getLink(o))}else{for(var r=0;r<j.photoLayer.seenLatLngs[u][x].length;r++){var o=j.photoLayer.seenLatLngs[u][x][r];var v=s?getBestImageUrl(o):getImageUrl(o,"");var q=nsid==o.owner?o.title:o.title+" (by "+o.ownername+")";w+='<a rel="clearbox[gallery=Album '+u+",,dlhrf="+getLink(o)+']" href="'+v+'" title="'+q+'">"<img border="0" src="'+getImageUrl(o,"_s")+'"/></a>'}document.getElementById("hidden").innerHTML=w;var v=s?c:m;var q=nsid==b?l:l+" (by "+h+")";CB_Open("gallery=Album "+u+",,href="+v)}});return f};function PhotoLayer(d,e){var c=this;var b=e||{};c.map=d;c.ids={};c.seenLatLngs={};c.oldCenter=d.getBounds().toSpan();c.oldZoom=d.getZoom();c.mgr=new MarkerManager(d,{maxZoom:19});c.clickMorePhotos=false;if(!+"\v1"){c.is_ie=true}else{c.is_ie=false}var a=new GIcon();a.infoWindowAnchor=new GPoint(9,0);c.markerIcon=a;c.enabled=false;GEvent.addListener(d,"moveend",function(){c.maybeLoadPhotos()});GEvent.addListener(d,"zoomend",function(){c.maybeLoadPhotos()})}PhotoLayer.prototype.enable=function(){this.enabled=true;this.maybeLoadPhotos(true)};PhotoLayer.prototype.bootstrap=function(){var a=this;a.load(a)};PhotoLayer.prototype.embed=function(){var a=this;a.load_embed(a)};PhotoLayer.prototype.photoset=function(){var a=this;a.load_photoset(a)};PhotoLayer.prototype.disable=function(){this.enabled=false;this.mgr.clearMarkers();this.ids={};this.seenLatLngs={}};PhotoLayer.prototype.getEnabled=function(){return this.enabled};PhotoLayer.prototype.load=function(photoLayer){show_loading();var url=baseurl+"geo_photos/"+nsid;var callbackName="geo_photos_callback";eval(callbackName+" = function(json) { var pa = new PhotoLayerCallback(json, photoLayer);}");var script=document.createElement("script");script.setAttribute("src",url);script.setAttribute("type","text/javascript");document.documentElement.firstChild.appendChild(script)};PhotoLayer.prototype.load_photoset=function(photoLayer){show_loading();var url=baseurl+"geo_photoset/"+photosetid;var callbackName="geo_photoset_callback";eval(callbackName+" = function(json) { var pa = new PhotoLayerCallback(json, photoLayer);}");var script=document.createElement("script");script.setAttribute("src",url);script.setAttribute("type","text/javascript");document.documentElement.firstChild.appendChild(script)};PhotoLayer.prototype.load_embed=function(photoLayer){show_loading();var url=baseurl+"geo_photos_bbox/"+nsid+"/"+northeastlat+"/"+southwestlat+"/"+northeastlng+"/"+southwestlng;var callbackName="geo_photos_bbox_callback";eval(callbackName+" = function(json) { var pa = new PhotoLayerCallback(json, photoLayer);}");var script=document.createElement("script");script.setAttribute("src",url);script.setAttribute("type","text/javascript");document.documentElement.firstChild.appendChild(script)};PhotoLayer.prototype.maybeLoadPhotos=function(c){var i=this;if(i.enabled){var b=i.map.getCenter();var a=i.map.getBounds();var d=a.getSouthWest();var e=a.getNorthEast();var j=a.toSpan();var k=i.map.getZoom();var g=b.distanceFrom(i.oldCenter);var f=(e.distanceFrom(d));var h=(g/f)*100;if(h>30||(k!=i.oldZoom)||c){i.loadMorePhotos(i,{west:d.lng(),south:d.lat(),east:e.lng(),north:e.lat()});i.oldCenter=b;i.oldZoom=k}}};PhotoLayer.prototype.loadMorePhotos=function(photoLayer,options){var photolayer=this;show_loading();var uniqueID="";for(optionName in options){if(options.hasOwnProperty(optionName)){var optionVal=""+options[optionName]+"";url+=optionName+"="+optionVal+"&";uniqueID+=optionVal.replace(/[^\w]+/g,"")}}if(options.west>options.east){if(Math.abs(options.west)>Math.abs(options.east)){options.west=-180}else{options.east=180}}if(options.south>options.north){if(Math.abs(options.south)>Math.abs(options.north)){options.south=-180}else{options.north=180}}var tag=photoLayer.clickMorePhotos?document.getElementById("tag").value:"";if(tag!=""){var url=baseurl+"load_more/"+options.west+"/"+options.south+"/"+options.east+"/"+options.north+"/"+uniqueID+"/"+escape(tag)}else{var url=baseurl+"load_more/"+options.west+"/"+options.south+"/"+options.east+"/"+options.north+"/"+uniqueID}var callbackName="PhotoLayerCallback.loader"+uniqueID;eval(callbackName+" = function(json) { var pa = new PhotoLayerCallback(json, photoLayer);}");var script=document.createElement("script");script.setAttribute("src",url);script.setAttribute("type","text/javascript");document.documentElement.firstChild.appendChild(script)};function MorePhotos(b){var a=this;a.photoLayer=b}MorePhotos.prototype=new GControl();MorePhotos.prototype.initialize=function(d){var c=this;var a=document.createElement("div");a.style.border="1px solid black";a.style.backgroundColor="white";a.style.textAlign="center";a.style.cursor="pointer";a.style.height="1.5em";var b=document.createElement("input");b.id="tag";b.style.cssFloat="left";if(c.photoLayer.is_ie){b.style.height="1.4em"}else{b.style.height="1.5em"}b.style.width="15em";b.style.paddingTop="0.1em";b.style.borderWidth="1px";b.style.borderStyle="solid";b.style.borderColor="white rgb(176, 176, 176) rgb(176, 176, 176) white";b.style.fontWeight="bold";b.style.fontSize="0.8em";var e=document.createElement("div");e.style.cssFloat="left";e.style.padding="0 0.5em";e.style.display="inline";e.style.borderWidth="1px";e.style.borderStyle="solid";e.style.borderColor="white rgb(176, 176, 176) rgb(176, 176, 176) white";e.style.fontWeight="bold";e.style.fontSize="12px";a.appendChild(b);a.appendChild(e);e.appendChild(document.createTextNode("More photos"));GEvent.addDomListener(e,"click",function(){var f=d.getCenter();var k=d.getBounds();var h=k.getSouthWest();var g=k.getNorthEast();var i=k.toSpan();var j=d.getZoom();c.photoLayer.clickMorePhotos=true;c.photoLayer.loadMorePhotos(c.photoLayer,{north:g.lat(),south:h.lat(),east:g.lng(),west:h.lng()})});d.getContainer().appendChild(a);return a};MorePhotos.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(100,7))};function Link(b){var a=this;a.photoLayer=b}Link.prototype=new GControl();Link.prototype.initialize=function(d){var c=this;var a=document.createElement("div");a.style.border="1px solid black";a.style.backgroundColor="white";a.style.textAlign="center";a.style.cursor="pointer";a.style.height="1.5em";var b=document.createElement("div");b.style.cssFloat="left";b.style.padding="0 0.5em";b.style.borderWidth="1px";b.style.borderStyle="solid";b.style.borderColor="white rgb(176, 176, 176) rgb(176, 176, 176) white";b.style.fontWeight="bold";b.style.fontSize="12px";a.appendChild(b);b.appendChild(document.createTextNode("Link"));GEvent.addDomListener(b,"click",function(){var e=d.getCenter();var j=d.getBounds();var g=j.getSouthWest();var f=j.getNorthEast();var h=j.toSpan();var i=d.getZoom();var e=d.getCenter();var k=d.getCurrentMapType().getName();show_embed(f.lat()+","+g.lat()+","+f.lng()+","+g.lng()+","+e.lat()+","+e.lng(),i,k)});d.getContainer().appendChild(a);return a};Link.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(390,7))};function Hd(){var a=this}Hd.prototype=new GControl();Hd.prototype.initialize=function(d){var c=this;var a=document.createElement("div");a.style.border="1px solid black";a.style.backgroundColor="white";a.style.textAlign="center";a.style.cursor="pointer";a.style.height="1.5em";var b=document.createElement("input");b.type="checkbox";b.id="hd";b.style.cssFloat="left";if(c.is_ie){b.style.height="1.5em"}b.style.borderWidth="1px";b.style.borderStyle="solid";b.style.borderColor="white rgb(176, 176, 176) rgb(176, 176, 176) white";var e=document.createElement("div");e.style.cssFloat="left";e.style.padding="0 0.5em";e.style.borderWidth="1px";e.style.display="inline";e.style.borderStyle="solid";e.style.borderColor="white rgb(176, 176, 176) rgb(176, 176, 176) white";e.style.fontWeight="bold";e.style.fontSize="12px";a.appendChild(b);a.appendChild(e);e.appendChild(document.createTextNode("HD"));d.getContainer().appendChild(a);return a};Hd.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(330,7))};
