/*    HTTP Host:  static.ak.fbcdn.net                                          */
/*    Generated:  June 11th 2009 4:14:17 PM PDT                                */
/*      Machine:  10.16.139.107                                                */
/*       Source:  Global Cache                                                 */
/*     Location:  js/ak27qgirdg8cwssg.pkg.js h:bjopplgf                        */
/*       Locale:  en_US                                                        */
/*         Path:  js/ak27qgirdg8cwssg.pkg.js                                   */


function FriendAddingTool(elem,lists,menu_title,new_list_text,key){FriendAddingTool.instances[key]=this;this._root=elem;this._menuDiv=elem.find('span.FriendAddingTool_Menu');this._selectedLists={};this._lists=lists;this._newListKey=0;this._newListText=new_list_text;this._defaultMenuTitle=menu_title;if(this._root.scry('span.FriendAddingTool_Checkbox input')){this._checkbox=this._root.scry('span.FriendAddingTool_Checkbox input')[0];}
this._menu=new UIActionMenu(this._defaultMenuTitle);this._menu.setContentCallback(function(){this._selectList=new UISelectList();this._selectList.setCallback(function(checked,key){if(checked&&!this._selectedLists[key]){this._selectedLists[key]=true;}else if(!checked&&this._selectedLists[key]){delete this._selectedLists[key];}
this._menu.hideMenu();this._recalculateMenuTitle();}.bind(this));var lists=this._getLists();for(var k in lists){this._selectList.addItem(lists[k].name,this._selectedLists[k]?1:0,k);}
var div=$N('div',{className:'FriendAddingTool_InnerMenu'});this._newListInput=$N('input',{type:'text',className:'inputtext FriendAddingTool_CreateNewList'});new TextInputControl(this._newListInput).setPlaceholderText(this._newListText);this._newListInput.listen('keypress',function(e){if(event_get_keypress_keycode(e)==KEYS.RETURN){this._newListKey++;this._selectList.getElement().removeClass('hidden_elem');var key='new_'+this._newListKey;var name=this._newListInput.getControl().getValue();this._newListInput.getControl().clear();this._newListInput.blur();this._selectList.addItem(name,true,key);this._selectedLists[key]=true;this._lists[key]={id2:key,name:name};this._recalculateMenuTitle();this._blankStateDiv.addClass('hidden_elem');this._menu.hideMenu();return $E(e).kill();}}.bind(this));this._newListInput.listen('click',function(e){return $E(e).kill();});this._blankStateDiv=$N('div',{className:'FriendAddingTool_BlankState'});this._blankStateDiv.setContent(_tx("You have no lists."));var has_lists=(count(this._lists)>0);CSS.conditionClass(this._blankStateDiv,'hidden_elem',has_lists);CSS.conditionClass(this._selectList.getElement(),'hidden_elem',!has_lists);div.setContent([this._selectList.getElement(),this._blankStateDiv,this._newListInput]);return div;}.bind(this));this._menuDiv.setContent(this._menu.getNodes());this._root.removeClass('hidden_elem');}
FriendAddingTool.instances={};FriendAddingTool.masterLists={};FriendAddingTool.updateMasterLists=function(master_lists){FriendAddingTool.masterLists=master_lists;}
FriendAddingTool.prototype._recalculateMenuTitle=function(){var num_lists=count(this._selectedLists);if(num_lists>0){if(num_lists>1){var title=_tx("{num_selected} selected lists",{num_selected:num_lists});}else{var title=_tx("1 selected list");}
this._menu.setTitle(title);}else{this._menu.setTitle(this._defaultMenuTitle);}}
FriendAddingTool.prototype.getSelectedLists=function(){var selected=[];for(var k in this._selectedLists){var list={id:k,name:this._lists[k].name};selected.push(list);}
return selected;}
FriendAddingTool.prototype.getAddNewsFeed=function(){if(this._checkbox){return(this._checkbox.checked?true:false);}}
FriendAddingTool.prototype.getAddNewsFeedSaw=function(){if(this._checkbox){return true;}}
FriendAddingTool.prototype._getLists=function(){var master_lists=FriendAddingTool.masterLists;for(var mk in master_lists){var key_exists=false;for(var k in this._lists){if(mk!=k){if(this._lists[k].name==master_lists[mk].name){key_exists=true;this._lists[k]=null;this._lists[mk]=master_lists[mk];}}else{key_exists=true;}}
if(!key_exists){this._lists[mk]=master_lists[mk];}}
return this._lists;}

