;(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.10",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);;;(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);;;(function($)
{var name="imagegrid";var qn="code28."+name;var eventQn="."+qn;var xtnds=$.Widget;var spr=xtnds.prototype;$.widget(qn,xtnds,{options:{},_create:function()
{spr._create.apply(this,arguments);var $widget=this.widget();var options=this.options;$widget.find(".selected img").animate({opacity:0.5},{duration:100});$widget.find(".selected").find(".arrow").stop().fadeIn(100);$widget.find("a").bind({click:$.proxy(this,"_click"),mouseenter:$.proxy(this,"_mouseenter"),mouseleave:$.proxy(this,"_mouseleave")});},_click:function(e)
{var $widget=this.widget();var $target=$(e.currentTarget);$target.closest("ul").find(".selected").removeClass("selected").find("img").stop().animate({opacity:1},{duration:100});$target.closest("li").addClass("selected");$target.find("img").stop().animate({opacity:.5},{duration:100});},_mouseenter:function(e)
{var $target=$(e.currentTarget);$target.find("img").stop().animate({opacity:.5},{duration:100});$target.find(".arrow").stop().fadeIn(100);$target.addClass("over");var $article=$target.closest("li").find(".article");var $template=$("#image-text");$template.find("h3").text($article.find("h3").text());$template.find(".body").html($article.find(".body").html());},_mouseleave:function(e)
{var $target=$(e.currentTarget);var $img=$target.find("img");if(!$img.closest("li").hasClass("selected")){$img.stop().animate({opacity:1},{duration:100});$target.find(".arrow").stop().fadeOut(100);$target.addClass("out");}}});})(jQuery);;;var twitterCallback2=window.twitterCallback2=function(twitters)
{var statusHTML=[];for(var i=0;i<twitters.length;i++){var username=twitters[i].user.screen_name;var status=twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,function(url)
{return'<a style="text-decoration: none;color: #321d27;" target="_blank" href="'+url+'">'+url+'</a>';}).replace(/\B@([_a-z0-9]+)/ig,function(reply)
{return reply.charAt(0)+'<a style="text-decoration: none;color: #321d27;" href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';});statusHTML.push('<li><span>'+status+'</span> <span style="text-decoration: none;display: block;font-weight: bold;margin-top: 10px;">'+relative_time(twitters[i].created_at)+'</span></li>');}
document.getElementById('twitter_update_list').innerHTML=statusHTML.join('');};var relative_time=function(time_value)
{var values=time_value.split(" ");time_value=values[1]+" "+values[2]+", "+values[5]+" "+values[3];var parsed_date=Date.parse(time_value);var relative_to=(arguments.length>1)?arguments[1]:new Date();var delta=parseInt((relative_to.getTime()-parsed_date)/1000);delta=delta+(relative_to.getTimezoneOffset()*60);if(delta<60){return'less than a minute ago';}else if(delta<120){return'about a minute ago';}else if(delta<(60*60)){return(parseInt(delta/60)).toString()+' minutes ago';}else if(delta<(120*60)){return'about an hour ago';}else if(delta<(24*60*60)){return'about '+(parseInt(delta/3600)).toString()+' hours ago';}else if(delta<(48*60*60)){return'1 day ago';}else{return(parseInt(delta/86400)).toString()+' days ago';}};(function($)
{var name="twitter";var qn="code28."+name;var eventQn="."+qn;var xtnds=$.Widget;var spr=xtnds.prototype;$.widget(qn,xtnds,{options:{},_create:function()
{spr._create.apply(this,arguments);var $widget=this.widget();var options=this.options;$widget.append('<div class="article" id="follow-us" style="display: none;margin-top: 20px;background-color: #CCCCCC;padding-left: 11px;width: 107px;padding-right: 13px;padding-top: 13px;padding-bottom: 11px;"><div class="header"><h2><a href="http://twitter.com/PhilCoffey/" target="_blank" style="background: url(images/text/follow-us.png) no-repeat;width: 72px;height: 14px;text-indent: -1000px;display: block;">follow us:</a></h2></div><div class="body" style="margin-top: 13px;overflow: hidden;"><ul id="twitter_update_list"><li></li></ul></div></div>');$.getScript("http://twitter.com/statuses/user_timeline/PhilCoffey.json?callback=twitterCallback2&count=1",function()
{$("#follow-us").fadeIn(500).find("a");});}});})(jQuery);;;(function($)
{var name="banner";var qn="code28."+name;var eventQn="."+qn;var xtnds=$.Widget;var spr=xtnds.prototype;$.widget(qn,xtnds,{options:{},_create:function()
{spr._create.apply(this,arguments);var $widget=this.widget();var options=this.options;if(swfobject.hasFlashPlayerVersion("8.0.0")){$(window).bind({resize:function()
{$widget.css({width:"100%",overflow:"hidden"});var w=Math.max(995,$(window).width());var h=Math.round(w*0.2733)+30+26;$widget.width(w);$widget.height(h);$("#content, #side-bar").css({marginTop:h});}}).trigger("resize");}else{$widget.css({width:"965px",position:"static",height:"330px"});$("#content, #side-bar").css({marginTop:0});}}});})(jQuery);;;(function($)
{var name="imagerollover";var qn="code28."+name;var eventQn="."+qn;var xtnds=$.Widget;var spr=xtnds.prototype;$.widget(qn,xtnds,{options:{},_create:function()
{spr._create.apply(this,arguments);var $widget=this.widget();var options=this.options;var $li=$widget.parent();var cls=$li.attr("className");if(cls.indexOf(" ")!=-1){cls=cls.split(" ")[1];}
$widget.css({backgroundImage:"url(images/text/"+cls+"-btn.png)"});var id=$("body").attr("id");if(id==cls){$widget.css({backgroundPosition:"0px -21px"});}}});})(jQuery);;;(function($,undefined){$.mobile={};var $window=$(window),$html=$("html"),resolutionBreakpoints=[320,480,768,1024];$.mobile.media=(function(){var cache={},testDiv=$("<div id='jquery-mediatest'>"),fakeBody=$("<body>").append(testDiv);return function(query){if(!(query in cache)){var styleBlock=document.createElement('style'),cssrule="@media "+query+" { #jquery-mediatest { position:absolute; } }";styleBlock.type="text/css";if(styleBlock.styleSheet){styleBlock.styleSheet.cssText=cssrule;}
else{styleBlock.appendChild(document.createTextNode(cssrule));}
$html.prepend(fakeBody).prepend(styleBlock);cache[query]=testDiv.css("position")==="absolute";fakeBody.add(styleBlock).remove();}
return cache[query];};})();function detectResolutionBreakpoints(){var currWidth=$window.width(),minPrefix="min-width-",maxPrefix="max-width-",minBreakpoints=[],maxBreakpoints=[],unit="px",breakpointClasses;$html.removeClass(minPrefix+resolutionBreakpoints.join(unit+" "+minPrefix)+unit+" "+
maxPrefix+resolutionBreakpoints.join(unit+" "+maxPrefix)+unit);$.each(resolutionBreakpoints,function(i,breakPoint){if(currWidth>=breakPoint){minBreakpoints.push(minPrefix+breakPoint+unit);}
if(currWidth<=breakPoint){maxBreakpoints.push(maxPrefix+breakPoint+unit);}});if(minBreakpoints.length){breakpointClasses=minBreakpoints.join(" ");}
if(maxBreakpoints.length){breakpointClasses+=" "+maxBreakpoints.join(" ");}
$html.addClass(breakpointClasses);};$.mobile.addResolutionBreakpoints=function(newbps){if($.type(newbps)==="array"){resolutionBreakpoints=resolutionBreakpoints.concat(newbps);}
else{resolutionBreakpoints.push(newbps);}
resolutionBreakpoints.sort(function(a,b){return a-b;});detectResolutionBreakpoints();};$(document).bind("mobileinit.htmlclass",function(){$window.bind("orientationchange.htmlclass resize.htmlclass",function(event){if(event.orientation){$html.removeClass("portrait landscape").addClass(event.orientation);}
detectResolutionBreakpoints();});});$(function(){$window.trigger("orientationchange.htmlclass");});})(jQuery);;;(function($,undefined){var fakeBody=$("<body>").prependTo("html"),fbCSS=fakeBody[0].style,vendors=['webkit','moz','o'],webos=window.palmGetResource||window.PalmServiceBridge,bb=window.blackberry;function propExists(prop){var uc_prop=prop.charAt(0).toUpperCase()+prop.substr(1),props=(prop+' '+vendors.join(uc_prop+' ')+uc_prop).split(' ');for(var v in props){if(fbCSS[v]!==undefined){return true;}}};function baseTagTest(){var fauxBase=location.protocol+'//'+location.host+location.pathname+"ui-dir/",base=$("head base"),fauxEle=null,href='';if(!base.length){base=fauxEle=$("<base>",{"href":fauxBase}).appendTo("head");}
else{href=base.attr("href");}
var link=$("<a href='testurl'></a>").prependTo(fakeBody),rebase=link[0].href;base[0].href=href?href:location.pathname;if(fauxEle){fauxEle.remove();}
return rebase.indexOf(fauxBase)===0;};$.mobile.browser={};$.mobile.browser.ie=(function(){var v=3,div=document.createElement('div'),a=div.all||[];while(div.innerHTML='<!--[if gt IE '+(++v)+']><br><![endif]-->',a[0]);return v>4?v:!v;}());$.extend($.support,{orientation:"orientation"in window,touch:"ontouchend"in document,cssTransitions:"WebKitTransitionEvent"in window,pushState:!!history.pushState,mediaquery:$.mobile.media('only all'),cssPseudoElement:!!propExists('content'),boxShadow:!!propExists('boxShadow')&&!bb,scrollTop:("pageXOffset"in window||"scrollTop"in document.documentElement||"scrollTop"in fakeBody[0])&&!webos,dynamicBaseTag:baseTagTest(),eventCapture:("addEventListener"in document)});fakeBody.remove();if(!$.support.boxShadow){$('html').addClass('ui-mobile-nosupport-boxshadow');}})(jQuery);;;(function($,undefined){$.each("touchstart touchmove touchend orientationchange tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(i,name){$.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};$.attrFn[name]=true;});var supportTouch=$.support.touch,scrollEvent="touchmove scroll",touchStartEvent=supportTouch?"touchstart":"mousedown",touchStopEvent=supportTouch?"touchend":"mouseup",touchMoveEvent=supportTouch?"touchmove":"mousemove";function triggerCustomEvent(obj,eventType,event)
{var originalType=event.type;event.type=eventType;$.event.handle.call(obj,event);event.type=originalType;}
$.event.special.scrollstart={enabled:true,setup:function(){var thisObject=this,$this=$(thisObject),scrolling,timer;function trigger(event,state){scrolling=state;triggerCustomEvent(thisObject,scrolling?"scrollstart":"scrollstop",event);}
$this.bind(scrollEvent,function(event){if(!$.event.special.scrollstart.enabled){return;}
if(!scrolling){trigger(event,true);}
clearTimeout(timer);timer=setTimeout(function(){trigger(event,false);},50);});}};$.event.special.tap={setup:function(){var thisObject=this,$this=$(thisObject);$this.bind("vmousedown",function(event){if(event.which&&event.which!==1){return false;}
var touching=true,origTarget=event.target,origEvent=event.originalEvent,timer;function clearTapHandlers(){touching=false;clearTimeout(timer);$this.unbind("vclick",clickHandler).unbind("vmousecancel",clearTapHandlers);}
function clickHandler(event){clearTapHandlers();if(origTarget==event.target){triggerCustomEvent(thisObject,"tap",event);}}
$this.bind("vmousecancel",clearTapHandlers).bind("vclick",clickHandler);timer=setTimeout(function(){if(touching){triggerCustomEvent(thisObject,"taphold",event);}},750);});}};$.event.special.swipe={setup:function(){var thisObject=this,$this=$(thisObject);$this.bind(touchStartEvent,function(event){var data=event.originalEvent.touches?event.originalEvent.touches[0]:event,start={time:(new Date).getTime(),coords:[data.pageX,data.pageY],origin:$(event.target)},stop;function moveHandler(event){if(!start){return;}
var data=event.originalEvent.touches?event.originalEvent.touches[0]:event;stop={time:(new Date).getTime(),coords:[data.pageX,data.pageY]};if(Math.abs(start.coords[0]-stop.coords[0])>10){event.preventDefault();}}
$this.bind(touchMoveEvent,moveHandler).one(touchStopEvent,function(event){$this.unbind(touchMoveEvent,moveHandler);if(start&&stop){if(stop.time-start.time<1000&&Math.abs(start.coords[0]-stop.coords[0])>30&&Math.abs(start.coords[1]-stop.coords[1])<75){start.origin.trigger("swipe").trigger(start.coords[0]>stop.coords[0]?"swipeleft":"swiperight");}}
start=stop=undefined;});});}};(function($){var win=$(window),special_event,get_orientation,last_orientation;$.event.special.orientationchange=special_event={setup:function(){if($.support.orientation){return false;}
last_orientation=get_orientation();win.bind("resize",handler);},teardown:function(){if($.support.orientation){return false;}
win.unbind("resize",handler);},add:function(handleObj){var old_handler=handleObj.handler;handleObj.handler=function(event){event.orientation=get_orientation();return old_handler.apply(this,arguments);};}};function handler(){var orientation=get_orientation();if(orientation!==last_orientation){last_orientation=orientation;win.trigger("orientationchange");}};special_event.orientation=get_orientation=function(){var elem=document.documentElement;return elem&&elem.clientWidth/elem.clientHeight<1.1?"portrait":"landscape";};})(jQuery);$.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe",swiperight:"swipe"},function(event,sourceEvent){$.event.special[event]={setup:function(){$(this).bind(sourceEvent,$.noop);}};});})(jQuery);;(function($){$(function()
{$(".image-grid").imagegrid();$("#project-menu a").imagerollover();$("#banner").banner();$("#index #side-bar").twitter();$(".project-detail #imagery .thumb").bind({click:function(e)
{e.preventDefault();var $this=$(e.currentTarget);var href=$this.attr("href");var $lightbox=$this.parent().find("a[href$="+href+"]:not(.thumb)");$lightbox.trigger("click");}});$("a[rel^=lightbox]").fancybox();$("a[rel^=swf_lightbox]").fancybox({type:"swf",width:"544",height:"344"});var id=0;window.showLightbox=function(url,startIndex)
{var startIndex=startIndex==null?1:startIndex;var temp=new Array();var count=id++;var rel="flash_lightbox_"+count;jQuery.each(url.split(","),function()
{var content=$.trim(this);var $a=$('<a href="'+content+'" rel="'+rel+'" style="display: none;"></a>');temp.push($a);});for(var i=0;i<startIndex-1;i++){temp.push(temp.shift());}
$.each(temp,function()
{$("body").append(this);});$("a[rel='"+rel+"']").fancybox().eq(0).trigger("click");};if("createTouch"in document){$("html").addClass("touch");}});})(jQuery.noConflict());;
