var Utils=function(){return{getDocHeight:function(){var b=document;return Math.max(Math.max(b.body.scrollHeight,b.documentElement.scrollHeight),Math.max(b.body.offsetHeight,b.documentElement.offsetHeight),Math.max(b.body.clientHeight,b.documentElement.clientHeight))},isIOS:function(){return/Mozilla.*(iPhone|iPad).*AppleWebKit.*Safari/.test(navigator.userAgent)?true:false},isAndroid:function(){return/Android/.test(navigator.userAgent)?true:false},supportsPushState:function(){return history.pushState?
true:false},initForAnimBgHoverPos:function(b){$(b).each(function(){$("div.inner",this).data("bgHoverCnt",0);$("span.bottom",this).data("bgHoverCnt",0);$("div.inner",this).data("bgHoverAnim",0);$("span.bottom",this).data("bgHoverAnim",0)})},animBgHoverPos:function(b,f,c,g,j){clearInterval(b.data("bgHoverAnim"));j==true&&b.data("bgHoverCnt",g.length-1);b.data("bgHoverAnim",setInterval(function(){b.css({backgroundPosition:g[b.data("bgHoverCnt")]+"px "+c});f?(b.data("bgHoverCnt",b.data("bgHoverCnt")+
1),b.data("bgHoverCnt")==g.length&&clearInterval(b.data("bgHoverAnim"))):(b.data("bgHoverCnt",b.data("bgHoverCnt")-1),b.data("bgHoverCnt")<0&&(clearInterval(b.data("bgHoverAnim")),b.data("bgHoverCnt",0)))},30))}}}();var Menu=function(){var b,f=[];this.setActive=function(c,g){var f=g.split("/");f.shift();g=f[0];g!=b&&(b&&$("li a[href='/"+b+"']","nav ul").removeClass("active"),$("li a[href='/"+g+"']","nav ul").addClass("active"),b=g)};this.rebindSubMenu=function(){$("ul li a","ul#paging li.sub-menu").bind("click");$("ul li a","ul#paging li.sub-menu").bind("click",function(){var b=$(this).attr("href");$(document).trigger("handleNavigation",[b]);$(this).blur();return false})};(function(){$("li a","nav ul").each(function(){f.push($(this).attr("href"))});
$("li a","nav ul").bind("click",function(){var b=$(this).attr("href");$(document).trigger("handleNavigation",b);$(this).blur();return false});$("div#about a.close").bind("click",function(){$(document).trigger("handleNavigation","{parent-node}");$(this).blur();return false});$("ul#paging li.pan").bind("click",function(){var b=parseInt($("a",this).attr("data-key"));$(document).trigger("handleNavigation",[b,true]);$(this).blur();return false})})()};var Navigation=function(){var b=this,f=true,c,g,j=[],k,l,m,n;this.createRoute=function(){$(".anchor").each(function(){j.push($(this).attr("data-anchor"))});k=$.route({id:j},{showRoute:function(){var a=$(this).data("config").actualId;$(this).data("config");if($(".anchor[data-anchor='"+a+"']").html()==null)$.routemachine.showRouteComplete();else if(a==g)$.routemachine.showRouteComplete();else{if(g){var h=g.split("/");h.shift();var d=b.getShownObjects()}var e=a.split("/");e.shift();var c=$('li[data-anchor="/'+
e[0]+'"]',"ul#rows");e[1]&&$('li[data-anchor="/'+e[0]+"/"+e[1]+'"]',"ul#rows");var i=e[2]?$('li[data-anchor="/'+e[0]+"/"+e[1]+"/"+e[2]+'"]',"ul#rows"):null;if(!i&&$("ul",c).children().length>0){var f=$($("ul",c).children()[0]);f.attr("data-anchor")&&(i=f)}track(i.attr("data-anchor"));i.index()==0?$("ul#paging li.prev").addClass("disabled"):$("ul#paging li.prev").removeClass("disabled");i.index()==$("ul",c).children().length-1?$("ul#paging li.next").addClass("disabled"):$("ul#paging li.next").removeClass("disabled");
h?e[0]!=h[0]?(i&&(c.css({left:-(i.width()*i.index())}),i.hasClass("loaded")&&$("div.bg",i).css("display","block")),h=-c.position().top,e=Math.abs($("ul#rows").position().top-h)*0.3,e=e>1E3?1E3:e,$("ul#rows").animate({top:h},{duration:e,queue:false,easing:"easeOutSine",complete:function(){d.shownCol.hasClass("loaded")&&$("div.bg",d.shownCol).css("display","none");d.shownRow.css({left:0});g=a;b.handleImage();b.handleMenu();$.routemachine.showRouteComplete()}})):e[0]==h[0]&&(i?(h=-(i.width()*i.index()),
e=Math.abs(c.position().left-h)*0.3,e=e>1E3?1E3:e,i.hasClass("loaded")&&$("div.bg",i).css("display","block"),c.animate({left:h},{duration:e,queue:false,easing:"easeOutSine",complete:function(){d.shownCol.hasClass("loaded")&&$("div.bg",d.shownCol).css("display","none");g=a;b.handleImage();b.updateMenuState();$.routemachine.showRouteComplete()}})):(g=a,$.routemachine.showRouteComplete())):(i&&c.css({left:-(i.width()*i.index())}),$("ul#rows").css({top:-c.position().top}),g=a,b.handleImage(),b.handleMenu(),
$.routemachine.showRouteComplete())}},hideRoute:function(){$.routemachine.hideRouteComplete()},updateData:function(a,b){$(this).data("config").actualId=b.id;$(this).data("config").data=b.data}});l=$.route({id:$("div#about").attr("data-anchor")},{showRoute:function(){track($("div#about").attr("data-anchor"));$("div#about").fadeTo(400,0.9,"easeOutSine",function(){$.routemachine.showRouteComplete()})},hideRoute:function(){$("div#about").fadeOut(400,"easeOutSine",function(){$.routemachine.hideRouteComplete()})},
updateData:function(a,b){$(this).data("config").actualId=b.id;$(this).data("config").data=b.data}})};this.onChangePathHandler=function(a,b){if(f&&(a=$.address.state().replace(/^\/$/,"")+a,a=a.replace("",""),a=j.indexOf(a)==-1&&a!=$("div#about").attr("data-anchor")?j[0]:a,!(c==a||a==""))){if(c){var d=c.split("/");d.shift();var e=$('li[data-anchor="/'+d[0]+'"]',"ul#rows");d[1]&&$('li[data-anchor="/'+d[0]+"/"+d[1]+'"]',"ul#rows");d=d[2]?$('li[data-anchor="/'+d[0]+"/"+d[1]+"/"+d[2]+'"]',"ul#rows"):
null;!d&&$("ul",e).children().length>0&&(e=$($("ul",e).children()[0]),e.attr("data-anchor")&&(d=e.attr("data-anchor")));if(d==a)return}a==$("div#about").attr("data-anchor")&&(m=c);c=a=="/"?j[0]:a;$(document).trigger("updateMenu",c);$.routemachine.onUpdate({path:c,doAnimation:b})}};this.onKeyChangeHandler=function(a){if(f){if(g)var h=b.getShownObjects();var d;switch(a){case 27:c==$("div#about").attr("data-anchor")&&(d="{parent-node}");break;case 32:c!=$("div#about").attr("data-anchor")&&(d=$("div#about").attr("data-anchor"));
break;case 37:if(!g)return;if(c==$("div#about").attr("data-anchor"))return;a=h.shownCol.prev();if(!a.attr("data-anchor")||a.hasClass("row"))return false;d=a.attr("data-anchor");break;case 39:if(!g)return;if(c==$("div#about").attr("data-anchor"))return;a=h.shownCol.next();if(!a.attr("data-anchor")||a.hasClass("row"))return false;d=a.attr("data-anchor");break;case 38:if(c==$("div#about").attr("data-anchor"))d="{parent-node}";else{if(!g)return;a=h.shownRow.prev();if(!a.attr("data-anchor"))return false;
d=a.attr("data-anchor")}break;case 40:if(!g)return;a=h.shownRow.next();if(!a.attr("data-anchor"))if(c!=$("div#about").attr("data-anchor"))a=$("div#about");else return false;d=a.attr("data-anchor")}d&&$(document).trigger("handleNavigation",d);return false}};this.onSwipeHandler=function(a,h){switch(h){case "up":b.onKeyChangeHandler(40);break;case "down":b.onKeyChangeHandler(38);break;case "left":b.onKeyChangeHandler(39);break;case "right":b.onKeyChangeHandler(37)}};this.getShownObjects=function(){if(!g)return null;
var a=g.split("/");a.shift();var b=$("li[data-anchor='/"+a[0]+"']","ul#rows"),d=$('li[data-anchor="/'+a[0]+"/"+a[1]+"/"+a[2]+'"]',"ul#rows");if((!a[1]||!a[2])&&$("ul",b).children().length>0)a=$($("ul",b).children()[0]),a.attr("data-anchor")&&(d=a);return{shownRow:b,shownCol:d}};this.handleMenu=function(){var a=g.split("/");a.shift();var a=a[0].replace("-",""),h=b.getShownObjects().shownCol.attr("data-anchor").split("/")[2];if(a!="home"){for(var d=sets[a],a=a=="movingmaterial"?"moving-material":a,
e="<ul>",c=[],f=0;f<1E3;f++)c.push(f);for(var j in d)c.indexOf(parseInt(j))!=-1&&(e+="<li><a "+(h==d[j].slug?"class='active' ":"")+"data-set-ref='"+d[j].slug+"' href='/"+a+"/"+d[j].slug+"/0'>"+d[j].title+"</a></li>");e+="</ul>";$("li.sub-menu","ul#paging").html(e);$(document).trigger("rebindSubMenu");b.handleResize()}};this.updateMenuState=function(){var a=b.getShownObjects().shownCol.attr("data-anchor").split("/")[2];$("ul li","ul#paging li.sub-menu").each(function(){var b=$("a",this);a==b.attr("data-set-ref")?
b.hasClass("active")||b.addClass("active"):b.removeClass("active")})};this.handleImage=function(){f=false;var a=b.getShownObjects();if(!a.shownCol.attr("data-img")||$("div.bg",a.shownCol).html()!=null)if($("div.bg",a.shownCol).html()!=null)f=true;else{if(a.shownCol.attr("data-video")){$("h3",a.shownCol).html()?$("h3",a.shownCol).wrap("<div class='bg' />"):a.shownCol.html("<div class='bg'></div>");var c='<iframe src="http://player.vimeo.com/video/{id}?title=0&amp;byline=0&amp;portrait=0" width="100%" height="100%" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>'.replace("{id}",
a.shownCol.attr("data-video"));$("div.bg",a.shownCol).css("display","block");$("div.bg",a.shownCol).css("opacity",0);$("div.bg",a.shownCol).append(c);$("div.bg",a.shownCol).animate({opacity:1},{duration:300,complete:function(){a.shownCol.addClass("loaded");f=true}})}}else $("h3",a.shownCol).html()?$("h3",a.shownCol).wrap("<div class='bg' />"):$("h1",a.shownCol).html()?$("h1",a.shownCol).wrap("<div class='bg' />"):$("ul",a.shownCol).html()?$("ul",a.shownCol).wrap("<div class='bg' />"):a.shownCol.html("<div class='bg'></div>"),
a.shownCol.append("<div class='preloader'></div>"),$("div.preloader",a.shownCol).css("opacity",0),$("div.bg",a.shownCol).css("opacity",0),$("div.bg",a.shownCol).css("display","block"),$("div.preloader",a.shownCol).animate({opacity:1},{duration:200,complete:function(){var b=new Image;b.onload=function(){$("div.bg",a.shownCol).css({"background-image":"url(/lib/content/"+a.shownCol.attr("data-img")+")"}).ready(function(){$("div.preloader",a.shownCol).animate({opacity:0},{duration:200,complete:function(){$("div.preloader",
a.shownCol).remove()}});$("div.bg",a.shownCol).animate({opacity:1},{duration:300,complete:function(){a.shownCol.addClass("loaded");f=true}})})};b.src="/lib/content/"+a.shownCol.attr("data-img")}})};this.handleResize=function(){var a=$(window).width(),c=$(window).height(),d=b.getShownObjects();$("ul#rows li.row ul.content li.anchor").css({width:a,height:c});$("ul#rows li.row ul.content").each(function(){$(this).css("width",100+$(this).children().length*a);$(this).css("height",c)});d&&($("ul#rows").css("top",
-d.shownRow.position().top),d.shownRow.css("left",-(d.shownCol.width()*d.shownCol.index())));$("ul#paging li.sub-menu").css({"margin-top":-(0.5*$("ul#paging li.sub-menu").height())})};this.handlePaging=function(a){if(!Utils.isIOS()){var b=$("ul#paging li.prev"),d=$("ul#paging li.next"),c=$("ul#paging li.sub-menu");a?(b.hasClass("disabled")||b.fadeIn(),d.hasClass("disabled")||d.fadeIn(),c.hasClass("disabled")||c.fadeIn()):(b.fadeOut(),d.fadeOut(),c.fadeOut())}};this.navigate=function(a,c,d){b.handlePaging(false);
if(d)b.onKeyChangeHandler(c);else c=="{parent-node}"&&(c=m==void 0?j[0]:m),a=Utils.supportsPushState()?""+c:c,$.address.value(a)};this.setNavigationStatus=function(a){f=a};(function(){b.createRoute();$.routemachine.init();$.routemachine.add(k.data("config").id,k);$.routemachine.add(l.data("config").id,l);$.address.init(function(){}).internalChange(function(a){b.onChangePathHandler(a.value,true)}).bind("externalChange",function(a){b.onChangePathHandler(a.value)});Utils.isIOS()||$(document).bind("mousemove",
function(){n!=false&&(clearTimeout(n),c&&c.indexOf($("div#about").attr("data-anchor"))==-1&&c.indexOf("/home")==-1&&b.handlePaging(true));n=setTimeout(function(){b.handlePaging(false)},1E3)});Utils.isIOS()&&$("body").swipe({swipe:b.onSwipeHandler,threshold:100})})()};$(function(){function b(){c.handleResize()}var f=new Menu,c=new Navigation;$(document).bind("handleNavigation",c.navigate);$(document).bind("updateMenu",f.setActive);$(document).bind("rebindSubMenu",f.rebindSubMenu);f="<div id='tip'><h6><span>Tip!</span> "+(Utils.isIOS()?"Swipe to navigate.":"You can use the arrow keys to navigate.")+"</h6></div>";$("body").append(f);$("div#tip").delay(3E3).animate({top:-$("div#tip").height()},{easing:"swing",duration:200});$(window).bind("resize",b);b();$(document).bind("keydown",
function(b){if([37,38,39,40,32,27].indexOf(b.keyCode)!=-1)return c.onKeyChangeHandler(b.keyCode),false})});