function show_addfriend_dialog(to_uid,link_object,source,first_name,post_response_func,score,pymk_source,ref,page){if(source===undefined){source='';}
if(score===undefined){score=-1;}
if(pymk_source===undefined){pymk_source='u';}
if(page===undefined){page=null;}
post_response_func=post_response_func||_disableAddFriendLink;return _show_addfriend_dialog(to_uid,link_object,source,undefined,undefined,first_name,post_response_func,score,pymk_source,ref,page);}
function _show_addfriend_dialog(to_uid,link_object,source,failed_captcha,message,first_name,post_response_func,score,pymk_source,ref,page){if(message===undefined){message='';}
dialog=new pop_dialog();dialog.is_stackable=true;if(first_name){dialog.show_loading_title(_tx("Add {user_first_name} as a friend?",{user_first_name:first_name}));dialog.do_expand_animation=true;}else{dialog.show_dialog('<div class="dialog_loading">'+_tx("Loading...")+'</div>');}
new AsyncRequest().setURI('/ajax/addfriend.php').setData({uid:to_uid,action:'can_friend',message:message}).setContextData('clicktype','Add a Friend',ref==='profile_others').setReplayable(false).setHandler(function(response){var resp=response.getPayload();if(resp==undefined){return false;}
if(resp.karmablocked||resp.karma_warned){dialog.make_modal();}
if(resp.karmablocked){dialog.show_choice(resp.dialog_title,resp.dialog_contents,_tx("Close"),function(){generic_dialog.get_dialog(this).fade_out(100)});}else if(resp.status){if(resp.show_captcha){dialog.show_choice(resp.dialog_title,resp.dialog_contents,_tx("Add Friend"),function(){var message='';if(ge('message')){message=$('message').value;}
_show_security_check_dialog(to_uid,link_object,source,failed_captcha,message,first_name,post_response_func,score,pymk_source,page)},_tx("Cancel"),function(){if(resp.cancel_js)eval(resp.cancel_js);generic_dialog.get_dialog(this).fade_out(100)});}else{dialog.show_choice(resp.dialog_title,resp.dialog_contents,_tx("Add Friend"),function(){var message='';if(ge('message')){message=$('message').value;}
_show_followup_dialog(to_uid,link_object,source,failed_captcha,message,first_name,post_response_func,score,pymk_source,page);},_tx("Cancel"),function(){if(resp.cancel_js)eval(resp.cancel_js);generic_dialog.get_dialog(this).fade_out(100)});}}else if(resp.require_conf){dialog.show_choice(resp.dialog_title,resp.dialog_body,_tx("Okay"),function(){if(resp.cancel_js)eval(resp.cancel_js);generic_dialog.get_dialog(this).fade_out(100)});}else{dialog.show_message(resp.dialog_title,resp.dialog_contents);}}.bind(this)).setErrorHandler(function(response){generic_dialog.get_dialog(this).fade_out(100);}.bind(this)).send();}
function _show_security_check_dialog(to_uid,link_object,source,failed_captcha,message,first_name,post_response_func,score,pymk_source,page){var post_vars={'action':'security_check','uid':to_uid,'source':source,'score':score,'pymk_source':pymk_source,'page':page,'message':message,'failed_captcha':(failed_captcha?'1':'0')};var lists_serialized=[];if(FriendAddingTool.instances[to_uid]){var lists=FriendAddingTool.instances[to_uid].getSelectedLists();if(FriendAddingTool.instances[to_uid].getAddNewsFeedSaw()){post_vars.add_to_nf_saw=true;post_vars.add_to_nf=FriendAddingTool.instances[to_uid].getAddNewsFeed();}
for(var i=0;i<lists.length;i++){lists_serialized.push(lists[i].id+':'+lists[i].name);}}
post_vars.lists=lists_serialized;new AsyncRequest().setURI('/ajax/addfriend.php').setData(post_vars).setReplayable(false).setHandler(function(response){var resp=response.getPayload();dialog.show_choice(resp.dialog_title,resp.dialog_contents,_tx("Add Friend"),function(){_show_followup_dialog(to_uid,link_object,source,failed_captcha,message,first_name,post_response_func,score,pymk_source,page);},_tx("Cancel"),function(){generic_dialog.get_dialog(this).fade_out(100)});}.bind(this)).send();}
function _show_followup_dialog(to_uid,link_object,source,failed_captcha,message,first_name,post_response_func,score,pymk_source,page){var post_vars={'action':'follow_up','uid':to_uid,'source':source,'score':score,'pymk_source':pymk_source,'page':page,'message':message,'failed_captcha':(failed_captcha?'1':'0')};var lists_serialized=[];if(FriendAddingTool.instances[to_uid]){var lists=FriendAddingTool.instances[to_uid].getSelectedLists();if(FriendAddingTool.instances[to_uid].getAddNewsFeedSaw()){post_vars.add_to_nf_saw=true;post_vars.add_to_nf=FriendAddingTool.instances[to_uid].getAddNewsFeed();}
for(var i=0;i<lists.length;i++){lists_serialized.push(lists[i].id+':'+lists[i].name);}}
post_vars.lists=lists_serialized;var captcha_form=ge('captcha_form');if(captcha_form){var captcha_elements=captcha_form.getElementsByTagName('input');for(var i=0;i<captcha_elements.length;i++){post_vars[captcha_elements[i].name]=captcha_elements[i].value;}}
new AsyncRequest().setURI('/ajax/addfriend.php').setData(post_vars).setReplayable(false).setHandler(function(response){var resp=response.getPayload();if(resp.error!=undefined){if(dialog){dialog.fade_out(100);}
_show_security_check_dialog(to_uid,link_object,source,true,message,first_name,post_response_func,score,pymk_source,page);return false;}
if(response.final_lists){if(window.FriendAddingTool){FriendAddingTool.updateMasterLists(response.final_lists);}}
var close_handler=bagofholding;if(source=='friend_suggestion'){close_handler=handle_request_click.bind(null,'friend_suggestion',to_uid,'accept');}
if(resp.suggest_friends){post_response_func(link_object);dialog.hide();FriendSuggesterDialog.show(to_uid,true,close_handler);}else if(resp.status){post_response_func(link_object);dialog.show_message(resp.dialog_title,resp.dialog_contents);dialog.fade_out(500,1100);close_handler();}else{dialog.show_choice(resp.dialog_title,resp.dialog_contents,_tx("Confirm"),function(){new AsyncRequest().setURI('/ajax/addfriend.php').setData({'action':'confirm_hs_pending','uid':to_uid}).setReplayable(false).setHandler(function(response){post_response_func(link_object);dialog.fade_out(100);}).send();},_tx("Does Not Attend"),function(){new AsyncRequest().setURI('/ajax/addfriend.php').setData({'action':'hs_confirm_reject','uid':to_uid}).setReplayable(false).setHandler(function(response){post_response_func(link_object);dialog.fade_out(100);}).send();},'',_tx("I Don&rsquo;t Know"),function(){generic_dialog.get_dialog(this).fade_out(100)});}}).send();}
function _disableAddFriendLink(link_object){if(!link_object){return;}
var newNode=document.createElement("span");newNode.innerHTML=_tx("Friend Requested");CSS.setClass(newNode,"holder inactive");if(link_object.parentNode){link_object.parentNode.replaceChild(newNode,link_object);}}
function disableAddFriendLink2(link_object){if(!link_object){return;}
var newNode=document.createElement("span");newNode.innerHTML=_tx("You have sent a friend request.");CSS.setClass(newNode,"holder inactive");if(link_object.parentNode){link_object.parentNode.replaceChild(newNode,link_object);}}
function disableAddFriendLinkClickableProfile(link_object){CSS.addClass($('cant_see_profile_add_friend'),'hidden_elem');}
function external_friend_add(uid,email,name,success_handler,from_invite){var handler=(function(resp){success_handler(resp.getPayload());});new AsyncRequest().setURI('/friends/ajax/external.php').setData({action:'add',uid:uid,email:email,name:name,allow_nameless:true,ok:true,no_success_dialog:true,from_invite:from_invite}).setHandler(handler).send();}
function accept_external_friend_suggestion(uid,name){external_friend_add(uid,null,name,function(){FriendSuggesterDialog.show(uid,true,function(){handle_request_click('friend_suggestion',uid,'accept');});},false);}
function show_external_friend_dialog(uid,email,action,success_handler){success_handler=success_handler||bagofholding;var async=new AsyncRequest().setMethod('GET').setData({action:action,uid:uid,email:email}).setReadOnly(true).setURI('/friends/ajax/external.php');new Dialog().setAsync(async).setCloseHandler(function(){var id=this.getUserData();if(id){external_friend_hide_link(id);success_handler(id);}}).show();}
function external_friend_hide_link(uid){var add_link=ge('add_as_friend_'+uid);if(add_link){hide(add_link);}}

