window.AboutMe={_name:"AboutMe",error:function(msg,o){o=o||{};o.status="error";return AboutMe.alert(msg,o);},alert:function(msg,o){return AboutMe.notification.modal(msg,o);},confirm:function(msg,handler,o){if(typeof handler!="function"){throw"Invalid handler function.";}o=$.extend({title:"Confirmation",close:function(){$("body").unbind("keydown.confirm-true").unbind("keydown.confirm-false");},closeOnEscape:false},o);var dd=AboutMe.notification.modal(msg,o);var buttons=o.buttons||{"Yes":function(){$(dd).dialog("close");handler(true);},"No":function(){$(dd).dialog("close");handler(false);}};var buttonset=dd.closest(".ui-dialog").find(".ui-dialog-buttonset").empty().addClass("buttons");for(var b in buttons){var button=$('<span class="button"><span class="button-content">'+b+"</span></span>");button.click(buttons[b]);buttonset.append(button);}buttonset.find("span.button").eq(0).addClass("button-default");$("body").bind("keydown.confirm-true",function(e){handleReturnKey(e,function(){$(dd).dialog("close");handler(true);});});$("body").bind("keydown.confirm-false",function(e){handleEscapeKey(e,function(){$(dd).dialog("close");handler(false);});});return dd;},bubble:function(msg,o){return AboutMe.notification.bubble.init(msg,o);},banner:function(msg,o){return AboutMe.notification.banner(msg,o);},inlinebanner:function(msg,o){return AboutMe.notification.inlinebanner(msg,o);},timestamp:function(){debug("- "+(new Date()).getTime()+" -");}};AboutMe.init=function(){AboutMe.menu.init();AboutMe.FindPeople.init();$(".expandable.expandable-trigger, .expandable .expandable-trigger, .expandable .expandable-toggle").click(function(){var ex=$(this).closest(".expandable");if(ex.find(".expanded-content-animate").length){if(ex.hasClass("expanded")){ex.find(".expanded-content-animate").slideToggle("fast",function(){ex.toggleClass("expanded");});}else{ex.find(".expanded-content-animate").slideToggle("fast");ex.toggleClass("expanded");}}else{ex.toggleClass("expanded");}}).filter("a").click(function(){return false;});if(!AboutMe.g){AboutMe.g={};}AboutMe.g.now=new Date();AboutMe.g.timezone=-AboutMe.g.now.getTimezoneOffset()*60000;$(window).scroll(function(){if(document.body.scrollTop>AboutMe.g.NAV_HEIGHT){$("body").addClass("scrolled");}else{$("body").removeClass("scrolled");}});};$(document).ready(AboutMe.init);AboutMe.htmlEncode=function(value){return $("<div/>").text(value).html();};AboutMe.htmlDecode=function(value){return $("<div/>").html(value).text();};AboutMe.menu={init:function(){$(".menu .menu-toggle").live("click.menu",AboutMe.menu.toggle);$("body, .menu a").live("click.menu",AboutMe.menu.hide);$(".menu li.separator, .menu li.disabled a").click(function(e){e.preventDefault();return false;});},toggle:function(){var thisitem=$(this).closest("li");if(thisitem.hasClass("disabled")){return false;}var thismenu=$(this).closest(".menu");var thismenucontent=thismenu.find(".menu-content");$(".menu").not(thismenu).removeClass("menu-active");$(".menu .menu-content").not(thismenucontent).hide();thismenu.toggleClass("menu-active");if($.browser.msie&&parseInt($.browser.version)<=8){if(thismenu.closest("#profile_box .actions").length){$("#profile_box .actions").toggleClass("menu-overflow-fix");}}thismenucontent.stop(false,true).toggleFade({speedIn:150,speedOut:250});if($(this).hasClass("menu-toggle")){return false;}},hide:function(){$(".menu.menu-active").removeClass("menu-active").find(".menu-content").stop(false,true).fadeOut(250);if($.browser.msie&&parseInt($.browser.version)==7){$("#profile_box .actions").removeClass("menu-overflow-fix");}}};AboutMe.FindPeople={init:function(){$("#header li.peoplemenu li.findform input").click(function(e){e.preventDefault();return false;});$("#header li.peoplemenu .fauxfield").bind("click.focusfield",function(e){$.doTimeout(10,function(){$("#header li.findform input").val("").focus();});});$("#header li.peoplemenu li.findform form").submit(AboutMe.FindPeople.find);},find:function(){var val=$(this).find("input.text").val();if(val==""){return;}var uu="/search/#!/name/";var chunks=val.split(" ");if(chunks.length>2){var last=chunks.pop();var first=chunks.join("+");var query=first+"/"+last;}else{var query=chunks.join("/");}document.location=uu+query;}};AboutMe.ajax={_name:"AboutMe.ajax",_queue:[],_error:function(api_call,options,data,textStatus,errorThrown,error_hook){if(!error_hook){AboutMe.error("AJAX api call error: "+api_call+": "+textStatus+": "+JSON.stringify(data));}else{error_hook(data,options,api_call,textStatus,errorThrown);}},_begin:function(api_call,options){if(!options.begin){}else{options.begin(api_call,options);}},_complete:function(api_call,options,textStatus,complete_hook){if(!complete_hook){}else{complete_hook(options,api_call,textStatus);}},_success:function(api_call,options,data,textStatus,success_hook){if(!success_hook){AboutMe.alert("AJAX callback successful: "+api_call+": "+textStatus+": "+JSON.stringify(data));}else{success_hook(data,options,api_call,textStatus);}},_mangle:function(params){var p={};p.data={};p.options={};p.callback=null;if(params.length<1||typeof params[0]!="string"){throw"Invalid api_call.";}p.api_call=params[0];var fields=["data","options","options"];var _i=0;for(i=1;i<4;i++){if(!params[i]){continue;}if($.isFunction(params[i])){p.callback=params[i];continue;}p[fields[_i]]=params[i];_i++;}if(!p.callback&&p.options.success&&$.isFunction(p.options.success)){p.callback=p.options.success;}return p;},_checkQueue:function(){if(this._queue.length){var request=this._queue.shift();request.call();}else{this.queued=false;}},get:function(api_call,data,options,callback){var p=this._mangle([api_call,data,options,callback]);p.options.type="GET";this.request(p.api_call,p.data,p.options,p.callback);},post:function(api_call,data,options,callback){var p=this._mangle([api_call,data,options,callback]);p.options.type="POST";this.request(p.api_call,p.data,p.options,p.callback);},load:function(api_call,target,data,callback){handler=function(response,success,xhr){if(success=="error"){AboutMe.banner("There was an error. Please try again later.",{status:"error"});}if(callback){callback(response,success,xhr);}};$.extend(data,{call:api_call});$.ajaxSetup({cache:false});$(target).load("/ajax",data,handler);},request:function(api_call,data,options,callback){var _this=this;var success_hook=$.isFunction(callback)?callback:null;var error_hook=$.isFunction(options.error)?options.error:null;var complete_hook=$.isFunction(options.complete)?options.complete:null;if(options.data){$.extend(data,options.data);}$.each(["complete","data","error","success"],function(i,v){delete options[v];});var jquery_options={};var _jqopt=["async","beforeSend","cache","complete","contentType","context","data","dataFilter","dataType","error","global","ifModified","jsonp","jsonpCallback","password","processData","scriptCharset","success","timeout","traditional","type","url","username","xhr"];$.each(options,function(key,value){if($.inArray(key,_jqopt)!=-1){jquery_options[key]=value;delete options[key];}});var success_callback=function(data,textStatus,xhr){if(data.error){var _error=parseInt(data.error);if(_error){data.error=_error;}else{data.msg=data.error;data.error=1;}}else{data.error=0;if(!data.msg){data.msg="";}}if(!data.success||data.error!=0){_this._error(api_call,options,data,textStatus,"BackendError",error_hook);}else{_this._success(api_call,options,data,textStatus,success_hook);}};var error_callback=function(xhr,textStatus,errorThrown){var data={success:false,error:-1,msg:"An error has occurred."};_this._error(api_call,options,data,textStatus,errorThrown,error_hook);};var complete_callback=function(xhr,textStatus){_this._complete(api_call,options,textStatus,complete_hook);};var input=$.extend({},data,{call:api_call});var ajax_options={cache:false,complete:complete_callback,data:input,dataType:"json",error:error_callback,success:success_callback,type:"POST",url:"/ajax"};$.extend(ajax_options,jquery_options);_this._begin(api_call,options);$.ajax(ajax_options);},debug:function(output,prefix){if(output.error&&output.msg){var msg="";if(prefix){msg+=prefix+": ";}msg+=output.error+": ";msg+=output.msg;debug(msg);}else{debug("AboutMe.ajax.debug failed: output glob is missing needed properties.");debug(output);}}};AboutMe.Saver=function(o){this.data={};this.throttled=null;this.saving=false;this.cache={_id:"cache data"};this.attempts=0;this.options={delay:5000,call:"save",maxattempts:10};if(o){$.extend(this.options,o);}};AboutMe.Saver.prototype={save:function(key,value){var obj=this;var data=obj._mangle(key,value);$.extend(obj.data,data);if($.isEmptyObject(obj.data)){return;}clearTimeout(obj.throttled);obj.throttled=setTimeout(function(){obj._submit();},obj.options.delay);},updatecache:function(key,value){var obj=this;var data=obj._mangle(key,value);$.extend(obj.cache,data);},_mangle:function(key,value){var data=null;if(typeof key=="string"&&typeof value!="undefined"){data={};data[key]=value;}if(typeof key=="object"&&typeof value=="undefined"){data=key;}if(typeof key=="undefined"&&typeof value=="undefined"){data={};}if(!data){debug(key);debug(value);throw"Invalid save data.";}return data;},_checkCache:function(data){var returndata={};for(var key in data){if(data.hasOwnProperty(key)){var valid=true;if(this.cache[key]!=null){if(JSON.stringify(data[key])==JSON.stringify(this.cache[key])){valid=false;}}if(valid){returndata[key]=data[key];}}}return returndata;},_submit:function(){var obj=this;if(obj.saving){return;}obj.data=obj._checkCache(obj.data);if($.isEmptyObject(obj.data)){return;}var input={};$.extend(input,obj.data);obj.data={};var options={success:function(output,options,api_call,textStatus){obj._saveSuccess(input,output,options,api_call,textStatus);},error:function(output,options,api_call,textStatus){obj._saveError(input,output,options,api_call,textStatus);}};if(typeof obj.options.beforeSave=="function"){obj.options.beforeSave();}obj.saving=true;AboutMe.ajax.post(obj.options.call,input,options);if(typeof obj.options.afterSave=="function"){obj.options.afterSave();}},_unthrottle:function(){var obj=this;clearTimeout(obj.throttled);obj.throttled=null;},_saveComplete:function(input,output,options,api_call,textStatus){var obj=this;obj.saving=false;obj.attempts=0;obj.save();},_saveSuccess:function(input,output,options,api_call,textStatus){var obj=this;delete input["call"];obj.updatecache(input);obj._list(input);if(typeof obj.options.success=="function"){obj.options.success(input,output,options,api_call,textStatus);}else{debug("Save succeeded.");}obj._saveComplete(input,output,options,api_call,textStatus);},_saveError:function(input,output,options,api_call,textStatus){var obj=this;if(obj.options.maxattempts){if(obj.attempts<obj.options.maxattempts){obj.attempts++;debug("Save failed. Attempt#"+obj.attempts);obj.save(input);}else{obj.attempts=0;AboutMe.error("There was an error saving your changes. Please try again. You may need to reload the page.");}}if(typeof obj.options.error=="function"){obj.options.error(input,output,options,api_call,textStatus);}else{debug("Save failed.");debug(input);}obj._saveComplete(input,output,options,api_call,textStatus);},_list:function(data){for(var key in data){if(data.hasOwnProperty(key)){debug(key+": "+data[key]);}}}};AboutMe.TokenBox=function(node,o){this.node=$(node);this.o=$.extend({debug:false,allowPaste:true,trimtext:true,allowemptytext:false,ignoreinvalidinput:false,sortable:true,tokenize_keycodes:[9,13,32,188]},o);this.init();};AboutMe.TokenBox.prototype={init:function(){var obj=this;if(obj.o.limit){obj.o.limitmessage=obj.o.limitmessage||"Only "+obj.o.limit+" items allowed.";if(typeof obj.o.limitcallback=="undefined"){obj.o.limitcallback=function(){var obj=this;if(obj.limited){if(!obj.alarum){obj.alarum=$('<label class="alarum">'+obj.o.limitmessage+"</label>");obj.node.after(obj.alarum);}}else{if(obj.alarum){obj.alarum.remove();obj.alarum=null;}}};}}obj.input=$('<input type="text" class="tokeninput" autocomplete="off" spellcheck="false" />');if(obj.o.maxlength){obj.input.attr("maxlength",obj.o.maxlength);}obj.input.keydown(obj.handleKeydown);obj.input.keyup(obj.handleKeyup);obj.input.bind("paste",obj.handlePaste);obj.input.bind("keyup keydown focus update change",function(){$.doTimeout("scrolltoinput",10,function(){});});obj.input.attr("tabindex",obj.node.attr("tabindex"));obj.node.removeAttr("tabindex");obj.node.addClass("tokenbox").append(obj.input).click(function(){obj.deselectItem();obj.input.focus();});obj.input.blur(function(){});obj.input.autoGrowInput();if(obj.o.id){var partnertype=(obj.o.debug)?"text":"hidden";obj.partner=$('<input type="'+partnertype+'" id="'+obj.o.id+'" name="'+obj.o.id+'" size="100" />');obj.node.after(obj.partner);}if(obj.o.sortable){$(obj.node).sortable({containment:"parent",tolerance:"pointer",items:".token",cancel:"input.tokeninput, .remove",scroll:false,start:function(event,ui){obj.node.css("overflow","hidden");obj.node.find(".selected").removeClass("selected");ui.item.addClass("selected shadow");ui.placeholder.html("&nbsp;").css({"border":"1px dotted #666","height":"auto","opacity":0.2}).vshow();obj.input.blur();},stop:function(event,ui){obj.node.css("overflow","auto");ui.item.removeClass("selected shadow");obj.changed();obj.input.focus();}});}if(obj.o.items){obj.insertTokens(obj.o.items);}if(obj.o.init){obj.o.init.call(obj);}},handlePaste:function(e){var obj=$(this).closest(".tokenbox").tokenbox();if(!obj.o.allowPaste){return false;}if(obj.limited){return false;}if(obj.o.tokenizeOnPaste&&obj.o.tokenize){$.doTimeout("tokenize",100,function(){obj.o.tokenize.call(obj);});}},handleKeydown:function(e){var obj=$(this).closest(".tokenbox").tokenbox();e=getEvent(e);var kc=getKeyCode(e);if(e.metaKey||e.ctrlKey){return;}if(obj.input.val()==""&&$.inArray(kc,[8,9,13,37,38,39,40])>=0){switch(kc){case 8:obj.deleteSelectedItem();e.preventDefault();break;case 9:case 13:return;break;case 37:case 38:obj.selectPreviousItem();e.preventDefault();break;case 39:case 40:obj.selectNextItem();break;}}else{if(obj.limited){return false;}obj.deselectItem();obj.input.focus();obj.scrollToItem(obj.input);}if(obj.o.keydown){obj.o.keydown.apply(obj,[e]);}if($.inArray(kc,obj.o.tokenize_keycodes)>-1){if(kc==188&&e.shiftKey){return true;}if(obj.o.tokenize){obj.o.tokenize.call(obj);}else{var valid=obj.newToken(obj.input.val());if(!valid){if(obj.o.ignoreinvalidinput){obj.input.val("").removeClass("error").focus();}else{obj.input.addClass("error").focus();}}else{obj.input.val("").removeClass("error").focus();}}if(kc!=9&&kc!=32){obj.input.focus();e.preventDefault();}}},handleKeyup:function(e){var obj=$(this).closest(".tokenbox").tokenbox();if(obj.input.val()==""){obj.input.removeClass("error");}if(obj.o.keyup){obj.o.keyup.apply(obj,[e]);}},scrollToInput:function(){var obj=$(this).closest(".tokenbox").tokenbox();obj.node.scrollTop(obj.node[0].scrollHeight);},scrollToItem:function(item){item=$(item);var obj=item.closest(".tokenbox").tokenbox();itemtop=item.offset().top-obj.node.offset().top;},deleteSelectedItem:function(){var obj=this;var selected=obj.node.find(".token.selected");if(selected.length){selected.remove();obj.changed();obj.input.focus();}else{obj.selectLastItem();}},selectPreviousItem:function(){var obj=this;var selected=obj.node.find(".token.selected");if(selected.length){var previous=selected.prev(".token");if(previous.length){selected.removeClass("selected");previous.addClass("selected");obj.scrollToItem(previous);}}else{obj.selectLastItem();}},selectNextItem:function(){var obj=this;var selected=obj.node.find(".token.selected");if(selected.length){var next=selected.next(".token");selected.removeClass("selected");if(next.length){next.addClass("selected");obj.scrollToItem(next);}}},selectLastItem:function(){var obj=this;var last=obj.node.find(".token").last();if(last.length){last.addClass("selected");obj.scrollToItem(last);}},deselectItem:function(){var obj=this;obj.node.find(".selected").removeClass("selected");},checkLimit:function(){var obj=this;if(obj.o.limit&&obj.node.find(".token").length>=obj.o.limit){debug("Reached token limit: "+obj.o.limit);obj.limited=true;}else{obj.limited=false;}if(obj.o.limitcallback){obj.o.limitcallback.call(obj);}},newToken:function(text,o){var obj=this;if(obj.o.trimtext){text=$.trim(text);}if(obj.o.minlength&&text.length<obj.o.minlength){return false;}if(obj.o.validateToken){text=obj.o.validateToken.apply(obj,[text]);}if(!obj.o.allowemptytext){if(text===""){text=false;}}if(text===false){return false;}if(!obj.limited){o=$.extend({removable:true},o);var token=obj.tokenMarkup(text,o);if(o.removable){token.addClass("removable").prepend('<div class="remove">&nbsp;</div>').removable({afterRemove:function(){obj.changed();}});token.click(function(e){obj.node.find(".token.selected").removeClass("selected");$(this).addClass("selected");obj.input.focus();return false;});}obj.input.before(token);obj.changed();return(token);}},tokenMarkup:function(text,o){var token=$('<div class="token"><span class="token-content">'+AboutMe.htmlEncode(text)+"</span></div>");token.data("token",text);return token;},insertTokens:function(items,o){for(i in items){this.newToken(items[i],o);}},getTokens:function(){var tokens=[];this.node.find(".token").each(function(){var txt=$(this).data("token");tokens.push(txt);});return tokens;},changed:function(){var obj=this;if(obj.partner){var tokens=obj.getTokens();obj.partner.val(JSON.stringify(tokens));}obj.checkLimit();if(obj.o.onchange){obj.o.onchange.call(obj);}},reset:function(){var obj=this;obj.node.find(".token").remove();obj.changed();}};(function($){$.fn.tokenbox=function(options){if(this.data("tokenbox")){return this.data("tokenbox");}if($(this).find("input.tokeninput").length){return false;}return this.each(function(){$(this).data("tokenbox",new AboutMe.TokenBox(this,options));});};})(jQuery);AboutMe.TokenBox.configs={"tags":{tokenize_keycodes:[9,13,188],allowPaste:false,minlength:2,maxlength:30,id:"tags",limit:10,limitmessage:"You can enter up to 10 tags.",limitcallback:function(){},init:function(){},validateToken:function(text){var obj=this;if(text.match(/[<>*?+\/\\\[\]\{\}]/g)){return false;}text=text.replace(/\s+/g," ");var tokens=obj.getTokens();for(var t in tokens){tokens[t]=tokens[t].toLowerCase();}if($.inArray(text.toLowerCase(),tokens)==-1){return text;}else{return false;}}}};AboutMe.ProgressBar=function(node,o){if(typeof node=="string"){this.node=$(this.template);this.node.find(".progress-message span").html(node);}else{this.node=$(node);if(!this.node.find(".progress-message").length){this.node.wrap('<div class="progress-message"></div>');}this.node=this.node.closest(".progress-message");if(!this.node.find(".progress-banner").length){this.node.wrap('<div class="progress-banner"></div>');}this.node=this.node.closest(".progress-banner");if(!this.node.find(".progressbar").length){this.node.append('<div class="progressbar"></div>');}debug(this.node);}this.o=$.extend({where:"body",maxwidth:600},o);if(this.o.where){this.node.appendTo(this.o.where);}this.init();return this.node;};AboutMe.ProgressBar.prototype={template:'<div class="progress-banner"><div class="progress-message"><span></span></div><div class="progressbar"></div></div>',init:function(){var obj=this;obj.left=0;obj.interval=setInterval(function(){obj.animate();},40);obj.checkWidth();$.doTimeout(100,function(){obj.checkWidth();});},checkWidth:function(){var obj=this;obj.node.css("width",obj.o.maxwidth+"px").vhide().show();var w=obj.node.find(".progress-message span").width();obj.node.css("width",w+20).vshow();},animate:function(){var obj=this;obj.left++;obj.node.find(".progressbar").css("background-position",obj.left+"px 0px");}};(function($){$.fn.progressbar=function(options){if(this.data("progressbar")){return this.data("progressbar");}return this.each(function(){$(this).data("progressbar",new AboutMe.ProgressBar(this,options));});};})(jQuery);AboutMe.popup=function(url,o){var win=false;o=$.extend({name:null,center:false,centerX:true,centerY:false,relativeTo:"browser",width:600,height:500,left:0,top:100,location:0,menubar:0,resizable:1,scrollbars:1,status:0,toolbar:0},o);var features="height="+o.height+",width="+o.width+",toolbar="+o.toolbar+",scrollbars="+o.scrollbars+",status="+o.status+",resizable="+o.resizable+",location="+o.location+",menuBar="+o.menubar;if(o.center){o.centerX=true;o.centerY=true;}if(o.relativeTo=="browser"){if(o.centerX){o.left=WindowInfo.left()+((WindowInfo.width()/2)-(o.width/2));}else{o.left=WindowInfo.left()+o.left;}if(o.centerY){o.top=WindowInfo.top()+((WindowInfo.height()/2)-(o.height/2));}else{o.top=WindowInfo.top()+o.top;}}else{if(o.centerX){o.left=(screen.availWidth-o.width)/2;}if(o.centerY){o.top=(screen.availHeight-o.height)/2;}}win=window.open(url,o.name,features+",left="+o.left+",top="+o.top);win.focus();return win;};AboutMe.tabs=function(node,o){this.node=$(node);this.o=$.extend({showfirsttab:true,trigger:"a.tab",attr:"href",tab:"div.tab",activeclass:"active",setquery:false,readquery:false,querykey:"#!/",activenode:function(trigger){return trigger;}},o);this.init();};AboutMe.tabs.prototype={init:function(){var obj=this;obj.tabs=[];obj.node.find(obj.o.trigger).each(function(){var trigger=$(this);var tabid=trigger.attr(obj.o.attr);var tab=$(obj.o.tab+tabid);if(tab.length){trigger.data("tab",tab);tab.data("trigger",trigger);obj.tabs.push(tab);}else{trigger.remove();}});obj.node.find(obj.o.trigger).bind("click",function(e){obj.showTab(this);e.preventDefault();});if(obj.o.readquery){var valid=obj.checkQuery();if(valid){obj.o.showfirsttab=false;obj.o.showtab=null;}$(window).bind("hashchange",function(){obj.checkQuery.call(obj);});}if(obj.o.showtab){var valid=obj.showTabByName(obj.o.showtab);if(valid){obj.o.showfirsttab=false;}}if(obj.o.showfirsttab){obj.showTab(obj.node.find(obj.o.trigger)[0]);}if(obj.o.afterInit){obj.o.afterInit.call(obj);}},checkQuery:function(){var obj=this;var qq=parseQuery(obj.o.querykey,null,"/",false);var valid=false;if(qq[0]){valid=obj.showTabByName(qq[0]);}return valid;},showTab:function(trigger){var obj=this;if(obj.o.beforeSwitch){var valid=obj.o.beforeSwitch.call(obj);if(!valid){return false;}}var trigger=$(trigger);var activenode=obj.o.activenode(trigger);if(activenode.hasClass(obj.o.activeclass)){return false;}$(obj.tabs).each(function(){$(this).hide();});obj.node.find(obj.o.trigger).each(function(){var activenode=obj.o.activenode($(this));activenode.removeClass(obj.o.activeclass);});trigger.data("tab").show();activenode.addClass(obj.o.activeclass);obj.currenttab=trigger.data("tab").attr("id");if(obj.o.setquery){document.location=obj.o.querykey+trigger.data("tab").attr("id");}if(obj.o.afterSwitch){obj.o.afterSwitch.call(obj);}},showTabByName:function(id){var obj=this;var tab=$(obj.o.tab+"#"+id);if(tab.length){obj.showTab(tab.data("trigger"));return true;}return false;}};(function($){$.fn.tabs=function(options){return this.each(function(){$(this).data("tabs",new AboutMe.tabs(this,options));});};})(jQuery);AboutMe.notification={modals:[],config:{modal:{status:"info",buttons:{"OK":function(){$(this).dialog("close");}}},modaldefaults:{modal:true,bgiframe:true,draggable:false,resizable:false,closeOnEscape:true},bubble:{status:"info",type:"default",sticky:false,width:250,delayduration:2000,fadeduration:500,minimizeduration:100,minimized:false,multiple:true,mintext:""},banner:{status:"confirmation",duration:5000,fadeduration:1000,position:top},inlinebanner:{visible:true,placement:"prepend",where:"#doccont",showmethod:"slide",status:"info",duration:0,fadeduration:1000,closeable:true,buttons:null},allowed:{statuses:["info","confirmation","warning","error"],placements:["before","after","replace","append","prepend"],showmethods:["slide","fade","show"]}},bubble:{init:function(msg,o){if(!msg){return;}o=$.extend({},AboutMe.notification.config.bubble,o);if(o.status=="ok"){o.status="confirmation";}if($.inArray(o.status,AboutMe.notification.config.allowed.statuses)==-1){throw"Invalid banner status: "+o.status;}if(!$(".bubbles").length){$("body").append('<div class="bubbles"></div>');}var hh="";hh+='<div class="notification bubble bubble-'+o.type+' invisible">';hh+='<div class="bubble-content">';hh+='<div class="bubble-min"></div>';hh+='<div class="bubble-max" style="display:none">';if(o.mintext){hh+="<span>"+o.mintext+"</span>";}hh+="</div>";hh+='<div class="message-content"><div>'+msg+"</div></div>";hh+="</div>";var dd=$(hh);dd.appendTo("div.bubbles");dd.css("width",o.width);if(o.minimized=="true"){$.doTimeout(o.type,o.delayduration,function(){dd.removeClass("invisible");AboutMe.notification.bubble.minimize(dd,o,true);});}else{$.doTimeout(o.type,o.delayduration,function(){dd.fadeIn(o.fadeduration);dd.removeClass("invisible");});}$(".bubble-min",dd).click(function(){AboutMe.notification.bubble.minimize(dd,o);});$(".bubble-max",dd).click(function(){AboutMe.notification.bubble.maximize(dd,o);});return dd;},minimize:function(dd,o,startminimized){var minimizeduration=startminimized?0:o.minimizeduration;var fadeduration=startminimized?o.fadeduration:0;var minimizedWidth=dd.find(".bubble-max").outerWidth(true);dd.addClass("minimized",minimizeduration);dd.animate({width:minimizedWidth},minimizeduration,function(){$(".bubble-min",this).hide();$(".bubble-max",this).fadeIn(fadeduration);});$.cookie(o.type+"_minimized","true",{path:"/"});},maximize:function(dd,o){$(".bubble-max",dd).hide();dd.animate({width:o.width},o.minimizeduration,function(){$(".bubble-min",dd).show();dd.removeClass("minimized",o.minimizeduration);});$.cookie(o.type+"_minimized","false",{path:"/"});}},modal:function(msg,o){if(!msg){return;}var options={};$.extend(options,AboutMe.notification.config.modal,o,AboutMe.notification.config.modaldefaults);if(msg.indexOf("<p>")<0){msg="<p>"+msg+"</p>";}var dd=$('<div class="alert-message">'+msg+"</div>");options.close=options.close||function(){$(this).dialog("destroy");dd.remove();};if(options.status=="error"){options.title=options.title||"It's not you, it's us";}dd.dialog(options);if(options.status=="error"){dd.parents(".ui-dialog").addClass("ui-dialog-error");}return dd;},banner:function(msg,o){if(!msg){return;}var options={};$.extend(options,AboutMe.notification.config.banner,o);if(options.status=="ok"){options.status="confirmation";}if($.inArray(options.status,AboutMe.notification.config.allowed.statuses)==-1){throw"Invalid banner status: "+options.status;}var hh="";hh+='<div class="notification banner banner-'+options.status+'">';hh+='<div class="banner-wrap">';hh+='<div class="banner-content">';hh+='<div class="banner-close"></div>';hh+='<span class="message-content">'+msg+"</span>";hh+="</div>";hh+="</div>";hh+="</div>";var dd=$(hh);$("body").find(".notification.banner").remove();dd.appendTo("body");var clearFadeTimer=function(){clearTimeout(dd.data("timer"));};var setFadeTimer=function(){clearFadeTimer();dd.data("timer",setTimeout(function(){dd.fadeOut(options.fadeduration);},options.duration));};setFadeTimer();dd.find(".banner-content").hover(clearFadeTimer,setFadeTimer);dd.find(".banner-close").click(function(){clearFadeTimer();dd.fadeOut("fast");});return dd;},inlinebanner:function(msg,o){if(!msg){return;}o=$.extend({},AboutMe.notification.config.inlinebanner,o);if(o.dismiss_id&&AboutMe.g.user_profile.dismissed_messages&&AboutMe.g.user_profile.dismissed_messages[o.dismiss_id]){debug("User has dismissed banner ID "+o.dismiss_id);return false;}if($.inArray(o.status,AboutMe.notification.config.allowed.statuses)==-1){throw"Invalid banner status: "+o.status;}if($.inArray(o.placement,AboutMe.notification.config.allowed.placements)==-1){throw"Invalid banner placement: "+o.placement;}var dd=$('<div class="notification inlinebanner inlinebanner-'+o.status+'"></div>');if(!o.visible){dd.hide();}if(o.id){dd.attr("id",o.id);}if(typeof msg=="string"){var hh="";hh+='<div class="banner-content">';if(o.buttons){hh+='<div class="buttons-right">';for(var i in o.buttons){hh+=o.buttons[i];}hh+="</div>";}if(o.title){hh+='<p class="title">'+o.title+"</p>";}if(msg.indexOf("<p>")<0){msg="<p>"+msg+"</p>";}hh+='<div class="text">'+msg+"</div>";hh+="</div>";dd.append(hh);}else{if(typeof msg=="object"&&msg.jquery){msg.clone().addClass("banner-content").removeClass("invisible").appendTo(dd);o.placement="replace";o.where=msg.selector;}else{return;}}switch(o.placement){case"before":$(o.where).before(dd);break;case"after":$(o.where).after(dd);break;case"replace":$(o.where).after(dd).remove();break;case"append":$(o.where).append(dd);break;case"prepend":$(o.where).prepend(dd);break;}if(o.closeable){dd.addClass("inlinebanner-closeable");dd.prepend('<div class="banner-close"></div>');dd.find(".banner-close").click(function(){if(o.closefunction){o.closefunction(dd,options);}if(o.dismiss_id){AboutMe.notification.dismiss(o.dismiss_id);}switch(o.showmethod){case"slide":dd.animate({opacity:0},"fast",function(){dd.slideUp("fast",dd.remove);});break;case"fade":dd.fadeOut("fast",dd.remove);break;case"show":dd.remove();break;}});}if(!o.visible){switch(o.showmethod){case"slide":dd.vhide();dd.animate({height:"toggle"},"fast",function(){dd.hide().vshow().fadeIn("fast");});break;case"fade":dd.fadeIn();break;case"show":dd.show();break;}}return dd;},dismiss:function(id){var input={dismiss_id:id};var options={success:function(output,options,api_call,textStatus){},error:function(output,options,api_call,textStatus){}};AboutMe.ajax.post("dismiss_message",input,options);}};var DirectoryCarousel={defaultmarkup:'<a href="__HREF__" class="example" data-username="__USERNAME__"><span class="thumb"><span class="thumb-wrap"><img class="profilethumb" src="__LOADINGIMG__" alt="__IMGALT__" /></span></span><span class="name">__DISPLAYNAME__</span></a>',init:function(data,configs){for(var i in data){try{var dir=data[i];configs[dir.id].people=dir.entries;if(configs[dir.id].randomize){configs[dir.id].people.sort(function(){return 0.5-Math.random();});}DirectoryCarousel.setup(configs[dir.id]);}catch(e){throw e;}}},setup:function(which){if(!which||!which.people){throw"Invalid carousel config.";}if(!which.people.length){$(which.selector).empty();$(which.navselector).empty();return;}if(typeof(which.paginate)=="undefined"){which.paginate=true;}which.cached=[];if(typeof(which.imagePath)!="function"){which.imagePath=DirectoryCarousel.getImagePath;}which.markup=which.markup||DirectoryCarousel.defaultmarkup;which.simplepagerthreshold=which.simplepagerthreshold||11;which.people=DirectoryCarousel.manglePeople(which.people);if(which.paginate){DirectoryCarousel.paginate(which);}else{DirectoryCarousel.populate(which);}if(typeof(which.afterSetup)=="function"){which.afterSetup(which);}},generatePersonHTML:function(which,n){var person=which.people[n];var hh=which.markup;hh=hh.replace(/__HREF__/,"/"+person.user);hh=hh.replace(/__IMGALT__/,person.displayname);hh=hh.replace(/__DISPLAYNAME__/g,person.displayname);hh=hh.replace(/__USERNAME__/g,person.user);hh=hh.replace(/__LOADINGIMG__/g,AboutMe.g.STATIC_HOSTNAME+"/images/directory/loading-"+which.imgsize+".png");return hh;},populate:function(which){var hh="";for(var i=0;i<which.people.length;i++){hh+=DirectoryCarousel.generatePersonHTML(which,i);}$(which.selector).html(hh);$(which.selector).find("img.profilethumb").each(function(i){var person=which.people[i];if(person){this.onerror=function(){this.src=AboutMe.g.STATIC_HOSTNAME+"/images/directory/thumbnailnotavailable-"+which.imgsize+".png";};this.src=which.imagePath(which.imgsize,person.user);}});DirectoryCarousel.checkActions(which);},paginate:function(which){var hh="";hh+='<ul class="directory-carousel">';for(var i=0;i<which.people.length;i++){if(i%which.peopleperpage==0){hh+='<li class="page clearfix">';which.cached.push(false);}hh+=DirectoryCarousel.generatePersonHTML(which,i);if(i%which.peopleperpage==which.peopleperpage-1){hh+="</li>";}}if((which.people.length-1)%which.peopleperpage<which.peopleperpage-1){hh+="</li>";}hh+="</ul>";$(which.selector).html(hh);DirectoryCarousel.checkActions(which);which.first=which.first||1;which.first=Math.min(which.first,$(which.selector).find("li").length);$(which.selector).jcarousel({scroll:1,start:which.first,animation:500,buttonNextHTML:null,buttonPrevHTML:null,itemFallbackDimension:900,itemLoadCallback:function(){},initCallback:function(carousel){carousel.which=which;carousel.node=$(which.selector);carousel.nav=$(which.navselector);carousel.nav.empty();if(carousel.options.size>1){carousel.nav.append('<span class="button button-small button-blue button-first"><span class="button-content">&laquo;</span></span>');if(which.linkpagenumbers&&carousel.options.size<which.simplepagerthreshold){for(var i=1;i<=carousel.options.size;i++){carousel.nav.append('<span class="button button-small button-blue"><span class="button-content">'+i+"</span></span>");}}else{carousel.nav.append('<span class="button button-small button-blue button-active"><span class="button-content">1 of '+carousel.options.size+"</span></span>");}carousel.nav.append('<span class="button button-small button-blue button-last"><span class="button-content">&raquo;</span></span>');}carousel.first=which.first;DirectoryCarousel.updateCarouselNav(carousel);DirectoryCarousel.preloadPage(carousel,0);carousel.nav.find(".button").not(".button-first, .button-last").bind("click",function(){var btn=$(this);if(btn.hasClass("button-active")){return false;}var index=$.jcarousel.intval(btn.text());DirectoryCarousel.preloadPage(carousel,index);carousel.scroll(index);DirectoryCarousel.updateCarouselNav(carousel);return false;});carousel.nav.find(".button-last").bind("click",function(){carousel.next();DirectoryCarousel.updateCarouselNav(carousel);return false;});carousel.nav.find(".button-first").bind("click",function(){carousel.prev();DirectoryCarousel.updateCarouselNav(carousel);return false;});}});},checkActions:function(which){if(AboutMe.g.user_profile&&AboutMe.g.user_profile.user_name&&which.actions){if(!which.actionsIndexed){var aa={};for(var i in which.actions){aa[which.actions[i]]=true;}which.actions=aa;which.actionsIndexed=true;}DirectoryCarousel.addActionMenu(which);}},addActionMenu:function(which){var nodes=$(which.selector).find(".example");var hh="";hh+='<div class="menu rightmenu profilethumbmenu">';hh+='<div class="menu-toggle"><div class="icon-gear">&nbsp;</div></div>';hh+='<div class="menu-content">';hh+='<ul class="menu-items">';if(which.actions["fave"]){hh+='<li class="item"><span class="icon-fave">Fave this Profile</span></li>';}if(which.actions["fave"]&&which.actions["flag"]){hh+='<li class="separator"><hr /></li>';}if(which.actions["flag"]){hh+='<li class="item"><span class="icon-flag">Flag this Profile for Abuse</span></li>';}hh+="</ul>";hh+="</div>";hh+="</div>";nodes.append(hh);nodes.each(function(){var node=$(this);var username=node.closest(".example").attr("data-username");node.hover(function(){$.doTimeout("hovermenu-"+username,500,function(){node.find(".menu").not(".visible").addClass("visible").css("opacity",0).show().animate({opacity:1},150);});},function(){$.doTimeout("hovermenu-"+username,500,function(){node.find(".menu").removeClass("visible").animate({opacity:0},250,function(){node.find(".menu").removeClass("menu-active").hide();node.find(".menu-content").hide();});});});node.click(function(){if(node.find(".menu-active").length){node.find(".menu-active").removeClass("menu-active");node.find(".menu-content").fadeOut(250);return false;}});node.find(".menu-toggle").click(AboutMe.menu.toggle);node.find("li.item span").click(AboutMe.menu.hide);});nodes.find("span.icon-fave").click(function(){var link=$(this);var username=link.closest(".example").attr("data-username");var name=link.closest(".example").find(".name").text();var input={action:"add",users:JSON.stringify([username])};var disableMenuItem=function(){link.unbind("click");link.click(function(){return false;});link.closest("li").removeClass("item").addClass("disabled");};var successFunction=function(output,options,api_call,textStatus){disableMenuItem();AboutMe.banner(name+' has been added to your <a href="/dashboard/#!/favorites">Favorites</a>.');};var errorFunction=function(output,options,api_call,textStatus){if(output.error==100){disableMenuItem();AboutMe.banner(name+' is already in your <a href="/dashboard/#!/favorites">Favorites</a>.',{status:"warning"});}else{if(output.error==101){disableMenuItem();AboutMe.banner("You can't add your own profile to your Favorites.",{status:"warning"});}else{AboutMe.banner("There was a problem adding "+name+" to your Favorites. Please try again later.",{status:"error"});}}};var options={success:successFunction,error:errorFunction};AboutMe.ajax.post("personal_directory",input,options);link.closest(".example").find(".menu").removeClass("menu-active");link.closest(".menu-content").fadeOut(250);return false;});var flagprofile=function(confirmed){if(confirmed!=true){return;}var link=$(this);var username=link.closest(".example").attr("data-username");var name=link.closest(".example").find(".name").text();var input={action:"flag",user:username};var disableMenuItem=function(){link.unbind("click");link.click(function(){return false;});link.closest("li").removeClass("item").addClass("disabled");};var successFunction=function(output,options,api_call,textStatus){disableMenuItem();AboutMe.banner("This profile has been flagged for review.");};var errorFunction=function(output,options,api_call,textStatus){AboutMe.banner("There was a problem flagging this profile. Please try again later.",{status:"warning"});debug(output);};var options={success:successFunction,error:errorFunction};AboutMe.ajax.post("flag",input,options);link.closest(".example").find(".menu").removeClass("menu-active");link.closest(".menu-content").fadeOut(250);return false;};nodes.find("span.icon-flag").click(function(){var link=this;AboutMe.confirm("Are you sure you want to flag this profile for abuse?",function(confirmed){flagprofile.apply(link,[confirmed]);});return false;});},preloadPage:function(carousel,index){if(index<0){return;}if(index>=carousel.which.cached.length){return;}if(carousel.which.cached[index]){return;}carousel.node.find("li.page").eq(index).find("img").each(function(i){var person=carousel.which.people[(index*carousel.which.peopleperpage)+i];if(person){this.onerror=function(){this.src=AboutMe.g.STATIC_HOSTNAME+"/images/directory/thumbnailnotavailable-"+carousel.which.imgsize+".png";};this.src=carousel.which.imagePath(carousel.which.imgsize,person.user);}});carousel.which.cached[index]=true;},getImagePath:function(size,username){return AboutMe.g.AWS_THUMBNAIL+"/thumbnail/system_directory/"+size+"/"+username+".jpg";},manglePeople:function(people){if(!people.length){throw"Invalid people array.";}if(people[0].displayname){return people;}if(people[0].first){for(var p=0;p<people.length;p++){var dd="";if(people[p].first){dd+=people[p].first;}if(people[p].first&&people[p].last){dd+=" ";}if(people[p].last){dd+=people[p].last;}people[p].displayname=dd;}return people;}var newpeople=[];for(var p=0;p<people.length;p++){var person={};person.user=people[p][0];person.displayname=people[p][1];newpeople.push(person);}return newpeople;},updateCarouselNav:function(carousel){var index=carousel.first;if(index>carousel.options.size){index=index%carousel.options.size;}carousel.nav.each(function(){var buttons=$(this).find(".button").not(".button-first, .button-last");if(carousel.which.linkpagenumbers&&carousel.options.size<carousel.which.simplepagerthreshold){buttons.removeClass("button-active");buttons.eq(index-1).addClass("button-active");}else{buttons.eq(0).find("span.button-content").html(index+" of "+carousel.options.size);}});var prevbutton=carousel.nav.find(".button-first");if(index!=1){prevbutton.removeClass("button-disabled");}else{prevbutton.addClass("button-disabled");}var nextbutton=carousel.nav.find(".button-last");if(index!=carousel.options.size){nextbutton.removeClass("button-disabled");}else{nextbutton.addClass("button-disabled");}DirectoryCarousel.preloadPage(carousel,index-1);DirectoryCarousel.preloadPage(carousel,index+1);if(typeof(carousel.which.afterScroll)=="function"){carousel.which.afterScroll(carousel.which);}}};var Bevel={getDecimalTriplet:function(hexTriplet){var triplet=new Array();triplet[0]=parseInt(hexTriplet.slice(0,2),16);triplet[1]=parseInt(hexTriplet.slice(2,4),16);triplet[2]=parseInt(hexTriplet.slice(4),16);return triplet;},getHexByte:function(decimalByte){var raw=decimalByte.toString(16);if(raw.length<2){raw="0"+raw;}return(raw);},getHexTriplet:function(decimalTriplet){var triplet=Bevel.getHexByte(decimalTriplet[0])+Bevel.getHexByte(decimalTriplet[1])+Bevel.getHexByte(decimalTriplet[2]);return(triplet);},shiftAxis:function(value){var upper=50;var lower=20;var darkness=255-value;var d_extreme=Math.min(darkness,value);var d_middle=127-d_extreme;var variation=Math.floor((upper-lower)*(d_middle/127));var contrast=lower+variation;var lightness_parameter=(Math.pow(value,4)/Math.pow(255,4))+1;var up=Math.min(255,Math.floor(value+(contrast)));var down=Math.max(0,Math.floor(value-(lightness_parameter*contrast)));return([up,down]);},getBevelColors:function(color){var triplet=Bevel.getDecimalTriplet(color);var beveling=new Array();beveling[0]=new Array();beveling[1]=new Array();for(key in triplet){var axis=Bevel.shiftAxis(triplet[key]);beveling[0].push(axis[0]);beveling[1].push(axis[1]);}var beveled=new Array();beveled[0]="#"+Bevel.getHexTriplet(beveling[0]);beveled[1]="#"+Bevel.getHexTriplet(beveling[1]);return(beveled);},updateBevel:function(color){var beveled=Bevel.getBevelColors(color);var top="1px solid "+beveled[1];var bottom="1px solid "+beveled[0];$("#profile-bevel").css({"height":"0px","background":"transparent","border-top":top,"border-bottom":bottom});}};var TypeTools={selectors:{"font_name":".profile div.profile-head h1.name","font_heading":".profile div.profile-head h2.headline","font_bio":".profile div.bio","font_findme":".profile ul.links"},profilewidthtimer:null,fontLoad:function(elements){$("#font_loader").show();if(window.Customize&&Customize.Notifier){Customize.Notifier.hide();}var allfontsavailable=true;for(i=0;i<elements.items.length;i++){if(elements.items[i][0]){var fontName=elements.items[i][1];var fontNameCheck=fontName.split(",");var selector=TypeTools.selectors[elements.items[i][0]];if(!$.fontAvailable(fontNameCheck[0])){allfontsavailable=false;var ff=TypeTools.fontSwitch(fontName);TypeTools.typekitLoad(ff[0],selector,fontNameCheck,ff[1]);}else{TypeTools.checkProfileWidth();var ff=TypeTools.fontSwitch(fontName);$(selector).css("font-weight",ff[1]).vshow();$("#font_loader").hide();}}}return allfontsavailable;},fontShow:function(selector,fontNameCheck,font_weight){var i=0;$.doTimeout("font_check_"+selector,100,function(){if($.fontAvailable(fontNameCheck[0])){$("#font_loader").hide();TypeTools.checkProfileWidth();$(selector).css("font-weight",font_weight).vshow();return false;}try{Typekit.load();}catch(e){}i++;if(i==50){TypeTools.visibilityFailsafe();}return true;});},typekitLoad:function(font_kit,selector,fontNameCheck,font_weight){var script=document.createElement("script");script.type="text/javascript";script.src="http://use.typekit.net/"+font_kit+".js";$("head").append(script);TypeTools.fontShow(selector,fontNameCheck,font_weight);},fontSwitch:function(font_select){var fontKit="";switch(font_select){case"apertura-condensed-1,apertura-condensed-2":fontKit="wui7tzd";fontWeight="400";break;case"bree-1,bree-2":fontKit="qco1rxr";fontWeight="400";break;case"facitweb-1,facitweb-2":fontKit="bjy5ffq";fontWeight="400";break;case"ff-dagny-web-pro-1,ff-dagny-web-pro-2":fontKit="qrp4luu";fontWeight="400";break;case"ff-meta-web-pro-1,ff-meta-web-pro-2":fontKit="msy3yks";fontWeight="400";break;case"museo-sans-1,museo-sans-2":fontKit="hux7bsa";fontWeight="500";break;case"ratio-1,ratio-2":fontKit="fwa3mli";fontWeight="400";break;case"ronnia-condensed-1,ronnia-condensed-2":fontKit="rsw0vsk";fontWeight="400";break;case"kulturista-web-1,kulturista-web-2":fontKit="lvf1gol";fontWeight="400";break;case"museo-slab-1,museo-slab-2":fontKit="hpq8rua";fontWeight="300";break;case"sommet-slab-1,sommet-slab-2":fontKit="kmp0kte";fontWeight="400";break;case"calluna-1,calluna-2":fontKit="lsi5lcd";fontWeight="400";break;case"ff-tisa-web-pro-1,ff-tisa-web-pro-2":fontKit="gmw2nyl";fontWeight="400";break;case"lemonde-journal-1,lemonde-journal-2":fontKit="zyb0bhk";fontWeight="400";break;case"skolar-1,skolar-2":fontKit="kzj0ary";fontWeight="400";break;case"atrament-web-1,atrament-web-2":fontKit="czs0vob";fontWeight="400";break;case"aurea-ultra-1,aurea-ultra-2":fontKit="vpt1bkg";fontWeight="400";break;case"bello-pro-1,bello-pro-2":fontKit="orm4uip";fontWeight="400";break;case"coquette-1,coquette-2":fontKit="ehk1rys";fontWeight="400";break;case"snicker-1,snicker-2":fontKit="mga4wgv";fontWeight="700";break;case"ff-masala-script-web-pro-1,ff-masala-script-web-pro-2":fontKit="orw5trp";fontWeight="400";break;case"maryam-1,maryam-2":fontKit="cfi2mev";fontWeight="400";break;case"bigsmalls-bold-1,bigsmalls-bold-2":fontKit="wvp1hks";fontWeight="700";break;case"continuo-1,continuo-2":fontKit="qum0tsj";fontWeight="400";break;case"corner-store-1,corner-store-2":fontKit="noa2nbd";fontWeight="400";break;case"ff-prater-block-web-1,ff-prater-block-web-2":fontKit="arb0imk";fontWeight="400";break;case"blackout-2am-1,blackout-2am-2":fontKit="vql6afj";fontWeight="400";break;case"teeshirt-1,teeshirt-2":fontKit="qfj1esm";fontWeight="400";break;case"kegger-collegiate-1,kegger-collegiate-2":fontKit="yic6uet";fontWeight="400";break;case"jbt-annabelle-1,jbt-annabelle-2":fontKit="cau7nof";fontWeight="400";break;case"proxima-nova-1,proxima-nova-2":fontKit="vfg7kbz";fontWeight="400";break;case"aviano-flare-1,aviano-flare-2":fontKit="sna7vtd";fontWeight="500";break;case"english-small-caps-1,english-small-caps-2":fontKit="yat5lvk";fontWeight="400";break;case"felt-tip-roman-1,felt-tip-roman-2":fontKit="gpu3kib";fontWeight="800";break;case"swingdancer-1,swingdancer-2":fontKit="hih5rwq";fontWeight="500";break;case"good-times-1,good-times-2":fontKit="pqu3gdz";fontWeight="300";break;case"lobster-1,lobster-2":fontKit="ofi8jom";fontWeight="400";break;case"futura-pt-1,futura-pt-2":fontKit="qhq1tjz";fontWeight="400";break;}var ff=[fontKit,fontWeight];return ff;},checkProfileWidth:function(options){clearTimeout(TypeTools.profilewidthtimer);TypeTools.profilewidthtimer=setTimeout(function(){TypeTools.updateProfileWidth(options);},100);},updateProfileWidth:function(options){options=options||{};clearTimeout(TypeTools.profilewidthtimer);var head=$("div.profile div.profile-head");var headw=head.width()+parseInt(head.css("padding-left"))+parseInt(head.css("padding-right"));var links=$("div.profile ul.links");var linksw=links.width()+parseInt(head.css("padding-left"))+parseInt(head.css("padding-right"));var profile_width=Math.max(headw,linksw);if(UserSettings.profile_width!=profile_width){UserSettings.profile_width=profile_width;$("div.profile .profile-content").animate({width:profile_width+"px"},100);if(window.Customize&&Customize.Saver&&options.save){Customize.Saver.save("profile_width",profile_width);}}TypeTools.updateAvatarHeight();},visibilityFailsafe:function(){for(key in TypeTools.selectors){TypeTools.checkProfileWidth();$(TypeTools.selectors[key]).show().vshow();}$("#font_loader").hide();},updateAvatarHeight:function(numLines){var bio=$(".profile div.bio");var avatar=$(".profile div.profile_photo");if(!avatar.length){return;}if(!$(".avatartest").length){$("body").append('<div class="avatartest"></div>');$(".avatartest").append("<img />");$(".avatartest img").load(function(){setTimeout(UserSettings.getAvatarSize,10);}).attr("src",UserSettings.images.avatar_image);return;}var isLoad=(avatar.find("img").height()<10);var maxAvatarWidth=Math.min(parseInt(bio.width()*0.5),UserSettings.images.avatar_width);var fontSize=parseInt(bio.css("font-size"));var lineHeight=parseInt(fontSize*1.5);var topPad=parseInt(avatar.css("padding-top"));if(!numLines){if(fontSize<=6){topPad=topPad*2;var numLines=12;}else{if(fontSize>=6&&fontSize<=10){topPad=topPad*2;var numLines=6;}else{if(fontSize>=30&&fontSize<=50){var numLines=3;}else{if(fontSize>=50){var numLines=2;}else{var numLines=4;}}}}}var newHeight=parseInt((lineHeight*numLines)+fontSize-(topPad*0.75));var biotop=bio.offset().top;$(".profile .bio p, .profile .bio ol, .profile .bio ul").not(":first").each(function(){if($(this).offset().top-biotop<newHeight+lineHeight+fontSize){newHeight+=parseInt(fontSize*0.75);}});$(".avatartest img").css("height",newHeight+"px");var newWidth=$(".avatartest img").width();if(newWidth<maxAvatarWidth){$.doTimeout("smart_avatar",100,function(){if(isLoad){avatar.find("img").css({width:"auto",height:newHeight+"px"});TypeTools.updateAvatarHeight();}else{avatar.find("img").css({width:"auto"}).animate({height:newHeight+"px"},100);}avatar.css("padding-right",parseInt(fontSize*0.75)+"px");});}else{if(numLines>1){TypeTools.updateAvatarHeight(numLines-1);}else{var newWidth=maxAvatarWidth;avatar.find("img").css({width:newWidth+"px",height:"auto"});}}}};var Carousel={single:{},insert:function(carouselName,carouselType){var me=[];var el=[];if(carouselName.main_element){$(carouselName.main_element).closest(".carousel").css("background","url("+AboutMe.g.STATIC_HOSTNAME+"/images/ajax/ajax-loader-alt2.gif) center center no-repeat");}switch(carouselType){case"instagram":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i==0){customClasses+="current ";}if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";if(carouselName.items[i][3]=="1"){var comments="Comment";}else{var comments="Comments";}if(carouselName.items[i][2]=="1"){var likes="Like";}else{var likes="Likes";}me.push('<li><a href="'+carouselName.items[i][1]+'" target="_blank"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][5]+'" alt="instagram snap" /></a><div class="instagram-image-info"><div class="instagram-info-column left"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/icons/icon_instagram_like.png" />'+carouselName.items[i][2]+"&nbsp;"+likes+'</div><div class="instagram-info-column middle"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/icons/icon_instagram_comment.png" />'+carouselName.items[i][3]+"&nbsp;"+comments+'</div><div class="instagram-info-column right"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/icons/icon_instagram_lens.png" />'+carouselName.items[i][4]+"</div></div></li>");el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 30px no-repeat;"><a href="#"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="Instagram thumb" /></a></li>');}break;case"bgSaved":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(UserSettings.images.background_image==carouselName.items[i][1]){customClasses+="current ";}customClasses+="'";var displayName=$("div.displayname").text();var thing="<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 40px no-repeat;"><a href="#" id="'+carouselName.items[i][1]+'" class="saved_bg theme_background"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" /></a>';if(carouselName.items[i][2]){thing+='<span class="background-sig">';if(carouselName.items[i][5]){thing+='<a href="'+carouselName.items[i][5]+'">'+carouselName.items[i][2]+"</a>";}else{thing+=carouselName.items[i][2];}if(carouselName.items[i][3]){thing+='<br />by <a href="'+carouselName.items[i][4]+'">'+carouselName.items[i][3]+"</a>";}thing+="</span>";}thing+='<span class="remove-thumb">&nbsp;</span><span class="remove-confirm"><p class="confirmtext">Delete this image?</p><p class="buttons clearfix"><span class="button button-xsmall button-default"><span class="button-content">Yes</span></span><span class="button button-xsmall button-cancel"><span class="button-content">No</span></span></p></span></li>';el.push(thing);}break;case"bgCustom":for(i=0;i<carouselName.items.length;i=i+1){var thing='<li style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 40px no-repeat;"><a href="#" id="'+carouselName.items[i][1]+'" class="theme_background"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" /></a><span class="background-sig">';if(carouselName.items[i][5]){thing+='<a href="'+carouselName.items[i][5]+'">'+carouselName.items[i][2]+"</a>";}else{thing+=carouselName.items[i][2];}if(carouselName.items[i][3]){thing+='<br />by <a href="'+carouselName.items[i][4]+'">'+carouselName.items[i][3]+"</a>";}thing+="</span></li>";el.push(thing);}break;case"dailybooth":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i==0){customClasses+="current ";}if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";carouselName.items[i][2]=carouselName.items[i][0].replace(/tiny/,"large");carouselName.items[i][0]=carouselName.items[i][0].replace(/tiny/,"small");me.push('<li><table class="valign"><tr><td class="valign-inside"><a href="'+carouselName.items[i][1]+'" target="_blank"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][2]+'" alt="DailyBooth snap" /></a></td></tr></table></li>');el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 35px no-repeat;"><table class="valign"><tr><td class="valign-inside"><a href="#"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="DailyBooth snap thumb" /></a></td></tr></table></li>');}break;case"facebookpage_photos":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i==0){customClasses+="current ";}if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";me.push('<li><table class="valign"><tr><td class="valign-inside"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="Facebook photo" /></td></tr></table></li>');el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 30px no-repeat;"><table class="valign"><tr><td class="valign-inside"><a href="#"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="Facebook photo thumb" /></a></td></tr></table></li>');}break;case"facebookpage_videos":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i==0){customClasses+="current ";}if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";me.push('<li><table class="valign"><tr><td class="valign-inside"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" title="Facebook video player" class="facebook-player video-player video-player-flash" width="580" height="360" data-src="'+carouselName.items[i][5]+'" /></td></tr></table><div class="video-main-descrip"><h2>'+carouselName.items[i][3]+"</h2><p>by "+carouselName.items[i][2]+' : <a href="http://www.facebook.com/video/video.php?v='+carouselName.items[i][0]+'">'+carouselName.items[i][1]+"</a></p></div></li>");el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 50px no-repeat;"><a href="#"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][4]+'" alt="Facebook video thumb" /></a><br /><span class="title">'+carouselName.items[i][3]+'</span><br /><span class="author">by <a href="http://www.facebook.com/video/video.php?v='+carouselName.items[i][0]+'">'+carouselName.items[i][2]+"</a></span></li>");}break;case"flickr":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i==0){customClasses+="current ";}if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";me.push('<li><table class="valign"><tr><td class="valign-inside"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="http://farm'+carouselName.items[i][0]+".static.flickr.com/"+carouselName.items[i][1]+"/"+carouselName.items[i][2]+"_"+carouselName.items[i][3]+'.jpg" alt="Flickr photo" /></td></tr></table></li>');el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 30px no-repeat;"><a href="#"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="http://farm'+carouselName.items[i][0]+".static.flickr.com/"+carouselName.items[i][1]+"/"+carouselName.items[i][2]+"_"+carouselName.items[i][3]+'_s.jpg" alt="Flickr photo thumb" /></a></li>');}break;case"facebook_photos":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center center no-repeat;"><table class="valign"><tr><td class="valign-inside"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="Facebook photo thumb" /></td></tr></table></li>');}break;case"facebook_friends":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center center no-repeat;"><table class="valign"><tr><td class="valign-inside"><a href="http://www.facebook.com/profile.php?id='+carouselName.items[i][0]+'"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="http://graph.facebook.com/'+carouselName.items[i][0]+'/picture" alt="Facebook profile thumb" class="item" /><span class="friend_caption">'+carouselName.items[i][1]+'<img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/icons/friends_down_arrow.png" alt="" /></span></a></td></tr></table></li>');}$(carouselName.element).find("a").hover(function(){var fcCaptionWidth=($(this).find(".friend_caption").width()/2)+7;var capPos=$(this).find("img:eq(0)").offset();$(this).find(".friend_caption").clone().appendTo("body").addClass("bodied").css({display:"block",marginLeft:"-"+fcCaptionWidth+"px",top:capPos.top+"px",left:(capPos.left+25)+"px"});},function(){$(".friend_caption.bodied").remove();});break;case"foursquare_friends":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center center no-repeat;"><table class="valign"><tr><td class="valign-inside"><a href="http://www.foursquare.com/user/'+carouselName.items[i][1]+'" target="_blank"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="Foursquare friend thumb" class="item" /></a></td></tr></table></li>');}break;case"foursquare_badges":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center center no-repeat;"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="Foursquare badge" class="item" /></li>');}break;case"vimeo":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i==0){customClasses+="current ";}if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";me.push('<li><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" title="Vimeo video player" class="vimeo-player video-player" width="580" height="360" data-src="http://player.vimeo.com/video/'+carouselName.items[i][1]+'?title=0&byline=0&portrait=0&color=ffffff" /><div class="video-main-descrip"><h2>'+carouselName.items[i][2]+'</h2><p>by <a href="'+carouselName.items[i][3]+'">'+carouselName.items[i][4]+"</a> : "+carouselName.items[i][5]+" : "+carouselName.items[i][6]+" views</p></div></li>");carouselName.items[i][0]=carouselName.items[i][0].replace(/_100/,"_200");el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 50px no-repeat;"><a href="#"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="Vimeo video thumb" /></a><br /><span class="title">'+carouselName.items[i][2]+'</span><br /><span class="author">by <a href="'+carouselName.items[i][3]+'">'+carouselName.items[i][4]+"</a></span></li>");}break;case"youtube":for(i=0;i<carouselName.items.length;i=i+1){var customClasses=" class='";if(i==0){customClasses+="current ";}if(i<carouselName.items_num){customClasses+="visible ";}else{customClasses+="notVisible ";}customClasses+="'";me.push('<li><img title="YouTube video player" src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" class="youtube-player video-player" width="580" height="360" data-src="http://www.youtube.com/embed/'+carouselName.items[i][1]+'?rel=0&amp;autoplay=0&amp;loop=0&amp;wmode=Opaque" frameborder="0" /><div class="video-main-descrip"><h2>'+carouselName.items[i][2]+'</h2><p>by <a href="'+carouselName.items[i][3]+'">'+carouselName.items[i][4]+"</a> : "+carouselName.items[i][5]+" : "+carouselName.items[i][6]+" views</p></div></li>");el.push("<li"+customClasses+' style="background:url('+AboutMe.g.STATIC_HOSTNAME+'/images/ajax/ajax-loader-alt2.gif) center 50px no-repeat;"><a href="#"><img src="'+AboutMe.g.STATIC_HOSTNAME+'/images/blank.gif" data-src="'+carouselName.items[i][0]+'" alt="youtube video thumb" /></a><br /><span class="title">'+carouselName.items[i][2]+'</span><br /><span class="author">by <a href="'+carouselName.items[i][3]+'">'+carouselName.items[i][4]+"</a></span></li>");}break;}if(me.length>0){me=me.join("");$(carouselName.main_element).append(me);}if(el.length>0){el=el.join("");$(carouselName.element).append(el);}},pagination:function(carouselName,carouselStart){if(!carouselStart){carouselStart=1;}if(carouselName.items.length>1){$(carouselName.element).jcarousel({scroll:carouselName.items_num,size:carouselName.items.length,start:carouselStart,animation:500,buttonNextHTML:null,buttonPrevHTML:null,itemFallbackDimension:carouselName.width,buttonNextCallback:function(carousel,button,enabled){if(carouselName.items.length>carouselName.items_num){if(enabled==false){$(carouselName.next).addClass("inactive");}else{$(carouselName.next).removeClass("inactive");}}},buttonPrevCallback:function(carousel,button,enabled){if(enabled===false){$(carouselName.prev).addClass("inactive");}else{$(carouselName.prev).removeClass("inactive");}},initCallback:function(carousel){if($(carouselName.element+" .jcarousel-item").length!=carousel.options.size){carousel.options.size=$(carouselName.element+" .jcarousel-item").length;}$(carouselName.element+" .visible").each(function(){MediaTools.displayItem($(this));});if(carouselName.main_element){$(carouselName.element+" .jcarousel-item").bind("click",function(){$(carouselName.element+" .current").removeClass("current");$(this).addClass("current");var thumbPos=($(this).index()+1);$(carouselName.main_element).jcarousel("scroll",thumbPos);return false;});}},itemLoadCallback:{onBeforeAnimation:function(carousel,state){$(carouselName.next).unbind("click");$(carouselName.prev).unbind("click");},onAfterAnimation:function(carousel,state){$(carouselName.next).bind("click",function(){carousel.next();return false;});$(carouselName.prev).bind("click",function(){carousel.prev();return false;});}},itemVisibleInCallback:{onBeforeAnimation:function(carousel,item,idx,state){MediaTools.displayItem($(item));$(item).addClass("visible").removeClass("notVisible");}},itemVisibleOutCallback:{onBeforeAnimation:function(carousel,item,idx,state){$(item).addClass("notVisible").removeClass("visible");}}});if(carouselName.main_element){$(carouselName.main_element).jcarousel({scroll:1,size:carouselName.items.length,animation:300,buttonNextHTML:null,buttonPrevHTML:null,itemFallbackDimension:carouselName.main_width,buttonNextCallback:function(carousel,button,enabled){if(enabled===false){$(carouselName.main_next).addClass("inactive");}else{$(carouselName.main_next).removeClass("inactive");}},buttonPrevCallback:function(carousel,button,enabled){if(enabled===false){$(carouselName.main_prev).addClass("inactive");}else{$(carouselName.main_prev).removeClass("inactive");}},initCallback:function(carousel){$(carouselName.main_next).bind("click",function(){carousel.next();return false;});$(carouselName.main_prev).bind("click",function(){carousel.prev();return false;});},itemVisibleInCallback:{onBeforeAnimation:function(carousel,item,idx,state){var which=carouselName.element.replace(/#/,"").replace(/./,"");$.doTimeout(which,500,function(){if($(carouselName.element+" li:eq("+(idx-1)+")").hasClass("notVisible")){$(carouselName.element).jcarousel("scroll",idx);}$(carouselName.element+" .current").removeClass("current");$(carouselName.element+" li:eq("+(idx-1)+")").addClass("current");MediaTools.displayItem($(item));});}},itemVisibleOutCallback:{onAfterAnimation:function(carousel,item,idx,state){Carousel.stopPlayback($(item));}}});}}else{MediaTools.displayItem($(carouselName.element+" li"));if(carouselName.main_element){MediaTools.displayItem($(carouselName.main_element+" li"));}}},stopPlayback:function(item){if(item){var el=item.find("iframe");var iframeLoc=el.attr("src");el.removeAttr("src").attr("src",iframeLoc);}else{$(".services_modal iframe").each(function(i,el){var el=$(el);var iframeLoc=el.attr("src");el.removeAttr("src").attr("src",iframeLoc);});}},hotLoad:function(service_id,carousel_type,start){if(!start){start=1;}if(!service_id){service_id="";}switch(carousel_type){case"facebook":if(Carousel.single["facebook_photos_"+service_id]){Carousel.pagination(Carousel.single["facebook_photos_"+service_id],start);}if(Carousel.single["facebook_friends_"+service_id]){Carousel.pagination(Carousel.single["facebook_friends_"+service_id],start);}break;case"facebookpage":if(Carousel.single["facebookpage_photos_"+service_id]){Carousel.pagination(Carousel.single["facebookpage_photos_"+service_id],start);}if(Carousel.single["facebookpage_videos_"+service_id]){Carousel.pagination(Carousel.single["facebookpage_videos_"+service_id],start);}break;case"foursquare":if(Carousel.single["foursquare_badges_"+service_id]){Carousel.pagination(Carousel.single["foursquare_badges_"+service_id],start);}if(Carousel.single["foursquare_friends_"+service_id]){Carousel.pagination(Carousel.single["foursquare_friends_"+service_id],start);}break;case"twitter":$(".services_modal .twitter img.avatar").each(function(index){MediaTools.displayItem($(this));});break;case"":break;default:service=Carousel.single[carousel_type+"_"+service_id];if(service){Carousel.pagination(service,start);}}},mainNavButtons:function(){var button_parents=$(".carousel.size580");button_parents.live("mouseover mouseout",function(event){if(event.type=="mouseover"){$(this).find("span.main-button:not(.inactive)").show();}else{$(this).find("span.main-button:not(.inactive)").hide();}});}};var MediaTools={displayItem:function(item){var itemType=item.get(0);if(itemType&&(itemType.tagName=="IMG")){var itemSrc=item.attr("data-src");if(itemSrc&&!item.hasClass("loaded")){item.attr("src",itemSrc).removeAttr("data-src").addClass("loaded");}}else{if(itemType&&itemType.tagName!="IMG"){var elImg=item.find("img:eq(0)");if(elImg){var itemSrc=elImg.attr("data-src");}if(itemSrc&&elImg.hasClass("video-player")){var vidWidth=elImg.attr("width");var vidHeight=elImg.attr("height");if(elImg.hasClass("video-player-flash")){itemSrc=elImg.attr("data-src");elImg.replaceWith(itemSrc);}else{elImg.replaceWith("<iframe class='loaded' src='"+itemSrc+"' frameborder='0' type='text/html' width='"+vidWidth+"' height='"+vidHeight+"'></iframe>");}}else{if(itemSrc){item.css("background-image","none");elImg.not(".loaded").attr("src",itemSrc).addClass("loaded");}}}}}};var WindowInfo={width:function(){return window.outerWidth!=null?window.outerWidth:window.innerWidth!=null?window.innerWidth:document.documentElement&&document.documentElement.clientWidth?document.documentElement.clientWidth:document.body!=null?document.body.clientWidth:null;},height:function(){return window.outerHeight!=null?window.outerHeight:window.innerHeight!=null?window.innerHeight:document.documentElement&&document.documentElement.clientHeight?document.documentElement.clientHeight:document.body!=null?document.body.clientHeight:null;},size:function(){return[WindowInfo.width(),WindowInfo.height()];},left:function(){return window.screenX!=null?window.screenX:window.screenLeft;},top:function(){return window.screenY!=null?window.screenY:window.screenTop;},right:function(){return WindowInfo.left()+WindowInfo.width();},bottom:function(){return WindowInfo.top()+WindowInfo.height();},position:function(){return[WindowInfo.left(),WindowInfo.top()];},resizeFromCenter:function(width,height){var wsize=WindowInfo.size();var wposition=WindowInfo.position();window.moveTo(wposition[0]+((wsize[0]-width)/2),wposition[1]+((wsize[1]-height)/2));window.resizeTo(width,height);}};function enableDebug(delay){delay=delay||5000;var oldsetting=AboutMe.g.JS_DEBUG;AboutMe.g.JS_DEBUG=true;setTimeout(function(){AboutMe.g.JS_DEBUG=oldsetting;},delay);}function debug(mm){if(!window.AboutMe||!AboutMe.g||!AboutMe.g.JS_DEBUG){return;}if(window.console&&console.log){console.log(mm);}else{if(!$("#debugwindow").length){var debug=$('<div id="debugwindow"><div class="right clickable remove">x</div><p><strong>debug log</strong></p></div>');debug.removable({afterRemove:function(){AboutMe.g.JS_DEBUG=false;}});debug.appendTo("body");}$("#debugwindow").append("<p>"+mm+"</p>");}}function handleReturnKey(e,callback){if(e&&callback&&$.isFunction(callback)){var key=(window.Event)?e.which:e.keyCode;if(key&&key==13){callback();}}}function handleEscapeKey(e,callback){if(e&&callback&&$.isFunction(callback)){var key=(window.Event)?e.which:e.keyCode;if(key&&key==27){callback();}}}function validEmail(value){if(value.length>0){return checkRegexp(value,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"eg. ui@jquery.com");}else{return false;}}function validURL(value){if(value.length>0){return checkRegexp(value,/^((http(s?))\:\/\/)?([a-zA-Z0-9])[a-zA-Z0-9\_\-\.]*\.(AC|AD|AERO|AE|AF|AG|AI|AL|AM|AN|AO|AQ|ARPA|AR|ASIA|AS|AT|AU|AW|AX|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BIZ|BJ|BM|BN|BO|BR|BS|BT|BV|BW|BY|BZ|CAT|CA|CC|CD|CF|CG|CH|CI|CK|CL|CM|CN|COOP|COM|CO|CR|CU|CV|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EDU|EE|EG|ER|ES|ET|EU|FI|FJ|FK|FM|FO|FR|GA|GB|GD|GE|GF|GG|GH|GI|GL|GM|GN|GOV|GP|GQ|GR|GS|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IM|INFO|INT|IN|IO|IQ|IR|IS|IT|JE|JM|JOBS|JO|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MC|MD|ME|MG|MH|MIL|MK|ML|MM|MN|MOBI|MO|MP|MQ|MR|MS|MT|MUSEUM|MU|MV|MW|MX|MY|MZ|NAME|NA|NC|NET|NE|NF|NG|NI|NL|NO|NP|NR|NU|NZ|OM|ORG|PA|PE|PF|PG|PH|PK|PL|PM|PN|PRO|PR|PS|PT|PW|PY|QA|RE|RO|RS|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SR|ST|SU|SV|SY|SZ|TC|TD|TEL|TF|TG|TH|TJ|TK|TL|TM|TN|TO|TP|TRAVEL|TR|TT|TV|TW|TZ|UA|UG|UK|US|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|XN|YE|YT|YU|ZA|ZM|ZW)(\:[0-9]+)*(\/($|[a-zA-Z0-9@\(\)\.\:\,\;\?\!\'\\\+&%\$#\=~_\-]+))*$/i,"");}else{return false;}}function checkRegexp(o,regexp){if(regexp.test(o)){return true;}else{return false;}}function escQuotes(str){if(typeof str=="string"){return str.replace(/"/g,"&quot;").replace(/'/g,"&#39;");}else{return str;}}function getQuery(key,loc){var query="";key=key||"?";loc=loc||document.location.href;if(loc.indexOf(key)>-1){query=loc.substring(loc.indexOf(key)+key.length,loc.length);}return query;}function parseQuery(key,loc,argsplit,chunksplit){var qq=new Array();var query=getQuery(key,loc);var argsplit=argsplit||"&";if(chunksplit===null){chunksplit="=";}if(query){var args=query.split(argsplit);if(chunksplit){for(i=0;i<args.length;i++){var chunk=args[i];qq[chunk.split(chunksplit)[0]]=unescape(chunk.split(chunksplit)[1]);}}else{qq=args;}}return qq;}function doubleDigit(n){if(n<10){n="0"+n;}return n;}function getEvent(e){e=e||window.event;return e;}function getKeyCode(e){e=getEvent(e);var keyCode=e.which||e.keyCode;return keyCode;}function getChar(e){var keyCode=getKeyCode(e);var c=String.fromCharCode(keyCode);return c;}function dedupeArray(arr){var index={};var dedupedArray=[];for(var i in arr){if(!index[arr[i]]){index[arr[i]]=true;dedupedArray.push(arr[i]);}}return dedupedArray;}
