YAHOO.namespace("hs");YAHOO.hs.toolbar=function(){var i=YAHOO.util.Connect;var h=YAHOO.util.Dom;var f=YAHOO.util.Event;var A=null;var J=null;var c=null;var a=null;var B=null;var H=null;var N=[];var n=[];var F=null;var d=null;var l=null;var L=function(C){var O="";O+='<div id="toolbar-buttons" class="clearfix toolbar">';O+="<ul>";O+='<li><a href="javascript:void(0);" id="toolbarButtonShare" class="icon share" title="Post or email this page">Share this</a></li>';if(C.whereOptions){O+='<li><a href="#" id="toolbarButtonMap" class="icon map" title="Show this location on a map" onclick="YAHOO.hs.toolbar.togglePanel(this, \'toolbarPanelMap\'); return false;">Map it</a></li>';N.push("toolbarButtonMap")}if(C.whatOptions){O+='<li><a href="#" id="toolbarButtonCal" class="icon cal" title="Add this event to an online calendar" onclick="YAHOO.hs.toolbar.togglePanel(this, \'toolbarPanelCal\'); return false;">Add to calendar</a></li>';N.push("toolbarButtonCal")}O+='<li id="toolbarListItemFlag"></li>';N.push("toolbarButtonFlag");O+="</ul>";O+="</div>";O+='<div id="toolbar-panels">';if(C.whereOptions){O+='<div id="toolbarPanelMap" class="clearfix toolbarPanel">';O+='<p class="close"><a href="#" title="Close" onclick="YAHOO.hs.toolbar.hideAllPanels(); return false;" class="close">Close</a></p>';O+='<p><a href="'+C.happenstandLink+'" title="Happenstand event map" class="list">Happenstand event map</a> <a href="'+C.googleLink+'" target="_blank" title="Google Maps" class="list ext">Google Maps</a> <a href="'+C.yahooLink+'" target="_blank" title="Yahoo! Maps" class="list ext">Yahoo! Maps</a></p>';O+="</div>";n.push("toolbarPanelMap")}if(C.whatOptions){O+='<div id="toolbarPanelCal" class="clearfix toolbarPanel">';O+='<p class="close"><a href="#" title="Close" onclick="YAHOO.hs.toolbar.hideAllPanels(); return false;" class="close">Close</a></p>';O+='<p><a href="'+y(c,"event","gcal")+'" title="Google Calendar" target="_blank" class="list ext">Google Calendar</a> <a href="'+y(c,"event","ycal")+'" title="Yahoo! Calendar" target="_blank" class="list ext">Yahoo! Calendar</a> <a href="'+y(c,"event","ics")+'" class="list file" title="iCalendar">iCalendar</a> <a href="'+y(c,"event","ics")+'" class="list file" title="Outlook">Outlook</a></p>';O+="</div>";n.push("toolbarPanelCal")}O+='<div id="toolbarPanelFlag" class="clearfix toolbarPanel">';O+='<p class="close"><a href="#" title="Close" onclick="YAHOO.hs.toolbar.hideAllPanels(); return false;" class="close">Close</a></p>';O+='<div id="flagPanelContent"></div>';O+="</div>";n.push("toolbarPanelFlag");O+="</div>";var Q=h.get(C.divId);Q.innerHTML=O;var D={title:C.pageTitle,url:C.pageLink,content:C.pageSummary,summary:C.pageSummary};var P={button:false,onclick:o};var E=SHARETHIS.addEntry(D,P);E.attachButton(h.get("toolbarButtonShare"))};var o=function(C){F=C;s();if(l){A.closeCalOptions()}if(h.hasClass("toolbarButtonShare","active")){h.removeClass("toolbarButtonShare","active")}else{h.addClass("toolbarButtonShare","active")}return true};var k=function(O,E,D){if(h.hasClass("toolbarButtonShare","active")){if(h.getStyle("stwrapper","visibility").toLowerCase()==="visible"){F.button.onclick()}else{h.removeClass("toolbarButtonShare","active")}}var C=(h.getStyle(E,"display")==="none");s();if(C){if(E==="toolbarPanelMap"){A.toolbarEvent.fire({pageEvent:YAHOO.hs.constants.TOOLBAR_MAP_OPEN})}if(E==="toolbarPanelCal"){A.toolbarEvent.fire({pageEvent:YAHOO.hs.constants.TOOLBAR_CAL_OPEN})}if(E==="toolbarPanelFlag"){if(D){p()}else{v()}A.toolbarEvent.fire({pageEvent:YAHOO.hs.constants.TOOLBAR_FLAG_OPEN})}h.setStyle(E,"display","block");h.addClass(O,"active");K();if(l){A.closeCalOptions()}}};var s=function(){h.setStyle(n,"display","none");h.removeClass(N,"active")};var K=function(){var D=h.getXY("toolbar-buttons");var C=D[0];var E=D[1]+h.get("toolbar-buttons").offsetHeight;h.setXY("toolbar-panels",[C,E])};var u=function(C){h.get("toolbarListItemFlag").innerHTML=C};var j=function(){var C='<a href="#" id="toolbarButtonFlag" class="icon flagOff" title="Flag as incorrect" onclick="YAHOO.hs.toolbar.togglePanel(this, \'toolbarPanelFlag\', false); return false;">Flag as incorrect</a>';u(C)};var G=function(){var C='<a href="#" id="toolbarButtonFlag" class="icon flagOn" title="Flagged as incorrect" onclick="YAHOO.hs.toolbar.togglePanel(this, \'toolbarPanelFlag\', true); return false;">Flagged as incorrect</a>';u(C)};var m=function(C){h.get("flagPanelContent").innerHTML=C};var v=function(){var C='<form name="flagForm" onsubmit="return false;"><p>';C+='<label for="tfFlagNote">What\'s wrong? <span style="color: #666;">(optional)</span></label>';C+='<input type="text" name="tfFlagNote" id="tfFlagNote" style="width: 350px;" /> ';C+='<input type="submit" value="Send" onclick="YAHOO.hs.toolbar.flagPage();" />';C+="</p></form>";m(C)};var z=function(){var C="<p>Sending...</p>";m(C)};var r=function(){var C="<p>Cool, thanks for the tip! &nbsp;We'll check things out as soon as possible.</p>";m(C);G();A.toolbarEvent.fire({pageEvent:YAHOO.hs.constants.TOOLBAR_FLAG_SUCCESS})};var b=function(){var C='<p>Uh-oh! There was a problem and a flag was <strong>NOT</strong> set. <a href="#" onclick="YAHOO.hs.toolbar.flagPanelShowForm(); return false;">Try again?</a></p>';m(C);A.toolbarEvent.fire({pageEvent:YAHOO.hs.constants.TOOLBAR_FLAG_FAIL})};var p=function(){var C="<p>This item has been flagged by a site visitor as containing incorrect information. You should verify the details with an external source.</p>";m(C)};var q=function(){x(J,c,h.get("tfFlagNote").value);z()};var x=function(O,R,E){var D=BASE_URL+"/services/setflag/format/json";var C="type="+escape(O)+"&id="+escape(R)+"&note="+escape(E);var Q={success:M,failure:I};var P=i.asyncRequest("POST",D,Q,C);A.toolbarEvent.fire({pageEvent:YAHOO.hs.constants.TOOLBAR_FLAG_SEND})};var M=function(E){if(E.responseText!==undefined){var C=E.responseText;var D=YAHOO.lang.JSON.parse(C);if(D.result.status.toLowerCase()==="success"){r()}else{b()}}};var I=function(C){b()};var t=function(D,C){var E=BASE_URL+"/services/getflag/format/json?type="+escape(D)+"&id="+escape(C);var P={success:w};var O=i.asyncRequest("GET",E,P)};var w=function(E){if(E.responseText!==undefined){var C=E.responseText;var D=YAHOO.lang.JSON.parse(C);if(D.result.flagged==="1"){G()}else{j()}}};var e=function(){var D=h.getXY(l);var C=D[0]-2;var E=D[1]+l.offsetHeight;h.setXY(d,[C,E])};var g=function(D,C){K();if(l){e()}};var y=function(E,D,C){return BASE_URL+"/services/"+D+"."+C+"?id="+E};f.addListener(window,"resize",g);return{toolbarEvent:new YAHOO.util.CustomEvent("toolbarEvent"),init:function(E,D,C){A=YAHOO.hs.toolbar;J=C.pageType;c=C.pageId;a=C.pageLink;B=C.pageTitle;H=C.pageSummary;L(C);t(J,c)},togglePanel:function(E,D,C){k(E,D,C)},hideAllPanels:function(){s()},flagPanelShowForm:function(){v()},flagPage:function(){q()},showCalOptions:function(E,O){if(!E){E=window.event}var D=f.getTarget(E);if(d===null){d=document.createElement("div");d.id="cal-options-list";h.addClass(d,"clearfix");document.body.appendChild(d)}else{if(h.getStyle(d,"display")==="block"&&D===l){this.closeCalOptions();return}}var C="";C+='<a href="#" id="cal-options-close" class="close" onclick="YAHOO.hs.toolbar.closeCalOptions(); return false;">Close</a>';C+="<ul>";C+='<li><a href="'+y(O,"subevent","gcal")+'" target="_blank" class="ext">Google Calendar</a></li>';C+='<li><a href="'+y(O,"subevent","ycal")+'" target="_blank" class="ext">Yahoo! Calendar</a></li>';C+='<li><a href="'+y(O,"subevent","ics")+'" class="file">iCalendar</a></li>';C+='<li><a href="'+y(O,"subevent","ics")+'" class="file">Outlook</a></li>';C+="</ul>";d.innerHTML=C;h.setStyle(d,"display","block");l=D;e();s()},closeCalOptions:function(){h.setStyle(d,"display","none");l=null}}}();YAHOO.hs.toolbar.toolbarEvent.subscribe(YAHOO.hs.tracker.toolbarEvent);