function pymkGrid(grid_id,show_explanation){copy_properties(this,{used_ids:[],boxes_displayed:0,payload_timeouts:0,grid_id:null,pymk_more_link:null,show_explanation:null});if(grid_id&&ge(grid_id)){this.show_explanation=!!show_explanation;this.grid_obj=$(grid_id);var id_divs=DOM.scry(this.grid_obj,'div.friend_grid_col');for(var i=0;i<id_divs.length;i++){this.used_ids.push(parseInt(id_divs[i].getAttribute('id').substring(3)));this.boxes_displayed++;}
var more_link=DOM.scry(this.grid_obj,'a.show_more');if(more_link){this.pymk_more_link=more_link[0];}}else{Util.error('pymkGrid: Either the grid you have specified is invalid or is not detectable in the DOM.');}}
copy_properties(pymkGrid.prototype,{addFriend:function(uid,page,score,source,log){this.modifyFriendship(uid,'add',null,page,score,source,log);return;},hideFriend:function(uid,page,score,source){this.modifyFriendship(uid,'blacklist',null,page,score,source);return;},modifyFriendship:function(uid,action_type,home_panel,page,score,source,log){var friend_data=this.getGridData($('fg_'+uid));var asyncData={used:this.used_ids,replace:uid,get:1,explanation:this.show_explanation,page:page};if(action_type=='blacklist'){asyncData.click_type='hide';asyncData.blacklist_type='blacklist';asyncData.score=score;asyncData.source=source;}else if(log){asyncData.click_type='add';asyncData.score=score;asyncData.source=source;}
new AsyncRequest().setURI('/ajax/friend_guess.php').setData(asyncData).setHandler(bind(this,this.asyncHandleModify)).setReplayable(false).send();var friend_box=$('fg_'+uid);animation(friend_box).from('opacity',1).to('opacity',0).duration(300).go();if(home_panel){home_panel.addTo('outgoing',home_panel.constructGridItem(friend_data));}
return;},asyncHandleRefresh:function(async){payload=async.getPayload();if(payload.victim&&payload.victim.length>0){for(var i=0;i<payload.victim.length;i++){if(this.used_ids[i]){animation($('fg_'+this.used_ids[i])).from('opacity',1).to('opacity',0).duration(300).go();}}
for(var i=0;i<payload.victim.length;i++){if(this.used_ids[i]){this.replaceItem(this.used_ids[i],payload.victim[i]);}}
for(var i=0;i<payload.victim.length;i++){this.used_ids.unshift(payload.victim[i].uid);}}
if(!payload.more){this._hideMoreLink();}},asyncHandleModify:function(async){payload=async.getPayload();if(payload.victim&&payload.victim.length>0){this.replaceItem(payload.replace,payload.victim[0]);}else{this.hideItem(payload.replace);}
return;},replaceItem:function(replace,victim){var replace_id='fg_'+replace;var box_id='fg_'+victim.uid;if(!ge(box_id)){var new_box=DOM.create('div',{id:box_id,className:'friend_grid_col clearfix'},HTML(victim.box_content));DOM.replace($(replace_id),new_box);animation($(box_id)).from('opacity',0).to('opacity',1).duration(400).go();this.used_ids.push(victim.uid);}else{this.hideItem(replace);}},hideItem:function(replace){this.payload_timeouts++;var replace_id='fg_'+replace;var anim=null;var suggestions=$$('#home_sidebar .sidebar_item.pymk');if(1==suggestions.length&&1==$$('#pymk_ajax_grid .friend_grid_row').length){anim=animation(suggestions[0]);}else{hide('fg_add_'+replace);$(replace_id).unreplaceable=true;var pymkRow=$(replace_id).parentNode;var collapseRow=true;for(var i=0;i<pymkRow.childNodes.length;i++){if(!pymkRow.childNodes[i].unreplaceable){collapseRow=false;break;}}
if(collapseRow){anim=animation(pymkRow).ondone(DOM.remove.bind(null,pymkRow));}}
if(anim){anim.to('height',0).duration(550).hide().ease(animation.ease.end).go();}
this._hideMoreLink();},constructGridItem:function(grid_data){return this.constructRawGridItem(grid_data.uid,grid_data.content);},constructRawGridItem:function(uid,item_content){var gridItem=document.createElement('div');CSS.addClass(gridItem,'friend_grid_col');gridItem.setAttribute('id','friend_'+uid);gridItem.innerHTML=item_content;return gridItem;},getGridData:function(grid_object){if(CSS.hasClass(grid_object,'friend_grid_col')){var gridData={content:grid_object.innerHTML,uid:grid_object.getAttribute('id').toString().slice(3)}
return gridData;}},_removeID:function(uid){for(var i=0;i<this.used_ids.length;i++){if(this.used_ids[i]==uid){this.used_ids.splice(i,1);}}
return;},_hideMoreLink:function(){if(this.pymk_more_link){this.pymk_more_link.style.visibility='hidden';this.pymk_more_link=null;}}});function pymk_friend_added(link_object){pymk_add_friend(link_object.uid,link_object.render_explanation,null,link_object.page);}
function pymk_page_added(uid,has_explanation,page,score,source,log){pymk_add_friend(uid,has_explanation,null,page,score,source,log);}
function pymk_add_friend(uid,has_explanation,existingGrid,page,score,source,log){if(!existingGrid){existingGrid=new pymkGrid('pymk_ajax_grid',has_explanation||false);}
existingGrid.addFriend(uid,page,score,source,log);}
function pymk_hide_friend(uid,has_explanation,existingGrid,page,score,source){if(!existingGrid){existingGrid=new pymkGrid('pymk_ajax_grid',has_explanation);}
if(!score){score=-1;}
if(!source){source='u';}
existingGrid.hideFriend(uid,page,score,source);}
function pymk_log_profile_click(uid,page,score,source){var asyncData={click_type:'profile',replace:uid,page:page,score:score,source:source};new AsyncRequest().setURI('/ajax/friend_guess.php').setData(asyncData).setReplayable(false).send();}

