YUI.add("gallery-geo",function(c){function a(f,d,e){navigator.geolocation.getCurrentPosition(function(g){f.call(d,{success:true,coords:{latitude:g.coords.latitude,longitude:g.coords.longitude,accuracy:g.coords.accuracy,altitude:g.coords.altitude,altitudeAccuracy:g.coords.altitudeAccuracy,heading:g.coords.heading,speed:g.coords.speed},timestamp:g.timestamp,source:"native"});},function(g){if(g.code==1){f.call(d,{success:false,denied:true});}else{b(f,d);}},e);}function b(g,d,e){e=e||{};var f=c.Lang.isNumber(e.maximumAge)?{_maxage:e.maximumAge}:{};c.jsonp("http://freegeoip.net/json/?callback={callback}",{on:{success:function(h){var i;if(h.error){g.call(d,{success:false});}else{g.call(d,{success:true,coords:{latitude:parseFloat(h.latitude),longitude:parseFloat(h.longitude),accuracy:Infinity},timestamp:+new Date(),source:"freegeoip.net"});}},failure:function(){g.call(d,{success:false});},timeout:function(){g.call(d,{success:false});}},timeout:e.timeout},f);}c.Geo={getCurrentPosition:navigator.geolocation?a:b};},"gallery-2011.10.20-23-28",{requires:["yql"]});