Contact Form 7 Datepicker - Version 0.7.4

Version Description

  • Bugfix:
    • datepicker shortcode works now if contact form 7 is not installed
Download this release

Release Info

Developer shockware
Plugin Icon wp plugin Contact Form 7 Datepicker
Version 0.7.4
Comparing to
See all releases

Code changes from version 0.7.2 to 0.7.4

.gitignore ADDED
@@ -0,0 +1 @@
1
+ geany_run_script.sh
contact-form-7-datepicker.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Contact Form 7 Datepicker
4
Plugin URI: https://github.com/relu/contact-form-7-datepicker/
5
Description: Implements a new [date] tag in Contact Form 7 that adds a date field to a form. When clicking the field a calendar pops up enabling your site visitors to easily select any date. Now you can use the [datepicker] shortcode outside of CF7.
6
Author: Aurel Canciu
7
- Version: 0.7.2
8
Author URI: https://github.com/relu/
9
*/
10
?>
@@ -28,7 +28,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28
?>
29
<?php
30
31
- define('CF7_DATE_PICKER_VERSION', '0.7.2');
32
define('PLUGIN_PATH', '/wp-content/plugins/'.plugin_basename(dirname(__FILE__)));
33
34
if (!defined('CF7_DATE_PICKER_ENQUEUES')) {
@@ -36,18 +36,18 @@ if (!defined('CF7_DATE_PICKER_ENQUEUES')) {
36
}
37
38
class CF7DatePicker {
39
-
40
/**
41
* static Array $option_defaults
42
- *
43
* Holds the default option values for the plugin
44
*/
45
static $option_defaults = array(
46
- "useMode" => 2,
47
- "isStripped" => "false",
48
- "limitToToday" => 0,
49
- "cellColorScheme" => "beige",
50
- "dateFormat" => "%d-%m-%Y",
51
"weekStartDay" => 1,
52
"directionality" => "ltr",
53
"yearsRange" => "1970,2100",
@@ -59,13 +59,13 @@ class CF7DatePicker {
59
60
/**
61
* __construct()
62
- *
63
* This is the class constructor method, it registers actions and initializes the plugin
64
*/
65
function __construct() {
66
register_activation_hook(__FILE__, array(__CLASS__, 'activate'));
67
register_deactivation_hook(__FILE__, array(__CLASS__, 'deactivate'));
68
-
69
add_action('plugins_loaded', array(__CLASS__, 'register_shortcodes'));
70
add_action('admin_init', array(__CLASS__, 'tag_generator'));
71
add_action('admin_menu', array(__CLASS__, 'register_admin_settings'));
@@ -74,22 +74,22 @@ class CF7DatePicker {
74
add_action('wp_enqueue_scripts', array(__CLASS__, 'plugin_enqueues'));
75
}
76
add_action('admin_enqueue_scripts', array(__CLASS__, 'plugin_enqueues'));
77
-
78
add_action('init', array(__CLASS__, 'calendar_l10n'));
79
-
80
81
add_filter('wpcf7_validate_date', array(__CLASS__, 'wpcf7_validation_filter'), 10, 2);
82
add_filter('wpcf7_validate_date*', array(__CLASS__, 'wpcf7_validation_filter'), 10, 2);
83
-
84
add_action('init', array(__CLASS__, 'admin_l10n'));
85
}
86
87
/**
88
* activate()
89
- *
90
* Action triggered when plugin is activated
91
* It inserts some default values as options
92
- */
93
public static function activate() {
94
foreach (self::$option_defaults as $option => $value) {
95
add_option($option, $value);
@@ -98,10 +98,10 @@ class CF7DatePicker {
98
99
/**
100
* deactivate()
101
- *
102
* Action triggered when plugin is deactivated
103
* It deletes the settings stored in the database
104
- */
105
public static function deactivate() {
106
foreach (self::$option_defaults as $option => $value) {
107
delete_option($option);
@@ -110,7 +110,7 @@ class CF7DatePicker {
110
111
/**
112
* update_settings($dataupdate)
113
- *
114
* Updates plugin's settings into the database
115
* @param Array $dateupdate, contains the updated settings
116
*/
@@ -175,7 +175,7 @@ class CF7DatePicker {
175
closedir($handle);
176
return $schemeimg;
177
}
178
-
179
/**
180
* get_scheme_style($scheme)
181
*
@@ -202,10 +202,10 @@ class CF7DatePicker {
202
foreach(self::$option_defaults as $option => $value)
203
$dataupdate[$option] = $_POST[$option];
204
$dataupdate['yearsRange'] = trim($_POST['yearmin']).",".trim($_POST['yearmax']);
205
-
206
$dataupdate['yearButtons'] = (isset($_POST['yearButtons'])) ? "true" : "false";
207
$dataupdate['monthButtons'] = (isset($_POST['monthButtons'])) ? "true" : "false";
208
-
209
if ($_POST['selectedDate'] !== '') {
210
if (get_option('dateFormat') !== $dataupdate['dateFormat']) {
211
$df = $dataupdate['dateFormat'];
@@ -213,11 +213,11 @@ class CF7DatePicker {
213
$df = get_option('dateFormat');
214
}
215
$df = str_replace('%', '', trim($df));
216
-
217
$dataupdate['selectedDate'] = date($df, strtotime($_POST['selectedDate']));
218
$dataupdate['selectedDate'] = date("Y-m-d", strtotime($dataupdate['selectedDate']));
219
}
220
-
221
self::update_settings($dataupdate);
222
}
223
$useMode = array(1,2);
@@ -240,11 +240,11 @@ class CF7DatePicker {
240
__('Right to left', 'contact-form-7-datepicker')
241
);
242
$yearsRange = explode(",", trim(get_option('yearsRange')));
243
-
244
?>
245
<div class="wrap">
246
<h2>Contact Form 7 Datepicker</h2><?php
247
- echo __('<p>This plugin implements a new <strong>[date]</strong> tag in <a href="http://wordpress.org/extend/plugins/contact-form-7/">Contact Form 7</a>
248
that adds a date field to a form. When clicking the field a calendar pops up enabling your site visitors to easily select any date.<br />
249
To use it simply insert the <strong>[date your-field-name]</strong> or <strong>[date* your-requierd-field-name]</strong> if you want it to be mandatory,
250
in your Contact Form 7 edit section.</p>', 'contact-form-7-datepicker'); ?>
@@ -261,20 +261,20 @@ class CF7DatePicker {
261
$checked = "checked=\"checked\"";
262
else
263
$checked = ""; ?>
264
-
265
<div style="float: left; width: 100px; margin: 30px 30px 0 0; text-align: center;">
266
<div style="display: block; padding: 5px; background: #fff; border: 1px solid #ccc; border-radius: 4px 4px 4px 4px;">
267
<label><?php echo $scheme; ?></label><br /><?php
268
foreach(self::get_scheme_images($scheme) as $img) { ?>
269
- <img src="<?php echo $img; ?>" style="margin: 5px;" /><?php
270
} ?><br /><br />
271
<input name="cellColorScheme" type="radio" width="24" height="25" value="<?php echo $scheme; ?>" <?php echo $checked; ?> />
272
</div>
273
- </div><?php
274
} ?>
275
</td>
276
</tr>
277
-
278
<tr>
279
<th>
280
<label><?php echo __('Use Mode', 'contact-form-7-datepicker'); ?></label>
@@ -286,7 +286,7 @@ class CF7DatePicker {
286
$selected = "selected";
287
else
288
$selected = "";
289
-
290
echo "<option value='".$row."' ".$selected." >".$row."</option>";
291
} ?>
292
</select>
@@ -296,7 +296,7 @@ class CF7DatePicker {
296
2 – The calendar will appear as a popup when the field with the id supplied in target is clicked.</p>', 'contact-form-7-datepicker'); ?>
297
</td>
298
</tr>
299
-
300
<tr>
301
<th>
302
<label><?php echo __('Sripped', 'contact-form-7-datepicker'); ?></label>
@@ -308,12 +308,12 @@ class CF7DatePicker {
308
$val = "true";
309
else
310
$val = "false";
311
-
312
if ($val == get_option('isStripped'))
313
$selected = "selected";
314
else
315
$selected = "";
316
-
317
echo "<option value='".$val."' ".$selected." >".__($row, 'contact-form-7-datepicker')."</option>";
318
} ?>
319
</select>
@@ -322,7 +322,7 @@ class CF7DatePicker {
322
<?php echo __('<p>When set to true the calendar appears without the visual design - usually used with \'Use Mod\' 1.</p>','contact-form-7-datepicker'); ?>
323
</td>
324
</tr>
325
-
326
<tr>
327
<th>
328
<label><?php echo __('Limit Dates To', 'contact-form-7-datepicker'); ?></label>
@@ -336,12 +336,12 @@ class CF7DatePicker {
336
$val = -1;
337
else
338
$val = 0;
339
-
340
if ($val == get_option('limitToToday'))
341
$selected = "selected";
342
else
343
$selected = "";
344
-
345
echo "<option value='".$val."' ".$selected." >".__($row, 'contact-form-7-datepicker')."</option>";
346
} ?>
347
</select>
@@ -350,7 +350,7 @@ class CF7DatePicker {
350
<?php echo __('<p>Enables you to limit the possible picking dates according to the current date.</p>','contact-form-7-datepicker'); ?>
351
</td>
352
</tr>
353
-
354
<tr>
355
<th>
356
<label><?php echo __('Week Start Day', 'contact-form-7-datepicker'); ?></h2></label>
@@ -362,12 +362,12 @@ class CF7DatePicker {
362
$val = 0;
363
else
364
$val = 1;
365
-
366
if($val == get_option('weekStartDay'))
367
$selected = "selected";
368
else
369
$selected = "";
370
-
371
echo "<option value='".$val."' ".$selected." >".__($row,'contact-form-7-datepicker')."</option>";
372
} ?>
373
</select>
@@ -375,7 +375,7 @@ class CF7DatePicker {
375
<td>
376
</td>
377
</tr>
378
-
379
<tr>
380
<th>
381
<label><?php echo __('Years Range', 'contact-form-7-datepicker'); ?></h2></label>
@@ -385,7 +385,7 @@ class CF7DatePicker {
385
<input name="yearmax" id="yearmax" type="text" value="<?php echo $yearsRange[1]; ?>" />
386
</td>
387
</tr>
388
-
389
<tr>
390
<th>
391
<label><?php echo __('Text Direction', 'contact-form-7-datepicker'); ?></h2></label>
@@ -397,12 +397,12 @@ class CF7DatePicker {
397
$val = "ltr";
398
else
399
$val = "rtl";
400
-
401
if($val == get_option('directionality'))
402
$selected = "selected";
403
else
404
$selected = "";
405
-
406
echo "<option value='".$val."' ".$selected." >".__($row,'contact-form-7-datepicker')."</option>";
407
} ?>
408
</select>
@@ -410,13 +410,13 @@ class CF7DatePicker {
410
<td>
411
</td>
412
</tr>
413
-
414
<tr>
415
<th>
416
<label><?php echo __('Controls', 'contact-form-7-datepicker'); ?></h2></label>
417
</th>
418
<td><?php
419
-
420
if (get_option('yearButtons') == "true")
421
$checked = "checked=\"checked\"";
422
else
@@ -424,7 +424,7 @@ class CF7DatePicker {
424
echo "<input type=\"checkbox\" name=\"yearButtons\" ".$checked.">"; ?>
425
<label><?php echo __('Year Controls','contact-form-7-datepicker'); ?>&nbsp;</label>
426
<br /><?php
427
-
428
if (get_option('monthButtons') == "true")
429
$checked = "checked=\"checked\"";
430
else
@@ -436,13 +436,13 @@ class CF7DatePicker {
436
<?php echo __('<p>You can select here what controls would you like to display on the calendar.</p>', 'contact-form-7-datepicker'); ?>
437
</td>
438
</tr>
439
-
440
<tr>
441
<th>
442
<label><?php echo __('Selected Date', 'contact-form-7-datepicker'); ?></label>
443
</th>
444
<td style="overflow: visible">
445
- <?php
446
echo self::page_text_filter_callback("selectedDate");
447
?>
448
</td>
@@ -450,7 +450,7 @@ class CF7DatePicker {
450
<?php echo __('<p>You can set here a default selected date and have a look of how the calendar shows up.</p>', 'contact-form-7-datepicker'); ?>
451
</td>
452
</tr>
453
-
454
<tr>
455
<th>
456
<label><?php echo __('Animate', 'contact-form-7-datepicker'); ?></label>
@@ -462,12 +462,12 @@ class CF7DatePicker {
462
$val = "true";
463
else
464
$val = "false";
465
-
466
if ($val == get_option('animate'))
467
$selected = "selected";
468
else
469
$selected = "";
470
-
471
echo "<option value='".$val."' ".$selected." >".__($row, 'contact-form-7-datepicker')."</option>";
472
} ?>
473
</select>
@@ -476,7 +476,7 @@ class CF7DatePicker {
476
<?php echo __('<p>Animation on display.</p>','contact-form-7-datepicker'); ?>
477
</td>
478
</tr>
479
-
480
<tr>
481
<th>
482
<label><?php echo __('Date Format', 'contact-form-7-datepicker'); ?></label>
@@ -496,11 +496,11 @@ class CF7DatePicker {
496
%Y - A full numeric representation of a year, 4 digits<br />
497
%y - A two digit representation of a year<br />
498
<br />
499
- You can of course put whatever divider you want between them.<br /></p>',
500
'contact-form-7-datepicker'); ?>
501
</td>
502
</tr>
503
-
504
<tr>
505
<td colspan="2">
506
</td>
@@ -521,10 +521,10 @@ You can of course put whatever divider you want between them.<br /></p>',
521
public static function register_files() {
522
wp_register_style('jsdp_ltr', plugins_url( '/css/jsDatePick_ltr.min.css', __FILE__ ), array(), CF7_DATE_PICKER_VERSION);
523
wp_register_style('jsdp_rtl', plugins_url( '/css/jsDatePick_rtl.min.css', __FILE__ ), array(), CF7_DATE_PICKER_VERSION);
524
-
525
wp_register_script('jsDatePickJS', plugins_url( '/js/jsDatePick.jquery.min.js', __FILE__ ), array('jquery'), CF7_DATE_PICKER_VERSION, true);
526
}
527
-
528
/**
529
* plugin_enqueues()
530
*
@@ -533,7 +533,7 @@ You can of course put whatever divider you want between them.<br /></p>',
533
public static function plugin_enqueues() {
534
wp_enqueue_style('jsdp_'.get_option('directionality'));
535
wp_enqueue_script('jsDatePickJS');
536
-
537
do_action('plugin_enqueues');
538
}
539
@@ -550,22 +550,22 @@ You can of course put whatever divider you want between them.<br /></p>',
550
} else {
551
$name = $data['name'];
552
}
553
-
554
if (is_array($data) && isset($data['atts']['id'])) {
555
$id = $data['atts']['id'];
556
} else {
557
$id = $name;
558
}
559
-
560
$jssafeid = preg_replace('/[^A-Za-z0-9]/', '', $id);
561
-
562
if (is_array($data) && !empty($data['value']) && is_numeric(strtotime($data['value']))) {
563
$seldate = date('Y-m-d', strtotime($data['value']));
564
-
565
} else {
566
$seldate = get_option('selectedDate');
567
}
568
-
569
if ($seldate) {
570
$ts = strtotime($seldate);
571
$seldate = array(
@@ -573,38 +573,38 @@ You can of course put whatever divider you want between them.<br /></p>',
573
'm' => date('m', $ts),
574
'y' => date('Y', $ts)
575
);
576
-
577
$dateval = $seldate['y'].'-'.$seldate['m'].'-'.$seldate['d'];
578
} else {
579
$dateval = '';
580
}
581
-
582
$attributes = '';
583
-
584
if (is_array($data['atts'])) {
585
foreach ($data['atts'] as $key => $val) {
586
if (!empty($val))
587
$attributes .= $key.'="'.$val.'" ';
588
}
589
}
590
-
591
if (!is_array($data) || (is_array($data['atts']) && empty($data['atts']['id']))) {
592
$attributes .= 'id="'.$id.'" ';
593
}
594
-
595
- if (!empty($dateval)) {
596
$df = str_replace('%', '', get_option('dateFormat'));
597
$dateval = date($df, strtotime($dateval));
598
$attributes .= 'value="'.$dateval.'"';
599
}
600
-
601
$attributes = trim($attributes);
602
-
603
$string = '';
604
-
605
if ( (is_array($data) && $data['opts']['newfield'] === 'true') || !is_array($data) || (is_array($data) && empty($data['opts']['newfield'])))
606
$string = '<input type="text" name="'.$name.'" '.$attributes.' />';
607
-
608
$string .= '
609
<script type="text/javascript">
610
jQuery(document).ready(function() {
@@ -625,7 +625,7 @@ You can of course put whatever divider you want between them.<br /></p>',
625
if ($seldate) {
626
$string .= ',
627
selectedDate: {
628
- year: '.$seldate['y'].',
629
month: '.$seldate['m'].',
630
day: '.$seldate['d'].'
631
}';
@@ -640,7 +640,7 @@ You can of course put whatever divider you want between them.<br /></p>',
640
<style type="text/css">
641
@import url(\''.$schemecss.'\');
642
</style>';
643
-
644
return $string;
645
}
646
@@ -659,10 +659,10 @@ You can of course put whatever divider you want between them.<br /></p>',
659
660
$type = $tag['type'];
661
$name = $tag['name'];
662
-
663
$options = (array) $tag['options'];
664
$values = (array) $tag['values'];
665
-
666
if ( empty( $name ) )
667
return '';
668
@@ -692,7 +692,7 @@ You can of course put whatever divider you want between them.<br /></p>',
692
} else {
693
$value = $values[0];
694
}
695
-
696
$data = array(
697
"name" => $name,
698
"atts" => (array) $atts,
@@ -745,11 +745,11 @@ You can of course put whatever divider you want between them.<br /></p>',
745
public static function admin_l10n() {
746
load_plugin_textdomain( 'contact-form-7-datepicker', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
747
}
748
-
749
/**
750
* datepicker_shortcode_handler()
751
*
752
- * Function that handles the [datepicker name="?" id="?" class="?" newfield="?" value="?"] shortcode
753
*/
754
public static function datepicker_shortcode_handler($atts) {
755
extract(shortcode_atts(array(
@@ -759,7 +759,7 @@ You can of course put whatever divider you want between them.<br /></p>',
759
'newfield' => 'true',
760
'value' => ''
761
), $atts));
762
-
763
$data = array(
764
"name" => ($name) ? "{$name}" : "{$id}",
765
"atts" => array(
@@ -772,7 +772,7 @@ You can of course put whatever divider you want between them.<br /></p>',
772
773
return self::page_text_filter_callback($data);
774
}
775
-
776
/**
777
* calendar_l10n()
778
*
@@ -781,7 +781,7 @@ You can of course put whatever divider you want between them.<br /></p>',
781
public static function calendar_l10n() {
782
$l10n_strings = array(
783
'MONTHS' => array(
784
- __('Janaury', 'contact-form-7-datepicker'),
785
__('February', 'contact-form-7-datepicker'),
786
__('March', 'contact-form-7-datepicker'),
787
__('April', 'contact-form-7-datepicker'),
@@ -813,27 +813,28 @@ You can of course put whatever divider you want between them.<br /></p>',
813
'ERROR_4' => __('Target invalid!', 'contact-form-7-datepicker'),
814
'ERROR_3' => __('Target invalid!', 'contact-form-7-datepicker')
815
);
816
- $l10n = array('l10n_print_after' => 'g_l10n = ' . json_encode($l10n_strings) . ';');
817
-
818
wp_localize_script('jsDatePickJS', 'g_l10n', $l10n);
819
}
820
-
821
/**
822
* register_shortcodes()
823
- *
824
* Function for registering our shortcodes with CF7
825
*/
826
public static function register_shortcodes() {
827
if (function_exists('wpcf7_add_shortcode')) {
828
wpcf7_add_shortcode('date', array(__CLASS__, 'wpcf7_shotcode_handler'), true);
829
wpcf7_add_shortcode('date*', array(__CLASS__, 'wpcf7_shotcode_handler'), true);
830
- add_shortcode( 'datepicker', array(__CLASS__, 'datepicker_shortcode_handler') );
831
}
832
}
833
-
834
/**
835
* tag_generator()
836
- *
837
* Registers the tag generator for CF7
838
*/
839
public static function tag_generator() {
@@ -842,20 +843,20 @@ You can of course put whatever divider you want between them.<br /></p>',
842
'wpcf7-tg-pane-date', array(__CLASS__, 'wpcf7_tg_pane_datepicker_'));
843
}
844
}
845
-
846
/**
847
* wpcf7_tg_pane_datepicker_(&$contact_form)
848
- *
849
* Caller function for the tag generator
850
* @param reference &$contact_form
851
*/
852
public static function wpcf7_tg_pane_datepicker_(&$contact_form) {
853
self::wpcf7_tg_pane_datepicker( 'date' );
854
}
855
-
856
/**
857
* wpcf7_tg_pane_datepicker($type = 'date')
858
- *
859
* Callback function for the tag generator (called by wpcf7_tg_pane_datepicker_)
860
* @param $type = 'date'
861
*/
4
Plugin URI: https://github.com/relu/contact-form-7-datepicker/
5
Description: Implements a new [date] tag in Contact Form 7 that adds a date field to a form. When clicking the field a calendar pops up enabling your site visitors to easily select any date. Now you can use the [datepicker] shortcode outside of CF7.
6
Author: Aurel Canciu
7
+ Version: 0.7.4
8
Author URI: https://github.com/relu/
9
*/
10
?>
28
?>
29
<?php
30
31
+ define('CF7_DATE_PICKER_VERSION', '0.7.4');
32
define('PLUGIN_PATH', '/wp-content/plugins/'.plugin_basename(dirname(__FILE__)));
33
34
if (!defined('CF7_DATE_PICKER_ENQUEUES')) {
36
}
37
38
class CF7DatePicker {
39
+
40
/**
41
* static Array $option_defaults
42
+ *
43
* Holds the default option values for the plugin
44
*/
45
static $option_defaults = array(
46
+ "useMode" => 2,
47
+ "isStripped" => "false",
48
+ "limitToToday" => 0,
49
+ "cellColorScheme" => "beige",
50
+ "dateFormat" => "%d-%m-%Y",
51
"weekStartDay" => 1,
52
"directionality" => "ltr",
53
"yearsRange" => "1970,2100",
59
60
/**
61
* __construct()
62
+ *
63
* This is the class constructor method, it registers actions and initializes the plugin
64
*/
65
function __construct() {
66
register_activation_hook(__FILE__, array(__CLASS__, 'activate'));
67
register_deactivation_hook(__FILE__, array(__CLASS__, 'deactivate'));
68
+
69
add_action('plugins_loaded', array(__CLASS__, 'register_shortcodes'));
70
add_action('admin_init', array(__CLASS__, 'tag_generator'));
71
add_action('admin_menu', array(__CLASS__, 'register_admin_settings'));
74
add_action('wp_enqueue_scripts', array(__CLASS__, 'plugin_enqueues'));
75
}
76
add_action('admin_enqueue_scripts', array(__CLASS__, 'plugin_enqueues'));
77
+
78
add_action('init', array(__CLASS__, 'calendar_l10n'));
79
+
80
81
add_filter('wpcf7_validate_date', array(__CLASS__, 'wpcf7_validation_filter'), 10, 2);
82
add_filter('wpcf7_validate_date*', array(__CLASS__, 'wpcf7_validation_filter'), 10, 2);
83
+
84
add_action('init', array(__CLASS__, 'admin_l10n'));
85
}
86
87
/**
88
* activate()
89
+ *
90
* Action triggered when plugin is activated
91
* It inserts some default values as options
92
+ */
93
public static function activate() {
94
foreach (self::$option_defaults as $option => $value) {
95
add_option($option, $value);
98
99
/**
100
* deactivate()
101
+ *
102
* Action triggered when plugin is deactivated
103
* It deletes the settings stored in the database
104
+ */
105
public static function deactivate() {
106
foreach (self::$option_defaults as $option => $value) {
107
delete_option($option);
110
111
/**
112
* update_settings($dataupdate)
113
+ *
114
* Updates plugin's settings into the database
115
* @param Array $dateupdate, contains the updated settings
116
*/
175
closedir($handle);
176
return $schemeimg;
177
}
178
+
179
/**
180
* get_scheme_style($scheme)
181
*
202
foreach(self::$option_defaults as $option => $value)
203
$dataupdate[$option] = $_POST[$option];
204
$dataupdate['yearsRange'] = trim($_POST['yearmin']).",".trim($_POST['yearmax']);
205
+
206
$dataupdate['yearButtons'] = (isset($_POST['yearButtons'])) ? "true" : "false";
207
$dataupdate['monthButtons'] = (isset($_POST['monthButtons'])) ? "true" : "false";
208
+
209
if ($_POST['selectedDate'] !== '') {
210
if (get_option('dateFormat') !== $dataupdate['dateFormat']) {
211
$df = $dataupdate['dateFormat'];
213
$df = get_option('dateFormat');
214
}
215
$df = str_replace('%', '', trim($df));
216
+
217
$dataupdate['selectedDate'] = date($df, strtotime($_POST['selectedDate']));
218
$dataupdate['selectedDate'] = date("Y-m-d", strtotime($dataupdate['selectedDate']));
219
}
220
+
221
self::update_settings($dataupdate);
222
}
223
$useMode = array(1,2);
240
__('Right to left', 'contact-form-7-datepicker')
241
);
242
$yearsRange = explode(",", trim(get_option('yearsRange')));
243
+
244
?>
245
<div class="wrap">
246
<h2>Contact Form 7 Datepicker</h2><?php
247
+ echo __('<p>This plugin implements a new <strong>[date]</strong> tag in <a href="http://wordpress.org/extend/plugins/contact-form-7/">Contact Form 7</a>
248
that adds a date field to a form. When clicking the field a calendar pops up enabling your site visitors to easily select any date.<br />
249
To use it simply insert the <strong>[date your-field-name]</strong> or <strong>[date* your-requierd-field-name]</strong> if you want it to be mandatory,
250
in your Contact Form 7 edit section.</p>', 'contact-form-7-datepicker'); ?>
261
$checked = "checked=\"checked\"";
262
else
263
$checked = ""; ?>
264
+
265
<div style="float: left; width: 100px; margin: 30px 30px 0 0; text-align: center;">
266
<div style="display: block; padding: 5px; background: #fff; border: 1px solid #ccc; border-radius: 4px 4px 4px 4px;">
267
<label><?php echo $scheme; ?></label><br /><?php
268
foreach(self::get_scheme_images($scheme) as $img) { ?>
269
+ <img src="<?php echo $img; ?>" style="margin: 5px;" /><?php
270
} ?><br /><br />
271
<input name="cellColorScheme" type="radio" width="24" height="25" value="<?php echo $scheme; ?>" <?php echo $checked; ?> />
272
</div>
273
+ </div><?php
274
} ?>
275
</td>
276
</tr>
277
+
278
<tr>
279
<th>
280
<label><?php echo __('Use Mode', 'contact-form-7-datepicker'); ?></label>
286
$selected = "selected";
287
else
288
$selected = "";
289
+
290
echo "<option value='".$row."' ".$selected." >".$row."</option>";
291
} ?>
292
</select>
296
2 – The calendar will appear as a popup when the field with the id supplied in target is clicked.</p>', 'contact-form-7-datepicker'); ?>
297
</td>
298
</tr>
299
+
300
<tr>
301
<th>
302
<label><?php echo __('Sripped', 'contact-form-7-datepicker'); ?></label>
308
$val = "true";
309
else
310
$val = "false";
311
+
312
if ($val == get_option('isStripped'))
313
$selected = "selected";
314
else
315
$selected = "";
316
+
317
echo "<option value='".$val."' ".$selected." >".__($row, 'contact-form-7-datepicker')."</option>";
318
} ?>
319
</select>
322
<?php echo __('<p>When set to true the calendar appears without the visual design - usually used with \'Use Mod\' 1.</p>','contact-form-7-datepicker'); ?>
323
</td>
324
</tr>
325
+
326
<tr>
327
<th>
328
<label><?php echo __('Limit Dates To', 'contact-form-7-datepicker'); ?></label>
336
$val = -1;
337
else
338
$val = 0;
339
+
340
if ($val == get_option('limitToToday'))
341
$selected = "selected";
342
else
343
$selected = "";
344
+
345
echo "<option value='".$val."' ".$selected." >".__($row, 'contact-form-7-datepicker')."</option>";
346
} ?>
347
</select>
350
<?php echo __('<p>Enables you to limit the possible picking dates according to the current date.</p>','contact-form-7-datepicker'); ?>
351
</td>
352
</tr>
353
+
354
<tr>
355
<th>
356
<label><?php echo __('Week Start Day', 'contact-form-7-datepicker'); ?></h2></label>
362
$val = 0;
363
else
364
$val = 1;
365
+
366
if($val == get_option('weekStartDay'))
367
$selected = "selected";
368
else
369
$selected = "";
370
+
371
echo "<option value='".$val."' ".$selected." >".__($row,'contact-form-7-datepicker')."</option>";
372
} ?>
373
</select>
375
<td>
376
</td>
377
</tr>
378
+
379
<tr>
380
<th>
381
<label><?php echo __('Years Range', 'contact-form-7-datepicker'); ?></h2></label>
385
<input name="yearmax" id="yearmax" type="text" value="<?php echo $yearsRange[1]; ?>" />
386
</td>
387
</tr>
388
+
389
<tr>
390
<th>
391
<label><?php echo __('Text Direction', 'contact-form-7-datepicker'); ?></h2></label>
397
$val = "ltr";
398
else
399
$val = "rtl";
400
+
401
if($val == get_option('directionality'))
402
$selected = "selected";
403
else
404
$selected = "";
405
+
406
echo "<option value='".$val."' ".$selected." >".__($row,'contact-form-7-datepicker')."</option>";
407
} ?>
408
</select>
410
<td>
411
</td>
412
</tr>
413
+
414
<tr>
415
<th>
416
<label><?php echo __('Controls', 'contact-form-7-datepicker'); ?></h2></label>
417
</th>
418
<td><?php
419
+
420
if (get_option('yearButtons') == "true")
421
$checked = "checked=\"checked\"";
422
else
424
echo "<input type=\"checkbox\" name=\"yearButtons\" ".$checked.">"; ?>
425
<label><?php echo __('Year Controls','contact-form-7-datepicker'); ?>&nbsp;</label>
426
<br /><?php
427
+
428
if (get_option('monthButtons') == "true")
429
$checked = "checked=\"checked\"";
430
else
436
<?php echo __('<p>You can select here what controls would you like to display on the calendar.</p>', 'contact-form-7-datepicker'); ?>
437
</td>
438
</tr>
439
+
440
<tr>
441
<th>
442
<label><?php echo __('Selected Date', 'contact-form-7-datepicker'); ?></label>
443
</th>
444
<td style="overflow: visible">
445
+ <?php
446
echo self::page_text_filter_callback("selectedDate");
447
?>
448
</td>
450
<?php echo __('<p>You can set here a default selected date and have a look of how the calendar shows up.</p>', 'contact-form-7-datepicker'); ?>
451
</td>
452
</tr>
453
+
454
<tr>
455
<th>
456
<label><?php echo __('Animate', 'contact-form-7-datepicker'); ?></label>
462
$val = "true";
463
else
464
$val = "false";
465
+
466
if ($val == get_option('animate'))
467
$selected = "selected";
468
else
469
$selected = "";
470
+
471
echo "<option value='".$val."' ".$selected." >".__($row, 'contact-form-7-datepicker')."</option>";
472
} ?>
473
</select>
476
<?php echo __('<p>Animation on display.</p>','contact-form-7-datepicker'); ?>
477
</td>
478
</tr>
479
+
480
<tr>
481
<th>
482
<label><?php echo __('Date Format', 'contact-form-7-datepicker'); ?></label>
496
%Y - A full numeric representation of a year, 4 digits<br />
497
%y - A two digit representation of a year<br />
498
<br />
499
+ You can of course put whatever divider you want between them.<br /></p>',
500
'contact-form-7-datepicker'); ?>
501
</td>
502
</tr>
503
+
504
<tr>
505
<td colspan="2">
506
</td>
521
public static function register_files() {
522
wp_register_style('jsdp_ltr', plugins_url( '/css/jsDatePick_ltr.min.css', __FILE__ ), array(), CF7_DATE_PICKER_VERSION);
523
wp_register_style('jsdp_rtl', plugins_url( '/css/jsDatePick_rtl.min.css', __FILE__ ), array(), CF7_DATE_PICKER_VERSION);
524
+
525
wp_register_script('jsDatePickJS', plugins_url( '/js/jsDatePick.jquery.min.js', __FILE__ ), array('jquery'), CF7_DATE_PICKER_VERSION, true);
526
}
527
+
528
/**
529
* plugin_enqueues()
530
*
533
public static function plugin_enqueues() {
534
wp_enqueue_style('jsdp_'.get_option('directionality'));
535
wp_enqueue_script('jsDatePickJS');
536
+
537
do_action('plugin_enqueues');
538
}
539
550
} else {
551
$name = $data['name'];
552
}
553
+
554
if (is_array($data) && isset($data['atts']['id'])) {
555
$id = $data['atts']['id'];
556
} else {
557
$id = $name;
558
}
559
+
560
$jssafeid = preg_replace('/[^A-Za-z0-9]/', '', $id);
561
+
562
if (is_array($data) && !empty($data['value']) && is_numeric(strtotime($data['value']))) {
563
$seldate = date('Y-m-d', strtotime($data['value']));
564
+
565
} else {
566
$seldate = get_option('selectedDate');
567
}
568
+
569
if ($seldate) {
570
$ts = strtotime($seldate);
571
$seldate = array(
573
'm' => date('m', $ts),
574
'y' => date('Y', $ts)
575
);
576
+
577
$dateval = $seldate['y'].'-'.$seldate['m'].'-'.$seldate['d'];
578
} else {
579
$dateval = '';
580
}
581
+
582
$attributes = '';
583
+
584
if (is_array($data['atts'])) {
585
foreach ($data['atts'] as $key => $val) {
586
if (!empty($val))
587
$attributes .= $key.'="'.$val.'" ';
588
}
589
}
590
+
591
if (!is_array($data) || (is_array($data['atts']) && empty($data['atts']['id']))) {
592
$attributes .= 'id="'.$id.'" ';
593
}
594
+
595
+ if (!empty($dateval)) {
596
$df = str_replace('%', '', get_option('dateFormat'));
597
$dateval = date($df, strtotime($dateval));
598
$attributes .= 'value="'.$dateval.'"';
599
}
600
+
601
$attributes = trim($attributes);
602
+
603
$string = '';
604
+
605
if ( (is_array($data) && $data['opts']['newfield'] === 'true') || !is_array($data) || (is_array($data) && empty($data['opts']['newfield'])))
606
$string = '<input type="text" name="'.$name.'" '.$attributes.' />';
607
+
608
$string .= '
609
<script type="text/javascript">
610
jQuery(document).ready(function() {
625
if ($seldate) {
626
$string .= ',
627
selectedDate: {
628
+ year: '.$seldate['y'].',
629
month: '.$seldate['m'].',
630
day: '.$seldate['d'].'
631
}';
640
<style type="text/css">
641
@import url(\''.$schemecss.'\');
642
</style>';
643
+
644
return $string;
645
}
646
659
660
$type = $tag['type'];
661
$name = $tag['name'];
662
+
663
$options = (array) $tag['options'];
664
$values = (array) $tag['values'];
665
+
666
if ( empty( $name ) )
667
return '';
668
692
} else {
693
$value = $values[0];
694
}
695
+
696
$data = array(
697
"name" => $name,
698
"atts" => (array) $atts,
745
public static function admin_l10n() {
746
load_plugin_textdomain( 'contact-form-7-datepicker', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
747
}
748
+
749
/**
750
* datepicker_shortcode_handler()
751
*
752
+ * Function that handles the [datepicker name="?" id="?" class="?" newfield="?" value="?"] shortcode
753
*/
754
public static function datepicker_shortcode_handler($atts) {
755
extract(shortcode_atts(array(
759
'newfield' => 'true',
760
'value' => ''
761
), $atts));
762
+
763
$data = array(
764
"name" => ($name) ? "{$name}" : "{$id}",
765
"atts" => array(
772
773
return self::page_text_filter_callback($data);
774
}
775
+
776
/**
777
* calendar_l10n()
778
*
781
public static function calendar_l10n() {
782
$l10n_strings = array(
783
'MONTHS' => array(
784
+ __('January', 'contact-form-7-datepicker'),
785
__('February', 'contact-form-7-datepicker'),
786
__('March', 'contact-form-7-datepicker'),
787
__('April', 'contact-form-7-datepicker'),
813
'ERROR_4' => __('Target invalid!', 'contact-form-7-datepicker'),
814
'ERROR_3' => __('Target invalid!', 'contact-form-7-datepicker')
815
);
816
+ $l10n = array('l10n_print_after' => 'g_l10n = ' . json_encode($l10n_strings) . ';');
817
+
818
wp_localize_script('jsDatePickJS', 'g_l10n', $l10n);
819
}
820
+
821
/**
822
* register_shortcodes()
823
+ *
824
* Function for registering our shortcodes with CF7
825
*/
826
public static function register_shortcodes() {
827
if (function_exists('wpcf7_add_shortcode')) {
828
wpcf7_add_shortcode('date', array(__CLASS__, 'wpcf7_shotcode_handler'), true);
829
wpcf7_add_shortcode('date*', array(__CLASS__, 'wpcf7_shotcode_handler'), true);
830
}
831
+
832
+ add_shortcode( 'datepicker', array(__CLASS__, 'datepicker_shortcode_handler') );
833
}
834
+
835
/**
836
* tag_generator()
837
+ *
838
* Registers the tag generator for CF7
839
*/
840
public static function tag_generator() {
843
'wpcf7-tg-pane-date', array(__CLASS__, 'wpcf7_tg_pane_datepicker_'));
844
}
845
}
846
+
847
/**
848
* wpcf7_tg_pane_datepicker_(&$contact_form)
849
+ *
850
* Caller function for the tag generator
851
* @param reference &$contact_form
852
*/
853
public static function wpcf7_tg_pane_datepicker_(&$contact_form) {
854
self::wpcf7_tg_pane_datepicker( 'date' );
855
}
856
+
857
/**
858
* wpcf7_tg_pane_datepicker($type = 'date')
859
+ *
860
* Callback function for the tag generator (called by wpcf7_tg_pane_datepicker_)
861
* @param $type = 'date'
862
*/
css/jsDatePick_ltr.css CHANGED
File without changes
css/jsDatePick_ltr.min.css CHANGED
File without changes
css/jsDatePick_rtl.css CHANGED
File without changes
css/jsDatePick_rtl.min.css CHANGED
File without changes
css/schemes/red.css CHANGED
File without changes
js/jsDatePick.jquery.full.js CHANGED
@@ -78,7 +78,7 @@
78
79
if (typeof(g_l10n) === "undefined") {
80
g_l10n = [];
81
- g_l10n["MONTHS"] = ["Janaury","February","March","April","May","June","July","August","September","October","November","December"];
82
g_l10n["DAYS_3"] = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
83
g_l10n["MONTH_FWD"] = "Move a month forward";
84
g_l10n["MONTH_BCK"] = "Move a month backward";
78
79
if (typeof(g_l10n) === "undefined") {
80
g_l10n = [];
81
+ g_l10n["MONTHS"] = ["January","February","March","April","May","June","July","August","September","October","November","December"];
82
g_l10n["DAYS_3"] = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
83
g_l10n["MONTH_FWD"] = "Move a month forward";
84
g_l10n["MONTH_BCK"] = "Move a month backward";
js/jsDatePick.jquery.min.js CHANGED
@@ -1 +1 @@
1
- if(typeof(g_l10n)==="undefined"){g_l10n=[];g_l10n.MONTHS=["Janaury","February","March","April","May","June","July","August","September","October","November","December"];g_l10n.DAYS_3=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];g_l10n.MONTH_FWD="Move a month forward";g_l10n.MONTH_BCK="Move a month backward";g_l10n.YEAR_FWD="Move a year forward";g_l10n.YEAR_BCK="Move a year backward";g_l10n.CLOSE="Close the calendar";g_l10n.ERROR_2=g_l10n.ERROR_1="Date object invalid!";g_l10n.ERROR_4=g_l10n.ERROR_3="Target invalid!"}g_arrayOfUsedJsDatePickCalsGlobalNumbers=[];g_arrayOfUsedJsDatePickCals=[];g_currentDateObject={};g_currentDateObject.dateObject=new Date();g_currentDateObject.day=g_currentDateObject.dateObject.getDate();g_currentDateObject.month=g_currentDateObject.dateObject.getMonth()+1;g_currentDateObject.year=g_currentDateObject.dateObject.getFullYear();String.prototype.trim=function(){return this.replace(/^\s+|\s+#x2F;g,"")};String.prototype.ltrim=function(){return this.replace(/^\s+/,"")};String.prototype.rtrim=function(){return this.replace(/\s+#x2F;,"")};String.prototype.strpad=function(){return(!isNaN(this)&&this.toString().length==1)?"0"+this:this};JsDatePick=function(a){if(document.all){this.isie=true;this.iever=JsDatePick.getInternetExplorerVersion()}else{this.isie=false}this.oConfiguration={};this.oCurrentDay=g_currentDateObject;this.monthsTextualRepresentation=g_l10n.MONTHS;this.lastPostedDay=null;this.initialZIndex=2;this.globalNumber=this.getUnUsedGlobalNumber();g_arrayOfUsedJsDatePickCals[this.globalNumber]=this;this.setConfiguration(a);this.makeCalendar()};JsDatePick.getCalInstanceById=function(a){return g_arrayOfUsedJsDatePickCals[parseInt(a,10)]};JsDatePick.getInternetExplorerVersion=function(){var c=-1,a,b;if(navigator.appName=="Microsoft Internet Explorer"){a=navigator.userAgent;b=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");if(b.exec(a)!=null){c=parseFloat(RegExp.$1)}return c}};JsDatePick.prototype.setC=function(a,b){if(this.isie&&this.iever>7){jQuery(a).attr("class",b)}else{a.className=b}};JsDatePick.prototype.getUnUsedGlobalNumber=function(){var a=Math.floor(Math.random()*1000);while(!this.isUnique_GlobalNumber(a)){a=Math.floor(Math.random()*1000)}return a};JsDatePick.prototype.isUnique_GlobalNumber=function(b){var a;for(a=0;a<g_arrayOfUsedJsDatePickCalsGlobalNumbers.length;a++){if(g_arrayOfUsedJsDatePickCalsGlobalNumbers[a]==b){return false}}return true};JsDatePick.prototype.addOnSelectedDelegate=function(a){if(typeof(a)=="function"){this.addonSelectedDelegate=a}return false};JsDatePick.prototype.setOnSelectedDelegate=function(a){if(typeof(a)=="function"){this.onSelectedDelegate=a;return true}return false};JsDatePick.prototype.executeOnSelectedDelegateIfExists=function(){if(typeof(this.onSelectedDelegate)=="function"){this.onSelectedDelegate()}if(typeof(this.addonSelectedDelegate)=="function"){this.addonSelectedDelegate()}};JsDatePick.prototype.setRepopulationDelegate=function(a){if(typeof(a)=="function"){this.repopulationDelegate=a;return true}return false};JsDatePick.prototype.setConfiguration=function(a){this.oConfiguration.isStripped=(a.isStripped!=null)?a.isStripped:false;this.oConfiguration.useMode=(a.useMode!=null)?a.useMode:1;this.oConfiguration.selectedDate=(a.selectedDate!=null)?a.selectedDate:null;this.oConfiguration.target=(a.target!=null)?a.target:null;this.oConfiguration.yearsRange=(a.yearsRange!=null)?a.yearsRange:[1971,2100];this.oConfiguration.yearButtons=(a.yearButtons!=null)?a.yearButtons:true;this.oConfiguration.monthButtons=(a.monthButtons!=null)?a.monthButtons:true;this.oConfiguration.limitToToday=(a.limitToToday!=null)?a.limitToToday:0;this.oConfiguration.field=(a.field!=null)?a.field:false;this.oConfiguration.cellColorScheme=(a.cellColorScheme!=null)?a.cellColorScheme:"ocean_blue";this.oConfiguration.dateFormat=(a.dateFormat!=null)?a.dateFormat:"%m-%d-%Y";this.oConfiguration.imgPath=(a.imgPath!=null)?a.imgPath:"img/";this.oConfiguration.weekStartDay=(a.weekStartDay!=null)?a.weekStartDay:1;this.oConfiguration.directionality=(a.directionality!=null)?a.directionality:"ltr";this.oConfiguration.animate=(a.animate!=null)?a.animate:true;this.selectedDayObject={};this.flag_DayMarkedBeforeRepopulation=false;this.flag_aDayWasSelected=false;this.lastMarkedDayObject=null;if(!this.oConfiguration.selectedDate){this.currentYear=this.oCurrentDay.year;this.currentMonth=this.oCurrentDay.month;this.currentDay=this.oCurrentDay.day}};JsDatePick.prototype.resizeCalendar=function(){this.leftWallStrechedElement.style.height="0px";this.rightWallStrechedElement.style.height="0px";var a=this.JsDatePickBox.offsetHeight,b=a-16;if(b<0){return}this.leftWallStrechedElement.style.height=b+"px";this.rightWallStrechedElement.style.height=b+"px";return true};JsDatePick.prototype.closeCalendar=function(){if(this.oConfiguration.animate===true){jQuery(this.JsDatePickBox).hide(500)}else{this.JsDatePickBox.style.display="none"}document.onclick=function(){}};JsDatePick.prototype.populateFieldWithSelectedDate=function(){jQuery("#"+this.oConfiguration.target).val(this.getSelectedDayFormatted());if(this.lastPickedDateObject){delete (this.lastPickedDateObject)}this.lastPickedDateObject={};this.lastPickedDateObject.day=this.selectedDayObject.day;this.lastPickedDateObject.month=this.selectedDayObject.month;this.lastPickedDateObject.year=this.selectedDayObject.year;this.closeCalendar()};JsDatePick.prototype.makeCalendar=function(){var j=document,e,a,b,k,g,h,f,o,i,m,n,l,c;e=j.createElement("div");a=j.createElement("div");b=j.createElement("div");this.setC(e,"JsDatePickBox");this.setC(a,"clearfix");this.setC(b,"jsDatePickCloseButton");b.setAttribute("globalNumber",this.globalNumber);b.onmouseover=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.CLOSE);d.setC(this,"jsDatePickCloseButtonOver")};b.onmouseout=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"jsDatePickCloseButton")};b.onmousedown=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.CLOSE);d.setC(this,"jsDatePickCloseButtonDown")};b.onmouseup=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"jsDatePickCloseButton");d.closeCalendar()};this.JsDatePickBox=e;k=j.createElement("div");g=j.createElement("div");h=j.createElement("div");f=j.createElement("div");this.setC(h,"topWall");this.setC(f,"bottomWall");if(this.isie&&this.iever==6){f.style.bottom="-2px"}o=j.createElement("div");i=j.createElement("div");m=j.createElement("div");this.setC(o,"leftTopCorner");this.setC(i,"leftBottomCorner");this.setC(m,"leftWall");this.leftWallStrechedElement=m;this.leftWall=k;this.rightWall=g;k.appendChild(o);k.appendChild(m);k.appendChild(i);o=j.createElement("div");i=j.createElement("div");m=j.createElement("div");this.setC(o,"rightTopCorner");this.setC(i,"rightBottomCorner");this.setC(m,"rightWall");this.rightWallStrechedElement=m;g.appendChild(o);g.appendChild(m);g.appendChild(i);if(this.oConfiguration.isStripped){this.setC(k,"hiddenBoxLeftWall");this.setC(g,"hiddenBoxRightWall")}else{this.setC(k,"boxLeftWall");this.setC(g,"boxRightWall")}e.appendChild(k);e.appendChild(this.getDOMCalendarStripped());e.appendChild(g);e.appendChild(a);if(!this.oConfiguration.isStripped){e.appendChild(b);e.appendChild(h);e.appendChild(f)}if(this.oConfiguration.useMode==2){if(this.oConfiguration.target!=false){if(typeof(jQuery("#"+this.oConfiguration.target))!=null){n=document.getElementById(this.oConfiguration.target);l=document.createElement("span");n.parentNode.replaceChild(l,n);l.appendChild(n);n.setAttribute("globalNumber",this.globalNumber);n.onclick=function(){JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")).showCalendar()};n.onfocus=function(){JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")).showCalendar()};jQuery(n).mouseout(function(){jQuery("*").not("JsDatePickBox").live("focus",function(){JsDatePick.getCalInstanceById(n.getAttribute("globalNumber")).closeCalendar()})});l.style.position="relative";this.initialZIndex++;e.style.zIndex=this.initialZIndex.toString();e.style.position="absolute";e.style.top="18px";e.style.left="0px";e.style.display="none";l.appendChild(e);c=new Function("g_arrayOfUsedJsDatePickCals["+this.globalNumber+"].populateFieldWithSelectedDate();");this.setOnSelectedDelegate(c)}else{alert(g_l10n.ERROR_3)}}}else{if(this.oConfiguration.target!=null){jQuery("#"+this.oConfiguration.target).append(e);jQuery("#"+this.oConfiguration.target).css("position","relative");e.style.position="absolute";e.style.top="0px";e.style.left="0px";this.resizeCalendar();this.executePopulationDelegateIfExists()}else{alert(g_l10n.ERROR_4)}}};JsDatePick.prototype.determineFieldDate=function(){var b,c,e,g,l,d,a,h,k,f=false,j=false;if(this.lastPickedDateObject){this.setSelectedDay({year:parseInt(this.lastPickedDateObject.year),month:parseInt(this.lastPickedDateObject.month,10),day:parseInt(this.lastPickedDateObject.day,10)})}else{b=jQuery("#"+this.oConfiguration.target);if(jQuery.trim(b.val()).length==0){this.unsetSelection();if(typeof(this.oConfiguration.selectedDate)=="object"&&this.oConfiguration.selectedDate){this.setSelectedDay({year:parseInt(this.oConfiguration.selectedDate.year),month:parseInt(this.oConfiguration.selectedDate.month,10),day:parseInt(this.oConfiguration.selectedDate.day,10)})}}else{if(jQuery.trim(b.val()).length>5){c=this.senseDivider(this.oConfiguration.dateFormat);e=this.oConfiguration.dateFormat;g=jQuery.trim(b.val()).split(c);l=e.trim().split(c);d=a=h=k=0;for(d=0;d<l.length;d++){switch(l[d]){case"%d":case"%j":a=d;break;case"%m":case"%n":k=d;break;case"%M":k=d;f=true;break;case"%F":k=d;j=true;break;case"%Y":case"%y":h=d}}if(f){for(d=0;d<12;d++){if(g_l10n.MONTHS[d].substr(0,3).toUpperCase()==g[k].toUpperCase()){k=d+1;break}}}else{if(j){for(d=0;d<12;d++){if(g_l10n.MONTHS[d].toLowerCase()==g[k].toLowerCase()){k=d+1;break}}}else{k=parseInt(g[k],10)}}this.setSelectedDay({year:parseInt(g[h],10),month:k,day:parseInt(g[a],10)})}else{this.unsetSelection();return}}}};JsDatePick.prototype.senseDivider=function(a){return a.replace("%d","").replace("%j","").replace("%m","").replace("%M","").replace("%n","").replace("%F","").replace("%Y","").replace("%y","").substr(0,1)};JsDatePick.prototype.showCalendar=function(){if(this.JsDatePickBox.style.display=="none"){this.determineFieldDate();this.JsDatePickBox.style.display="block";this.resizeCalendar();if(this.oConfiguration.animate===true){this.JsDatePickBox.style.display="none";jQuery(this.JsDatePickBox).show(500)}this.executePopulationDelegateIfExists();jQuery(this.JsDatePickBox).mouseover(function(){document.onclick=function(){}});jQuery(this.JsDatePickBox).attr("globalCalNumber",this.globalNumber);jQuery(this.JsDatePickBox).mouseout(function(){document.onclick=new Function("g_arrayOfUsedJsDatePickCals["+this.getAttribute("globalCalNumber")+"].closeCalendar();")})}else{return}};JsDatePick.prototype.isAvailable=function(c,a,b){if(c>this.oCurrentDay.year){return false}if(a>this.oCurrentDay.month&&c==this.oCurrentDay.year){return false}if(b>this.oCurrentDay.day&&a==this.oCurrentDay.month&&c==this.oCurrentDay.year){return false}return true};JsDatePick.prototype.getDOMCalendarStripped=function(){var h=document,e,i,b,a,f,c,g;e=h.createElement("div");if(this.oConfiguration.isStripped){this.setC(e,"boxMainStripped")}else{this.setC(e,"boxMain")}this.boxMain=e;i=h.createElement("div");b=h.createElement("div");a=h.createElement("div");f=h.createElement("div");c=h.createElement("div");g=h.createElement("div");this.setC(b,"clearfix");this.setC(g,"clearfix");this.setC(i,"boxMainInner");this.setC(a,"boxMainCellsContainer");this.setC(f,"tooltip");this.setC(c,"weekDaysRow");this.tooltip=f;e.appendChild(i);this.controlsBar=this.getDOMControlBar();this.makeDOMWeekDays(c);i.appendChild(this.controlsBar);i.appendChild(b);i.appendChild(f);i.appendChild(c);i.appendChild(a);i.appendChild(g);this.boxMainCellsContainer=a;this.populateMainBox(a);return e};JsDatePick.prototype.makeDOMWeekDays=function(a){var c=0,g=document,f=g_l10n.DAYS_3,e,b;for(c=this.oConfiguration.weekStartDay;c<7;c++){b=g.createElement("div");e=g.createTextNode(f[c]);this.setC(b,"weekDay");b.appendChild(e);a.appendChild(b)}if(this.oConfiguration.weekStartDay>0){for(c=0;c<this.oConfiguration.weekStartDay;c++){b=g.createElement("div");e=g.createTextNode(f[c]);this.setC(b,"weekDay");b.appendChild(e);a.appendChild(b)}}b.style.marginRight="0px"};JsDatePick.prototype.repopulateMainBox=function(){while(this.boxMainCellsContainer.firstChild){this.boxMainCellsContainer.removeChild(this.boxMainCellsContainer.firstChild)}this.populateMainBox(this.boxMainCellsContainer);this.resizeCalendar();this.executePopulationDelegateIfExists()};JsDatePick.prototype.executePopulationDelegateIfExists=function(){if(typeof(this.repopulationDelegate)=="function"){this.repopulationDelegate()}};JsDatePick.prototype.populateMainBox=function(h){var f=document,g,l,c=1,k=false,n=this.currentMonth-1,j,a,m,e,b;j=new Date(this.currentYear,n,1,1,0,0);a=j.getTime();this.flag_DayMarkedBeforeRepopulation=false;this.setControlBarText(this.monthsTextualRepresentation[n]+", "+this.currentYear);m=parseInt(j.getDay())-this.oConfiguration.weekStartDay;if(m<0){m=m+7}e=0;for(e=0;e<m;e++){g=f.createElement("div");this.setC(g,"skipDay");h.appendChild(g);if(c==7){c=1}else{c++}}while(j.getMonth()==n){k=false;g=f.createElement("div");if(this.lastPostedDay){if(this.lastPostedDay==j.getDate()){l=parseInt(this.lastPostedDay,10)+1}else{l=f.createTextNode(j.getDate())}}else{l=f.createTextNode(j.getDate())}g.appendChild(l);h.appendChild(g);g.setAttribute("globalNumber",this.globalNumber);if(c==7){if(this.oConfiguration.directionality=="ltr"){g.style.marginRight="0px"}else{g.style.marginLeft="0px"}}if(this.isToday(j)){g.setAttribute("isToday",1)}if(this.oConfiguration.limitToToday>=1){if(this.isAvailable(this.currentYear,this.currentMonth,parseInt(j.getDate()+1))){k=true;g.setAttribute("isJsDatePickDisabled",1)}}else{if(this.oConfiguration.limitToToday<=-1){if(!this.isAvailable(this.currentYear,this.currentMonth,parseInt(j.getDate()))){k=true;g.setAttribute("isJsDatePickDisabled",1)}}}g.onmouseover=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")),i;i=d.getCurrentColorScheme();if(parseInt(this.getAttribute("isSelected"))==1){return}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}if(parseInt(this.getAttribute("isToday"))==1){d.setC(this,"dayOverToday");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayOver.gif) left top no-repeat"}else{d.setC(this,"dayOver");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayOver.gif) left top no-repeat"}};g.onmouseout=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")),i;i=d.getCurrentColorScheme();if(parseInt(this.getAttribute("isSelected"))==1){return}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}if(parseInt(this.getAttribute("isToday"))==1){d.setC(this,"dayNormalToday");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayNormal.gif) left top no-repeat"}else{d.setC(this,"dayNormal");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayNormal.gif) left top no-repeat"}};g.onmousedown=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")),i;i=d.getCurrentColorScheme();if(parseInt(this.getAttribute("isSelected"))==1){return}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}if(parseInt(this.getAttribute("isToday"))==1){d.setC(this,"dayDownToday");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayDown.gif) left top no-repeat"}else{d.setC(this,"dayDown");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayDown.gif) left top no-repeat"}};g.onmouseup=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")),i;i=d.getCurrentColorScheme();if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}if(parseInt(this.getAttribute("isToday"))==1){d.setC(this,"dayNormalToday");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayNormal.gif) left top no-repeat"}else{d.setC(this,"dayNormal");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayNormal.gif) left top no-repeat"}d.setDaySelection(this);d.executeOnSelectedDelegateIfExists()};if(this.isSelectedDay(j.getDate())){g.setAttribute("isSelected",1);this.flag_DayMarkedBeforeRepopulation=true;this.lastMarkedDayObject=g;if(parseInt(g.getAttribute("isToday"))==1){this.setC(g,"dayDownToday");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayDown.gif) left top no-repeat"}else{this.setC(g,"dayDown");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayDown.gif) left top no-repeat"}}else{b=this.getCurrentColorScheme();if(parseInt(g.getAttribute("isToday"))==1){if(k){this.setC(g,"dayDisabled");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayNormal.gif) left top no-repeat"}else{this.setC(g,"dayNormalToday");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayNormal.gif) left top no-repeat"}}else{if(k){this.setC(g,"dayDisabled");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayNormal.gif) left top no-repeat"}else{this.setC(g,"dayNormal");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayNormal.gif) left top no-repeat"}}}if(c==7){c=1}else{c++}a+=86400000;j.setTime(a)}this.lastPostedDay=null;return h};JsDatePick.prototype.unsetSelection=function(){this.flag_aDayWasSelected=false;this.selectedDayObject={};this.repopulateMainBox()};JsDatePick.prototype.setSelectedDay=function(a){this.flag_aDayWasSelected=true;this.selectedDayObject.day=parseInt(a.day,10);this.selectedDayObject.month=parseInt(a.month,10);this.selectedDayObject.year=parseInt(a.year);this.currentMonth=a.month;this.currentYear=a.year;this.repopulateMainBox()};JsDatePick.prototype.isSelectedDay=function(a){if(this.flag_aDayWasSelected){if(parseInt(a)==this.selectedDayObject.day&&this.currentMonth==this.selectedDayObject.month&&this.currentYear==this.selectedDayObject.year){return true}else{return false}}return false};JsDatePick.prototype.getSelectedDay=function(){if(this.flag_aDayWasSelected){return this.selectedDayObject}else{return false}};JsDatePick.prototype.getSelectedDayFormatted=function(){if(this.flag_aDayWasSelected){var a=this.oConfiguration.dateFormat;a=a.replace("%d",this.selectedDayObject.day.toString().strpad());a=a.replace("%j",this.selectedDayObject.day);a=a.replace("%m",this.selectedDayObject.month.toString().strpad());a=a.replace("%M",g_l10n.MONTHS[this.selectedDayObject.month-1].substr(0,3).toUpperCase());a=a.replace("%n",this.selectedDayObject.month);a=a.replace("%F",g_l10n.MONTHS[this.selectedDayObject.month-1]);a=a.replace("%Y",this.selectedDayObject.year);a=a.replace("%y",this.selectedDayObject.year.toString().substr(2,2));return a}else{return false}};JsDatePick.prototype.setDaySelection=function(a){var b=this.getCurrentColorScheme();if(this.flag_DayMarkedBeforeRepopulation){jQuery(this.lastMarkedDayObject).attr("isSelected",0);if(parseInt(this.lastMarkedDayObject.getAttribute("isToday"))==1){this.setC(this.lastMarkedDayObject,"dayNormalToday");this.lastMarkedDayObject.style.background="url("+this.oConfiguration.imgPath+b+"_dayNormal.gif) left top no-repeat"}else{this.setC(this.lastMarkedDayObject,"dayNormal");this.lastMarkedDayObject.style.background="url("+this.oConfiguration.imgPath+b+"_dayNormal.gif) left top no-repeat"}}this.flag_aDayWasSelected=true;this.selectedDayObject.year=this.currentYear;this.selectedDayObject.month=this.currentMonth;this.selectedDayObject.day=parseInt(a.innerHTML);this.flag_DayMarkedBeforeRepopulation=true;this.lastMarkedDayObject=a;jQuery(a).attr("isSelected",1);if(parseInt(a.getAttribute("isToday"))==1){this.setC(a,"dayDownToday");a.style.background="url("+this.oConfiguration.imgPath+b+"_dayDown.gif) left top no-repeat"}else{this.setC(a,"dayDown");a.style.background="url("+this.oConfiguration.imgPath+b+"_dayDown.gif) left top no-repeat"}};JsDatePick.prototype.isToday=function(a){var b=this.oCurrentDay.month-1;if(a.getDate()==this.oCurrentDay.day&&a.getMonth()==b&&a.getFullYear()==this.oCurrentDay.year){return true}return false};JsDatePick.prototype.setControlBarText=function(a){var b=document.createTextNode(a);jQuery(this.controlsBarTextCell).empty();this.controlsBarTextCell.appendChild(b)};JsDatePick.prototype.setTooltipText=function(a){jQuery(this.tooltip).empty();var b=document.createTextNode(a);this.tooltip.appendChild(b)};JsDatePick.prototype.moveForwardOneYear=function(){var a=this.currentYear+1;if(a<=parseInt(this.oConfiguration.yearsRange[1])){this.currentYear++;this.repopulateMainBox();return true}else{return false}};JsDatePick.prototype.moveBackOneYear=function(){var a=this.currentYear-1;if(a>=parseInt(this.oConfiguration.yearsRange[0])){this.currentYear--;this.repopulateMainBox();return true}else{return false}};JsDatePick.prototype.moveForwardOneMonth=function(){if(this.currentMonth<12){this.currentMonth++}else{if(this.moveForwardOneYear()){this.currentMonth=1}else{this.currentMonth=12}}this.repopulateMainBox()};JsDatePick.prototype.moveBackOneMonth=function(){if(this.currentMonth>1){this.currentMonth--}else{if(this.moveBackOneYear()){this.currentMonth=12}else{this.currentMonth=1}}this.repopulateMainBox()};JsDatePick.prototype.getCurrentColorScheme=function(){return this.oConfiguration.cellColorScheme};JsDatePick.prototype.getDOMControlBar=function(){var h=document,c,f,g,b,a,e;c=h.createElement("div");f=h.createElement("div");g=h.createElement("div");b=h.createElement("div");a=h.createElement("div");e=h.createElement("div");this.setC(c,"controlsBar");this.setC(f,"monthForwardButton");this.setC(g,"monthBackwardButton");this.setC(b,"yearForwardButton");this.setC(a,"yearBackwardButton");this.setC(e,"controlsBarText");jQuery(c).attr("globalNumber",this.globalNumber);if(this.oConfiguration.monthButtons){jQuery(f).attr("globalNumber",this.globalNumber);jQuery(g).attr("globalNumber",this.globalNumber)}if(this.oConfiguration.yearButtons){jQuery(a).attr("globalNumber",this.globalNumber);jQuery(b).attr("globalNumber",this.globalNumber)}this.controlsBarTextCell=e;if(this.oConfiguration.monthButtons){c.appendChild(f);c.appendChild(g)}if(this.oConfiguration.yearButtons){c.appendChild(b);c.appendChild(a)}c.appendChild(e);f.onmouseover=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}d=this.parentNode;while(d.className!="controlsBar"){d=d.parentNode}i=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));i.setTooltipText(g_l10n.MONTH_FWD);i.setC(this,"monthForwardButtonOver")};f.onmouseout=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"monthForwardButton")};f.onmousedown=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}d=this.parentNode;while(d.className!="controlsBar"){d=d.parentNode}i=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));i.setTooltipText(g_l10n.MONTH_FWD);i.setC(this,"monthForwardButtonDown")};f.onmouseup=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.MONTH_FWD);d.setC(this,"monthForwardButton");d.moveForwardOneMonth()};jQuery(f).click(function(d){d.preventDefault()}).focus(function(d){d.preventDefault()});g.onmouseover=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.MONTH_BCK);d.setC(this,"monthBackwardButtonOver")};g.onmouseout=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"monthBackwardButton")};g.onmousedown=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.MONTH_BCK);d.setC(this,"monthBackwardButtonDown")};g.onmouseup=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.MONTH_BCK);d.setC(this,"monthBackwardButton");d.moveBackOneMonth()};b.onmouseover=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_FWD);d.setC(this,"yearForwardButtonOver")};b.onmouseout=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"yearForwardButton")};b.onmousedown=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_FWD);d.setC(this,"yearForwardButtonDown")};b.onmouseup=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_FWD);d.setC(this,"yearForwardButton");d.moveForwardOneYear()};a.onmouseover=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_BCK);d.setC(this,"yearBackwardButtonOver")};a.onmouseout=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"yearBackwardButton")};a.onmousedown=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_BCK);d.setC(this,"yearBackwardButtonDown")};a.onmouseup=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_BCK);d.setC(this,"yearBackwardButton");d.moveBackOneYear()};return c};
1
+ if(typeof(g_l10n)==="undefined"){g_l10n=[];g_l10n.MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];g_l10n.DAYS_3=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];g_l10n.MONTH_FWD="Move a month forward";g_l10n.MONTH_BCK="Move a month backward";g_l10n.YEAR_FWD="Move a year forward";g_l10n.YEAR_BCK="Move a year backward";g_l10n.CLOSE="Close the calendar";g_l10n.ERROR_2=g_l10n.ERROR_1="Date object invalid!";g_l10n.ERROR_4=g_l10n.ERROR_3="Target invalid!"}g_arrayOfUsedJsDatePickCalsGlobalNumbers=[];g_arrayOfUsedJsDatePickCals=[];g_currentDateObject={};g_currentDateObject.dateObject=new Date();g_currentDateObject.day=g_currentDateObject.dateObject.getDate();g_currentDateObject.month=g_currentDateObject.dateObject.getMonth()+1;g_currentDateObject.year=g_currentDateObject.dateObject.getFullYear();String.prototype.trim=function(){return this.replace(/^\s+|\s+#x2F;g,"")};String.prototype.ltrim=function(){return this.replace(/^\s+/,"")};String.prototype.rtrim=function(){return this.replace(/\s+#x2F;,"")};String.prototype.strpad=function(){return(!isNaN(this)&&this.toString().length==1)?"0"+this:this};JsDatePick=function(a){if(document.all){this.isie=true;this.iever=JsDatePick.getInternetExplorerVersion()}else{this.isie=false}this.oConfiguration={};this.oCurrentDay=g_currentDateObject;this.monthsTextualRepresentation=g_l10n.MONTHS;this.lastPostedDay=null;this.initialZIndex=2;this.globalNumber=this.getUnUsedGlobalNumber();g_arrayOfUsedJsDatePickCals[this.globalNumber]=this;this.setConfiguration(a);this.makeCalendar()};JsDatePick.getCalInstanceById=function(a){return g_arrayOfUsedJsDatePickCals[parseInt(a,10)]};JsDatePick.getInternetExplorerVersion=function(){var c=-1,a,b;if(navigator.appName=="Microsoft Internet Explorer"){a=navigator.userAgent;b=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");if(b.exec(a)!=null){c=parseFloat(RegExp.$1)}return c}};JsDatePick.prototype.setC=function(a,b){if(this.isie&&this.iever>7){jQuery(a).attr("class",b)}else{a.className=b}};JsDatePick.prototype.getUnUsedGlobalNumber=function(){var a=Math.floor(Math.random()*1000);while(!this.isUnique_GlobalNumber(a)){a=Math.floor(Math.random()*1000)}return a};JsDatePick.prototype.isUnique_GlobalNumber=function(b){var a;for(a=0;a<g_arrayOfUsedJsDatePickCalsGlobalNumbers.length;a++){if(g_arrayOfUsedJsDatePickCalsGlobalNumbers[a]==b){return false}}return true};JsDatePick.prototype.addOnSelectedDelegate=function(a){if(typeof(a)=="function"){this.addonSelectedDelegate=a}return false};JsDatePick.prototype.setOnSelectedDelegate=function(a){if(typeof(a)=="function"){this.onSelectedDelegate=a;return true}return false};JsDatePick.prototype.executeOnSelectedDelegateIfExists=function(){if(typeof(this.onSelectedDelegate)=="function"){this.onSelectedDelegate()}if(typeof(this.addonSelectedDelegate)=="function"){this.addonSelectedDelegate()}};JsDatePick.prototype.setRepopulationDelegate=function(a){if(typeof(a)=="function"){this.repopulationDelegate=a;return true}return false};JsDatePick.prototype.setConfiguration=function(a){this.oConfiguration.isStripped=(a.isStripped!=null)?a.isStripped:false;this.oConfiguration.useMode=(a.useMode!=null)?a.useMode:1;this.oConfiguration.selectedDate=(a.selectedDate!=null)?a.selectedDate:null;this.oConfiguration.target=(a.target!=null)?a.target:null;this.oConfiguration.yearsRange=(a.yearsRange!=null)?a.yearsRange:[1971,2100];this.oConfiguration.yearButtons=(a.yearButtons!=null)?a.yearButtons:true;this.oConfiguration.monthButtons=(a.monthButtons!=null)?a.monthButtons:true;this.oConfiguration.limitToToday=(a.limitToToday!=null)?a.limitToToday:0;this.oConfiguration.field=(a.field!=null)?a.field:false;this.oConfiguration.cellColorScheme=(a.cellColorScheme!=null)?a.cellColorScheme:"ocean_blue";this.oConfiguration.dateFormat=(a.dateFormat!=null)?a.dateFormat:"%m-%d-%Y";this.oConfiguration.imgPath=(a.imgPath!=null)?a.imgPath:"img/";this.oConfiguration.weekStartDay=(a.weekStartDay!=null)?a.weekStartDay:1;this.oConfiguration.directionality=(a.directionality!=null)?a.directionality:"ltr";this.oConfiguration.animate=(a.animate!=null)?a.animate:true;this.selectedDayObject={};this.flag_DayMarkedBeforeRepopulation=false;this.flag_aDayWasSelected=false;this.lastMarkedDayObject=null;if(!this.oConfiguration.selectedDate){this.currentYear=this.oCurrentDay.year;this.currentMonth=this.oCurrentDay.month;this.currentDay=this.oCurrentDay.day}};JsDatePick.prototype.resizeCalendar=function(){this.leftWallStrechedElement.style.height="0px";this.rightWallStrechedElement.style.height="0px";var a=this.JsDatePickBox.offsetHeight,b=a-16;if(b<0){return}this.leftWallStrechedElement.style.height=b+"px";this.rightWallStrechedElement.style.height=b+"px";return true};JsDatePick.prototype.closeCalendar=function(){if(this.oConfiguration.animate===true){jQuery(this.JsDatePickBox).hide(500)}else{this.JsDatePickBox.style.display="none"}document.onclick=function(){}};JsDatePick.prototype.populateFieldWithSelectedDate=function(){jQuery("#"+this.oConfiguration.target).val(this.getSelectedDayFormatted());if(this.lastPickedDateObject){delete (this.lastPickedDateObject)}this.lastPickedDateObject={};this.lastPickedDateObject.day=this.selectedDayObject.day;this.lastPickedDateObject.month=this.selectedDayObject.month;this.lastPickedDateObject.year=this.selectedDayObject.year;this.closeCalendar()};JsDatePick.prototype.makeCalendar=function(){var j=document,e,a,b,k,g,h,f,o,i,m,n,l,c;e=j.createElement("div");a=j.createElement("div");b=j.createElement("div");this.setC(e,"JsDatePickBox");this.setC(a,"clearfix");this.setC(b,"jsDatePickCloseButton");b.setAttribute("globalNumber",this.globalNumber);b.onmouseover=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.CLOSE);d.setC(this,"jsDatePickCloseButtonOver")};b.onmouseout=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"jsDatePickCloseButton")};b.onmousedown=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.CLOSE);d.setC(this,"jsDatePickCloseButtonDown")};b.onmouseup=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"jsDatePickCloseButton");d.closeCalendar()};this.JsDatePickBox=e;k=j.createElement("div");g=j.createElement("div");h=j.createElement("div");f=j.createElement("div");this.setC(h,"topWall");this.setC(f,"bottomWall");if(this.isie&&this.iever==6){f.style.bottom="-2px"}o=j.createElement("div");i=j.createElement("div");m=j.createElement("div");this.setC(o,"leftTopCorner");this.setC(i,"leftBottomCorner");this.setC(m,"leftWall");this.leftWallStrechedElement=m;this.leftWall=k;this.rightWall=g;k.appendChild(o);k.appendChild(m);k.appendChild(i);o=j.createElement("div");i=j.createElement("div");m=j.createElement("div");this.setC(o,"rightTopCorner");this.setC(i,"rightBottomCorner");this.setC(m,"rightWall");this.rightWallStrechedElement=m;g.appendChild(o);g.appendChild(m);g.appendChild(i);if(this.oConfiguration.isStripped){this.setC(k,"hiddenBoxLeftWall");this.setC(g,"hiddenBoxRightWall")}else{this.setC(k,"boxLeftWall");this.setC(g,"boxRightWall")}e.appendChild(k);e.appendChild(this.getDOMCalendarStripped());e.appendChild(g);e.appendChild(a);if(!this.oConfiguration.isStripped){e.appendChild(b);e.appendChild(h);e.appendChild(f)}if(this.oConfiguration.useMode==2){if(this.oConfiguration.target!=false){if(typeof(jQuery("#"+this.oConfiguration.target))!=null){n=document.getElementById(this.oConfiguration.target);l=document.createElement("span");n.parentNode.replaceChild(l,n);l.appendChild(n);n.setAttribute("globalNumber",this.globalNumber);n.onclick=function(){JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")).showCalendar()};n.onfocus=function(){JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")).showCalendar()};jQuery(n).mouseout(function(){jQuery("*").not("JsDatePickBox").live("focus",function(){JsDatePick.getCalInstanceById(n.getAttribute("globalNumber")).closeCalendar()})});l.style.position="relative";this.initialZIndex++;e.style.zIndex=this.initialZIndex.toString();e.style.position="absolute";e.style.top="18px";e.style.left="0px";e.style.display="none";l.appendChild(e);c=new Function("g_arrayOfUsedJsDatePickCals["+this.globalNumber+"].populateFieldWithSelectedDate();");this.setOnSelectedDelegate(c)}else{alert(g_l10n.ERROR_3)}}}else{if(this.oConfiguration.target!=null){jQuery("#"+this.oConfiguration.target).append(e);jQuery("#"+this.oConfiguration.target).css("position","relative");e.style.position="absolute";e.style.top="0px";e.style.left="0px";this.resizeCalendar();this.executePopulationDelegateIfExists()}else{alert(g_l10n.ERROR_4)}}};JsDatePick.prototype.determineFieldDate=function(){var b,c,e,g,l,d,a,h,k,f=false,j=false;if(this.lastPickedDateObject){this.setSelectedDay({year:parseInt(this.lastPickedDateObject.year),month:parseInt(this.lastPickedDateObject.month,10),day:parseInt(this.lastPickedDateObject.day,10)})}else{b=jQuery("#"+this.oConfiguration.target);if(jQuery.trim(b.val()).length==0){this.unsetSelection();if(typeof(this.oConfiguration.selectedDate)=="object"&&this.oConfiguration.selectedDate){this.setSelectedDay({year:parseInt(this.oConfiguration.selectedDate.year),month:parseInt(this.oConfiguration.selectedDate.month,10),day:parseInt(this.oConfiguration.selectedDate.day,10)})}}else{if(jQuery.trim(b.val()).length>5){c=this.senseDivider(this.oConfiguration.dateFormat);e=this.oConfiguration.dateFormat;g=jQuery.trim(b.val()).split(c);l=e.trim().split(c);d=a=h=k=0;for(d=0;d<l.length;d++){switch(l[d]){case"%d":case"%j":a=d;break;case"%m":case"%n":k=d;break;case"%M":k=d;f=true;break;case"%F":k=d;j=true;break;case"%Y":case"%y":h=d}}if(f){for(d=0;d<12;d++){if(g_l10n.MONTHS[d].substr(0,3).toUpperCase()==g[k].toUpperCase()){k=d+1;break}}}else{if(j){for(d=0;d<12;d++){if(g_l10n.MONTHS[d].toLowerCase()==g[k].toLowerCase()){k=d+1;break}}}else{k=parseInt(g[k],10)}}this.setSelectedDay({year:parseInt(g[h],10),month:k,day:parseInt(g[a],10)})}else{this.unsetSelection();return}}}};JsDatePick.prototype.senseDivider=function(a){return a.replace("%d","").replace("%j","").replace("%m","").replace("%M","").replace("%n","").replace("%F","").replace("%Y","").replace("%y","").substr(0,1)};JsDatePick.prototype.showCalendar=function(){if(this.JsDatePickBox.style.display=="none"){this.determineFieldDate();this.JsDatePickBox.style.display="block";this.resizeCalendar();if(this.oConfiguration.animate===true){this.JsDatePickBox.style.display="none";jQuery(this.JsDatePickBox).show(500)}this.executePopulationDelegateIfExists();jQuery(this.JsDatePickBox).mouseover(function(){document.onclick=function(){}});jQuery(this.JsDatePickBox).attr("globalCalNumber",this.globalNumber);jQuery(this.JsDatePickBox).mouseout(function(){document.onclick=new Function("g_arrayOfUsedJsDatePickCals["+this.getAttribute("globalCalNumber")+"].closeCalendar();")})}else{return}};JsDatePick.prototype.isAvailable=function(c,a,b){if(c>this.oCurrentDay.year){return false}if(a>this.oCurrentDay.month&&c==this.oCurrentDay.year){return false}if(b>this.oCurrentDay.day&&a==this.oCurrentDay.month&&c==this.oCurrentDay.year){return false}return true};JsDatePick.prototype.getDOMCalendarStripped=function(){var h=document,e,i,b,a,f,c,g;e=h.createElement("div");if(this.oConfiguration.isStripped){this.setC(e,"boxMainStripped")}else{this.setC(e,"boxMain")}this.boxMain=e;i=h.createElement("div");b=h.createElement("div");a=h.createElement("div");f=h.createElement("div");c=h.createElement("div");g=h.createElement("div");this.setC(b,"clearfix");this.setC(g,"clearfix");this.setC(i,"boxMainInner");this.setC(a,"boxMainCellsContainer");this.setC(f,"tooltip");this.setC(c,"weekDaysRow");this.tooltip=f;e.appendChild(i);this.controlsBar=this.getDOMControlBar();this.makeDOMWeekDays(c);i.appendChild(this.controlsBar);i.appendChild(b);i.appendChild(f);i.appendChild(c);i.appendChild(a);i.appendChild(g);this.boxMainCellsContainer=a;this.populateMainBox(a);return e};JsDatePick.prototype.makeDOMWeekDays=function(a){var c=0,g=document,f=g_l10n.DAYS_3,e,b;for(c=this.oConfiguration.weekStartDay;c<7;c++){b=g.createElement("div");e=g.createTextNode(f[c]);this.setC(b,"weekDay");b.appendChild(e);a.appendChild(b)}if(this.oConfiguration.weekStartDay>0){for(c=0;c<this.oConfiguration.weekStartDay;c++){b=g.createElement("div");e=g.createTextNode(f[c]);this.setC(b,"weekDay");b.appendChild(e);a.appendChild(b)}}b.style.marginRight="0px"};JsDatePick.prototype.repopulateMainBox=function(){while(this.boxMainCellsContainer.firstChild){this.boxMainCellsContainer.removeChild(this.boxMainCellsContainer.firstChild)}this.populateMainBox(this.boxMainCellsContainer);this.resizeCalendar();this.executePopulationDelegateIfExists()};JsDatePick.prototype.executePopulationDelegateIfExists=function(){if(typeof(this.repopulationDelegate)=="function"){this.repopulationDelegate()}};JsDatePick.prototype.populateMainBox=function(h){var f=document,g,l,c=1,k=false,n=this.currentMonth-1,j,a,m,e,b;j=new Date(this.currentYear,n,1,1,0,0);a=j.getTime();this.flag_DayMarkedBeforeRepopulation=false;this.setControlBarText(this.monthsTextualRepresentation[n]+", "+this.currentYear);m=parseInt(j.getDay())-this.oConfiguration.weekStartDay;if(m<0){m=m+7}e=0;for(e=0;e<m;e++){g=f.createElement("div");this.setC(g,"skipDay");h.appendChild(g);if(c==7){c=1}else{c++}}while(j.getMonth()==n){k=false;g=f.createElement("div");if(this.lastPostedDay){if(this.lastPostedDay==j.getDate()){l=parseInt(this.lastPostedDay,10)+1}else{l=f.createTextNode(j.getDate())}}else{l=f.createTextNode(j.getDate())}g.appendChild(l);h.appendChild(g);g.setAttribute("globalNumber",this.globalNumber);if(c==7){if(this.oConfiguration.directionality=="ltr"){g.style.marginRight="0px"}else{g.style.marginLeft="0px"}}if(this.isToday(j)){g.setAttribute("isToday",1)}if(this.oConfiguration.limitToToday>=1){if(this.isAvailable(this.currentYear,this.currentMonth,parseInt(j.getDate()+1))){k=true;g.setAttribute("isJsDatePickDisabled",1)}}else{if(this.oConfiguration.limitToToday<=-1){if(!this.isAvailable(this.currentYear,this.currentMonth,parseInt(j.getDate()))){k=true;g.setAttribute("isJsDatePickDisabled",1)}}}g.onmouseover=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")),i;i=d.getCurrentColorScheme();if(parseInt(this.getAttribute("isSelected"))==1){return}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}if(parseInt(this.getAttribute("isToday"))==1){d.setC(this,"dayOverToday");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayOver.gif) left top no-repeat"}else{d.setC(this,"dayOver");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayOver.gif) left top no-repeat"}};g.onmouseout=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")),i;i=d.getCurrentColorScheme();if(parseInt(this.getAttribute("isSelected"))==1){return}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}if(parseInt(this.getAttribute("isToday"))==1){d.setC(this,"dayNormalToday");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayNormal.gif) left top no-repeat"}else{d.setC(this,"dayNormal");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayNormal.gif) left top no-repeat"}};g.onmousedown=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")),i;i=d.getCurrentColorScheme();if(parseInt(this.getAttribute("isSelected"))==1){return}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}if(parseInt(this.getAttribute("isToday"))==1){d.setC(this,"dayDownToday");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayDown.gif) left top no-repeat"}else{d.setC(this,"dayDown");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayDown.gif) left top no-repeat"}};g.onmouseup=function(){var d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber")),i;i=d.getCurrentColorScheme();if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}if(parseInt(this.getAttribute("isToday"))==1){d.setC(this,"dayNormalToday");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayNormal.gif) left top no-repeat"}else{d.setC(this,"dayNormal");this.style.background="url("+d.oConfiguration.imgPath+i+"_dayNormal.gif) left top no-repeat"}d.setDaySelection(this);d.executeOnSelectedDelegateIfExists()};if(this.isSelectedDay(j.getDate())){g.setAttribute("isSelected",1);this.flag_DayMarkedBeforeRepopulation=true;this.lastMarkedDayObject=g;if(parseInt(g.getAttribute("isToday"))==1){this.setC(g,"dayDownToday");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayDown.gif) left top no-repeat"}else{this.setC(g,"dayDown");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayDown.gif) left top no-repeat"}}else{b=this.getCurrentColorScheme();if(parseInt(g.getAttribute("isToday"))==1){if(k){this.setC(g,"dayDisabled");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayNormal.gif) left top no-repeat"}else{this.setC(g,"dayNormalToday");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayNormal.gif) left top no-repeat"}}else{if(k){this.setC(g,"dayDisabled");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayNormal.gif) left top no-repeat"}else{this.setC(g,"dayNormal");g.style.background="url("+this.oConfiguration.imgPath+this.oConfiguration.cellColorScheme+"_dayNormal.gif) left top no-repeat"}}}if(c==7){c=1}else{c++}a+=86400000;j.setTime(a)}this.lastPostedDay=null;return h};JsDatePick.prototype.unsetSelection=function(){this.flag_aDayWasSelected=false;this.selectedDayObject={};this.repopulateMainBox()};JsDatePick.prototype.setSelectedDay=function(a){this.flag_aDayWasSelected=true;this.selectedDayObject.day=parseInt(a.day,10);this.selectedDayObject.month=parseInt(a.month,10);this.selectedDayObject.year=parseInt(a.year);this.currentMonth=a.month;this.currentYear=a.year;this.repopulateMainBox()};JsDatePick.prototype.isSelectedDay=function(a){if(this.flag_aDayWasSelected){if(parseInt(a)==this.selectedDayObject.day&&this.currentMonth==this.selectedDayObject.month&&this.currentYear==this.selectedDayObject.year){return true}else{return false}}return false};JsDatePick.prototype.getSelectedDay=function(){if(this.flag_aDayWasSelected){return this.selectedDayObject}else{return false}};JsDatePick.prototype.getSelectedDayFormatted=function(){if(this.flag_aDayWasSelected){var a=this.oConfiguration.dateFormat;a=a.replace("%d",this.selectedDayObject.day.toString().strpad());a=a.replace("%j",this.selectedDayObject.day);a=a.replace("%m",this.selectedDayObject.month.toString().strpad());a=a.replace("%M",g_l10n.MONTHS[this.selectedDayObject.month-1].substr(0,3).toUpperCase());a=a.replace("%n",this.selectedDayObject.month);a=a.replace("%F",g_l10n.MONTHS[this.selectedDayObject.month-1]);a=a.replace("%Y",this.selectedDayObject.year);a=a.replace("%y",this.selectedDayObject.year.toString().substr(2,2));return a}else{return false}};JsDatePick.prototype.setDaySelection=function(a){var b=this.getCurrentColorScheme();if(this.flag_DayMarkedBeforeRepopulation){jQuery(this.lastMarkedDayObject).attr("isSelected",0);if(parseInt(this.lastMarkedDayObject.getAttribute("isToday"))==1){this.setC(this.lastMarkedDayObject,"dayNormalToday");this.lastMarkedDayObject.style.background="url("+this.oConfiguration.imgPath+b+"_dayNormal.gif) left top no-repeat"}else{this.setC(this.lastMarkedDayObject,"dayNormal");this.lastMarkedDayObject.style.background="url("+this.oConfiguration.imgPath+b+"_dayNormal.gif) left top no-repeat"}}this.flag_aDayWasSelected=true;this.selectedDayObject.year=this.currentYear;this.selectedDayObject.month=this.currentMonth;this.selectedDayObject.day=parseInt(a.innerHTML);this.flag_DayMarkedBeforeRepopulation=true;this.lastMarkedDayObject=a;jQuery(a).attr("isSelected",1);if(parseInt(a.getAttribute("isToday"))==1){this.setC(a,"dayDownToday");a.style.background="url("+this.oConfiguration.imgPath+b+"_dayDown.gif) left top no-repeat"}else{this.setC(a,"dayDown");a.style.background="url("+this.oConfiguration.imgPath+b+"_dayDown.gif) left top no-repeat"}};JsDatePick.prototype.isToday=function(a){var b=this.oCurrentDay.month-1;if(a.getDate()==this.oCurrentDay.day&&a.getMonth()==b&&a.getFullYear()==this.oCurrentDay.year){return true}return false};JsDatePick.prototype.setControlBarText=function(a){var b=document.createTextNode(a);jQuery(this.controlsBarTextCell).empty();this.controlsBarTextCell.appendChild(b)};JsDatePick.prototype.setTooltipText=function(a){jQuery(this.tooltip).empty();var b=document.createTextNode(a);this.tooltip.appendChild(b)};JsDatePick.prototype.moveForwardOneYear=function(){var a=this.currentYear+1;if(a<=parseInt(this.oConfiguration.yearsRange[1])){this.currentYear++;this.repopulateMainBox();return true}else{return false}};JsDatePick.prototype.moveBackOneYear=function(){var a=this.currentYear-1;if(a>=parseInt(this.oConfiguration.yearsRange[0])){this.currentYear--;this.repopulateMainBox();return true}else{return false}};JsDatePick.prototype.moveForwardOneMonth=function(){if(this.currentMonth<12){this.currentMonth++}else{if(this.moveForwardOneYear()){this.currentMonth=1}else{this.currentMonth=12}}this.repopulateMainBox()};JsDatePick.prototype.moveBackOneMonth=function(){if(this.currentMonth>1){this.currentMonth--}else{if(this.moveBackOneYear()){this.currentMonth=12}else{this.currentMonth=1}}this.repopulateMainBox()};JsDatePick.prototype.getCurrentColorScheme=function(){return this.oConfiguration.cellColorScheme};JsDatePick.prototype.getDOMControlBar=function(){var h=document,c,f,g,b,a,e;c=h.createElement("div");f=h.createElement("div");g=h.createElement("div");b=h.createElement("div");a=h.createElement("div");e=h.createElement("div");this.setC(c,"controlsBar");this.setC(f,"monthForwardButton");this.setC(g,"monthBackwardButton");this.setC(b,"yearForwardButton");this.setC(a,"yearBackwardButton");this.setC(e,"controlsBarText");jQuery(c).attr("globalNumber",this.globalNumber);if(this.oConfiguration.monthButtons){jQuery(f).attr("globalNumber",this.globalNumber);jQuery(g).attr("globalNumber",this.globalNumber)}if(this.oConfiguration.yearButtons){jQuery(a).attr("globalNumber",this.globalNumber);jQuery(b).attr("globalNumber",this.globalNumber)}this.controlsBarTextCell=e;if(this.oConfiguration.monthButtons){c.appendChild(f);c.appendChild(g)}if(this.oConfiguration.yearButtons){c.appendChild(b);c.appendChild(a)}c.appendChild(e);f.onmouseover=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}d=this.parentNode;while(d.className!="controlsBar"){d=d.parentNode}i=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));i.setTooltipText(g_l10n.MONTH_FWD);i.setC(this,"monthForwardButtonOver")};f.onmouseout=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"monthForwardButton")};f.onmousedown=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}d=this.parentNode;while(d.className!="controlsBar"){d=d.parentNode}i=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));i.setTooltipText(g_l10n.MONTH_FWD);i.setC(this,"monthForwardButtonDown")};f.onmouseup=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.MONTH_FWD);d.setC(this,"monthForwardButton");d.moveForwardOneMonth()};jQuery(f).click(function(d){d.preventDefault()}).focus(function(d){d.preventDefault()});g.onmouseover=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.MONTH_BCK);d.setC(this,"monthBackwardButtonOver")};g.onmouseout=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"monthBackwardButton")};g.onmousedown=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.MONTH_BCK);d.setC(this,"monthBackwardButtonDown")};g.onmouseup=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.MONTH_BCK);d.setC(this,"monthBackwardButton");d.moveBackOneMonth()};b.onmouseover=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_FWD);d.setC(this,"yearForwardButtonOver")};b.onmouseout=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"yearForwardButton")};b.onmousedown=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_FWD);d.setC(this,"yearForwardButtonDown")};b.onmouseup=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_FWD);d.setC(this,"yearForwardButton");d.moveForwardOneYear()};a.onmouseover=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_BCK);d.setC(this,"yearBackwardButtonOver")};a.onmouseout=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText("");d.setC(this,"yearBackwardButton")};a.onmousedown=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_BCK);d.setC(this,"yearBackwardButtonDown")};a.onmouseup=function(){var i,d;if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return}i=this.parentNode;while(i.className!="controlsBar"){i=i.parentNode}d=JsDatePick.getCalInstanceById(this.getAttribute("globalNumber"));d.setTooltipText(g_l10n.YEAR_BCK);d.setC(this,"yearBackwardButton");d.moveBackOneYear()};return c};
languages/contact-form-7-datepicker-it_IT.mo CHANGED
Binary file
languages/contact-form-7-datepicker-it_IT.po CHANGED
@@ -180,7 +180,7 @@ msgid "Save Setting"
180
msgstr "Salva Impostazioni"
181
182
#: ../contact-form-7-datepicker.php:650
183
- msgid "Janaury"
184
msgstr "Gennaio"
185
186
#: ../contact-form-7-datepicker.php:651
180
msgstr "Salva Impostazioni"
181
182
#: ../contact-form-7-datepicker.php:650
183
+ msgid "January"
184
msgstr "Gennaio"
185
186
#: ../contact-form-7-datepicker.php:651
languages/contact-form-7-datepicker-nl_NL.mo CHANGED
Binary file
languages/contact-form-7-datepicker-ro_RO.mo CHANGED
Binary file
languages/contact-form-7-datepicker-ro_RO.po CHANGED
@@ -187,7 +187,7 @@ msgid "Save Setting"
187
msgstr "Salvează setări"
188
189
#: ../contact-form-7-datepicker.php:753
190
- msgid "Janaury"
191
msgstr "Ianuarie"
192
193
#: ../contact-form-7-datepicker.php:754
187
msgstr "Salvează setări"
188
189
#: ../contact-form-7-datepicker.php:753
190
+ msgid "January"
191
msgstr "Ianuarie"
192
193
#: ../contact-form-7-datepicker.php:754
languages/contact-form-7-datepicker.pot CHANGED
@@ -170,7 +170,7 @@ msgid "Save Setting"
170
msgstr ""
171
172
#: ../contact-form-7-datepicker.php:753
173
- msgid "Janaury"
174
msgstr ""
175
176
#: ../contact-form-7-datepicker.php:754
170
msgstr ""
171
172
#: ../contact-form-7-datepicker.php:753
173
+ msgid "January"
174
msgstr ""
175
176
#: ../contact-form-7-datepicker.php:754
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: shockware
3
Donate link:
4
Tags: wordpress, datepicker, calendar, contact form 7, forms
5
Requires at least: WordPress 2.9
6
- Tested up to: WordPress 3.2.1
7
- Stable tag: 0.7.2
8
9
Datepicker for Contact Form 7 Wordpress Plugin based on jsDatePick script.
10
@@ -59,6 +59,14 @@ You can contact me anywhere and I'll add them to the project :)
59
60
== Changelog ==
61
62
= 0.7.2 =
63
* Bugfix:
64
- fixed field value not showing up in email message when field values contain hyphens and other non-alphanumeric chars
3
Donate link:
4
Tags: wordpress, datepicker, calendar, contact form 7, forms
5
Requires at least: WordPress 2.9
6
+ Tested up to: WordPress 3.3.1
7
+ Stable tag: 0.7.4
8
9
Datepicker for Contact Form 7 Wordpress Plugin based on jsDatePick script.
10
59
60
== Changelog ==
61
62
+ = 0.7.4 =
63
+ * Bugfix:
64
+ - datepicker shortcode works now if contact form 7 is not installed
65
+
66
+ = 0.7.3 =
67
+ * Bugfix:
68
+ - fixed Janaury typo
69
+
70
= 0.7.2 =
71
* Bugfix:
72
- fixed field value not showing up in email message when field values contain hyphens and other non-alphanumeric chars