
Citysearch.Listing.UserList=new Class({Extends:Citysearch.Listing,id:{saveLinkId:"saveLink",saveSigninLinkId:"saveSigninLink",whereFieldId:"roundupWhere",whatFieldId:"roundupWhat",flagListSigninId:"flagSignin",flagListLinkId:"flagListLink",shareLinkId:"shareLink",shareStaticImgClass:".thumbsUpIcon",shareAnimatedImgClass:".shareSprite",promoteLinkId:"promoteLink"},shareTimeoutId:null,defaults:{popupWidth:400},initialize:function(){this.id.subsectionSummaryId="subsectionSummary";},hijaxSubsectionSummary:function(){if($(this.id.subsectionSummaryId)){$(this.id.subsectionSummaryId).getElements('a').each(function(subsection){subsection.addEvent('click',function(e){e.preventDefault();Citysearch.Utils.scrollTo($(this.href.split('#')[1]));}.bind(subsection));});}},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 userlistObj=new Citysearch.Listing.UserList('user_list_share_hover');if(!Citysearch.Popup.isOpen){userlistObj.setShareStatic();}
userlist.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(){userlistObj.setShareAnimation();}));}}).delay(500,this);});shareLinkObj.addEvent('mouseleave',function(e){if(!Citysearch.Popup.isOpen){this.setShareAnimation();}
$clear(this.shareTimeoutId);}.bind(userlist));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');}},hijaxPromote:function(options){if($(this.id.promoteLinkId)){options=$merge(this.defaults,options);var promoteLinkObj=$(this.id.promoteLinkId);promoteLinkObj.addEvent('click',function(e){e.preventDefault();Citysearch.Popup.fireNewPopup(this,{'width':options.popupWidth,'collapse':false,'titleText':'&nbsp'});});promoteLinkObj.addClass('popupLink');}},hijaxFlagSigninLink:function(){if($(this.id.flagListSigninId)){$(this.id.flagListSigninId).addEvent('click',function(e){e.preventDefault();var ajaxHref=Citysearch.AjaxInit.hijaxHref(this.href);Citysearch.ModalWindow.fireNewModal(ajaxHref,"Log in & Report Abuse");});}},hijaxFlagListLink:function(){if($(this.id.flagListLinkId)){$(this.id.flagListLinkId).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':Citysearch.Text.UserListInfo.reportPopupBodyText});var flagLinkButton=new Element('button',{'class':'utilityButton reportIt','type':'submit','name':Citysearch.pageType+'/report_it','html':Citysearch.Text.UserListInfo.reportButtonText});flagPopup.adopt(flagPopupText,flagLinkButton);var flagLinkButtonEvent=function(e){e.preventDefault();var ajaxHref=Citysearch.AjaxInit.hijaxHref(this.href);Citysearch.AjaxInit.getViaAjax(ajaxHref,$('flagPopup'),{onSuccess:function(){}});};var boundFlagLinkButtonEvent=flagLinkButtonEvent.bind(this,$(this.id.flagListLinkId));flagLinkButton.addEvent('click',boundFlagLinkButtonEvent);Citysearch.Popup.open(this,flagPopup,{'width':150,'onTop':true,'titleText':Citysearch.Text.UserListInfo.reportTitleText});});}},hijaxWhere:function(){if($(this.id.whereFieldId)){var whereFieldObj=$(this.id.whereFieldId);this.whereComplete=new Citysearch.AutoComplete(whereFieldObj,'/search/autocomplete',{'marketId':Citysearch.marketId});}},hijaxWhat:function(){if($(this.id.whatFieldId)){var whatFieldObj=$(this.id.whatFieldId);this.whatComplete=new Citysearch.AutoComplete(whatFieldObj,'/search/whatautocomplete',{'hiddenFieldName':'catId'});}}});var userlist=new Citysearch.Listing.UserList('user_list');window.addEvent('domready',function(){userlist.hijaxSave({popupWidth:200});userlist.hijaxFlagListLink();userlist.hijaxFlagSigninLink();userlist.hijaxSendTo($('content'));userlist.hijaxWhere();userlist.hijaxWhat();userlist.hijaxSubsectionSummary();userlist.hijaxShare({popupWidth:200});userlist.hijaxPromote({popupWidth:445});userlist.initResultSet(Citysearch.TempConfig.List.resultSet);userlist.addListingHover($('listEntries'));userlist.iframe=new Citysearch.iframeMap($('iframeContainer'),{'iframeId':'userlistIframe','iframeName':'userlistIframe','callback':function(iframeMap){userlist.constructMap(iframeMap.mapContainer,{'iframeContainer':$('iframeContainer'),'mapAPI':iframeMap.mapAPI});userlist.addListingHover($('listEntries'),{'mapAPI':iframeMap.mapAPI,'enableMap':true});Citysearch.TempConfig.List=null;}});});
