My Calendar - Version 2.3.0

Version Description

This is a major revision.

  • Bug fix: Manage events screen showed no data for users without manage_events permissions.
  • Bug fix: if single event set, could not filter to time period views.
  • Bug fix: 'single' template ID not passed into template filter.
  • Bug fix: events in private categories appeared in time-based upcoming events lists.
  • Bug fix: RSS feed encoding.
  • Bug fix: Turn-of-year issues with week view.
  • Bug fix: Added new locations multiple times if added with multiple occurrences of an event.
  • Bug fix: In some browsers, time selector added invalid data.
  • Bug fix: List of search results not wrapped in a list element.
  • Bug fix: Trim spaces on above/below navigation strings.
  • Bug fix: If an event ends at midnight, automatically end tomorrow unless set for a later date.
  • Bug fix: Don't show events on both days if they end at midnight.
  • Bug fix: Don't attempt to enqueue jquery.charcount.js if WP to Twitter not installed.
  • Bug fix: Dates didn't strip links in list view when JS disabled for that view.

  • New template tag: {runtime} to show human language version of length of event.

  • New template tag: {excerpt} to create autoexcerpt from description field, using shortdesc if it exists.

  • New feature: Accessibility features for locations.

  • New feature: Specify accessibility services for events.

  • New feature: ticketing link field

  • New feature: event registration information fields

  • New feature: my_calendar_event shortcode can query templates by keyword (list,mini,single,grid).

  • New feature: filter events by available accessibility services

  • New feature: Combined filter shortcode to group all filters into a single form. [mc_filters show='locations,categories,access']

  • New feature: new API for adding custom fields to events.

  • New feature: data API to fetch event data in JSON, CSV, or RSS formats.

  • New feature: Archive events to hide from admin events list.

  • New feature: Control input options for multiple types of location input data.

  • New feature: Shortcode generator for primary, upcoming, and today's events shortcodes.

  • New feature: admin-side event search

  • New feature: category key now acts as quick links to filter by category

  • New feature: Option to add title to Event Search widget.

  • New filter: mc_date_format for customizing date formats.

  • New filter: customize search results page: mc_search_page

  • New filter: mc_use_permalinks to enable use of custom post type permalinks for single event pages.

  • New filter: mc_post_template to customize template used in single event shortcode automatically inserted into custom post type pages.

  • New design: new stylesheet available: twentyfourteen.css

  • Updated: added more fields to search on events.

  • Updated: updated image uploader to use add media panel and store attachment ID

  • Updated:

    template supports all template tags (but strips HTML.).
  • Updated: Various aspects of UI

  • Updated: Date/time selectors. See http://amsul.ca/pickadate.js/, MIT license.

  • Reorganized default output template code.

  • Import all used locations into location manager.

  • Removed User settings fields.

  • Moved Holiday category assignment to Category Manager.

  • Improved get current URL function.

  • iCal output in multiple-month view outputs all displayed months.

  • {map} template tag to display a Google Map using the Google Maps API. (Not available in pop-up displays.)

  • Scheduled removal of showkey, shownav, toggle, and showjump shortcode attributes.

  • Removed upgrade support for 1.6.x & 1.7.x series of My Calendar.

Download this release

Release Info

Developer joedolson
Plugin Icon 128x128 My Calendar
Version 2.3.0
Comparing to
See all releases

Code changes from version 2.2.13 to 2.3.0

Files changed (156) hide show
  1. button/generator.css +0 -37
  2. button/generator.php +0 -136
  3. button/mcb.js +0 -125
  4. button/tinymce3/calendarButton.gif +0 -0
  5. button/tinymce3/editor_plugin.js +0 -61
  6. button/tinymce3/langs/en.js +0 -4
  7. button/tinymce3/langs/es.js +0 -4
  8. button/tinymce3/langs/fr.js +0 -4
  9. button/tinymce3/langs/ru.js +0 -4
  10. button/tinymce3/mcb.png +0 -0
  11. mc-admin.css → css/mc-admin.css +0 -0
  12. mc-print.css → css/mc-print.css +3 -3
  13. css/mc-styles.css +110 -0
  14. css/reset.css +2 -0
  15. images/event-details.jpg +0 -0
  16. images/event-details.png +0 -0
  17. images/guide.png +0 -0
  18. images/ical.png +0 -0
  19. {icons → images/icons}/32x32/applications-toys.png +0 -0
  20. {icons → images/icons}/32x32/appointment.png +0 -0
  21. {icons → images/icons}/32x32/art.png +0 -0
  22. {icons → images/icons}/32x32/ball.png +0 -0
  23. {icons → images/icons}/32x32/call.png +0 -0
  24. {icons → images/icons}/32x32/concert.png +0 -0
  25. {icons → images/icons}/32x32/crafts.png +0 -0
  26. {icons → images/icons}/32x32/event-2.png +0 -0
  27. {icons → images/icons}/32x32/event.png +0 -0
  28. {icons → images/icons}/32x32/games.png +0 -0
  29. {icons → images/icons}/32x32/globe.png +0 -0
  30. {icons → images/icons}/32x32/meeting.png +0 -0
  31. {icons → images/icons}/32x32/movies.png +0 -0
  32. {icons → images/icons}/32x32/party.png +0 -0
  33. {icons → images/icons}/32x32/pi.png +0 -0
  34. {icons → images/icons}/32x32/rehearsal.png +0 -0
  35. {icons → images/icons}/32x32/school.png +0 -0
  36. {icons → images/icons}/32x32/shop.png +0 -0
  37. {icons → images/icons}/32x32/star.png +0 -0
  38. {icons → images/icons}/32x32/tickets.png +0 -0
  39. {icons → images/icons}/appointment.png +0 -0
  40. {icons → images/icons}/art.png +0 -0
  41. {icons → images/icons}/ball.png +0 -0
  42. {icons → images/icons}/call.png +0 -0
  43. {icons → images/icons}/concert.png +0 -0
  44. {icons → images/icons}/crafts.png +0 -0
  45. {icons → images/icons}/event-2.png +0 -0
  46. {icons → images/icons}/event.png +0 -0
  47. {icons → images/icons}/games.png +0 -0
  48. {icons → images/icons}/globe.png +0 -0
  49. {icons → images/icons}/meeting.png +0 -0
  50. {icons → images/icons}/movies.png +0 -0
  51. {icons → images/icons}/party.png +0 -0
  52. {icons → images/icons}/pi.png +0 -0
  53. {icons → images/icons}/rehearsal.png +0 -0
  54. {icons → images/icons}/school.png +0 -0
  55. {icons → images/icons}/shop.png +0 -0
  56. {icons → images/icons}/star.png +0 -0
  57. {icons → images/icons}/tickets.png +0 -0
  58. images/submissions.png +0 -0
  59. date-utilities.php → includes/date-utilities.php +0 -0
  60. js/calendrical.css +0 -28
  61. js/gmap3.min.js +10 -0
  62. js/jquery.addfields.js +3 -4
  63. js/jquery.calendrical.js +0 -484
  64. js/pickadate/legacy.js +10 -0
  65. js/pickadate/picker.date.js +5 -0
  66. js/pickadate/picker.js +7 -0
  67. js/pickadate/picker.time.js +5 -0
  68. js/pickadate/themes/classic.css +4 -0
  69. js/pickadate/themes/classic.date.css +1 -0
  70. js/pickadate/themes/classic.time.css +1 -0
  71. js/pickadate/themes/default.css +4 -0
  72. js/pickadate/themes/default.date.css +1 -0
  73. js/pickadate/themes/default.time.css +1 -0
  74. js/pickadate/themes/rtl.css +3 -0
  75. js/pickadate/translations/ar.js +1 -0
  76. js/pickadate/translations/bg_BG.js +1 -0
  77. js/pickadate/translations/bs_BA.js +1 -0
  78. js/pickadate/translations/ca_ES.js +1 -0
  79. js/pickadate/translations/cs_CZ.js +1 -0
  80. js/pickadate/translations/da_DK.js +1 -0
  81. js/pickadate/translations/de_DE.js +1 -0
  82. js/pickadate/translations/el_GR.js +1 -0
  83. js/pickadate/translations/es_ES.js +1 -0
  84. js/pickadate/translations/et_EE.js +1 -0
  85. js/pickadate/translations/eu_ES.js +1 -0
  86. js/pickadate/translations/fi_FI.js +1 -0
  87. js/pickadate/translations/fr_FR.js +1 -0
  88. js/pickadate/translations/gl_ES.js +1 -0
  89. js/pickadate/translations/he_IL.js +1 -0
  90. js/pickadate/translations/hr_HR.js +1 -0
  91. js/pickadate/translations/hu_HU.js +1 -0
  92. js/pickadate/translations/id_ID.js +1 -0
  93. js/pickadate/translations/is_IS.js +1 -0
  94. js/pickadate/translations/it_IT.js +1 -0
  95. js/pickadate/translations/ja_JP.js +1 -0
  96. js/pickadate/translations/ko_KR.js +1 -0
  97. js/pickadate/translations/nl_NL.js +1 -0
  98. js/pickadate/translations/no_NO.js +1 -0
  99. js/pickadate/translations/pl_PL.js +1 -0
  100. js/pickadate/translations/pt_BR.js +1 -0
  101. js/pickadate/translations/pt_PT.js +1 -0
  102. js/pickadate/translations/ro_RO.js +1 -0
  103. js/pickadate/translations/ru_RU.js +1 -0
  104. js/pickadate/translations/sk_SK.js +1 -0
  105. js/pickadate/translations/sl_SI.js +1 -0
  106. js/pickadate/translations/sv_SE.js +1 -0
  107. js/pickadate/translations/th_TH.js +1 -0
  108. js/pickadate/translations/tr_TR.js +1 -0
  109. js/pickadate/translations/uk_UA.js +1 -0
  110. js/pickadate/translations/zh_CN.js +1 -0
  111. js/pickadate/translations/zh_TW.js +1 -0
  112. js/sortable.js +18 -0
  113. js/tabs.js +15 -0
  114. js/upload.js +53 -12
  115. lang/my-calendar.pot +1686 -1490
  116. mc-styles.css +0 -63
  117. my-calendar-api.php +76 -0
  118. my-calendar-behaviors.php +44 -69
  119. my-calendar-categories.php +67 -57
  120. my-calendar-core.php +361 -483
  121. my-calendar-event-manager.php +1001 -766
  122. my-calendar-events.php +182 -96
  123. my-calendar-export.php +89 -3
  124. my-calendar-generator.php +163 -0
  125. my-calendar-group-manager.php +348 -335
  126. my-calendar-help.php +119 -41
  127. my-calendar-ical.php +21 -20
  128. my-calendar-importer.php +0 -117
  129. my-calendar-install.php +239 -223
  130. my-calendar-limits.php +38 -42
  131. my-calendar-locations.php +279 -125
  132. my-calendar-output.php +545 -436
  133. my-calendar-rss.php +0 -94
  134. my-calendar-settings.php +362 -501
  135. my-calendar-shortcodes.php +21 -8
  136. my-calendar-styles.php +102 -118
  137. my-calendar-templates.php +382 -212
  138. my-calendar-templating.php +32 -55
  139. my-calendar-upgrade-db.php +1 -1
  140. my-calendar-user.php +0 -57
  141. my-calendar-widgets.php +117 -135
  142. my-calendar.php +83 -95
  143. readme.txt +81 -28
  144. styles/dark.css +2 -2
  145. styles/inherit.css +3 -3
  146. styles/light.css +3 -3
  147. styles/my-calendar.css +5 -5
  148. styles/refresh.css +2 -2
  149. styles/twentyfourteen.css +100 -0
  150. templates/dark.css +2 -2
  151. templates/inherit.css +3 -3
  152. templates/light.css +3 -3
  153. templates/my-calendar.css +5 -5
  154. templates/refresh.css +2 -2
  155. templates/twentyfourteen.css +100 -0
  156. uninstall.php +107 -101
