[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/all/modules/webform/js/ -> webform.js (source)

   1  // $Id: webform.js,v 1.1.2.5 2010/08/30 16:58:02 quicksketch Exp $
   2  
   3  /**
   4   * JavaScript behaviors for the front-end display of webforms.
   5   */
   6  
   7  (function ($) {
   8  
   9  Drupal.behaviors.webform = function(context) {
  10    // Calendar datepicker behavior.
  11    Drupal.webform.datepicker(context);
  12  };
  13  
  14  Drupal.webform = Drupal.webform || {};
  15  
  16  Drupal.webform.datepicker = function(context) {
  17    $('div.webform-datepicker').each(function() {
  18      var $webformDatepicker = $(this);
  19      var $calendar = $webformDatepicker.find('input.webform-calendar');
  20      var startYear = $calendar[0].className.replace(/.*webform-calendar-start-(\d+).*/, '$1');
  21      var endYear = $calendar[0].className.replace(/.*webform-calendar-end-(\d+).*/, '$1');
  22      var firstDay = $calendar[0].className.replace(/.*webform-calendar-day-(\d).*/, '$1');
  23  
  24      // Ensure that start comes before end for datepicker.
  25      if (startYear > endYear) {
  26        var greaterYear = startYear;
  27        startYear = endYear;
  28        endYear = greaterYear;
  29      }
  30  
  31      // Set up the jQuery datepicker element.
  32      $calendar.datepicker({
  33        dateFormat: 'yy-mm-dd',
  34        yearRange: startYear + ':' + endYear,
  35        firstDay: parseInt(firstDay),
  36        onSelect: function(dateText, inst) {
  37          var date = dateText.split('-');
  38          $webformDatepicker.find('select.year, input.year').val(+date[0]);
  39          $webformDatepicker.find('select.month').val(+date[1]);
  40          $webformDatepicker.find('select.day').val(+date[2]);
  41        },
  42        beforeShow: function(input, inst) {
  43          // Get the select list values.
  44          var year = $webformDatepicker.find('select.year, input.year').val();
  45          var month = $webformDatepicker.find('select.month').val();
  46          var day = $webformDatepicker.find('select.day').val();
  47  
  48          // If empty, default to the current year/month/day in the popup.
  49          var today = new Date();
  50          year = year ? year : today.getFullYear();
  51          month = month ? month : today.getMonth() + 1;
  52          day = day ? day : today.getDate();
  53  
  54          // jQuery UI Datepicker will read the input field and base its date off
  55          // of that, even though in our case the input field is a button.
  56          $(input).val(year + '-' + month + '-' + day);
  57        }
  58      });
  59  
  60      // Prevent the calendar button from submitting the form.
  61      $calendar.click(function(event) {
  62        $(this).focus();
  63        event.preventDefault();
  64      });
  65    });
  66  }
  67  
  68  })(jQuery);


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7