return $(window).bind("statechange", function() {
var $prev, $prev_i, $scroll, State, relativeUrl, url;
State = History.getState();
url = State.url;
relativeUrl = url.replace(rootUrl, "");
$prev = $('.container').filter(":first");
$prev_i = $prev.find('#nav li.active').index();
$scroll = $bodyelem.scrollTop();
return $.ajax({
url: url,
success: function(data, textStatus, jqXHR) {
var $data, $dataBody, $dataContent, $forward, $menuChildren, $scripts, $transitioned, PageTransition, afterPageTransition, beforePageTransition, contentHtml, set_left, slide_left;
$data = $(documentHtml(data));
$dataBody = $data.find(".document-body:first");
$dataContent = $dataBody.find(contentSelector).filter(":first");
$menuChildren = void 0;
contentHtml = void 0;
$scripts = void 0;
$body.addClass("changing");
$scripts = $dataContent.find(".document-script");
if ($scripts.length) {
$scripts.detach();
}
contentHtml = $dataContent.html() || $data.html();
if (!contentHtml) {
document.location.href = url;
return false;
}
$menuChildren = $menu.find(menuChildrenSelector);
$menuChildren.filter(activeSelector).removeClass(activeClass);
$menuChildren = $menuChildren.has("a[href^=\"" + relativeUrl + "\"],a[href^=\"/" + relativeUrl + "\"],a[href^=\"" + url + "\"]");
if ($menuChildren.length === 1) {
$menuChildren.addClass(activeClass);
}
set_left = "-100%";
slide_left = "0%";
$forward = false;
$transitioned = false;
beforePageTransition = function() {
var $next_i;
$content = $('<div class="container" />');
$("#transition-holder").append($content);
$prev.find('nav').remove();
$content.html(contentHtml).ajaxify();
$content.find("img.bg").each(function() {
return $(this).imgbg();
});
$content.find('header').height($(window).height());
$next_i = $content.find('#nav li.active').index();
if ($next_i > $prev_i) {
$forward = true;
set_left = "0%";
slide_left = "-100%";
} else {
$content.insertBefore($prev);
}
$prev.find('.parallax').each(function() {
return $(this).moveBgOnTransition($scroll);
});
if (Modernizr.touch) {
$("#nav").css("position", "fixed");
}
$("#transition-holder").css("left", set_left);
$prev.find('#side-nav').animate({
opacity: 'hide'
}, 500, function() {
return $(this).remove();
});
$content.find('header, .parallax').css({
'background-attachment': 'scroll'
});
return $prev.find('header, .parallax').css({
'background-attachment': 'scroll'
});
};
afterPageTransition = function() {
$("#transition-holder").css("left", "0%");
if ($forward) {
$('.container:first').remove();
} else {
$('.container:last').remove();
}
$content.find('header, .parallax').css({
'background-attachment': 'fixed'
});
if (Modernizr.touch) {
$("#nav").css("position", "absolute");
}
$loaderDelay = 0;
return plazaOnLoad();
};
PageTransition = function() {
return $("#transition-holder").imagesLoaded(function() {
$body.removeClass("changing");
return $(this).animate({
left: slide_left
}, 1000, "easeInOutExpo", function() {
return afterPageTransition();
});
});
};
if ($isSafari) {
$bodyelem.stop().animate({
scrollTop: 0
}, {
duration: 500 + $scroll / 2,
easing: "easeOutCubic",
complete: function() {
beforePageTransition();
return PageTransition();
}
});
} else {
if ($scroll > $prev.find('footer').offset().top - $(window).height()) {
$bodyelem.stop().animate({
scrollTop: $prev.find('footer').offset().top - $(window).height()
}, {
duration: 500,
easing: "easeOutCubic",
complete: function() {
if (!$transitioned) {
beforePageTransition();
$prev.css({
position: 'relative',
top: "-" + ($bodyelem.scrollTop()) + "px"
});
$bodyelem.scrollTop(0);
PageTransition();
return $transitioned = true;
}
}
});
} else {
beforePageTransition();
$prev.css({
position: 'relative',
top: "-" + $scroll + "px"
});
$bodyelem.scrollTop(0);
if ($scroll > 0) {
$prev.find('header').css({
'background-position': "center " + $scroll + "px"
});
} else {
$prev.find('header').css({
'background-attachment': 'scroll'
});
}
PageTransition();
}
}
document.title = $data.find(".document-title:first").text();
try {
document.getElementsByTagName("title")[0].innerHTML = document.title.replace("<", "<").replace(">", ">").replace(" & ", " & ");
} catch (_error) {}
$scripts.each(function() {
var $script, scriptNode, scriptText;
$script = $(this);
scriptText = $script.text();
scriptNode = document.createElement("script");
scriptNode.appendChild(document.createTextNode(scriptText));
return contentNode.appendChild(scriptNode);
});
if (typeof window.pageTracker !== "undefined") {
window.pageTracker._trackPageview(relativeUrl);
}
if (typeof window.reinvigorate !== "undefined" && typeof window.reinvigorate.ajax_track !== "undefined") {
return reinvigorate.ajax_track(url);
}
},
error: function(jqXHR, textStatus, errorThrown) {
document.location.href = url;
return false;
}
});
});