Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/polls.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorVinzenz Rosenkranz <vinzenz.rosenkranz@gmail.com>2016-02-20 19:15:07 +0300
committerVinzenz Rosenkranz <vinzenz.rosenkranz@gmail.com>2016-02-20 19:15:07 +0300
commitc3f94802f28f8b44335eb9d3067c6dc0de9f51e0 (patch)
tree95d52bcb317ad3ad1a673ae77719d8d4ad1984d4 /js
parent28fa26961991fa01736fcb8d226c3203f6b5a6a5 (diff)
initial commit0.6.0
Diffstat (limited to 'js')
-rw-r--r--js/create_edit.js460
-rw-r--r--js/jquery.datetimepicker.full.min.js2
-rw-r--r--js/last.js166
-rwxr-xr-xjs/start.js57
-rw-r--r--js/vote.js156
5 files changed, 841 insertions, 0 deletions
diff --git a/js/create_edit.js b/js/create_edit.js
new file mode 100644
index 00000000..fbe380cf
--- /dev/null
+++ b/js/create_edit.js
@@ -0,0 +1,460 @@
+var g_chosen_datetimes = [];
+var g_chosen_texts = [];
+var g_chosen_groups = [];
+var g_chosen_users = [];
+var g_tmp_groups = [];
+var g_tmp_users = [];
+var chosen_type = 'event';
+var access_type = '';
+
+$(document).ready(function () {
+ // enable / disable date picker
+ $('#id_expire_set').click(function(){
+ $('#id_expire_date').prop("disabled", !this.checked);
+
+ // TODO: this would be nice, for some reason it doesn't work
+ //if (this.checked) {
+ // $("id_expire_date").focus();
+ //}
+ });
+
+ var privateRadio = document.getElementById('private');
+ var hiddenRadio = document.getElementById('hidden');
+ var publicRadio = document.getElementById('public');
+ var selectRadio = document.getElementById('select');
+ privateRadio.onclick = hideSelectTable;
+ hiddenRadio.onclick = hideSelectTable;
+ publicRadio.onclick = hideSelectTable;
+ selectRadio.onclick = showSelectTable;
+ if(privateRadio.checked) access_type = 'registered';
+ if(hiddenRadio.checked) access_type = 'hidden';
+ if(publicRadio.checked) access_type = 'public';
+ if(selectRadio.checked) access_type = 'select';
+
+ var accessValues = document.getElementById('accessValues');
+ if(accessValues.value.length > 0) {
+ var accessValueArr = accessValues.value.split(';');
+ for(var i=0; i<accessValueArr.length; i++) {
+ var val = accessValueArr[i];
+ var index = val.indexOf('group_');
+ if(index == 0) {
+ g_chosen_groups.push(val.substring(6));
+ } else {
+ index = val.indexOf('user_');
+ if(index == 0) {
+ g_chosen_users.push(val.substring(5));
+ }
+ }
+ }
+ }
+
+ var chosenDates = document.getElementById('chosenDates').value;
+ var chosen = '';
+ if(chosenDates.length > 0) chosen = JSON.parse(chosenDates);
+ var text = document.getElementById('text');
+ var event = document.getElementById('event');
+ if(event.checked) {
+ chosen_type = event.value;
+ if(chosenDates.length > 0) g_chosen_datetimes = chosen;
+ for(var i=0; i<chosen.length; i++) {
+ var date = new Date(chosen[i]*1000);
+ var year = date.getFullYear();
+ var month = date.getMonth();
+ var day = date.getDate();
+ var newDate = new Date(year, month, day).getTime(); //save timestamp without time of day
+ month = '0' + (month+1); //month is 0-11, so +1
+ day = '0' + day;
+ var dateStr = day.substr(-2) + '.' + month.substr(-2) + '.' + year;
+ var hours = date.getHours();
+ var minutes = date.getMinutes();
+ var ms = (hours * 60 * 60 * 1000) + (minutes * 60 * 1000); //time of day in milliseconds
+ hours = '0' + hours;
+ minutes = '0' + minutes;
+ var timeStr = hours.substr(-2) + ':' + minutes.substr(-2);
+ addRowToList(newDate/1000, dateStr, ms/1000);
+ addColToList(ms/1000, timeStr, newDate/1000);
+ }
+ } else {
+ chosen_type = text.value;
+ if(chosenDates.length > 0) g_chosen_texts = chosen;
+ for(var i=0; i<chosen.length; i++) {
+ insertText(chosen[i], true);
+ }
+ }
+
+ var expirepicker = jQuery('#id_expire_date').datetimepicker({
+ inline: false,
+ onSelectDate: function(date, $i) {
+ var year = date.getFullYear();
+ var month = date.getMonth();
+ var day = date.getDate();
+ var newDate = new Date(year, month, day).getTime()/1000;
+ document.getElementById('expireTs').value = newDate;
+ },
+ timepicker: false,
+ format: 'd.m.Y'
+ });
+
+ var datepicker = jQuery('#datetimepicker').datetimepicker({
+ inline:true,
+ step: 15,
+ todayButton: true,
+ onSelectDate: function(date, $i) {
+ var year = date.getFullYear();
+ var month = date.getMonth();
+ var day = date.getDate();
+ var newDate = new Date(year, month, day).getTime(); //save timestamp without time of day
+ month = '0' + (month+1); //month is 0-11, so +1
+ day = '0' + day;
+ var dateStr = day.substr(-2) + '.' + month.substr(-2) + '.' + year;
+ addRowToList(newDate/1000, dateStr);
+ },
+ onSelectTime: function(date, $i) {
+ var hours = date.getHours();
+ var minutes = date.getMinutes();
+ var ms = (hours * 60 * 60 * 1000) + (minutes * 60 * 1000); //time of day in milliseconds
+ hours = '0' + hours;
+ minutes = '0' + minutes;
+ var timeStr = hours.substr(-2) + ':' + minutes.substr(-2);
+ addColToList(ms/1000, timeStr);
+ }
+ });
+
+ $(document).on('click', '.date-row', function(e) {
+ var tr = $(this).parent();
+ var dateId = parseInt(tr.attr('id'));
+ var index = tr.index();
+ var cells = tr[0].cells; //convert jQuery object to DOM
+ for(var i=1; i<cells.length; i++) {
+ var cell = cells[i];
+ var delIndex = g_chosen_datetimes.indexOf(dateId + parseInt(cell.id));
+ if(delIndex > -1) g_chosen_datetimes.splice(delIndex, 1);
+ }
+ var table = document.getElementById('selected-dates-table');
+ table.deleteRow(index);
+ });
+
+ $(document).on('click', '.date-col', function(e) {
+ var cellIndex = $(this).index();
+ var timeId = parseInt($(this).attr('id'));
+ var table = document.getElementById('selected-dates-table');
+ var rows = table.rows;
+ rows[0].deleteCell(cellIndex);
+ for(var i=1; i<rows.length; i++) {
+ var row = rows[i];
+ var delIndex = g_chosen_datetimes.indexOf(parseInt(row.id) + timeId);
+ if(delIndex > -1) g_chosen_datetimes.splice(delIndex, 1);
+ row.deleteCell(cellIndex);
+ }
+ });
+
+ $(document).on('click', '.text-row', function(e) {
+ var tr = $(this).parent();
+ var rowIndex = tr.index();
+ var name = $(this).html();
+ var delIndex = g_chosen_texts.indexOf(name);
+ if(delIndex > -1) g_chosen_texts.splice(index, 1);
+ var table = document.getElementById('selected-texts-table');
+ table.deleteRow(rowIndex);
+ });
+
+ $(document).on('click', '.icon-close', function(e) {
+ $(this).removeClass('icon-close');
+ $(this).addClass('icon-checkmark');
+ if($(this).attr('class').indexOf('is-text') > -1) {
+ var id = $(this).attr('id');
+ g_chosen_texts.push(id.substring(id.indexOf('_') + 1));
+ } else {
+ var dateId = $(this).parent().attr('id'); //timestamp of date
+ var timeId = $(this).attr('id');
+ g_chosen_datetimes.push(parseInt(dateId) + parseInt(timeId));
+ }
+ });
+
+ $(document).on('click', '.icon-checkmark', function(e) {
+ $(this).removeClass('icon-checkmark');
+ $(this).addClass('icon-close');
+ if($(this).attr('class').indexOf('is-text') > -1) {
+ var id = $(this).attr('id');
+ var index = g_chosen_texts.indexOf(id.substring(id.indexOf('_') + 1));
+ if(index > -1) g_chosen_texts.splice(index, 1);
+ } else {
+ var dateId = $(this).parent().attr('id'); //timestamp of date
+ var timeId = $(this).attr('id');
+ var index = g_chosen_datetimes.indexOf(parseInt(dateId) + parseInt(timeId));
+ if(index > -1) g_chosen_datetimes.splice(index, 1);
+ }
+ });
+
+ $(document).on('click', '#text-submit', function(e) {
+ var text = document.getElementById('text-title');
+ if(text.value.length == 0) {
+ alert('Please enter a text!');
+ return false;
+ }
+ insertText(text.value);
+ text.value = '';
+ });
+
+ $(document).on('click', '#button_cancel_access', function(e) {
+ g_tmp_groups = [];
+ g_tmp_users = [];
+ closeAccessDialog();
+ });
+
+ $(document).on('click', '#button_ok_access', function(e) {
+ g_chosen_groups = g_tmp_groups;
+ g_chosen_users = g_tmp_users;
+ g_tmp_groups = [];
+ g_tmp_users = [];
+ closeAccessDialog();
+ });
+
+ $(document).on('click', '.cl_user_item', function(e) {
+ $(this).switchClass('cl_user_item', 'cl_user_item_selected');
+ g_tmp_users.push(this.innerHTML);
+ });
+
+ $(document).on('click', '.cl_user_item_selected', function(e) {
+ $(this).switchClass('cl_user_item_selected', 'cl_user_item');
+ var index = g_tmp_users.indexOf(this.innerHTML);
+ if(index > -1) g_tmp_users.splice(index, 1);
+ });
+
+ $(document).on('click', '.cl_group_item', function(e) {
+ $(this).switchClass('cl_group_item', 'cl_group_item_selected');
+ g_tmp_groups.push(this.innerHTML);
+ });
+
+ $(document).on('click', '.cl_group_item_selected', function(e) {
+ $(this).switchClass('cl_group_item_selected', 'cl_group_item');
+ var index = g_tmp_groups.indexOf(this.innerHTML);
+ if(index > -1) g_tmp_groups.splice(index, 1);
+ });
+
+ $('input[type=radio][name=pollType]').change(function() {
+ if(this.value == 'event') {
+ chosen_type = 'event';
+ document.getElementById('text-select-container').style.display = 'none';
+ document.getElementById('date-select-container').style.display = 'inline';
+ } else {
+ chosen_type = 'text';
+ document.getElementById('text-select-container').style.display = 'inline';
+ document.getElementById('date-select-container').style.display = 'none';
+ }
+ });
+
+ $('input[type=radio][name=accessType]').change(function() {
+ access_type = this.value;
+ if(access_type == 'select') {
+ showAccessDialog();
+ } else {
+ closeAccessDialog();
+ }
+ });
+
+ $('input[type=checkbox][name=check_expire]').change(function() {
+ if(!$(this).is(':checked')) {
+ document.getElementById('expireTs').value = '';
+ }
+ });
+
+ var form = document.finish_poll;
+ var submit_finish_poll = document.getElementById('submit_finish_poll');
+ if (submit_finish_poll != null) {
+ submit_finish_poll.onclick = function() {
+ if (g_chosen_datetimes.length === 0 && g_chosen_texts.length == 0) {
+ alert(t('polls', 'Nothing selected!\nClick on cells to turn them green.'));
+ return false;
+ }
+ if(chosen_type == 'event') form.elements['chosenDates'].value = JSON.stringify(g_chosen_datetimes);
+ else form.elements['chosenDates'].value = JSON.stringify(g_chosen_texts);
+ var title = document.getElementById('pollTitle');
+ if (title == null || title.value.length == 0) {
+ alert(t('polls', 'You must enter at least a title for the new poll.'));
+ return false;
+ }
+
+ if(access_type == 'select') {
+ if(g_chosen_groups.length == 0 && g_chosen_users == 0) {
+ alert(t('polls', 'Please select at least one user or group!'));
+ return false;
+ }
+ form.elements['accessValues'].value = JSON.stringify({
+ groups: g_chosen_groups,
+ users: g_chosen_users
+ });
+ }
+ form.submit();
+ }
+ }
+});
+
+function insertText(text, set=false) {
+ var table = document.getElementById('selected-texts-table');
+ var tr = table.insertRow(-1);
+ var td = tr.insertCell(-1);
+ td.innerHTML = text;
+ td.className = 'text-row';
+ td = tr.insertCell(-1);
+ if(set) td.className = 'icon-checkmark is-text';
+ else td.className = 'icon-close is-text';
+ td.id = 'text_' + text;
+}
+
+function addRowToList(ts, text, timeTs=-1) {
+ var table = document.getElementById('selected-dates-table');
+ var rows = table.rows;
+ if(rows.length == 0) {
+ var tr = table.insertRow(-1); //start new header
+ tr.insertCell(-1);
+ tr = table.insertRow(-1); //append new row
+ tr.id = ts;
+ var td = tr.insertCell(-1);
+ td.className = 'date-row';
+ td.innerHTML = text;
+ return;
+ }
+ var curr;
+ for(var i=1; i<rows.length; i++) {
+ curr = rows[i];
+ if(curr.id == ts) return; //already in table, cancel
+ if(curr.id > ts) {
+ var tr = table.insertRow(i); //insert row at current index
+ tr.id = ts;
+ var td = tr.insertCell(-1);
+ td.className = 'date-row';
+ td.innerHTML = text;
+ for(var j=1; j<rows[0].cells.length; j++) {
+ var tdId = rows[0].cells[j].id;
+ var td = tr.insertCell(-1);
+ if(timeTs == tdId) td.className = 'icon-checkmark';
+ else td.className = 'icon-close';
+ td.id = tdId;
+ td.innerHTML = '';
+ }
+ return;
+ }
+ }
+ var tr = table.insertRow(-1); //highest value, append new row
+ tr.id = ts;
+ var td = tr.insertCell(-1);
+ td.className = 'date-row';
+ td.innerHTML = text;
+ for(var j=1; j<rows[0].cells.length; j++) {
+ var tdId = rows[0].cells[j].id;
+ var td = tr.insertCell(-1);
+ if(timeTs == tdId) td.className = 'icon-checkmark';
+ else td.className = 'icon-close';
+ td.id = tdId;
+ td.innerHTML = '';
+ }
+ return;
+}
+
+function addColToList(ts, text, dateTs=-1) {
+ var table = document.getElementById('selected-dates-table');
+ var rows = table.rows;
+ if(rows.length == 0) {
+ var tr = table.insertRow(-1);
+ tr.insertCell(-1);
+ }
+ rows = table.rows;
+
+ var tmpRow = rows[0];
+ var index = -1;
+ var found = false;
+ for(var i=0; i<tmpRow.cells.length; i++) {
+ var curr = tmpRow.cells[i];
+ if(curr.id == ts) return; //already in table, cancel
+ if(curr.id > ts) {
+ index = i;
+ break;
+ }
+ }
+
+ for(var i=0; i<rows.length; i++) {
+ var row = rows[i];
+ var cells = row.cells;
+ var td = row.insertCell(index);
+ //only display time in header row
+ if(i==0) {
+ td.innerHTML = text;
+ td.className = 'date-col';
+ } else {
+ td.innerHTML = '';
+ if(row.id == dateTs) td.className = 'icon-checkmark';
+ else td.className = 'icon-close';
+ }
+ td.id = ts;
+ }
+}
+
+//Popup dialog
+function showAccessDialog() {
+ var message = t('polls', 'Please choose the groups or users you want to add to your poll.');
+
+ // get the screen height and width
+ var maskHeight = $(document).height();
+ var maskWidth = $(window).width();
+
+ // calculate the values for center alignment
+ //var dialogTop = (maskHeight / 3) - ($('#dialog-box').height());
+ // todo: height doesn't work
+ var dialogTop = 100;
+ var dialogLeft = (maskWidth / 2) - ($('#dialog-box').width() / 2);
+
+ // assign values to the overlay and dialog box
+ $('#dialog-overlay').css({height: maskHeight, width: maskWidth}).show();
+ $('#dialog-box').css({top: dialogTop, left: dialogLeft}).show();
+
+ // display the message
+ $('#dialog-message').html(message);
+
+ var unselectedGrps = [].slice.call(document.getElementsByClassName('cl_group_item'));
+ var selectedGrps = [].slice.call(document.getElementsByClassName('cl_group_item_selected'));
+ var unselectedUsers = [].slice.call(document.getElementsByClassName('cl_user_item'));
+ var selectedUsers = [].slice.call(document.getElementsByClassName('cl_user_item_selected'));
+ cells_grp = unselectedGrps.concat(selectedGrps);
+ cells_usr = unselectedUsers.concat(selectedUsers);
+
+ var tmpGroups = g_chosen_groups.slice();
+ for(var i=0; i<cells_grp.length; i++) {
+ var curr = cells_grp[i];
+ curr.className = 'cl_group_item';
+ for(var j=0; j<tmpGroups.length; j++) {
+ if(tmpGroups[j] == curr.innerHTML) {
+ curr.className = 'cl_group_item_selected';
+ tmpGroups.splice(j, 1);
+ break;
+ }
+ }
+ }
+ var tmpUsers = g_chosen_users.slice();
+ for(var i=0; i<cells_usr.length; i++) {
+ var curr = cells_usr[i];
+ curr.className = 'cl_user_item';
+ for(var j=0; j<tmpUsers.length; j++) {
+ if(tmpUsers[j] == curr.innerHTML) {
+ curr.className = 'cl_user_item_selected';
+ tmpUsers.splice(j, 1);
+ break;
+ }
+ }
+ }
+ g_tmp_groups = g_chosen_groups.slice();
+ g_tmp_users = g_chosen_users.slice();
+}
+
+function closeAccessDialog() {
+ $('#dialog-box').hide();
+ return false;
+}
+
+function showSelectTable() {
+ document.getElementById("table_access").style.display = "table";
+}
+
+function hideSelectTable() {
+ document.getElementById("table_access").style.display = "none";
+}
diff --git a/js/jquery.datetimepicker.full.min.js b/js/jquery.datetimepicker.full.min.js
new file mode 100644
index 00000000..633d0a8c
--- /dev/null
+++ b/js/jquery.datetimepicker.full.min.js
@@ -0,0 +1,2 @@
+var DateFormatter;!function(){"use strict";var e,t,a,n,r,o;r=864e5,o=3600,e=function(e,t){return"string"==typeof e&&"string"==typeof t&&e.toLowerCase()===t.toLowerCase()},t=function(e,a,n){var r=n||"0",o=e.toString();return o.length<a?t(r+o,a):o},a=function(e){var t,n;for(e=e||{},t=1;t<arguments.length;t++)if(n=arguments[t])for(var r in n)n.hasOwnProperty(r)&&("object"==typeof n[r]?a(e[r],n[r]):e[r]=n[r]);return e},n={dateSettings:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["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"],meridiem:["AM","PM"],ordinal:function(e){var t=e%10,a={1:"st",2:"nd",3:"rd"};return 1!==Math.floor(e%100/10)&&a[t]?a[t]:"th"}},separators:/[ \-+\/\.T:@]/g,validParts:/[dDjlNSwzWFmMntLoYyaABgGhHisueTIOPZcrU]/g,intParts:/[djwNzmnyYhHgGis]/g,tzParts:/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,tzClip:/[^-+\dA-Z]/g},DateFormatter=function(e){var t=this,r=a(n,e);t.dateSettings=r.dateSettings,t.separators=r.separators,t.validParts=r.validParts,t.intParts=r.intParts,t.tzParts=r.tzParts,t.tzClip=r.tzClip},DateFormatter.prototype={constructor:DateFormatter,parseDate:function(t,a){var n,r,o,i,s,d,u,l,f,c,h=this,m=!1,g=!1,p=h.dateSettings,y={date:null,year:null,month:null,day:null,hour:0,min:0,sec:0};if(!t)return void 0;if(t instanceof Date)return t;if("number"==typeof t)return new Date(t);if("U"===a)return o=parseInt(t),o?new Date(1e3*o):t;if("string"!=typeof t)return"";if(n=a.match(h.validParts),!n||0===n.length)throw new Error("Invalid date format definition.");for(r=t.replace(h.separators,"\x00").split("\x00"),o=0;o<r.length;o++)switch(i=r[o],s=parseInt(i),n[o]){case"y":case"Y":f=i.length,2===f?y.year=parseInt((70>s?"20":"19")+i):4===f&&(y.year=s),m=!0;break;case"m":case"n":case"M":case"F":isNaN(i)?(d=p.monthsShort.indexOf(i),d>-1&&(y.month=d+1),d=p.months.indexOf(i),d>-1&&(y.month=d+1)):s>=1&&12>=s&&(y.month=s),m=!0;break;case"d":case"j":s>=1&&31>=s&&(y.day=s),m=!0;break;case"g":case"h":u=n.indexOf("a")>-1?n.indexOf("a"):n.indexOf("A")>-1?n.indexOf("A"):-1,c=r[u],u>-1?(l=e(c,p.meridiem[0])?0:e(c,p.meridiem[1])?12:-1,s>=1&&12>=s&&l>-1?y.hour=s+l-1:s>=0&&23>=s&&(y.hour=s)):s>=0&&23>=s&&(y.hour=s),g=!0;break;case"G":case"H":s>=0&&23>=s&&(y.hour=s),g=!0;break;case"i":s>=0&&59>=s&&(y.min=s),g=!0;break;case"s":s>=0&&59>=s&&(y.sec=s),g=!0}if(m===!0&&y.year&&y.month&&y.day)y.date=new Date(y.year,y.month-1,y.day,y.hour,y.min,y.sec,0);else{if(g!==!0)return!1;y.date=new Date(0,0,0,y.hour,y.min,y.sec,0)}return y.date},guessDate:function(e,t){if("string"!=typeof e)return e;var a,n,r,o,i=this,s=e.replace(i.separators,"\x00").split("\x00"),d=/^[djmn]/g,u=t.match(i.validParts),l=new Date,f=0;if(!d.test(u[0]))return e;for(n=0;n<s.length;n++){switch(f=2,r=s[n],o=parseInt(r.substr(0,2)),n){case 0:"m"===u[0]||"n"===u[0]?l.setMonth(o-1):l.setDate(o);break;case 1:"m"===u[0]||"n"===u[0]?l.setDate(o):l.setMonth(o-1);break;case 2:a=l.getFullYear(),r.length<4?(l.setFullYear(parseInt(a.toString().substr(0,4-r.length)+r)),f=r.length):(l.setFullYear=parseInt(r.substr(0,4)),f=4);break;case 3:l.setHours(o);break;case 4:l.setMinutes(o);break;case 5:l.setSeconds(o)}r.substr(f).length>0&&s.splice(n+1,0,r.substr(f))}return l},parseFormat:function(e,a){var n,i=this,s=i.dateSettings,d=/\\?(.?)/gi,u=function(e,t){return n[e]?n[e]():t};return n={d:function(){return t(n.j(),2)},D:function(){return s.daysShort[n.w()]},j:function(){return a.getDate()},l:function(){return s.days[n.w()]},N:function(){return n.w()||7},w:function(){return a.getDay()},z:function(){var e=new Date(n.Y(),n.n()-1,n.j()),t=new Date(n.Y(),0,1);return Math.round((e-t)/r)},W:function(){var e=new Date(n.Y(),n.n()-1,n.j()-n.N()+3),a=new Date(e.getFullYear(),0,4);return t(1+Math.round((e-a)/r/7),2)},F:function(){return s.months[a.getMonth()]},m:function(){return t(n.n(),2)},M:function(){return s.monthsShort[a.getMonth()]},n:function(){return a.getMonth()+1},t:function(){return new Date(n.Y(),n.n(),0).getDate()},L:function(){var e=n.Y();return e%4===0&&e%100!==0||e%400===0?1:0},o:function(){var e=n.n(),t=n.W(),a=n.Y();return a+(12===e&&9>t?1:1===e&&t>9?-1:0)},Y:function(){return a.getFullYear()},y:function(){return n.Y().toString().slice(-2)},a:function(){return n.A().toLowerCase()},A:function(){var e=n.G()<12?0:1;return s.meridiem[e]},B:function(){var e=a.getUTCHours()*o,n=60*a.getUTCMinutes(),r=a.getUTCSeconds();return t(Math.floor((e+n+r+o)/86.4)%1e3,3)},g:function(){return n.G()%12||12},G:function(){return a.getHours()},h:function(){return t(n.g(),2)},H:function(){return t(n.G(),2)},i:function(){return t(a.getMinutes(),2)},s:function(){return t(a.getSeconds(),2)},u:function(){return t(1e3*a.getMilliseconds(),6)},e:function(){var e=/\((.*)\)/.exec(String(a))[1];return e||"Coordinated Universal Time"},T:function(){var e=(String(a).match(i.tzParts)||[""]).pop().replace(i.tzClip,"");return e||"UTC"},I:function(){var e=new Date(n.Y(),0),t=Date.UTC(n.Y(),0),a=new Date(n.Y(),6),r=Date.UTC(n.Y(),6);return e-t!==a-r?1:0},O:function(){var e=a.getTimezoneOffset(),n=Math.abs(e);return(e>0?"-":"+")+t(100*Math.floor(n/60)+n%60,4)},P:function(){var e=n.O();return e.substr(0,3)+":"+e.substr(3,2)},Z:function(){return 60*-a.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(d,u)},r:function(){return"D, d M Y H:i:s O".replace(d,u)},U:function(){return a.getTime()/1e3||0}},u(e,e)},formatDate:function(e,t){var a,n,r,o,i,s=this,d="";if("string"==typeof e&&(e=s.parseDate(e,t),e===!1))return!1;if(e instanceof Date){for(r=t.length,a=0;r>a;a++)i=t.charAt(a),"S"!==i&&(o=s.parseFormat(i,e),a!==r-1&&s.intParts.test(i)&&"S"===t.charAt(a+1)&&(n=parseInt(o),o+=s.dateSettings.ordinal(n)),d+=o);return d}return""}}}(),function(e){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel","date-functions"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){"use strict";function t(e,t,a){this.date=e,this.desc=t,this.style=a}var a={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["January","Februar","Marts","April","Maj","Juni","July","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]}},value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,disabledMinTime:!1,disabledMaxTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},n=null,r="en",o="en",i={meridiem:["AM","PM"]},s=function(){var t=a.i18n[o],r={days:t.dayOfWeek,daysShort:t.dayOfWeekShort,months:t.months,monthsShort:e.map(t.months,function(e){return e.substring(0,3)})};n=new DateFormatter({dateSettings:e.extend({},i,r)})};e.datetimepicker={setLocale:function(e){var t=a.i18n[e]?e:r;o!=t&&(o=t,s())},RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"},s(),window.getComputedStyle||(window.getComputedStyle=function(e){return this.el=e,this.getPropertyValue=function(t){var a=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),a.test(t)&&(t=t.replace(a,function(e,t,a){return a.toUpperCase()})),e.currentStyle[t]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,n;for(a=t||0,n=this.length;n>a;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},e.fn.xdsoftScroller=function(t){return this.each(function(){var a,n,r,o,i,s=e(this),d=function(e){var t,a={x:0,y:0};return"touchstart"===e.type||"touchmove"===e.type||"touchend"===e.type||"touchcancel"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):("mousedown"===e.type||"mouseup"===e.type||"mousemove"===e.type||"mouseover"===e.type||"mouseout"===e.type||"mouseenter"===e.type||"mouseleave"===e.type)&&(a.x=e.clientX,a.y=e.clientY),a},u=100,l=!1,f=0,c=0,h=0,m=!1,g=0,p=function(){};return"hide"===t?void s.find(".xdsoft_scrollbar").hide():(e(this).hasClass("xdsoft_scroller_box")||(a=s.children().eq(0),n=s[0].clientHeight,r=a[0].offsetHeight,o=e('<div class="xdsoft_scrollbar"></div>'),i=e('<div class="xdsoft_scroller"></div>'),o.append(i),s.addClass("xdsoft_scroller_box").append(o),p=function(e){var t=d(e).y-f+g;0>t&&(t=0),t+i[0].offsetHeight>h&&(t=h-i[0].offsetHeight),s.trigger("scroll_element.xdsoft_scroller",[u?t/u:0])},i.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(a){n||s.trigger("resize_scroll.xdsoft_scroller",[t]),f=d(a).y,g=parseInt(i.css("margin-top"),10),h=o[0].offsetHeight,"mousedown"===a.type||"touchstart"===a.type?(document&&e(document.body).addClass("xdsoft_noselect"),e([document.body,window]).on("touchend mouseup.xdsoft_scroller",function r(){e([document.body,window]).off("touchend mouseup.xdsoft_scroller",r).off("mousemove.xdsoft_scroller",p).removeClass("xdsoft_noselect")}),e(document.body).on("mousemove.xdsoft_scroller",p)):(m=!0,a.stopPropagation(),a.preventDefault())}).on("touchmove",function(e){m&&(e.preventDefault(),p(e))}).on("touchend touchcancel",function(){m=!1,g=0}),s.on("scroll_element.xdsoft_scroller",function(e,t){n||s.trigger("resize_scroll.xdsoft_scroller",[t,!0]),t=t>1?1:0>t||isNaN(t)?0:t,i.css("margin-top",u*t),setTimeout(function(){a.css("marginTop",-parseInt((a[0].offsetHeight-n)*t,10))},10)}).on("resize_scroll.xdsoft_scroller",function(e,t,d){var l,f;n=s[0].clientHeight,r=a[0].offsetHeight,l=n/r,f=l*o[0].offsetHeight,l>1?i.hide():(i.show(),i.css("height",parseInt(f>10?f:10,10)),u=o[0].offsetHeight-i[0].offsetHeight,d!==!0&&s.trigger("scroll_element.xdsoft_scroller",[t||Math.abs(parseInt(a.css("marginTop"),10))/(r-n)]))}),s.on("mousewheel",function(e){var t=Math.abs(parseInt(a.css("marginTop"),10));return t-=20*e.deltaY,0>t&&(t=0),s.trigger("scroll_element.xdsoft_scroller",[t/(r-n)]),e.stopPropagation(),!1}),s.on("touchstart",function(e){l=d(e),c=Math.abs(parseInt(a.css("marginTop"),10))}),s.on("touchmove",function(e){if(l){e.preventDefault();var t=d(e);s.trigger("scroll_element.xdsoft_scroller",[(c-(t.y-l.y))/(r-n)])}}),s.on("touchend touchcancel",function(){l=!1,c=0})),void s.trigger("resize_scroll.xdsoft_scroller",[t]))})},e.fn.datetimepicker=function(r){var i,s,d=48,u=57,l=96,f=105,c=17,h=46,m=13,g=27,p=8,y=37,v=38,b=39,k=40,x=9,D=116,T=65,S=67,w=86,M=90,O=89,_=!1,W=e.isPlainObject(r)||!r?e.extend(!0,{},a,r):e.extend(!0,{},a),C=0,F=function(e){e.on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function t(){e.is(":disabled")||e.data("xdsoft_datetimepicker")||(clearTimeout(C),C=setTimeout(function(){e.data("xdsoft_datetimepicker")||i(e),e.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",t).trigger("open.xdsoft")},100))})};return i=function(a){function i(){var e,t=!1;return W.startDate?t=Y.strToDate(W.startDate):(t=W.value||(a&&a.val&&a.val()?a.val():""),t?t=Y.strToDateTime(t):W.defaultDate&&(t=Y.strToDateTime(W.defaultDate),W.defaultTime&&(e=Y.strtotime(W.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes())))),t&&Y.isValidDate(t)?j.data("changed",!0):t="",t||0}var s,C,F,P,A,Y,j=e('<div class="xdsoft_datetimepicker xdsoft_noselect"></div>'),H=e('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'),J=e('<div class="xdsoft_datepicker active"></div>'),z=e('<div class="xdsoft_mounthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button><div class="xdsoft_label xdsoft_month"><span></span><i></i></div><div class="xdsoft_label xdsoft_year"><span></span><i></i></div><button type="button" class="xdsoft_next"></button></div>'),I=e('<div class="xdsoft_calendar"></div>'),N=e('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'),L=N.find(".xdsoft_time_box").eq(0),E=e('<div class="xdsoft_time_variant"></div>'),B=e('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected</button>'),V=e('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'),G=e('<div class="xdsoft_select xdsoft_yearselect"><div></div></div>'),R=!1,U=0,q=0;W.id&&j.attr("id",W.id),W.style&&j.attr("style",W.style),W.weeks&&j.addClass("xdsoft_showweeks"),W.rtl&&j.addClass("xdsoft_rtl"),j.addClass("xdsoft_"+W.theme),j.addClass(W.className),z.find(".xdsoft_month span").after(V),z.find(".xdsoft_year span").after(G),z.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(t){var a,n,r=e(this).find(".xdsoft_select").eq(0),o=0,i=0,s=r.is(":visible");for(z.find(".xdsoft_select").hide(),Y.currentTime&&(o=Y.currentTime[e(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),r[s?"hide":"show"](),a=r.find("div.xdsoft_option"),n=0;n<a.length&&a.eq(n).data("value")!==o;n+=1)i+=a[0].offsetHeight;return r.xdsoftScroller(i/(r.children()[0].offsetHeight-r[0].clientHeight)),t.stopPropagation(),!1}),z.find(".xdsoft_select").xdsoftScroller().on("touchstart mousedown.xdsoft",function(e){e.stopPropagation(),e.preventDefault()}).on("touchstart mousedown.xdsoft",".xdsoft_option",function(){(void 0===Y.currentTime||null===Y.currentTime)&&(Y.currentTime=Y.now());var t=Y.currentTime.getFullYear();Y&&Y.currentTime&&Y.currentTime[e(this).parent().parent().hasClass("xdsoft_monthselect")?"setMonth":"setFullYear"](e(this).data("value")),e(this).parent().parent().hide(),j.trigger("xchange.xdsoft"),W.onChangeMonth&&e.isFunction(W.onChangeMonth)&&W.onChangeMonth.call(j,Y.currentTime,j.data("input")),t!==Y.currentTime.getFullYear()&&e.isFunction(W.onChangeYear)&&W.onChangeYear.call(j,Y.currentTime,j.data("input"))}),j.setOptions=function(r){var o={},i=function(e){try{if(document.selection&&document.selection.createRange){var t=document.selection.createRange();return t.getBookmark().charCodeAt(2)-2}if(e.setSelectionRange)return e.selectionStart}catch(a){return 0}},s=function(e,t){if(e="string"==typeof e||e instanceof String?document.getElementById(e):e,!e)return!1;if(e.createTextRange){var a=e.createTextRange();return a.collapse(!0),a.moveEnd("character",t),a.moveStart("character",t),a.select(),!0}return e.setSelectionRange?(e.setSelectionRange(t,t),!0):!1},C=function(e,t){var a=e.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g,"\\$1").replace(/_/g,"{digit+}").replace(/([0-9]{1})/g,"{digit$1}").replace(/\{digit([0-9]{1})\}/g,"[0-$1_]{1}").replace(/\{digit[\+]\}/g,"[0-9_]{1}");return new RegExp(a).test(t)};W=e.extend(!0,{},W,r),r.allowTimes&&e.isArray(r.allowTimes)&&r.allowTimes.length&&(W.allowTimes=e.extend(!0,[],r.allowTimes)),r.weekends&&e.isArray(r.weekends)&&r.weekends.length&&(W.weekends=e.extend(!0,[],r.weekends)),r.highlightedDates&&e.isArray(r.highlightedDates)&&r.highlightedDates.length&&(e.each(r.highlightedDates,function(a,r){var i,s=e.map(r.split(","),e.trim),d=new t(n.parseDate(s[0],W.formatDate),s[1],s[2]),u=n.formatDate(d.date,W.formatDate);void 0!==o[u]?(i=o[u].desc,i&&i.length&&d.desc&&d.desc.length&&(o[u].desc=i+"\n"+d.desc)):o[u]=d}),W.highlightedDates=e.extend(!0,[],o)),r.highlightedPeriods&&e.isArray(r.highlightedPeriods)&&r.highlightedPeriods.length&&(o=e.extend(!0,[],W.highlightedDates),e.each(r.highlightedPeriods,function(a,r){var i,s,d,u,l,f,c;if(e.isArray(r))i=r[0],s=r[1],d=r[2],c=r[3];else{var h=e.map(r.split(","),e.trim);i=n.parseDate(h[0],W.formatDate),s=n.parseDate(h[1],W.formatDate),d=h[2],c=h[3]}for(;s>=i;)u=new t(i,d,c),l=n.formatDate(i,W.formatDate),i.setDate(i.getDate()+1),void 0!==o[l]?(f=o[l].desc,f&&f.length&&u.desc&&u.desc.length&&(o[l].desc=f+"\n"+u.desc)):o[l]=u}),W.highlightedDates=e.extend(!0,[],o)),r.disabledDates&&e.isArray(r.disabledDates)&&r.disabledDates.length&&(W.disabledDates=e.extend(!0,[],r.disabledDates)),r.disabledWeekDays&&e.isArray(r.disabledWeekDays)&&r.disabledWeekDays.length&&(W.disabledWeekDays=e.extend(!0,[],r.disabledWeekDays)),!W.open&&!W.opened||W.inline||a.trigger("open.xdsoft"),W.inline&&(R=!0,j.addClass("xdsoft_inline"),a.after(j).hide()),W.inverseButton&&(W.next="xdsoft_prev",W.prev="xdsoft_next"),W.datepicker?J.addClass("active"):J.removeClass("active"),W.timepicker?N.addClass("active"):N.removeClass("active"),W.value&&(Y.setCurrentTime(W.value),a&&a.val&&a.val(Y.str)),W.dayOfWeekStart=isNaN(W.dayOfWeekStart)?0:parseInt(W.dayOfWeekStart,10)%7,W.timepickerScrollbar||L.xdsoftScroller("hide"),W.minDate&&/^[\+\-](.*)$/.test(W.minDate)&&(W.minDate=n.formatDate(Y.strToDateTime(W.minDate),W.formatDate)),W.maxDate&&/^[\+\-](.*)$/.test(W.maxDate)&&(W.maxDate=n.formatDate(Y.strToDateTime(W.maxDate),W.formatDate)),B.toggle(W.showApplyButton),z.find(".xdsoft_today_button").css("visibility",W.todayButton?"visible":"hidden"),z.find("."+W.prev).css("visibility",W.prevButton?"visible":"hidden"),z.find("."+W.next).css("visibility",W.nextButton?"visible":"hidden"),W.mask&&(a.off("keydown.xdsoft"),W.mask===!0&&(W.mask=W.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),
+"string"===e.type(W.mask)&&(C(W.mask,a.val())||(a.val(W.mask.replace(/[0-9]/g,"_")),s(a[0],0)),a.on("keydown.xdsoft",function(t){var n,r,o=this.value,F=t.which;if(F>=d&&u>=F||F>=l&&f>=F||F===p||F===h){for(n=i(this),r=F!==p&&F!==h?String.fromCharCode(F>=l&&f>=F?F-d:F):"_",F!==p&&F!==h||!n||(n-=1,r="_");/[^0-9_]/.test(W.mask.substr(n,1))&&n<W.mask.length&&n>0;)n+=F===p||F===h?-1:1;if(o=o.substr(0,n)+r+o.substr(n+1),""===e.trim(o))o=W.mask.replace(/[0-9]/g,"_");else if(n===W.mask.length)return t.preventDefault(),!1;for(n+=F===p||F===h?0:1;/[^0-9_]/.test(W.mask.substr(n,1))&&n<W.mask.length&&n>0;)n+=F===p||F===h?-1:1;C(W.mask,o)?(this.value=o,s(this,n)):""===e.trim(o)?this.value=W.mask.replace(/[0-9]/g,"_"):a.trigger("error_input.xdsoft")}else if(-1!==[T,S,w,M,O].indexOf(F)&&_||-1!==[g,v,k,y,b,D,c,x,m].indexOf(F))return!0;return t.preventDefault(),!1}))),W.validateOnBlur&&a.off("blur.xdsoft").on("blur.xdsoft",function(){if(W.allowBlank&&!e.trim(e(this).val()).length)e(this).val(null),j.data("xdsoft_datetime").empty();else if(n.parseDate(e(this).val(),W.format))j.data("xdsoft_datetime").setCurrentTime(e(this).val());else{var t=+[e(this).val()[0],e(this).val()[1]].join(""),a=+[e(this).val()[2],e(this).val()[3]].join("");e(this).val(!W.datepicker&&W.timepicker&&t>=0&&24>t&&a>=0&&60>a?[t,a].map(function(e){return e>9?e:"0"+e}).join(":"):n.formatDate(Y.now(),W.format)),j.data("xdsoft_datetime").setCurrentTime(e(this).val())}j.trigger("changedatetime.xdsoft")}),W.dayOfWeekStartPrev=0===W.dayOfWeekStart?6:W.dayOfWeekStart-1,j.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},j.data("options",W).on("touchstart mousedown.xdsoft",function(e){return e.stopPropagation(),e.preventDefault(),G.hide(),V.hide(),!1}),L.append(E),L.xdsoftScroller(),j.on("afterOpen.xdsoft",function(){L.xdsoftScroller()}),j.append(J).append(N),W.withoutCopyright!==!0&&j.append(H),J.append(z).append(I).append(B),e(W.parentID).append(j),s=function(){var t=this;t.now=function(e){var a,n,r=new Date;return!e&&W.defaultDate&&(a=t.strToDateTime(W.defaultDate),r.setFullYear(a.getFullYear()),r.setMonth(a.getMonth()),r.setDate(a.getDate())),W.yearOffset&&r.setFullYear(r.getFullYear()+W.yearOffset),!e&&W.defaultTime&&(n=t.strtotime(W.defaultTime),r.setHours(n.getHours()),r.setMinutes(n.getMinutes())),r},t.isValidDate=function(e){return"[object Date]"!==Object.prototype.toString.call(e)?!1:!isNaN(e.getTime())},t.setCurrentTime=function(e){t.currentTime="string"==typeof e?t.strToDateTime(e):t.isValidDate(e)?e:t.now(),j.trigger("xchange.xdsoft")},t.empty=function(){t.currentTime=null},t.getCurrentTime=function(){return t.currentTime},t.nextMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a,n=t.currentTime.getMonth()+1;return 12===n&&(t.currentTime.setFullYear(t.currentTime.getFullYear()+1),n=0),a=t.currentTime.getFullYear(),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),n+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(n),W.onChangeMonth&&e.isFunction(W.onChangeMonth)&&W.onChangeMonth.call(j,Y.currentTime,j.data("input")),a!==t.currentTime.getFullYear()&&e.isFunction(W.onChangeYear)&&W.onChangeYear.call(j,Y.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),n},t.prevMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a=t.currentTime.getMonth()-1;return-1===a&&(t.currentTime.setFullYear(t.currentTime.getFullYear()-1),a=11),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),a+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(a),W.onChangeMonth&&e.isFunction(W.onChangeMonth)&&W.onChangeMonth.call(j,Y.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),a},t.getWeekOfYear=function(e){var t=new Date(e.getFullYear(),0,1);return Math.ceil(((e-t)/864e5+t.getDay()+1)/7)},t.strToDateTime=function(e){var a,r,o=[];return e&&e instanceof Date&&t.isValidDate(e)?e:(o=/^(\+|\-)(.*)$/.exec(e),o&&(o[2]=n.parseDate(o[2],W.formatDate)),o&&o[2]?(a=o[2].getTime()-6e4*o[2].getTimezoneOffset(),r=new Date(t.now(!0).getTime()+parseInt(o[1]+"1",10)*a)):r=e?n.parseDate(e,W.format):t.now(),t.isValidDate(r)||(r=t.now()),r)},t.strToDate=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?n.parseDate(e,W.formatDate):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.strtotime=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?n.parseDate(e,W.formatTime):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.str=function(){return n.formatDate(t.currentTime,W.format)},t.currentTime=this.now()},Y=new s,B.on("touchend click",function(e){e.preventDefault(),j.data("changed",!0),Y.setCurrentTime(i()),a.val(Y.str()),j.trigger("close.xdsoft")}),z.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){j.data("changed",!0),Y.setCurrentTime(0),j.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var e,t,n=Y.getCurrentTime();n=new Date(n.getFullYear(),n.getMonth(),n.getDate()),e=Y.strToDate(W.minDate),e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),e>n||(t=Y.strToDate(W.maxDate),t=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n>t||(a.val(Y.str()),a.trigger("change"),j.trigger("close.xdsoft")))}),z.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=e(this),a=0,n=!1;!function r(e){t.hasClass(W.next)?Y.nextMonth():t.hasClass(W.prev)&&Y.prevMonth(),W.monthChangeSpinner&&(n||(a=setTimeout(r,e||100)))}(500),e([document.body,window]).on("touchend mouseup.xdsoft",function o(){clearTimeout(a),n=!0,e([document.body,window]).off("touchend mouseup.xdsoft",o)})}),N.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=e(this),a=0,n=!1,r=110;!function o(e){var i=L[0].clientHeight,s=E[0].offsetHeight,d=Math.abs(parseInt(E.css("marginTop"),10));t.hasClass(W.next)&&s-i-W.timeHeightInTimePicker>=d?E.css("marginTop","-"+(d+W.timeHeightInTimePicker)+"px"):t.hasClass(W.prev)&&d-W.timeHeightInTimePicker>=0&&E.css("marginTop","-"+(d-W.timeHeightInTimePicker)+"px"),L.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(E.css("marginTop"),10)/(s-i))]),r=r>10?10:r-10,n||(a=setTimeout(o,e||r))}(500),e([document.body,window]).on("touchend mouseup.xdsoft",function i(){clearTimeout(a),n=!0,e([document.body,window]).off("touchend mouseup.xdsoft",i)})}),C=0,j.on("xchange.xdsoft",function(t){clearTimeout(C),C=setTimeout(function(){(void 0===Y.currentTime||null===Y.currentTime)&&(Y.currentTime=Y.now());for(var t,a,i,s,d,u,l,f,c,h,m="",g=new Date(Y.currentTime.getFullYear(),Y.currentTime.getMonth(),1,12,0,0),p=0,y=Y.now(),v=!1,b=!1,k=[],x=!0,D="",T="";g.getDay()!==W.dayOfWeekStart;)g.setDate(g.getDate()-1);for(m+="<table><thead><tr>",W.weeks&&(m+="<th></th>"),t=0;7>t;t+=1)m+="<th>"+W.i18n[o].dayOfWeekShort[(t+W.dayOfWeekStart)%7]+"</th>";for(m+="</tr></thead>",m+="<tbody>",W.maxDate!==!1&&(v=Y.strToDate(W.maxDate),v=new Date(v.getFullYear(),v.getMonth(),v.getDate(),23,59,59,999)),W.minDate!==!1&&(b=Y.strToDate(W.minDate),b=new Date(b.getFullYear(),b.getMonth(),b.getDate()));p<Y.currentTime.countDaysInMonth()||g.getDay()!==W.dayOfWeekStart||Y.currentTime.getMonth()===g.getMonth();)k=[],p+=1,i=g.getDay(),s=g.getDate(),d=g.getFullYear(),u=g.getMonth(),l=Y.getWeekOfYear(g),h="",k.push("xdsoft_date"),f=W.beforeShowDay&&e.isFunction(W.beforeShowDay.call)?W.beforeShowDay.call(j,g):null,v!==!1&&g>v||b!==!1&&b>g||f&&f[0]===!1?k.push("xdsoft_disabled"):-1!==W.disabledDates.indexOf(n.formatDate(g,W.formatDate))?k.push("xdsoft_disabled"):-1!==W.disabledWeekDays.indexOf(i)&&k.push("xdsoft_disabled"),f&&""!==f[1]&&k.push(f[1]),Y.currentTime.getMonth()!==u&&k.push("xdsoft_other_month"),(W.defaultSelect||j.data("changed"))&&n.formatDate(Y.currentTime,W.formatDate)===n.formatDate(g,W.formatDate)&&k.push("xdsoft_current"),n.formatDate(y,W.formatDate)===n.formatDate(g,W.formatDate)&&k.push("xdsoft_today"),(0===g.getDay()||6===g.getDay()||-1!==W.weekends.indexOf(n.formatDate(g,W.formatDate)))&&k.push("xdsoft_weekend"),void 0!==W.highlightedDates[n.formatDate(g,W.formatDate)]&&(a=W.highlightedDates[n.formatDate(g,W.formatDate)],k.push(void 0===a.style?"xdsoft_highlighted_default":a.style),h=void 0===a.desc?"":a.desc),W.beforeShowDay&&e.isFunction(W.beforeShowDay)&&k.push(W.beforeShowDay(g)),x&&(m+="<tr>",x=!1,W.weeks&&(m+="<th>"+l+"</th>")),m+='<td data-date="'+s+'" data-month="'+u+'" data-year="'+d+'" class="xdsoft_date xdsoft_day_of_week'+g.getDay()+" "+k.join(" ")+'" title="'+h+'"><div>'+s+"</div></td>",g.getDay()===W.dayOfWeekStartPrev&&(m+="</tr>",x=!0),g.setDate(s+1);if(m+="</tbody></table>",I.html(m),z.find(".xdsoft_label span").eq(0).text(W.i18n[o].months[Y.currentTime.getMonth()]),z.find(".xdsoft_label span").eq(1).text(Y.currentTime.getFullYear()),D="",T="",u="",c=function(t,a){var r,o,i=Y.now(),s=W.allowTimes&&e.isArray(W.allowTimes)&&W.allowTimes.length;i.setHours(t),t=parseInt(i.getHours(),10),i.setMinutes(a),a=parseInt(i.getMinutes(),10),r=new Date(Y.currentTime),r.setHours(t),r.setMinutes(a),k=[],(W.minDateTime!==!1&&W.minDateTime>r||W.maxTime!==!1&&Y.strtotime(W.maxTime).getTime()<i.getTime()||W.minTime!==!1&&Y.strtotime(W.minTime).getTime()>i.getTime())&&k.push("xdsoft_disabled"),(W.minDateTime!==!1&&W.minDateTime>r||W.disabledMinTime!==!1&&i.getTime()>Y.strtotime(W.disabledMinTime).getTime()&&W.disabledMaxTime!==!1&&i.getTime()<Y.strtotime(W.disabledMaxTime).getTime())&&k.push("xdsoft_disabled"),o=new Date(Y.currentTime),o.setHours(parseInt(Y.currentTime.getHours(),10)),s||o.setMinutes(Math[W.roundTime](Y.currentTime.getMinutes()/W.step)*W.step),(W.initTime||W.defaultSelect||j.data("changed"))&&o.getHours()===parseInt(t,10)&&(!s&&W.step>59||o.getMinutes()===parseInt(a,10))&&(W.defaultSelect||j.data("changed")?k.push("xdsoft_current"):W.initTime&&k.push("xdsoft_init_time")),parseInt(y.getHours(),10)===parseInt(t,10)&&parseInt(y.getMinutes(),10)===parseInt(a,10)&&k.push("xdsoft_today"),D+='<div class="xdsoft_time '+k.join(" ")+'" data-hour="'+t+'" data-minute="'+a+'">'+n.formatDate(i,W.formatTime)+"</div>"},W.allowTimes&&e.isArray(W.allowTimes)&&W.allowTimes.length)for(p=0;p<W.allowTimes.length;p+=1)T=Y.strtotime(W.allowTimes[p]).getHours(),u=Y.strtotime(W.allowTimes[p]).getMinutes(),c(T,u);else for(p=0,t=0;p<(W.hours12?12:24);p+=1)for(t=0;60>t;t+=W.step)T=(10>p?"0":"")+p,u=(10>t?"0":"")+t,c(T,u);for(E.html(D),r="",p=0,p=parseInt(W.yearStart,10)+W.yearOffset;p<=parseInt(W.yearEnd,10)+W.yearOffset;p+=1)r+='<div class="xdsoft_option '+(Y.currentTime.getFullYear()===p?"xdsoft_current":"")+'" data-value="'+p+'">'+p+"</div>";for(G.children().eq(0).html(r),p=parseInt(W.monthStart,10),r="";p<=parseInt(W.monthEnd,10);p+=1)r+='<div class="xdsoft_option '+(Y.currentTime.getMonth()===p?"xdsoft_current":"")+'" data-value="'+p+'">'+W.i18n[o].months[p]+"</div>";V.children().eq(0).html(r),e(j).trigger("generate.xdsoft")},10),t.stopPropagation()}).on("afterOpen.xdsoft",function(){if(W.timepicker){var e,t,a,n;E.find(".xdsoft_current").length?e=".xdsoft_current":E.find(".xdsoft_init_time").length&&(e=".xdsoft_init_time"),e?(t=L[0].clientHeight,a=E[0].offsetHeight,n=E.find(e).index()*W.timeHeightInTimePicker+1,n>a-t&&(n=a-t),L.trigger("scroll_element.xdsoft_scroller",[parseInt(n,10)/(a-t)])):L.trigger("scroll_element.xdsoft_scroller",[0])}}),F=0,I.on("touchend click.xdsoft","td",function(t){t.stopPropagation(),F+=1;var n=e(this),r=Y.currentTime;return(void 0===r||null===r)&&(Y.currentTime=Y.now(),r=Y.currentTime),n.hasClass("xdsoft_disabled")?!1:(r.setDate(1),r.setFullYear(n.data("year")),r.setMonth(n.data("month")),r.setDate(n.data("date")),j.trigger("select.xdsoft",[r]),a.val(Y.str()),W.onSelectDate&&e.isFunction(W.onSelectDate)&&W.onSelectDate.call(j,Y.currentTime,j.data("input"),t),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),(F>1||W.closeOnDateSelect===!0||W.closeOnDateSelect===!1&&!W.timepicker)&&!W.inline&&j.trigger("close.xdsoft"),void setTimeout(function(){F=0},200))}),E.on("touchend click.xdsoft","div",function(t){t.stopPropagation();var a=e(this),n=Y.currentTime;return(void 0===n||null===n)&&(Y.currentTime=Y.now(),n=Y.currentTime),a.hasClass("xdsoft_disabled")?!1:(n.setHours(a.data("hour")),n.setMinutes(a.data("minute")),j.trigger("select.xdsoft",[n]),j.data("input").val(Y.str()),W.onSelectTime&&e.isFunction(W.onSelectTime)&&W.onSelectTime.call(j,Y.currentTime,j.data("input"),t),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),void(W.inline!==!0&&W.closeOnTimeSelect===!0&&j.trigger("close.xdsoft")))}),J.on("mousewheel.xdsoft",function(e){return W.scrollMonth?(e.deltaY<0?Y.nextMonth():Y.prevMonth(),!1):!0}),a.on("mousewheel.xdsoft",function(e){return W.scrollInput?!W.datepicker&&W.timepicker?(P=E.find(".xdsoft_current").length?E.find(".xdsoft_current").eq(0).index():0,P+e.deltaY>=0&&P+e.deltaY<E.children().length&&(P+=e.deltaY),E.children().eq(P).length&&E.children().eq(P).trigger("mousedown"),!1):W.datepicker&&!W.timepicker?(J.trigger(e,[e.deltaY,e.deltaX,e.deltaY]),a.val&&a.val(Y.str()),j.trigger("changedatetime.xdsoft"),!1):void 0:!0}),j.on("changedatetime.xdsoft",function(t){if(W.onChangeDateTime&&e.isFunction(W.onChangeDateTime)){var a=j.data("input");W.onChangeDateTime.call(j,Y.currentTime,a,t),delete W.value,a.trigger("change")}}).on("generate.xdsoft",function(){W.onGenerate&&e.isFunction(W.onGenerate)&&W.onGenerate.call(j,Y.currentTime,j.data("input")),R&&(j.trigger("afterOpen.xdsoft"),R=!1)}).on("click.xdsoft",function(e){e.stopPropagation()}),P=0,A=function(){var t,a=j.data("input").offset(),n=j.data("input")[0],r=a.top+n.offsetHeight-1,o=a.left,i="absolute";"rtl"==j.data("input").parent().css("direction")&&(o-=j.outerWidth()-j.data("input").outerWidth()),W.fixed?(r-=e(window).scrollTop(),o-=e(window).scrollLeft(),i="fixed"):(r+n.offsetHeight>e(window).height()+e(window).scrollTop()&&(r=a.top-n.offsetHeight+1),0>r&&(r=0),o+n.offsetWidth>e(window).width()&&(o=e(window).width()-n.offsetWidth)),t=j[0];do if(t=t.parentNode,"relative"===window.getComputedStyle(t).getPropertyValue("position")&&e(window).width()>=t.offsetWidth){o-=(e(window).width()-t.offsetWidth)/2;break}while("HTML"!==t.nodeName);j.css({left:o,top:r,position:i})},j.on("open.xdsoft",function(t){var a=!0;W.onShow&&e.isFunction(W.onShow)&&(a=W.onShow.call(j,Y.currentTime,j.data("input"),t)),a!==!1&&(j.show(),A(),e(window).off("resize.xdsoft",A).on("resize.xdsoft",A),W.closeOnWithoutClick&&e([document.body,window]).on("touchstart mousedown.xdsoft",function n(){j.trigger("close.xdsoft"),e([document.body,window]).off("touchstart mousedown.xdsoft",n)}))}).on("close.xdsoft",function(t){var a=!0;z.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),W.onClose&&e.isFunction(W.onClose)&&(a=W.onClose.call(j,Y.currentTime,j.data("input"),t)),a===!1||W.opened||W.inline||j.hide(),t.stopPropagation()}).on("toggle.xdsoft",function(){j.trigger(j.is(":visible")?"close.xdsoft":"open.xdsoft")}).data("input",a),U=0,q=0,j.data("xdsoft_datetime",Y),j.setOptions(W),Y.setCurrentTime(i()),a.data("xdsoft_datetimepicker",j).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){a.is(":disabled")||a.data("xdsoft_datetimepicker").is(":visible")&&W.closeOnInputClick||(clearTimeout(U),U=setTimeout(function(){a.is(":disabled")||(R=!0,Y.setCurrentTime(i()),j.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(t){var a,n=(this.value,t.which);return-1!==[m].indexOf(n)&&W.enterLikeTab?(a=e("input:visible,textarea:visible,button:visible,a:visible"),j.trigger("close.xdsoft"),a.eq(a.index(this)+1).focus(),!1):-1!==[x].indexOf(n)?(j.trigger("close.xdsoft"),!0):void 0})},s=function(t){var a=t.data("xdsoft_datetimepicker");a&&(a.data("xdsoft_datetime",null),a.remove(),t.data("xdsoft_datetimepicker",null).off(".xdsoft"),e(window).off("resize.xdsoft"),e([window,document.body]).off("mousedown.xdsoft touchstart"),t.unmousewheel&&t.unmousewheel())},e(document).off("keydown.xdsoftctrl keyup.xdsoftctrl").on("keydown.xdsoftctrl",function(e){e.keyCode===c&&(_=!0)}).on("keyup.xdsoftctrl",function(e){e.keyCode===c&&(_=!1)}),this.each(function(){var t,a=e(this).data("xdsoft_datetimepicker");if(a){if("string"===e.type(r))switch(r){case"show":e(this).select().focus(),a.trigger("open.xdsoft");break;case"hide":a.trigger("close.xdsoft");break;case"toggle":a.trigger("toggle.xdsoft");break;case"destroy":s(e(this));break;case"reset":this.value=this.defaultValue,this.value&&a.data("xdsoft_datetime").isValidDate(n.parseDate(this.value,W.format))||a.data("changed",!1),a.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":t=a.data("input"),t.trigger("blur.xdsoft")}else a.setOptions(r);return 0}"string"!==e.type(r)&&(!W.lazyInit||W.open||W.inline?i(e(this)):F(e(this)))})},e.fn.datetimepicker.defaults=a}),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){function t(t){var i=t||window.event,s=d.call(arguments,1),u=0,f=0,c=0,h=0,m=0,g=0;if(t=e.event.fix(i),t.type="mousewheel","detail"in i&&(c=-1*i.detail),"wheelDelta"in i&&(c=i.wheelDelta),"wheelDeltaY"in i&&(c=i.wheelDeltaY),"wheelDeltaX"in i&&(f=-1*i.wheelDeltaX),"axis"in i&&i.axis===i.HORIZONTAL_AXIS&&(f=-1*c,c=0),u=0===c?f:c,"deltaY"in i&&(c=-1*i.deltaY,u=c),"deltaX"in i&&(f=i.deltaX,0===c&&(u=-1*f)),0!==c||0!==f){if(1===i.deltaMode){var p=e.data(this,"mousewheel-line-height");u*=p,c*=p,f*=p}else if(2===i.deltaMode){var y=e.data(this,"mousewheel-page-height");u*=y,c*=y,f*=y}if(h=Math.max(Math.abs(c),Math.abs(f)),(!o||o>h)&&(o=h,n(i,h)&&(o/=40)),n(i,h)&&(u/=40,f/=40,c/=40),u=Math[u>=1?"floor":"ceil"](u/o),f=Math[f>=1?"floor":"ceil"](f/o),c=Math[c>=1?"floor":"ceil"](c/o),l.settings.normalizeOffset&&this.getBoundingClientRect){var v=this.getBoundingClientRect();m=t.clientX-v.left,g=t.clientY-v.top}return t.deltaX=f,t.deltaY=c,t.deltaFactor=o,t.offsetX=m,t.offsetY=g,t.deltaMode=0,s.unshift(t,u,f,c),r&&clearTimeout(r),r=setTimeout(a,200),(e.event.dispatch||e.event.handle).apply(this,s)}}function a(){o=null}function n(e,t){return l.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120===0}var r,o,i=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],s="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],d=Array.prototype.slice;if(e.event.fixHooks)for(var u=i.length;u;)e.event.fixHooks[i[--u]]=e.event.mouseHooks;var l=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var a=s.length;a;)this.addEventListener(s[--a],t,!1);else this.onmousewheel=t;e.data(this,"mousewheel-line-height",l.getLineHeight(this)),e.data(this,"mousewheel-page-height",l.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var a=s.length;a;)this.removeEventListener(s[--a],t,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var a=e(t),n=a["offsetParent"in e.fn?"offsetParent":"parent"]();return n.length||(n=e("body")),parseInt(n.css("fontSize"),10)||parseInt(a.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})}); \ No newline at end of file
diff --git a/js/last.js b/js/last.js
new file mode 100644
index 00000000..e107ef97
--- /dev/null
+++ b/js/last.js
@@ -0,0 +1,166 @@
+var newUserDates = [];
+var newUserTypes = [];
+
+var max_votes = 0;
+var values_changed = false;
+
+$(document).ready(function () {
+ var cells = [];
+ cells = document.getElementsByClassName('cl_click');
+ // loop over 'user' cells
+ for (var i = 0; i < cells.length; i++){
+ // fill arrays (if this is edit)
+ if (cells[i].className.indexOf('poll-cell-active-not') >= 0){
+ newUserTypes.push(0);
+ newUserDates.push(cells[i].id);
+ } else if (cells[i].className.indexOf('poll-cell-active-is') >= 0){
+ newUserTypes.push(1);
+ newUserDates.push(cells[i].id);
+ } else if(cells[i].className.indexOf('poll-cell-active-maybe') >= 0){
+ newUserTypes.push(2);
+ newUserDates.push(cells[i].id);
+ } else {
+ newUserTypes.push(-1);
+ newUserDates.push(cells[i].id);
+ }
+ }
+
+ $('#button_home').click(function() {
+ document.getElementById('j').value = 'home';
+ document.finish_poll.submit();
+ });
+
+ $('#submit_finish_poll').click(function() {
+ var form = document.finish_poll;
+ var comm = document.getElementById('comment_box');
+ var ac_user = '';
+ var ac = document.getElementById('user_name');
+ if (ac != null) {
+ if(ac.value.length >= 3){
+ ac_user = ac.value;
+ } else {
+ alert(t('polls', 'You are not registered.\nPlease enter your name to vote\n(at least 3 characters).'));
+ return;
+ }
+ }
+ check_notif = document.getElementById('check_notif');
+
+ form.elements['options'].value = JSON.stringify({
+ dates: newUserDates,
+ values: newUserTypes,
+ ac_user: ac_user,
+ check_notif: ((check_notif && check_notif.checked) ? 'true' : 'false'),
+ values_changed: (values_changed ? 'true' : 'false')
+ });
+ form.submit();
+ });
+
+ $('#submit_send_comment').click(function() {
+ var form = document.send_comment;
+ var comm = document.getElementById('comment_box');
+ form.elements['options'].value = JSON.stringify({
+ comment: comm.value,
+ });
+ form.submit();
+ });
+});
+
+$(document).on('click', '.poll-cell-active-un', function(e) {
+ values_changed = true;
+ var ts = $(this).attr('id');
+ var index = newUserDates.indexOf(ts);
+ if(index > -1) {
+ newUserDates.splice(index, 1);
+ newUserTypes.splice(index, 1);
+ }
+ newUserDates.push(ts);
+ newUserTypes.push(2);
+ $(this).switchClass('poll-cell-active-un', 'poll-cell-active-maybe');
+ $(this).switchClass('icon-info', 'icon-more');
+});
+
+$(document).on('click', '.poll-cell-active-not', function(e) {
+ values_changed = true;
+ var ts = $(this).attr('id');
+ var index = newUserDates.indexOf(ts);
+ if(index > -1) {
+ newUserDates.splice(index, 1);
+ newUserTypes.splice(index, 1);
+ }
+ newUserDates.push(ts);
+ newUserTypes.push(2);
+ var total_no = document.getElementById('id_n_' + ts);
+ total_no.innerHTML = parseInt(total_no.innerHTML) - 1;
+ $(this).switchClass('poll-cell-active-not', 'poll-cell-active-maybe');
+ $(this).switchClass('icon-close', 'icon-more');
+ findNewMaxCount();
+ updateStrongCounts();
+});
+
+$(document).on('click', '.poll-cell-active-maybe', function(e) {
+ values_changed = true;
+ var ts = $(this).attr('id');
+ var index = newUserDates.indexOf(ts);
+ if(index > -1) {
+ newUserDates.splice(index, 1);
+ newUserTypes.splice(index, 1);
+ }
+ newUserDates.push(ts);
+ newUserTypes.push(1);
+ var total_yes = document.getElementById('id_y_' + ts);
+ total_yes.innerHTML = parseInt(total_yes.innerHTML) + 1;
+ $(this).switchClass('poll-cell-active-maybe', 'poll-cell-active-is');
+ $(this).switchClass('icon-more', 'icon-checkmark');
+ findNewMaxCount();
+ updateStrongCounts();
+});
+
+$(document).on('click', '.poll-cell-active-is', function(e) {
+ values_changed = true;
+ var ts = $(this).attr('id');
+ var index = newUserDates.indexOf(ts);
+ if(index > -1) {
+ newUserDates.splice(index, 1);
+ newUserTypes.splice(index, 1);
+ }
+ newUserDates.push(ts);
+ newUserTypes.push(0);
+ var total_yes = document.getElementById('id_y_' + ts);
+ var total_no = document.getElementById('id_n_' + ts);
+ total_yes.innerHTML = parseInt(total_yes.innerHTML) - 1;
+ total_no.innerHTML = parseInt(total_no.innerHTML) + 1;
+ $(this).switchClass('poll-cell-active-is', 'poll-cell-active-not');
+ $(this).switchClass('icon-checkmark', 'icon-close');
+ findNewMaxCount();
+ updateStrongCounts();
+});
+
+function findNewMaxCount(){
+ var cell_tot_y = document.getElementsByClassName('cl_total_y');
+ var cell_tot_n = document.getElementsByClassName('cl_total_n');
+ max_votes = 0;
+ for(var i=0; i<cell_tot_y.length; i++) {
+ var currYes = parseInt(cell_tot_y[i].innerHTML);
+ var currNo = parseInt(cell_tot_n[i].innerHTML);
+ var curr = currYes - currNo;
+ if(curr > max_votes) max_votes = curr;
+ }
+}
+
+function updateStrongCounts(){
+ var cell_tot_y = document.getElementsByClassName('cl_total_y');
+ var cell_tot_n = document.getElementsByClassName('cl_total_n');
+
+ for(var i=0; i<cell_tot_y.length; i++) {
+ var cell_win = document.getElementById('id_total_' + i);
+ var curr = parseInt(cell_tot_y[i].innerHTML) - parseInt(cell_tot_n[i].innerHTML);
+ if(curr < max_votes) {
+ cell_win.className = 'win_row';
+ cell_tot_y[i].style.fontWeight = 'normal';
+ }
+ else {
+ cell_tot_y[i].style.fontWeight = 'bold';
+ cell_win.className = 'win_row icon-checkmark';
+ }
+ }
+}
diff --git a/js/start.js b/js/start.js
new file mode 100755
index 00000000..65a1101b
--- /dev/null
+++ b/js/start.js
@@ -0,0 +1,57 @@
+var edit_access_id = null; // set if called from the summary page
+
+$(document).ready(function () {
+ edit_access_id = null;
+ // users, groups
+ var elem = document.getElementById('select');
+ if (elem) elem.onclick = showAccessDialog;
+ elem = document.getElementById('button_close_access');
+ if (elem) elem.onclick = closeAccessDialog;
+
+ cells = document.getElementsByClassName('cl_group_item');
+ for (var i = 0; i < cells.length; i++) {
+ cells[i].onclick = groupItemClicked;
+ }
+ cells = document.getElementsByClassName('cl_user_item');
+ for (var i = 0; i < cells.length; i++) {
+ cells[i].onclick = userItemClicked;
+ }
+
+ var cells = document.getElementsByClassName('cl_delete');
+ for (var i = 0; i < cells.length; i++) {
+ var cell = cells[i];
+ cells[i].onclick = deletePoll;
+ }
+
+ // set "show poll url" handler
+ cells = document.getElementsByClassName('cl_poll_url');
+ for (var i = 0; i < cells.length; i++) {
+ var cell = cells[i];
+ cells[i].onclick = function(e) {
+ // td has inner 'input'; value is poll url
+ var cell = e.target;
+ var url = cell.getElementsByTagName('input')[0].value;
+ window.prompt(t('polls','Copy to clipboard: Ctrl+C, Enter'), url);
+ }
+ }
+});
+
+function deletePoll(e) {
+ var tr = this.parentNode.parentNode;
+ var titleTd = tr.firstChild;
+ //check if first child is whitespace text element
+ if(titleTd.nodeName == '#text') titleTd = titleTd.nextSibling;
+ var tdElem = titleTd.firstChild;
+ //again, whitespace check
+ if(tdElem.nodeName == '#text') tdElem = tdElem.nextSibling;
+ var str = t('polls', 'Do you really want to delete that poll?') + '\n\n' + tdElem.innerHTML;
+ if (confirm(str)) {
+ var form = document.form_delete_poll;
+ var hiddenId = document.createElement("input");
+ hiddenId.setAttribute("name", "pollId");
+ hiddenId.setAttribute("type", "hidden");
+ form.appendChild(hiddenId);
+ form.elements['pollId'].value = this.id.split('_')[2];
+ form.submit();
+ }
+}
diff --git a/js/vote.js b/js/vote.js
new file mode 100644
index 00000000..8bde3e15
--- /dev/null
+++ b/js/vote.js
@@ -0,0 +1,156 @@
+var newUserDates = [];
+var newUserTypes = [];
+
+var max_votes = 0;
+var values_changed = false;
+
+$(document).ready(function () {
+ var cells = [];
+ cells = document.getElementsByClassName('cl_click');
+ // loop over 'user' cells
+ for (var i = 0; i < cells.length; i++){
+ // fill arrays (if this is edit)
+ if (cells[i].className.indexOf('poll-cell-active-not') >= 0){
+ newUserTypes.push(0);
+ newUserDates.push(cells[i].id);
+ } else if (cells[i].className.indexOf('poll-cell-active-is') >= 0){
+ newUserTypes.push(1);
+ newUserDates.push(cells[i].id);
+ } else if(cells[i].className.indexOf('poll-cell-active-maybe') >= 0){
+ newUserTypes.push(2);
+ newUserDates.push(cells[i].id);
+ } else {
+ newUserTypes.push(-1);
+ newUserDates.push(cells[i].id);
+ }
+ }
+
+ $('#submit_finish_vote').click(function() {
+ var form = document.finish_vote;
+ var ac = document.getElementById('user_name');
+ if (ac != null) {
+ if(ac.value.length >= 3){
+ form.elements['userId'].value = ac.value;
+ } else {
+ alert(t('polls', 'You are not registered.\nPlease enter your name to vote\n(at least 3 characters).'));
+ return;
+ }
+ }
+ check_notif = document.getElementById('check_notif');
+ form.elements['dates'].value = JSON.stringify(newUserDates);
+ form.elements['types'].value = JSON.stringify(newUserTypes);
+ form.elements['notif'].value = (check_notif && check_notif.checked) ? 'true' : 'false';
+ form.elements['changed'].value = values_changed ? 'true' : 'false';
+ form.submit();
+ });
+
+ $('#submit_send_comment').click(function() {
+ var form = document.send_comment;
+ var comm = document.getElementById('commentBox');
+ if(comm.value.length <= 0) {
+ alert(t('polls', 'Please add some text to your comment before submitting it.'));
+ return;
+ }
+ form.submit();
+ });
+});
+
+$(document).on('click', '.poll-cell-active-un', function(e) {
+ values_changed = true;
+ var ts = $(this).attr('id');
+ var index = newUserDates.indexOf(ts);
+ if(index > -1) {
+ newUserDates.splice(index, 1);
+ newUserTypes.splice(index, 1);
+ }
+ newUserDates.push(ts);
+ newUserTypes.push(2);
+ $(this).switchClass('poll-cell-active-un', 'poll-cell-active-maybe');
+ $(this).switchClass('icon-info', 'icon-more');
+});
+
+$(document).on('click', '.poll-cell-active-not', function(e) {
+ values_changed = true;
+ var ts = $(this).attr('id');
+ var index = newUserDates.indexOf(ts);
+ if(index > -1) {
+ newUserDates.splice(index, 1);
+ newUserTypes.splice(index, 1);
+ }
+ newUserDates.push(ts);
+ newUserTypes.push(2);
+ var total_no = document.getElementById('id_n_' + ts);
+ total_no.innerHTML = parseInt(total_no.innerHTML) - 1;
+ $(this).switchClass('poll-cell-active-not', 'poll-cell-active-maybe');
+ $(this).switchClass('icon-close', 'icon-more');
+ findNewMaxCount();
+ updateStrongCounts();
+});
+
+$(document).on('click', '.poll-cell-active-maybe', function(e) {
+ values_changed = true;
+ var ts = $(this).attr('id');
+ var index = newUserDates.indexOf(ts);
+ if(index > -1) {
+ newUserDates.splice(index, 1);
+ newUserTypes.splice(index, 1);
+ }
+ newUserDates.push(ts);
+ newUserTypes.push(1);
+ var total_yes = document.getElementById('id_y_' + ts);
+ total_yes.innerHTML = parseInt(total_yes.innerHTML) + 1;
+ $(this).switchClass('poll-cell-active-maybe', 'poll-cell-active-is');
+ $(this).switchClass('icon-more', 'icon-checkmark');
+ findNewMaxCount();
+ updateStrongCounts();
+});
+
+$(document).on('click', '.poll-cell-active-is', function(e) {
+ values_changed = true;
+ var ts = $(this).attr('id');
+ var index = newUserDates.indexOf(ts);
+ if(index > -1) {
+ newUserDates.splice(index, 1);
+ newUserTypes.splice(index, 1);
+ }
+ newUserDates.push(ts);
+ newUserTypes.push(0);
+ var total_yes = document.getElementById('id_y_' + ts);
+ var total_no = document.getElementById('id_n_' + ts);
+ total_yes.innerHTML = parseInt(total_yes.innerHTML) - 1;
+ total_no.innerHTML = parseInt(total_no.innerHTML) + 1;
+ $(this).switchClass('poll-cell-active-is', 'poll-cell-active-not');
+ $(this).switchClass('icon-checkmark', 'icon-close');
+ findNewMaxCount();
+ updateStrongCounts();
+});
+
+function findNewMaxCount(){
+ var cell_tot_y = document.getElementsByClassName('cl_total_y');
+ var cell_tot_n = document.getElementsByClassName('cl_total_n');
+ max_votes = 0;
+ for(var i=0; i<cell_tot_y.length; i++) {
+ var currYes = parseInt(cell_tot_y[i].innerHTML);
+ var currNo = parseInt(cell_tot_n[i].innerHTML);
+ var curr = currYes - currNo;
+ if(curr > max_votes) max_votes = curr;
+ }
+}
+
+function updateStrongCounts(){
+ var cell_tot_y = document.getElementsByClassName('cl_total_y');
+ var cell_tot_n = document.getElementsByClassName('cl_total_n');
+
+ for(var i=0; i<cell_tot_y.length; i++) {
+ var cell_win = document.getElementById('id_total_' + i);
+ var curr = parseInt(cell_tot_y[i].innerHTML) - parseInt(cell_tot_n[i].innerHTML);
+ if(curr < max_votes) {
+ cell_win.className = 'win_row';
+ cell_tot_y[i].style.fontWeight = 'normal';
+ }
+ else {
+ cell_tot_y[i].style.fontWeight = 'bold';
+ cell_win.className = 'win_row icon-checkmark';
+ }
+ }
+}