$(document).ready(function(){$('pre, .syntaxhighlighter').wrap('<div class="brushwrap"></div>');$('.brushwrap').hover(function(){$(this).animate({width:'830px'});},function(){$(this).animate({width:'540px'});});$('#footeremail,#search input, #sidebar-signup input, #commentform .text, #commentform textarea').autoClear();$.getJSON('http://twitter.com/statuses/user_timeline/gethifi.json?count=2&callback=?',function(json){var tweets='';$.each(json,function(index,item){tweets+='<li>';tweets+='<img src="'+item.user.profile_image_url+'" alt="Profile image" width="22" height="22" />';tweets+='<a href="http://twitter.com/gethifi/status/'+item.id+'">';tweets+=item.text;tweets+='</a></li>';});$('#tweets').empty().append(tweets);});SyntaxHighlighter.all();$bannertabs=$('#featurenav li');$bannerslides=$('#featureslides li');$('#featurenav a').click(function(){$this=$(this);$targetslide=$($this.attr('href'));var offset=0-$targetslide.position().top;$('#featureslides ol').animate({'top':offset+'px'},1000);$bannertabs.removeClass('active');$this.parent().addClass('active');return false;}).first().click();$('#signup').submit(function(){_gaq.push(['_trackEvent','Email','Signup - Header']);});$('#sidebar-signup form').submit(function(){_gaq.push(['_trackEvent','Email','Signup - Sidebar']);});$('#updates form').submit(function(){_gaq.push(['_trackEvent','Email','Signup - Footer']);});$('#posts a.rss').click(function(){_gaq.push(['_trackEvent','RSS','Signup - Sidebar']);});$('#social li').click(function(){_gaq.push(['_trackEvent','Social','Footer - '+$(this).attr('class')]);});$('ul.share > li').click(function(){_gaq.push(['_trackEvent','Social','Byline - '+$(this).attr('class')]);});$('ul.feature-list > li > span.feature-description').hide().data('clicked',false);$('ul.feature-list > li > span.feature').click(function(){var $description=$(this).parent().parent().children('span.feature-description');$description.toggle();if(!$description.data('clicked')){_gaq.push(['_trackEvent','Feature','B - '+$(this).html()]);$description.data('clicked',true);}}).wrap('<a href="javascript:void(0);" />');$('ul.feature-list').randomize('li');});(function($){$.fn.randomize=function(childElem){return this.each(function(){var $this=$(this);var elems=$this.children(childElem);elems.sort(function(){return(Math.round(Math.random())-0.5);});$this.remove(childElem);for(var i=0;i<elems.length;i++)
$this.append(elems[i]);});}})(jQuery);(function(a){a.fn.autoClear=function(){return this.each(function(){a(this).focus(function(){if(this.value==this.defaultValue)this.value=""}).blur(function(){if(!this.value.length)this.value=this.defaultValue})})}})(jQuery);;(function($){$.template=function(html,options){return new $.template.instance(html,options);};$.template.instance=function(html,options){if(options&&options['regx'])options.regx=this.regx[options.regx];this.options=$.extend({compile:false,regx:this.regx.standard},options||{});this.html=html;if(this.options.compile){this.compile();}
this.isTemplate=true;};$.template.regx=$.template.instance.prototype.regx={jsp:/\$\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,ext:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,jtemplates:/\{\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}\}/g};$.template.regx.standard=$.template.regx.jsp;$.template.helpers=$.template.instance.prototype.helpers={substr:function(value,start,length){return String(value).substr(start,length);}};$.extend($.template.instance.prototype,{apply:function(values){if(this.options.compile){return this.compiled(values);}else{var tpl=this;var fm=this.helpers;var fn=function(m,name,format,args){if(format){if(format.substr(0,5)=="this."){return tpl.call(format.substr(5),values[name],values);}else{if(args){var re=/^\s*['"](.*)["']\s*$/;args=args.split(',');for(var i=0,len=args.length;i<len;i++){args[i]=args[i].replace(re,"$1");}
args=[values[name]].concat(args);}else{args=[values[name]];}
return fm[format].apply(fm,args);}}else{return values[name]!==undefined?values[name]:"";}};return this.html.replace(this.options.regx,fn);}},compile:function(){var sep=$.browser.mozilla?"+":",";var fm=this.helpers;var fn=function(m,name,format,args){if(format){args=args?','+args:"";if(format.substr(0,5)!="this."){format="fm."+format+'(';}else{format='this.call("'+format.substr(5)+'", ';args=", values";}}else{args='';format="(values['"+name+"'] == undefined ? '' : ";}
return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'";};var body;if($.browser.mozilla){body="this.compiled = function(values){ return '"+
this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.options.regx,fn)+"';};";}else{body=["this.compiled = function(values){ return ['"];body.push(this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.options.regx,fn));body.push("'].join('');};");body=body.join('');}
eval(body);return this;}});var $_old={domManip:$.fn.domManip,text:$.fn.text,html:$.fn.html};$.fn.domManip=function(args,table,reverse,callback){if(args[0].isTemplate){args[0]=args[0].apply(args[1]);delete args[1];}
var r=$_old.domManip.apply(this,arguments);return r;};$.fn.html=function(value,o){if(value&&value.isTemplate)var value=value.apply(o);var r=$_old.html.apply(this,[value]);return r;};$.fn.text=function(value,o){if(value&&value.isTemplate)var value=value.apply(o);var r=$_old.text.apply(this,[value]);return r;};})(jQuery);;$(document).ready(function(){if($('#slideshow').length>0){var slide=$.template('<li><a rel="slideshow" id="x${id}" href="http://www.gethifi.com${url}"><img src="${thumbnail}" alt="${title}" /><span class="slidenum">${ordinal}</span></a></li>');function openSlide(id){$('#x'+id).trigger('click');}
hifi.document().children().type("slide").orderBy("ordinal").count(50).fetch(function(slides){for(i in slides){$('#slideshow').append(slide,slides[i]);$('#slideshow a').colorbox({transition:'none',current:''});}
if(window.location.hash.length>0){var slideNumber=window.location.hash.replace(/^#([0-9a-fA-F]+).*/,"$1");openSlide(slideNumber);}});var comment=$.template('<li><h5>${author}</h5><p>${content}</p><p><a id="slide-${parent}" href="javascript:void(0);">View this Slide</a></li>');hifi.document().children().type("slide").children().type("comment").orderBy("-publishedAt").fetch(function(comments){for(i in comments){$('#slidecomments').append(comment,comments[i]).find("a").click(function(){openSlide($(this).attr("id").replace(/slide-/,''));});}});}});;(function($){var colorbox='colorbox',hover='hover',TRUE=true,FALSE=false,cboxPublic,isIE=!$.support.opacity,isIE6=isIE&&!window.XMLHttpRequest,cbox_open='cbox_open',cbox_load='cbox_load',cbox_complete='cbox_complete',cbox_cleanup='cbox_cleanup',cbox_closed='cbox_closed',cbox_resize='resize.cbox_resize',$overlay,$cbox,$wrap,$content,$topBorder,$leftBorder,$rightBorder,$bottomBorder,$related,$window,$loaded,$loadingBay,$loadingOverlay,$loadingGraphic,$title,$current,$slideshow,$next,$prev,$close,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,element,bookmark,index,settings,open,active,defaults={transition:"elastic",speed:350,width:FALSE,height:FALSE,innerWidth:FALSE,innerHeight:FALSE,initialWidth:"400",initialHeight:"400",maxWidth:FALSE,maxHeight:FALSE,scalePhotos:TRUE,scrolling:TRUE,inline:FALSE,html:FALSE,iframe:FALSE,photo:FALSE,href:FALSE,title:FALSE,rel:FALSE,opacity:0.9,preloading:TRUE,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:FALSE,overlayClose:TRUE,slideshow:FALSE,slideshowAuto:TRUE,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:FALSE,onLoad:FALSE,onComplete:FALSE,onCleanup:FALSE,onClosed:FALSE};function setSize(size,dimension){dimension=dimension==='x'?$window.width():$window.height();return(typeof size==='string')?Math.round((size.match(/%/)?(dimension/100)*parseInt(size,10):parseInt(size,10))):size;}
function isImage(url){url=$.isFunction(url)?url.call(element):url;return settings.photo||url.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i);}
function process(){for(var i in settings){if($.isFunction(settings[i])&&i.substring(0,2)!=='on'){settings[i]=settings[i].call(element);}}
settings.rel=settings.rel||element.rel;settings.href=settings.href||element.href;settings.title=settings.title||element.title;}
function launch(elem){element=elem;settings=$(element).data(colorbox);process();if(settings.rel&&settings.rel!=='nofollow'){$related=$('.cboxElement').filter(function(){var relRelated=$(this).data(colorbox).rel||this.rel;return(relRelated===settings.rel);});index=$related.index(element);if(index<0){$related=$related.add(element);index=$related.length-1;}}else{$related=$(element);index=0;}
if(!open){open=TRUE;active=TRUE;bookmark=element;bookmark.blur();$(document).bind("keydown.cbox_close",function(e){if(e.keyCode===27){e.preventDefault();cboxPublic.close();}}).bind("keydown.cbox_arrows",function(e){if($related.length>1){if(e.keyCode===37){e.preventDefault();$prev.click();}else if(e.keyCode===39){e.preventDefault();$next.click();}}});if(settings.overlayClose){$overlay.css({"cursor":"pointer"}).one('click',cboxPublic.close);}
$.event.trigger(cbox_open);if(settings.onOpen){settings.onOpen.call(element);}
$overlay.css({"opacity":settings.opacity}).show();settings.w=setSize(settings.initialWidth,'x');settings.h=setSize(settings.initialHeight,'y');cboxPublic.position(0);if(isIE6){$window.bind('resize.cboxie6 scroll.cboxie6',function(){$overlay.css({width:$window.width(),height:$window.height(),top:$window.scrollTop(),left:$window.scrollLeft()});}).trigger("scroll.cboxie6");}}
$current.add($prev).add($next).add($slideshow).add($title).hide();$close.html(settings.close).show();cboxPublic.slideshow();cboxPublic.load();}
cboxPublic=$.fn.colorbox=function(options,callback){var $this=this;if(!$this.length){if($this.selector===''){$this=$('<a/>');options.open=TRUE;}else{return this;}}
$this.each(function(){var data=$.extend({},$(this).data(colorbox)?$(this).data(colorbox):defaults,options);$(this).data(colorbox,data).addClass("cboxElement");if(callback){$(this).data(colorbox).onComplete=callback;}});if(options&&options.open){launch($this);}
return this;};cboxPublic.init=function(){function $div(id){return $('<div id="cbox'+id+'"/>');}
$window=$(window);$cbox=$('<div id="colorbox"/>');$overlay=$div("Overlay").hide();$wrap=$div("Wrapper");$content=$div("Content").append($loaded=$div("LoadedContent").css({width:0,height:0}),$loadingOverlay=$div("LoadingOverlay"),$loadingGraphic=$div("LoadingGraphic"),$title=$div("Title"),$current=$div("Current"),$slideshow=$div("Slideshow"),$next=$div("Next"),$prev=$div("Previous"),$close=$div("Close"));$wrap.append($('<div/>').append($div("TopLeft"),$topBorder=$div("TopCenter"),$div("TopRight")),$('<div/>').append($leftBorder=$div("MiddleLeft"),$content,$rightBorder=$div("MiddleRight")),$('<div/>').append($div("BottomLeft"),$bottomBorder=$div("BottomCenter"),$div("BottomRight"))).children().children().css({'float':'left'});$loadingBay=$("<div style='position:absolute; top:0; left:0; width:9999px; height:0;'/>");$('body').prepend($overlay,$cbox.append($wrap,$loadingBay));if(isIE){$cbox.addClass('cboxIE');if(isIE6){$overlay.css('position','absolute');}}
$content.children().bind('mouseover mouseout',function(){$(this).toggleClass(hover);}).addClass(hover);interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(TRUE)-$content.height();interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(TRUE)-$content.width();loadedHeight=$loaded.outerHeight(TRUE);loadedWidth=$loaded.outerWidth(TRUE);$cbox.css({"padding-bottom":interfaceHeight,"padding-right":interfaceWidth}).hide();$next.click(cboxPublic.next);$prev.click(cboxPublic.prev);$close.click(cboxPublic.close);$content.children().removeClass(hover);$('.cboxElement').live('click',function(e){if(e.button!==0&&typeof e.button!=='undefined'){return TRUE;}else{launch(this);return FALSE;}});};cboxPublic.position=function(speed,loadedCallback){var
animate_speed,winHeight=$window.height(),posTop=Math.max(winHeight-settings.h-loadedHeight-interfaceHeight,0)/2+$window.scrollTop(),posLeft=Math.max(document.documentElement.clientWidth-settings.w-loadedWidth-interfaceWidth,0)/2+$window.scrollLeft();animate_speed=($cbox.width()===settings.w+loadedWidth&&$cbox.height()===settings.h+loadedHeight)?0:speed;$wrap[0].style.width=$wrap[0].style.height="9999px";function modalDimensions(that){$topBorder[0].style.width=$bottomBorder[0].style.width=$content[0].style.width=that.style.width;$loadingGraphic[0].style.height=$loadingOverlay[0].style.height=$content[0].style.height=$leftBorder[0].style.height=$rightBorder[0].style.height=that.style.height;}
$cbox.dequeue().animate({width:settings.w+loadedWidth,height:settings.h+loadedHeight,top:posTop,left:posLeft},{duration:animate_speed,complete:function(){modalDimensions(this);active=FALSE;$wrap[0].style.width=(settings.w+loadedWidth+interfaceWidth)+"px";$wrap[0].style.height=(settings.h+loadedHeight+interfaceHeight)+"px";if(loadedCallback){loadedCallback();}},step:function(){modalDimensions(this);}});};cboxPublic.resize=function(object){if(!open){return;}
var topMargin,prev,prevSrc,next,nextSrc,photo,timeout,speed=settings.transition==="none"?0:settings.speed;$window.unbind(cbox_resize);if(!object){timeout=setTimeout(function(){var $child=$loaded.wrapInner("<div style='overflow:auto'></div>").children();settings.h=$child.height();$loaded.css({height:settings.h});$child.replaceWith($child.children());cboxPublic.position(speed);},1);return;}
$loaded.remove();$loaded=$('<div id="cboxLoadedContent"/>').html(object);function getWidth(){settings.w=settings.w||$loaded.width();settings.w=settings.mw&&settings.mw<settings.w?settings.mw:settings.w;return settings.w;}
function getHeight(){settings.h=settings.h||$loaded.height();settings.h=settings.mh&&settings.mh<settings.h?settings.mh:settings.h;return settings.h;}
$loaded.hide().appendTo($loadingBay).css({width:getWidth(),overflow:settings.scrolling?'auto':'hidden'}).css({height:getHeight()}).prependTo($content);$('#cboxPhoto').css({cssFloat:'none'});if(isIE6){$('select:not(#colorbox select)').filter(function(){return this.style.visibility!=='hidden';}).css({'visibility':'hidden'}).one(cbox_cleanup,function(){this.style.visibility='inherit';});}
function setPosition(s){cboxPublic.position(s,function(){if(!open){return;}
if(isIE){if(photo){$loaded.fadeIn(100);}
$cbox[0].style.removeAttribute("filter");}
if(settings.iframe){$loaded.append("<iframe id='cboxIframe'"+(settings.scrolling?" ":"scrolling='no'")+" name='iframe_"+new Date().getTime()+"' frameborder=0 src='"+settings.href+"' "+(isIE?"allowtransparency='true'":'')+" />");}
$loaded.show();$title.show().html(settings.title);if($related.length>1){$current.html(settings.current.replace(/\{current\}/,index+1).replace(/\{total\}/,$related.length)).show();$next.html(settings.next).show();$prev.html(settings.previous).show();if(settings.slideshow){$slideshow.show();}}
$loadingOverlay.hide();$loadingGraphic.hide();$.event.trigger(cbox_complete);if(settings.onComplete){settings.onComplete.call(element);}
if(settings.transition==='fade'){$cbox.fadeTo(speed,1,function(){if(isIE){$cbox[0].style.removeAttribute("filter");}});}
$window.bind(cbox_resize,function(){cboxPublic.position(0);});});}
if((settings.transition==='fade'&&$cbox.fadeTo(speed,0,function(){setPosition(0);}))||setPosition(speed)){}
if(settings.preloading&&$related.length>1){prev=index>0?$related[index-1]:$related[$related.length-1];next=index<$related.length-1?$related[index+1]:$related[0];nextSrc=$(next).data(colorbox).href||next.href;prevSrc=$(prev).data(colorbox).href||prev.href;if(isImage(nextSrc)){$('<img />').attr('src',nextSrc);}
if(isImage(prevSrc)){$('<img />').attr('src',prevSrc);}}};cboxPublic.load=function(){var href,img,setResize,resize=cboxPublic.resize;active=TRUE;element=$related[index];settings=$(element).data(colorbox);process();$.event.trigger(cbox_load);if(settings.onLoad){settings.onLoad.call(element);}
settings.h=settings.height?setSize(settings.height,'y')-loadedHeight-interfaceHeight:settings.innerHeight?setSize(settings.innerHeight,'y'):FALSE;settings.w=settings.width?setSize(settings.width,'x')-loadedWidth-interfaceWidth:settings.innerWidth?setSize(settings.innerWidth,'x'):FALSE;settings.mw=settings.w;settings.mh=settings.h;if(settings.maxWidth){settings.mw=setSize(settings.maxWidth,'x')-loadedWidth-interfaceWidth;settings.mw=settings.w&&settings.w<settings.mw?settings.w:settings.mw;}
if(settings.maxHeight){settings.mh=setSize(settings.maxHeight,'y')-loadedHeight-interfaceHeight;settings.mh=settings.h&&settings.h<settings.mh?settings.h:settings.mh;}
href=settings.href;$loadingOverlay.show();$loadingGraphic.show();if(settings.inline){$('<div id="cboxInlineTemp" />').hide().insertBefore($(href)[0]).bind(cbox_load+' '+cbox_cleanup,function(){$(this).replaceWith($loaded.children());});resize($(href));}else if(settings.iframe){resize(" ");}else if(settings.html){resize(settings.html);}else if(isImage(href)){img=new Image();img.onload=function(){var percent;img.onload=null;img.id='cboxPhoto';$(img).css({margin:'auto',border:'none',display:'block',cssFloat:'left'});if(settings.scalePhotos){setResize=function(){img.height-=img.height*percent;img.width-=img.width*percent;};if(settings.mw&&img.width>settings.mw){percent=(img.width-settings.mw)/img.width;setResize();}
if(settings.mh&&img.height>settings.mh){percent=(img.height-settings.mh)/img.height;setResize();}}
if(settings.h){img.style.marginTop=Math.max(settings.h-img.height,0)/2+'px';}
resize(img);if($related.length>1){$(img).css({cursor:'pointer'}).click(cboxPublic.next);}
if(isIE){img.style.msInterpolationMode='bicubic';}};img.src=href;}else{$('<div />').appendTo($loadingBay).load(href,function(data,textStatus){if(textStatus==="success"){resize(this);}else{resize($("<p>Request unsuccessful.</p>"));}});}};cboxPublic.next=function(){if(!active){index=index<$related.length-1?index+1:0;cboxPublic.load();}};cboxPublic.prev=function(){if(!active){index=index>0?index-1:$related.length-1;cboxPublic.load();}};cboxPublic.slideshow=function(){var stop,timeOut,className='cboxSlideshow_';$slideshow.bind(cbox_closed,function(){$slideshow.unbind();clearTimeout(timeOut);$cbox.removeClass(className+"off"+" "+className+"on");});function start(){$slideshow.text(settings.slideshowStop).bind(cbox_complete,function(){timeOut=setTimeout(cboxPublic.next,settings.slideshowSpeed);}).bind(cbox_load,function(){clearTimeout(timeOut);}).one("click",function(){stop();$(this).removeClass(hover);});$cbox.removeClass(className+"off").addClass(className+"on");}
stop=function(){clearTimeout(timeOut);$slideshow.text(settings.slideshowStart).unbind(cbox_complete+' '+cbox_load).one("click",function(){start();timeOut=setTimeout(cboxPublic.next,settings.slideshowSpeed);$(this).removeClass(hover);});$cbox.removeClass(className+"on").addClass(className+"off");};if(settings.slideshow&&$related.length>1){if(settings.slideshowAuto){start();}else{stop();}}};cboxPublic.close=function(){$.event.trigger(cbox_cleanup);if(settings.onCleanup){settings.onCleanup.call(element);}
open=FALSE;$(document).unbind("keydown.cbox_close keydown.cbox_arrows");$window.unbind(cbox_resize+' resize.cboxie6 scroll.cboxie6');$overlay.css({cursor:'auto'}).fadeOut('fast');$cbox.stop(TRUE,FALSE).fadeOut('fast',function(){$('#colorbox iframe').attr('src','about:blank');$loaded.remove();$cbox.css({'opacity':1});try{bookmark.focus();}catch(er){}
$.event.trigger(cbox_closed);if(settings.onClosed){settings.onClosed.call(element);}});};cboxPublic.element=function(){return $(element);};cboxPublic.settings=defaults;$(cboxPublic.init);}(jQuery));;var apiEndPoint='http://www.gethifi.com/api';var hifiQuery={q:{},type:function(value){if(value===undefined){return this.q.type;}
this.q.type=value;return this;},orderBy:function(value){if(value===undefined){return this.q.orderBy;}
this.q.orderBy=value;return this;},count:function(value){if(value===undefined){return this.q.count;}
this.q.count=value;return this;},page:function(value){if(value===undefined){return this.q.page;}
this.q.page=value;return this;},attr:function(name,value){if(value===undefined){return this.q[name];}
this.q[name]=value;return this;},children:function(){this.q=$.extend({},{parent:this.q});return this;},query:function(value,merge){if(value===undefined){return this.q;}
if(merge!==true){this.q=value;}else{this.q=$.extend({},this.q,value);}
return this;},fetch:function(callback){$.ajax({url:apiEndPoint,data:{q:JSON.stringify(this.q)},dataType:'json',success:function(data,status){callback(data.results,status);}});}};var hifi={get:function(starterSet){returnValue=$.extend({},hifiQuery);if(starterSet!==undefined){returnValue.query(starterSet);}
return returnValue;},put:function(object){},document:function(){return this.get().query({type:"content",url:document.URL.replace(/https?:\/\/[^\/]+/,'').replace(/(?:#|\?)(.*)$/,'')});},};