(function(c){c.widget("ui.mlayout",{_init:function(){this._items=null;this.element.data("muiResize",c.delegate(this,"resize")).addClass("mui-component mui-layout").css("position","relative");this.element.find(this.options.selector).css({position:"absolute",overflow:"hidden"});this.options.resizeOnInit&&this.resize({width:this.element.width(),width:this.element.height()})},items:function(){return this._items},sizeof:function(b){var a=null;if(typeof(b=="number")){if(b>=0&&b<this._items.length)a=this._items[b]}else c.each(this._items,
function(f,j){if(j.elmt.is(b)){a=j;return false}});if(a)return{width:a.width,height:a.height};return null},resize:function(b){var a=this.element.css({width:b.width+"px",height:b.height+"px"}).find(this.options.selector);if(this.options.columns){a.css("top",0).height(b.height);var f="width",j="left",d=this.options.columns.concat(),m={height:b.height}}else{a.css("left",0).width(b.width);f="height";j="top";d=this.options.rows.concat();m={width:b.width}}for(;d.length<a.length;)d.push("auto");d=this._items=
c.map(d,function(p,r){return c.extend({elmt:a.eq(r),hint:p,overridden:false,size:p,minSize:-1},m)});for(var i=this.options.space,n=b[f],g=n-(d.length-1)*i,o=[],k=[],l=0,h=0;h<d.length;h++){var e=d[h];if("number"==typeof e.size){l+=e.size;o.push(e)}else{e.size=e.hint+="";var q=/^(\d+)%$/.exec(e.size);if(q){e.size=Math.floor(g*parseInt(q[1])/100);l+=e.size;o.push(e)}else k.push(e)}}g-=l;if(g<0){do{if(i>0){i=(d.length-1)*i;if(i>-g){i=Math.floor((i+g)/(d.length-1));g=n-(d.length-1)*i-l;break}else{i=0;
g=n-l}}for(e=o.concat();g<0;){l=0;g=Math.ceil(-g/e.length);for(h=0;h<e.length;h++)if(e[h].size<g){e[h].size=0;e.splice(h,1)}else{e[h].size-=g;l+=e[h].size}g=n-l}if(g<0)g=0}while(0)}n=0;o=1/k.length;for(h=0;h<k.length;h++){k[h].size=Math.floor(g*o*(h+1))-n;n+=k[h].size}for(h=k=0;h<d.length;h++){e=d[h];g=0;if(this.options.pad&&this.options.pad[h])g=this.options.pad[h];e[f]=e.size-g;e[j]=k;e.elmt.css(f,e.size-g+"px").css(j,k+"px");k+=e.size+i;g=c.extend({},m);g[f]=e.size;e.elmt.muiResize(g)}this.options.onResize(b)}});
c.ui.mlayout.getter="items sizeof";c.ui.mlayout.defaults={minWidth:-1,minHeight:-1,selector:"> *",columns:null,rows:null,space:0,resizeOnInit:false,onResize:function(){}}})(jQuery);var channel_path="/facebook/xd_receiver.htm",fb_session_data={};function connectFacebook(c,b,a){if("undefined"==typeof a)a=["email","publish_stream"];if("undefined"==typeof c)c=facebookComplete;c=new FBHelper(c,b);c.setPermissions(a);c.setRequiredPermissions(a);c.connect()}
(function(c){FBHelper=function(a,f){this._okcb=a;this._cancelcb=f;this._askperms=[];this._reqperms=[];this._perms=[];this._fbJason={}};var b=FBHelper.prototype;b.setRequiredPermissions=function(a){var f=this;c.each(a,function(j,d){-1==c.inArray(d,f._askperms)&&f._askperms.push(d);f._reqperms.push(d)})};b.setPermissions=function(a){this._askperms=a};b.showLoading=function(){c("#fbloadingmsg").show()};b.hideLoading=function(){c("#fbloadingmsg").hide()};b.show=function(){if(!this._layer)this._layer=
c('<div id="fboverlay" class="ui-widget-overlay"><div id="fbloadingmsg"><div id="fbloading">Contacting Facebook <img src="http://frontend.shwup.com/images/loading_16-1.1.gif"/></div><div id="FB_HiddenContainer" style="display:none; position:absolute; left:-100px; top:-100px; width:0px; height: 0px;"></div></div></div>').css({"z-index":100,top:0,left:0,width:0,height:0,position:"absolute"}).appendTo(document.body);screenSize=_swGetWindowSize();this._layer.css({width:screenSize.width+"px",height:screenSize.height+
"px"})};b.hide=function(){if(this._layer){this._layer.remove();delete this._layer}};b.complete=function(){this.hide();this._okcb&&this._okcb(this._fbJason.data,this._fbJason.authtoken,this._fbJason.firstTimeUser)};b.cancel=function(){this.hide();this._cancelcb&&this._cancelcb()};b.prompt=function(){alert("Sorry please try again(you have to allow permissions to use shwup)");this.hide();this._cancelcb&&this._cancelcb()};b.update=function(){var a=this;c.ajax({url:"/facebook/return",async:true,data:{fb_user_id:fb_session_data.uid,
fb_session_key:fb_session_data.session_key,fb_secret:fb_session_data.secret,fb_sig:fb_session_data.sig},complete:function(f,j,d){if(d.stat&&"ok"==d.stat){a._fbJason=d;a.complete()}else a.cancel()}})};b.handleGranted=function(){this.confirmPermToProceed()};b.confirmPermToProceed=function(){var a=this,f=new FB.BatchSequencer,j=[];c.each(this._askperms,function(m,i){j[m]={val:i,req:FB.Facebook.apiClient.users_hasAppPermission(i,f)}});var d=[];this.resetPermissions();this.showLoading();f.execute(function(){a.hideLoading();
c.each(j,function(){0==this.req.result?d.push(this.val):a.addPermission(this.val)});if(d.length){alert("You have to allow these permissions to use shwup");a.cancel();return false}else{a.update();return true}})};b.havePermission=function(a){for(var f in this._perms)if(this._perms[f]==a)return true;return false};b.resetPermissions=function(){this._perms=[]};b.addPermission=function(a){this._perms.push(a)};b.checkPermissions=function(){var a=this;if(fb_session_data.uid){var f=new FB.BatchSequencer,j=
[];c.each(this._askperms,function(m,i){j[m]={val:i,req:FB.Facebook.apiClient.users_hasAppPermission(i,f)}});var d=[];this.resetPermissions();this.showLoading();f.execute(function(){a.hideLoading();c.each(j,function(){0==this.req.result?d.push(this.val):a.addPermission(this.val)});d.length?FB.Connect.showPermissionDialog(d.join(","),c.delegate(a,"handleGranted")):a.update()})}else{alert("Unexpected error");this.hide();this._cancelfb&&this._cancelfb()}};b.setup=function(){var a=this;FB.init(api_key,
channel_path,{permsToRequestOnConnect:this._reqperms.join(",")});FB.ensureInit(function(){a.hideLoading();FB.Connect.requireSession(function(){FB.Facebook.get_sessionState().waitUntilReady(function(f){fb_session_data=f;a.checkPermissions()})},c.delegate(a,"prompt"))})};b.connect=function(){this.show();"undefined"===typeof FB?setTimeout(c.delegate(this,"setup"),0):this.setup()}})(jQuery);
