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(); }