google.load("mootools",'1.2.4');google.setOnLoadCallback(function(){var Log=new Class({log:function(){Log.logger.call(this,arguments);}});Log.logged=[];Log.logger=function(){if(window.console&&console.log)console.log.apply(console,arguments);else Log.logged.push(arguments);};Class.refactor=function(original,refactors){$each(refactors,function(item,name){var origin=original.prototype[name];if(origin&&(origin=origin._origin)&&typeof item=='function')original.implement(name,function(){var old=this.previous;this.previous=origin;var value=item.apply(this,arguments);this.previous=old;return value;});else original.implement(name,item);});return original;};(function(){var data={language:'en-US',languages:{'en-US':{}},cascades:['en-US']};var cascaded;MooTools.lang=new Events();$extend(MooTools.lang,{setLanguage:function(lang){if(!data.languages[lang])return this;data.language=lang;this.load();this.fireEvent('langChange',lang);return this;},load:function(){var langs=this.cascade(this.getCurrentLanguage());cascaded={};$each(langs,function(set,setName){cascaded[setName]=this.lambda(set);},this);},getCurrentLanguage:function(){return data.language;},addLanguage:function(lang){data.languages[lang]=data.languages[lang]||{};return this;},cascade:function(lang){var cascades=(data.languages[lang]||{}).cascades||[];cascades.combine(data.cascades);cascades.erase(lang).push(lang);var langs=cascades.map(function(lng){return data.languages[lng];},this);return $merge.apply(this,langs);},lambda:function(set){(set||{}).get=function(key,args){return $lambda(set[key]).apply(this,$splat(args));};return set;},get:function(set,key,args){if(cascaded&&cascaded[set])return(key?cascaded[set].get(key,args):cascaded[set]);},set:function(lang,set,members){this.addLanguage(lang);langData=data.languages[lang];if(!langData[set])langData[set]={};$extend(langData[set],members);if(lang==this.getCurrentLanguage()){this.load();this.fireEvent('langChange',lang);}
return this;},list:function(){return Hash.getKeys(data.languages);}});})();(function(){if(!Date.now)Date.now=$time;Date.Methods={};['Date','Day','FullYear','Hours','Milliseconds','Minutes','Month','Seconds','Time','TimezoneOffset','Week','Timezone','GMTOffset','DayOfYear','LastMonth','LastDayOfMonth','UTCDate','UTCDay','UTCFullYear','AMPM','Ordinal','UTCHours','UTCMilliseconds','UTCMinutes','UTCMonth','UTCSeconds'].each(function(method){Date.Methods[method.toLowerCase()]=method;});$each({ms:'Milliseconds',year:'FullYear',min:'Minutes',mo:'Month',sec:'Seconds',hr:'Hours'},function(value,key){Date.Methods[key]=value;});var zeroize=function(what,length){return new Array(length-what.toString().length+1).join('0')+what;};Date.implement({set:function(prop,value){switch($type(prop)){case'object':for(var p in prop)this.set(p,prop[p]);break;case'string':prop=prop.toLowerCase();var m=Date.Methods;if(m[prop])this['set'+m[prop]](value);}
return this;},get:function(prop){prop=prop.toLowerCase();var m=Date.Methods;if(m[prop])return this['get'+m[prop]]();return null;},clone:function(){return new Date(this.get('time'));},increment:function(interval,times){interval=interval||'day';times=$pick(times,1);switch(interval){case'year':return this.increment('month',times*12);case'month':var d=this.get('date');this.set('date',1).set('mo',this.get('mo')+times);return this.set('date',d.min(this.get('lastdayofmonth')));case'week':return this.increment('day',times*7);case'day':return this.set('date',this.get('date')+times);}
if(!Date.units[interval])throw new Error(interval+' is not a supported interval');return this.set('time',this.get('time')+times*Date.units[interval]());},decrement:function(interval,times){return this.increment(interval,-1*$pick(times,1));},isLeapYear:function(){return Date.isLeapYear(this.get('year'));},clearTime:function(){return this.set({hr:0,min:0,sec:0,ms:0});},diff:function(d,resolution){resolution=resolution||'day';if($type(d)=='string')d=Date.parse(d);switch(resolution){case'year':return d.get('year')-this.get('year');case'month':var months=(d.get('year')-this.get('year'))*12;return months+d.get('mo')-this.get('mo');default:var diff=d.get('time')-this.get('time');if(Date.units[resolution]()>diff.abs())return 0;return((d.get('time')-this.get('time'))/Date.units[resolution]()).round();}
return null;},getLastDayOfMonth:function(){return Date.daysInMonth(this.get('mo'),this.get('year'));},getDayOfYear:function(){return(Date.UTC(this.get('year'),this.get('mo'),this.get('date')+1)
-Date.UTC(this.get('year'),0,1))/Date.units.day();},getWeek:function(){return(this.get('dayofyear')/7).ceil();},getOrdinal:function(day){return Date.getMsg('ordinal',day||this.get('date'));},getTimezone:function(){return this.toString().replace(/^.*? ([A-Z]{3}).[0-9]{4}.*$/,'$1').replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,'$1$2$3');},getGMTOffset:function(){var off=this.get('timezoneOffset');return((off>0)?'-':'+')+zeroize((off.abs()/60).floor(),2)+zeroize(off%60,2);},setAMPM:function(ampm){ampm=ampm.toUpperCase();var hr=this.get('hr');if(hr>11&&ampm=='AM')return this.decrement('hour',12);else if(hr<12&&ampm=='PM')return this.increment('hour',12);return this;},getAMPM:function(){return(this.get('hr')<12)?'AM':'PM';},parse:function(str){this.set('time',Date.parse(str));return this;},isValid:function(date){return!!(date||this).valueOf();},format:function(f){if(!this.isValid())return'invalid date';f=f||'%x %X';f=formats[f.toLowerCase()]||f;var d=this;return f.replace(/%([a-z%])/gi,function($1,$2){switch($2){case'a':return Date.getMsg('days')[d.get('day')].substr(0,3);case'A':return Date.getMsg('days')[d.get('day')];case'b':return Date.getMsg('months')[d.get('month')].substr(0,3);case'B':return Date.getMsg('months')[d.get('month')];case'c':return d.toString();case'd':return zeroize(d.get('date'),2);case'H':return zeroize(d.get('hr'),2);case'I':return((d.get('hr')%12)||12);case'j':return zeroize(d.get('dayofyear'),3);case'm':return zeroize((d.get('mo')+1),2);case'M':return zeroize(d.get('min'),2);case'o':return d.get('ordinal');case'p':return Date.getMsg(d.get('ampm'));case'S':return zeroize(d.get('seconds'),2);case'U':return zeroize(d.get('week'),2);case'w':return d.get('day');case'x':return d.format(Date.getMsg('shortDate'));case'X':return d.format(Date.getMsg('shortTime'));case'y':return d.get('year').toString().substr(2);case'Y':return d.get('year');case'T':return d.get('GMTOffset');case'Z':return d.get('Timezone');}
return $2;});},toISOString:function(){return this.format('iso8601');}});Date.alias('diff','compare');Date.alias('format','strftime');var formats={db:'%Y-%m-%d %H:%M:%S',compact:'%Y%m%dT%H%M%S',iso8601:'%Y-%m-%dT%H:%M:%S%T',rfc822:'%a, %d %b %Y %H:%M:%S %Z','short':'%d %b %H:%M','long':'%B %d, %Y %H:%M'};var nativeParse=Date.parse;var parseWord=function(type,word,num){var ret=-1;var translated=Date.getMsg(type+'s');switch($type(word)){case'object':ret=translated[word.get(type)];break;case'number':ret=translated[month-1];if(!ret)throw new Error('Invalid '+type+' index: '+index);break;case'string':var match=translated.filter(function(name){return this.test(name);},new RegExp('^'+word,'i'));if(!match.length)throw new Error('Invalid '+type+' string');if(match.length>1)throw new Error('Ambiguous '+type);ret=match[0];}
return(num)?translated.indexOf(ret):ret;};Date.extend({getMsg:function(key,args){return MooTools.lang.get('Date',key,args);},units:{ms:$lambda(1),second:$lambda(1000),minute:$lambda(60000),hour:$lambda(3600000),day:$lambda(86400000),week:$lambda(608400000),month:function(month,year){var d=new Date;return Date.daysInMonth($pick(month,d.get('mo')),$pick(year,d.get('year')))*86400000;},year:function(year){year=year||new Date().get('year');return Date.isLeapYear(year)?31622400000:31536000000;}},daysInMonth:function(month,year){return[31,Date.isLeapYear(year)?29:28,31,30,31,30,31,31,30,31,30,31][month];},isLeapYear:function(year){return new Date(year,1,29).get('date')==29;},parse:function(from){var t=$type(from);if(t=='number')return new Date(from);if(t!='string')return from;from=from.clean();if(!from.length)return null;var parsed;Date.parsePatterns.some(function(pattern){var r=pattern.re.exec(from);return(r)?(parsed=pattern.handler(r)):false;});return parsed||new Date(nativeParse(from));},parseDay:function(day,num){return parseWord('day',day,num);},parseMonth:function(month,num){return parseWord('month',month,num);},parseUTC:function(value){var localDate=new Date(value);var utcSeconds=Date.UTC(localDate.get('year'),localDate.get('mo'),localDate.get('date'),localDate.get('hr'),localDate.get('min'),localDate.get('sec'));return new Date(utcSeconds);},orderIndex:function(unit){return Date.getMsg('dateOrder').indexOf(unit)+1;},defineFormat:function(name,format){formats[name]=format;},defineFormats:function(formats){for(var name in formats)Date.defineFormat(name,formats[f]);},parsePatterns:[],defineParser:function(pattern){Date.parsePatterns.push(pattern.re&&pattern.handler?pattern:build(pattern));},defineParsers:function(){Array.flatten(arguments).each(Date.defineParser);},define2DigitYearStart:function(year){yr_start=year%100;yr_base=year-yr_start;}});var yr_base=1900;var yr_start=70;var replacers=function(key){switch(key){case'x':return(Date.orderIndex('month')==1)?'%m[.-/]%d([.-/]%y)?':'%d[.-/]%m([.-/]%y)?';case'X':return'%H([.:]%M)?([.:]%S([.:]%s)?)?\\s?%p?\\s?%T?';case'o':return'[^\\d\\s]*';}
return null;};var keys={a:/[a-z]{3,}/,d:/[0-2]?[0-9]|3[01]/,H:/[01]?[0-9]|2[0-3]/,I:/0?[1-9]|1[0-2]/,M:/[0-5]?\d/,s:/\d+/,p:/[ap]\.?m\.?/,y:/\d{2}|\d{4}/,Y:/\d{4}/,T:/Z|[+-]\d{2}(?::?\d{2})?/};keys.B=keys.b=keys.A=keys.a;keys.m=keys.I;keys.S=keys.M;var lang;var build=function(format){if(!lang)return{format:format};var parsed=[null];var re=(format.source||format).replace(/%([a-z])/gi,function($1,$2){return replacers($2)||$1;}).replace(/\((?!\?)/g,'(?:').replace(/ (?!\?|\*)/g,',? ').replace(/%([a-z%])/gi,function($1,$2){var p=keys[$2];if(!p)return $2;parsed.push($2);return'('+p.source+')';});return{format:format,re:new RegExp('^'+re+'$','i'),handler:function(bits){var date=new Date().clearTime();for(var i=1;i<parsed.length;i++)
date=handle.call(date,parsed[i],bits[i]);return date;}};};var handle=function(key,value){if(!value){if(key=='m'||key=='d')value=1;else return this;}
switch(key){case'a':case'A':return this.set('day',Date.parseDay(value,true));case'b':case'B':return this.set('mo',Date.parseMonth(value,true));case'd':return this.set('date',value);case'H':case'I':return this.set('hr',value);case'm':return this.set('mo',value-1);case'M':return this.set('min',value);case'p':return this.set('ampm',value.replace(/\./g,''));case'S':return this.set('sec',value);case's':return this.set('ms',('0.'+value)*1000);case'w':return this.set('day',value);case'Y':return this.set('year',value);case'y':value=+value;if(value<100)value+=yr_base+(value<yr_start?100:0);return this.set('year',value);case'T':if(value=='Z')value='+00';var offset=value.match(/([+-])(\d{2}):?(\d{2})?/);offset=(offset[1]+'1')*(offset[2]*60+(+offset[3]||0))+this.getTimezoneOffset();return this.set('time',(this*1)-offset*60000);}
return this;};Date.defineParsers('%Y([-./]%m([-./]%d((T| )%X)?)?)?','%Y%m%d(T%H(%M%S?)?)?','%x( %X)?','%d%o( %b( %Y)?)?( %X)?','%b %d%o?( %Y)?( %X)?','%b %Y');MooTools.lang.addEvent('langChange',function(language){if(!MooTools.lang.get('Date'))return;lang=language;Date.parsePatterns.each(function(pattern,i){if(pattern.format)Date.parsePatterns[i]=build(pattern.format);});}).fireEvent('langChange',MooTools.lang.getCurrentLanguage());})();Date.implement({timeDiffInWords:function(relative_to){return Date.distanceOfTimeInWords(this,relative_to||new Date);}});Date.alias('timeDiffInWords','timeAgoInWords');Date.extend({distanceOfTimeInWords:function(from,to){return Date.getTimePhrase(((to-from)/1000).toInt());},getTimePhrase:function(delta){var suffix=(delta<0)?'Until':'Ago';if(delta<0)delta*=-1;var msg=(delta<60)?'lessThanMinute':(delta<120)?'minute':(delta<(45*60))?'minutes':(delta<(90*60))?'hour':(delta<(24*60*60))?'hours':(delta<(48*60*60))?'day':'days';switch(msg){case'minutes':delta=(delta/60).round();break;case'hours':delta=(delta/3600).round();break;case'days':delta=(delta/86400).round();}
return Date.getMsg(msg+suffix,delta).substitute({delta:delta});}});Date.defineParsers({re:/^tod|tom|yes/i,handler:function(bits){var d=new Date().clearTime();switch(bits[0]){case'tom':return d.increment();case'yes':return d.decrement();default:return d;}}},{re:/^(next|last) ([a-z]+)$/i,handler:function(bits){var d=new Date().clearTime();var day=d.getDay();var newDay=Date.parseDay(bits[2],true);var addDays=newDay-day;if(newDay<=day)addDays+=7;if(bits[1]=='last')addDays-=7;return d.set('date',d.getDate()+addDays);}});MooTools.lang.set('en-US','Date',{months:['January','February','March','April','May','June','July','August','September','October','November','December'],days:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],dateOrder:['month','date','year'],shortDate:'%m/%d/%Y',shortTime:'%I:%M%p',AM:'AM',PM:'PM',ordinal:function(dayOfMonth){return(dayOfMonth>3&&dayOfMonth<21)?'th':['th','st','nd','rd','th'][Math.min(dayOfMonth%10,4)];},lessThanMinuteAgo:'less than a minute ago',minuteAgo:'about a minute ago',minutesAgo:'{delta} minutes ago',hourAgo:'about an hour ago',hoursAgo:'about {delta} hours ago',dayAgo:'1 day ago',daysAgo:'{delta} days ago',lessThanMinuteUntil:'less than a minute from now',minuteUntil:'about a minute from now',minutesUntil:'{delta} minutes from now',hourUntil:'about an hour from now',hoursUntil:'about {delta} hours from now',dayUntil:'1 day from now',daysUntil:'{delta} days from now'});Request.JSONP=new Class({Implements:[Chain,Events,Options,Log],options:{url:'',data:{},retries:0,timeout:0,link:'ignore',callbackKey:'callback',injectScript:document.head},initialize:function(options){this.setOptions(options);this.running=false;$
this.requests=0;this.triesRemaining=[];},check:function(){if(!this.running)return true;switch(this.options.link){case'cancel':this.cancel();return true;case'chain':this.chain(this.caller.bind(this,arguments));return false;}
return false;},send:function(options){if(!$chk(arguments[1])&&!this.check(options))return this;var type=$type(options),old=this.options,index=$chk(arguments[1])?arguments[1]:this.requests++;if(type=='string'||type=='element')options={data:options};options=$extend({data:old.data,url:old.url},options);if(!$chk(this.triesRemaining[index]))this.triesRemaining[index]=this.options.retries;var remaining=this.triesRemaining[index];(function(){var script=this.getScript(options);this.log('JSONP retrieving script with url: '+script.get('src'));this.fireEvent('request',script);this.running=true;(function(){if(remaining){this.triesRemaining[index]=remaining-1;if(script){script.destroy();this.send(options,index);this.fireEvent('retry',this.triesRemaining[index]);}}else if(script&&this.options.timeout){script.destroy();this.cancel();this.fireEvent('failure');}}).delay(this.options.timeout,this);}).delay(Browser.Engine.trident?50:0,this);return this;},cancel:function(){if(!this.running)return this;this.running=false;this.fireEvent('cancel');return this;},getScript:function(options){var index=Request.JSONP.counter,data;Request.JSONP.counter++;switch($type(options.data)){case'element':data=document.id(options.data).toQueryString();break;case'object':case'hash':data=Hash.toQueryString(options.data);}
var src=options.url+
(options.url.test('\\?')?'&':'?')+
(options.callbackKey||this.options.callbackKey)+'=Request.JSONP.request_map.request_'+index+
(data?'&'+data:'');if(src.length>2083)this.log('JSONP '+src+' will fail in Internet Explorer, which enforces a 2083 bytes length limit on URIs');var script=new Element('script',{type:'text/javascript',src:src});Request.JSONP.request_map['request_'+index]=function(data){this.success(data,script);}.bind(this);return script.inject(this.options.injectScript);},success:function(data,script){if(script)script.destroy();this.running=false;this.log('JSONP successfully retrieved: ',data);this.fireEvent('complete',[data]).fireEvent('success',[data]).callChain();}});Request.JSONP.counter=0;Request.JSONP.request_map={};var JsonP=Class.refactor(Request.JSONP,{initialize:function(){var params=Array.link(arguments,{url:String.type,options:Object.type});options=(params.options||{});options.url=options.url||params.url;if(options.callBackKey)options.callbackKey=options.callBackKey;this.previous(options);},getScript:function(options){var queryString=options.queryString||this.options.queryString;if(options.url&&queryString)options.url+=(options.url.indexOf("?")>=0?"&":"?")+queryString;var script=this.previous(options);if($chk(options.globalFunction)){window[options.globalFunction]=function(r){JsonP.requestors[index].handleResults(r)};}
return script;},request:function(url){this.send({url:url||this.options.url});}});var SqueezeBox={presets:{onOpen:$empty,onClose:$empty,onUpdate:$empty,onResize:$empty,onMove:$empty,onShow:$empty,onHide:$empty,size:{x:600,y:450},sizeLoading:{x:200,y:150},marginInner:{x:20,y:20},marginImage:{x:50,y:75},handler:false,target:null,closable:true,closeBtn:true,zIndex:65555,overlayOpacity:0.7,classWindow:'',classOverlay:'',overlayFx:{},resizeFx:{},contentFx:{},parse:false,parseSecure:false,shadow:true,document:null,ajaxOptions:{}},initialize:function(presets){if(this.options)return this;this.presets=$merge(this.presets,presets);this.doc=this.presets.document||document;this.options={};this.setOptions(this.presets).build();this.bound={window:this.reposition.bind(this,[null]),scroll:this.checkTarget.bind(this),close:this.close.bind(this),key:this.onKey.bind(this)};this.isOpen=this.isLoading=false;return this;},build:function(){this.overlay=new Element('div',{id:'sbox-overlay',styles:{display:'none',zIndex:this.options.zIndex}});this.win=new Element('div',{id:'sbox-window',styles:{display:'none',zIndex:this.options.zIndex+2}});if(this.options.shadow){if(Browser.Engine.webkit420){this.win.setStyle('-webkit-box-shadow','0 0 10px rgba(0, 0, 0, 0.7)');}else if(!Browser.Engine.trident4){var shadow=new Element('div',{'class':'sbox-bg-wrap'}).inject(this.win);var relay=function(e){this.overlay.fireEvent('click',[e]);}.bind(this);['n','ne','e','se','s','sw','w','nw'].each(function(dir){new Element('div',{'class':'sbox-bg sbox-bg-'+dir}).inject(shadow).addEvent('click',relay);});}}
this.content=new Element('div',{id:'sbox-content'}).inject(this.win);this.closeBtn=new Element('a',{id:'sbox-btn-close',href:'#'}).inject(this.win);this.fx={overlay:new Fx.Tween(this.overlay,$merge({property:'opacity',onStart:Events.prototype.clearChain,duration:250,link:'cancel'},this.options.overlayFx)).set(0),win:new Fx.Morph(this.win,$merge({onStart:Events.prototype.clearChain,unit:'px',duration:750,transition:Fx.Transitions.Quint.easeOut,link:'cancel',unit:'px'},this.options.resizeFx)),content:new Fx.Tween(this.content,$merge({property:'opacity',duration:250,link:'cancel'},this.options.contentFx)).set(0)};$(this.doc.body).adopt(this.overlay,this.win);},assign:function(to,options){return($(to)||$$(to)).addEvent('click',function(){return!SqueezeBox.fromElement(this,options);});},open:function(subject,options){this.initialize();if(this.element!=null)this.trash();this.element=$(subject)||false;this.setOptions($merge(this.presets,options||{}));if(this.element&&this.options.parse){var obj=this.element.getProperty(this.options.parse);if(obj&&(obj=JSON.decode(obj,this.options.parseSecure)))this.setOptions(obj);}
this.url=((this.element)?(this.element.get('href')):subject)||this.options.url||'';this.assignOptions();var handler=handler||this.options.handler;if(handler)return this.setContent(handler,this.parsers[handler].call(this,true));var ret=false;return this.parsers.some(function(parser,key){var content=parser.call(this);if(content){ret=this.setContent(key,content);return true;}
return false;},this);},fromElement:function(from,options){return this.open(from,options);},assignOptions:function(){this.overlay.set('class',this.options.classOverlay);this.win.set('class',this.options.classWindow);if(Browser.Engine.trident4)this.win.addClass('sbox-window-ie6');},close:function(e){var stoppable=($type(e)=='event');if(stoppable)e.stop();if(!this.isOpen||(stoppable&&!$lambda(this.options.closable).call(this,e)))return this;this.fx.overlay.start(0).chain(this.toggleOverlay.bind(this));this.win.setStyle('display','none');this.fireEvent('onClose',[this.content]);this.trash();this.toggleListeners();this.isOpen=false;return this;},trash:function(){this.element=this.asset=null;this.content.empty();this.options={};this.removeEvents().setOptions(this.presets).callChain();},onError:function(){this.asset=null;this.setContent('string',this.options.errorMsg||'An error occurred');},setContent:function(handler,content){if(!this.handlers[handler])return false;this.content.className='sbox-content-'+handler;this.applyTimer=this.applyContent.delay(this.fx.overlay.options.duration,this,this.handlers[handler].call(this,content));if(this.overlay.retrieve('opacity'))return this;this.toggleOverlay(true);this.fx.overlay.start(this.options.overlayOpacity);return this.reposition();},applyContent:function(content,size){if(!this.isOpen&&!this.applyTimer)return;this.applyTimer=$clear(this.applyTimer);this.hideContent();if(!content){this.toggleLoading(true);}else{if(this.isLoading)this.toggleLoading(false);this.fireEvent('onUpdate',[this.content],20);}
if(content){if(['string','array'].contains($type(content)))this.content.set('html',content);else if(!this.content.hasChild(content))this.content.adopt(content);}
this.callChain();if(!this.isOpen){this.toggleListeners(true);this.resize(size,true);this.isOpen=true;this.fireEvent('onOpen',[this.content]);}else{this.resize(size);}},resize:function(size,instantly){this.showTimer=$clear(this.showTimer||null);var box=this.doc.getSize(),scroll=this.doc.getScroll();this.size=$merge((this.isLoading)?this.options.sizeLoading:this.options.size,size);var to={width:this.size.x,height:this.size.y,left:(scroll.x+(box.x-this.size.x-this.options.marginInner.x)/2).toInt(),top:(scroll.y+(box.y-this.size.y-this.options.marginInner.y)/2).toInt()};this.hideContent();if(!instantly){this.fx.win.start(to).chain(this.showContent.bind(this));}else{this.win.setStyles(to).setStyle('display','');this.showTimer=this.showContent.delay(50,this);}
return this.reposition();},toggleListeners:function(state){var fn=(state)?'addEvent':'removeEvent';this.closeBtn[fn]('click',this.bound.close);this.overlay[fn]('click',this.bound.close);this.doc[fn]('keydown',this.bound.key)[fn]('mousewheel',this.bound.scroll);this.doc.getWindow()[fn]('resize',this.bound.window)[fn]('scroll',this.bound.window);},toggleLoading:function(state){this.isLoading=state;this.win[(state)?'addClass':'removeClass']('sbox-loading');if(state)this.fireEvent('onLoading',[this.win]);},toggleOverlay:function(state){var full=this.doc.getSize().x;this.overlay.setStyle('display',(state)?'':'none');if(!Browser.Engine.webkit){this.doc.body[(state)?'addClass':'removeClass']('body-overlayed');if(state){this.scrollOffset=this.doc.getWindow().getSize().x-full;this.doc.body.setStyle('margin-right',this.scrollOffset);}else{this.doc.body.setStyle('margin-right','');}}},showContent:function(){if(this.content.get('opacity'))this.fireEvent('onShow',[this.win]);this.fx.content.start(1);},hideContent:function(){if(!this.content.get('opacity'))this.fireEvent('onHide',[this.win]);this.fx.content.cancel().set(0);},onKey:function(e){switch(e.key){case'esc':this.close(e);case'up':case'down':return false;}},checkTarget:function(e){return this.content.hasChild(e.target);},reposition:function(){var size=this.doc.getSize(),scroll=this.doc.getScroll(),ssize=this.doc.getScrollSize();this.overlay.setStyles({width:ssize.x+'px',height:ssize.y+'px'});this.win.setStyles({left:(scroll.x+(size.x-this.win.offsetWidth)/2-this.scrollOffset).toInt()+'px',top:(scroll.y+(size.y-this.win.offsetHeight)/2).toInt()+'px'});return this.fireEvent('onMove',[this.overlay,this.win]);},removeEvents:function(type){if(!this.$events)return this;if(!type)this.$events=null;else if(this.$events[type])this.$events[type]=null;return this;},extend:function(properties){return $extend(this,properties);},handlers:new Hash(),parsers:new Hash()};SqueezeBox.extend(new Events($empty)).extend(new Options($empty)).extend(new Chain($empty));SqueezeBox.parsers.extend({image:function(preset){return(preset||(/\.(?:jpg|png|gif)$/i).test(this.url))?this.url:false;},clone:function(preset){if($(this.options.target))return $(this.options.target);if(this.element&&!this.element.parentNode)return this.element;var bits=this.url.match(/#([\w-]+)$/);return(bits)?$(bits[1]):(preset?this.element:false);},ajax:function(preset){return(preset||(this.url&&!(/^(?:javascript|#)/i).test(this.url)))?this.url:false;},iframe:function(preset){return(preset||this.url)?this.url:false;},string:function(preset){return true;}});SqueezeBox.handlers.extend({image:function(url){var size,tmp=new Image();this.asset=null;tmp.onload=tmp.onabort=tmp.onerror=(function(){tmp.onload=tmp.onabort=tmp.onerror=null;if(!tmp.width){this.onError.delay(10,this);return;}
var box=this.doc.getSize();box.x-=this.options.marginImage.x;box.y-=this.options.marginImage.y;size={x:tmp.width,y:tmp.height};for(var i=2;i--;){if(size.x>box.x){size.y*=box.x/size.x;size.x=box.x;}else if(size.y>box.y){size.x*=box.y/size.y;size.y=box.y;}}
size.x=size.x.toInt();size.y=size.y.toInt();this.asset=$(tmp);tmp=null;this.asset.width=size.x;this.asset.height=size.y;this.applyContent(this.asset,size);}).bind(this);tmp.src=url;if(tmp&&tmp.onload&&tmp.complete)tmp.onload();return(this.asset)?[this.asset,size]:null;},clone:function(el){if(el)return el.clone();return this.onError();},adopt:function(el){if(el)return el;return this.onError();},ajax:function(url){var options=this.options.ajaxOptions||{};this.asset=new Request.HTML($merge({method:'get',evalScripts:false},this.options.ajaxOptions)).addEvents({onSuccess:function(resp){this.applyContent(resp);if(options.evalScripts!==null&&!options.evalScripts)$exec(this.asset.response.javascript);this.fireEvent('onAjax',[resp,this.asset]);this.asset=null;}.bind(this),onFailure:this.onError.bind(this)});this.asset.send.delay(10,this.asset,[{url:url}]);},iframe:function(url){this.asset=new Element('iframe',$merge({src:url,frameBorder:0,width:this.options.size.x,height:this.options.size.y},this.options.iframeOptions));if(this.options.iframePreload){this.asset.addEvent('load',function(){this.applyContent(this.asset.setStyle('display',''));}.bind(this));this.asset.setStyle('display','none').inject(this.content);return false;}
return this.asset;},string:function(str){return str;}});SqueezeBox.handlers.url=SqueezeBox.handlers.ajax;SqueezeBox.parsers.url=SqueezeBox.parsers.ajax;SqueezeBox.parsers.adopt=SqueezeBox.parsers.clone;MooTools.lang.set('en-US','App',{error_ie:'You are using Internet Explorer 6. Please upgrade your browser to increase safety and your browsing experience.</h3> <p>Choose one of the following links to download a modern browser: <p>',contact:'Contact us at  info@resonancers.com',rank_msg:'@{sname} is ranked {rank} with {resonance} resonant tweet{s} at the {lang}@resonancers ranking http://resonancers.com/u/{sname}',rank_msg2:'@{sname} has {resonance} resonant tweet{s} at the {lang}@resonancers ranking http://resonancers.com/u/{sname}',name:'Name',location:'Location',since:'Member since',login_before:'Please log in first. Sign in with Twitter <a href="/login">here</a>',select_user:'Please, select at least one user to follow.',follow_confirm:'Are you sure you want to follow all the selected users?',retweet_confirm:'Are you sure you want to retweet this tweet?',bulk_inprogress:'There is already a bulk follow in progress.',now_following:'You are now following <strong>{screenName}</strong>',sorry:'Sorry',notifyme:'You going to receive a reply from our @resonancers account whenever one of your tweets appear at the Twitter home page.',dontnotifyme:'You won\'t receive any more notifications sent from our @resonancers account.',api_busy:'The Twitter API seems to be busy now, please try again later.',no_more_tweets:"There are no more tweets",retweet_sent:"Your retweet was successfully sent.",tweet_sent:"Your tweet was successfully sent."});var MainApp=new Class({initialize:function(options){this.isContent=location.href.contains('/content/')||location.href.contains('/widgets');this.isWidget=location.href.contains('/widgets');this.isTweets=location.href.contains('/tweets/');if(Browser.Engine.trident&&Browser.Engine.version<=4){var info=new Element('div',{'class':'ieerror','html':'<h3>'+this.getMsg('error_ie')+' </h3>'+'<ul><li><a href="http://www.getfirefox.com" target="_blank"><img width="25" height="24" title="Get Firefox" alt="Get Firefox" src="'+resources+'img/firefox.png" /> Firefox</a></li>'+'<li><a class="safari" href="http://www.apple.com/safari/download/" target="_blank"><img width="25" height="24" title="Get Safari" alt="Get Safari" src="'+resources+'img/safari.png" /> Safari</a></li>'+'<li><a class="opera" href="http://www.opera.com/download/" target="_blank"><img width="25" height="24" title="Get Opera" alt="Get Opera" src="'+resources+'img/opera.png" /> Opera</a></li>'+'<li><a class="internetexplorer" href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"><img width="25" height="24" title="Get latest Internet Explorer" alt="Get latest Internet Explorer" src="'+resources+'img/ie.png" /> Internet Explorer</a></li>'+'<li><a class="internetexplorer" href="http://www.google.com/chrome" target="_blank"><img width="25" height="24" title="Get Google Chrome" alt="Get Google Chrome" src="'+resources+'img/chrome.png" /> Google Chrome</a></li></ul>'});SqueezeBox.open(info,{size:{x:450,y:230},handler:'adopt'});}
this.adTemplate1='<div id="resuts_item_left"></div>'+'<div id="resuts_item_center">'+'<input id="ck_{id}" name="check_follow" type="checkbox" class="sponsor_check_follow" />'+'<img id="avatar_{id}" src="{profile_image_url}" class="sponsor_avatar" width="48" height="48" alt="{screen_name}" />'+'<div class="sponsor_avatar_mask"></div>'+'<a id="follow_{id}" href="#" class="sponsor_follow_bt"></a>'+'<div class="sponsor_item_center2">'+'<div class="sponsor_name">You should follow <b>{name}</b> (<b>@{screen_name}</b>)</div>'+'<div class="sponsor_field"><b>Bio</b>: {description}</div>'+'<div class="sponsor_field"><b>Location</b>: {location}</div>'+'<div class="become_promoted">Become a <a href="http://www.followfriday.com/promotedtweep" target="blank">Promoted Tweep</a> Today</div>'+'</div>'+'</div>'+'<div id="resuts_item_right"></div>';this.adTemplate2='<div id="resuts_item_left"></div>'+'<div id="resuts_item_center">'+'<input id="ck_{id}" name="check_follow" type="checkbox" class="check_follow" />'+'<img id="avatar_{id}" src="{profile_image_url}" class="avatar" width="48" height="48" alt="{screen_name}" />'+'<div class="avatar_mask"></div>'+'<a id="follow_{id}" href="#" class="follow_bt"></a>'+'<div class="sponsor_item_center">'+'<div class="sponsor_name">You should follow <b>{name}</b> (<b>@{screen_name}</b>)</div>'+'<div class="sponsor_field"><b>Bio</b>: {description}</div>'+'<div class="sponsor_field"><b>Location</b>: {location}</div>'+'<div class="become_promoted">Become a <a href="http://www.followfriday.com/promotedtweep" target="blank">Promoted Tweep</a> Today</div>'+'</div>'+'</div>'+'<div id="resuts_item_right"></div>';this.tweetTemplate='<img class="recent_avatar" src="{img}" width="48" height="48" alt="{screenname}" />'+'<a href="" class="recent_avatar_mask"></a>'+'<div class="recent_name_box"><a href="http://twitter.com/{screenname}" target="blank">@{screenname}</a></div>'+'<div class="recent_text_profile">'+' <p>{text}</p>'+'</div>'+'<i><a href="http://twitter.com/{screenname}/status/{status_id}" rel="nofollow" target="blank">{created_at}</a> - via {source}</i>'+'{reply}'+'<a href="http://twitter.com/home?status={rt}" target="blank" rel="<?=$tweet->status_id?>" class="retweet_bt">retweet</a>';this.loading=false;this.users=[];this.followStack=[];this.following=false;this.listStack=[];this.listing=false;this.minutes=0;this.loadedItems=0;this.loadedItemsOk=0;this.screenName='';this.pageSize=10;this.tweetsPage=1;this.loadingTweets=false;this.usersBarEl=$('left_column_content_top');this.profileadEl=$('profilead');this.screenNameEl=$('screenname');if(this.screenNameEl){this.screenName=this.screenNameEl.get('html');}
if(this.sharepagesendEl=$('sharepagesend')){this.sharepagesendEl.addEvent('click',function(e){if(this.isLoggedIn()){e.stop();var sharepagetxt=$('sharepagetxt');this.sendTweet(sharepagetxt.get('value'),true);}}.bind(this));}
this.showSponsor2();if(!this.isContent&&!this.isTweets){this.selectallEl=$('bulk_follow_check');this.checklocafollowEl=$('follow_us_ck');this.bulkFollowEl=$('bulk_follow_bt');this.recentResonantEl=$('recent_resonant');this.bulkFollowEl.addEvent('click',this.doBulkFollow.bind(this));this.selectallEl.setProperty('checked','');this.selectallEl.addEvent('click',function(e){var select=this.selectallEl.getProperty('checked');$$('.check_follow').each(function(el){el.setProperty('checked',select);});this.checklocafollowEl.setProperty('checked',select);}.bind(this));this.recentResonantEl.addEvent('click',function(e){var el=$(e.target);if(el){if(el.get('class')=='retweet_bt'){if(this.isLoggedIn()){e.stop();if(confirm(this.getMsg('retweet_confirm'))){this.retweet(el.get('rel'));}}}}}.bind(this));this.load();}
else if(this.isTweets){var userboxEl=$('user_profile_info_module');var showMoreEl=$('show_more_tweets_bt');this.tweetsEl=$('recent_resonant_profile');this.loadingTweetsEl=$('loading_tweets');if(userboxEl){var rel_parts=userboxEl.get('rel').split('|');var sname=rel_parts[1];if(rel_parts[0]=='True'){var req=new Request.JSONP({url:"http://twitter.com/users/show.json",timeout:9000,data:{'screen_name':sname},onComplete:this.loadSingleUser.bindWithEvent(this,sname)}).send();}
this.addSingleUserEvents(sname);}
if(this.tweetsEl){this.tweetsEl.addEvent('click',function(e){var el=$(e.target);if(el){if(el.get('class')=='retweet_bt'){if(this.isLoggedIn()){e.stop();if(confirm(this.getMsg('retweet_confirm'))){this.retweet(el.get('rel'));}}}}}.bind(this));}
if(showMoreEl){showMoreEl.addEvent('click',function(e){e.stop();if(this.loadingTweets){return;}
this.loadingTweets=true;this.loadingTweetsEl.setStyle('display','block');new Request.JSON({url:server+"api/gettweets",onComplete:function(res){if(res.success){if(res.tweets){this.addTweets(res.tweets);this.tweetsPage++;this.loadingTweets=false;return;}
else{showMoreEl.setStyle('display','none');this.message(this.getMsg('no_more_tweets'));}}
else{this.message(this.getMsg('sorry')+': '+res.message);}
this.loadingTweetsEl.setStyle('display','none');this.loadingTweets=false;}.bind(this),onCancel:function(){this.message(this.getMsg('api_busy'));this.loadingTweetsEl.setStyle('display','none');this.loadingTweets=false;}.bind(this)}).get({'id':user_id,page:this.tweetsPage+1});}.bind(this));}}
else if(this.isWidget){this.widgetselEl=$('widgetsel');this.widgetuserEl=$('widgetuser');this.widgetselEl.addEvent('change',this.previewWidget.bind(this));this.widgetuserEl.addEvent('keydown',function(e){if(e.key=='enter'){this.previewWidget();}}.bind(this));}
if(this.isLoggedIn()){var notifyMeEl=$('notify_me');notifyMeEl.addEvent('click',function(){var checked=notifyMeEl.getProperty('checked');new Request.JSON({url:server+"api/profile",onComplete:function(res){if(res.success){if(checked){this.message(this.getMsg('notifyme'));}
else{this.message(this.getMsg('dontnotifyme'));}}
else{this.message(this.getMsg('sorry')+': '+res.message);}}.bind(this),onCancel:function(){this.message(this.getMsg('api_busy'));}.bind(this)}).get({'notify_me':checked?true:false});}.bind(this));}},addTweets:function(tweets){if(tweets){tweets.each(function(tweet){var tweetEl=new Element('div',{'class':'recent_item_results profile_recents','html':this.tweetTemplate.substitute({'status_id':tweet['status_id'],'text':this.linkify(tweet['text']),'img':user_img?user_img:resources+'img/avatar.gif','created_at':tweet['created_at'],'source':tweet['source'],'reply':(tweet['in_reply_to_status_id']&&tweet['in_reply_to_screen_name'])?'<i>in reply to <a href="http://twitter.com/'+tweet['in_reply_to_screen_name']+'/status/'+tweet['in_reply_to_status_id']+'" rel="nofollow" target="blank">@'+tweet['in_reply_to_screen_name']+'</a></i>':'','rt':escape('RT @user_screen_name: '+tweet['text']),'screenname':user_screen_name})});this.tweetsEl.grab(tweetEl);tweetEl.inject(this.loadingTweetsEl,'before');var lineEl=new Element('div',{'class':'line_2'});lineEl.inject(this.loadingTweetsEl,'before');},this);}
this.loadingTweetsEl.setStyle('display','none');},previewWidget:function(){location.href=server+'widgets/'+this.widgetuserEl.get('value')+'/'+this.widgetselEl.get('value');},getMsg:function(key,args){return MooTools.lang.get('App',key,args);},loadSingleUser:function(user){if(user){var screen_name=user.screen_name.toLowerCase();var avatarEl=$('avatar_'+screen_name);avatarEl.set('src',user.profile_image_url);var nameEl=$('name_'+screen_name);nameEl.set('html',user.name);var locEl=$('loc_'+screen_name);locEl.set('html',user.location);var sinceEl=$('since_'+screen_name);sinceEl.set('html',Date.parse(user.created_at).timeDiffInWords());var bioEl=$('bio_'+screen_name);bioEl.set('html',user.description);var urlEl=$('url_'+screen_name);urlEl.set('html',user.url?'<a href="'+user.url+'" rel="nofollow" target="blank">'+user.url+'</a>':'-');var followersEl=$('followers_'+screen_name);followersEl.set('html',this.prettyNumber(user.followers_count));var followingEl=$('following_'+screen_name);followingEl.set('html',this.prettyNumber(user.friends_count));var tweetsEl=$('tweets_'+screen_name);tweetsEl.set('html',this.prettyNumber(user.statuses_count));log=[];var logItem={screen_name:user.screen_name,full_name:user.name,bio:user.description.replace(/\r\n/g,' '),img:user.profile_image_url,location:user.location,url:user.url,protected:user.protected,followers:user.followers_count,following:user.friends_count,tweets:user.statuses_count,lang:user.lang,verified:user.verified,geo_enabled:user.geo_enabled,utc_offset:user.utc_offset,member_since:user.created_at};log[log.length]=logItem;new Request.JSON({url:server+"api/log"}).post({'data':JSON.encode(log)});}},addSingleUserEvents:function(sname){var followEl=$('users_seguir_bt');followEl.addEvent('click',function(e){e.stop();this.doFollow(sname);}.bind(this));var rankbtnEl=$('users_compartir_bt');var rankwinEl=$('sharewin_'+sname);var ranksendEl=$('sharesend_'+sname);var ranktxtEl=$('sharetxt_'+sname);rankbtnEl.addEvent('click',function(e){e.stop();if(rankwinEl.getStyle('display')=='none'||rankwinEl.getStyle('opacity')=='0'){if(ranktxtEl.get('value')==''){var shareMsg='';if(user_rank.toInt()>0){shareMsg=this.getMsg('rank_msg').substitute({sname:sname,rank:user_rank,resonance:user_resonance,lang:user_lang_name+' ',s:user_resonance>1?'s':''});}
else{shareMsg=this.getMsg('rank_msg2').substitute({sname:sname,resonance:user_resonance,lang:user_lang_name+' ',s:user_resonance>1?'s':''});}
ranktxtEl.set('value',shareMsg);}
rankwinEl.setStyles({'display':'block','opacity':0,'height':0});rankwinEl.morph({'opacity':1,'height':121})}
else{rankwinEl.morph({'opacity':0,'height':0})}}.bind(this));ranksendEl.addEvent('click',function(e){e.stop();if(!this.isLoggedIn()){window.open('http://twitter.com/home?status='+escape(ranktxtEl.get('value')));}
else{this.sendTweet(ranktxtEl.get('value'),true);}
rankwinEl.setStyles({'display':'none','opacity':0,'width':0,'height':0});}.bind(this));},addUserEvents:function(sname){var checkEl=$('ck_'+sname);checkEl.store('sname',sname);var followEl=$('follow_'+sname);followEl.addEvent('click',function(e){e.stop();this.doFollow(sname);}.bind(this));var rankbtnEl=$('share_'+sname);var rankwinEl=$('sharewin_'+sname);var ranksendEl=$('sharesend_'+sname);var ranktxtEl=$('sharetxt_'+sname);rankbtnEl.addEvent('click',function(e){e.stop();if(rankwinEl.getStyle('display')=='none'||rankwinEl.getStyle('opacity')=='0'){if(ranktxtEl.get('value')==''){var shareMsg=this.getMsg('rank_msg2').substitute({sname:sname,resonance:rankbtnEl.get('rel'),lang:'',s:rankbtnEl.get('rel')>1?'s':''})
ranktxtEl.set('value',shareMsg);}
rankwinEl.setStyles({'display':'block','opacity':0,'height':0});rankwinEl.morph({'opacity':1,'height':121})}
else{rankwinEl.morph({'opacity':0,'height':0})}}.bind(this));ranksendEl.addEvent('click',function(e){e.stop();if(!this.isLoggedIn()){window.open('http://twitter.com/home?status='+escape(ranktxtEl.get('value')));}
else{this.sendTweet(ranktxtEl.get('value'),true);}
rankwinEl.setStyles({'display':'none','opacity':0,'height':0});}.bind(this));},showSponsor:function(){this.sponsorEl=new Element('div',{'class':'results_item','html':'<div class="sponsor_content"><iframe width="630" height="100" frameborder="0" scrolling="no" src="http://banner.featuredusers.com/banner?font=arial&textColor=4F4F4F&backgroundColor=f9f9f9&linkColor=006FB9&borderColor=&height=100&width=630&border=false&skipUsername=&source='+escape(location.href)+'"></iframe></div>'});this.sponsorEl.inject(this.usersBarEl,'after');},loadSponsor2:function(){this.sponsorEl.set('html',this.frameTemplate.substitute({'text':'<div class="sponsor_content"><iframe width="630" height="100" frameborder="0" scrolling="no" src="http://banner.featuredusers.com/banner?font=arial&textColor=4F4F4F&backgroundColor=f9f9f9&linkColor=006FB9&borderColor=&height=100&width=630&border=false&skipUsername=&source='+escape(location.href)+'"></iframe></div>'}));},showSponsor2:function(){if(this.profileadEl){this.sponsorEl=new Element('div',{'class':'results_item sponsor_item','html':'<div class="item_loading"></div>'});this.profileadEl.grab(this.sponsorEl);}
else if(this.usersBarEl){this.sponsorEl=new Element('div',{'class':'results_item featured','html':'<div class="item_loading"></div>'});this.sponsorEl.inject(this.usersBarEl,'after');}
var lang=(navigator.language||navigator.systemLanguage||navigator.userLanguage||'en').substr(0,2).toLowerCase();var country='';if(google.loader.ClientLocation){country=google.loader.ClientLocation.address.country_code;}
new Request.JSON({url:server+"api/ads",onComplete:this.loadSponsor3.bind(this),onCancel:this.loadSponsor2.bind(this)}).get({'lang':lang,'country':country});},loadSponsor3:function(res){if(res.success&&res.users){template=this.adTemplate2;if(this.profileadEl){template=this.adTemplate1;}
var data=res.users[0];this.sponsorEl.set('html',template.substitute({'id':'ad_'+data['screenname'],'name':data.fullname,'screen_name':data['screenname'],'profile_image_url':data.img,'location':data.location,'description':data.bio}));var checkEl=$('ck_'+'ad_'+data['screenname']);if(checkEl){checkEl.store('uid',data.uid);checkEl.store('sname',data['screenname']);checkEl.store('ad',true);}
var followEl=$('follow_'+'ad_'+data['screenname']);followEl.addEvent('click',function(e){e.stop();this.doFollow(data['screenname']);}.bind(this));}
else{}},load:function(){$$('.results_item').each(function(el){if(el.get('id')){user={el:el,loaded:false,screenName:el.get('id').replace(/user_/,''),data:undefined};this.users[this.users.length]=user;if(el.get('rel')=='True'){var req=new Request.JSONP({url:"http://twitter.com/users/show.json",timeout:9000,data:{'screen_name':user.screenName},onComplete:this.loadUser.bindWithEvent(this,this.users.length-1),onCancel:function(index){this.loadError(index);}.bind(this,this.users.length-1)}).send();}
this.addUserEvents(user.screenName);}},this);},loadUser:function(data,currentIndex){if(this.users[currentIndex]){this.users[currentIndex].data=data;this.users[currentIndex].loaded=true;this.showUser(this.users[currentIndex]);this.loadedItems++;this.loadedItemsOk++;if((this.loadedItems==this.pageSize||this.loadedItems==this.users.length)){this.logData();}}},loadError:function(currentIndex){if(this.users[currentIndex]){this.loadedItems++;this.loaded=(this.loadedItems==this.pageSize);}},logData:function(){var log=[];for(var i=0;i<this.users.length&&i<this.pageSize;i++){if(this.users[i].data){var logItem={screen_name:this.users[i].data.screen_name,full_name:this.users[i].data.name,bio:this.users[i].data.description.replace(/\r\n/g,' '),img:this.users[i].data.profile_image_url,location:this.users[i].data.location,url:this.users[i].data.url,protected:this.users[i].data.protected,followers:this.users[i].data.followers_count,following:this.users[i].data.friends_count,tweets:this.users[i].data.statuses_count,lang:this.users[i].data.lang,verified:this.users[i].data.verified,geo_enabled:this.users[i].data.geo_enabled,utc_offset:this.users[i].data.utc_offset,member_since:this.users[i].data.created_at};log[log.length]=logItem;}}
new Request.JSON({url:server+"api/log"}).post({'data':JSON.encode(log)});},showUser:function(user){var userEl=user.el;if(userEl){var avatarEl=userEl.getElementById('avatar_'+user.screenName);avatarEl.set('src',user.data.profile_image_url);var nameEl=userEl.getElementById('name_'+user.screenName);nameEl.set('html','<b>'+this.getMsg('name')+':</b> '+user.data.name);var locEl=userEl.getElementById('loc_'+user.screenName);locEl.set('html','<b>'+this.getMsg('location')+':</b> '+user.data.location);var sinceEl=userEl.getElementById('since_'+user.screenName);sinceEl.set('html','<b >'+this.getMsg('since')+':</b> '+Date.parse(user.data.created_at).timeDiffInWords());var bioEl=userEl.getElementById('bio_'+user.screenName);bioEl.set('html',user.data.description);var urlEl=userEl.getElementById('url_'+user.screenName);urlEl.set('html',user.data.url?'<a href="'+user.data.url+'" rel="nofollow" target="blank">'+user.data.url+'</a>':'-');var followersEl=userEl.getElementById('followers_'+user.screenName);followersEl.set('html',this.prettyNumber(user.data.followers_count));var followingEl=userEl.getElementById('following_'+user.screenName);followingEl.set('html',this.prettyNumber(user.data.friends_count));var tweetsEl=userEl.getElementById('tweets_'+user.screenName);tweetsEl.set('html',this.prettyNumber(user.data.statuses_count));}},isLoggedIn:function(){return(this.screenName);},doBulkFollow:function(){if(!this.isLoggedIn()){this.message(this.getMsg('login_before'));return;}
if(!this.following){var list=$$('.check_follow');if(list&&list.length>0){if(confirm(this.getMsg('follow_confirm'))){this.following=true;this.followStack.empty();this.showFollowStatus();list.each(function(el){if(el.getProperty('checked')){var screenName=el.get('id').replace(/ck_/,'');this.followStack[this.followStack.length]={screenName:screenName,working:true,error:false,msg:''};this.doFollow(screenName,true,this.followStack.length-1);}},this);if(this.checklocafollowEl.getProperty('checked')){this.followStack[this.followStack.length]={screenName:'resonancers',working:true,error:false,msg:''};this.doFollow('resonancers',true,this.followStack.length-1);}}}
else{this.message(this.getMsg('select_user'));}}
else{this.message(this.getMsg('bulk_inprogress'));}},addFollowStatus:function(jobIndex){var job;var statusEl=$('follow_status');if(!statusEl){statusEl=new Element('div',{'id':'follow_status'});SqueezeBox.open(statusEl,{size:{x:420,y:380},handler:'adopt'});}
if(job=this.followStack[jobIndex]){var jobEl=new Element('div',{'class':job.error?'joberror':'jobok','html':'<div class="'+(job.error?'unchecked':'checked')+'"></div><p><strong><a href="http://twitter.com/'+job.screenName+'">'+job.screenName+'</a></strong>: '+job.msg+'</p>'});statusEl.grab(jobEl);}
for(var i=0;i<this.followStack.length;i++){var job=this.followStack[i];if(job.working){return;}}
this.following=false;this.showFollowStatus();},showFollowStatus:function(){var statusEl=$('follow_status');if(!statusEl){statusEl=new Element('div',{'id':'follow_status'});SqueezeBox.open(statusEl,{size:{x:420,y:380},handler:'adopt'});for(var i=0;i<this.followStack.length;i++){var job=this.followStack[i];if(!job.working){var jobEl=new Element('div',{'class':job.error?'joberror':'jobok','html':'<div class="'+(job.error?'unchecked':'checked')+'"></div><p><strong><a href="http://twitter.com/'+job.screenName+'">'+job.screenName+'</a></strong>: '+job.msg+'</p>'});statusEl.grab(jobEl);}}}},doFollow:function(screenName,bulk,jobIndex){if(!this.isLoggedIn()){this.message(this.getMsg('login_before'));return;}
var bulk=bulk?bulk:false;var jobIndex=jobIndex?jobIndex:0;var hello='';if(this.checksayhelloEl&&this.checksayhelloEl.getProperty('checked')&&screenName!='locafollow'){hello=this.txtsayhelloEl.getProperty('value').substitute({'username':'@'+screenName});}
var uid=0;var checkEl=$('ck_'+'ad_'+screenName);if(checkEl){uid=checkEl.retrieve('uid');}
var lang=(navigator.language||navigator.systemLanguage||navigator.userLanguage||'en').substr(0,2).toLowerCase();var country='';if(google.loader.ClientLocation){country=google.loader.ClientLocation.address.country_code;}
new Request.JSON({url:server+(uid?"api/adsfollow":"api/follow"),onComplete:function(res,restxt){if(res.success){var job;if(!bulk){this.message(this.getMsg('now_following').substitute({screenName:screenName}));}
else{job=this.followStack[jobIndex];if(job){job.error=false;job.working=false;job.msg=this.getMsg('now_following').substitute({screenName:screenName});this.addFollowStatus(jobIndex);}}}
else{if(!bulk){this.message(this.getMsg('sorry')+': '+res.message);}
else{job=this.followStack[jobIndex];if(job){job.error=true;job.working=false;job.msg=this.getMsg('sorry')+': '+res.message;this.addFollowStatus(jobIndex);}}}}.bind(this),onCancel:function(){var job;if(!bulk){this.message(this.getMsg('api_busy'));}
else{job=this.followStack[jobIndex];if(job){job.error=true;job.working=false;job.msg=this.getMsg('api_busy');this.addFollowStatus(jobIndex);}}}.bind(this)}).get({'screenname':screenName,uid:uid,lang:lang,country:country});},sendTweet:function(msg,verbose){new Request.JSON({url:server+"api/tweet",onComplete:function(res){if(res.success){if(verbose){this.message(this.getMsg('tweet_sent'));}}
else{if(verbose){this.message(this.getMsg('sorry')+': '+res.message);}}}.bind(this),onCancel:function(){if(verbose){this.message(this.getMsg('api_busy'));}}.bind(this)}).get({'msg':msg});},retweet:function(id){new Request.JSON({url:server+"api/retweet",onComplete:function(res){if(res.success){this.message(this.getMsg('retweet_sent'));}
else{this.message(this.getMsg('sorry')+': '+res.message);}}.bind(this),onCancel:function(){this.message(this.getMsg('api_busy'));}.bind(this)}).get({'id':id});},linkify:function(text){return text.replace(/(https?:\/\/\S+)/gi,'<a target="blank" href="$1">$1</a>').replace(/(^|\s)@(\w+)/g,'$1<a href="'+server+'tweets/$2">@$2</a>').replace(/(^|\s)#(\w+)/g,'$1#<a target="blank" href="http://search.twitter.com/search?q=%23$2">$2</a>');},prettyNumber:function(num){if(num>9999){return(num/1000).ceil()+'K';}
return num;},message:function(msg){var msg=new Element('div',{'class':'msg','html':'<p>'+msg+'</p>'});SqueezeBox.open(msg,{size:{x:300,y:50},handler:'adopt'});}});new MainApp();});
