Zoosk.facebook=(function(){function initialize(args){switch(Zoosk.Platform.platformName){case'www':Zoosk.facebook.Auth.initialize(args);break;case'facebook':FB.init(args.apiKey,args.xdFile);if(Zoosk.facebook.Iframe.isIframe()){Zoosk.facebook.Iframe.initialize()}break;default:FB.init(args.apiKey,args.xdFile);break}switch(Zoosk.Platform.providerName){case'facebook':Zoosk.facebook.Stream.initialize();break;default:break}Zoosk.facebook.Element.initialize()}return{initialize:initialize}})();Zoosk.facebook.Element=(function(){function initialize(){$$('.fbml_profilepic').each(profilePic);$$('.fbml_server').each(serverFbml);$$('.fbml_fandiv').each(fanDiv);var bookmarks=$$('.fbml_bookmarkbtn');if(bookmarks.length>0){bookmarks.each(bookmarkBtn)}}function profilePic(element){if(!element)return;FB.ensureInit(function(){FB.XFBML.Host.addElement(new FB.XFBML.ProfilePic(element))})}function serverFbml(element){if(!element)return;element=$(element);FB.ensureInit(function(){FB.XFBML.Host.addElement(new FB.XFBML.ServerFbml(element))})}function bookmarkBtn(element){if(!element)return;FB.ensureInit(function(){Zoosk.facebook.Element.BookmarkButton.initialize(element)})}function fanDiv(element){if(!element)return;FB.ensureInit(function(){FB.XFBML.Host.addElement(new FB.XFBML.Fan(element))})}return{initialize:initialize,profilePic:profilePic,serverFbml:serverFbml,bookmarkBtn:bookmarkBtn,fanDiv:fanDiv}})();Zoosk.facebook.Element.BookmarkButton=(function(){function initialize(element){element.viralUrl=element.readAttribute('viral_url');element.observe('click',onClick)}function reqPermission(_callback){FB.ensureInit(function(){FB.Connect.showBookmarkDialog(_callback)})}function onClick(e){if(e)e.stop();Popover.hide();reqPermission(onCallback.bind(e.findElement('a')))}function onCallback(){if(!this.viralUrl)return;new Zoosk.Request(this.viralUrl,{method:'post',onSuccess:Prototype.emptyFunction,onFailure:Prototype.emptyFunction})}return{initialize:initialize,onCallback:onCallback}})();Zoosk.facebook.Auth=(function(){var loginHref=null;var logoutHref=null;function initialize(args){if(args.isLoggedIn){FB.init(args.apiKey,args.xdFile,{"ifUserNotConnected":onLogout})}else{FB.init(args.apiKey,args.xdFile)}$$('.fbconnect_login_button').each(function(loginBtn){loginHref=loginBtn.readAttribute('hrefonlogin');loginBtn.observe('click',onClickLogin)});var logoutBtn=$('logout_btn');if(logoutBtn){logoutHref=logoutBtn.readAttribute('href');logoutBtn.observe('click',onClickLogout)}}function onClickLogin(e){if(e){e.stop()}getConnectStatus(function(status){if(status==FB.ConnectState.connected){onLogin()}else{FB.Connect.requireSession(function(){FB.Connect.showPermissionDialog('email',onLogin)})}})}function onClickLogout(e){if(e){e.stop()}onLogout()}function onLogin(){if(!loginHref){window.location=window.location;return}window.location=loginHref}function onLogout(){getConnectStatus(function(status){if(status==FB.ConnectState.connected){FB.Connect.logoutAndRedirect(logoutHref)}else{if(!logoutHref){window.location=window.location;return}window.location=logoutHref}})}function getConnectStatus(callback){FB.ensureInit(function(){FB.Connect.get_status().waitUntilReady(callback)})}return{initialize:initialize,getConnectStatus:getConnectStatus}})();Zoosk.facebook.Iframe=(function(){var oldHeight=null;var body=null;function initialize(){body=$(document.body);FB.ensureInit(function(){window.setInterval(check,200)})}function check(){var height=body.getHeight();if(oldHeight&&Math.abs(oldHeight-height)<50){return}resize(height+10)}function resize(height){if(height){oldHeight=height}else{height=body.getHeight()+10}FB.CanvasClient.setCanvasHeight(height+'px')}function isIframe(){return window.top!=window}return{initialize:initialize,isIframe:isIframe,resize:resize}})();Zoosk.facebook.Stream=(function(){var isReady=false;var oldTitle='';function initialize(){FB.ensureInit(function(){isReady=true})}function reqPermission(_callback){FB.ensureInit(function(){FB.Connect.showPermissionDialog('publish_stream',_callback)})}function setTitle(args,title,_append){if(!args[1]||!args[1]['name']){return}if(_append===true){if(oldTitle===''){oldTitle=args[1]['name']}args[1]['name']=oldTitle+"\n\n"+title}else{args[1]['name']=title}}function attachImg(args,imgSrc,_imgHref){if(!_imgHref){_imgHref=null;if(args[2]&&args[2]['href']){_imgHref=args[2]['href']}}if(!args[1]){args[1]=[]}else if(args[1].length>=5){return}args[1].push({type:'image',src:imgSrc,href:_imgHref})}function register(cssSelectors,args,_callback){var delegates={};var wrapper=function(e){if(e)e.stop();pop(args,null,_callback)};for(var i=0,l=cssSelectors.length;i<l;++i){delegates[cssSelectors[i]]=wrapper}document.observe('click',new Event.delegate(delegates))}function pop(args,_targetId,_callback){if(!isReady){FB.ensureInit(pop.bind(this,args,_targetId,_callback));return}if(_targetId){args[3]=_targetId}if(_callback){args[5]=_callback}if(Object.isString(args[5])){var url=args[5];args[5]=function(){window.top.location=url}}else if(!Object.isFunction(args[5])){args[5]=null}if(Zoosk.facebook.Iframe.isIframe()){Utilities.Focup()}FB.Connect.streamPublish.apply(null,args)}return{initialize:initialize,reqPermission:reqPermission,setTitle:setTitle,attachImg:attachImg,register:register,pop:pop}})();Zoosk.facebook.StreamDispatch=Class.create((function(){function initialize(element){this.form=$(element);this.formElements=[];this.formArgs=[];this.formOrigVals=[]}function addFormElement(element,args){element=$(element);if(!element){return}this.formElements.push(element);this.formArgs.push(args);this.formOrigVals.push($F(element))}function onSubmit(e){if(e&&!e.stopped){e.stop();combineElements.call(this)}}function combineElements(){var sendArgs=null;for(var i=0,l=this.formArgs.length;i<l;++i){var args=this.formArgs[i];var element=this.formElements[i];var origVal=this.formOrigVals[i];if(!Object.isString(args[0])){args[0]=''}var value=$F(element);if(!value||value===''||value===origVal){continue}args[0]=args[0]+": "+value;if(sendArgs){sendArgs[0]=sendArgs[0]+"\n\n"+args[0];sendArgs[1]=combineAttachmentArrays(sendArgs[1],args[1])}else{sendArgs=args}}if(sendArgs){var that=this;Zoosk.facebook.Stream.pop(sendArgs,null,function(){that.form.submit()})}else{this.form.submit()}}function combineAttachmentArrays(existingArray,newArray){if(!existingArray&&!newArray)return null;if(!existingArray)return newArray;if(!newArray)return existingArray;existingArray.media=existingArray.media.concat(newArray.media);return existingArray}return{initialize:initialize,addFormElement:addFormElement,onSubmit:onSubmit}})());
