/*    HTTP Host:  static.ak.fbcdn.net                                          */
/*    Generated:  June 11th 2009 4:14:17 PM PDT                                */
/*      Machine:  10.16.140.101                                                */
/*       Source:  Global Cache                                                 */
/*     Location:  js/emu/controller.js h:ezoa1h1n                              */
/*       Locale:  en_US                                                        */
/*         Path:  js/emu/controller.js                                         */


function EMUFrame(containerId,eiData,contextType,flags,data){this.eiData_=eiData;this.flags_=flags;this.contextType_=contextType;this.data_=data;this.containerId_=containerId;this.container_=$(this.containerId_);return this;}
copy_properties(EMUFrame.prototype,{EVENT_HANDLER_PATH:'/ae.php',EVENT_NAME_CLICK:'clk',EVENT_NAME_FAN:'fan',EVENT_NAME_RSVP:'rsvp',EVENT_NAME_ADD_FRIEND:'frnd',EVENT_NAME_GET_DIALOG:'dlg',onEvent:function(eventName,eventData,handler,errorHandler){var params={i:this.eiData_,f:this.flags_,c:this.contextType_,en:eventName};if(eventData){params.ed=JSON.encode(eventData)}
if(!errorHandler){var errorHandler=bagofholding;}
if(handler){new AsyncRequest().setURI(this.EVENT_HANDLER_PATH).setData(params).setHandler(handler).setErrorHandler(errorHandler).setTransportErrorHandler(errorHandler).send();}else{new AsyncSignal(this.EVENT_HANDLER_PATH,params).send();}},showContextualHelp:function(elem,title,body){if(generic_dialog.dialog_stack&&generic_dialog.dialog_stack.length>0){return null;}
return new contextual_dialog().set_context(elem).show_message(title,body,_tx("Okay"));}});function EMUASFrame(containerId,eiData,contextType,flags,data){this.parent.construct(this,containerId,eiData,contextType,flags,data);if(this.data_.showAdFeedback){new AdspaceAdsFeedback(this.containerId_).set_usage_data(this.data_.usageData).set_log_data(this.eiData_);}
this.link_=DOM.find(this.container_,'a.UIEMUASFrame_link');if(this.data_.isPreview){this.link_.listen('click',this.onLinkPreview.bind(this,this.link_));var socialLinks=DOM.scry(this.container_,'a.UIEMUASSocialContextLink');for(var i=0;i<socialLinks.length;i++){socialLinks[i].listen('click',this.onSocialLinkPreview.bind(this,socialLinks[i]));}}
return this;}
EMUASFrame.extend('EMUFrame');copy_properties(EMUASFrame.prototype,{flashHighlightElement:function(elem){if(!elem){return;}
$(elem).setStyle('backgroundColor','#fffccc');animation(elem).duration(1500).checkpoint().to('backgroundColor','#FFFFFF').duration(1000).go();},onLinkPreview:function(elem){var linkPreviewHTML='';if('#'!=elem.getAttribute('href')){var linkAttributes={href:elem.getAttribute('href'),target:'_blank'};var linkPreviewSpan=$N('span',$N('a',linkAttributes,_tx("Preview link.")));var linkPreviewHTML=linkPreviewSpan.innerHTML;}
this.showContextualHelp(elem,_tx("Linkable Area"),_tx("Users who click this area will link to the destination specified by this ad. {preview}",{preview:linkPreviewHTML}));return false;},onSocialLinkPreview:abstractMethod});function EMUASStandardFrame(containerId,eiData,contextType,flags,data){this.parent.construct(this,containerId,eiData,contextType,flags,data);}
EMUASStandardFrame.extend('EMUASFrame');function EMUASFanFrame(containerId,eiData,contextType,flags,data){this.parent.construct(this,containerId,eiData,contextType,flags,data);var becomeFanLink=DOM.scry(this.container_,'a.UIEMUASfanFrame_becomeFanLink');if(becomeFanLink[0]){var actionHandler=(!this.data_.isPreview)?this.onFan.bind(this):this.onFanPreview.bind(this,becomeFanLink[0]);becomeFanLink[0].listen('click',actionHandler);}
return this;}
EMUASFanFrame.extend('EMUASFrame');copy_properties(EMUASFanFrame.prototype,{onFan:function(){if(this.locked_){return false;}
this.locked_=true;this.onEvent(this.EVENT_NAME_FAN,null,this.onFanFrameResponse.bind(this),this.onFanFrameResponse.bind(this));return false;},onFanFrameResponse:function(response){var data=response.getPayload();if(data.success){var fanDiv=DOM.find(this.container,'.UIEMUASFanFrame_fan');DOM.setContent(fanDiv,this.data_.justFannedString);this.flashHighlightElement(fanDiv);}
this.locked_=false;},onFanPreview:function(becomeFanLink){this.showContextualHelp(becomeFanLink,_tx("Inline Facebook Page Fanning"),_tx("Users can directly fan your Facebook Page by clicking this link."));return false;},onSocialLinkPreview:function(elem){this.showContextualHelp(elem,_tx("Social Actions"),_tx("Here users can see friends who have become a fan of your Facebook Page."));return false;}});function EMUASEventFrame(containerId,eiData,contextType,flags,data){this.parent.construct(this,containerId,eiData,contextType,flags,data);var rsvpLink=DOM.scry(this.container_,'a.UIEMUASEventFrame_rsvpLink');if(rsvpLink[0]){var actionHandler=(!this.data_.isPreview)?this.onRSVP.bind(this):this.onRSVPPreview.bind(this,rsvpLink[0]);rsvpLink[0].listen('click',actionHandler);}
return this;}
EMUASEventFrame.extend('EMUASFrame');copy_properties(EMUASEventFrame.prototype,{onRSVP:function(){if(!this.dialog_){this.dialog_=new Dialog().setTitle(this.data_.eventName).setBody(_tx("Loading...")).show();this.onEvent(this.EVENT_NAME_GET_DIALOG,null,this.initRSVPDialog.bind(this),this.initRSVPDialogFail.bind(this));}
return false;},initRSVPDialog:function(response){var data=response.getPayload();if(data.success){this.dialog_.setBody(data.dialogBody).setButtons([{name:'rsvp',label:_tx("RSVP")},Dialog.CANCEL]).setCancelHandler(this.onRSVPCancel.bind(this)).setHandler(this.onRSVPSubmit.bind(this)).show();}
return false;},initRSVPDialogFail:function(response){this.dialog_.hide();this.dialog_=null;},onRSVPCancel:function(){this.dialog_=null;},onRSVPSubmit:function(){if(this.locked_){return false;}
this.locked_=true;var rsvpInputs=DOM.scry(this.container,'input[name="UIEMUASEventFrame_dialogRSVPSelect"]');var rsvpValue=null;for(var i=0;i<rsvpInputs.length;i++){if(rsvpInputs[i].checked){rsvpValue=rsvpInputs[i].value;}}
this.onEvent(this.EVENT_NAME_RSVP,{rsvpStatus:rsvpValue},this.onRSVPFrameResponse.bind(this),this.onRSVPFrameResponse.bind(this));this.dialog_=null;},onRSVPFrameResponse:function(response){var data=response.getPayload();if(data.success){var rsvpDiv=DOM.find(this.container,'.UIEMUASEventFrame_rsvp');DOM.setContent(rsvpDiv,data.statusString);this.flashHighlightElement(rsvpDiv);}
this.locked_=false;},onRSVPPreview:function(rsvpLink){this.showContextualHelp(rsvpLink,_tx("Inline Event RSVP'ing"),_tx("Users can directly RSVP to your event by clicking this link."));return false;},onSocialLinkPreview:function(elem){this.showContextualHelp(elem,_tx("Social Actions"),_tx("Here users can see friends who have RSVP'd to your event. "));return false;}});function EMUASPymkFrame(containerId,eiData,contextType,flags,data){this.parent.construct(this,containerId,eiData,contextType,flags,data);this.link_.listen('click',this.onPymkClick.bind(this));var addFriend=DOM.scry(this.container_,'a.UIEMUASPymkFrame_friendLink');if(addFriend[0]){addFriend[0].listen('click',this.onAddFriend.bind(this));}
return this;}
EMUASPymkFrame.extend('EMUASFrame');copy_properties(EMUASPymkFrame.prototype,{onPymkClick:function(){pymk_log_profile_click(this.data_.pymkId,this.data_.pymkPage,this.data_.pymkScore,this.data_.pymkSource);},onAddFriend:function(){show_addfriend_dialog(this.data_.pymkId,{'uid':this.data_.pymkId,'render_explanation':true,'page':this.data_pymkPage},'people_you_may_know',this.data_.pymkFirstName,this.onAddFriendCompleted.bind(this),this.data_.pymkScore,this.data_.pymkSource,null,this.data_.pymkPage);return false;},onAddFriendCompleted:function(){if(this.locked_){return false;}
this.locked_=true;this.onEvent(this.EVENT_ADD_FRIEND);var friendDiv=DOM.find(this.container_,'.UIEMUASPymkFrame_friend');DOM.setContent(friendDiv,this.data_.pymkAddedString);this.flashHighlightElement(friendDiv);this.locked_=false;}});

if (window.Bootloader) { Bootloader.done(["js\/emu\/controller.js"]); }