(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);(function(d){var b=location.href.replace(/#.*/,"");var c=d.localScroll=function(e){d("body").localScroll(e)};c.defaults={duration:1000,axis:"y",event:"click",stop:true,target:window,reset:true};c.hash=function(e){if(location.hash){e=d.extend({},c.defaults,e);e.hash=false;if(e.reset){var f=e.duration;delete e.duration;d(e.target).scrollTo(0,e);e.duration=f}a(0,location,e)}};d.fn.localScroll=function(f){f=d.extend({},c.defaults,f);return f.lazy?this.bind(f.event,function(h){var g=d([h.target,h.target.parentNode]).filter(e)[0];if(g){a(h,g,f)}}):this.find("a,area").filter(e).bind(f.event,function(g){a(g,this,f)}).end().end();function e(){return !!this.href&&!!this.hash&&this.href.replace(this.hash,"")==b&&(!f.filter||d(this).is(f.filter))}};function a(l,j,h){var m=j.hash.slice(1),i=document.getElementById(m)||document.getElementsByName(m)[0];if(!i){return}if(l){l.preventDefault()}var g=d(h.target);if(h.lock&&g.is(":animated")||h.onBefore&&h.onBefore.call(h,l,i,g)===false){return}if(h.stop){g.stop(true)}if(h.hash){var f=i.id==m?"id":"name",k=d("<a> </a>").attr(f,m).css({position:"absolute",top:d(window).scrollTop(),left:d(window).scrollLeft()});i[f]="";d("body").prepend(k);location=j.hash;k.remove();i[f]=m}g.scrollTo(i,h).trigger("notify.serialScroll",[i])}})(jQuery);(function(a){a.fn.tweet=function(d){var c={username:["seaofclouds"],avatar_size:null,count:3,intro_text:null,outro_text:null,join_text:null,auto_join_text_default:"i said,",auto_join_text_ed:"i",auto_join_text_ing:"i am",auto_join_text_reply:"i replied to",auto_join_text_url:"i was looking at",loading_text:null,query:null};a.fn.extend({linkUrl:function(){var e=[];var f=/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;this.each(function(){e.push(this.replace(f,'<a href="$1">$1</a>'))});return a(e)},linkUser:function(){var e=[];var f=/[\@]+([A-Za-z0-9-_]+)/gi;this.each(function(){e.push(this.replace(f,'<a href="http://twitter.com/$1">@$1</a>'))});return a(e)},linkHash:function(){var e=[];var f=/ [\#]+([A-Za-z0-9-_]+)/gi;this.each(function(){e.push(this.replace(f,' <a href="http://search.twitter.com/search?q=&tag=$1&lang=all&from='+c.username.join("%2BOR%2B")+'">#$1</a>'))});return a(e)},capAwesome:function(){var e=[];this.each(function(){e.push(this.replace(/(a|A)wesome/gi,"AWESOME"))});return a(e)},capEpic:function(){var e=[];this.each(function(){e.push(this.replace(/(e|E)pic/gi,"EPIC"))});return a(e)},makeHeart:function(){var e=[];this.each(function(){e.push(this.replace(/[&lt;]+[3]/gi,"<tt class='heart'>&#x2665;</tt>"))});return a(e)}});function b(f){var e=Date.parse(f);var g=(arguments.length>1)?arguments[1]:new Date();var h=parseInt((g.getTime()-e)/1000);if(h<60){return"less than a minute ago"}else{if(h<120){return"about a minute ago"}else{if(h<(45*60)){return(parseInt(h/60)).toString()+" minutes ago"}else{if(h<(90*60)){return"about an hour ago"}else{if(h<(24*60*60)){return"about "+(parseInt(h/3600)).toString()+" hours ago"}else{if(h<(48*60*60)){return"1 day ago"}else{return(parseInt(h/86400)).toString()+" days ago"}}}}}}}if(d){a.extend(c,d)}return this.each(function(){var i=a('<ul class="tweet_list">').appendTo(this);var h='<p class="tweet_intro">'+c.intro_text+"</p>";var e='<p class="tweet_outro">'+c.outro_text+"</p>";var j=a('<p class="loading">'+c.loading_text+"</p>");if(typeof(c.username)=="string"){c.username=[c.username]}var g="";if(c.query){g+="q="+c.query}g+="&q=from:"+c.username.join("%20OR%20from:");var f="http://search.twitter.com/search.json?&"+g+"&rpp="+c.count+"&callback=?";if(c.loading_text){a(this).append(j)}a.getJSON(f,function(k){if(c.loading_text){j.remove()}if(c.intro_text){i.before(h)}a.each(k.results,function(o,t){if(c.join_text=="auto"){if(t.text.match(/^(@([A-Za-z0-9-_]+)) .*/i)){var m=c.auto_join_text_reply}else{if(t.text.match(/(^\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+) .*/i)){var m=c.auto_join_text_url}else{if(t.text.match(/^((\w+ed)|just) .*/im)){var m=c.auto_join_text_ed}else{if(t.text.match(/^(\w*ing) .*/i)){var m=c.auto_join_text_ing}else{var m=c.auto_join_text_default}}}}}else{var m=c.join_text}var r='<span class="tweet_join"> '+m+" </span>";var l=((c.join_text)?r:" ");var p='<a class="tweet_avatar" href="http://twitter.com/'+t.from_user+'"><img src="'+t.profile_image_url+'" height="'+c.avatar_size+'" width="'+c.avatar_size+'" alt="'+t.from_user+'\'s avatar" border="0"/></a>';var q=(c.avatar_size?p:"");var n='<a href="http://twitter.com/'+t.from_user+"/statuses/"+t.id+'" title="view tweet on twitter">'+b(t.created_at)+"</a>";var s='<span class="tweet_text">'+a([t.text]).linkUrl().linkUser().linkHash().makeHeart().capAwesome().capEpic()[0]+"</span>";i.append("<li>"+q+n+l+s+"</li>");i.children("li:first").addClass("tweet_first");i.children("li:odd").addClass("tweet_even");i.children("li:even").addClass("tweet_odd")});if(c.outro_text){i.after(e)}})})}})(jQuery);(function(d){Date.prototype.format=function(k){var j="";var h=Date.replaceChars;for(var g=0;g<k.length;g++){var f=k.charAt(g);if(h[f]){j+=h[f].call(this)}else{j+=f}}return j};Date.replaceChars={shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longMonths:["January","February","March","April","May","June","July","August","September","October","November","December"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],d:function(){return(this.getDate()<10?"0":"")+this.getDate()},D:function(){return Date.replaceChars.shortDays[this.getDay()]},j:function(){return this.getDate()},l:function(){return Date.replaceChars.longDays[this.getDay()]},N:function(){return this.getDay()+1},S:function(){return(this.getDate()%10==1&&this.getDate()!=11?"st":(this.getDate()%10==2&&this.getDate()!=12?"nd":(this.getDate()%10==3&&this.getDate()!=13?"rd":"th")))},w:function(){return this.getDay()},z:function(){return"Not Yet Supported"},W:function(){return"Not Yet Supported"},F:function(){return Date.replaceChars.longMonths[this.getMonth()]},m:function(){return(this.getMonth()<9?"0":"")+(this.getMonth()+1)},M:function(){return Date.replaceChars.shortMonths[this.getMonth()]},n:function(){return this.getMonth()+1},t:function(){return"Not Yet Supported"},L:function(){return"Not Yet Supported"},o:function(){return"Not Supported"},Y:function(){return this.getFullYear()},y:function(){return(""+this.getFullYear()).substr(2)},a:function(){return this.getHours()<12?"am":"pm"},A:function(){return this.getHours()<12?"AM":"PM"},B:function(){return"Not Yet Supported"},g:function(){return this.getHours()%12||12},G:function(){return this.getHours()},h:function(){return((this.getHours()%12||12)<10?"0":"")+(this.getHours()%12||12)},H:function(){return(this.getHours()<10?"0":"")+this.getHours()},i:function(){return(this.getMinutes()<10?"0":"")+this.getMinutes()},s:function(){return(this.getSeconds()<10?"0":"")+this.getSeconds()},e:function(){return"Not Yet Supported"},I:function(){return"Not Supported"},O:function(){return(-this.getTimezoneOffset()<0?"-":"+")+(Math.abs(this.getTimezoneOffset()/60)<10?"0":"")+(Math.abs(this.getTimezoneOffset()/60))+"00"},T:function(){var g=this.getMonth();this.setMonth(0);var f=this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/,"$1");this.setMonth(g);return f},Z:function(){return -this.getTimezoneOffset()*60},c:function(){return"Not Yet Supported"},r:function(){return this.toString()},U:function(){return this.getTime()/1000}};d.fn.feedreader=function(f){var h={targeturl:"http://blogs.atalayasec.org/atalaya/?feed=rss2",items:3,descLength:15,showTitle:true,showBody:false,showDate:false};if(!f.targeturl){return false}var g=d.extend(h,f);d(this).each(function(){var i=this;d.get(g.targeturl,function(j){var l=[];var k=0;d("item",j).each(function(){if(k>g.items-1){return}var m={};d(this).find("link").each(function(){m.link=a(this)});d(this).find("title").each(function(){m.title=a(this)});d(this).find("pubDate").each(function(){m.date=a(this)});d(this).find("description").each(function(){var n=a(this);m.desc=b(n,g.descLength)+"[...]"});l[k++]=m});c(i,l,g)})})};function b(l,j){var h=l.replace(/\s/g," ");var k=h.split(" ");if(k.length<=j){return l}var f="";for(var g=0;g<j;g++){f+=k[g]+" "}return f}function c(f,j,i){d(f).empty();var h="<ul>";for(var g in j){h+=e(j[g],i)}h+="</ul>";d(f).append(h)}function e(h,i){var g=[];var f=new Date(h.date);g.push('<span class="date"><span class="day">'+f.format("d")+'</span><span class="mon">'+f.format("M")+'</span><span class="year">'+f.format("Y")+"</span></span>");g.push('<span class="title">'+h.title+"</span>");return"<li><a href='"+h.link+"'>"+g.join("")+"</a><div class='clear'></div></li>"}function a(f){var g="";if(f.text){g=f.text}if(f.firstChild){g=f.firstChild.nodeValue}return g}})(jQuery);(function(){var e=($.browser.msie&&parseInt($.browser.version.substr(0,1))<7);var g=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i;var i=/\?/i;var f=/\?$/i;var h=/\&$/i;var a=null;$.fn.fixPNG=function(){return this.each(function(){if(!e){return this}var n=$(this).css("backgroundImage");if(n.match(/^url\(["']?(.*\.png)["']?\)$/i)){n=RegExp.$1;$(this).css({backgroundImage:"none",filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod="+($(this).css("backgroundRepeat")=="no-repeat"?"crop":"scale")+", src='"+n+"')"}).each(function(){var o=$(this).css("position");if(o!="absolute"&&o!="relative"){$(this).css("position","relative")}})}return this})};$.fn.jqpop=function(n){this.each(function(){var o=this;j(o,n)});return this};jQuery.jqpop={scrollResize:function(n){if(a!=null&&$.isFunction(a.scrollResize)){(a.scrollResize)(n)}},close:function(n){if(a!=null&&$.isFunction(a.close)){(a.close)()}return false}};$.fn.jqpop.defaults={backdropClass:"jqpop_backdrop",backdropId:null,wrapperClass:"jqpop_wrapper",wrapperId:null,hideOnBackdropClick:true,hideOnContentClick:false,showCloseButton:true,closeButtonContent:"",closeButtonClass:"jqpop_close",closeButtonId:"jqpop_close",callbackOnStart:null,callbackBeforeShow:null,callbackAfterShow:null,callbackBeforeClose:null,callbackAfterClose:null,ieBGIFrameClass:"jqpop_bgiframe",addRandomToURL:false,href:null,keepWrapperCenteredX:true,keepWrapperCenteredY:true};function l(n){return(n==null||jQuery.trim(n).length==0)}function c(o,n){return(l(o)?n:o)}function d(o,p,n){return(l(o)?n:p)}function k(n){return d(n," id='"+n+"'","")}function b(n){return d(n," class='"+n+"'","")}function m(n){return $.isFunction(n)?n():n}function j(s,y){var v=jQuery.extend({},$.fn.jqpop.defaults,y);s=$(s);var t=null,o=null,z=null,r=null,C=false;function B(){return v}function A(){if(t!=null){return t}var E=(e?("<iframe class='"+m(v.ieBGIFrameClass)+"' scrolling='no' frameborder='0'></iframe><div class='"+m(v.ieBGIFrameClass)+"'></div>"):"");t=$("<div style='display:none'"+k(m(v.backdropId))+b(m(v.backdropClass))+">"+E+"</div>");return t.appendTo("body").fixPNG()}function n(){if(o!=null){return o}o=$("<div style='display:none' "+k(m(v.wrapperId))+b(m(v.wrapperClass))+"</div>");return o.appendTo("body").fixPNG()}function D(){if($.isFunction(v.callbackBeforeClose)){v.callbackBeforeClose()}if(r!=null){r.remove();r=null}o.hide();if(!C){o.children().hide().appendTo($("body"));if(m(v.hideOnContentClick)){z.unbind("click",D)}z=null}o.remove();o=null;function E(){if($.isFunction(v.callbackAfterClose)){v.callbackAfterClose()}}$(window).unbind("scroll",w);$(window).unbind("resize",w);if(e){t.hide().remove();t=null;E()}else{t.hide();t.remove();t=null;E()}return false}function x(){if(!m(v.showCloseButton)){return}r=$("<a "+k(m(v.closeButtonId))+b(m(v.closeButtonClass))+" href='#'>"+m(v.closeButtonContent)+"</a>");r.click(D).appendTo(o).fixPNG()}function u(H){var K=$(window),G=K.height(),F=K.width(),J=$(document).scrollTop(),I=$(document).scrollLeft();if(t!=null){t.css({width:F,height:G,top:J,left:I})}if(o!=null){var E={};var L=(v.currentEvent!=null)&&(v.currentEvent.type=="scroll"||v.currentEvent.type=="resize");if(!L||v.keepWrapperCenteredX){E.marginLeft=Math.round(-o.outerWidth()/2);E.left=I+Math.round(F/2);if((E.marginLeft+E.left)<10){E.marginLeft=0;E.left=10}}if(!L||v.keepWrapperCenteredY){E.marginTop=Math.round(-o.outerHeight()/2);E.top=Math.round(G/2);if((E.marginTop+E.top)<20){E.marginTop=0;E.top=20}}if(H==null||H<=0){o.css(E)}else{o.animate(E,H)}}}function w(E){v.currentEvent=E;u(null);v.currentEvent=null}function q(){if($.isFunction(v.callbackBeforeShow)){v.callbackBeforeShow()}u();o.show();x();if(m(v.hideOnBackdropClick)){t.click(D).find("iframe div").click(D)}if(m(v.hideOnContentClick)){z.click(D);o.click(D)}$(window).scroll(w);$(window).resize(w);if($.isFunction(v.callbackAfterShow)){v.callbackAfterShow()}}function p(){a={getBackdrop:A,getWrapper:n,close:D,addCloseButton:x,scrollResize:u,scrollResizeInstant:w,afterLoaded:q,start:p,getSettings:B};t=o=z=r=null;if($.isFunction(v.callbackOnStart)){v.callbackOnStart()}A().show();n();var E=c(m(v.href),s.attr("href"));if((/^\#/i).test(E)){z=$(E);if(z.size()>0){C=false;z=z.eq(0);z.show().appendTo(o);q()}}else{if(g.test(E)){C=true;$(new Image()).load(function(){z=$("<img src='"+E+"' />");z.appendTo(o);q()}).attr("src",E)}else{C=true;if(m(v.addRandomToURL)){if(i.test(E)){if(!h.test(E)&&!f.test(E)){E+="&"}}else{E+="?"}E+="randomNumber=";E+=(""+(Math.round(Math.random()*10000000000)));E+=(""+(new Date()).getTime())}o.load(E,null,function(){z=o.children().fixPNG();q()})}}return false}s.unbind("click").click(p)}})();(function(a){a.fn.makeBouncy=function(b){var b=a.extend(a.fn.makeBouncy.defaults,b);return this.each(function(){var e=a(this);var c=e.css("top");var d=e.css("left");var f=(parseInt(c)+b.y).toString()+"px";var g=(parseInt(d)+b.x).toString()+"px";e.mouseover(function(){e.stop(true).animate({top:f,left:g},b.duration,b.easing)});e.mouseout(function(){e.animate({top:c,left:d},b.duration,b.easing)})})};a.fn.makeBouncy.defaults={x:0,y:-5,duration:300,easing:"swing"}})(jQuery);var iDumpling=function(){function k(o){var n=o.indexOf("#");return n==-1?o:o.substr(0,n)}function f(){function o(p){window.location.hash=p.id}var n={duration:500};if(!$.browser.msie){n.onAfter=o}$(".nav").localScroll(n)}function i(){$("#tweet_container").tweet({username:"andyman404",join_text:"auto",avatar_size:null,count:1,auto_join_text_default:"",auto_join_text_ed:"",auto_join_text_ing:"",auto_join_text_reply:"",auto_join_text_url:"",loading_text:"loading tweets..."})}function j(){$("#product_feed").feedreader({targeturl:"headmagnet_rss.php",items:5,descLength:0});$("#blog_feed").feedreader({targeturl:"posterous_rss.php",items:5,descLength:0})}function l(){var v=false;var q=$("#main .spoon");var n=$("#main .fork");var u=$("#main .knife");var p=$("#main .plate");var r=$("#updates .chopsticks");var s=750;var w="swing";function t(){if(v){return}p.css({top:"-500px"}).show().animate({top:"30px"},s,w,function(){v=true});n.css({left:"-300px"}).show().animate({left:"100px"},s,w,function(){n.makeBouncy({x:-5,y:-5})});u.css({left:"920px"}).show().animate({left:"720px"},s,w,function(){u.makeBouncy({x:5,y:-5})});q.css({left:"1190px"}).show().animate({left:"790px"},s,w,function(){q.makeBouncy({x:5,y:-5})})}var o=new Image();$(o).load(t).attr("src",p.css("background-image").replace(/(url)|\)|\(|"/g,""));function x(){if(!v){s=0;t()}r.makeBouncy({x:-5,y:3})}setTimeout(x,1000)}function b(){var q=false;var n=$("#about .dumpling_story");var r=$("#about .inner");var p=$("#about");var s=300;function o(){if(!q){r.animate({left:"1100px"},s,"swing");n.animate({left:"0px"},s,"swing");p.animate({backgroundPosition:"400px 0px"},s,"swing");q=true}else{p.animate({backgroundPosition:"-250px 0px"},s,"swing");r.animate({left:"450px"},s,"swing");n.animate({left:"-650px"},s,"swing");q=false}return false}$("#about .dumpling_story_link, #about .dumpling_story, #about .inner").click(o)}function d(){$("input:text, textarea").focus(function(){var n=$(this);if(n.val()==n.attr("title")){n.val("")}}).blur(function(){var n=$(this);if(n.val()==""){n.val(n.attr("title"))}})}function c(){$("input.text").keypress(function(p){if(p.which==13){var o=$(this);o.blur();var n=new Number(o.attr("tabindex"));n+=1;o.parents("form").find("*[tabindex="+n+"]").focus();return false}return true})}function e(){var n=false;var p=300;var r="#main ul.showcase";function o(){return $(r).css("width")}function u(){return $(r+" li.current")}function s(){n=false}function t(){if(n==true){return false}n=true;var y=o();var x=u();var w=x.next("li.slide");if(w.length==0){w=$(x.siblings().get(0));w.insertAfter(x)}function v(){x.removeClass("current")}w.css({left:y}).addClass("current").animate({left:"0"},p,"swing",s);x.animate({left:"-"+y},p,"swing",v);return false}function q(){if(n==true){return false}n=true;var y=o();var x=u();var v=x.prev("li.slide");if(v.length==0){v=$(x.siblings().get(x.siblings().length-1));v.insertBefore(x)}function w(){x.removeClass("current")}v.css({left:"-"+y}).addClass("current").animate({left:"0"},p,"swing",s);x.animate({left:y},p,"swing",function(){x.removeClass("current")});return false}$("a.next_project").click(t);$("a.prev_project").click(q)}function h(){$("a.jqpop").jqpop({hideOnContentClick:false,keepWrapperCenteredX:true,keepWrapperCenteredY:false,addRandomToURL:false})}function a(){$("#contact_form").submit(function(){$("#form_check").val((new Date()).getTime());var n={name:$("#contact_name").val(),email:$("#contact_email").val(),message:$("#contact_message").val(),f:"1"};$(".napkin").html("<div class='result'>Sending message...<br /><img src='images/bigLoader.gif' /></div>");$.post("contact.php",n,function(o){$(".napkin").html("<div class='result'>"+o+"</div>")},"html");return false})}function m(){f();i();j();l();b();d();c();e();h();a()}var g={init:m};return g}();$(document).ready(iDumpling.init);