/* Formalize - version 1.1 Note: This file depends on the jQuery library. */ // Module pattern: // http://yuiblog.com/blog/2007/06/12/module-pattern var FORMALIZE = (function($, window, document, undefined) { // Private constants. var PLACEHOLDER_SUPPORTED = 'placeholder' in document.createElement('input'); var AUTOFOCUS_SUPPORTED = 'autofocus' in document.createElement('input'); var IE6 = !!($.browser.msie && parseInt($.browser.version, 10) === 6); var IE7 = !!($.browser.msie && parseInt($.browser.version, 10) === 7); // Expose innards of FORMALIZE. return { // FORMALIZE.go go: function() { for (var i in FORMALIZE.init) { FORMALIZE.init[i](); } }, // FORMALIZE.init init: { // FORMALIZE.init.ie6_skin_inputs ie6_skin_inputs: function() { // Test for Internet Explorer 6. if (!IE6 || !$('input, select, textarea').length) { // Exit if the browser is not IE6, // or if no form elements exist. return; } // For , etc. var button_regex = /button|submit|reset/; // For , etc. var type_regex = /date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/; $('input').each(function() { var el = $(this); // Is it a button? if (this.getAttribute('type').match(button_regex)) { el.addClass('ie6-button'); /* Is it disabled? */ if (this.disabled) { el.addClass('ie6-button-disabled'); } } // Or is it a textual input? else if (this.getAttribute('type').match(type_regex)) { el.addClass('ie6-input'); /* Is it disabled? */ if (this.disabled) { el.addClass('ie6-input-disabled'); } } }); $('textarea, select').each(function() { /* Is it disabled? */ if (this.disabled) { $(this).addClass('ie6-input-disabled'); } }); }, // FORMALIZE.init.autofocus autofocus: function() { if (AUTOFOCUS_SUPPORTED || !$(':input[autofocus]').length) { return; } $(':input[autofocus]:visible:first').focus(); }, // FORMALIZE.init.placeholder placeholder: function() { if (PLACEHOLDER_SUPPORTED || !$(':input[placeholder]').length) { // Exit if placeholder is supported natively, // or if page does not have any placeholder. return; } FORMALIZE.misc.add_placeholder(); $(':input[placeholder]').each(function() { var el = $(this); var text = el.attr('placeholder'); el.focus(function() { if (el.val() === text) { el.val('').removeClass('placeholder-text'); } }).blur(function() { FORMALIZE.misc.add_placeholder(); }); // Prevent
from accidentally // submitting the placeholder text. el.closest('form').submit(function() { if (el.val() === text) { el.val('').removeClass('placeholder-text'); } }).bind('reset', function() { setTimeout(FORMALIZE.misc.add_placeholder, 50); }); }); } }, // FORMALIZE.misc misc: { // FORMALIZE.misc.add_placeholder add_placeholder: function() { if (PLACEHOLDER_SUPPORTED || !$(':input[placeholder]').length) { // Exit if placeholder is supported natively, // or if page does not have any placeholder. return; } $(':input[placeholder]').each(function() { var el = $(this); var text = el.attr('placeholder'); if (!el.val() || el.val() === text) { el.val(text).addClass('placeholder-text'); } }); } } }; // Alias jQuery, window, document. })(jQuery, this, this.document); // Automatically calls all functions in FORMALIZE.init jQuery(document).ready(function() { FORMALIZE.go(); });; /** * @todo */ Drupal.omega = Drupal.omega || {}; (function($) { /** * @todo */ var current; var previous; /** * @todo */ var setCurrentLayout = function (index) { index = parseInt(index); previous = current; current = Drupal.settings.omega.layouts.order.hasOwnProperty(index) ? Drupal.settings.omega.layouts.order[index] : 'mobile'; if (previous != current) { $('body').removeClass('responsive-layout-' + previous).addClass('responsive-layout-' + current); $.event.trigger('responsivelayout', {from: previous, to: current}); } }; /** * @todo */ Drupal.omega.getCurrentLayout = function () { return current; }; /** * @todo */ Drupal.omega.getPreviousLayout = function () { return previous; }; /** * @todo */ Drupal.omega.crappyBrowser = function () { return $.browser.msie && parseInt($.browser.version, 10) < 9; }; /** * @todo */ Drupal.omega.checkLayout = function (layout) { if (Drupal.settings.omega.layouts.queries.hasOwnProperty(layout) && Drupal.settings.omega.layouts.queries[layout]) { var output = Drupal.omega.checkQuery(Drupal.settings.omega.layouts.queries[layout]); if (!output && layout == Drupal.settings.omega.layouts.primary) { var dummy = $('
').prependTo('body'); dummy.append(''); dummy.append(''); output = parseInt(dummy.css('z-index')) == 100; dummy.remove(); } return output; } return false; }; /** * @todo */ Drupal.omega.checkQuery = function (query) { var dummy = $('
').prependTo('body'); dummy.append(''); dummy.append(''); var output = parseInt(dummy.css('z-index')) == 100; dummy.remove(); return output; }; /** * @todo */ Drupal.behaviors.omegaMediaQueries = { attach: function (context) { $('body', context).once('omega-mediaqueries', function () { var primary = $.inArray(Drupal.settings.omega.layouts.primary, Drupal.settings.omega.layouts.order); var dummy = $('
').prependTo('body'); dummy.append(''); dummy.append(''); for (var i in Drupal.settings.omega.layouts.order) { dummy.append(''); } $(window).bind('resize.omegamediaqueries', function () { setCurrentLayout(dummy.css('z-index')); }).load(function () { $(this).trigger('resize.omegamediaqueries'); }); }); } }; })(jQuery);;