google.load("maps","2",{other_params:"sensor=false"});Dashboard=Class.create();Dashboard.prototype={form:null,eventFilter:null,geocoder:null,initialize:function(a){this.form=$(a);this.form.observe("submit",this.getGeoLocation.bindAsEventListener(this));this.geocoder=new google.maps.ClientGeocoder();if(google.loader.ClientLocation){this.clientLocation=google.loader.ClientLocation}if($("hidden_address")){if($("hidden_address").value==""){if($("form_location")){$("form_location").value=this.clientLocation.address.city+", "+this.clientLocation.address.region+", "+this.clientLocation.address.country}}else{if($("form_location")){$("form_location").value=$("hidden_address").value}}}this.controller="dashboard";this.activeEvents=$$("a.a_activeEvents");$("a_nextCalMonth").observe("click",this.calNextMonth.bindAsEventListener(this));$("a_prevCalMonth").observe("click",this.calPrevMonth.bindAsEventListener(this));if($("cal_filterAll")){$("cal_filterAll").observe("click",this.calListUpdate.bindAsEventListener(this))}if($("cal_filterLocal")){$("cal_filterLocal").observe("click",this.calListUpdate.bindAsEventListener(this))}if($("cal_filterOther")){$("cal_filterOther").observe("click",this.calListUpdate.bindAsEventListener(this))}if($("button_filter")){$("button_filter").observe("click",this.getGeoLocation.bindAsEventListener(this))}this.activeEvents.each(function(b){Event.observe(b,"click",this.getEvents.bindAsEventListener(this))}.bind(this))},calNextMonth:function(c){Event.stop(c);var b=Form.getInputs("form_calendar","radio","cal_filter").find(function(h){return h.checked}).value;var e=$("a_nextCalMonth").href.toQueryParams().month;var a=$("a_nextCalMonth").href.toQueryParams().year;var g=$("a_nextCalMonth").href.toQueryParams().nav;var d=$("a_nextCalMonth").href.toQueryParams().currentLat;var f=$("a_nextCalMonth").href.toQueryParams().currentLon;this.navCalendar(e,a,g,b,d,f)},calPrevMonth:function(c){Event.stop(c);var b=Form.getInputs("form_calendar","radio","cal_filter").find(function(h){return h.checked}).value;var e=$("a_prevCalMonth").href.toQueryParams().month;var a=$("a_prevCalMonth").href.toQueryParams().year;var g=$("a_prevCalMonth").href.toQueryParams().nav;var d=$("a_prevCalMonth").href.toQueryParams().currentLat;var f=$("a_prevCalMonth").href.toQueryParams().currentLon;this.navCalendar(e,a,g,b,d,f)},calListUpdate:function(b){this.eventFilter=Form.getInputs("form_calendar","radio","cal_filter").find(function(g){return g.checked}).value;var d=$("hidden_inputDateMonth").value;var a=$("hidden_inputDateYear").value;var f=0;var e=$("hidden_longitude").value;var c=$("hidden_latitude").value;this.navCalendar(d,a,f,this.eventFilter,c,e)},navCalendar:function(f,b,h,a,e,g){var d=$("div_events");var c=$("calendar");d.hide();c.remove();new Ajax.Request("/dashboardajax/navcalendar/",{method:"get",parameters:{currentYear:b,currentMonth:f,currentNav:h,currentFilter:a,currentLat:e,currentLon:g},evalScripts:true,onCreate:function(){$("eventSpinner").update("<img src='/images/graphics/ajax-loader.gif' />")},onSuccess:function(j){var i=$("div_calendarController");i.update(j.responseText)},onComplete:function(){$("eventSpinner").update()},onFailure:function(){alert("Something went wrong...")}})},getEvents:function(h,a,c){if(h){Event.stop(h);var a=Event.element(h).href.toQueryParams().date;var c=Event.element(h).href.toQueryParams().filter;var g=Event.element(h).href.toQueryParams().currentLat;var i=Event.element(h).href.toQueryParams().currentLon}var f=Event.element(h).parentNode;if($$("span.event_selectedDate")){var b=$$("span.event_selectedDate")}var d=$("div_events");$("selectedDay").value=a.substr(-2,2);new Ajax.Request("/dashboardajax/getevents/",{method:"get",parameters:{date:a,currentFilter:c,currentLon:i,currentLat:g},evalScripts:true,onCreate:function(){$("eventSpinner").update("<img src='/images/graphics/ajax-loader.gif' />")},onSuccess:function(e){d.update(e.responseText);d.show()},onComplete:function(){$("eventSpinner").update()},onFailure:function(){alert("Something went wrong...")}});b.each(function(e){e.className="event_date"});f.className="event_selectedDate"},getGeoLocation:function(b){Event.stop(b);var a=$("form_location").value.strip();if(a.length==0){return}this.geocoder.getLocations(a,this.createPoint.bind(this))},createPoint:function(g){if(g.Status.code!=G_GEO_SUCCESS){var c="";switch(g.Status.code){case G_GEO_BAD_REQUEST:c="Unable to parse request";break;case G_GEO_MISSING_QUERY:c="Query not specified";break;case G_GEO_UNKNOWN_ADDRESS:c="Unable to find address";break;case G_GEO_UNAVAILABLE_ADDRESS:c="Forbidden address";break;case G_GEO_BAD_KEY:c="Invalid API key";break;case G_GEO_TOO_MANY_QUERIES:c="Too many geocoder queries";break;case G_GEO_SERVER_ERROR:default:c="Unknown server error occurred"}alert(c);return}var d=g.Placemark[0].AddressDetails.Accuracy;if(d<4){alert('The location you entered is too general.\n Please enter a more specific location, i.e. "Brooklyn, New York".');return}var e=g.Placemark[0];var j=e.address;var i=e.Point.coordinates[1];var b=e.Point.coordinates[0];this.eventFilter="Other";var f=$("hidden_inputDateMonth").value;var h=$("hidden_inputDateYear").value;var a=0;$("hidden_address").value=j;$("hidden_longitude").value=b;$("hidden_latitude").value=i;this.navCalendar(f,h,a,this.eventFilter,i,b)}};
