
Citysearch.Listing.BocPoll=new Class({Extends:Citysearch.Listing,id:{shareLinkId:"shareLink",shareStaticImgClass:".thumbsUpIcon",shareAnimatedImgClass:".shareSprite",facebookCheckClass:'facebookCommentCheck',moreUpdatesId:'viewMoreUpdates',listContainerId:'bocPoll'},shareTimeoutId:null,defaults:{popupWidth:400},initialize:function(){this.id.printLinkId="printLink";this.id.saveLinkId="saveLink";this.id.saveSigninLinkId="saveSigninLink";this.id.facebookCheckboxId="bocVoteFB";this.id.shareLinkId="shareLink";this.id.voteLinkClass="votelink";this.id.notLoggedInVote="voteSignUp";this.id.writeCommentClass="writeComment";this.id.commentFormContainer="pollCommentForm";this.id.viewCommentClass="viewComments";},hijaxFacebookPublish:function(){if($chk($(this.id.listContainerId))){var fbPublishChecks=$(this.id.listContainerId).getElements("."+this.id.facebookCheckClass);fbPublishChecks.each(function(currItem){currItem.set('style','display : none;');var parentLi=currItem.getParent('li');parentLi.addEvent('mouseenter',function(){this.set('style','display : inline-block;');this.getParent('.withFacebookPublish').addClass('inlineTip');}.bind(currItem));parentLi.addEvent('mouseleave',function(){this.set('style','display : none;');this.getParent('.withFacebookPublish').removeClass('inlineTip');}.bind(currItem));});}},hijaxMoreUpdates:function(){if(Citysearch.logging>=4){console.info("INFO: Citysearch.Boc.hijaxMoreUpdates");}
if($(this.id.moreUpdatesId)){$(this.id.moreUpdatesId).addEvent('click',function(e){e.preventDefault();Citysearch.ModalWindow.fireNewModal(Citysearch.AjaxInit.hijaxHref(this.href),this.get('title'),{});});}},hijaxMiscategorizedLinks:function(){var flagLinks=$(this.id.listContainerId).getElements('.miscategorizedLink');for(var i=0;i<flagLinks.length;i++){flagLinks[i].addEvent('click',function(e){var stop=new Event(e).preventDefault();var containerObj=$(this.parentNode);var flagPopup=new Element('div',{'id':'flagPopup'});var flagPopupText=new Element('p',{'text':'Does this business not belong in this poll category?'});var flagLinkButton=new Element('button',{'class':'utilityButton reportIt','type':'submit','name':Citysearch.pageType+'user_review/user/report_it','html':'Report it'});flagPopup.adopt(flagPopupText,flagLinkButton);var flagLinkButtonEvent=(function(e){var stop=new Event(e).preventDefault();Citysearch.AjaxInit.activeRequest=new Request({'url':this.href,'method':'get','onRequest':function(){Citysearch.AjaxInit.loading(Citysearch.Popup.bodyObj,{'disableCancel':true});},'onSuccess':function(){Citysearch.Popup.close();containerObj.set('text','Thank you for your input!');Citysearch.AjaxInit.doneLoading();Citysearch.AjaxInit.run();},'onFailure':function(){Citysearch.Popup.close();containerObj.set('text','Oops!  Something went wrong in the submission process.  Please try again.');Citysearch.AjaxInit.doneLoading();Citysearch.AjaxInit.run();}});Citysearch.AjaxInit.activeRequest.send();}).bind(this);var boundFlagLinkButtonEvent=flagLinkButtonEvent.bind(this,flagLinks[i]);flagLinkButton.addEvent('click',boundFlagLinkButtonEvent);Citysearch.Popup.open(this,flagPopup,{'width':200,'onTop':true,'titleText':'Miscategorized?'});});}},hijaxSave:function(options){if($(this.id.saveLinkId)){options=$merge(this.defaults,options);var saveLinkObj=$(this.id.saveLinkId);saveLinkObj.addEvent('click',function(e){e.preventDefault();Citysearch.Popup.fireNewPopup(this,{'width':options.popupWidth,'collapse':false,'titleText':this.get("text")});});saveLinkObj.addClass('popupLink');}
if($(this.id.saveSigninLinkId)){$(this.id.saveSigninLinkId).addEvent('click',function(e){var stop=e.preventDefault();var ajaxHref=Citysearch.AjaxInit.hijaxHref(this.href);Citysearch.ModalWindow.fireNewModal(ajaxHref,"Log in to Favorite");});}},hijaxShare:function(options){if($(this.id.shareLinkId)){options=$merge(this.defaults,options);var shareLinkObj=$(this.id.shareLinkId);shareLinkObj.addEvent('click',function(e){e.preventDefault();if(!Citysearch.Popup.isOpen){this.setShareStatic();}
$clear(this.shareTimeoutId);if(!Citysearch.Popup.isOpen){Citysearch.Popup.fireNewPopup(e.target,{'width':options.popupWidth,'collapse':false,'titleText':e.target.get("text")});}
Citysearch.Popup.addCloseCallback('restoreAnimation',(function(){this.setShareAnimation();}.bind(this)));}.bind(this));shareLinkObj.addEvent('mouseenter',function(e){e.preventDefault();var bocObj=new Citysearch.Listing.BocPoll('boc_share_hover');if(!Citysearch.Popup.isOpen){bocObj.setShareStatic();}
bocPoll.shareTimeoutId=(function(){if(!Citysearch.Popup.isOpen){Citysearch.Popup.fireNewPopup(this,{'width':options.popupWidth,'collapse':false,'titleText':this.get("text")});Citysearch.Analytics.trackEvent(Citysearch.pageType+"/coreMessages/shareHover");Citysearch.Popup.addCloseCallback('restoreAnimation',(function(){bocObj.setShareAnimation();}));}}).delay(500,this);});shareLinkObj.addEvent('mouseleave',function(e){if(!Citysearch.Popup.isOpen){this.setShareAnimation();}
$clear(this.shareTimeoutId);}.bind(bocPoll));shareLinkObj.addClass('popupLink');}},setShareStatic:function(){if($(this.id.shareLinkId)){var shareImg=$(this.id.shareLinkId).getElement(this.id.shareAnimatedImgClass);shareImg.setStyle('display','none');var shareSpan=$(this.id.shareLinkId).getElement(this.id.shareStaticImgClass);shareSpan.setStyle('display','inline-block');}},setShareAnimation:function(){if($(this.id.shareLinkId)){var shareImg=$(this.id.shareLinkId).getElement(this.id.shareAnimatedImgClass);shareImg.setStyle('display','');var shareSpan=$(this.id.shareLinkId).getElement(this.id.shareStaticImgClass);shareSpan.setStyle('display','none');}},hijaxPrint:function(){if(!$(this.id.printLinkId)){return;}
$(this.id.printLinkId).addEvent('click',function(e){e.preventDefault();var popupHref=Citysearch.AjaxInit.hijaxHref(this.href);Citysearch.TempConfig.printNow=true;Citysearch.ModalWindow.fireNewModal(popupHref,'Print',700);});},hijaxNotLoggedIn:function(){var notLoggedInLinks=$('bocPoll').getElements('.'+this.id.notLoggedInVote);for(var i=0;i<notLoggedInLinks.length;i++){notLoggedInLinks[i].addEvent('click',function(e){e.preventDefault();var ajaxHref=Citysearch.AjaxInit.hijaxHref(this.href);Citysearch.ModalWindow.fireNewModal(ajaxHref,"Log in to vote");});}},hijaxVote:function(){var bocPoll=this;var voteLinks=$$('.'+this.id.voteLinkClass);for(var i=0;i<voteLinks.length;i++){voteLinks[i].addEvent('click',function(e,i){e.preventDefault();var resultCount=i+1;var fbPublish=$(bocPoll.id.facebookCheckboxId+resultCount)&&$(bocPoll.id.facebookCheckboxId+resultCount).checked?true:false;var ajaxHref=Citysearch.AjaxInit.hijaxHref(voteLinks[i].href);ajaxHref=ajaxHref+"&publishToFacebook="+fbPublish;Citysearch.ModalWindow.fireNewModal(ajaxHref,"Thanks for voting!");Citysearch.ModalWindow.addCloseCallback('bocPollRefresh',function(){window.location=window.location;});}.bindWithEvent(this,i));}},hijaxComments:function(){var commentLinks=$('bocPoll').getElements('.'+this.id.viewCommentClass);for(var i=0;i<commentLinks.length;i++){commentLinks[i].addEvent('click',function(e){e.preventDefault();Citysearch.Popup.fireNewPopup(this,{'width':400,'collapse':true,'maxHeight':300,'titleText':this.title});});commentLinks[i].addClass('popupLink');}
commentLinks=$('bocPoll').getElements('.'+this.id.writeCommentClass);for(var i=0;i<commentLinks.length;i++){var target=commentLinks[i].getParent('li').getElement('.'+this.id.commentFormContainer);commentLinks[i].addEvent('click',function(e){e.preventDefault();var target=this.getParent('li').getElement('.pollCommentForm');Citysearch.AjaxInit.getViaAjax(this.href,target);var aboveDiv=this.getParent('li').getElement('.details');if($chk(aboveDiv)){aboveDiv.set('style','border-bottom: none;');}
this.dispose();}.bind(commentLinks[i]));}
if(commentLinks.length>0){var target=commentLinks[0].getParent('li').getElement('.'+this.id.commentFormContainer);Citysearch.AjaxInit.getViaAjax(commentLinks[0].href,target);commentLinks[0].dispose();}}});var bocPoll=new Citysearch.Listing.BocPoll('boc_poll');window.addEvent('domready',function(){bocPoll.hijaxSendTo($('bocPoll'));bocPoll.hijaxReservations($('bocPoll'));bocPoll.hijaxVote();bocPoll.hijaxNotLoggedIn();bocPoll.hijaxComments();bocPoll.hijaxSave({popupWidth:200});bocPoll.hijaxShare({popupWidth:200});bocPoll.hijaxPrint();bocPoll.hijaxFacebookPublish();bocPoll.hijaxMiscategorizedLinks();bocPoll.hijaxMoreUpdates();bocPoll.initResultSet(Citysearch.TempConfig.BocPoll.resultSet);bocPoll.removeLoadingCSS();bocPoll.iframe=new Citysearch.iframeMap($('iframeContainer'),{'iframeId':'bocPollIframe','iframeName':'bocPollIframe','callback':function(iframeMap){bocPoll.constructMap(iframeMap.mapContainer,{'iframeContainer':$('iframeContainer'),'mapAPI':iframeMap.mapAPI});bocPoll.addListingHover($('bocPoll'),{'mapAPI':iframeMap.mapAPI,'enableMap':true});}});});
