/* Astral 2.5 by HTML5 UP html5up.net | @n33co Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) */ skel.init({ prefix: 'css/style', pollOnce: true, resetCSS: true, useOrientation: false, breakpoints: { 'mobile': { range: '-480', lockViewport: true, containers: 'fluid', grid: { collapse: true, gutters: 10 } }, 'desktop': { range: '481-', containers: 1200 } } }); jQuery(window).load(function() { jQuery.fn.n33_formerize=function(){var _fakes=new Array(),_form = jQuery(this);_form.find('input[type=text],textarea').each(function() { var e = jQuery(this); if (e.val() == '' || e.val() == e.attr('placeholder')) { e.addClass('formerize-placeholder'); e.val(e.attr('placeholder')); } }).blur(function() { var e = jQuery(this); if (e.attr('name').match(/_fakeformerizefield$/)) return; if (e.val() == '') { e.addClass('formerize-placeholder'); e.val(e.attr('placeholder')); } }).focus(function() { var e = jQuery(this); if (e.attr('name').match(/_fakeformerizefield$/)) return; if (e.val() == e.attr('placeholder')) { e.removeClass('formerize-placeholder'); e.val(''); } }); _form.find('input[type=password]').each(function() { var e = jQuery(this); var x = jQuery(jQuery('
').append(e.clone()).remove().html().replace(/type="password"/i, 'type="text"').replace(/type=password/i, 'type=text')); if (e.attr('id') != '') x.attr('id', e.attr('id') + '_fakeformerizefield'); if (e.attr('name') != '') x.attr('name', e.attr('name') + '_fakeformerizefield'); x.addClass('formerize-placeholder').val(x.attr('placeholder')).insertAfter(e); if (e.val() == '') e.hide(); else x.hide(); e.blur(function(event) { event.preventDefault(); var e = jQuery(this); var x = e.parent().find('input[name=' + e.attr('name') + '_fakeformerizefield]'); if (e.val() == '') { e.hide(); x.show(); } }); x.focus(function(event) { event.preventDefault(); var x = jQuery(this); var e = x.parent().find('input[name=' + x.attr('name').replace('_fakeformerizefield', '') + ']'); x.hide(); e.show().focus(); }); x.keypress(function(event) { event.preventDefault(); x.val(''); }); }); _form.submit(function() { jQuery(this).find('input[type=text],input[type=password],textarea').each(function(event) { var e = jQuery(this); if (e.attr('name').match(/_fakeformerizefield$/)) e.attr('name', ''); if (e.val() == e.attr('placeholder')) { e.removeClass('formerize-placeholder'); e.val(''); } }); }).bind("reset", function(event) { event.preventDefault(); jQuery(this).find('select').val(jQuery('option:first').val()); jQuery(this).find('input,textarea').each(function() { var e = jQuery(this); var x; e.removeClass('formerize-placeholder'); switch (this.type) { case 'submit': case 'reset': break; case 'password': e.val(e.attr('defaultValue')); x = e.parent().find('input[name=' + e.attr('name') + '_fakeformerizefield]'); if (e.val() == '') { e.hide(); x.show(); } else { e.show(); x.hide(); } break; case 'checkbox': case 'radio': e.attr('checked', e.attr('defaultValue')); break; case 'text': case 'textarea': e.val(e.attr('defaultValue')); if (e.val() == '') { e.addClass('formerize-placeholder'); e.val(e.attr('placeholder')); } break; default: e.val(e.attr('defaultValue')); break; } }); window.setTimeout(function() { for (x in _fakes) _fakes[x].trigger('formerize_sync'); }, 10); }); return _form; }; /*********************************************************************************/ /* Settings */ /*********************************************************************************/ var settings = { resizeSpeed: 600, // Speed to resize panel fadeSpeed: 300, // Speed to fade in/out sizeFactor: 11.5, // Size factor sizeMin: 15, // Minimum point size sizeMax: 20 // Maximum point size }; /*********************************************************************************/ /* Vars */ /*********************************************************************************/ var _window = jQuery(window), _main = jQuery('#main'), _panels = _main.find('.panel'), _body = jQuery('body'), _hbw = jQuery('html,body,window'), _footer = jQuery('#footer'), _wrapper = jQuery('#wrapper'), _nav = jQuery('#nav'), _nav_links = _nav.find('a'), _jumplinks = jQuery('.jumplink'); var panels = [], activePanelId = null, firstPanelId = null, isLocked = false, hash = window.location.hash.substring(1), isTouch = !!('ontouchstart' in window), isLegacyIE = (navigator.userAgent.match(/MSIE ([0-9]+)\./) && RegExp.$1 <= 9); if (isTouch) { settings.fadeSpeed = 0; settings.resizeSpeed = 0; _nav_links.find('span').remove(); } /*********************************************************************************/ /* Main (Desktop) */ /*********************************************************************************/ if (isLegacyIE || skel.isActive('desktop')) { // Body _body.h5u_resize = function() { var factor = (_window.width() * _window.height()) / (1440 * 900); _body.css('font-size', Math.min(Math.max(Math.floor(factor * settings.sizeFactor), settings.sizeMin), settings.sizeMax) + 'pt'); _main.height(panels[activePanelId].outerHeight()); _body.h5u_reposition(); }; _body.h5u_reposition = function() { if (isTouch && (window.orientation == 0 || window.orientation == 180)) _wrapper.css('padding-top', Math.max(((_window.height() - (panels[activePanelId].outerHeight() + _footer.outerHeight())) / 2) - _nav.height(), 30) + 'px'); else _wrapper.css('padding-top', (((_window.height() - panels[firstPanelId].height()) / 2) - _nav.height()) + 'px'); }; // Panels _panels.each(function(i) { var t = jQuery(this), id = t.attr('id'); panels[id] = t; if (i == 0) { firstPanelId = id; activePanelId = id; } else t.hide(); t.h5u_activate = function(instant) { // Check lock state and determine whether we're already at the target if (isLocked || activePanelId == id) return false; // Lock isLocked = true; // Change nav link (if it exists) _nav_links.removeClass('active'); _nav_links.filter('[href="#' + id + '"]').addClass('active'); // Change hash if (i == 0) window.location.hash = '#'; else window.location.hash = '#' + id; // Add bottom padding var x = parseInt(_wrapper.css('padding-top')) + panels[id].outerHeight() + _nav.outerHeight() + _footer.outerHeight(); if (x > _window.height()) _wrapper.addClass('tall'); else _wrapper.removeClass('tall'); // Fade out active panel _footer.fadeTo(settings.fadeSpeed, 0.0001); panels[activePanelId].fadeOut(instant ? 0 : settings.fadeSpeed, function() { // Set new active activePanelId = id; // Force scroll to top _hbw.animate({ scrollTop: 0 }, settings.resizeSpeed, 'swing'); // Reposition _body.h5u_reposition(); // Resize main to height of new panel _main.animate({ height: panels[activePanelId].outerHeight() }, instant ? 0 : settings.resizeSpeed, 'swing', function() { // Fade in new active panel _footer.fadeTo(instant ? 0 : settings.fadeSpeed, 1.0); panels[activePanelId].fadeIn(instant ? 0 : settings.fadeSpeed, function() { // Unlock isLocked = false; }); }); }); }; }); // Nav + Jumplinks _nav_links.add(_jumplinks).click(function(e) { var t = jQuery(this), href = t.attr('href'), id; if (href.substring(0,1) == '#') { e.preventDefault(); e.stopPropagation(); id = href.substring(1); if (id in panels) panels[id].h5u_activate(); } }); // Window _window .resize(function() { if (!isLocked) _body.h5u_resize(); }); // Forms (IE <= 9 only) if (isLegacyIE) jQuery('form').n33_formerize(); jQuery('form .form-button-submit').click(function(e) { e.preventDefault(); jQuery(this).closest('form').submit(); }); jQuery('form .form-button-reset').click(function(e) { e.preventDefault(); jQuery(this).closest('form')[0].reset(); }); // Init _window .trigger('resize'); if (hash && hash in panels) panels[hash].h5u_activate(true); _wrapper.fadeTo(400, 1.0); } });