/*    HTTP Host:  static.ak.fbcdn.net                                          */
/*    Generated:  May 12th 2009 2:00:06 PM PDT                                 */
/*      Machine:  10.16.140.103                                                */
/*       Source:  Global Cache                                                 */
/*     Location:  js/home.js h:ne2q3h5t                                        */
/*       Locale:  de_DE                                                        */
/*         Path:  js/home.js                                                   */


var HomepageBookmarks={appIDs:{},numShown:6,init:function(appIDs){this._initSortables(appIDs);if(typeof ApplicationDock!=='undefined'){var arbiterToken=Arbiter.subscribe(ApplicationDock.BOOKMARKS_CHANGED,this._bookmarksChanged.bind(this));onunloadRegister(Arbiter.unsubscribe.bind(Arbiter,arbiterToken));}},_initSortables:function(appIDs){var extendedAppIDs=[];this.sortableGroupRoot=$('home_bookmarked_apps');if(appIDs.length>this.numShown){extendedAppIDs=appIDs.slice(this.numShown);appIDs=appIDs.slice(0,this.numShown);}
this.sortableGroup=new SortableGroup();if(extendedAppIDs.length){this.extendedSortableGroup=new SortableGroup();this.sortableGroup.link(this.extendedSortableGroup);this.extendedSortableGroupRoot=$('home_bookmarked_apps_more');}
this.sortableGroup.setLinkJumpHandler(this._onsortableLinkJump.bind(this));this._setupSortables(this.sortableGroup,appIDs);if(extendedAppIDs.length){this._setupSortables(this.extendedSortableGroup,extendedAppIDs);}
this.sortableGroup.setOrderChangeHandler(this._saveBookmarksOrder.bind(this));if(extendedAppIDs.length){this.extendedSortableGroup.setOrderChangeHandler(this._saveBookmarksOrder.bind(this));}},_setupSortables:function(sortableGroup,appIDs){for(var i=0;i<appIDs.length;i++){var appID=appIDs[i];var obj=$('bookmarked_app_'+appID);var handle=DOM.scry(obj,'a')[0];sortableGroup.addSortable(appID,obj,handle);if(typeof(handle)!='undefined'){handle.listen('click',this._onclickHandler);}
this.appIDs[appID]=obj;}},_onclickHandler:function(event){if(this.activeDrag){return Event.kill(event);}},_onsortableLinkJump:function(key){var order=this.sortableGroup.getOrder(),migrateKey=null;if(order.length>this.numShown){for(var i=order.length-1;i>=0;i--){if(order[i]!=key){migrateKey=order[i];break;}}
this.extendedSortableGroupRoot.insertBefore(this.appIDs[migrateKey],this.extendedSortableGroupRoot.firstChild);this.extendedSortableGroup.migrateLinkedSortable(migrateKey);}else if(order.length<this.numShown){order=this.extendedSortableGroup.getOrder();for(var i=0;i<order.length;i++){if(order[i]!=key){migrateKey=order[i];break;}}
DOM.appendContent(this.sortableGroupRoot,this.appIDs[migrateKey]);this.sortableGroup.migrateLinkedSortable(migrateKey);}},_getCurrentOrder:function(){var order=this.sortableGroup.getOrder();if(this.extendedSortableGroup){order=order.concat(this.extendedSortableGroup.getOrder());}
return mapToInt(order);},_saveBookmarksOrder:function(){var order=this._getCurrentOrder();new AsyncRequest().setURI('/ajax/edit_app_settings.php').setData({reorder_bookmarks:1,app_ids:order}).setHandler(bagofholding).send();},_bookmarksChanged:function(type,data){var newList=data.applications;var currentList=this._getCurrentOrder();if(are_equal(newList,currentList)){return;}
new AsyncRequest().setURI('ajax/home/refresh_bookmarks.php').setMethod('GET').setReadOnly(true).setHandler(this._asyncHandler.bind(this,newList)).setOption('suppressErrorHandlerWarning',true).send();},_asyncHandler:function(appIDs,asyncResponse){var payload=asyncResponse.getPayload();this.sortableGroup.destroy();if(this.extendedSortableGroup){this.extendedSortableGroup.destroy();}
set_inner_html($('home_bookmarks_container'),payload.markup);this._initSortables(appIDs);},toggle:function(){if($('more_bookmarks').offsetHeight>1){animation($('homepage_bookmarks_show_more')).to('height','auto').from('0px').to('opacity',1).from(0).blind().show().duration(300).ease(animation.ease.end).go();animation($('more_bookmarks')).to('height','0px').to('opacity',0).from(1).blind().hide().ease(animation.ease.end).duration(300).go();}else{animation($('homepage_bookmarks_show_more')).to('height','0px').to('opacity',0).from(1).blind().hide().duration(10).go();animation($('more_bookmarks')).to('height','auto').from('0px').to('opacity',1).from(0).blind().show().ease(animation.ease.end).duration(300).go();}}}
var HomepageFriendLists={init:function(){this.scrollarea_id='feed_header_section_friend_lists';this.content_id='feed_content_section_friend_lists';var arbiterToken=Arbiter.subscribe(ListEditorBootstrap.FRIEND_LISTS_CHANGED,this._onFriendListSave.bind(this));onunloadRegister(Arbiter.unsubscribe.bind(Arbiter,arbiterToken));},_onFriendListSave:function(type,data){new AsyncRequest().setURI('/ajax/home/refresh_friendlists.php').setMethod('GET').setReadOnly(true).setHandler(this._asyncHandler.bind(this)).setOption('suppressErrorHandlerWarning',true).send();},_asyncHandler:function(asyncResponse){var payload=asyncResponse.getPayload();set_inner_html($(this.content_id),payload.markup);if(typeof ScrollArea!=='undefined'){ScrollArea.getInnerInstance(this.scrollarea_id).update();}}};function clearFriendFinder(){AsyncRequest.pingURI('ajax/hide_prefs_ajax.php',{'e':'home_friend_finder','h':1},false);hide('findfriends');return false;}
function show_event_rsvp_dialog(update_id,eid,status,join){var title=(join?_tx("Zu meinen Veranstaltungen hinzuf\u00fcgen"):_tx("Zu-\/Absagen"));var att_sel=(status=='Attending'?' checked="checked"':'');var maybe_sel=(status=='Maybe Attending'?' checked="checked"':'');var not_sel=(status=='Not Attending'?' checked="checked"':'');var error_id='rsvp_error_'+eid;var body='<div class="rsvp_buttons clearfix">'
+'<div><input type="radio" name="rsvp" value="Attending" id="rsvp_att_'+eid+'"'+att_sel+' />'
+'<label for="rsvp_att_'+eid+'">'+_tx("Nehme teil")+'</label></div>'
+'<div><input type="radio" name="rsvp" value="Maybe Attending" id="rsvp_maybe_'+eid+'"'+maybe_sel+' />'
+'<label for="rsvp_maybe_'+eid+'">'+_tx("Nehme vielleicht teil")+'</label></div>'
+'<div><input type="radio" name="rsvp" value="Not Attending" id="rsvp_not_'+eid+'"'+not_sel+' />'
+'<label for="rsvp_not_'+eid+'">'+_tx("Nehme nicht teil")+'</label></div>'
+'<input type="hidden" name="eid" value="'+eid+'" />'
+'</div>'
+'<div id="'+error_id+'" style="display:none;"><div id="error">'+_tx("Bitte stell deinen RSVP Status ein.")+'</div></div>';var rsvp_handler=function(update_id,eid,join,error_id,button){var rsvp_response_handler=function(update_id,asyncResponse){payload=asyncResponse.payload;if(payload){ge(update_id).innerHTML=payload;}}.bind(null,update_id);var el_att=ge('rsvp_att_'+eid);var el_maybe=ge('rsvp_maybe_'+eid);var el_not=ge('rsvp_not_'+eid);var rsvp;if(el_att.checked){rsvp=el_att.value;}else if(el_maybe.checked){rsvp=el_maybe.value;}else if(el_not.checked){rsvp=el_not.value;}else{ge(error_id).style.display='block';return false;}
var data={'eid':eid,'rsvp':rsvp};if(join){data['join']=1;}
new AsyncRequest().setURI('/ajax/event_actions_ajax.php').setData(data).setHandler(rsvp_response_handler).send();}.bind(null,update_id,eid,join,error_id);var label=(join?_tx("Hinzuf\u00fcgen"):_tx("Zu-\/Absagen"));new Dialog().setTitle(title).setBody(body).setButtons([{name:'rsvp',label:label,handler:rsvp_handler},Dialog.CANCEL]).show();}
function calendar_fuzzy_time_change(){if(this.value=='more'){goURI('/calendar/?specific_time');}}
function feedback_async_handler(story_id,asyncResponse){var payload=asyncResponse.getPayload();if(payload.html){var story_el=ge(story_id);if(story_el){var wrapper_id=story_id+'__wrapper';var wrapper_el=ge(wrapper_id);if(!wrapper_el){wrapper_el=document.createElement('div');wrapper_el.id=wrapper_id;story_el.parentNode.insertBefore(wrapper_el,story_el);}
wrapper_el.innerHTML=payload.html;}}}
function feedback_add_friend_to_pri_bucket(pri,friend_id,story_id,link_data_str){new AsyncRequest().setURI('/ajax/feedprefs_ajax.php').setData({'cls':pri,'id':friend_id,'shift':1,'home':1,'lds':link_data_str}).setMethod('POST').setHandler(feedback_async_handler.bind(null,story_id)).send();}
function feedback_modify_event_weight(event_type,up_down,story_id,link_data_str){new AsyncRequest().setURI('/ajax/feedprefs_ajax.php').setData({'et':event_type,'updown':up_down,'home':1,'lds':link_data_str}).setMethod('POST').setHandler(feedback_async_handler.bind(null,story_id)).send();}

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