Scroller.implement({ scroll: function(){ var size = this.element.getSize(), scroll = this.element.getScroll(), pos = this.element.getOffsets(), scrollSize = this.element.getScrollSize(), change = {'x': 0, 'y': 0}; for (var z in this.page){ if (this.page[z] < (this.options.area + pos[z]) && scroll[z] != 0) change[z] = (this.page[z] - this.options.area - pos[z]) * this.options.velocity; else if (this.page[z] + this.options.area > (size[z] + pos[z]) && scroll[z] + size[z] != scrollSize[z]) change[z] = (this.page[z] - size[z] + this.options.area - pos[z]) * this.options.velocity; } if (change.y || change.x) this.fireEvent('change', [scroll.x + change.x, scroll.y + change.y]); } }); var SmSite = new Class({ Implements:[Options,Events], options:{ }, initialize:function(){ new SmFacebook(); new Autocompleter.Request.JSON('search-value', '/request/autocomplete/', { 'postVar': 'key', 'indicatorClass':'loading' }); if ( SmSearch ) new SmSearch(); if ( $$('.slickrwidget').length > 0 && SqueezeBox != undefined) SqueezeBox.assign($$('#slickrwidget a')); if ( $('tags-more-btn') ){ var tags_on = {'opacity':[0,1],'display':'inline'}; var tags_off = {'opacity':[1,0],'display':'none'}; $('tags-more').setStyles({'opacity':0}); $('tags-more-btn').addEvent('click',function(){ var display = ($('tags-more').getStyle('opacity') < 1)?tags_on:tags_off; new Fx.Morph('tags-more',{duration:1000}).start(display); if(display==tags_on) $('tags-more-btn').set({'html':'--Less'}); else $('tags-more-btn').set({'html':'--More'}); }); } if( $('twitters') ) { var duration = ($$('#twitters img').length * 3000); var myScroll = new Fx.Scroll('twitters',{duration: duration,link:'cancel',wait: false}); var scrollit = function(){ myScroll.toBottom().chain(function(){ new Fx.Scroll('twitters',{duration: 500,link:'cancel'}).toTop(); }); }; scrollit(); var periodical = scrollit.periodical(duration+500,myScroll); $('twitters').addEvent('mouseover',function(){ this.pause(); }.bind(myScroll)); $('twitters').addEvent('mouseleave',function(){ this.resume.delay(1000,this); }.bind(myScroll)); } if( $$('.homepage .recent-leads').length > 0 ){ var duration2 = ($$('.main-post-bg').length * 3000); var myScroll2 = new Fx.Scroll($$('.recent-leads')[0],{duration: duration2,link:'cancel',wait: false}); var scrollit2 = function(){ myScroll2.toBottom().chain(function(){ new Fx.Scroll($$('.recent-leads')[0],{duration: 500,link:'cancel'}).toTop(); }); }; scrollit2(); var periodical2 = scrollit2.periodical(duration2+500,myScroll2); $$('.homepage .recent-leads')[0].addEvent('mouseover',function(){ this.pause(); }.bind(myScroll2)); $$('.homepage .recent-leads')[0].addEvent('mouseleave',function(){ this.resume.delay(1000,this); }.bind(myScroll2)); } $$('#account .login').setStyles({'display':'block','opacity':0}); $$('#account a.account-login').addEvent('click',function(e){ new Event(e).stop(); var opacity = ($$('#account .login')[0].getStyle('opacity') <1)?1:0; if(this.fx) this.fx.cancel(); this.fx = new Fx.Morph($$('#account .login')[0],{duration: 500}); this.fx.start({'opacity': opacity}); }); } }); var SmFacebook= new Class({ Extends: SmSite, Implements:[Options,Events], options:{ facebook:{ key: (window.document.location.href.indexOf('dev.') > -1)?"baf93fda8148346a459e60a826adaa30":"9af7f39c1b98e8a03e425e853fd9a026", required: ["Api","Connect"], user_details:['first_name','last_name','name','birthday','political','sex','pic_small','pic_big','pic', 'current_location','hometown_location','profile_update_time','timezone'] } }, initialize:function(){ FB_RequireFeatures(["Api","Connect","XFBML","CanvasUtil"],function(){ FB.init(this.options.facebook.key, "http://scenemap.net/connect/channel/xd_receiver.htm",{ "ifUserConnected": this.userConnected.bind(this) }); FB.Facebook.init(this.options.facebook.key, "http://scenemap.net/connect/channel/xd_receiver.htm"); //no facebook connection - give login button if(FB.Facebook.apiClient.get_session() == null){ $$('.account-actions')[0].grab(new Element("a",{ "title": "Use this to login via Facbook if you have already created an account!", "alt": "Use this to login via Facbook if you have already created an account!", "styles": { "position": "relative", "top": "3px" }, "html": "" }),'top'); $$('.account-actions')[0].setStyle('display','block'); FB.XFBML.Host.parseDomTree(); return; } if($('notifications') && $('featured-items')){ $('notifications').set({'html':'Contacting Facebook now to load your upcoming events...'}).addClass('attention'); FB.Facebook.apiClient.events_get( FB.Facebook.apiClient.uid,'','1268495609', '1276271609', '', this.getEvents.bind(this) ); } }.bind(this)); }, userConnected:function(id){ if(id){ FB.Facebook.apiClient.users_getInfo(id,this.options.facebook.user_details,function(results,exception){ new Request({ url: '/request/setprofile', onSuccess:function(e){ if(e.toInt() > 0) document.location = '/site/forum/'; } }).send( "fid="+id +"&birthday="+results[0].birthday +"&city="+results[0].current_location.city +"&state="+results[0].current_location.state +"&country="+results[0].current_location.country +"&zip="+results[0].current_location.zip +"&fname="+results[0].first_name +"&lname="+results[0].last_name +"&pic="+results[0].pic +"&pic_big="+results[0].pic_big +"&pic_small="+results[0].pic_small +"&sex="+results[0].sex ); }); if($$('.logout')){ $$('.logout').addEvent('click',function(e){ new Event(e).stop(); FB.Connect.logoutAndRedirect('/logout'); }.bind(this)); } ['read_steam','publish_stream','email'].each(function(ext){ FB.Facebook.apiClient.users_hasAppPermission(ext, function(result){ if(result == false) this.getExtendedPermissions(ext); }.bind(this) ); }.bind(this)); $('account').setStyles({'width':'100px'}); if($('account').getElement('.login')) $('account').getElement('.login').dispose(); $('account').getElement('.account-actions').set({'html':''}); $('account').getElement('.account-actions').setStyles({'width':'100px','display':'block','margin-right':'0px','text-align':'center'}); $('account').getElement('.account-actions').adopt( new Element('a',{ 'styles':{'text-align':'center','width':'100px','display':'block'}, 'href':'/logout','html':'LOGOUT'}).addEvent('click',function(e){ new Event(e).stop(); FB.Connect.logoutAndRedirect('/logout') },this), new Element('a',{ 'styles':{'text-align':'center','width':'100px','display':'block'}, 'href':'/site/forum/?profile=user','html':'PROFILE'}) ); $('account').grab(new Element("div",{ "html": "" +"
" }),'top'); FB.XFBML.Host.parseDomTree(); } }, getExtendedPermissions:function(ext){ FB.Connect.showPermissionDialog(ext); }, getEvents:function(evts){ $('notifications').set({'html':'','class':''}); if(evts.length == undefined){ return; } new Element('div',{ 'id':'facebook-events-left', 'events':{ 'mouseover':function(){ this.setStyle('background-image','url(/images/facebook-events-left-bg.jpg)'); }, 'mouseout':function(){ this.setStyle('background-image','url()'); } } }).injectAfter('geo-events'); new Element('div',{ 'id':'facebook-events-left-scroller' }).inject('facebook-events-left'); new Element('h2',{ 'html':'Your Facebook Events' }).injectBefore('facebook-events-left-scroller'); $('featured-items').setStyles({'width':$('container').getCoordinates().width,'height':'245px','overflow':'hidden','margin-bottom':'25px'});; evts.each(function(evt,i){ if(evt.pic == "") return; var container = new Element('div',{ 'class':'facebook-event-container', 'events':{ 'mouseover':function(){ this.addClass('hover') }, 'mouseout':function(){ this.removeClass('hover') } } }).inject('facebook-events-left-scroller'); new Element('img',{ 'src': evt.pic }).inject(container) var h4 = new Element('h4',{ 'html': evt.name+'
' }).inject(container) var mtop = (container.getCoordinates().height-(h4.getCoordinates().height*2))+'px'; var mtop = '25px'; new Element('div',{ 'class': 'map-event', 'html': 'Map Event', 'styles':{ 'position':'relative','bottom': mtop}, 'events':{ 'click':function(){ this.showEvent(evt,container) }.bind(this) } }).inject(container) new Element('div',{ 'class': 'show-friends', 'html': "Who's going?", 'styles':{ 'position':'relative','bottom': mtop} }).inject(container) }.bind(this)); new Scroller('facebook-events-left-scroller',{area:100 }).start(); }, showEvent:function(evt,clicked){ if(!$('facebook-events-right')){ new Fx.Morph('geo-events',{ duration: 450, onComplete:function(){ $$('#geo-events h2')[0].set({'display':'none'}); new Fx.Morph('geo-events',{ duration: 450, onComplete:function(){ $('facebook-events-left').setStyle('clear','both'); new Fx.Morph('facebook-events-right',{ duration: 450 }).start({'opacity':[0,1]}); new Fx.Morph('geo-events',{ duration: 450 }).start({'width':[0,$('container').getCoordinates().width]}); } }).start({'width':[$('geo-events').getCoordinates().width,0]}); } }).start({'height':'145px','margin-bottom':'20px'}); new Element('div',{ 'id':'facebook-events-right', 'styles':{'opacity':0} }).injectAfter('facebook-events-left'); } $('facebook-events-right').set({'html':''}); var container = new Element('div',{ 'id':'facebook-events-right-header' }).inject('facebook-events-right'); /* var img = new Element('img',{ 'src':evt.pic_big }).inject(container); */ var title = new Element('h2',{ 'html': evt.name }).inject(container) var description = new Element('div',{ 'class':'facebook-events-right-description', 'html': evt.description, 'styles':{'height':'254px','overflow-x':'hidden','overflow-y':'auto'} }).inject(container); var stats = new Element('div',{ 'class':'stats', 'html':'Loading Event Stats...
' }).injectTop(description); //new Fx.Scroll(window,{}).toElement('geo-events'); var callback = function(result,exception){ stats.set({'html':'

Event Stats:


' +'Going: '+(result.attending.length || 0)+' | ' +'Not Going: '+(result.declined.length || 0)+' | ' +'Unsure: '+(result.unsure.length || 0)+' |' +'No Reply: '+(result.not_replied.length || 0)+'

' }); /* var batch = new FB.BatchSequencer(); var members = []; for(var i=0; i<20; i++){ members[i]=FB.Facebook.apiClient.users_getInfo(result.attending[i], this.options.facebook.user_details,batch); } batch.execute(function(){ console.log(members[0]); }); */ }.bind(this); FB.Facebook.apiClient.events_getMembers(evt.eid,callback); new Element('div',{ 'id':'map' }).inject(container); function showAddress(address,html) { var geocoder = new GClientGeocoder(); geocoder.getLatLng( address, function(point) { if (!point) { alert(address + " not found"); } else { map.setCenter(point, 13); var marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindowHtml(html); } } ); } if (GBrowserIsCompatible()) { var map = new GMap2($("map")); map.setCenter(new GLatLng(47.754098,-98.613281), 3); map.setUIToDefault(); var startdate = new Date(evt.start_time*1000); showAddress(evt.venue.street+' '+evt.venue.city+' '+evt.venue.state+' '+evt.venue.country, '
' +''+startdate.getDate()+'-'+startdate.getMonth()+'-'+startdate.getFullYear()+'
'+evt.venue.street+'
' +evt.venue.city+' '+evt.venue.state+' '+evt.venue.country+'
'); } } }); window.onload = function() { new SmSite(); }