/*

Phantom by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)

*/

(function($) {

skel.breakpoints({
        xlarge: '(max-width: 1680px)',
        large:  '(max-width: 1280px)',
        medium: '(max-width: 980px)',
        small:  '(max-width: 736px)',
        xsmall: '(max-width: 480px)'
});
$(function() {
        var     $window = $(window),
                $body = $('body');
        // Disable animations/transitions until the page has loaded.
                $body.addClass('is-loading');
                $window.on('load', function() {
                        window.setTimeout(function() {
                                $body.removeClass('is-loading');
                        }, 100);
                });
        // Touch?
                if (skel.vars.touch)
                        $body.addClass('is-touch');
        // Forms.
                var $form = $('form');
                // Auto-resizing textareas.
                        $form.find('textarea').each(function() {
                                var $this = $(this),
                                        $wrapper = $('<div class="textarea-wrapper"></div>'),
                                        $submits = $this.find('input[type="submit"]');
                                $this
                                        .wrap($wrapper)
                                        .attr('rows', 1)
                                        .css('overflow', 'hidden')
                                        .css('resize', 'none')
                                        .on('keydown', function(event) {
                                                if (event.keyCode == 13
                                                &&      event.ctrlKey) {
                                                        event.preventDefault();
                                                        event.stopPropagation();
                                                        $(this).blur();
                                                }
                                        })
                                        .on('blur focus', function() {
                                                $this.val($.trim($this.val()));
                                        })
                                        .on('input blur focus --init', function() {
                                                $wrapper
                                                        .css('height', $this.height());
                                                $this
                                                        .css('height', 'auto')
                                                        .css('height', $this.prop('scrollHeight') + 'px');
                                        })
                                        .on('keyup', function(event) {
                                                if (event.keyCode == 9)
                                                        $this
                                                                .select();
                                        })
                                        .triggerHandler('--init');
                                // Fix.
                                        if (skel.vars.browser == 'ie'
                                        ||      skel.vars.mobile)
                                                $this
                                                        .css('max-height', '10em')
                                                        .css('overflow-y', 'auto');
                        });
                // Fix: Placeholder polyfill.
                        $form.placeholder();
        // Prioritize "important" elements on medium.
                skel.on('+medium -medium', function() {
                        $.prioritize(
                                '.important\\28 medium\\29',
                                skel.breakpoint('medium').active
                        );
                });
        // Menu.
                var $menu = $('#menu');
                $menu.wrapInner('<div class="inner"></div>');
                $menu._locked = false;
                $menu._lock = function() {
                        if ($menu._locked)
                                return false;
                        $menu._locked = true;
                        window.setTimeout(function() {
                                $menu._locked = false;
                        }, 350);
                        return true;
                };
                $menu._show = function() {
                        if ($menu._lock())
                                $body.addClass('is-menu-visible');
                };
                $menu._hide = function() {
                        if ($menu._lock())
                                $body.removeClass('is-menu-visible');
                };
                $menu._toggle = function() {
                        if ($menu._lock())
                                $body.toggleClass('is-menu-visible');
                };
                $menu
                        .appendTo($body)
                        .on('click', function(event) {
                                event.stopPropagation();
                        })
                        .on('click', 'a', function(event) {
                                var href = $(this).attr('href');
                                event.preventDefault();
                                event.stopPropagation();
                                // Hide.
                                        $menu._hide();
                                // Redirect.
                                        if (href == '#menu')
                                                return;
                                        window.setTimeout(function() {
                                                window.location.href = href;
                                        }, 350);
                        })
                        .append('<a class="close" href="#menu">Close</a>');
                $body
                        .on('click', 'a[href="#menu"]', function(event) {
                                event.stopPropagation();
                                event.preventDefault();
                                // Toggle.
                                        $menu._toggle();
                        })
                        .on('click', function(event) {
                                // Hide.
                                        $menu._hide();
                        })
                        .on('keydown', function(event) {
                                // Hide on escape.
                                        if (event.keyCode == 27)
                                                $menu._hide();
                        });
});

})(jQuery);