/*
 * jQuery JSON Plugin
 * version: 2.1 (2009-08-14)
 *
 * This document is licensed as free software under the terms of the
 * MIT License: http://www.opensource.org/licenses/mit-license.php
 *
 * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org 
 * website's http://www.json.org/json2.js, which proclaims:
 * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that
 * I uphold.
 *
 * It is also influenced heavily by MochiKit's serializeJSON, which is 
 * copyrighted 2005 by Bob Ippolito.
 */
(function($){$.toJSON=function(o)
{if(typeof(JSON)=='object'&&JSON.stringify)
return JSON.stringify(o);var type=typeof(o);if(o===null)
return"null";if(type=="undefined")
return undefined;if(type=="number"||type=="boolean")
return o+"";if(type=="string")
return $.quoteString(o);if(type=='object')
{if(typeof o.toJSON=="function")
return $.toJSON(o.toJSON());if(o.constructor===Date)
{var month=o.getUTCMonth()+1;if(month<10)month='0'+month;var day=o.getUTCDate();if(day<10)day='0'+day;var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10)hours='0'+hours;var minutes=o.getUTCMinutes();if(minutes<10)minutes='0'+minutes;var seconds=o.getUTCSeconds();if(seconds<10)seconds='0'+seconds;var milli=o.getUTCMilliseconds();if(milli<100)milli='0'+milli;if(milli<10)milli='0'+milli;return'"'+year+'-'+month+'-'+day+'T'+
hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
if(o.constructor===Array)
{var ret=[];for(var i=0;i<o.length;i++)
ret.push($.toJSON(o[i])||"null");return"["+ret.join(",")+"]";}
var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;if(typeof o[k]=="function")
continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);}
return"{"+pairs.join(", ")+"}";}};$.evalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);return eval("("+src+")");};$.secureEvalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
return eval("("+src+")");else
throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(string)
{if(string.match(_escapeable))
{return'"'+string.replace(_escapeable,function(a)
{var c=_meta[a];if(typeof c==='string')return c;c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};})(jQuery);/*
 * jQuery UI Autocomplete HTML Extension
 *
 * Copyright 2010, Scott González (http://scottgonzalez.com)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 *
 * http://github.com/scottgonzalez/jquery-ui-extensions
 */
(function(a){function d(e,b){var c=RegExp(a.ui.autocomplete.escapeRegex(b),"i");return a.grep(e,function(b){return c.test(a("<div>").html(b.label||b.value||b).text())})}var c=a.ui.autocomplete.prototype,f=c._initSource;a.extend(c,{_initSource:function(){this.options.html&&a.isArray(this.options.source)?this.source=function(a,b){b(d(this.options.source,a.term))}:f.call(this)},_renderItem:function(c,b){return a("<li></li>").data("item.autocomplete",b).append(a("<a></a>")[this.options.html?"html":"text"](b.label)).appendTo(c)}})})(jQuery);
/**
 * @name MarkerManager v3
 * @version 1.1
 * @copyright (c) 2007 Google Inc.
 * @author Doug Ricket, Bjorn Brala (port to v3), others,
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License. 
 */function l(a,b){var c=this;c.b=a;c.v=a.getZoom();c.K=new n(a);google.maps.event.addListener(c.K,"ready",function(){c.da=this.getProjection();p(c,a,b)})}
function p(a,b,c){c=c||{};a.l=q;var d=b.mapTypes,e=1,f;for(f in d)if(typeof b.mapTypes.get(f)==="object"&&typeof b.mapTypes.get(f).maxZoom==="number"){var g=b.mapTypes.get(f).maxZoom;g>e&&(e=g)}a.p=c.maxZoom||19;a.T=c.ea;a.r=c.show||!0;c=typeof c.O==="number"?c.O:r;a.M=new google.maps.Size(-c,c);a.J=new google.maps.Size(c,-c);a.aa=c;a.u={};a.B={};a.B[a.p]={};a.F={};a.F[a.p]=0;google.maps.event.addListener(b,"dragend",function(){s(a,a.H)});google.maps.event.addListener(b,"idle",function(){s(a,a.H)});
google.maps.event.addListener(b,"zoom_changed",function(){s(a,a.H)});a.C=function(b){b.setMap(null);a.D--};a.t=function(b){a.r&&(b.setMap(a.b),a.D++)};t(a);a.D=0;a.c=u(a,a.b.getBounds(),a.v,a.M,a.J);google.maps.event.trigger(a,"loaded")}var q=1024,r=100;function t(a){for(var b=256,c=0;c<=a.p;++c)a.B[c]={},a.F[c]=0,a.u[c]=Math.ceil(b/a.l),b<<=1}
function v(a,b,c,d){var e;a.K.getProjection().fromLatLngToDivPixel(b);e=~~(0.5+(1+b.lng()/180)*(2<<c+6));b=b.lat();b=Math.sin(b*Math.PI/180);b=1-0.5/Math.PI*Math.log((1+b)/(1-b));return new google.maps.Point(Math.floor((e+d.width)/a.l),Math.floor((~~(0.5+b*(2<<c+6))+d.height)/a.l))}
function w(a,b,c){var d=b.getPosition();b.U=0;a.T&&google.maps.event.addListener(b,"changed",function(b,c,d){for(var j=a.p,h=!1,c=v(a,c,j,new google.maps.Size(0,0,0,0)),d=v(a,d,j,new google.maps.Size(0,0,0,0));j>=0&&(c.x!==d.x||c.y!==d.y);){var i=x(a,c.x,c.y,j);if(i){for(var k=b,m=0,o=0;o<i.length;++o)i[o]===k&&(i.splice(o--,1),m++);m&&y(a,d.x,d.y,j).push(b)}j===a.v&&(z(a,c)?z(a,d)||(a.C(b),h=!0):z(a,d)&&(a.t(b),h=!0));c.x>>=1;c.y>>=1;d.x>>=1;d.y>>=1;--j}h&&A(a)});for(d=v(a,d,c,new google.maps.Size(0,
0,0,0));c>=0;c--)y(a,d.x,d.y,c).push(b),d.x>>=1,d.y>>=1}function z(a,b){var c=a.c.k<=b.y&&b.y<=a.c.i,d=a.c.j,e=d<=b.x&&b.x<=a.c.h;!e&&d<0&&(e=a.u[a.c.d],e=d+e<=b.x&&b.x<=e-1);return c&&e}function B(a){this.j=Math.min(a[0].x,a[1].x);this.h=Math.max(a[0].x,a[1].x);this.k=Math.min(a[0].y,a[1].y);this.i=Math.max(a[0].y,a[1].y)}B.prototype.equals=function(a){return this.h===a.h&&this.i===a.i&&this.j===a.j&&this.k===a.k?!0:!1};
function y(a,b,c,d){var e=a.B[d];b<0&&(b+=a.u[d]);a=e[b];if(!a)return a=e[b]=[],a[c]=[];b=a[c];return!b?a[c]=[]:b}function x(a,b,c,d){var e=a.B[d];b<0&&(b+=a.u[d]);return(a=e[b])?a[c]:void 0}function u(a,b,c,d,e){var c=Math.min(c,a.p),f=b.getSouthWest(),b=b.getNorthEast(),d=v(a,f,c,d),e=v(a,b,c,e),a=a.u[c];if(b.lng()<f.lng()||e.x<d.x)d.x-=a;if(e.x-d.x+1>=a)d.x=0,e.x=a-1;f=new B([d,e]);f.d=c;return f}function s(a,b){window.setTimeout(function(){b.call(a)},0)}l.prototype.show=function(){this.r=!0;this.refresh()};
l.prototype.hide=function(){this.r=!1;this.refresh()};l.prototype.refresh=function(){this.D>0&&C(this,this.c,this.C);this.r&&C(this,this.c,this.t);A(this)};l.prototype.H=function(){this.v=this.b.getZoom();var a=u(this,this.b.getBounds(),this.v,this.M,this.J);if(!(a.equals(this.c)&&a.d===this.c.d))a.d!==this.c.d?(C(this,this.c,this.C),this.r&&C(this,a,this.t)):(D(this,this.c,a,this.S),this.r&&D(this,a,this.c,this.N)),this.c=a,A(this)};function A(a){google.maps.event.trigger(a,"changed",a.c,a.D)}
function C(a,b,c){for(var d=b.j;d<=b.h;d++)for(var e=b.k;e<=b.i;e++)E(a,d,e,b.d,c)}function E(a,b,c,d,e){if(a=x(a,b,c,d))for(b=a.length-1;b>=0;b--)e(a[b])}l.prototype.S=function(a,b,c){E(this,a,b,c,this.C)};l.prototype.N=function(a,b,c){E(this,a,b,c,this.t)};function D(a,b,c,d){F(b,c,function(c,f){d.apply(a,[c,f,b.d])})}
function F(a,b,c){var d=a.j,e=a.k,f=a.h,a=a.i,g=b.j,j=b.k,h=b.h,b=b.i,i,k;for(i=d;i<=f;i++){for(k=e;k<=a&&k<j;k++)c(i,k);for(k=Math.max(b+1,e);k<=a;k++)c(i,k)}for(k=Math.max(e,j);k<=Math.min(a,b);k++){for(i=Math.min(f+1,g)-1;i>=d;i--)c(i,k);for(i=Math.max(d,h+1);i<=f;i++)c(i,k)}}function n(a){this.setMap(a);this.Z=a;this.V=this.X=this.W=this.Y=this.$=-1}n.prototype=new google.maps.OverlayView;window.ProjectionHelperOverlay=n;
n.prototype.draw=function(){if(!this.ready)this.ready=!0,google.maps.event.trigger(this,"ready")};n.prototype.draw=n.prototype.draw;
function G(){var a=$("#search");a&&(a.keydown(function(a){if(a.which==13)window.location.href="/search?q="+$(this).val()}),a.autocomplete({delay:150,source:function(a,c){var d=a.term;$.ajax({url:"/search/ajax",dataType:"json",data:{q:d},success:function(a){for(var b=0;b<a.length;b++){var g=a[b];if(g.type=="l"){var j=g.name,h=j,h=H(g.addr,d),i=H(j,d);g.oLabel=j;g.label=i+' <span class="search-preselect">- '+h+"</span>"}else h=g.label,g.oLabel=h,g.label=H(h,d)}c(a)}})},html:!0,select:function(a,c){a.preventDefault();
var d,e=c.item.type,f=c.item.value;e=="m"?d="/movies/"+f:e=="l"?d="/locations/"+f:e=="c"&&(d="/cities/"+f);window.location.href=d},focus:function(b,c){b.preventDefault();a.val(c.item.oLabel)}}))}window.Manager=G;function H(a,b){for(var c="",d=-1;(d=a.search(RegExp(b,"i")))!=-1;)c+=a.substr(0,d),c+="<b>"+a.substr(d,b.length)+"</b>",a=a.substr(d+b.length);return c+a}
function I(a,b){a.Q=18;var c;c=b&&b.lat&&b.lng?new google.maps.LatLng(b.lat,b.lng):new google.maps.LatLng(0,0);var d=$("#map_view");a.b=new google.maps.Map(d[0],{center:c,zoom:1,mapTypeId:google.maps.MapTypeId.ROADMAP,backgroundColor:"#EEEEEE"});a.I=new google.maps.Geocoder;a.ca={};d.hasClass("map-detail")&&a.b.setOptions({panControl:!1,zoomControlOptions:{style:google.maps.ZoomControlStyle.SMALL}});b&&b.heading&&(a.b.setTilt(45),a.b.setHeading(b.heading))}
function J(a,b){var c=K(a,b.lat,b.lng);if(b.info!==void 0&&b.info!=""){var d=new google.maps.InfoWindow({content:b.info});google.maps.event.addListener(c,"click",L(a,d,b.sv,c))}return c}function K(a,b,c,d){a={position:new google.maps.LatLng(b,c),map:a.b};if(d&&d.draggable)a.draggable=!0;return new google.maps.Marker(a)}function L(a,b,c,d){return function(){if(M(a)!=b)b.open(a.b,d),a.A=b;N(a);O(a,c)}}function M(a){var b=a.A;if(a.A)a.A.close(),a.A=null;return b}
function P(a,b){for(var c in b)b.hasOwnProperty(c)&&google.maps.event.addListener(a,c,b[c])}function Q(a,b,c){a.I.geocode({address:b},c)}function R(a,b){a.b.setZoom(b||a.Q)}G.prototype.o=function(a,b){return'<a href="'+a+'">'+b+"</a>"};function S(a,b){for(var c="<b>"+a.o("/locations/"+b.id,b.name)+"</b><br>",d=0;d<b.movies.length;d++){var e=b.movies[d];c+=a.o("/movies/"+e.id,e.name);e=e.locs.join(", ");e.length>0&&(c+=" as "+e);c+="<br>"}b.info=c;return J(a,b)}
function O(a,b,c){if(b){var d=$("#streetview-detail");if(d[0])d.show(),b={position:new google.maps.LatLng(b.lat,b.lng),pov:{heading:b.heading||0,pitch:b.pitch||0,zoom:b.zoom||1},panControl:!1,addressControl:c||!1},a.pano=new google.maps.StreetViewPanorama(d[0],b),a.b.setStreetView(a.pano)}}function N(a){a.pano&&a.pano.setVisible(!1);a.pano=void 0}
function T(a,b){if(a.img)return U(a.img,b);else if(a.sv){var c=a.sv;return["http://maps.googleapis.com/maps/api/streetview?size=",b,"x",b,"&location=",c.lat,",",c.lng,"&heading=",c.heading,"&fov=",Math.max(120-c.zoom*30,10),"&pitch=",c.pitch,"&sensor=false"].join("")}else return["http://maps.googleapis.com/maps/api/staticmap?maptype=satellite&sensor=false&zoom=",(a.zoom||18)-2,"&key=AIzaSyCkuxLatuUJ6xFILm11DoeYUeltDMW8RUM&size=",b,"x",b,"&markers=",a.lat,",",a.lng].join("")}
function U(a,b){var c="";window.devBucket&&(c="dev.");return["http://",c,"moviemaps.s3.amazonaws.com/img/",a.id,".",a.key,".",b,".jpg"].join("")}function V(){this.images=[]}V.prototype.add=function(a,b,c){this.images.push({P:c,attr:{src:a,alt:b,title:b}})};V.prototype.start=function(){$(window).scroll(aa(this));$(window).scroll()};
function aa(a){return function(b){for(var c=[],d=$(window),e=0;e<a.images.length;e++){var f=a.images[e].P,g=f.parent(),j=g.width(),h=g.offset().top;if(h>d.scrollTop()-j&&h<d.scrollTop()+d.height())j=$(document.createElement("img")),h=a.images[e].attr,h["class"]=g.attr("class"),j.attr(h),f.append(j),c.push(e)}for(e=c.length-1;e>=0;e--)a.images.splice(c[e],1);a.images.length==0&&$(window).unbind(b)}}
window.Index=function(a,b){var c=new G;I(c);c.b.setOptions({draggable:!1,disableDefaultUI:!0,disableDoubleClickZoom:!0,scrollwheel:!1});for(var d=[],e=new google.maps.LatLngBounds,f=0;f<a.length;f++){var g=a[f],j=J(c,{lat:g.lat,lng:g.lng});d.push({id:g.mlid,g:j});e.extend(j.getPosition())}if(b)c.b.fitBounds(e);else{var h=-1;setInterval(function(){h==-1?h=0:($("#ml-"+d[h].id).removeClass("highlight"),h++,h==d.length&&(h=0));$("#ml-"+d[h].id).addClass("highlight");c.b.panTo(d[h].g.getPosition());c.b.setZoom(17);
c.b.setMapTypeId(google.maps.MapTypeId.HYBRID)},7E3)}};
window.Browse=function(a){var b=this;b.a=new G;I(b.a);b.f=new l(b.a.b);b.L={};b.G={};b.R=a;google.maps.event.addListener(b.f,"changed",W(b));google.maps.event.addListener(b.f,"loaded",function(){W(b)(b.f.c,0)});$("#searchform").submit(function(a){a.preventDefault();Q(b.a,$("#searchmap").val(),function(a,c){c==google.maps.GeocoderStatus.OK&&($("#searchmap").val(""),b.a.b.fitBounds(a[0].geometry.viewport))})});navigator.geolocation&&navigator.geolocation.getCurrentPosition(function(a){b.a.b.setCenter(new google.maps.LatLng(a.coords.latitude,a.coords.longitude));
b.a.b.setZoom(11)})};function ba(a){return function(b){for(var c=0;c<b.length;c++){var d=b[c],e=d.id;if(!a.L[e]){a.L[e]=!0;var e=S(a.a,d),d=a.f,f=d.p;w(d,e,f);z(d,v(d,e.getPosition(),d.v,new google.maps.Size(0,0,0,0)))&&0<=d.c.d&&d.c.d<=f&&(d.t(e),A(d));d.F[0]++}}}}function ca(a,b,c,d){return function(){a.G[b+"-"+c+"-"+d]=!1}}
function W(a){return function(b){var c="";b.d<6&&(c="No new points will be loaded at this zoom level, please zoom in to see more locations.");$("#browsenotes").html(c);for(var c=[],d=b.j;d<=b.h;d++)for(var e=b.k;e<=b.i;e++)a.G[d+"-"+e+"-"+b.d]||(c.push(new google.maps.Point(d,e)),a.G[d+"-"+e+"-"+b.d]=!0);for(var f in c){var d=c[f],g=a,j=d,h=Math.pow(2,b.d),e=g.f.b.getProjection().fromPointToLatLng(new google.maps.Point(j.x*g.f.l/h,(j.y+1)*g.f.l/h)),g=g.f.b.getProjection().fromPointToLatLng(new google.maps.Point((j.x+
1)*g.f.l/h,j.y*g.f.l/h)),e=new google.maps.LatLngBounds(e,g),g={};g.s=e.getSouthWest().lat().toFixed(6);g.w=e.getSouthWest().lng().toFixed(6);g.n=e.getNorthEast().lat().toFixed(6);g.e=e.getNorthEast().lng().toFixed(6);g.z=b.d;a.R&&(g.photos=!0);$.ajax({url:"/browse/ajax",dataType:"json",data:g,success:ba(a),error:ca(a,d.x,d.y,b.d)})}}}
window.NewLocation=function(){function a(a,e){c.g=K(c.a,a,e,{draggable:!0});var f=new google.maps.InfoWindow({content:"Drag this marker to the<br/>correct location."});f.open(c.a.b,c.g);c.a.b.setCenter(new google.maps.LatLng(a,e));P(c.g,{dragstart:function(){f.close()},dragend:function(a){$("#id_lat").val(a.latLng.lat());$("#id_lng").val(a.latLng.lng());c.a.I.geocode({location:a.latLng},b)}})}function b(a,b){if(b==google.maps.GeocoderStatus.OK){$("#id_geocoded_json").val($.toJSON(a));var f=a[0].formatted_address;
c.m!=f&&($("#id_address").val(""),$("input[name='address_radio']").prop("checked",!1),$("#original_address_label").text(c.m),$("#original_address_radio").val(c.m),$("#moved_address_label").text(f),$("#moved_address_radio").val(f),$("#select_address").show())}}var c=this;c.a=new G;I(c.a);$("#select_address").hide();$("input[name='address_radio']").change(function(){$("#id_address").val($("input[name='address_radio']:checked").val())});$("#address_form").submit(function(b){b.preventDefault();$("#id_lat").val("");
$("#id_lng").val("");$("#id_address").val("");$("#id_geocoded_json").val("");$("input[name='address_radio']").prop("checked",!1);$("#select_address").hide();c.g&&c.g.setMap(null);Q(c.a,$("#id_address_visible").val(),function(b,d){if(d==google.maps.GeocoderStatus.OK){var g=b[0].geometry.location;c.m=b[0].formatted_address;$("#id_lat").val(g.lat());$("#id_lng").val(g.lng());$("#id_address").val(c.m);$("#id_geocoded_json").val($.toJSON(b));a(g.lat(),g.lng());R(c.a)}})});$("#id_lat").val()&&$("#id_lng").val()&&
(a($("#id_lat").val(),$("#id_lng").val()),R(c.a));if($("#id_address").val())c.m=$("#id_address").val(),$("#id_address_visible").val(c.m)};
window.MapView=function(a){var b=this;b.a=new G;var c=$("input[name='orientation']:checked").val();c&&(a.heading=parseInt(c));I(b.a,a);c=parseInt($("#id_zoom").val());R(b.a,c);c&&$("#zoom-text").html(c);b.a.b.setMapTypeId(google.maps.MapTypeId.HYBRID);O(b.a,a.sv||a,!0);$("input[name='orientation']").change(function(){b.a.b.setHeading(parseInt($(this).val()))});google.maps.event.addListener(b.a.b,"zoom_changed",function(){var a=b.a.b.getZoom();$("#zoom-text").html(a);$("#id_zoom").val(a)});$("#capture-streetview").click(function(){var a=
b.a.b.getStreetView();a.getVisible()&&($("#id_sv_lat").val(a.getPosition().lat()),$("#id_sv_lng").val(a.getPosition().lng()),$("#id_sv_heading").val(a.getPov().heading),$("#id_sv_pitch").val(a.getPov().pitch),$("#id_sv_zoom").val(a.getPov().zoom))});$("#clear-streetview").click(function(){$("#id_sv_lat").val("");$("#id_sv_lng").val("");$("#id_sv_heading").val("");$("#id_sv_pitch").val("");$("#id_sv_zoom").val("")})};
window.MovieDetail=function(a,b){this.a=new G;I(this.a);this.locations=a;this.ba=[];for(var c=new google.maps.LatLngBounds,d=[],e=$(".staticmap"),f=e.css("display")!="none",g=e.width(),j=new V,h=0;h<a.length;h++){var i=this.locations[h],e=this.a.o("#anchor-"+i.id,"<b>"+i.name+"</b>")+"<br>";i.info=e+i.movie_locs.join(", ");i.g=J(this.a,i);c.extend(i.g.getPosition());e=$("#loc-img-"+i.id);if(f){var k=T(i,g);j.add(k,"Map of "+i.name+", click to see more detail.",e)}e.click(X(this,i));$("#loc-"+i.id).click(X(this,
i));if(i=i.cityId){e=!1;for(k=0;k<d.length;k++)d[k]==i&&(e=!0);e||d.push(i)}}for(h=0;h<b.length;h++)i=b[h],g=$("#tt-"+i.id),i=U(i,g.parent().width()),j.add(i,"Click to view larger photo.",g);f&&j.start();this.locations.length==1?X(this,this.locations[0])():a.length>1&&this.a.b.fitBounds(c);for(h=0;h<d.length;h++)$("#city-"+d[h]).click(da(this,d[h]))};
function X(a,b){return function(){a.a.b.setMapTypeId(google.maps.MapTypeId.HYBRID);a.a.b.panTo(new google.maps.LatLng(b.lat,b.lng));a.a.b.setHeading(b.heading||0);R(a.a,b.zoom);M(a.a);N(a.a);O(a.a,b.sv)}}function da(a,b){return function(c){c.preventDefault();for(var c=new google.maps.LatLngBounds,d=0,e,f,g=0;g<a.locations.length;g++)if(f=a.locations[g],b==f.cityId)d++,e=f.g,c.extend(e.getPosition());d==1?(a.a.b.panTo(e.getPosition()),R(a.a,f.zoom)):d>1&&a.a.b.fitBounds(c)}}
window.LocationDetail=function(a,b){var c=new G;I(c,a);R(c,a.zoom);c.b.setMapTypeId(google.maps.MapTypeId.HYBRID);J(c,a);O(c,a.sv);for(var c=new V,d=0;d<b.length;d++){var e=b[d],f=$("#img-"+e.id);f&&f.parent().css("display")!="none"&&(e=U(e,f.parent().width()),c.add(e,"Photo of "+a.name,f))}c.start()};window.CityDetail=function(a){var b=new G;I(b);for(var c=new google.maps.LatLngBounds,d=0;d<a.length;d++){var e=S(b,a[d]);c.extend(e.getPosition())}b.b.fitBounds(c)};
function Y(a){this.a=new G;var b=$("#results");if(a.length==0)b.append("No results found.");else{var c=$(document.createElement("div"));c.addClass("staticmap");b.append(c);var d=c.css("display")!="none",e=c.height();c.remove();for(var c=new V,f=0;f<a.length;f++){var g=$(document.createElement("div"));g.addClass("sixteen columns alpha omega row");var j=$(document.createElement("div"));j.addClass("thirteen columns omega");var h=a[f];if(h.type=="l"){var i="/locations/"+h.id,k=$(document.createElement("div"));
k.addClass("three columns alpha staticmap");g.append(k);var m=$(document.createElement("div"));m.attr({href:i});k.append(m);d&&(k=T(h,e),c.add(k,"Map of "+h.name,m));Z(this,i,h.name,h.desc,j)}else if(h.type=="m"){j.addClass("alpha offset-by-three");i="/movies/"+h.id;Z(this,i,h.title,h.desc,j);for(m=0;m<h.mls.length;m++){var k=h.mls[m],o=k.name;o&&(j.append(document.createElement("br")),j.append(this.o(i+"#anchor-"+k.lid,o)),k.desc&&j.append(" - "+k.desc))}}g.append(j);b.append(g)}d&&c.start()}}
window.Search=Y;function Z(a,b,c,d,e){var f=$(document.createElement("h4"));f.addClass("remove-bottom");f.append(a.o(b,c));e.append(f);d&&e.append(d)}Y.prototype.o=function(a,b){var c=$(document.createElement("a"));c.attr({href:a});c.text(b);return c};
window.EditImage=function(){$("#id_model").autocomplete({source:function(a,b){$.ajax({url:"/ajax/lorml/",dataType:"json",data:{q:a.term},success:function(a){b(a)}})},select:function(a,b){a.preventDefault();$("#id_model").val(b.item.label);$("#id_model_type").val(b.item.type);$("#id_model_id").val(b.item.id)},focus:function(a,b){a.preventDefault();$("#id_model").val(b.item.label)}})};
window.ImageDetail=function(a){new G;var b=$("#image-div"),a=U(a,b.width()),c=$(document.createElement("img"));c.attr({src:a,"class":"imagedetail"});b.append(c)};