function group_remove_user(gid,uid){var base_link='/groups.php';if(uid!=0){base_link+='?id='+uid;}
new AsyncRequest().setURI('/ajax/group_actions_ajax.php').setData({gid:gid,remove:1}).setHandler(goURI.bind(null,base_link)).setErrorHandler(ErrorDialog.showAsyncError).send();}
function group_add_user(gid){new AsyncRequest().setURI('/ajax/group_actions_ajax.php').setData({gid:gid,join:1}).setHandler(bind(this,handle_require_email_conf_response,goURI.curry('/group.php?gid='+gid,false),null,null)).setErrorHandler(ErrorDialog.showAsyncError).send();}
function group_remove_officer(gid,uid){new AsyncRequest().setURI('/ajax/group_actions_ajax.php').setData({gid:gid,uid:uid,remove_officer:1}).setHandler(function(){document.location.reload();}).setErrorHandler(ErrorDialog.showAsyncError).send();}
function confirm_group_join(gid){group_add_user(gid);}
function group_ask_leave(gid,uid,msg,name){if(msg!=""){msg+="<br /><br />";}
msg+=_tx("Are you sure you want to remove your membership from {group-name}?",{'group-name':htmlize(name)});var dialog=new Dialog().setTitle(_tx("Remove group membership?")).setBody(msg).setButtons([Dialog.newButton('remove',_tx("Remove"),'',function(){group_remove_user(gid,uid);dialog.hide();}),Dialog.CANCEL]).show();return false;}
function group_ask_join(gid,name){var msg_text=_tx("Do you want to join {group-name}?",{'group-name':htmlize(name)});var dialog=new Dialog().setTitle(_tx("Add group membership?")).setBody(msg_text).setButtons([Dialog.newButton('join',_tx("Join"),'',function(){group_add_user(gid);dialog.hide();}),Dialog.CANCEL]).show();return false;}

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