/*	
 *  Backbone Plugins v2.2
 *
 *  Gallerize v2.2
 *  Tweetize v1.0
 *
 */

/*!
 * jQuery UI 1.8.16
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
c.ui.isOverAxis(b,e,i)}})}})(jQuery);
;

/*!
 * jQuery UI Widget 1.8.16
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Widget
 */
(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
;


/*
 * touchSwipe - jQuery Plugin
 * http://plugins.jquery.com/project/touchSwipe
 * http://labs.skinkers.com/touchSwipe/
 *
 * Copyright (c) 2010 Matt Bryson (www.skinkers.com)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 *
 * $version: 1.2.3
 * This jQuery plugin will only run on devices running Mobile Webkit based browsers (iOS 2.0+, android 2.2+)
 */
 
(function($){$.fn.swipe=function(options){if(!this)return false;var defaults={fingers:1,threshold:75,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,click:null,triggerOnTouchEnd:true,allowPageScroll:"auto"};var LEFT="left";var RIGHT="right";var UP="up";var DOWN="down";var NONE="none";var HORIZONTAL="horizontal";var VERTICAL="vertical";var AUTO="auto";var PHASE_START="start";var PHASE_MOVE="move";var PHASE_END="end";var PHASE_CANCEL="cancel";var phase="start";if(options.allowPageScroll==undefined&&(options.swipe!=undefined||options.swipeStatus!=undefined))options.allowPageScroll=NONE;if(options)$.extend(defaults,options);return this.each(function(){var $this=$(this);var triggerElementID=null;var fingerCount=0;var start={x:0,y:0};var end={x:0,y:0};var delta={x:0,y:0};function touchStart(event){phase=PHASE_START;fingerCount=event.touches.length;distance=0;direction=null;if(fingerCount==defaults.fingers){start.x=end.x=event.touches[0].pageX;start.y=end.y=event.touches[0].pageY;if(defaults.swipeStatus)triggerHandler(event,phase);}else{touchCancel(event);}}
function touchMove(event){if(phase==PHASE_END||phase==PHASE_CANCEL)return;end.x=event.touches[0].pageX;end.y=event.touches[0].pageY;direction=caluculateDirection();fingerCount=event.touches.length;phase=PHASE_MOVE
validateDefaultEvent(event,direction);if(fingerCount==defaults.fingers){distance=caluculateDistance();if(defaults.swipeStatus)triggerHandler(event,phase,direction,distance);if(!defaults.triggerOnTouchEnd){if(distance>=defaults.threshold){phase=PHASE_END;triggerHandler(event,phase);touchCancel(event);}}}else{phase=PHASE_CANCEL;triggerHandler(event,phase);touchCancel(event);}}
function touchEnd(event){event.preventDefault();distance=caluculateDistance();direction=caluculateDirection();if(defaults.triggerOnTouchEnd){phase=PHASE_END;if(fingerCount==defaults.fingers&&end.x!=0){if(distance>=defaults.threshold){triggerHandler(event,phase);touchCancel(event);}else{phase=PHASE_CANCEL;triggerHandler(event,phase);touchCancel(event);}}else{phase=PHASE_CANCEL;triggerHandler(event,phase);touchCancel(event);}}else if(phase==PHASE_MOVE){phase=PHASE_CANCEL;triggerHandler(event,phase);touchCancel(event);}}
function touchCancel(event){fingerCount=0;start.x=0;start.y=0;end.x=0;end.y=0;delta.x=0;delta.y=0;}
function triggerHandler(event,phase){if(defaults.swipeStatus)defaults.swipeStatus.call($this,event,phase,direction||null,distance||0);if(phase==PHASE_CANCEL){if(defaults.click&&fingerCount==1&&(isNaN(distance)||distance==0))defaults.click.call($this,event,event.target);}
if(phase==PHASE_END){if(defaults.swipe){defaults.swipe.call($this,event,direction,distance);}
switch(direction){case LEFT:if(defaults.swipeLeft)defaults.swipeLeft.call($this,event,direction,distance);break;case RIGHT:if(defaults.swipeRight)defaults.swipeRight.call($this,event,direction,distance);break;case UP:if(defaults.swipeUp)defaults.swipeUp.call($this,event,direction,distance);break;case DOWN:if(defaults.swipeDown)defaults.swipeDown.call($this,event,direction,distance);break;}}}
function validateDefaultEvent(event,direction){if(defaults.allowPageScroll==NONE){event.preventDefault();}else{var auto=defaults.allowPageScroll==AUTO;switch(direction){case LEFT:if((defaults.swipeLeft&&auto)||(!auto&&defaults.allowPageScroll!=HORIZONTAL))event.preventDefault();break;case RIGHT:if((defaults.swipeRight&&auto)||(!auto&&defaults.allowPageScroll!=HORIZONTAL))event.preventDefault();break;case UP:if((defaults.swipeUp&&auto)||(!auto&&defaults.allowPageScroll!=VERTICAL))event.preventDefault();break;case DOWN:if((defaults.swipeDown&&auto)||(!auto&&defaults.allowPageScroll!=VERTICAL))event.preventDefault();break;}}}
function caluculateDistance(){return Math.round(Math.sqrt(Math.pow(end.x-start.x,2)+Math.pow(end.y-start.y,2)));}
function caluculateAngle(){var X=start.x-end.x;var Y=end.y-start.y;var r=Math.atan2(Y,X);var angle=Math.round(r*180/Math.PI);if(angle<0)angle=360-Math.abs(angle);return angle;}
function caluculateDirection(){var angle=caluculateAngle();if((angle<=45)&&(angle>=0))return LEFT;else if((angle<=360)&&(angle>=315))return LEFT;else if((angle>=135)&&(angle<=225))return RIGHT;else if((angle>45)&&(angle<135))return DOWN;else return UP;}
try{this.addEventListener("touchstart",touchStart,false);this.addEventListener("touchmove",touchMove,false);this.addEventListener("touchend",touchEnd,false);this.addEventListener("touchcancel",touchCancel,false);}catch(e){}});};})(jQuery);



/*	
 *	Gallerize : jQuery image slider plugin version 2.3
 *
 *	Written by Felix Wang @ Backbone Technology
 *	© Backbone Technology inc.
 *	http://www.backbonetechnology.com
 *
 */

(function($){$.widget("ui.gallerize",{options:{slider:null,item:null,itemsPerRow:1,itemClickable:false,itemEvent:null,modernizr:false,touchswipe:false,touchswipeInit:null,continuous:true,speed:500,current:0,vertical:false,width:'100%',height:'auto',sliderW:0,overallWidth:0,overallHeight:0,autoplay:false,duration:7000,timer:null,imgInCSS:false,img:null,imgCon:null,imgPos:'center center',before:null,after:null,navigation:false,prev:null,next:null,prevEvent:null,nextEvent:null,pager:false,pagerCon:'',pagerNum:true,pagerTitle:false,pagerTitleClass:'',pagerItemClass:''},_create:function(){var self=this;var o=self.options;var el=self.element;var slider=$(o.slider,el);var item=$(o.item,el);var total=Math.ceil(parseInt(item.length)/parseInt(o.itemsPerRow));var width=o.width;var sliderW=total*width;var height=o.height;var sliderH=total*height;var speed=o.speed;var is_trans=false;var duration=o.duration;var pager=$(o.pagerCon);var pager_row=0;var isTouchSwipe=false;if(o.vertical){if(o.overallWidth>0)slider.css({width:overallWidth});else slider.css({width:sliderW});}else{if(o.overallHeight>0)slider.css({width:overallHeight});else slider.css({width:sliderH});}
item.each(function(i){if(o.imgInCSS){var img=$(o.img,this).attr('src');if(!o.imgCon)$(this).css({background:'url("'+img+'") no-repeat '+o.imgPos});else $(o.imgCon,this).css({background:'url("'+img+'") no-repeat 50% 50%'});}
if(o.pager){var title=$(o.pagerTitleClass,this).html();if(o.pagerNum){$('<li id="pager-'+i+'" class="count-'+i+' pager-item '+o.pagerItemClass+'"><a>'+(i+1)+'</a></li>').appendTo(o.pagerCon,el);}else if(o.pagerTitle){$('<li id="pager-'+i+'" class="count-'+i+' pager-item '+o.pagerItemClass+'"><a>'+title+'</a></li>').appendTo(o.pagerCon,el);}else{$('<li id="pager-'+i+'" class="count-'+i+' pager-item '+o.pagerItemClass+'"><a></a></li>').appendTo(o.pagerCon,el);}}});if(o.pager){$('li.pager-item a',pager).click(function(e){e.preventDefault();pager.find('.active').removeClass('active');o.current=$(this).parents('li').attr('id').replace('pager-','');$(this).parents('li').addClass('active');slide();});}
if(o.navigation){el.find(o.prev).click(prev);el.find(o.next).click(next);}
item.eq(o.current).addClass('current');slide();if(o.autoplay){if(Modernizr.touch&&o.touchswipe){}else{o.timer=setTimeout(function(){autoplay_next()},duration);}}
function autoplay_next(){o.current++;if(o.current>total-1){if(o.continuous)o.current=0;else o.current=total-1;}
slide();}
if(o.touchswipe)if(Modernizr.touch)touch();function touch(){isTouchSwipe=true;slider.swipe({triggerOnTouchEnd:true,swipeStatus:swipeStatus,allowPageScroll:"vertical",threshold:200});}
function swipeStatus(event,phase,direction,distance){if(typeof o.bofore=='function')o.before.call(this);if(phase=="move"&&(direction=="left"||direction=="right")){var duration=0;if(direction=="left")scrollImages((width*o.current)+distance,duration);else if(direction=="right")scrollImages((width*o.current)-distance,duration);}else if(phase=="cancel"){scrollImages(width*o.current,speed);}else if(phase=="end"){if(direction=="right")touch_prev();else if(direction=="left")touch_next();if(typeof o.after=='function')o.after.call(this);}}
function touch_prev(){o.current=Math.max(o.current-1,0);scrollImages(width*o.current,speed);}
function touch_next(){o.current=Math.min(o.current+1,total-1);scrollImages(width*o.current,speed);}
function scrollImages(distance,duration){slider.css("-webkit-transition-duration",(duration/1000).toFixed(1)+"s");var value=(distance<0?"":"-")+Math.abs(distance).toString();slider.css("-webkit-transform","translate3d("+value+"px,0px,0px)");}
function prev(e){e.preventDefault();if(Modernizr.touch){if(o.touchswipe)touch_prev();else prev_process();}else{if(!o.modernizr){if(!is_trans){is_trans=true;prev_process();}}else{prev_process();}}}
function prev_process(){o.current--;if(o.current<0){if(o.continuous)o.current=total-1;else o.current=0;}
if(typeof o.prevEvent=='function')o.prevEvent.call(this);slide();}
function next(e){e.preventDefault();if(Modernizr.touch){if(o.touchswipe)touch_next();else next_process();}else{if(!o.modernizr){if(!is_trans){is_trans=true;next_process();}}else{next_process();}}}
function next_process(){o.current++;if(o.current>total-1){if(o.continuous)o.current=0;else o.current=total-1;}
if(typeof o.nextEvent=='function')o.nextEvent.call(this);slide();}
function slide(){if(!o.touchswipe&&o.autoplay){clearTimeout(o.timer);o.timer=setTimeout(function(){autoplay_next()},duration);}
if(typeof o.before=='function')o.before.call(this);var pos;if(o.vertical){pos=-(o.current*height);}else{pos=-(o.current*width);}
if(o.modernizr){if(Modernizr.touch){if(o.vertical){slider.css({"-webkit-transform":'translate(0,'+pos+'px)'});}else{slider.css({"-webkit-transform":'translate('+pos+'px,0)'});}}else if(Modernizr.csstransitions){if(o.vertical){slider.css({top:pos});}else{slider.css({left:pos});}}else{if(o.vertical){slider.animate({top:pos},speed);}else{slider.animate({left:pos},speed);}}}else{if(o.vertical){slider.animate({top:pos},speed,function(){is_trans=false;});}else{slider.animate({left:pos},speed,function(){is_trans=false;});}}
item.each(function(){if($(this).hasClass('current'))item.removeClass('current');});item.eq(o.current).addClass('current');if(o.pager){pager.find('.active').removeClass('active');pager.find('.pager-item').eq(o.current).addClass('active');}
if(typeof o.after=='function')o.after.call(this);}},set_current:function(value){this.options.current=value;},set_autoplay:function(value){if(value==false){clearTimeout(this.options.timer);}else{clearTimeout(this.options.timer);this.options.timer=setTimeout();}
this.options.autoplay=value;},update:function(){this.element.find(this.options.slider).css({left:-(this.options.current*this.options.width)});},destroy:function(){$.Widget.prototype.destroy.apply(this,arguments);}});})(jQuery);


// jquery.tweet.js - See http://tweet.seaofclouds.com/ or https://github.com/seaofclouds/tweet for more info
// Copyright (c) 2008-2011 Todd Matthews & Steve Purcell

(function($){$.fn.tweet=function(o){var s=$.extend({username:null,list:null,favorites:false,query:null,avatar_size:null,count:3,fetch:null,page:1,retweets:true,intro_text:null,outro_text:null,join_text:null,auto_join_text_default:"i said,",auto_join_text_ed:"i",auto_join_text_ing:"i am",auto_join_text_reply:"i replied to",auto_join_text_url:"i was looking at",loading_text:null,refresh_interval:null,twitter_url:"twitter.com",twitter_api_url:"api.twitter.com",twitter_search_url:"search.twitter.com",template:"{avatar}{time}{join}{text}",comparator:function(tweet1,tweet2){return tweet2["tweet_time"]-tweet1["tweet_time"];},filter:function(tweet){return true;}},o);var url_regexp=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi;function t(template,info){if(typeof template==="string"){var result=template;for(var key in info){var val=info[key];result=result.replace(new RegExp('{'+key+'}','g'),val===null?'':val);}
return result;}else return template(info);}
$.extend({tweet:{t:t}});function replacer(regex,replacement){return function(){var returning=[];this.each(function(){returning.push(this.replace(regex,replacement));});return $(returning);};}
$.fn.extend({linkUrl:replacer(url_regexp,function(match){var url=(/^[a-z]+:/i).test(match)?match:"http://"+match;return"<a href=\""+url+"\">"+match+"</a>";}),linkUser:replacer(/@(\w+)/gi,"@<a href=\"http://"+s.twitter_url+"/$1\">$1</a>"),linkHash:replacer(/(?:^| )[\#]+([\w\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff\u0600-\u06ff]+)/gi,' <a href="http://'+s.twitter_search_url+'/search?q=&tag=$1&lang=all'+((s.username&&s.username.length==1&&!s.list)?'&from='+s.username.join("%2BOR%2B"):'')+'">#$1</a>'),capAwesome:replacer(/\b(awesome)\b/gi,'<span class="awesome">$1</span>'),capEpic:replacer(/\b(epic)\b/gi,'<span class="epic">$1</span>'),makeHeart:replacer(/(&lt;)+[3]/gi,"<tt class='heart'>&#x2665;</tt>")});function parse_date(date_str){return Date.parse(date_str.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i,'$1,$2$4$3'));}
function relative_time(date){var relative_to=(arguments.length>1)?arguments[1]:new Date();var delta=parseInt((relative_to.getTime()-date)/1000,10);var r='';if(delta<60){r=delta+' seconds ago';}else if(delta<120){r='a minute ago';}else if(delta<(45*60)){r=(parseInt(delta/60,10)).toString()+' minutes ago';}else if(delta<(2*60*60)){r='an hour ago';}else if(delta<(24*60*60)){r=''+(parseInt(delta/3600,10)).toString()+' hours ago';}else if(delta<(48*60*60)){r='a day ago';}else{r=(parseInt(delta/86400,10)).toString()+' days ago';}
return'about '+r;}
function build_auto_join_text(text){if(text.match(/^(@([A-Za-z0-9-_]+)) .*/i)){return s.auto_join_text_reply;}else if(text.match(url_regexp)){return s.auto_join_text_url;}else if(text.match(/^((\w+ed)|just) .*/im)){return s.auto_join_text_ed;}else if(text.match(/^(\w*ing) .*/i)){return s.auto_join_text_ing;}else{return s.auto_join_text_default;}}
function maybe_https(url){return('https:'==document.location.protocol)?url.replace(/^http:/,'https:'):url;}
function build_api_url(){var proto=('https:'==document.location.protocol?'https:':'http:');var count=(s.fetch===null)?s.count:s.fetch;if(s.list){return proto+"//"+s.twitter_api_url+"/1/"+s.username[0]+"/lists/"+s.list+"/statuses.json?page="+s.page+"&per_page="+count+"&callback=?";}else if(s.favorites){return proto+"//"+s.twitter_api_url+"/favorites/"+s.username[0]+".json?page="+s.page+"&count="+count+"&callback=?";}else if(s.query===null&&s.username.length==1){return proto+'//'+s.twitter_api_url+'/1/statuses/user_timeline.json?screen_name='+s.username[0]+'&count='+count+(s.retweets?'&include_rts=1':'')+'&page='+s.page+'&callback=?';}else{var query=(s.query||'from:'+s.username.join(' OR from:'));return proto+'//'+s.twitter_search_url+'/search.json?&q='+encodeURIComponent(query)+'&rpp='+count+'&page='+s.page+'&callback=?';}}
function extract_template_data(item){var o={};o.item=item;o.source=item.source;o.screen_name=item.from_user||item.user.screen_name;o.avatar_size=s.avatar_size;o.avatar_url=maybe_https(item.profile_image_url||item.user.profile_image_url);o.retweet=typeof(item.retweeted_status)!='undefined';o.tweet_time=parse_date(item.created_at);o.join_text=s.join_text=="auto"?build_auto_join_text(item.text):s.join_text;o.tweet_id=item.id_str;o.twitter_base="http://"+s.twitter_url+"/";o.user_url=o.twitter_base+o.screen_name;o.tweet_url=o.user_url+"/status/"+o.tweet_id;o.reply_url=o.twitter_base+"intent/tweet?in_reply_to="+o.tweet_id;o.retweet_url=o.twitter_base+"intent/retweet?tweet_id="+o.tweet_id;o.favorite_url=o.twitter_base+"intent/favorite?tweet_id="+o.tweet_id;o.retweeted_screen_name=o.retweet&&item.retweeted_status.user.screen_name;o.tweet_relative_time=relative_time(o.tweet_time);o.tweet_raw_text=o.retweet?('RT @'+o.retweeted_screen_name+' '+item.retweeted_status.text):item.text;o.tweet_text=$([o.tweet_raw_text]).linkUrl().linkUser().linkHash()[0];o.tweet_text_fancy=$([o.tweet_text]).makeHeart().capAwesome().capEpic()[0];o.user=t('<a class="tweet_user" href="{user_url}">{screen_name}</a>',o);o.join=s.join_text?t(' <span class="tweet_join">{join_text}</span> ',o):' ';o.avatar=o.avatar_size?t('<a class="tweet_avatar" href="{user_url}"><img src="{avatar_url}" height="{avatar_size}" width="{avatar_size}" alt="{screen_name}\'s avatar" title="{screen_name}\'s avatar" border="0"/></a>',o):'';o.time=t('<span class="tweet_time"><a href="{tweet_url}" title="view tweet on twitter">{tweet_relative_time}</a></span>',o);o.text=t('<span class="tweet_text">{tweet_text_fancy}</span>',o);o.reply_action=t('<a class="tweet_action tweet_reply" href="{reply_url}">reply</a>',o);o.retweet_action=t('<a class="tweet_action tweet_retweet" href="{retweet_url}">retweet</a>',o);o.favorite_action=t('<a class="tweet_action tweet_favorite" href="{favorite_url}">favorite</a>',o);return o;}
return this.each(function(i,widget){var list=$('<ul class="tweet_list">').appendTo(widget);var intro='<p class="tweet_intro">'+s.intro_text+'</p>';var outro='<p class="tweet_outro">'+s.outro_text+'</p>';var loading=$('<p class="loading">'+s.loading_text+'</p>');if(s.username&&typeof(s.username)=="string"){s.username=[s.username];}
if(s.loading_text)$(widget).append(loading);$(widget).bind("tweet:load",function(){$.getJSON(build_api_url(),function(data){if(s.loading_text)loading.remove();if(s.intro_text)list.before(intro);list.empty();var tweets=$.map(data.results||data,extract_template_data);tweets=$.grep(tweets,s.filter).sort(s.comparator).slice(0,s.count);list.append($.map(tweets,function(o){return"<li>"+t(s.template,o)+"</li>";}).join('')).children('li:first').addClass('tweet_first').end().children('li:odd').addClass('tweet_even').end().children('li:even').addClass('tweet_odd');if(s.outro_text)list.after(outro);$(widget).trigger("loaded").trigger((tweets.length===0?"empty":"full"));if(s.refresh_interval){window.setTimeout(function(){$(widget).trigger("tweet:load");},1000*s.refresh_interval);}});}).trigger("tweet:load");});};})(jQuery);


// Tweetize

(function($){$.widget("ui.tweetize",{options:{count:1,linkText:'',account:'backbonetech',itemBefore:'',itemAfter:'',callback:null},parse_time:function(time_value){var values=time_value.split(" ");time_value=values[1]+" "+values[2]+", "+values[5]+" "+values[3];var parsed_date=Date.parse(time_value);var relative_to=(arguments.length>1)?arguments[1]:new Date();var delta=parseInt((relative_to.getTime()-parsed_date)/1000);delta=delta+(relative_to.getTimezoneOffset()*60);if(delta<60){return'less than a minute ago';}else if(delta<120){return'about a minute ago';}else if(delta<(60*60)){return(parseInt(delta/60)).toString()+' minutes ago';}else if(delta<(120*60)){return'about an hour ago';}else if(delta<(24*60*60)){return'about '+(parseInt(delta/3600)).toString()+' hours ago';}else if(delta<(48*60*60)){return'1 day ago';}else{return(parseInt(delta/86400)).toString()+' days ago';}},text_to_url:function(text){var o=this.options;var exp=/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;var anchor='';if(o.linkText.length){anchor=text.replace(exp,"<a target='_blank' href='$1'>"+linkText+"</a>");}else{anchor=text.replace(exp,"<a target='_blank' href='$1'>$1</a>");}
return anchor;},_create:function(){var self=this;var o=self.options;var el=self.element;$.getJSON('http://twitter.com/statuses/user_timeline.json?screen_name='+o.account+'&count='+(o.count+1)+'&callback=?',function(tweet){for(i=0;i<o.count;i++){el.append(o.itemBefore+'<span class="text">'+self.text_to_url(tweet[i].text)+'</span>'+'<small>'+self.parse_time(tweet[i].created_at)+'</small>'+o.itemAfter);}
if(typeof o.callback=='function')o.callback.call(this);});},destroy:function(){$.Widget.prototype.destroy.apply(this,arguments);}});})(jQuery);


/*	
 *	Readmore : jQuery Text Stripper plugin version 1.0
 *
 *	Written by Felix Wang @ Backbone Technology
 *	© Backbone Technology inc.
 *	http://www.backbonetechnology.com
 *
 */

(function($){$.widget("ui.readmore",{options:{length:200,callback:null},_create:function(){var self=this;var o=self.options;var el=self.element;var text=el.html();var trim='';if(text.length)trim=text.substr(0,o.length);if(text.length>o.length)trim+='…';el.html(trim);if(typeof o.callback=='function')o.callback.call(this);},destroy:function(){$.Widget.prototype.destroy.apply(this,arguments);}});})(jQuery);



/*	
 *	getUrlVars : jQuery Get Url Variables Plugin version 1.0
 *
 *	Written by Felix Wang @ Backbone Technology
 *	© Backbone Technology inc.
 *	http://www.backbonetechnology.com
 *
 */
 
jQuery.extend({getUrlVars:function(){var vars=[],hash;var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');for(var i=0;i<hashes.length;i++){hash=hashes[i].split('=');vars.push(hash[0]);vars[hash[0]]=hash[1];}
return vars;},getUrlVar:function(name){return jQuery.getUrlVars()[name];}});