button/generator.css DELETED
@@ -1,37 +0,0 @@
1
- .wrap {
2
- margin: 0 5px;
3
- }
4
- fieldset {
5
- border: 1px solid #ccc;
6
- margin: 10px 0;
7
- padding: 10px;
8
- }
9
- label {
10
- display: block;
11
- float: left;
12
- width: 30%;
13
- margin-right: 10px;
14
- }
15
- .help, .clear {
16
- clear: left;
17
- }
18
- fieldset {
19
- margin: 6px 0;
20
- }
21
- input {
22
- line-height: normal;
23
- }
24
-
25
- input[type=text],
26
- select {
27
- width: 60%;
28
- }
29
- .req {
30
- color: red;
31
- }
32
- .resources {
33
- margin: 5px;
34
- padding: 10px;
35
- background: #fff;
36
- border: 1px solid #ccc;
37
- }
button/generator.php DELETED
@@ -1,136 +0,0 @@
1
- <?php
2
- // Load WordPress core files
3
- $iswin = preg_match('/:\\\/', dirname(__file__));
4
- $slash = ($iswin) ? "\\" : "/";
5
- $wp_path = preg_split('/(?=((\\\|\/)wp-content)).*/', dirname(__file__));
6
- $wp_path = ( isset($wp_path[0]) && $wp_path[0] != "" && $wp_path[0] != dirname(__FILE__) ) ? $wp_path[0] : $_SERVER["DOCUMENT_ROOT"];
7
- require_once($wp_path . $slash . 'wp-load.php');
8
- require_once($wp_path . $slash . 'wp-admin' . $slash . 'admin.php');
9
-
10
- // check for rights
11
- if ( !is_user_logged_in() || !current_user_can('edit_posts') )
12
- wp_die(__( "You don't have access to this function.", 'my-calendar' ));
13
- ?>
14
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15
- <html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
16
- <head>
17
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
18
- <title><?php bloginfo('name') ?> &rsaquo; <?php _e("My Calendar Shortcode Generator",'my-calendar'); ?> &#8212; WordPress</title>
19
- <?php
20
- // WordPress styles
21
- wp_admin_css( 'css/global' );
22
- wp_admin_css();
23
- wp_admin_css( 'css/colors' );
24
- wp_admin_css( 'css/ie' );
25
- $hook_suffix = '';
26
- if ( isset($page_hook) )
27
- $hook_suffix = "$page_hook";
28
- else if ( isset($plugin_page) )
29
- $hook_suffix = "$plugin_page";
30
- else if ( isset($pagenow) )
31
- $hook_suffix = "$pagenow";
32
- do_action("admin_print_styles-$hook_suffix");
33
- do_action('admin_print_styles');
34
- do_action("admin_print_scripts-$hook_suffix");
35
- do_action('admin_print_scripts');
36
- do_action("admin_head-$hook_suffix");
37
- do_action('admin_head');
38
- ?>
39
- <link rel="stylesheet" href="<?php echo plugins_url('button/generator.css',dirname(__FILE__)); ?>?ver=<?php echo mc_tiny_mce_version(); ?>" type="text/css" media="screen" charset="utf-8" />
40
- <script src="<?php echo plugins_url('button/mcb.js',dirname(__FILE__)); ?>" type="text/javascript" charset="utf-8"></script>
41
- </head>
42
- <body class="<?php echo apply_filters( 'admin_body_class', '' ); ?>">
43
- <div class="wrap">
44
- <h2><?php _e("My Calendar Shortcode Generator",'my-calendar'); ?></h2>
45
- <p>
46
- <?php _e("Navigational fields above and below the calendar: Feed links and print view will only display if they are enabled on your settings page. All other fields will appear if specified; the defaults specified in your settings will be used if the attribute is left blank. Use <code>none</code> to hide all navigation elements.",'my-calendar'); ?>
47
- </p>
48
- <form action="#" mode="POST">
49
- <fieldset>
50
- <legend><?php _e('Shortcode Attributes', 'my-calendar'); ?></legend>
51
- <p>
52
- <?php echo my_calendar_categories_list('select','admin'); ?>
53
- </p>
54
- <p>
55
- <label for="ltype"><?php _e('Location filter type:','my-calendar'); ?></label>
56
- <select name="ltype" id="ltype">
57
- <option value="" selected="selected"><?php _e('All locations','my-calendar'); ?></option>
58
- <option value='event_label'><?php _e('Location Name','my-calendar'); ?></option>
59
- <option value='event_city'><?php _e('City','my-calendar'); ?></option>
60
- <option value='event_state'><?php _e('State','my-calendar'); ?></option>
61
- <option value='event_postcode'><?php _e('Postal Code','my-calendar'); ?></option>
62
- <option value='event_country'><?php _e('Country','my-calendar'); ?></option>
63
- <option value='event_region'><?php _e('Region','my-calendar'); ?></option>
64
- </select>
65
- </p>
66
- <p>
67
- <label for="lvalue"><?php _e('Location filter value:','my-calendar'); ?></label>
68
- <input type="text" name="lvalue" id="lvalue" />
69
- </p>
70
- <p>
71
- <label for="format"><?php _e('Format', 'my-calendar'); ?></label>
72
- <select name="format" id="format">
73
- <option value="calendar" selected="selected"><?php _e('Grid','my-calendar'); ?></option>
74
- <option value="list"><?php _e('List','my-calendar'); ?></option>
75
- </select>
76
- </p>
77
- <p>
78
- <label for="above" id='labove'><?php _e('Navigation above calendar','my-calendar'); ?></label>
79
- <input type="text" name="above" id="above" value="nav,toggle,jump,print,timeframe" aria-labelledby='labove aboveLabel' /><br />
80
- <em id="aboveLabel"><?php _e('Use "none" for no navigation.','my-calendar'); ?></em>
81
- </p>
82
- <p>
83
- <label for="below" id='lbelow'><?php _e('Navigation below calendar','my-calendar'); ?></label>
84
- <input type="text" name="below" id="below" value="key,feeds" aria-labelledby='lbelow belowLabel' /><br />
85
- <em id="belowLabel"><?php _e('Use "none" for no navigation.','my-calendar'); ?></em>
86
- </p>
87
- <p>
88
- <label for="time"><?php _e('Time Segment', 'my-calendar'); ?></label>
89
- <select name="time" id="time">
90
- <option value="month" selected="selected"><?php _e('Month', 'my-calendar'); ?></option>
91
- <option value="week"><?php _e('Week', 'my-calendar'); ?></option>
92
- <option value="day"><?php _e('Day', 'my-calendar'); ?></option>
93
- </select>
94
- </p>
95
- <?php
96
- // Grab all the categories and list them
97
- $users = my_calendar_getUsers();
98
- $options = '';
99
- foreach($users as $u) {
100
- $options = '<option value="'.$u->ID.'">'.$u->display_name."</option>\n";
101
- }
102
- ?> <p>
103
- <label for="author"><?php _e('Limit by Author','my-calendar'); ?></label>
104
- <select name="author" id="author" multiple="multiple">
105
- <option value="all"><?php _e('All authors','my-calendar'); ?></option>
106
- <?php echo $options; ?>
107
- </select>
108
- </p>
109
- <p>
110
- <label for="host"><?php _e('Limit by Host','my-calendar'); ?></label>
111
- <select name="host" id="host" multiple="multiple">
112
- <option value="all"><?php _e('All hosts','my-calendar'); ?></option>
113
- <?php echo $options; ?>
114
- </select>
115
- </p>
116
- </fieldset>
117
- <p>
118
- <input type="button" class="button" id="mycalendar" name="generate" value="<?php _e('Generate Shortcode', 'my-calendar'); ?>" />
119
- </p>
120
- <p><?php _e('<strong>Note:</strong> If you provide a location filter value, it must be an exact match for that information as saved with your events. (e.g. "Saint Paul" is not equivalent to "saint paul" or "St. Paul")','my-calendar'); ?></p>
121
- </form>
122
- </div>
123
- <?php jd_show_support_box(); ?>
124
- <script type="text/javascript" charset="utf-8">
125
- // <![CDATA[
126
- jQuery(document).ready(function(){
127
- try {
128
- myCalQT.Tag.Generator.initialize();
129
- } catch (e) {
130
- throw "<?php _e("My Calendar: this generator isn't going to put the shortcode in your page. Sorry!", 'my-calendar'); ?>";
131
- }
132
- });
133
- // ]]>
134
- </script>
135
- </body>
136
- </html>
button/mcb.js DELETED
@@ -1,125 +0,0 @@
1
- // pass the window to the object
2
- var myCalQT = window.myCalQT || {};
3
- // set the function
4
- (myCalQT.Tag = function() {
5
- return {
6
- // set the function
7
- embed : function() {
8
- // check if the URL is a string and if the function tb_show works, if not, return
9
- if (typeof this.configUrl !== 'string' || typeof tb_show !== 'function') {
10
- return;
11
- }
12
- // pepare the url
13
- var url = this.configUrl + ((this.configUrl.match(/\?/)) ? "&" : "?") + "TB_iframe=true";
14
- // call lightbox to show the embed
15
- tb_show('My Calendar Shortcode Generator', url , false);
16
- }
17
- };
18
- }());
19
- /* Generator specific script */
20
- (myCalQT.Tag.Generator = function(){
21
- // tags to find
22
- var tags = 'category,ltype,lvalue,format,above,below,author,host,time'.split(',');
23
- // to validate and generate the tag
24
- var vt = function(id){
25
- var form = jQuery('#'+id).val();
26
- if(form==''){
27
- return '';
28
- }else{
29
- return ' '+id+'="'+form+'"';
30
- }
31
- };
32
- // to build tag
33
- var buildTag = function() {
34
- var r = '[my_calendar';
35
- for (i=0;i<tags.length;i++){
36
- r += vt(tags[i]);
37
- }
38
- return r + ']';
39
- };
40
-
41
- // get the selected text in the box
42
- var getSel = function(){
43
- var win = window.parent || window;
44
- var ret = '';
45
- if ( typeof win.tinyMCE !== 'undefined' && ( win.ed = win.tinyMCE.activeEditor ) && !win.ed.isHidden() ) {
46
- win.ed.focus();
47
- if (win.tinymce.isIE){
48
- win.ed.selection.moveToBookmark(win.tinymce.EditorManager.activeEditor.windowManager.bookmark);
49
- }
50
- ret = win.tinymce.EditorManager.activeEditor.selection.getContent({format : 'text'});
51
- } else {
52
- var myField = win.edCanvas;
53
- // IE
54
- if (document.selection) {
55
- myField.focus();
56
- ret = (win.document.all) ? win.document.selection.createRange().text : win.document.getSelection();
57
- }
58
- // Mozilla, Netscape
59
- else if (myField.selectionStart || myField.selectionStart == '0') {
60
- ret = myField.value.substring(myField.selectionStart, myField.selectionEnd);
61
- }
62
- }
63
- return (ret=='')?false:ret;
64
- };
65
-
66
- // Tag parser
67
- var parseTagEdit = function(){
68
- // get selection
69
- var selec = getSel();
70
- if(selec != false){
71
- // trim
72
- selec = selec.replace(/^\s+|\s+#x2F;g,'');
73
- // look for the endpoint
74
- var endp = selec.lastIndexOf(']');
75
- // if no endpoint is found
76
- if(endp == -1){
77
- return;
78
- }
79
- // look for the starting point
80
- if(selec.substring(0,13) != '[my_calendar '){
81
- return;
82
- }
83
- // only params
84
- selec = selec.substring(13, endp);
85
- // remove more than two white spaces
86
- selec = selec.replace(/\s+/g, ' ')
87
- // get params separated by space
88
- var params = selec.split(' ');
89
- // modify values
90
- for (i=0;i<params.length;i++){
91
- var parval = params[i].split('=');
92
- jQuery('#'+parval[0]).val(parval[1]);
93
- }
94
- }
95
- };
96
- // to insert tag
97
- var insertTag = function() {
98
- var tag = buildTag() || "";
99
- var win = window.parent || window;
100
-
101
- if ( typeof win.tinyMCE !== 'undefined' && ( win.ed = win.tinyMCE.activeEditor ) && !win.ed.isHidden() ) {
102
- win.ed.focus();
103
- if (win.tinymce.isIE){
104
- win.ed.selection.moveToBookmark(win.tinymce.EditorManager.activeEditor.windowManager.bookmark);
105
- }
106
- win.ed.execCommand('mceInsertContent', false, tag);
107
- } else {
108
- win.edInsertContent(win.edCanvas, tag);
109
- }
110
- // Close Lightbox
111
- win.tb_remove();
112
- };
113
- return {
114
- initialize : function() {
115
- if (typeof jQuery === 'undefined') {
116
- return;
117
- }
118
- jQuery("#mycalendar").click(function(e) {
119
- e.preventDefault();
120
- insertTag();
121
- });
122
- parseTagEdit();
123
- }
124
- };
125
- }());
button/tinymce3/calendarButton.gif DELETED
Binary file
button/tinymce3/editor_plugin.js DELETED
@@ -1,61 +0,0 @@
1
- (function() {
2
- // Load plugin specific language pack
3
- tinymce.PluginManager.requireLangPack('mcqt');
4
- tinymce.create('tinymce.plugins.myCalendar', {
5
- /**
6
- * Initializes the plugin, this will be executed after the plugin has been created.
7
- * This call is done before the editor instance has finished it's initialization so use the onInit event
8
- * of the editor instance to intercept that event.
9
- *
10
- * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
11
- * @param {string} url Absolute URL to where the plugin is located.
12
- */
13
- init : function(ed, url) {
14
-
15
- if (typeof myCalQT === 'undefined' ||
16
- typeof myCalQT.Tag === 'undefined' ||
17
- typeof myCalQT.Tag.embed !== 'function'
18
- ) {
19
- return;
20
- }
21
- ed.addCommand('createMCTag', function() {
22
- myCalQT.Tag.embed.apply(myCalQT.Tag);
23
- });
24
- ed.addButton('myCalendar', {
25
- title : 'mcqt.description',
26
- image : url + '/mcb.png',
27
- cmd : 'createMCTag'
28
- });
29
- },
30
- /**
31
- * Creates control instances based in the incomming name. This method is normally not
32
- * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons
33
- * but you sometimes need to create more complex controls like listboxes, split buttons etc then this
34
- * method can be used to create those.
35
- *
36
- * @param {String} n Name of the control to create.
37
- * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control.
38
- * @return {tinymce.ui.Control} New control instance or null if no control was created.
39
- */
40
- createControl : function(n, cm) {
41
- return null;
42
- },
43
- /**
44
- * Returns information about the plugin as a name/value array.
45
- * The current keys are longname, author, authorurl, infourl and version.
46
- *
47
- * @return {Object} Name/value array containing information about the plugin.
48
- */
49
- getInfo : function() {
50
- return {
51
- longname : 'My Calendar TinyMCE Plugin',
52
- author : 'Joseph C Dolson',
53
- authorurl : 'http://www.joedolson.com',
54
- infourl : 'http://http://www.joedolson.com/articles/my-calendar/',
55
- version : "1.7.9"
56
- };
57
- }
58
- });
59
- // Register plugin
60
- tinymce.PluginManager.add('mcqt', tinymce.plugins.myCalendar);
61
- })();
button/tinymce3/langs/en.js DELETED
@@ -1,4 +0,0 @@
1
- // English lang variables
2
- tinyMCE.addI18n("en.mcqt", {
3
- description : "Insert My Calendar"
4
- });
button/tinymce3/langs/es.js DELETED
@@ -1,4 +0,0 @@
1
- // Spanish lang variables
2
- tinyMCE.addI18n("es.mcqt", {
3
- description : "Insertar etiqueta My Calendar"
4
- });
button/tinymce3/langs/fr.js DELETED
@@ -1,4 +0,0 @@
1
- // Spanish lang variables
2
- tinyMCE.addI18n("es.mcqt", {
3
- description : "Insertar etiqueta My Calendar"
4
- });
button/tinymce3/langs/ru.js DELETED
@@ -1,4 +0,0 @@
1
- // Russian lang variables
2
- tinyMCE.addI18n("ru.mcqt", {
3
- description : "вставка тегов My Calendar"
4
- });
button/tinymce3/mcb.png DELETED
Binary file
mc-admin.css → css/mc-admin.css RENAMED
File without changes
mc-print.css → css/mc-print.css RENAMED
@@ -1,9 +1,9 @@
1
.my-calendar-header, h3 img, .mc-toggle, .mc_edit_links, #mc-export,.longdesc, .shortdesc , .mc-print, form { display: none; }
2
- table { border: 1px solid #ddd; border-collapse: collapse; margin: 0 auto;}
3
th { text-align:center; background: #f6f6f6; border: 1px solid #ddd; width: 130px; text-transform:uppercase; }
4
- td { border: 1px solid #ddd; font-size: 12px; vertical-align: top;}
5
.details {border-bottom: 1px solid #ddd; color: #444; margin-bottom: 2px;}
6
- .details a { display: none; }
7
h3 { font-size: 1.1em; margin: 2px 0 5px;}
8
p {margin: 2px 0; padding: 1px 0; line-height: 1.2; }
9
caption { font-size: 1.4em; padding: 3px 0; }
1
.my-calendar-header, h3 img, .mc-toggle, .mc_edit_links, #mc-export,.longdesc, .shortdesc , .mc-print, form { display: none; }
2
+ table { border: 1px solid #ddd; border-collapse: collapse; margin: 0 auto; width: 100%; }
3
th { text-align:center; background: #f6f6f6; border: 1px solid #ddd; width: 130px; text-transform:uppercase; }
4
+ td { border: 1px solid #ddd; font-size: 12px; vertical-align: top; width: 14.285%; }
5
.details {border-bottom: 1px solid #ddd; color: #444; margin-bottom: 2px;}
6
+ .details a, .details img { display: none; }
7
h3 { font-size: 1.1em; margin: 2px 0 5px;}
8
p {margin: 2px 0; padding: 1px 0; line-height: 1.2; }
9
caption { font-size: 1.4em; padding: 3px 0; }
css/mc-styles.css ADDED
@@ -0,0 +1,110 @@
1
+ #my-calendar legend {font-weight: 700;font-size: 1em}
2
+ .mcbuy, .mcsbuy {font-size: 1.1em; line-height: 1.5}
3
+ .mc-button { text-align: center; font-size: 1.4em; padding: 10px 0 0}
4
+ .mc-button a { padding: 3px 8px; border: 1px solid; border-radius: 5px; background: #fff}
5
+ .mcd { text-align: center; margin: 0; }
6
+ #cat_icon option {padding: 5px 0 5px 24px}
7
+ #my-calendar-admin-table .delete {color: #c00}
8
+ .import {background: #ffa;padding: 5px 10px;border: 1px solid #aaa;border-radius: 5px;margin: 15px 0}
9
+ .n4 {width: 42px}
10
+ .category-color {width: 1.2em;height: 1.2em;display: inline-block;border-radius: 3px;border: 1px solid #000}
11
+ .jd-my-calendar .postbox h3 {cursor: text}
12
+ .active-link {font-weight:700;text-decoration: underline}
13
+ ul.links li {float: left;margin: 0 5px 10px;font-size: .9em}
14
+ #toggle {height: 2em}
15
+ #toggle li {float: left;margin-right: 5px}
16
+ .jd-my-calendar .spam {background: #ffa}
17
+ .jd-my-calendar .pending { background: #eee}
18
+ .jd-my-calendar .pending td {color: #666}
19
+ .jd-my-calendar fieldset fieldset {margin: 0 0 20px 0;padding-top: 2px}
20
+ #mceditor {border: 1px solid #ddd;margin: 0 0 5px}
21
+ .mc_template_tags dt {font-weight: 700}
22
+ .mc_template_tags dd {margin-left: 0; padding: 2px 1px}
23
+ .mc_template_tags {clear: right}
24
+ .clonedInput {margin-bottom: 10px;border-bottom: 1px solid #ddd}
25
+ #my-calendar .apply {padding: 1px 5px 0;margin: 0 -5px;border-radius: 3px;box-shadow: 2px 2px 3px #aaa;background: #ffd}
26
+ #my-calendar .apply legend {background: #ffd;padding: 2px 0}
27
+ #my-calendar .apply .warning { background: #ffe; color: #a00; padding: 3px; border: 1px solid #333 }
28
+ #my-calendar .break ul {padding: 10px 10px 0;margin-right: 180px}
29
+ #my-calendar .two-columns {-moz-column-count: 2;-moz-column-gap: 30px;-webkit-column-count: 2;-webkit-column-gap: 30px;column-count: 2;column-gap: 30px}
30
+ .jd-my-calendar .event_image { float: right; margin-left: 10px; }
31
+ .jd-my-calendar .event_image img { width: 150px; height: auto; margin: 2px 0; border-radius: 3px; }
32
+ .mc_support {font-family:'Courier New';background:#fff;padding:5px}
33
+ .template-editor, .style-editor { width: 98%}
34
+ .jd-my-calendar .postbox { margin: 10px 10px 0 0}
35
+ .jd-my-calendar .postbox .inside { overflow: visible!important} /* some plugins change this, but I need it at WP default. */
36
+ .jd-my-calendar .meta-box-sortables { min-height: 0}
37
+ .jd-my-calendar textarea { width: 100%}
38
+ .mc-clear { clear: both }
39
+ .jd-my-calendar pre { background: #fff; padding: 5px; border: 1px solid #ddd; box-shadow: 1px 1px 2px #ddd}
40
+ .jd-my-calendar label span.required { font-size: .9em; color: #c33 }
41
+ .jd-my-calendar .default { background: #fff }
42
+ .jd-my-calendar .button-adjust { top: 10px; right: 0}
43
+ .jd-my-calendar hr { width: 20%; margin: 0 auto; border: none; border-top: 1px solid #ccc}
44
+ #mc-shortcodes li code, #mc-shortcodes .example code { font-size: 1.4em; line-height: 1.5; display: inline-block}
45
+ .jd-my-calendar .tablenav { float: right }
46
+ input[id=e_label], input[id=e_title], input[id=location_label], input[id=mc_twitter] { font-size: 1.4em; padding: 5px; width: 100%}
47
+ label[for=mc_twitter] { background: url(../images/twitter.png) no-repeat; padding-left: 20px; }
48
+ strong.label { font-weight: 400; }
49
+ #my-calendar-text label { display: inline-block; width: 12em; }
50
+ .wp-picker-container { position: relative; top: .7em; }
51
+ .jd-my-calendar .counter { padding-right: 6px; border-right: 16px solid green; border-radius: 20px; }
52
+ .jd-my-calendar .counter.warning { border-color: orange; }
53
+ .jd-my-calendar .counter.exceeded { border-color: red; }
54
+ .mc-categories th:nth-of-type(5), .mc-categories th:nth-of-type(6), .mc-categories th:nth-of-type(7) { width: 50px; }
55
+
56
+ .jcd-wide { width: 75%; }
57
+ .jcd-narrow { width: 20%; }
58
+
59
+ .mc-tabs .tabs { margin: 0!important; padding: 0 4px; position: relative; top: 1px; }
60
+ .mc-tabs .tabs li { display: inline; margin: 0 auto; line-height: 1; }
61
+ .mc-tabs .tabs a { display: inline-block; padding: 4px 8px; border-radius: 4px 4px 0 0; border: 1px solid #ccc; background: #f3f3f3; }
62
+ .mc-tabs .tabs a.active { border-bottom: 1px solid #fefefe; background: #fefefe; }
63
+ .mc-tabs .wptab { background: #fff; padding: 12px; margin-bottom: 10px; border: 1px solid #ccc; }
64
+
65
+ .jd-my-calendar .ui-accordion-header, .mc-settings-page #mc-sortable li { border: 1px solid #ccc; border-radius: 2px; background: rgba( 0,0,0,.05 ); padding: 1px 1em; margin: 1px 0; }
66
+ .jd-my-calendar .ui-accordion-header.ui-state-hover, .ui-accordion-header.ui-state-focus, .mc-settings-page #mc-sortable li:hover { background: #f6f6f6; box-shadow: 0 0 2px #ddd; }
67
+ #mc-sortable li { cursor: move; }
68
+ .jd-my-calendar .ui-accordion-header-active { background: #fff; }
69
+ #mc-sortable .mc-calendar { background: #ffc; border: 1px solid #cc8; }
70
+ #mc-sortable li.mc-stop { margin: 1px -1em; border-radius: none; border-left: none; border-right: none; padding: 2px 2em; }
71
+ #mc-sortable div.dashicons { vertical-align: middle; height: 1em; }
72
+ #mc-sortable code { display: inline-block; width: 5em; text-align: center; }
73
+
74
+ .jd-my-calendar .checkboxes { margin: 0; }
75
+ .jd-my-calendar .checkboxes li { display: inline-block; padding: 5px; background: rgba( 0, 0, 0, .05 ); margin: 2px; }
76
+ .jd-my-calendar .checkboxes li:hover { background: #fff; }
77
+
78
+ .mc-actions { float: left; vertical-align: middle; height: 30px; margin: 6px 0 4px; clear: left; }
79
+
80
+ .jd-my-calendar fieldset legend { font-weight: 700; padding: 0; font-size: 1.1em; }
81
+ .generator fieldset { border: 1px solid #ccc; margin: 10px 0; padding: 10px; }
82
+ .generator label { display: block; float: left; width: 30%; margin-right: 10px; }
83
+ .generator td input[type=text] { width: 100%; }
84
+ .generator td label { float: none; width: auto; display: inline; }
85
+ .generator .help, .generator .clear { clear: left; }
86
+ .generator input { line-height: normal; }
87
+ .generator input[type=text], .generator select { width: 60%; }
88
+ .req { color: red; }
89
+
90
+ .jd-my-calendar textarea:disabled { color: #333; border: none; box-shadow: none; }
91
+ .mc-locations label { display: block; }
92
+ .mc-locations .checkboxes label, .checkbox label { display: inline; }
93
+
94
+ .locations-container { position: relative; }
95
+ .mc-locations .location-primary { width: 47%; margin-right: 20px; }
96
+ .mc-locations:after { content: ' '; display: table; clear: both; }
97
+ .mc-locations .location-secondary { position: absolute; left: 50%; top: 0; width: 47%; }
98
+ .mc-locations .locations-container input { max-width: 90%; }
99
+
100
+ .mc-search { position: absolute; right: 12px; }
101
+
102
+ @media (max-width: 1140px) {
103
+ .mc-locations .locations-container input { max-width: 70%; }
104
+ }
105
+
106
+ @media (max-width: 782px) {
107
+ .jd-my-calendar .tablenav { float: none; }
108
+ .jcd-narrow { width: 100%; }
109
+ .jcd-wide { width: 100%; }
110
+ }
css/reset.css ADDED
@@ -0,0 +1,2 @@
1
+ .mc-main div,.mc-main span,.mc-main h1,.mc-main h2,.mc-main h3,.mc-main h4,.mc-main h5,.mc-main h6,.mc-main p,.mc-main blockquote,.mc-main pre,.mc-main a,.mc-main abbr,.mc-main acronym,.mc-main address,.mc-main big,.mc-main cite,.mc-main code,.mc-main del,.mc-main dfn,.mc-main font,.mc-main img,.mc-main ins,.mc-main kbd,.mc-main q,.mc-main s,.mc-main samp,.mc-main small,.mc-main strike,.mc-main sub,.mc-main sup,.mc-main tt,.mc-main var,.mc-main center,.mc-main dl,.mc-main dt,.mc-main dd,.mc-main ol,.mc-main ul,.mc-main li,.mc-main fieldset,.mc-main form,.mc-main label,.mc-main legend,.mc-main table,.mc-main caption,.mc-main tbody,.mc-main tfoot,.mc-main thead,.mc-main tr,.mc-main th,.mc-main td,.mc-main article,.mc-main aside,.mc-main audio,.mc-main canvas,.mc-main details,.mc-main figcaption,.mc-main figure,.mc-main footer,.mc-main header,.mc-main hgroup,.mc-main mark,.mc-main menu,.mc-main meter,.mc-main nav,.mc-main output,.mc-main progress,.mc-main section,.mc-main summary,.mc-main time,.mc-main video{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}body{line-height:1;}article,.mc-main aside,.mc-main dialog,.mc-main figure,.mc-main footer,.mc-main header,.mc-main hgroup,.mc-main nav,.mc-main section,.mc-main blockquote{display:block;}nav ul{list-style:none;}ol{list-style:decimal;}ul{list-style:disc;}ul ul{list-style:circle;}blockquote,.mc-main q{quotes:none;}blockquote:before,.mc-main blockquote:after,.mc-main q:before,.mc-main q:after{content:none;}ins{text-decoration:underline;}del{text-decoration:line-through;}mark{background:none;}abbr[title],.mc-main dfn[title]{border-bottom:1px dotted #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input[type=submit],.mc-main input[type=button],.mc-main button{margin:0!important;padding:0!important;}input,.mc-main select,.mc-main a img{vertical-align:middle;}.mc-main *, .mc-main *:before, .mc-main *:after {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}.mc-main .screen-reader-text { clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); overflow: hidden;
2
+ position: absolute; max-height:1px; }
images/event-details.jpg DELETED
Binary file
images/event-details.png DELETED
Binary file
images/guide.png DELETED
Binary file
images/ical.png DELETED
Binary file
{icons → images/icons}/32x32/applications-toys.png RENAMED
File without changes
{icons → images/icons}/32x32/appointment.png RENAMED
File without changes
{icons → images/icons}/32x32/art.png RENAMED
File without changes
{icons → images/icons}/32x32/ball.png RENAMED
File without changes
{icons → images/icons}/32x32/call.png RENAMED
File without changes
{icons → images/icons}/32x32/concert.png RENAMED
File without changes
{icons → images/icons}/32x32/crafts.png RENAMED
File without changes
{icons → images/icons}/32x32/event-2.png RENAMED
File without changes
{icons → images/icons}/32x32/event.png RENAMED
File without changes
{icons → images/icons}/32x32/games.png RENAMED
File without changes
{icons → images/icons}/32x32/globe.png RENAMED
File without changes
{icons → images/icons}/32x32/meeting.png RENAMED
File without changes
{icons → images/icons}/32x32/movies.png RENAMED
File without changes
{icons → images/icons}/32x32/party.png RENAMED
File without changes
{icons → images/icons}/32x32/pi.png RENAMED
File without changes
{icons → images/icons}/32x32/rehearsal.png RENAMED
File without changes
{icons → images/icons}/32x32/school.png RENAMED
File without changes
{icons → images/icons}/32x32/shop.png RENAMED
File without changes
{icons → images/icons}/32x32/star.png RENAMED
File without changes
{icons → images/icons}/32x32/tickets.png RENAMED
File without changes
{icons → images/icons}/appointment.png RENAMED
File without changes
{icons → images/icons}/art.png RENAMED
File without changes
{icons → images/icons}/ball.png RENAMED
File without changes
{icons → images/icons}/call.png RENAMED
File without changes
{icons → images/icons}/concert.png RENAMED
File without changes
{icons → images/icons}/crafts.png RENAMED
File without changes
{icons → images/icons}/event-2.png RENAMED
File without changes
{icons → images/icons}/event.png RENAMED
File without changes
{icons → images/icons}/games.png RENAMED
File without changes
{icons → images/icons}/globe.png RENAMED
File without changes
{icons → images/icons}/meeting.png RENAMED
File without changes
{icons → images/icons}/movies.png RENAMED
File without changes
{icons → images/icons}/party.png RENAMED
File without changes
{icons → images/icons}/pi.png RENAMED
File without changes
{icons → images/icons}/rehearsal.png RENAMED
File without changes
{icons → images/icons}/school.png RENAMED
File without changes
{icons → images/icons}/shop.png RENAMED
File without changes
{icons → images/icons}/star.png RENAMED
File without changes
{icons → images/icons}/tickets.png RENAMED
File without changes
images/submissions.png DELETED
Binary file
date-utilities.php → includes/date-utilities.php RENAMED
File without changes
js/calendrical.css DELETED
@@ -1,28 +0,0 @@
1
- #event_begin, #event_time, #event_end, #event_endtime {position: relative}
2
- .calendricalDatePopup {background: #fff;border: 1px solid #bbb;padding: 3px;text-align: center; border-radius: 0 0 5px 5px; z-index: 5;box-shadow: 1px 1px 2px #aaa}
3
- .calendricalDatePopup table {border-collapse: collapse; margin: 0 auto}
4
- .calendricalDatePopup td { border: 1px solid #eee}
5
- .calendricalDatePopup table .monthCell {padding: 0 0 6px; font-size: 1.2em; font-weight: 400; line-height: 1; }
6
- .calendricalDatePopup table .monthCell:nth-of-type(1) { text-align: right; }
7
- .calendricalDatePopup table .monthCell:nth-of-type(2) { text-align: center; }
8
- .calendricalDatePopup table .monthCell:nth-of-type(3) { text-align: left; }
9
- .calendricalDatePopup table .monthCell a {display: block;}
10
- .calendricalDatePopup table .monthCell .monthName { background: #eee; width: 100%; padding: 2px; }
11
- .calendricalDatePopup table .monthCell .prevMonth, .calendricalDatePopup table .monthCell .nextMonth { color: #fff; background: #777; display: block; line-height: 1; padding: 2px 8px; }
12
- .calendricalDatePopup table .monthCell .prevMonth:hover, .calendricalDatePopup table .monthCell .nextMonth:hover, .calendricalDatePopup table .monthCell .prevMonth:focus, .calendricalDatePopup table .monthCell .nextMonth:focus { background: #000; }
13
- .calendricalDatePopup table .monthCell .prevMonth { border-radius: 16px 0 0 16px; }
14
- .calendricalDatePopup table .monthCell .nextMonth { border-radius: 0 16px 16px 0; }
15
- .calendricalDatePopup table a {text-decoration: none}
16
- .calendricalDatePopup table td {text-align: center;padding: 0; }
17
- .calendricalDatePopup table a {display: block; padding: 6px 8px; line-height: 1; }
18
- .calendricalDatePopup table a:hover, .calendricalDatePopup table a:focus {background: #eee;border: none; text-decoration: underline}
19
- .calendricalDatePopup table td.today a {background: #ffc}
20
- .calendricalDatePopup table td.selected a {background: #eef}
21
- .calendricalDatePopup table td.today_selected a {background: #ffc;}
22
- .calendricalDatePopup table td.nonMonth a {color: #555; background: #f9f9f9; }
23
- .calendricalTimePopup {background: #fff;border: 1px solid #bbb;width: 110px;height: 170px;overflow: auto;z-index: 5;box-shadow: 1px 1px 2px #aaa}
24
- .calendricalTimePopup ul {margin: 0;padding: 0}
25
- .calendricalTimePopup ul li {list-style: none;margin: 0}
26
- .calendricalTimePopup ul li a, .calendricalTimePopup ul li a:visited {text-indent: 10px;padding: 4px;display: block;color: black;text-decoration: none}
27
- .calendricalTimePopup ul li a:hover, .calendricalTimePopup ul li a:focus, .calendricalTimePopup ul li.selected a {background: #ccf}
28
- .calendricalEndTimePopup {width: 160px}
js/gmap3.min.js ADDED
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * GMAP3 Plugin for JQuery
3
+ * Version : 5.1.1
4
+ * Date : 2013-05-25
5
+ * Licence : GPL v3 : http://www.gnu.org/licenses/gpl.html
6
+ * Author : DEMONTE Jean-Baptiste
7
+ * Contact : jbdemonte@gmail.com
8
+ * Web site : http://gmap3.net
9
+ */
10
+ (function(y,t){var z,i=0;function J(){if(!z){z={verbose:false,queryLimit:{attempt:5,delay:250,random:250},classes:{Map:google.maps.Map,Marker:google.maps.Marker,InfoWindow:google.maps.InfoWindow,Circle:google.maps.Circle,Rectangle:google.maps.Rectangle,OverlayView:google.maps.OverlayView,StreetViewPanorama:google.maps.StreetViewPanorama,KmlLayer:google.maps.KmlLayer,TrafficLayer:google.maps.TrafficLayer,BicyclingLayer:google.maps.BicyclingLayer,GroundOverlay:google.maps.GroundOverlay,StyledMapType:google.maps.StyledMapType,ImageMapType:google.maps.ImageMapType},map:{mapTypeId:google.maps.MapTypeId.ROADMAP,center:[46.578498,2.457275],zoom:2},overlay:{pane:"floatPane",content:"",offset:{x:0,y:0}},geoloc:{getCurrentPosition:{maximumAge:60000,timeout:5000}}}}}function k(M,L){return M!==t?M:"gmap3_"+(L?i+1:++i)}function d(L){var O=function(P){return parseInt(P,10)},N=google.maps.version.split(".").map(O),M;L=L.split(".").map(O);for(M=0;M<L.length;M++){if(N.hasOwnProperty(M)){if(N[M]<L[M]){return false}}else{return false}}return true}function n(P,L,N,Q,O){if(L.todo.events||L.todo.onces){var M={id:Q,data:L.todo.data,tag:L.todo.tag};if(L.todo.events){y.each(L.todo.events,function(R,U){var T=P,S=U;if(y.isArray(U)){T=U[0];S=U[1]}google.maps.event.addListener(N,R,function(V){S.apply(T,[O?O:N,V,M])})})}if(L.todo.onces){y.each(L.todo.onces,function(R,U){var T=P,S=U;if(y.isArray(U)){T=U[0];S=U[1]}google.maps.event.addListenerOnce(N,R,function(V){S.apply(T,[O?O:N,V,M])})})}}}function l(){var L=[];this.empty=function(){return !L.length};this.add=function(M){L.push(M)};this.get=function(){return L.length?L[0]:false};this.ack=function(){L.shift()}}function w(T,L,N){var R={},P=this,Q,S={latLng:{map:false,marker:false,infowindow:false,circle:false,overlay:false,getlatlng:false,getmaxzoom:false,getelevation:false,streetviewpanorama:false,getaddress:true},geoloc:{getgeoloc:true}};if(typeof N==="string"){N=M(N)}function M(V){var U={};U[V]={};return U}function O(){var U;for(U in N){if(U in R){continue}return U}}this.run=function(){var U,V;while(U=O()){if(typeof T[U]==="function"){Q=U;V=y.extend(true,{},z[U]||{},N[U].options||{});if(U in S.latLng){if(N[U].values){x(N[U].values,T,T[U],{todo:N[U],opts:V,session:R})}else{v(T,T[U],S.latLng[U],{todo:N[U],opts:V,session:R})}}else{if(U in S.geoloc){o(T,T[U],{todo:N[U],opts:V,session:R})}else{T[U].apply(T,[{todo:N[U],opts:V,session:R}])}}return}else{R[U]=null}}L.apply(T,[N,R])};this.ack=function(U){R[Q]=U;P.run.apply(P,[])}}function c(N){var L,M=[];for(L in N){M.push(L)}return M}function b(N,Q){var L={};if(N.todo){for(var M in N.todo){if((M!=="options")&&(M!=="values")){L[M]=N.todo[M]}}}var O,P=["data","tag","id","events","onces"];for(O=0;O<P.length;O++){A(L,P[O],Q,N.todo)}L.options=y.extend({},N.opts||{},Q.options||{});return L}function A(N,M){for(var L=2;L<arguments.length;L++){if(M in arguments[L]){N[M]=arguments[L][M];return}}}function r(){var L=[];this.get=function(S){if(L.length){var P,O,N,R,M,Q=c(S);for(P=0;P<L.length;P++){R=L[P];M=Q.length==R.keys.length;for(O=0;(O<Q.length)&&M;O++){N=Q[O];M=N in R.request;if(M){if((typeof S[N]==="object")&&("equals" in S[N])&&(typeof S[N]==="function")){M=S[N].equals(R.request[N])}else{M=S[N]===R.request[N]}}}if(M){return R.results}}}};this.store=function(N,M){L.push({request:N,keys:c(N),results:M})}}function e(Q,P,O,L){var N=this,M=[];z.classes.OverlayView.call(this);this.setMap(Q);this.onAdd=function(){var R=this.getPanes();if(P.pane in R){y(R[P.pane]).append(L)}y.each("dblclick click mouseover mousemove mouseout mouseup mousedown".split(" "),function(T,S){M.push(google.maps.event.addDomListener(L[0],S,function(U){y.Event(U).stopPropagation();google.maps.event.trigger(N,S,[U]);N.draw()}))});M.push(google.maps.event.addDomListener(L[0],"contextmenu",function(S){y.Event(S).stopPropagation();google.maps.event.trigger(N,"rightclick",[S]);N.draw()}))};this.getPosition=function(){return O};this.draw=function(){var R=this.getProjection().fromLatLngToDivPixel(O);L.css("left",(R.x+P.offset.x)+"px").css("top",(R.y+P.offset.y)+"px")};this.onRemove=function(){for(var R=0;R<M.length;R++){google.maps.event.removeListener(M[R])}L.remove()};this.hide=function(){L.hide()};this.show=function(){L.show()};this.toggle=function(){if(L){if(L.is(":visible")){this.show()}else{this.hide()}}};this.toggleDOM=function(){if(this.getMap()){this.setMap(null)}else{this.setMap(Q)}};this.getDOMElement=function(){return L[0]}}function f(O,L){function M(){this.onAdd=function(){};this.onRemove=function(){};this.draw=function(){};return z.classes.OverlayView.apply(this,[])}M.prototype=z.classes.OverlayView.prototype;var N=new M();N.setMap(O);return N}function F(ae,ao,aa){var an=false,ai=false,af=false,Z=false,W=true,V=this,N=[],T={},ad={},U={},aj=[],ah=[],O=[],ak=f(ao,aa.radius),Y,ap,am,P,Q;S();function L(aq){if(!aj[aq]){delete ah[aq].options.map;aj[aq]=new z.classes.Marker(ah[aq].options);n(ae,{todo:ah[aq]},aj[aq],ah[aq].id)}}this.getById=function(aq){if(aq in ad){L(ad[aq]);return aj[ad[aq]]}return false};this.rm=function(ar){var aq=ad[ar];if(aj[aq]){aj[aq].setMap(null)}delete aj[aq];aj[aq]=false;delete ah[aq];ah[aq]=false;delete O[aq];O[aq]=false;delete ad[ar];delete U[aq];ai=true};this.clearById=function(aq){if(aq in ad){this.rm(aq);return true}};this.clear=function(az,av,aA){var ar,ay,at,aw,au,ax=[],aq=C(aA);if(az){ar=ah.length-1;ay=-1;at=-1}else{ar=0;ay=ah.length;at=1}for(aw=ar;aw!=ay;aw+=at){if(ah[aw]){if(!aq||aq(ah[aw].tag)){ax.push(U[aw]);if(av||az){break}}}}for(au=0;au<ax.length;au++){this.rm(ax[au])}};this.add=function(aq,ar){aq.id=k(aq.id);this.clearById(aq.id);ad[aq.id]=aj.length;U[aj.length]=aq.id;aj.push(null);ah.push(aq);O.push(ar);ai=true};this.addMarker=function(ar,aq){aq=aq||{};aq.id=k(aq.id);this.clearById(aq.id);if(!aq.options){aq.options={}}aq.options.position=ar.getPosition();n(ae,{todo:aq},ar,aq.id);ad[aq.id]=aj.length;U[aj.length]=aq.id;aj.push(ar);ah.push(aq);O.push(aq.data||{});ai=true};this.todo=function(aq){return ah[aq]};this.value=function(aq){return O[aq]};this.marker=function(aq){if(aq in aj){L(aq);return aj[aq]}return false};this.markerIsSet=function(aq){return Boolean(aj[aq])};this.setMarker=function(ar,aq){aj[ar]=aq};this.store=function(aq,ar,at){T[aq.ref]={obj:ar,shadow:at}};this.free=function(){for(var aq=0;aq<N.length;aq++){google.maps.event.removeListener(N[aq])}N=[];y.each(T,function(ar){ac(ar)});T={};y.each(ah,function(ar){ah[ar]=null});ah=[];y.each(aj,function(ar){if(aj[ar]){aj[ar].setMap(null);delete aj[ar]}});aj=[];y.each(O,function(ar){delete O[ar]});O=[];ad={};U={}};this.filter=function(aq){am=aq;ag()};this.enable=function(aq){if(W!=aq){W=aq;ag()}};this.display=function(aq){P=aq};this.error=function(aq){Q=aq};this.beginUpdate=function(){an=true};this.endUpdate=function(){an=false;if(ai){ag()}};this.autofit=function(ar){for(var aq=0;aq<ah.length;aq++){if(ah[aq]){ar.extend(ah[aq].options.position)}}};function S(){ap=ak.getProjection();if(!ap){setTimeout(function(){S.apply(V,[])},25);return}Z=true;N.push(google.maps.event.addListener(ao,"zoom_changed",function(){al()}));N.push(google.maps.event.addListener(ao,"bounds_changed",function(){al()}));ag()}function ac(aq){if(typeof T[aq]==="object"){if(typeof(T[aq].obj.setMap)==="function"){T[aq].obj.setMap(null)}if(typeof(T[aq].obj.remove)==="function"){T[aq].obj.remove()}if(typeof(T[aq].shadow.remove)==="function"){T[aq].obj.remove()}if(typeof(T[aq].shadow.setMap)==="function"){T[aq].shadow.setMap(null)}delete T[aq].obj;delete T[aq].shadow}else{if(aj[aq]){aj[aq].setMap(null)}}delete T[aq]}function M(){var ay,ax,aw,au,av,at,ar,aq;if(arguments[0] instanceof google.maps.LatLng){ay=arguments[0].lat();aw=arguments[0].lng();if(arguments[1] instanceof google.maps.LatLng){ax=arguments[1].lat();au=arguments[1].lng()}else{ax=arguments[1];au=arguments[2]}}else{ay=arguments[0];aw=arguments[1];if(arguments[2] instanceof google.maps.LatLng){ax=arguments[2].lat();au=arguments[2].lng()}else{ax=arguments[2];au=arguments[3]}}av=Math.PI*ay/180;at=Math.PI*aw/180;ar=Math.PI*ax/180;aq=Math.PI*au/180;return 1000*6371*Math.acos(Math.min(Math.cos(av)*Math.cos(ar)*Math.cos(at)*Math.cos(aq)+Math.cos(av)*Math.sin(at)*Math.cos(ar)*Math.sin(aq)+Math.sin(av)*Math.sin(ar),1))}function R(){var aq=M(ao.getCenter(),ao.getBounds().getNorthEast()),ar=new google.maps.Circle({center:ao.getCenter(),radius:1.25*aq});return ar.getBounds()}function X(){var ar={},aq;for(aq in T){ar[aq]=true}return ar}function al(){clearTimeout(Y);Y=setTimeout(function(){ag()},25)}function ab(ar){var au=ap.fromLatLngToDivPixel(ar),at=ap.fromDivPixelToLatLng(new google.maps.Point(au.x+aa.radius,au.y-aa.radius)),aq=ap.fromDivPixelToLatLng(new google.maps.Point(au.x-aa.radius,au.y+aa.radius));return new google.maps.LatLngBounds(aq,at)}function ag(){if(an||af||!Z){return}var aE=[],aG={},aF=ao.getZoom(),aH=("maxZoom" in aa)&&(aF>aa.maxZoom),aw=X(),av,au,at,aA,ar=false,aq,aD,ay,az,aB,aC,ax;ai=false;if(aF>3){aq=R();ar=aq.getSouthWest().lng()<aq.getNorthEast().lng()}for(av=0;av<ah.length;av++){if(ah[av]&&(!ar||aq.contains(ah[av].options.position))&&(!am||am(O[av]))){aE.push(av)}}while(1){av=0;while(aG[av]&&(av<aE.length)){av++}if(av==aE.length){break}aA=[];if(W&&!aH){ax=10;do{az=aA;aA=[];ax--;if(az.length){ay=aq.getCenter()}else{ay=ah[aE[av]].options.position}aq=ab(ay);for(au=av;au<aE.length;au++){if(aG[au]){continue}if(aq.contains(ah[aE[au]].options.position)){aA.push(au)}}}while((az.length<aA.length)&&(aA.length>1)&&ax)}else{for(au=av;au<aE.length;au++){if(aG[au]){continue}aA.push(au);break}}aD={indexes:[],ref:[]};aB=aC=0;for(at=0;at<aA.length;at++){aG[aA[at]]=true;aD.indexes.push(aE[aA[at]]);aD.ref.push(aE[aA[at]]);aB+=ah[aE[aA[at]]].options.position.lat();aC+=ah[aE[aA[at]]].options.position.lng()}aB/=aA.length;aC/=aA.length;aD.latLng=new google.maps.LatLng(aB,aC);aD.ref=aD.ref.join("-");if(aD.ref in aw){delete aw[aD.ref]}else{if(aA.length===1){T[aD.ref]=true}P(aD)}}y.each(aw,function(aI){ac(aI)});af=false}}function a(M,L){this.id=function(){return M};this.filter=function(N){L.filter(N)};this.enable=function(){L.enable(true)};this.disable=function(){L.enable(false)};this.add=function(O,N,P){if(!P){L.beginUpdate()}L.addMarker(O,N);if(!P){L.endUpdate()}};this.getById=function(N){return L.getById(N)};this.clearById=function(P,O){var N;if(!O){L.beginUpdate()}N=L.clearById(P);if(!O){L.endUpdate()}return N};this.clear=function(P,Q,N,O){if(!O){L.beginUpdate()}L.clear(P,Q,N);if(!O){L.endUpdate()}}}function D(){var M={},N={};function L(P){return{id:P.id,name:P.name,object:P.obj,tag:P.tag,data:P.data}}this.add=function(R,Q,T,S){var P=R.todo||{},U=k(P.id);if(!M[Q]){M[Q]=[]}if(U in N){this.clearById(U)}N[U]={obj:T,sub:S,name:Q,id:U,tag:P.tag,data:P.data};M[Q].push(U);return U};this.getById=function(R,Q,P){if(R in N){if(Q){return N[R].sub}else{if(P){return L(N[R])}}return N[R].obj}return false};this.get=function(R,T,P,S){var V,U,Q=C(P);if(!M[R]||!M[R].length){return null}V=M[R].length;while(V){V--;U=M[R][T?V:M[R].length-V-1];if(U&&N[U]){if(Q&&!Q(N[U].tag)){continue}return S?L(N[U]):N[U].obj}}return null};this.all=function(S,Q,T){var P=[],R=C(Q),U=function(X){var V,W;for(V=0;V<M[X].length;V++){W=M[X][V];if(W&&N[W]){if(R&&!R(N[W].tag)){continue}P.push(T?L(N[W]):N[W].obj)}}};if(S in M){U(S)}else{if(S===t){for(S in M){U(S)}}}return P};function O(P){if(typeof(P.setMap)==="function"){P.setMap(null)}if(typeof(P.remove)==="function"){P.remove()}if(typeof(P.free)==="function"){P.free()}P=null}this.rm=function(S,Q,R){var P,T;if(!M[S]){return false}if(Q){if(R){for(P=M[S].length-1;P>=0;P--){T=M[S][P];if(Q(N[T].tag)){break}}}else{for(P=0;P<M[S].length;P++){T=M[S][P];if(Q(N[T].tag)){break}}}}else{P=R?M[S].length-1:0}if(!(P in M[S])){return false}return this.clearById(M[S][P],P)};this.clearById=function(S,P){if(S in N){var R,Q=N[S].name;for(R=0;P===t&&R<M[Q].length;R++){if(S===M[Q][R]){P=R}}O(N[S].obj);if(N[S].sub){O(N[S].sub)}delete N[S];M[Q].splice(P,1);return true}return false};this.objGetById=function(R){var Q;if(M.clusterer){for(var P in M.clusterer){if((Q=N[M.clusterer[P]].obj.getById(R))!==false){return Q}}}return false};this.objClearById=function(Q){if(M.clusterer){for(var P in M.clusterer){if(N[M.clusterer[P]].obj.clearById(Q)){return true}}}return null};this.clear=function(V,U,W,P){var R,T,S,Q=C(P);if(!V||!V.length){V=[];for(R in M){V.push(R)}}else{V=g(V)}for(T=0;T<V.length;T++){S=V[T];if(U){this.rm(S,Q,true)}else{if(W){this.rm(S,Q,false)}else{while(this.rm(S,Q,false)){}}}}};this.objClear=function(S,R,T,Q){if(M.clusterer&&(y.inArray("marker",S)>=0||!S.length)){for(var P in M.clusterer){N[M.clusterer[P]].obj.clear(R,T,Q)}}}}var m={},H=new r();function p(){if(!m.geocoder){m.geocoder=new google.maps.Geocoder()}return m.geocoder}function G(){if(!m.directionsService){m.directionsService=new google.maps.DirectionsService()}return m.directionsService}function h(){if(!m.elevationService){m.elevationService=new google.maps.ElevationService()}return m.elevationService}function q(){if(!m.maxZoomService){m.maxZoomService=new google.maps.MaxZoomService()}return m.maxZoomService}function B(){if(!m.distanceMatrixService){m.distanceMatrixService=new google.maps.DistanceMatrixService()}return m.distanceMatrixService}function u(){if(z.verbose){var L,M=[];if(window.console&&(typeof console.error==="function")){for(L=0;L<arguments.length;L++){M.push(arguments[L])}console.error.apply(console,M)}else{M="";for(L=0;L<arguments.length;L++){M+=arguments[L].toString()+" "}alert(M)}}}function E(L){return(typeof(L)==="number"||typeof(L)==="string")&&L!==""&&!isNaN(L)}function g(N){var M,L=[];if(N!==t){if(typeof(N)==="object"){if(typeof(N.length)==="number"){L=N}else{for(M in N){L.push(N[M])}}}else{L.push(N)}}return L}function C(L){if(L){if(typeof L==="function"){return L}L=g(L);return function(N){if(N===t){return false}if(typeof N==="object"){for(var M=0;M<N.length;M++){if(y.inArray(N[M],L)>=0){return true}}return false}return y.inArray(N,L)>=0}}}function I(M,O,L){var N=O?M:null;if(!M||(typeof M==="string")){return N}if(M.latLng){return I(M.latLng)}if(M instanceof google.maps.LatLng){return M}else{if(E(M.lat)){return new google.maps.LatLng(M.lat,M.lng)}else{if(!L&&y.isArray(M)){if(!E(M[0])||!E(M[1])){return N}return new google.maps.LatLng(M[0],M[1])}}}return N}function j(M){var N,L;if(!M||M instanceof google.maps.LatLngBounds){return M||null}if(y.isArray(M)){if(M.length==2){N=I(M[0]);L=I(M[1])}else{if(M.length==4){N=I([M[0],M[1]]);L=I([M[2],M[3]])}}}else{if(("ne" in M)&&("sw" in M)){N=I(M.ne);L=I(M.sw)}else{if(("n" in M)&&("e" in M)&&("s" in M)&&("w" in M)){N=I([M.n,M.e]);L=I([M.s,M.w])}}}if(N&&L){return new google.maps.LatLngBounds(L,N)}return null}function v(T,L,O,S,P){var N=O?I(S.todo,false,true):false,R=N?{latLng:N}:(S.todo.address?(typeof(S.todo.address)==="string"?{address:S.todo.address}:S.todo.address):false),M=R?H.get(R):false,Q=this;if(R){P=P||0;if(M){S.latLng=M.results[0].geometry.location;S.results=M.results;S.status=M.status;L.apply(T,[S])}else{if(R.location){R.location=I(R.location)}if(R.bounds){R.bounds=j(R.bounds)}p().geocode(R,function(V,U){if(U===google.maps.GeocoderStatus.OK){H.store(R,{results:V,status:U});S.latLng=V[0].geometry.location;S.results=V;S.status=U;L.apply(T,[S])}else{if((U===google.maps.GeocoderStatus.OVER_QUERY_LIMIT)&&(P<z.queryLimit.attempt)){setTimeout(function(){v.apply(Q,[T,L,O,S,P+1])},z.queryLimit.delay+Math.floor(Math.random()*z.queryLimit.random))}else{u("geocode failed",U,R);S.latLng=S.results=false;S.status=U;L.apply(T,[S])}}})}}else{S.latLng=I(S.todo,false,true);L.apply(T,[S])}}function x(Q,L,R,M){var O=this,N=-1;function P(){do{N++}while((N<Q.length)&&!("address" in Q[N]));if(N>=Q.length){R.apply(L,[M]);return}v(O,function(S){delete S.todo;y.extend(Q[N],S);P.apply(O,[])},true,{todo:Q[N]})}P()}function o(L,O,M){var N=false;if(navigator&&navigator.geolocation){navigator.geolocation.getCurrentPosition(function(P){if(N){return}N=true;M.latLng=new google.maps.LatLng(P.coords.latitude,P.coords.longitude);O.apply(L,[M])},function(){if(N){return}N=true;M.latLng=false;O.apply(L,[M])},M.opts.getCurrentPosition)}else{M.latLng=false;O.apply(L,[M])}}function K(T){var S=this,U=new l(),V=new D(),N=null,P;this._plan=function(Z){for(var Y=0;Y<Z.length;Y++){U.add(new w(S,R,Z[Y]))}Q()};function Q(){if(!P&&(P=U.get())){P.run()}}function R(){P=null;U.ack();Q.call(S)}function X(Y){if(Y.todo.callback){var Z=Array.prototype.slice.call(arguments,1);if(typeof Y.todo.callback==="function"){Y.todo.callback.apply(T,Z)}else{if(y.isArray(Y.todo.callback)){if(typeof Y.todo.callback[1]==="function"){Y.todo.callback[1].apply(Y.todo.callback[0],Z)}}}}}function O(Y,Z,aa){if(aa){n(T,Y,Z,aa)}X(Y,Z);P.ack(Z)}function L(aa,Y){Y=Y||{};if(N){if(Y.todo&&Y.todo.options){if(Y.todo.options.center){Y.todo.options.center=I(Y.todo.options.center)}N.setOptions(Y.todo.options)}}else{var Z=Y.opts||y.extend(true,{},z.map,Y.todo&&Y.todo.options?Y.todo.options:{});Z.center=aa||I(Z.center);N=new z.classes.Map(T.get(0),Z)}}this.map=function(Y){L(Y.latLng,Y);n(T,Y,N);O(Y,N)};this.destroy=function(Y){V.clear();T.empty();if(N){N=null}O(Y,true)};this.infowindow=function(Z){var aa=[],Y="values" in Z.todo;if(!Y){if(Z.latLng){Z.opts.position=Z.latLng}Z.todo.values=[{options:Z.opts}]}y.each(Z.todo.values,function(ac,ad){var af,ae,ab=b(Z,ad);ab.options.position=ab.options.position?I(ab.options.position):I(ad.latLng);if(!N){L(ab.options.position)}ae=new z.classes.InfoWindow(ab.options);if(ae&&((ab.open===t)||ab.open)){if(Y){ae.open(N,ab.anchor?ab.anchor:t)}else{ae.open(N,ab.anchor?ab.anchor:(Z.latLng?t:(Z.session.marker?Z.session.marker:t)))}}aa.push(ae);af=V.add({todo:ab},"infowindow",ae);n(T,{todo:ab},ae,af)});O(Z,Y?aa:aa[0])};this.circle=function(Z){var aa=[],Y="values" in Z.todo;if(!Y){Z.opts.center=Z.latLng||I(Z.opts.center);Z.todo.values=[{options:Z.opts}]}if(!Z.todo.values.length){O(Z,false);return}y.each(Z.todo.values,function(ac,ad){var af,ae,ab=b(Z,ad);ab.options.center=ab.options.center?I(ab.options.center):I(ad);if(!N){L(ab.options.center)}ab.options.map=N;ae=new z.classes.Circle(ab.options);aa.push(ae);af=V.add({todo:ab},"circle",ae);n(T,{todo:ab},ae,af)});O(Z,Y?aa:aa[0])};this.overlay=function(aa,Z){var ab=[],Y="values" in aa.todo;if(!Y){aa.todo.values=[{latLng:aa.latLng,options:aa.opts}]}if(!aa.todo.values.length){O(aa,false);return}if(!e.__initialised){e.prototype=new z.classes.OverlayView();e.__initialised=true}y.each(aa.todo.values,function(ae,af){var ah,ag,ac=b(aa,af),ad=y(document.createElement("div")).css({border:"none",borderWidth:"0px",position:"absolute"});ad.append(ac.options.content);ag=new e(N,ac.options,I(ac)||I(af),ad);ab.push(ag);ad=null;if(!Z){ah=V.add(aa,"overlay",ag);n(T,{todo:ac},ag,ah)}});if(Z){return ab[0]}O(aa,Y?ab:ab[0])};this.getaddress=function(Y){X(Y,Y.results,Y.status);P.ack()};this.getlatlng=function(Y){X(Y,Y.results,Y.status);P.ack()};this.getmaxzoom=function(Y){q().getMaxZoomAtLatLng(Y.latLng,function(Z){X(Y,Z.status===google.maps.MaxZoomStatus.OK?Z.zoom:false,status);P.ack()})};this.getelevation=function(Z){var aa,Y=[],ab=function(ad,ac){X(Z,ac===google.maps.ElevationStatus.OK?ad:false,ac);P.ack()};if(Z.latLng){Y.push(Z.latLng)}else{Y=g(Z.todo.locations||[]);for(aa=0;aa<Y.length;aa++){Y[aa]=I(Y[aa])}}if(Y.length){h().getElevationForLocations({locations:Y},ab)}else{if(Z.todo.path&&Z.todo.path.length){for(aa=0;aa<Z.todo.path.length;aa++){Y.push(I(Z.todo.path[aa]))}}if(Y.length){h().getElevationAlongPath({path:Y,samples:Z.todo.samples},ab)}else{P.ack()}}};this.defaults=function(Y){y.each(Y.todo,function(Z,aa){if(typeof z[Z]==="object"){z[Z]=y.extend({},z[Z],aa)}else{z[Z]=aa}});P.ack(true)};this.rectangle=function(Z){var aa=[],Y="values" in Z.todo;if(!Y){Z.todo.values=[{options:Z.opts}]}if(!Z.todo.values.length){O(Z,false);return}y.each(Z.todo.values,function(ac,ad){var af,ae,ab=b(Z,ad);ab.options.bounds=ab.options.bounds?j(ab.options.bounds):j(ad);if(!N){L(ab.options.bounds.getCenter())}ab.options.map=N;ae=new z.classes.Rectangle(ab.options);aa.push(ae);af=V.add({todo:ab},"rectangle",ae);n(T,{todo:ab},ae,af)});O(Z,Y?aa:aa[0])};function M(Z,aa,ab){var ac=[],Y="values" in Z.todo;if(!Y){Z.todo.values=[{options:Z.opts}]}if(!Z.todo.values.length){O(Z,false);return}L();y.each(Z.todo.values,function(af,ah){var aj,ag,ae,ai,ad=b(Z,ah);if(ad.options[ab]){if(ad.options[ab][0][0]&&y.isArray(ad.options[ab][0][0])){for(ag=0;ag<ad.options[ab].length;ag++){for(ae=0;ae<ad.options[ab][ag].length;ae++){ad.options[ab][ag][ae]=I(ad.options[ab][ag][ae])}}}else{for(ag=0;ag<ad.options[ab].length;ag++){ad.options[ab][ag]=I(ad.options[ab][ag])}}}ad.options.map=N;ai=new google.maps[aa](ad.options);ac.push(ai);aj=V.add({todo:ad},aa.toLowerCase(),ai);n(T,{todo:ad},ai,aj)});O(Z,Y?ac:ac[0])}this.polyline=function(Y){M(Y,"Polyline","path")};this.polygon=function(Y){M(Y,"Polygon","paths")};this.trafficlayer=function(Y){L();var Z=V.get("trafficlayer");if(!Z){Z=new z.classes.TrafficLayer();Z.setMap(N);V.add(Y,"trafficlayer",Z)}O(Y,Z)};this.bicyclinglayer=function(Y){L();var Z=V.get("bicyclinglayer");if(!Z){Z=new z.classes.BicyclingLayer();Z.setMap(N);V.add(Y,"bicyclinglayer",Z)}O(Y,Z)};this.groundoverlay=function(Y){Y.opts.bounds=j(Y.opts.bounds);if(Y.opts.bounds){L(Y.opts.bounds.getCenter())}var aa,Z=new z.classes.GroundOverlay(Y.opts.url,Y.opts.bounds,Y.opts.opts);Z.setMap(N);aa=V.add(Y,"groundoverlay",Z);O(Y,Z,aa)};this.streetviewpanorama=function(Y){if(!Y.opts.opts){Y.opts.opts={}}if(Y.latLng){Y.opts.opts.position=Y.latLng}else{if(Y.opts.opts.position){Y.opts.opts.position=I(Y.opts.opts.position)}}if(Y.todo.divId){Y.opts.container=document.getElementById(Y.todo.divId)}else{if(Y.opts.container){Y.opts.container=y(Y.opts.container).get(0)}}var aa,Z=new z.classes.StreetViewPanorama(Y.opts.container,Y.opts.opts);if(Z){N.setStreetView(Z)}aa=V.add(Y,"streetviewpanorama",Z);O(Y,Z,aa)};this.kmllayer=function(Z){var aa=[],Y="values" in Z.todo;if(!Y){Z.todo.values=[{options:Z.opts}]}if(!Z.todo.values.length){O(Z,false);return}y.each(Z.todo.values,function(ad,ae){var ag,af,ac,ab=b(Z,ae);if(!N){L()}ac=ab.options;if(ab.options.opts){ac=ab.options.opts;if(ab.options.url){ac.url=ab.options.url}}ac.map=N;if(d("3.10")){af=new z.classes.KmlLayer(ac)}else{af=new z.classes.KmlLayer(ac.url,ac)}aa.push(af);ag=V.add({todo:ab},"kmllayer",af);n(T,{todo:ab},af,ag)});O(Z,Y?aa:aa[0])};this.panel=function(ab){L();var ad,Y=0,ac=0,aa,Z=y(document.createElement("div"));Z.css({position:"absolute",zIndex:1000,visibility:"hidden"});if(ab.opts.content){aa=y(ab.opts.content);Z.append(aa);T.first().prepend(Z);if(ab.opts.left!==t){Y=ab.opts.left}else{if(ab.opts.right!==t){Y=T.width()-aa.width()-ab.opts.right}else{if(ab.opts.center){Y=(T.width()-aa.width())/2}}}if(ab.opts.top!==t){ac=ab.opts.top}else{if(ab.opts.bottom!==t){ac=T.height()-aa.height()-ab.opts.bottom}else{if(ab.opts.middle){ac=(T.height()-aa.height())/2}}}Z.css({top:ac,left:Y,visibility:"visible"})}ad=V.add(ab,"panel",Z);O(ab,Z,ad);Z=null};function W(aa){var af=new F(T,N,aa),Y={},ab={},ae=[],ad=/^[0-9]+#x2F;,ac,Z;for(Z in aa){if(ad.test(Z)){ae.push(1*Z);ab[Z]=aa[Z];ab[Z].width=ab[Z].width||0;ab[Z].height=ab[Z].height||0}else{Y[Z]=aa[Z]}}ae.sort(function(ah,ag){return ah>ag});if(Y.calculator){ac=function(ag){var ah=[];y.each(ag,function(aj,ai){ah.push(af.value(ai))});return Y.calculator.apply(T,[ah])}}else{ac=function(ag){return ag.length}}af.error(function(){u.apply(S,arguments)});af.display(function(ag){var ai,aj,am,ak,al,ah=ac(ag.indexes);if(aa.force||ah>1){for(ai=0;ai<ae.length;ai++){if(ae[ai]<=ah){aj=ab[ae[ai]]}}}if(aj){al=aj.offset||[-aj.width/2,-aj.height/2];am=y.extend({},Y);am.options=y.extend({pane:"overlayLayer",content:aj.content?aj.content.replace("CLUSTER_COUNT",ah):"",offset:{x:("x" in al?al.x:al[0])||0,y:("y" in al?al.y:al[1])||0}},Y.options||{});ak=S.overlay({todo:am,opts:am.options,latLng:I(ag)},true);am.options.pane="floatShadow";am.options.content=y(document.createElement("div")).width(aj.width+"px").height(aj.height+"px").css({cursor:"pointer"});shadow=S.overlay({todo:am,opts:am.options,latLng:I(ag)},true);Y.data={latLng:I(ag),markers:[]};y.each(ag.indexes,function(ao,an){Y.data.markers.push(af.value(an));if(af.markerIsSet(an)){af.marker(an).setMap(null)}});n(T,{todo:Y},shadow,t,{main:ak,shadow:shadow});af.store(ag,ak,shadow)}else{y.each(ag.indexes,function(ao,an){af.marker(an).setMap(N)})}});return af}this.marker=function(aa){var Y="values" in aa.todo,ad=!N;if(!Y){aa.opts.position=aa.latLng||I(aa.opts.position);aa.todo.values=[{options:aa.opts}]}if(!aa.todo.values.length){O(aa,false);return}if(ad){L()}if(aa.todo.cluster&&!N.getBounds()){google.maps.event.addListenerOnce(N,"bounds_changed",function(){S.marker.apply(S,[aa])});return}if(aa.todo.cluster){var Z,ab;if(aa.todo.cluster instanceof a){Z=aa.todo.cluster;ab=V.getById(Z.id(),true)}else{ab=W(aa.todo.cluster);Z=new a(k(aa.todo.id,true),ab);V.add(aa,"clusterer",Z,ab)}ab.beginUpdate();y.each(aa.todo.values,function(af,ag){var ae=b(aa,ag);ae.options.position=ae.options.position?I(ae.options.position):I(ag);ae.options.map=N;if(ad){N.setCenter(ae.options.position);ad=false}ab.add(ae,ag)});ab.endUpdate();O(aa,Z)}else{var ac=[];y.each(aa.todo.values,function(af,ag){var ai,ah,ae=b(aa,ag);ae.options.position=ae.options.position?I(ae.options.position):I(ag);ae.options.map=N;if(ad){N.setCenter(ae.options.position);ad=false}ah=new z.classes.Marker(ae.options);ac.push(ah);ai=V.add({todo:ae},"marker",ah);n(T,{todo:ae},ah,ai)});O(aa,Y?ac:ac[0])}};this.getroute=function(Y){Y.opts.origin=I(Y.opts.origin,true);Y.opts.destination=I(Y.opts.destination,true);G().route(Y.opts,function(aa,Z){X(Y,Z==google.maps.DirectionsStatus.OK?aa:false,Z);P.ack()})};this.directionsrenderer=function(Y){Y.opts.map=N;var aa,Z=new google.maps.DirectionsRenderer(Y.opts);if(Y.todo.divId){Z.setPanel(document.getElementById(Y.todo.divId))}else{if(Y.todo.container){Z.setPanel(y(Y.todo.container).get(0))}}aa=V.add(Y,"directionsrenderer",Z);O(Y,Z,aa)};this.getgeoloc=function(Y){O(Y,Y.latLng)};this.styledmaptype=function(Y){L();var Z=new z.classes.StyledMapType(Y.todo.styles,Y.opts);N.mapTypes.set(Y.todo.id,Z);O(Y,Z)};this.imagemaptype=function(Y){L();var Z=new z.classes.ImageMapType(Y.opts);N.mapTypes.set(Y.todo.id,Z);O(Y,Z)};this.autofit=function(Y){var Z=new google.maps.LatLngBounds();y.each(V.all(),function(aa,ab){if(ab.getPosition){Z.extend(ab.getPosition())}else{if(ab.getBounds){Z.extend(ab.getBounds().getNorthEast());Z.extend(ab.getBounds().getSouthWest())}else{if(ab.getPaths){ab.getPaths().forEach(function(ac){ac.forEach(function(ad){Z.extend(ad)})})}else{if(ab.getPath){ab.getPath().forEach(function(ac){Z.extend(ac);""})}else{if(ab.getCenter){Z.extend(ab.getCenter())}else{if(ab instanceof a){ab=V.getById(ab.id(),true);if(ab){ab.autofit(Z)}}}}}}}});if(!Z.isEmpty()&&(!N.getBounds()||!N.getBounds().equals(Z))){if("maxZoom" in Y.todo){google.maps.event.addListenerOnce(N,"bounds_changed",function(){if(this.getZoom()>Y.todo.maxZoom){this.setZoom(Y.todo.maxZoom)}})}N.fitBounds(Z)}O(Y,true)};this.clear=function(Y){if(typeof Y.todo==="string"){if(V.clearById(Y.todo)||V.objClearById(Y.todo)){O(Y,true);return}Y.todo={name:Y.todo}}if(Y.todo.id){y.each(g(Y.todo.id),function(Z,aa){V.clearById(aa)||V.objClearById(aa)})}else{V.clear(g(Y.todo.name),Y.todo.last,Y.todo.first,Y.todo.tag);V.objClear(g(Y.todo.name),Y.todo.last,Y.todo.first,Y.todo.tag)}O(Y,true)};this.exec=function(Y){var Z=this;y.each(g(Y.todo.func),function(aa,ab){y.each(Z.get(Y.todo,true,Y.todo.hasOwnProperty("full")?Y.todo.full:true),function(ac,ad){ab.call(T,ad)})});O(Y,true)};this.get=function(aa,ad,ac){var Z,ab,Y=ad?aa:aa.todo;if(!ad){ac=Y.full}if(typeof Y==="string"){ab=V.getById(Y,false,ac)||V.objGetById(Y);if(ab===false){Z=Y;Y={}}}else{Z=Y.name}if(Z==="map"){ab=N}if(!ab){ab=[];if(Y.id){y.each(g(Y.id),function(ae,af){ab.push(V.getById(af,false,ac)||V.objGetById(af))});if(!y.isArray(Y.id)){ab=ab[0]}}else{y.each(Z?g(Z):[t],function(af,ag){var ae;if(Y.first){ae=V.get(ag,false,Y.tag,ac);if(ae){ab.push(ae)}}else{if(Y.all){y.each(V.all(ag,Y.tag,ac),function(ai,ah){ab.push(ah)})}else{ae=V.get(ag,true,Y.tag,ac);if(ae){ab.push(ae)}}}});if(!Y.all&&!y.isArray(Z)){ab=ab[0]}}}ab=y.isArray(ab)||!Y.all?ab:[ab];if(ad){return ab}else{O(aa,ab)}};this.getdistance=function(Y){var Z;Y.opts.origins=g(Y.opts.origins);for(Z=0;Z<Y.opts.origins.length;Z++){Y.opts.origins[Z]=I(Y.opts.origins[Z],true)}Y.opts.destinations=g(Y.opts.destinations);for(Z=0;Z<Y.opts.destinations.length;Z++){Y.opts.destinations[Z]=I(Y.opts.destinations[Z],true)}B().getDistanceMatrix(Y.opts,function(ab,aa){X(Y,aa===google.maps.DistanceMatrixStatus.OK?ab:false,aa);P.ack()})};this.trigger=function(Z){if(typeof Z.todo==="string"){google.maps.event.trigger(N,Z.todo)}else{var Y=[N,Z.todo.eventName];if(Z.todo.var_args){y.each(Z.todo.var_args,function(ab,aa){Y.push(aa)})}google.maps.event.trigger.apply(google.maps.event,Y)}X(Z);P.ack()}}function s(M){var L;if(!typeof M==="object"||!M.hasOwnProperty("get")){return false}for(L in M){if(L!=="get"){return false}}return !M.get.hasOwnProperty("callback")}y.fn.gmap3=function(){var M,O=[],N=true,L=[];J();for(M=0;M<arguments.length;M++){if(arguments[M]){O.push(arguments[M])}}if(!O.length){O.push("map")}y.each(this,function(){var P=y(this),Q=P.data("gmap3");N=false;if(!Q){Q=new K(P);P.data("gmap3",Q)}if(O.length===1&&(O[0]==="get"||s(O[0]))){if(O[0]==="get"){L.push(Q.get("map",true))}else{L.push(Q.get(O[0].get,true,O[0].get.full))}}else{Q._plan(O)}});if(L.length){if(L.length===1){return L[0]}else{return L}}return this}})(jQuery);
js/jquery.addfields.js CHANGED
@@ -1,6 +1,6 @@
1
jQuery(document).ready(function($) {
2
$('#add_field').on('click',function() {
3
- $('#event_span').removeAttr('disabled');
4
var num = $('.clonedInput').length; // how many "duplicatable" input fields we currently have
5
var newNum = new Number(num + 1); // the numeric ID of the new input field being added
6
// create the new element via clone(), and manipulate it's ID using newNum value
@@ -23,10 +23,10 @@ jQuery(document).ready(function($) {
23
// if only one element remains, disable the "remove" button
24
if (num-1 == 1)
25
$('#del_field').attr('disabled','disabled');
26
- $('#event_span').attr('disabled','disabled');
27
});
28
$('#del_field').attr('disabled','disabled');
29
- $('#event_span').attr('disabled','disabled');
30
});
31
32
jQuery(document).ready(function($) {
@@ -53,7 +53,6 @@ jQuery(document).ready(function($) {
53
// if only one element remains, disable the "remove" button
54
if (num-1 == 1)
55
$('#del_price').attr('disabled','disabled');
56
- $('#event_span').attr('disabled','disabled');
57
});
58
$('#del_price').attr('disabled','disabled');
59
});
1
jQuery(document).ready(function($) {
2
$('#add_field').on('click',function() {
3
+ $('#event_span').show();
4
var num = $('.clonedInput').length; // how many "duplicatable" input fields we currently have
5
var newNum = new Number(num + 1); // the numeric ID of the new input field being added
6
// create the new element via clone(), and manipulate it's ID using newNum value
23
// if only one element remains, disable the "remove" button
24
if (num-1 == 1)
25
$('#del_field').attr('disabled','disabled');
26
+ $('#event_span').hide();
27
});
28
$('#del_field').attr('disabled','disabled');
29
+ $('#event_span').hide();
30
});
31
32
jQuery(document).ready(function($) {
53
// if only one element remains, disable the "remove" button
54
if (num-1 == 1)
55
$('#del_price').attr('disabled','disabled');
56
});
57
$('#del_price').attr('disabled','disabled');
58
});
js/jquery.calendrical.js DELETED
@@ -1,484 +0,0 @@
1
- (function($) {
2
- var monthNames = mc_months;
3
-
4
- function getToday() {
5
- var date = new Date();
6
- return new Date(date.getFullYear(), date.getMonth(), date.getDate());
7
- }
8
-
9
- function areDatesEqual(date1, date2) {
10
- return String(date1) == String(date2);
11
- }
12
-
13
- function daysInMonth(year, month) {
14
- if (year instanceof Date) return daysInMonth(year.getFullYear(), year.getMonth());
15
- if ( month == 1 ) {
16
- var leapYear = (year % 4 == 0) &&
17
- (!(year % 100 == 0) || (year % 400 == 0));
18
- return leapYear ? 29 : 28;
19
- } else if (month == 3 || month == 5 || month == 8 || month == 10) {
20
- return 30;
21
- } else {
22
- return 31;
23
- }
24
- }
25
-
26
- function dayAfter(date) {
27
- var year = date.getFullYear();
28
- var month = date.getMonth();
29
- var day = date.getDate();
30
- var lastDay = daysInMonth(date);
31
- return (day == lastDay) ?
32
- ((month == 11) ?
33
- new Date(year + 1, 0, 1) :
34
- new Date(year, month + 1, 1)
35
- ) :
36
- new Date(year, month, day + 1);
37
- }
38
-
39
- function dayBefore(date) {
40
- var year = date.getFullYear();
41
- var month = date.getMonth();
42
- var day = date.getDate();
43
- return (day == 1) ?
44
- ((month == 0) ?
45
- new Date(year - 1, 11, daysInMonth(year - 1, 11)) :
46
- new Date(year, month - 1, daysInMonth(year, month - 1))
47
- ) :
48
- new Date(year, month, day - 1);
49
- }
50
-
51
- function monthAfter(year, month) {
52
- return (month == 11) ?
53
- new Date(year + 1, 0, 1) :
54
- new Date(year, month + 1, 1);
55
- }
56
-
57
- function formatDate(date) {
58
- var d = date.getDate();
59
- var m = date.getMonth() + 1;
60
- var dlen = d.toString();
61
- var mlen = m.toString();
62
- var day = ( dlen.length == 2 ) ? d : '0' + d;
63
- var month = ( mlen.length == 2 ) ? ( m ) : '0' + m;
64
- return (date.getFullYear() + '-' + month + '-' + day );
65
- }
66
-
67
- function parseDate(date) {
68
- a = date.split(/[\.\-\/]/);
69
- var year = a.shift();
70
- var month = a.shift()-1;
71
- var day = a.shift();
72
- return new Date( year, month, day );
73
- }
74
-
75
- function formatTime( hour, minute ) {
76
- var d = new Date( 2013, 9, 1, hour, minute );
77
- var t=d.toLocaleTimeString();
78
- return t;
79
- }
80
-
81
- function parseTime(text) {
82
- var match = match = /(\d+)\s*[:\-\.,]\s*(\d+)\s*[:\-\.,]\s*(\d+)\s*(am|pm)?/i.exec(text);
83
- if (match && match.length >= 3) {
84
- var hour = Number(match[1]);
85
- var minute = Number(match[2]);
86
- if (hour == 12 && match[4]) { hour -= 12; }
87
- if (match[4] && match[4].toLowerCase() == 'pm') { hour += 12; }
88
- return {
89
- hour: hour,
90
- minute: minute
91
- };
92
- } else {
93
- return null;
94
- }
95
- }
96
-
97
- /**
98
- * Generates calendar header, with month name, << and >> controls, and
99
- * initials for days of the week.
100
- */
101
- function renderCalendarHeader(element, year, month, options) {
102
- //Prepare thead element
103
- var thead = $('<thead />');
104
- var titleRow = $('<tr />').appendTo(thead);
105
-
106
- //Generate << (back a month) link
107
- $('<th />').addClass('monthCell').append(
108
- $('<a href="javascript:;">&laquo;</a>')
109
- .addClass('prevMonth')
110
- .on('click',function(e) {
111
- renderCalendarPage(element,
112
- month == 0 ? (year - 1) : year,
113
- month == 0 ? 11 : (month - 1), options
114
- );
115
- e.preventDefault();
116
- })
117
- ).appendTo(titleRow);
118
-
119
- //Generate month title
120
- $('<th />').addClass('monthCell').attr('colSpan', 5).append(
121
- $('<a href="javascript:;">' + monthNames[month] + ' ' +
122
- year + '</a>').addClass('monthName')
123
- ).appendTo(titleRow);
124
-
125
- //Generate >> (forward a month) link
126
- $('<th />').addClass('monthCell').append(
127
- $('<a href="javascript:;">&raquo;</a>')
128
- .addClass('nextMonth')
129
- .on('click',function() {
130
- renderCalendarPage(element,
131
- month == 11 ? (year + 1) : year,
132
- month == 11 ? 0 : (month + 1), options
133
- );
134
- })
135
- ).appendTo(titleRow);
136
-
137
- //Generate weekday initials row
138
- var dayNames = $('<tr />').appendTo(thead);
139
- $.each(String('SMTWTFS').split(''), function(k, v) {
140
- $('<th />').addClass('dayName').append(v).appendTo(dayNames);
141
- });
142
-
143
- return thead;
144
- }
145
-
146
- function renderCalendarPage(element, year, month, options) {
147
- options = options || {};
148
-
149
- var today = getToday();
150
-
151
- var date = new Date(year, month, 1);
152
-
153
- //Wind end date forward to saturday week after month
154
- var endDate = monthAfter(year, month);
155
- var ff = 6 - endDate.getDay();
156
- if (ff < 6) ff += 7;
157
- for (var i = 0; i < ff; i++) endDate = dayAfter(endDate);
158
-
159
- var table = $('<table />');
160
- renderCalendarHeader(element, year, month, options).appendTo(table);
161
-
162
- var tbody = $('<tbody />').appendTo(table);
163
- var row = $('<tr />');
164
-
165
- //Rewind date to monday week before month
166
- var rewind = date.getDay() + 7;
167
- for (var i = 0; i < rewind; i++) date = dayBefore(date);
168
-
169
- while (date <= endDate) {
170
- var td = $('<td />')
171
- .addClass('day')
172
- .append(
173
- $('<a href="javascript:;">' +
174
- date.getDate() + '</a>'
175
- ).click((function() {
176
- var thisDate = date;
177
-
178
- return function() {
179
- if (options && options.selectDate) {
180
- options.selectDate(thisDate);
181
- }
182
- }
183
- }()))
184
- )
185
- .appendTo(row);
186
-
187
- var isToday = areDatesEqual(date, today);
188
- var isSelected = options.selected &&
189
- areDatesEqual(options.selected, date);
190
-
191
- if (isToday) td.addClass('today');
192
- if (isSelected) td.addClass('selected');
193
- if (isToday && isSelected) td.addClass('today_selected');
194
- if (date.getMonth() != month) td.addClass('nonMonth');
195
-
196
- dow = date.getDay();
197
- if (dow == 6) {
198
- tbody.append(row);
199
- row = $('<tr />');
200
- }
201
- date = dayAfter(date);
202
- }
203
- if (row.children().length) {
204
- tbody.append(row);
205
- } else {
206
- row.remove();
207
- }
208
-
209
- element.empty().append(table);
210
- }
211
-
212
- function roundNumber( num, dec ) {
213
- var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
214
- return result;
215
- }
216
-
217
- function renderTimeSelect(element, options) {
218
- var selection = options.selection && parseTime(options.selection);
219
- if (selection) {
220
- selection.minute = Math.floor(selection.minute / 15.0) * 15;
221
- }
222
- var startTime = options.startTime &&
223
- (options.startTime.hour * 60 + options.startTime.minute);
224
-
225
- var scrollTo; //Element to scroll the dropdown box to when shown
226
- var ul = $('<ul />');
227
- var first = $('<li />').append(
228
- $('<a href="javascript:;">All day</a>')
229
- .click(function() {
230
- if (options && options.selectTime) {
231
- options.selectTime('');
232
- }
233
- }).mousemove(function() {
234
- $('li.selected', ul).removeClass('selected');
235
- })
236
- ).appendTo(ul);
237
- for (var hour = 0; hour < 24; hour++) {
238
- for (var minute = 0; minute < 60; minute += 15) {
239
-
240
- (function() {
241
- var timeText = formatTime(hour, minute);
242
- var fullText = timeText;
243
- if ( startTime != null ) {
244
- var duration = roundNumber( ( (hour * 60 + minute) - startTime ), 2 );
245
- if ( duration < 0 ) {
246
- fullText = '<s>' + fullText + '</s>';
247
- } else if (duration < 60 && duration >= 0) {
248
- fullText += ' (' + duration + ' mins)';
249
- } else if (duration == 60) {
250
- fullText += ' (1 hr)';
251
- } else {
252
- var long_duration = roundNumber( ( duration / 60.0 ), 2 );
253
- fullText += ' (' + long_duration + ' hrs)';
254
- }
255
- }
256
- var li = $('<li />').append(
257
- $('<a href="javascript:;">' + fullText + '</a>')
258
- .click(function() {
259
- if (options && options.selectTime) {
260
- options.selectTime(timeText);
261
- }
262
- }).mousemove(function() {
263
- $('li.selected', ul).removeClass('selected');
264
- })
265
- ).appendTo(ul);
266
-
267
- //Set to scroll to the default hour, unless already set
268
- if (!scrollTo && hour == options.defaultHour) {
269
- scrollTo = li;
270
- }
271
-
272
- if (selection &&
273
- selection.hour == hour &&
274
- selection.minute == minute)
275
- {
276
- //Highlight selected item
277
- li.addClass('selected');
278
- //Set to scroll to the selected hour
279
- //
280
- //This is set even if scrollTo is already set, since scrolling to selected hour is more important than
281
- //scrolling to default hour
282
- scrollTo = li;
283
- }
284
- })();
285
- }
286
- }
287
- var last = $('<li />').append(
288
- $('<a href="javascript:;">12:00am</a>')
289
- .click(function() {
290
- if (options && options.selectTime) {
291
- options.selectTime('12:00am');
292
- }
293
- }).mousemove(function() {
294
- $('li.selected', ul).removeClass('selected');
295
- })
296
- ).appendTo(ul);
297
- if (scrollTo) {
298
- //Set timeout of zero so code runs immediately after any calling
299
- //functions are finished (this is needed, since box hasn't been
300
- //added to the DOM yet)
301
- setTimeout(function() {
302
- //Scroll the dropdown box so that scrollTo item is in the middle
303
- element[0].scrollTop =
304
- scrollTo[0].offsetTop - scrollTo.height() * 2;
305
- }, 0);
306
- }
307
- element.empty().append(ul);
308
- }
309
-
310
- $.fn.calendricalDate = function( options ) {
311
- options = options || {};
312
- options.padding = options.padding || 4;
313
-
314
- return this.each(function() {
315
- var element = $(this);
316
- var div;
317
- var within = false;
318
-
319
- element.bind('click', function() {
320
- //element.bind('focus click', function() {
321
- if (div) return;
322
- var offset = element.position();
323
- var padding = element.css('padding-left');
324
- div = $('<div />')
325
- .addClass('calendricalDatePopup')
326
- .mouseenter(function() { within = true; })
327
- .mouseleave(function() { within = false; })
328
- .mousedown(function(e) {
329
- e.preventDefault();
330
- })
331
- .css({
332
- position: 'absolute',
333
- left: offset.left,
334
- top: offset.top + element.height
335
- });
336
- element.after(div);
337
- var selected = parseDate(element.val());
338
- if (!selected.getFullYear()) selected = getToday();
339
-
340
- renderCalendarPage(
341
- div,
342
- selected.getFullYear(),
343
- selected.getMonth(), {
344
- selected: selected,
345
- selectDate: function(date) {
346
- within = false;
347
- element.val(formatDate(date));
348
- div.remove();
349
- div = null;
350
- if (options.endDate) {
351
- var endDate = parseDate(
352
- options.endDate.val()
353
- );
354
- if (endDate >= selected) {
355
- options.endDate.val(formatDate(
356
- new Date(
357
- date.getTime() +
358
- endDate.getTime() -
359
- selected.getTime()
360
- )
361
- ));
362
- }
363
- }
364
- }
365
- }
366
- );
367
- }).blur(function() {
368
- if (within){
369
- if (div) element.focus();
370
- return;
371
- }
372
- if (!div) return;
373
- div.remove();
374
- div = null;
375
- });
376
- });
377
- };
378
-
379
- $.fn.calendricalDateRange = function(options) {
380
- if (this.length >= 2) {
381
- $(this[0]).calendricalDate($.extend({
382
- endDate: $(this[1])
383
- }, options));
384
- $(this[1]).calendricalDate(options);
385
- }
386
- return this;
387
- };
388
-
389
- $.fn.calendricalTime = function(options) {
390
- options = options || {};
391
- options.padding = options.padding || 4;
392
-
393
- return this.each(function() {
394
- var element = $(this);
395
- var div;
396
- var within = false;
397
-
398
- element.attr( "autocomplete", "off" );
399
- element.bind('click', function() {
400
- //element.bind('focus click', function() { // only allow keyboard focus once it works properly.
401
- if (div) return;
402
-
403
- var useStartTime = options.startTime;
404
- if (useStartTime) {
405
- if (options.startDate && options.endDate &&
406
- !areDatesEqual(parseDate(options.startDate.val()),
407
- parseDate(options.endDate.val())))
408
- useStartTime = true;
409
- }
410
-
411
- var offset = element.position();
412
- div = $('<div />')
413
- .addClass('calendricalTimePopup')
414
- .mouseenter(function() { within = true; })
415
- .mouseleave(function() { within = false; })
416
- .mousedown(function(e) {
417
- e.preventDefault();
418
- })
419
- .css({
420
- position: 'absolute',
421
- left: offset.left,
422
- top: offset.top + element.height
423
- });
424
- if (useStartTime) {
425
- div.addClass('calendricalEndTimePopup');
426
- }
427
-
428
- element.after(div);
429
-
430
- var opts = {
431
- selection: element.val(),
432
- selectTime: function(time) {
433
- within = false;
434
- element.val(time);
435
- div.remove();
436
- div = null;
437
- },
438
- defaultHour: (options.defaultHour != null) ?
439
- options.defaultHour : 8
440
- };
441
-
442
- if (useStartTime) {
443
- opts.startTime = parseTime(options.startTime.val());
444
- }
445
-
446
- renderTimeSelect(div, opts);
447
- }).blur(function() {
448
- if (within){
449
- if (div) element.focus();
450
- return;
451
- }
452
- if (!div) return;
453
- div.remove();
454
- div = null;
455
- });
456
- });
457
- },
458
-
459
- $.fn.calendricalTimeRange = function(options) {
460
- if (this.length >= 2) {
461
- $(this[0]).calendricalTime(options);
462
- $(this[1]).calendricalTime($.extend({
463
- startTime: $(this[0])
464
- }, options));
465
- }
466
- return this;
467
- };
468
-
469
- $.fn.calendricalDateTimeRange = function(options) {
470
- if (this.length >= 4) {
471
- $(this[0]).calendricalDate($.extend({
472
- endDate: $(this[2])
473
- }, options));
474
- $(this[1]).calendricalTime(options);
475
- $(this[2]).calendricalDate(options);
476
- $(this[3]).calendricalTime($.extend({
477
- startTime: $(this[1]),
478
- startDate: $(this[0]),
479
- endDate: $(this[2])
480
- }, options));
481
- }
482
- return this;
483
- };
484
- })( jQuery );
js/pickadate/legacy.js ADDED
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * Legacy browser support
3
+ */
4
+ [].map||(Array.prototype.map=function(a,b){for(var c=this,d=c.length,e=new Array(d),f=0;d>f;f++)f in c&&(e[f]=a.call(b,c[f],f,c));return e}),[].filter||(Array.prototype.filter=function(a){if(null==this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=[],e=arguments[1],f=0;c>f;f++)if(f in b){var g=b[f];a.call(e,g,f,b)&&d.push(g)}return d}),[].indexOf||(Array.prototype.indexOf=function(a){if(null==this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!=d?d=0:0!==d&&1/0!=d&&d!=-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1});/*!
5
+ * Cross-Browser Split 1.1.1
6
+ * Copyright 2007-2012 Steven Levithan <stevenlevithan.com>
7
+ * Available under the MIT License
8
+ * http://blog.stevenlevithan.com/archives/cross-browser-split
9
+ */
10
+ var nativeSplit=String.prototype.split,compliantExecNpcg=void 0===/()??/.exec("")[1];String.prototype.split=function(a,b){var c=this;if("[object RegExp]"!==Object.prototype.toString.call(a))return nativeSplit.call(c,a,b);var d,e,f,g,h=[],i=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":""),j=0;for(a=new RegExp(a.source,i+"g"),c+="",compliantExecNpcg||(d=new RegExp("^"+a.source+"$(?!\\s)",i)),b=void 0===b?-1>>>0:b>>>0;(e=a.exec(c))&&(f=e.index+e[0].length,!(f>j&&(h.push(c.slice(j,e.index)),!compliantExecNpcg&&e.length>1&&e[0].replace(d,function(){for(var a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(e[a]=void 0)}),e.length>1&&e.index<c.length&&Array.prototype.push.apply(h,e.slice(1)),g=e[0].length,j=f,h.length>=b)));)a.lastIndex===e.index&&a.lastIndex++;return j===c.length?(g||!a.test(""))&&h.push(""):h.push(c.slice(j)),h.length>b?h.slice(0,b):h};
js/pickadate/picker.date.js ADDED
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Date picker for pickadate.js v3.4.0
3
+ * http://amsul.github.io/pickadate.js/date.htm
4
+ */
5
+ !function(a){"function"==typeof define&&define.amd?define(["picker","jquery"],a):a(Picker,jQuery)}(function(a,b){function c(a,b){var c=this,d=a.$node[0].value,e=a.$node.data("value"),f=e||d,g=e?b.formatSubmit:b.format,h=function(){return"rtl"===getComputedStyle(a.$root[0]).direction};c.settings=b,c.$node=a.$node,c.queue={min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse navigate create validate",view:"parse create validate viewset",disable:"deactivate",enable:"activate"},c.item={},c.item.disable=(b.disable||[]).slice(0),c.item.enable=-function(a){return a[0]===!0?a.shift():-1}(c.item.disable),c.set("min",b.min).set("max",b.max).set("now"),f?c.set("select",f,{format:g,fromValue:!!d}):c.set("select",null).set("highlight",c.item.now),c.key={40:7,38:-7,39:function(){return h()?-1:1},37:function(){return h()?1:-1},go:function(a){var b=c.item.highlight,d=new Date(b.year,b.month,b.date+a);c.set("highlight",[d.getFullYear(),d.getMonth(),d.getDate()],{interval:a}),this.render()}},a.on("render",function(){a.$root.find("."+b.klass.selectMonth).on("change",function(){var c=this.value;c&&(a.set("highlight",[a.get("view").year,c,a.get("highlight").date]),a.$root.find("."+b.klass.selectMonth).trigger("focus"))}),a.$root.find("."+b.klass.selectYear).on("change",function(){var c=this.value;c&&(a.set("highlight",[c,a.get("view").month,a.get("highlight").date]),a.$root.find("."+b.klass.selectYear).trigger("focus"))})}).on("open",function(){a.$root.find("button, select").attr("disabled",!1)}).on("close",function(){a.$root.find("button, select").attr("disabled",!0)})}var d=7,e=6,f=a._;c.prototype.set=function(a,b,c){var d=this,e=d.item;return null===b?(e[a]=b,d):(e["enable"==a?"disable":"flip"==a?"enable":a]=d.queue[a].split(" ").map(function(e){return b=d[e](a,b,c)}).pop(),"select"==a?d.set("highlight",e.select,c):"highlight"==a?d.set("view",e.highlight,c):a.match(/^(flip|min|max|disable|enable)#x2F;)&&(e.select&&d.disabled(e.select)&&d.set("select",e.select,c),e.highlight&&d.disabled(e.highlight)&&d.set("highlight",e.highlight,c)),d)},c.prototype.get=function(a){return this.item[a]},c.prototype.create=function(a,c,d){var e,g=this;return c=void 0===c?a:c,c==-1/0||1/0==c?e=c:b.isPlainObject(c)&&f.isInteger(c.pick)?c=c.obj:b.isArray(c)?(c=new Date(c[0],c[1],c[2]),c=f.isDate(c)?c:g.create().obj):c=f.isInteger(c)||f.isDate(c)?g.normalize(new Date(c),d):g.now(a,c,d),{year:e||c.getFullYear(),month:e||c.getMonth(),date:e||c.getDate(),day:e||c.getDay(),obj:e||c,pick:e||c.getTime()}},c.prototype.createRange=function(a,c){var d=this,e=function(a){return a===!0||b.isArray(a)||f.isDate(a)?d.create(a):a};return f.isInteger(a)||(a=e(a)),f.isInteger(c)||(c=e(c)),f.isInteger(a)&&b.isPlainObject(c)?a=[c.year,c.month,c.date+a]:f.isInteger(c)&&b.isPlainObject(a)&&(c=[a.year,a.month,a.date+c]),{from:e(a),to:e(c)}},c.prototype.withinRange=function(a,b){return a=this.createRange(a.from,a.to),b.pick>=a.from.pick&&b.pick<=a.to.pick},c.prototype.overlapRanges=function(a,b){var c=this;return a=c.createRange(a.from,a.to),b=c.createRange(b.from,b.to),c.withinRange(a,b.from)||c.withinRange(a,b.to)||c.withinRange(b,a.from)||c.withinRange(b,a.to)},c.prototype.now=function(a,b,c){return b=new Date,c&&c.rel&&b.setDate(b.getDate()+c.rel),this.normalize(b,c)},c.prototype.navigate=function(a,c,d){var e,f,g,h,i=b.isArray(c),j=b.isPlainObject(c),k=this.item.view;if(i||j){for(j?(f=c.year,g=c.month,h=c.date):(f=+c[0],g=+c[1],h=+c[2]),d&&d.nav&&k&&k.month!==g&&(f=k.year,g=k.month),e=new Date(f,g+(d&&d.nav?d.nav:0),1),f=e.getFullYear(),g=e.getMonth();new Date(f,g,h).getMonth()!==g;)h-=1;c=[f,g,h]}return c},c.prototype.normalize=function(a){return a.setHours(0,0,0,0),a},c.prototype.measure=function(a,b){var c=this;return b?f.isInteger(b)&&(b=c.now(a,b,{rel:b})):b="min"==a?-1/0:1/0,b},c.prototype.viewset=function(a,b){return this.create([b.year,b.month,1])},c.prototype.validate=function(a,c,d){var e,g,h,i,j=this,k=c,l=d&&d.interval?d.interval:1,m=-1===j.item.enable,n=j.item.min,o=j.item.max,p=m&&j.item.disable.filter(function(a){if(b.isArray(a)){var d=j.create(a).pick;d<c.pick?e=!0:d>c.pick&&(g=!0)}return f.isInteger(a)}).length;if((!d||!d.nav)&&(!m&&j.disabled(c)||m&&j.disabled(c)&&(p||e||g)||!m&&(c.pick<=n.pick||c.pick>=o.pick)))for(m&&!p&&(!g&&l>0||!e&&0>l)&&(l*=-1);j.disabled(c)&&(Math.abs(l)>1&&(c.month<k.month||c.month>k.month)&&(c=k,l=l>0?1:-1),c.pick<=n.pick?(h=!0,l=1,c=j.create([n.year,n.month,n.date-1])):c.pick>=o.pick&&(i=!0,l=-1,c=j.create([o.year,o.month,o.date+1])),!h||!i);)c=j.create([c.year,c.month,c.date+l]);return c},c.prototype.disabled=function(a){var c=this,d=c.item.disable.filter(function(d){return f.isInteger(d)?a.day===(c.settings.firstDay?d:d-1)%7:b.isArray(d)||f.isDate(d)?a.pick===c.create(d).pick:b.isPlainObject(d)?c.withinRange(d,a):void 0});return d=d.length&&!d.filter(function(a){return b.isArray(a)&&"inverted"==a[3]||b.isPlainObject(a)&&a.inverted}).length,-1===c.item.enable?!d:d||a.pick<c.item.min.pick||a.pick>c.item.max.pick},c.prototype.parse=function(a,c,d){var e,g=this,h={};return!c||f.isInteger(c)||b.isArray(c)||f.isDate(c)||b.isPlainObject(c)&&f.isInteger(c.pick)?c:(d&&d.format||(d=d||{},d.format=g.settings.format),e="string"!=typeof c||d.fromValue?0:1,g.formats.toArray(d.format).map(function(a){var b=g.formats[a],d=b?f.trigger(b,g,[c,h]):a.replace(/^!/,"").length;b&&(h[a]=c.substr(0,d)),c=c.substr(d)}),[h.yyyy||h.yy,+(h.mm||h.m)-e,h.dd||h.d])},c.prototype.formats=function(){function a(a,b,c){var d=a.match(/\w+/)[0];return c.mm||c.m||(c.m=b.indexOf(d)),d.length}function b(a){return a.match(/\w+/)[0].length}return{d:function(a,b){return a?f.digits(a):b.date},dd:function(a,b){return a?2:f.lead(b.date)},ddd:function(a,c){return a?b(a):this.settings.weekdaysShort[c.day]},dddd:function(a,c){return a?b(a):this.settings.weekdaysFull[c.day]},m:function(a,b){return a?f.digits(a):b.month+1},mm:function(a,b){return a?2:f.lead(b.month+1)},mmm:function(b,c){var d=this.settings.monthsShort;return b?a(b,d,c):d[c.month]},mmmm:function(b,c){var d=this.settings.monthsFull;return b?a(b,d,c):d[c.month]},yy:function(a,b){return a?2:(""+b.year).slice(2)},yyyy:function(a,b){return a?4:b.year},toArray:function(a){return a.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(a,b){var c=this;return c.formats.toArray(a).map(function(a){return f.trigger(c.formats[a],c,[0,b])||a.replace(/^!/,"")}).join("")}}}(),c.prototype.isDateExact=function(a,c){var d=this;return f.isInteger(a)&&f.isInteger(c)||"boolean"==typeof a&&"boolean"==typeof c?a===c:(f.isDate(a)||b.isArray(a))&&(f.isDate(c)||b.isArray(c))?d.create(a).pick===d.create(c).pick:b.isPlainObject(a)&&b.isPlainObject(c)?d.isDateExact(a.from,c.from)&&d.isDateExact(a.to,c.to):!1},c.prototype.isDateOverlap=function(a,c){var d=this;return f.isInteger(a)&&(f.isDate(c)||b.isArray(c))?a===d.create(c).day+1:f.isInteger(c)&&(f.isDate(a)||b.isArray(a))?c===d.create(a).day+1:b.isPlainObject(a)&&b.isPlainObject(c)?d.overlapRanges(a,c):!1},c.prototype.flipEnable=function(a){var b=this.item;b.enable=a||(-1==b.enable?1:-1)},c.prototype.deactivate=function(a,c){var d=this,e=d.item.disable.slice(0);return"flip"==c?d.flipEnable():c===!1?(d.flipEnable(1),e=[]):c===!0?(d.flipEnable(-1),e=[]):c.map(function(a){for(var c,g=0;g<e.length;g+=1)if(d.isDateExact(a,e[g])){c=!0;break}c||(f.isInteger(a)||f.isDate(a)||b.isArray(a)||b.isPlainObject(a)&&a.from&&a.to)&&e.push(a)}),e},c.prototype.activate=function(a,c){var d=this,e=d.item.disable,g=e.length;return"flip"==c?d.flipEnable():c===!0?(d.flipEnable(1),e=[]):c===!1?(d.flipEnable(-1),e=[]):c.map(function(a){var c,h,i,j;for(i=0;g>i;i+=1){if(h=e[i],d.isDateExact(h,a)){c=e[i]=null,j=!0;break}if(d.isDateOverlap(h,a)){b.isPlainObject(a)?(a.inverted=!0,c=a):b.isArray(a)?(c=a,c[3]||c.push("inverted")):f.isDate(a)&&(c=[a.getFullYear(),a.getMonth(),a.getDate(),"inverted"]);break}}if(c)for(i=0;g>i;i+=1)if(d.isDateExact(e[i],a)){e[i]=null;break}if(j)for(i=0;g>i;i+=1)if(d.isDateOverlap(e[i],a)){e[i]=null;break}c&&e.push(c)}),e.filter(function(a){return null!=a})},c.prototype.nodes=function(a){var b=this,c=b.settings,g=b.item,h=g.now,i=g.select,j=g.highlight,k=g.view,l=g.disable,m=g.min,n=g.max,o=function(a){return c.firstDay&&a.push(a.shift()),f.node("thead",f.node("tr",f.group({min:0,max:d-1,i:1,node:"th",item:function(b){return[a[b],c.klass.weekdays]}})))}((c.showWeekdaysFull?c.weekdaysFull:c.weekdaysShort).slice(0)),p=function(a){return f.node("div"," ",c.klass["nav"+(a?"Next":"Prev")]+(a&&k.year>=n.year&&k.month>=n.month||!a&&k.year<=m.year&&k.month<=m.month?" "+c.klass.navDisabled:""),"data-nav="+(a||-1))},q=function(b){return c.selectMonths?f.node("select",f.group({min:0,max:11,i:1,node:"option",item:function(a){return[b[a],0,"value="+a+(k.month==a?" selected":"")+(k.year==m.year&&a<m.month||k.year==n.year&&a>n.month?" disabled":"")]}}),c.klass.selectMonth,a?"":"disabled"):f.node("div",b[k.month],c.klass.month)},r=function(){var b=k.year,d=c.selectYears===!0?5:~~(c.selectYears/2);if(d){var e=m.year,g=n.year,h=b-d,i=b+d;if(e>h&&(i+=e-h,h=e),i>g){var j=h-e,l=i-g;h-=j>l?l:j,i=g}return f.node("select",f.group({min:h,max:i,i:1,node:"option",item:function(a){return[a,0,"value="+a+(b==a?" selected":"")]}}),c.klass.selectYear,a?"":"disabled")}return f.node("div",b,c.klass.year)};return f.node("div",p()+p(1)+q(c.showMonthsShort?c.monthsShort:c.monthsFull)+r(),c.klass.header)+f.node("table",o+f.node("tbody",f.group({min:0,max:e-1,i:1,node:"tr",item:function(a){var e=c.firstDay&&0===b.create([k.year,k.month,1]).day?-7:0;return[f.group({min:d*a-k.day+e+1,max:function(){return this.min+d-1},i:1,node:"td",item:function(a){a=b.create([k.year,k.month,a+(c.firstDay?1:0)]);var d=i&&i.pick==a.pick,e=j&&j.pick==a.pick,g=l&&b.disabled(a)||a.pick<m.pick||a.pick>n.pick;return[f.node("div",a.date,function(b){return b.push(k.month==a.month?c.klass.infocus:c.klass.outfocus),h.pick==a.pick&&b.push(c.klass.now),d&&b.push(c.klass.selected),e&&b.push(c.klass.highlighted),g&&b.push(c.klass.disabled),b.join(" ")}([c.klass.day]),"data-pick="+a.pick+" "+f.ariaAttr({role:"button",controls:b.$node[0].id,checked:d&&b.$node.val()===f.trigger(b.formats.toString,b,[c.format,a])?!0:null,activedescendant:e?!0:null,disabled:g?!0:null}))]}})]}})),c.klass.table)+f.node("div",f.node("button",c.today,c.klass.buttonToday,"type=button data-pick="+h.pick+(a?"":" disabled"))+f.node("button",c.clear,c.klass.buttonClear,"type=button data-clear=1"+(a?"":" disabled")),c.klass.footer)},c.defaults=function(a){return{monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],today:"Today",clear:"Clear",format:"d mmmm, yyyy",klass:{table:a+"table",header:a+"header",navPrev:a+"nav--prev",navNext:a+"nav--next",navDisabled:a+"nav--disabled",month:a+"month",year:a+"year",selectMonth:a+"select--month",selectYear:a+"select--year",weekdays:a+"weekday",day:a+"day",disabled:a+"day--disabled",selected:a+"day--selected",highlighted:a+"day--highlighted",now:a+"day--today",infocus:a+"day--infocus",outfocus:a+"day--outfocus",footer:a+"footer",buttonClear:a+"button--clear",buttonToday:a+"button--today"}}}(a.klasses().picker+"__"),a.extend("pickadate",c)});
js/pickadate/picker.js ADDED
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * pickadate.js v3.4.0, 2014/02/15
3
+ * By Amsul, http://amsul.ca
4
+ * Hosted on http://amsul.github.io/pickadate.js
5
+ * Licensed under MIT
6
+ */
7
+ !function(a){"function"==typeof define&&define.amd?define("picker",["jquery"],a):this.Picker=a(jQuery)}(function(a){function b(d,e,g,h){function i(){return b._.node("div",b._.node("div",b._.node("div",b._.node("div",s.component.nodes(n.open),p.box),p.wrap),p.frame),p.holder)}function j(){q.data(e,s).addClass(p.input).val(q.data("value")?s.get("select",o.format):d.value).on("focus."+n.id+" click."+n.id,m),o.editable||q.on("keydown."+n.id,function(a){var b=a.keyCode,c=/^(8|46)#x2F;.test(b);return 27==b?(s.close(),!1):void((32==b||c||!n.open&&s.component.key[b])&&(a.preventDefault(),a.stopPropagation(),c?s.clear().close():s.open()))}),c(d,{haspopup:!0,expanded:!1,readonly:!1,owns:d.id+"_root"+(s._hidden?" "+s._hidden.id:"")})}function k(){s.$root.on({focusin:function(a){s.$root.removeClass(p.focused),c(s.$root[0],"selected",!1),a.stopPropagation()},"mousedown click":function(b){var c=b.target;c!=s.$root.children()[0]&&(b.stopPropagation(),"mousedown"!=b.type||a(c).is(":input")||"OPTION"==c.nodeName||(b.preventDefault(),d.focus()))}}).on("click","[data-pick], [data-nav], [data-clear]",function(){var c=a(this),e=c.data(),f=c.hasClass(p.navDisabled)||c.hasClass(p.disabled),g=document.activeElement;g=g&&(g.type||g.href)&&g,(f||g&&!a.contains(s.$root[0],g))&&d.focus(),e.nav&&!f?s.set("highlight",s.component.item.highlight,{nav:e.nav}):b._.isInteger(e.pick)&&!f?s.set("select",e.pick).close(!0):e.clear&&s.clear().close(!0)}),c(s.$root[0],"hidden",!0)}function l(){var b=["string"==typeof o.hiddenPrefix?o.hiddenPrefix:"","string"==typeof o.hiddenSuffix?o.hiddenSuffix:"_submit"];s._hidden=a('<input type=hidden name="'+b[0]+d.name+b[1]+'"id="'+b[0]+d.id+b[1]+'"'+(q.data("value")||d.value?' value="'+s.get("select",o.formatSubmit)+'"':"")+">")[0],q.on("change."+n.id,function(){s._hidden.value=d.value?s.get("select",o.formatSubmit):""}).after(s._hidden)}function m(a){a.stopPropagation(),"focus"==a.type&&(s.$root.addClass(p.focused),c(s.$root[0],"selected",!0)),s.open()}if(!d)return b;var n={id:d.id||"P"+Math.abs(~~(Math.random()*new Date))},o=g?a.extend(!0,{},g.defaults,h):h||{},p=a.extend({},b.klasses(),o.klass),q=a(d),r=function(){return this.start()},s=r.prototype={constructor:r,$node:q,start:function(){return n&&n.start?s:(n.methods={},n.start=!0,n.open=!1,n.type=d.type,d.autofocus=d==document.activeElement,d.type="text",d.readOnly=!o.editable,d.id=d.id||n.id,s.component=new g(s,o),s.$root=a(b._.node("div",i(),p.picker,'id="'+d.id+'_root"')),k(),o.formatSubmit&&l(),j(),o.container?a(o.container).append(s.$root):q.after(s.$root),s.on({start:s.component.onStart,render:s.component.onRender,stop:s.component.onStop,open:s.component.onOpen,close:s.component.onClose,set:s.component.onSet}).on({start:o.onStart,render:o.onRender,stop:o.onStop,open:o.onOpen,close:o.onClose,set:o.onSet}),d.autofocus&&s.open(),s.trigger("start").trigger("render"))},render:function(a){return a?s.$root.html(i()):s.$root.find("."+p.box).html(s.component.nodes(n.open)),s.trigger("render")},stop:function(){return n.start?(s.close(),s._hidden&&s._hidden.parentNode.removeChild(s._hidden),s.$root.remove(),q.removeClass(p.input).removeData(e),setTimeout(function(){q.off("."+n.id)},0),d.type=n.type,d.readOnly=!1,s.trigger("stop"),n.methods={},n.start=!1,s):s},open:function(e){return n.open?s:(q.addClass(p.active),c(d,"expanded",!0),s.$root.addClass(p.opened),c(s.$root[0],"hidden",!1),e!==!1&&(n.open=!0,q.trigger("focus"),f.on("click."+n.id+" focusin."+n.id,function(a){var b=a.target;b!=d&&b!=document&&3!=a.which&&s.close(b===s.$root.children()[0])}).on("keydown."+n.id,function(c){var e=c.keyCode,f=s.component.key[e],g=c.target;27==e?s.close(!0):g!=d||!f&&13!=e?a.contains(s.$root[0],g)&&13==e&&(c.preventDefault(),g.click()):(c.preventDefault(),f?b._.trigger(s.component.key.go,s,[b._.trigger(f)]):s.$root.find("."+p.highlighted).hasClass(p.disabled)||s.set("select",s.component.item.highlight).close())})),s.trigger("open"))},close:function(a){return a&&(q.off("focus."+n.id).trigger("focus"),setTimeout(function(){q.on("focus."+n.id,m)},0)),q.removeClass(p.active),c(d,"expanded",!1),s.$root.removeClass(p.opened+" "+p.focused),c(s.$root[0],"hidden",!0),c(s.$root[0],"selected",!1),n.open?(n.open=!1,f.off("."+n.id),s.trigger("close")):s},clear:function(){return s.set("clear")},set:function(b,c,d){var e,f,g=a.isPlainObject(b),h=g?b:{};if(d=g&&a.isPlainObject(c)?c:d||{},b){g||(h[b]=c);for(e in h)f=h[e],e in s.component.item&&s.component.set(e,f,d),("select"==e||"clear"==e)&&q.val("clear"==e?"":s.get(e,o.format)).trigger("change");s.render()}return d.muted?s:s.trigger("set",h)},get:function(a,c){return a=a||"value",null!=n[a]?n[a]:"value"==a?d.value:a in s.component.item?"string"==typeof c?b._.trigger(s.component.formats.toString,s.component,[c,s.component.get(a)]):s.component.get(a):void 0},on:function(b,c){var d,e,f=a.isPlainObject(b),g=f?b:{};if(b){f||(g[b]=c);for(d in g)e=g[d],n.methods[d]=n.methods[d]||[],n.methods[d].push(e)}return s},off:function(){var a,b,c=arguments;for(a=0,namesCount=c.length;namesCount>a;a+=1)b=c[a],b in n.methods&&delete n.methods[b];return s},trigger:function(a,c){var d=n.methods[a];return d&&d.map(function(a){b._.trigger(a,s,[c])}),s}};return new r}function c(b,c,e){if(a.isPlainObject(c))for(var f in c)d(b,f,c[f]);else d(b,c,e)}function d(a,b,c){a.setAttribute(("role"==b?"":"aria-")+b,c)}function e(b,c){a.isPlainObject(b)||(b={attribute:c}),c="";for(var d in b){var e=("role"==d?"":"aria-")+d,f=b[d];c+=null==f?"":e+'="'+b[d]+'"'}return c}var f=a(document);return b.klasses=function(a){return a=a||"picker",{picker:a,opened:a+"--opened",focused:a+"--focused",input:a+"__input",active:a+"__input--active",holder:a+"__holder",frame:a+"__frame",wrap:a+"__wrap",box:a+"__box"}},b._={group:function(a){for(var c,d="",e=b._.trigger(a.min,a);e<=b._.trigger(a.max,a,[e]);e+=a.i)c=b._.trigger(a.item,a,[e]),d+=b._.node(a.node,c[0],c[1],c[2]);return d},node:function(b,c,d,e){return c?(c=a.isArray(c)?c.join(""):c,d=d?' class="'+d+'"':"",e=e?" "+e:"","<"+b+d+e+">"+c+"</"+b+">"):""},lead:function(a){return(10>a?"0":"")+a},trigger:function(a,b,c){return"function"==typeof a?a.apply(b,c||[]):a},digits:function(a){return/\d/.test(a[1])?2:1},isDate:function(a){return{}.toString.call(a).indexOf("Date")>-1&&this.isInteger(a.getDate())},isInteger:function(a){return{}.toString.call(a).indexOf("Number")>-1&&a%1===0},ariaAttr:e},b.extend=function(c,d){a.fn[c]=function(e,f){var g=this.data(c);return"picker"==e?g:g&&"string"==typeof e?(b._.trigger(g[e],g,[f]),this):this.each(function(){var f=a(this);f.data(c)||new b(this,c,d,e)})},a.fn[c].defaults=d.defaults},b});
js/pickadate/picker.time.js ADDED
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Time picker for pickadate.js v3.4.0
3
+ * http://amsul.github.io/pickadate.js/time.htm
4
+ */
5
+ !function(a){"function"==typeof define&&define.amd?define(["picker","jquery"],a):a(Picker,jQuery)}(function(a,b){function c(a,b){var c=this,d=a.$node[0].value,e=a.$node.data("value"),f=e||d,g=e?b.formatSubmit:b.format;c.settings=b,c.$node=a.$node,c.queue={interval:"i",min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse create validate",view:"parse create validate",disable:"deactivate",enable:"activate"},c.item={},c.item.interval=b.interval||30,c.item.disable=(b.disable||[]).slice(0),c.item.enable=-function(a){return a[0]===!0?a.shift():-1}(c.item.disable),c.set("min",b.min).set("max",b.max).set("now"),f?c.set("select",f,{format:g,fromValue:!!d}):c.set("select",null).set("highlight",c.item.now),c.key={40:1,38:-1,39:1,37:-1,go:function(a){c.set("highlight",c.item.highlight.pick+a*c.item.interval,{interval:a*c.item.interval}),this.render()}},a.on("render",function(){var c=a.$root.children(),d=c.find("."+b.klass.viewset);d.length&&(c[0].scrollTop=~~d.position().top-2*d[0].clientHeight)}).on("open",function(){a.$root.find("button").attr("disable",!1)}).on("close",function(){a.$root.find("button").attr("disable",!0)})}var d=24,e=60,f=12,g=d*e,h=a._;c.prototype.set=function(a,b,c){var d=this,e=d.item;return null===b?(e[a]=b,d):(e["enable"==a?"disable":"flip"==a?"enable":a]=d.queue[a].split(" ").map(function(e){return b=d[e](a,b,c)}).pop(),"select"==a?d.set("highlight",e.select,c):"highlight"==a?d.set("view",e.highlight,c):"interval"==a?d.set("min",e.min,c).set("max",e.max,c):a.match(/^(flip|min|max|disable|enable)#x2F;)&&("min"==a&&d.set("max",e.max,c),e.select&&d.disabled(e.select)&&d.set("select",e.select,c),e.highlight&&d.disabled(e.highlight)&&d.set("highlight",e.highlight,c)),d)},c.prototype.get=function(a){return this.item[a]},c.prototype.create=function(a,c,f){var i=this;return c=void 0===c?a:c,h.isDate(c)&&(c=[c.getHours(),c.getMinutes()]),b.isPlainObject(c)&&h.isInteger(c.pick)?c=c.pick:b.isArray(c)?c=+c[0]*e+ +c[1]:h.isInteger(c)||(c=i.now(a,c,f)),"max"==a&&c<i.item.min.pick&&(c+=g),"min"!=a&&"max"!=a&&(c-i.item.min.pick)%i.item.interval!==0&&(c+=i.item.interval),c=i.normalize(a,c,f),{hour:~~(d+c/e)%d,mins:(e+c%e)%e,time:(g+c)%g,pick:c}},c.prototype.createRange=function(a,c){var d=this,e=function(a){return a===!0||b.isArray(a)||h.isDate(a)?d.create(a):a};return h.isInteger(a)||(a=e(a)),h.isInteger(c)||(c=e(c)),h.isInteger(a)&&b.isPlainObject(c)?a=[c.hour,c.mins+a*d.settings.interval]:h.isInteger(c)&&b.isPlainObject(a)&&(c=[a.hour,a.mins+c*d.settings.interval]),{from:e(a),to:e(c)}},c.prototype.withinRange=function(a,b){return a=this.createRange(a.from,a.to),b.pick>=a.from.pick&&b.pick<=a.to.pick},c.prototype.overlapRanges=function(a,b){var c=this;return a=c.createRange(a.from,a.to),b=c.createRange(b.from,b.to),c.withinRange(a,b.from)||c.withinRange(a,b.to)||c.withinRange(b,a.from)||c.withinRange(b,a.to)},c.prototype.now=function(a,b){var c,d=this.item.interval,f=new Date,g=f.getHours()*e+f.getMinutes(),i=h.isInteger(b);return g-=g%d,c=0>b&&-d>=d*b+g,g+="min"==a&&c?0:d,i&&(g+=d*(c&&"max"!=a?b+1:b)),g},c.prototype.normalize=function(a,b){var c=this.item.interval,d=this.item.min&&this.item.min.pick||0;return b-="min"==a?0:(b-d)%c},c.prototype.measure=function(a,c,f){var g=this;return c?c===!0||h.isInteger(c)?c=g.now(a,c,f):b.isPlainObject(c)&&h.isInteger(c.pick)&&(c=g.normalize(a,c.pick,f)):c="min"==a?[0,0]:[d-1,e-1],c},c.prototype.validate=function(a,b,c){var d=this,e=c&&c.interval?c.interval:d.item.interval;return d.disabled(b)&&(b=d.shift(b,e)),b=d.scope(b),d.disabled(b)&&(b=d.shift(b,-1*e)),b},c.prototype.disabled=function(a){var c=this,d=c.item.disable.filter(function(d){return h.isInteger(d)?a.hour==d:b.isArray(d)||h.isDate(d)?a.pick==c.create(d).pick:b.isPlainObject(d)?c.withinRange(d,a):void 0});return d=d.length&&!d.filter(function(a){return b.isArray(a)&&"inverted"==a[2]||b.isPlainObject(a)&&a.inverted}).length,-1===c.item.enable?!d:d||a.pick<c.item.min.pick||a.pick>c.item.max.pick},c.prototype.shift=function(a,b){var c=this,d=c.item.min.pick,e=c.item.max.pick;for(b=b||c.item.interval;c.disabled(a)&&(a=c.create(a.pick+=b),!(a.pick<=d||a.pick>=e)););return a},c.prototype.scope=function(a){var b=this.item.min.pick,c=this.item.max.pick;return this.create(a.pick>c?c:a.pick<b?b:a)},c.prototype.parse=function(a,c,d){var f,g,i,j,k,l=this,m={};if(!c||h.isInteger(c)||b.isArray(c)||h.isDate(c)||b.isPlainObject(c)&&h.isInteger(c.pick))return c;d&&d.format||(d=d||{},d.format=l.settings.format),l.formats.toArray(d.format).map(function(a){var b,d=l.formats[a],e=d?h.trigger(d,l,[c,m]):a.replace(/^!/,"").length;d&&(b=c.substr(0,e),m[a]=b.match(/^\d+#x2F;)?+b:b),c=c.substr(e)});for(j in m)k=m[j],h.isInteger(k)?j.match(/^(h|hh)#x2F;i)?(f=k,("h"==j||"hh"==j)&&(f%=12)):"i"==j&&(g=k):j.match(/^a#x2F;i)&&k.match(/^p/i)&&("h"in m||"hh"in m)&&(i=!0);return(i?f+12:f)*e+g},c.prototype.formats={h:function(a,b){return a?h.digits(a):b.hour%f||f},hh:function(a,b){return a?2:h.lead(b.hour%f||f)},H:function(a,b){return a?h.digits(a):""+b.hour%24},HH:function(a,b){return a?h.digits(a):h.lead(b.hour%24)},i:function(a,b){return a?2:h.lead(b.mins)},a:function(a,b){return a?4:g/2>b.time%g?"a.m.":"p.m."},A:function(a,b){return a?2:g/2>b.time%g?"AM":"PM"},toArray:function(a){return a.split(/(h{1,2}|H{1,2}|i|a|A|!.)/g)},toString:function(a,b){var c=this;return c.formats.toArray(a).map(function(a){return h.trigger(c.formats[a],c,[0,b])||a.replace(/^!/,"")}).join("")}},c.prototype.isTimeExact=function(a,c){var d=this;return h.isInteger(a)&&h.isInteger(c)||"boolean"==typeof a&&"boolean"==typeof c?a===c:(h.isDate(a)||b.isArray(a))&&(h.isDate(c)||b.isArray(c))?d.create(a).pick===d.create(c).pick:b.isPlainObject(a)&&b.isPlainObject(c)?d.isTimeExact(a.from,c.from)&&d.isTimeExact(a.to,c.to):!1},c.prototype.isTimeOverlap=function(a,c){var d=this;return h.isInteger(a)&&(h.isDate(c)||b.isArray(c))?a===d.create(c).hour:h.isInteger(c)&&(h.isDate(a)||b.isArray(a))?c===d.create(a).hour:b.isPlainObject(a)&&b.isPlainObject(c)?d.overlapRanges(a,c):!1},c.prototype.flipEnable=function(a){var b=this.item;b.enable=a||(-1==b.enable?1:-1)},c.prototype.deactivate=function(a,c){var d=this,e=d.item.disable.slice(0);return"flip"==c?d.flipEnable():c===!1?(d.flipEnable(1),e=[]):c===!0?(d.flipEnable(-1),e=[]):c.map(function(a){for(var c,f=0;f<e.length;f+=1)if(d.isTimeExact(a,e[f])){c=!0;break}c||(h.isInteger(a)||h.isDate(a)||b.isArray(a)||b.isPlainObject(a)&&a.from&&a.to)&&e.push(a)}),e},c.prototype.activate=function(a,c){var d=this,e=d.item.disable,f=e.length;return"flip"==c?d.flipEnable():c===!0?(d.flipEnable(1),e=[]):c===!1?(d.flipEnable(-1),e=[]):c.map(function(a){var c,g,i,j;for(i=0;f>i;i+=1){if(g=e[i],d.isTimeExact(g,a)){c=e[i]=null,j=!0;break}if(d.isTimeOverlap(g,a)){b.isPlainObject(a)?(a.inverted=!0,c=a):b.isArray(a)?(c=a,c[2]||c.push("inverted")):h.isDate(a)&&(c=[a.getFullYear(),a.getMonth(),a.getDate(),"inverted"]);break}}if(c)for(i=0;f>i;i+=1)if(d.isTimeExact(e[i],a)){e[i]=null;break}if(j)for(i=0;f>i;i+=1)if(d.isTimeOverlap(e[i],a)){e[i]=null;break}c&&e.push(c)}),e.filter(function(a){return null!=a})},c.prototype.i=function(a,b){return h.isInteger(b)&&b>0?b:this.item.interval},c.prototype.nodes=function(a){var b=this,c=b.settings,d=b.item.select,e=b.item.highlight,f=b.item.view,g=b.item.disable;return h.node("ul",h.group({min:b.item.min.pick,max:b.item.max.pick,i:b.item.interval,node:"li",item:function(a){a=b.create(a);var i=a.pick,j=d&&d.pick==i,k=e&&e.pick==i,l=g&&b.disabled(a);return[h.trigger(b.formats.toString,b,[h.trigger(c.formatLabel,b,[a])||c.format,a]),function(a){return j&&a.push(c.klass.selected),k&&a.push(c.klass.highlighted),f&&f.pick==i&&a.push(c.klass.viewset),l&&a.push(c.klass.disabled),a.join(" ")}([c.klass.listItem]),"data-pick="+a.pick+" "+h.ariaAttr({role:"button",controls:b.$node[0].id,checked:j&&b.$node.val()===h.trigger(b.formats.toString,b,[c.format,a])?!0:null,activedescendant:k?!0:null,disabled:l?!0:null})]}})+h.node("li",h.node("button",c.clear,c.klass.buttonClear,"type=button data-clear=1"+(a?"":" disable"))),c.klass.list)},c.defaults=function(a){return{clear:"Clear",format:"h:i A",interval:30,klass:{picker:a+" "+a+"--time",holder:a+"__holder",list:a+"__list",listItem:a+"__list-item",disabled:a+"__list-item--disabled",selected:a+"__list-item--selected",highlighted:a+"__list-item--highlighted",viewset:a+"__list-item--viewset",now:a+"__list-item--now",buttonClear:a+"__button--clear"}}}(a.klasses().picker),a.extend("pickatime",c)});
js/pickadate/themes/classic.css ADDED
@@ -0,0 +1,4 @@
1
+ .picker{font-size:16px;text-align:left;line-height:1.2;color:#000;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}/*!
2
+ * Classic picker styling for pickadate.js
3
+ * Demo: http://amsul.github.io/pickadate.js
4
+ */.picker{width:100%}.picker__holder{position:absolute;background:#fff;border:1px solid #aaa;border-top-width:0;border-bottom-width:0;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;min-width:176px;max-width:466px;max-height:0;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-webkit-transform:translateY(-1em) perspective(600px) rotateX(10deg);-moz-transform:translateY(-1em) perspective(600px) rotateX(10deg);transform:translateY(-1em) perspective(600px) rotateX(10deg);-webkit-transition:all .15s ease-out,max-height 0 .15s,border-width 0 .15s;-moz-transition:all .15s ease-out,max-height 0 .15s,border-width 0 .15s;transition:all .15s ease-out,max-height 0 .15s,border-width 0 .15s}.picker__frame{padding:1px}.picker__wrap{margin:-1px}.picker--opened .picker__holder{max-height:25em;-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1;border-top-width:1px;border-bottom-width:1px;-webkit-transform:translateY(0) perspective(600px) rotateX(0);-moz-transform:translateY(0) perspective(600px) rotateX(0);transform:translateY(0) perspective(600px) rotateX(0);-webkit-transition:all .15s ease-out,max-height 0,border-width 0;-moz-transition:all .15s ease-out,max-height 0,border-width 0;transition:all .15s ease-out,max-height 0,border-width 0;-webkit-box-shadow:0 6px 18px 1px rgba(0,0,0,.12);-moz-box-shadow:0 6px 18px 1px rgba(0,0,0,.12);box-shadow:0 6px 18px 1px rgba(0,0,0,.12)}
js/pickadate/themes/classic.date.css ADDED
@@ -0,0 +1 @@
1
+ .picker__box{padding:0 1em}.picker__header{text-align:center;position:relative;margin-top:.75em}.picker__month,.picker__year{font-weight:500;display:inline-block;margin-left:.25em;margin-right:.25em}.picker__year{color:#999;font-size:.8em;font-style:italic}.picker__select--month,.picker__select--year{border:1px solid #b7b7b7;height:2.5em;padding:.5em .25em;margin-left:.25em;margin-right:.25em;font-size:.6em}@media (min-width:24.5em){.picker__select--month,.picker__select--year{font-size:.8em;margin-top:-.5em}}.picker__select--month{width:35%}.picker__select--year{width:22.5%}.picker__select--month:focus,.picker__select--year:focus{border-color:#0089ec}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;top:-.25em}@media (min-width:24.5em){.picker__nav--next,.picker__nav--prev{top:-.33em}}.picker__nav--prev{left:-1em;padding-right:1.25em}@media (min-width:24.5em){.picker__nav--prev{padding-right:1.5em}}.picker__nav--next{right:-1em;padding-left:1.25em}@media (min-width:24.5em){.picker__nav--next{padding-left:1.5em}}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.75em solid #000;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.75em solid #000}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0;border-right-color:#f5f5f5;border-left-color:#f5f5f5}.picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit;width:100%;margin-top:.75em;margin-bottom:.5em}@media (min-height:33.875em){.picker__table{margin-bottom:.75em}}.picker__table td{margin:0;padding:0}.picker__weekday{width:14.285714286%;font-size:.75em;padding-bottom:.25em;color:#999;font-weight:500}@media (min-height:33.875em){.picker__weekday{padding-bottom:.5em}}.picker__day{padding:.3125em 0;font-weight:200;border:1px solid transparent}.picker__day--today{color:#0089ec;position:relative}.picker__day--today:before{content:" ";position:absolute;top:2px;right:2px;width:0;height:0;border-top:.5em solid #0059bc;border-left:.5em solid transparent}.picker__day--selected,.picker__day--selected:hover{border-color:#0089ec}.picker__day--highlighted{background:#b1dcfb}.picker__day--disabled:before{border-top-color:#aaa}.picker__day--outfocus{color:#ddd}.picker__day--infocus:hover,.picker__day--outfocus:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{background:#0089ec;color:#fff}.picker__day--disabled,.picker__day--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__day--highlighted.picker__day--disabled,.picker__day--highlighted.picker__day--disabled:hover{background:#bbb}.picker__footer{text-align:center}.picker__button--clear,.picker__button--today{border:1px solid #fff;background:#fff;font-size:.8em;padding:.66em 0;font-weight:700;width:50%;display:inline-block;vertical-align:bottom}.picker__button--clear:hover,.picker__button--today:hover{cursor:pointer;color:#000;background:#b1dcfb;border-bottom-color:#b1dcfb}.picker__button--clear:focus,.picker__button--today:focus{background:#b1dcfb;border-color:#0089ec;outline:0}.picker__button--clear:before,.picker__button--today:before{position:relative;display:inline-block;height:0}.picker__button--today:before{content:" ";margin-right:.45em;top:-.05em;width:0;border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker__button--clear:before{content:"\D7";margin-right:.35em;top:-.1em;color:#e20;vertical-align:top;font-size:1.1em}
js/pickadate/themes/classic.time.css ADDED
@@ -0,0 +1 @@
1
+ .picker__list{list-style:none;padding:.75em 0 4.2em;margin:0}.picker__list-item{border-bottom:1px solid #ddd;border-top:1px solid #ddd;margin-bottom:-1px;position:relative;background:#fff;padding:.75em 1.25em}@media (min-height:46.75em){.picker__list-item{padding:.5em 1em}}.picker__list-item:hover{cursor:pointer;color:#000;background:#b1dcfb;border-color:#0089ec;z-index:10}.picker__list-item--selected,.picker__list-item--selected:hover{border-color:#0089ec;z-index:10}.picker__list-item--highlighted{background:#b1dcfb}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{background:#0089ec;color:#fff}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{background:#f5f5f5;color:#ddd;cursor:default;border-color:#ddd;z-index:auto}.picker--time .picker__button--clear{display:block;width:80%;margin:1em auto 0;padding:1em 1.25em;background:0 0;border:0;font-weight:500;font-size:.67em;text-align:center;text-transform:uppercase;color:#666}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{background:#b1dcfb;background:#e20;border-color:#e20;cursor:pointer;color:#fff;outline:0}.picker--time .picker__button--clear:before{top:-.25em;color:#666;font-size:1.25em;font-weight:700}.picker--time .picker__button--clear:focus:before,.picker--time .picker__button--clear:hover:before{color:#fff}.picker--time{min-width:256px;max-width:320px}.picker--time .picker__holder{background:#f2f2f2}@media (min-height:40.125em){.picker--time .picker__holder{font-size:.875em}}.picker--time .picker__box{padding:0;position:relative}
js/pickadate/themes/default.css ADDED
@@ -0,0 +1,4 @@
1
+ .picker{font-size:16px;text-align:left;line-height:1.2;color:#000;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}/*!
2
+ * Default mobile-first, responsive styling for pickadate.js
3
+ * Demo: http://amsul.github.io/pickadate.js
4
+ */.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;-webkit-transition:background .15s ease-out,top 0s .15s;-moz-transition:background .15s ease-out,top 0s .15s;transition:background .15s ease-out,top 0s .15s}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:666px;width:100%;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:7.5%}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__wrap{display:block}}.picker__box{background:#fff;display:table-cell;vertical-align:middle}@media (min-height:26.5em){.picker__box{font-size:1.25em}}@media (min-height:33.875em){.picker__box{display:block;font-size:1.33em;border:1px solid #777;border-top-color:#898989;border-bottom-width:0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;-webkit-box-shadow:0 12px 36px 16px rgba(0,0,0,.24);-moz-box-shadow:0 12px 36px 16px rgba(0,0,0,.24);box-shadow:0 12px 36px 16px rgba(0,0,0,.24)}}@media (min-height:40.125em){.picker__box{font-size:1.5em;border-bottom-width:1px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}}.picker--opened .picker__holder{top:0;zoom:1;background:rgba(0,0,0,.32);-webkit-transition:background .15s ease-out;-moz-transition:background .15s ease-out;transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}
js/pickadate/themes/default.date.css ADDED
@@ -0,0 +1 @@
1
+ .picker__box{padding:0 1em}.picker__header{text-align:center;position:relative;margin-top:.75em}.picker__month,.picker__year{font-weight:500;display:inline-block;margin-left:.25em;margin-right:.25em}.picker__year{color:#999;font-size:.8em;font-style:italic}.picker__select--month,.picker__select--year{border:1px solid #b7b7b7;height:2.5em;padding:.5em .25em;margin-left:.25em;margin-right:.25em;font-size:.6em}@media (min-width:24.5em){.picker__select--month,.picker__select--year{font-size:.8em;margin-top:-.5em}}.picker__select--month{width:35%}.picker__select--year{width:22.5%}.picker__select--month:focus,.picker__select--year:focus{border-color:#0089ec}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;top:-.25em}@media (min-width:24.5em){.picker__nav--next,.picker__nav--prev{top:-.33em}}.picker__nav--prev{left:-1em;padding-right:1.25em}@media (min-width:24.5em){.picker__nav--prev{padding-right:1.5em}}.picker__nav--next{right:-1em;padding-left:1.25em}@media (min-width:24.5em){.picker__nav--next{padding-left:1.5em}}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.75em solid #000;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.75em solid #000}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0;border-right-color:#f5f5f5;border-left-color:#f5f5f5}.picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit;width:100%;margin-top:.75em;margin-bottom:.5em}@media (min-height:33.875em){.picker__table{margin-bottom:.75em}}.picker__table td{margin:0;padding:0}.picker__weekday{width:14.285714286%;font-size:.75em;padding-bottom:.25em;color:#999;font-weight:500}@media (min-height:33.875em){.picker__weekday{padding-bottom:.5em}}.picker__day{padding:.3125em 0;font-weight:200;border:1px solid transparent}.picker__day--today{color:#0089ec;position:relative}.picker__day--today:before{content:" ";position:absolute;top:2px;right:2px;width:0;height:0;border-top:.5em solid #0059bc;border-left:.5em solid transparent}.picker__day--selected,.picker__day--selected:hover{border-color:#0089ec}.picker__day--highlighted{background:#b1dcfb}.picker__day--disabled:before{border-top-color:#aaa}.picker__day--outfocus{color:#ddd}.picker__day--infocus:hover,.picker__day--outfocus:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{background:#0089ec;color:#fff}.picker__day--disabled,.picker__day--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__day--highlighted.picker__day--disabled,.picker__day--highlighted.picker__day--disabled:hover{background:#bbb}.picker__footer{text-align:center}.picker__button--clear,.picker__button--today{border:1px solid #fff;background:#fff;font-size:.8em;padding:.66em 0;font-weight:700;width:50%;display:inline-block;vertical-align:bottom}.picker__button--clear:hover,.picker__button--today:hover{cursor:pointer;color:#000;background:#b1dcfb;border-bottom-color:#b1dcfb}.picker__button--clear:focus,.picker__button--today:focus{background:#b1dcfb;border-color:#0089ec;outline:0}.picker__button--clear:before,.picker__button--today:before{position:relative;display:inline-block;height:0}.picker__button--today:before{content:" ";margin-right:.45em;top:-.05em;width:0;border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker__button--clear:before{content:"\D7";margin-right:.35em;top:-.1em;color:#e20;vertical-align:top;font-size:1.1em}
js/pickadate/themes/default.time.css ADDED
@@ -0,0 +1 @@
1
+ .picker__list{list-style:none;padding:.75em 0 4.2em;margin:0}.picker__list-item{border-bottom:1px solid #ddd;border-top:1px solid #ddd;margin-bottom:-1px;position:relative;background:#fff;padding:.75em 1.25em}@media (min-height:46.75em){.picker__list-item{padding:.5em 1em}}.picker__list-item:hover{cursor:pointer;color:#000;background:#b1dcfb;border-color:#0089ec;z-index:10}.picker__list-item--selected,.picker__list-item--selected:hover{border-color:#0089ec;z-index:10}.picker__list-item--highlighted{background:#b1dcfb}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{background:#0089ec;color:#fff}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{background:#f5f5f5;color:#ddd;cursor:default;border-color:#ddd;z-index:auto}.picker--time .picker__button--clear{display:block;width:80%;margin:1em auto 0;padding:1em 1.25em;background:0 0;border:0;font-weight:500;font-size:.67em;text-align:center;text-transform:uppercase;color:#666}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{background:#b1dcfb;background:#e20;border-color:#e20;cursor:pointer;color:#fff;outline:0}.picker--time .picker__button--clear:before{top:-.25em;color:#666;font-size:1.25em;font-weight:700}.picker--time .picker__button--clear:focus:before,.picker--time .picker__button--clear:hover:before{color:#fff}.picker--time .picker__frame{min-width:256px;max-width:320px}.picker--time .picker__box{font-size:1em;background:#f2f2f2;padding:0}@media (min-height:40.125em){.picker--time .picker__box{margin-bottom:5em}}
js/pickadate/themes/rtl.css ADDED
@@ -0,0 +1,3 @@
1
+ /*!
2
+ * Styling for RTL (right-to-left) languages using pickadate.js
3
+ */.picker{direction:rtl}.picker__nav--next{right:auto;left:-1em}.picker__nav--prev{left:auto;right:-1em}.picker__nav--next:before{border-left:0;border-right:.75em solid #000}.picker__nav--prev:before{border-right:0;border-left:.75em solid #000}
js/pickadate/translations/ar.js ADDED
@@ -0,0 +1 @@
1
+ $.extend($.fn.pickadate.defaults,{monthsFull:["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر"],weekdaysFull:["الاحد","الاثنين","الثلاثاء","الاربعاء","الخميس","الجمعة","السبت"],weekdaysShort:["الاحد","الاثنين","الثلاثاء","الاربعاء","الخميس","الجمعة","السبت"],today:"اليوم",clear:"مسح",format:"yyyy mmmm dd",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/bg_BG.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември"],monthsShort:["янр","фев","мар","апр","май","юни","юли","авг","сеп","окт","ное","дек"],weekdaysFull:["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"],weekdaysShort:["нд","пн","вт","ср","чт","пт","сб"],today:"днес",clear:"изтривам",firstDay:1,format:"d mmmm yyyy г.",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/bs_BA.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januar","februar","mart","april","maj","juni","juli","august","septembar","oktobar","novembar","decembar"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],weekdaysFull:["nedjelja","ponedjeljak","utorak","srijeda","cetvrtak","petak","subota"],weekdaysShort:["ne","po","ut","sr","če","pe","su"],today:"danas",clear:"izbrisati",firstDay:1,format:"dd. mmmm yyyy.",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/ca_ES.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Gener","Febrer","Març","Abril","Maig","juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],weekdaysFull:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],weekdaysShort:["diu","dil","dim","dmc","dij","div","dis"],today:"avui",clear:"esborrar",firstDay:1,format:"dddd d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/cs_CZ.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],monthsShort:["led","úno","bře","dub","kvě","čer","čvc","srp","zář","říj","lis","pro"],weekdaysFull:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],weekdaysShort:["ne","po","út","st","čt","pá","so"],today:"dnes",clear:"vymazat",firstDay:1,format:"d. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/da_DK.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],weekdaysFull:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],weekdaysShort:["søn","man","tir","ons","tor","fre","lør"],today:"i dag",clear:"slet",firstDay:1,format:"d. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/de_DE.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],weekdaysFull:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],weekdaysShort:["So","Mo","Di","Mi","Do","Fr","Sa"],today:"Heute",clear:"Löschen",firstDay:1,format:"dddd, dd. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/el_GR.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],weekdaysFull:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],weekdaysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],today:"σήμερα",clear:"Διαγραφή",firstDay:1,format:"d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/es_ES.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],monthsShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],weekdaysFull:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],weekdaysShort:["dom","lun","mar","mié","jue","vie","sáb"],today:"hoy",clear:"borrar",firstDay:1,format:"dddd d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/et_EE.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember"],monthsShort:["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets"],weekdaysFull:["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"],weekdaysShort:["püh","esm","tei","kol","nel","ree","lau"],today:"täna",clear:"kustutama",firstDay:1,format:"d. mmmm yyyy. a",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/eu_ES.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua"],monthsShort:["urt","ots","mar","api","mai","eka","uzt","abu","ira","urr","aza","abe"],weekdaysFull:["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],weekdaysShort:["ig.","al.","ar.","az.","og.","or.","lr."],today:"gaur",clear:"garbitu",firstDay:1,format:"dddd, yyyy(e)ko mmmmren da",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/fi_FI.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu"],weekdaysFull:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],weekdaysShort:["su","ma","ti","ke","to","pe","la"],today:"tänään",clear:"tyhjennä",firstDay:1,format:"d.m.yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/fr_FR.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fev","Mar","Avr","Mai","Juin","Juil","Aou","Sep","Oct","Nov","Dec"],weekdaysFull:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],weekdaysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],today:"Aujourd'hui",clear:"Effacer",firstDay:1,format:"dd mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/gl_ES.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["xan","feb","mar","abr","mai","xun","xul","ago","sep","out","nov","dec"],weekdaysFull:["domingo","luns","martes","mércores","xoves","venres","sábado"],weekdaysShort:["dom","lun","mar","mér","xov","ven","sab"],today:"hoxe",clear:"borrar",firstDay:1,format:"dddd d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/he_IL.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],weekdaysFull:["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום ששי","יום שבת"],weekdaysShort:["א","ב","ג","ד","ה","ו","ש"],today:"היום",clear:"למחוק",format:"yyyy mmmmב d dddd",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/hr_HR.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["sijećanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac"],monthsShort:["sij","velj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro"],weekdaysFull:["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],weekdaysShort:["ned","pon","uto","sri","čet","pet","sub"],today:"danas",clear:"izbrisati",firstDay:1,format:"d. mmmm yyyy.",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/hu_HU.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["január","február","március","aprilis","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","febr","márc","apr","máj","jún","júl","aug","szept","okt","nov","dec"],weekdaysFull:["vasámap","hétfö","kedd","szerda","csütörtök","péntek","szombat"],weekdaysShort:["V","H","K","SZ","CS","P","SZ"],today:"ma",clear:"töröl",firstDay:1,format:"yyyy. mmmm dd.",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/id_ID.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],weekdaysFull:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],weekdaysShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],today:"hari ini",clear:"menghapus",firstDay:1,format:"d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/is_IS.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],monthsShort:["jan","feb","mar","apr","maí","jún","júl","ágú","sep","okt","nóv","des"],weekdaysFull:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],weekdaysShort:["sun","mán","þri","mið","fim","fös","lau"],today:"Í dag",clear:"Hreinsa",firstDay:1,format:"dd. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/it_IT.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],monthsShort:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],weekdaysFull:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],weekdaysShort:["dom","lun","mar","mer","gio","ven","sab"],today:"oggi",clear:"cancellare",firstDay:1,format:"dddd d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/ja_JP.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],weekdaysFull:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],weekdaysShort:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],today:"今日",clear:"消去",firstDay:1,format:"yyyy mm dd",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/ko_KR.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],weekdaysFull:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],weekdaysShort:["일","월","화","수","목","금","토"],today:"오늘",clear:"취소",firstDay:1,format:"yyyy 년 mm 월 dd 일",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/nl_NL.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"],weekdaysFull:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],weekdaysShort:["zo","ma","di","wo","do","vr","za"],today:"vandaag",clear:"verwijderen",firstDay:1,format:"dddd d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/no_NO.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],weekdaysFull:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],weekdaysShort:["søn","man","tir","ons","tor","fre","lør"],today:"i dag",clear:"nullstill",firstDay:1,format:"dd. mmm. yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/pl_PL.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],monthsShort:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],weekdaysFull:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],weekdaysShort:["N","Pn","Wt","Śr","Cz","Pt","So"],today:"dzisiaj",clear:"usunąć",firstDay:1,format:"d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/pt_BR.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],monthsShort:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],weekdaysFull:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],weekdaysShort:["dom","seg","ter","qua","qui","sex","sab"],today:"hoje",clear:"excluir",format:"dddd, d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/pt_PT.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],monthsShort:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],weekdaysFull:["domingo","segunda","terça","quarta","quinta","sexta","sábado"],weekdaysShort:["dom","seg","ter","qua","qui","sex","sab"],today:"hoje",clear:"excluir",format:"d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/ro_RO.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie"],monthsShort:["ian","feb","mar","apr","mai","iun","iul","aug","sep","oct","noi","dec"],weekdaysFull:["duminică","luni","marţi","miercuri","joi","vineri","sâmbătă"],weekdaysShort:["D","L","Ma","Mi","J","V","S"],today:"azi",clear:"șterge",firstDay:1,format:"dd mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/ru_RU.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],weekdaysFull:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],weekdaysShort:["вс","пн","вт","ср","чт","пт","сб"],today:"сегодня",clear:"удалить",firstDay:1,format:"d mmmm yyyy г.",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/sk_SK.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthsShort:["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII"],weekdaysFull:["nedeļľa","pondelok","utorok","streda","š̌švrtok","piatok","sobota"],weekdaysShort:["Ne","Po","Ut","St","Št","Pi","So"],today:"dnes",clear:"vymazať",firstDay:1,format:"d. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/sl_SI.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec"],weekdaysFull:["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"],weekdaysShort:["ned","pon","tor","sre","čet","pet","sob"],today:"danes",clear:"izbriši",firstDay:1,format:"d. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/sv_SE.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],weekdaysFull:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],weekdaysShort:["sön","mån","tis","ons","tor","fre","lör"],today:"i dag",clear:"bort",firstDay:1,format:"d/m yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/th_TH.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],weekdaysFull:["อาทติย","จันทร","องัคาร","พุธ","พฤหสั บดี","ศกุร","เสาร"],weekdaysShort:["อ.","จ.","อ.","พ.","พฤ.","ศ.","ส."],today:"วันนี้",clear:"ลบ",format:"d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/tr_TR.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],weekdaysFull:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],weekdaysShort:["Pzr","Pzt","Sal","Çrş","Prş","Cum","Cmt"],today:"bugün",clear:"sil",firstDay:1,format:"dd mmmm yyyy dddd",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/uk_UA.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"],monthsShort:["січ","лют","бер","кві","тра","чер","лип","сер","вер","жов","лис","гру"],weekdaysFull:["неділя","понеділок","вівторок","середа","четвер","п‘ятниця","субота"],weekdaysShort:["нд","пн","вт","ср","чт","пт","сб"],today:"сьогодні",clear:"викреслити",firstDay:1,format:"dd mmmm yyyy p.",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/zh_CN.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["一","二","三","四","五","六","七","八","九","十","十一","十二"],weekdaysFull:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],weekdaysShort:["日","一","二","三","四","五","六"],today:"今日",clear:"删",firstDay:1,format:"yyyy 年 mm 月 dd 日",formatSubmit:"yyyy/mm/dd"});
js/pickadate/translations/zh_TW.js ADDED
@@ -0,0 +1 @@
1
+ jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["一","二","三","四","五","六","七","八","九","十","十一","十二"],weekdaysFull:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],weekdaysShort:["日","一","二","三","四","五","六"],today:"今天",clear:"清除",firstDay:1,format:"yyyy 年 mm 月 dd 日",formatSubmit:"yyyy/mm/dd"});
js/sortable.js ADDED
@@ -0,0 +1,18 @@
1
+ jQuery(document).ready(function($){
2
+ $('#mc-sortable').sortable({
3
+ update: function( event, ui ) {
4
+ $('#mc-sortable-update').html('Submit form to save changes');
5
+ $('#mc-sortable-update').css( { 'padding':'6px', 'background-color':'#ffc', 'font-weight':'bold' } );
6
+ }
7
+ });
8
+ $('#mc-sortable .up').on( 'click', function(e) {
9
+ e.preventDefault();
10
+ $(this).parents('li').insertBefore( $(this).parents('li').prev() );
11
+ $(this).parents('li').css( { 'background':'#ffc' } );
12
+ });
13
+ $('#mc-sortable .down').on( 'click', function(e) {
14
+ e.preventDefault();
15
+ $(this).parents('li').insertAfter( $(this).parents('li').next() );
16
+ $(this).parents('li').css( { 'background':'#ffc' } );
17
+ });
18
+ });
js/tabs.js ADDED
@@ -0,0 +1,15 @@
1
+ jQuery(document).ready(function($){
2
+ var tabs = $('.mc-tabs .wptab').length;
3
+ $('.mc-tabs .tabs a[href="#'+firstItem+'"]').addClass('active');
4
+ if ( tabs > 1 ) {
5
+ $('.mc-tabs .wptab').not('#'+firstItem).hide();
6
+ $('.mc-tabs .tabs a').on('click',function(e) {
7
+ e.preventDefault();
8
+ $('.mc-tabs .tabs a').removeClass('active');
9
+ $(this).addClass('active');
10
+ var target = $(this).attr('href');
11
+ $('.mc-tabs .wptab').not(target).hide();
12
+ $(target).show();
13
+ });
14
+ }
15
+ });
js/upload.js CHANGED
@@ -1,12 +1,53 @@
1
- jQuery(document).ready(function() {
2
- jQuery('#upload_image_button').click(function() {
3
- formfield = jQuery('#event_image').attr('name');
4
- tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');
5
- return false;
6
- });
7
- window.send_to_editor = function(html) {
8
- imgurl = jQuery('img',html).attr('src');
9
- jQuery('#event_image').val(imgurl);
10
- tb_remove();
11
- }
12
- });
1
+ var mediaPopup = '';
2
+ (function ($) {
3
+ "use strict";
4
+ $(function () {
5
+ /**
6
+ * Clears any existing Media Manager instances
7
+ *
8
+ * @author Gabe Shackle <gabe@hereswhatidid.com>
9
+ * @modified Joe Dolson <plugins@joedolson.com>
10
+ * @return void
11
+ */
12
+ function clear_existing() {
13
+ if ( typeof mediaPopup !== 'string' ) {
14
+ mediaPopup.detach();
15
+ mediaPopup = '';
16
+ }
17
+ }
18
+ $('.mc-image-upload')
19
+ .on( 'click', '.textfield-field', function(e) {
20
+ e.preventDefault();
21
+ var $self = $(this),
22
+ $inpField = $self.parent('.field-holder').find('#e_image'),
23
+ $idField = $self.parent('.field-holder').find('#e_image_id'),
24
+ $displayField = $self.parent('.field-holder').find('.event_image');
25
+ clear_existing();
26
+ mediaPopup = wp.media( {
27
+ multiple: false, // add, reset, false
28
+ title: 'Choose an Uploaded Document',
29
+ button: {
30
+ text: 'Select'
31
+ }
32
+ } );
33
+
34
+ mediaPopup.on( 'select', function() {
35
+ var selection = mediaPopup.state().get('selection'),
36
+ id = '',
37
+ img = '',
38
+ height = '',
39
+ width = '';
40
+ if( selection ) {
41
+ id = selection.first().attributes.id;
42
+ height = thumbHeight;
43
+ width = ( ( selection.first().attributes.width )/( selection.first().attributes.height ) )*thumbHeight;
44
+ img = "<img src='"+selection.first().attributes.url+"' width='"+width+"' height='"+height+"' />";
45
+ $inpField.val( selection.first().attributes.url );
46
+ $idField.val( id );
47
+ $displayField.html( img );
48
+ }
49
+ });
50
+ mediaPopup.open();
51
+ })
52
+ });
53
+ })(jQuery);
lang/my-calendar.pot CHANGED
@@ -1,322 +1,183 @@
1
- # Copyright (C) 2013 My Calendar
2
# This file is distributed under the same license as the My Calendar package.
3
msgid ""
4
msgstr ""
5
- "Project-Id-Version: My Calendar 2.2.10\n"
6
"Report-Msgid-Bugs-To: http://wordpress.org/tag/my-calendar\n"
7
- "POT-Creation-Date: 2013-09-30 21:00:54+00:00\n"
8
"MIME-Version: 1.0\n"
9
"Content-Type: text/plain; charset=UTF-8\n"
10
"Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
12
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
"Language-Team: LANGUAGE <LL@li.org>\n"
14
15
- #: button/generator.php:12
16
- msgid "You don't have access to this function."
17
msgstr ""
18
19
- #: button/generator.php:18 button/generator.php:44
20
- msgid "My Calendar Shortcode Generator"
21
- msgstr ""
22
-
23
- #: button/generator.php:46
24
- msgid ""
25
- "Navigational fields above and below the calendar: Feed links and print view "
26
- "will only display if they are enabled on your settings page. All other "
27
- "fields will appear if specified; the defaults specified in your settings "
28
- "will be used if the attribute is left blank. Use <code>none</code> to hide "
29
- "all navigation elements."
30
- msgstr ""
31
-
32
- #: button/generator.php:50
33
- msgid "Shortcode Attributes"
34
- msgstr ""
35
-
36
- #: button/generator.php:55
37