{"version":3,"sources":["jquery.datetimepicker.full.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"jquery.datetimepicker.min.js","sourcesContent":["/*!\n * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015\n * @version 1.3.3\n *\n * Date formatter utility library that allows formatting date/time variables or Date objects using PHP DateTime format.\n * @see http://php.net/manual/en/function.date.php\n *\n * For more JQuery plugins visit http://plugins.krajee.com\n * For more Yii related demos visit http://demos.krajee.com\n */\nvar DateFormatter;\n(function () {\n \"use strict\";\n\n var _compare, _lpad, _extend, defaultSettings, DAY, HOUR;\n DAY = 1000 * 60 * 60 * 24;\n HOUR = 3600;\n\n _compare = function (str1, str2) {\n return typeof(str1) === 'string' && typeof(str2) === 'string' && str1.toLowerCase() === str2.toLowerCase();\n };\n _lpad = function (value, length, char) {\n var chr = char || '0', val = value.toString();\n return val.length < length ? _lpad(chr + val, length) : val;\n };\n _extend = function (out) {\n var i, obj;\n out = out || {};\n for (i = 1; i < arguments.length; i++) {\n obj = arguments[i];\n if (!obj) {\n continue;\n }\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (typeof obj[key] === 'object') {\n _extend(out[key], obj[key]);\n } else {\n out[key] = obj[key];\n }\n }\n }\n }\n return out;\n };\n defaultSettings = {\n dateSettings: {\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: [\n 'January', 'February', 'March', 'April', 'May', 'June', 'July',\n 'August', 'September', 'October', 'November', 'December'\n ],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n meridiem: ['AM', 'PM'],\n ordinal: function (number) {\n var n = number % 10, suffixes = {1: 'st', 2: 'nd', 3: 'rd'};\n return Math.floor(number % 100 / 10) === 1 || !suffixes[n] ? 'th' : suffixes[n];\n }\n },\n separators: /[ \\-+\\/\\.T:@]/g,\n validParts: /[dDjlNSwzWFmMntLoYyaABgGhHisueTIOPZcrU]/g,\n intParts: /[djwNzmnyYhHgGis]/g,\n tzParts: /\\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\\d{4})?)\\b/g,\n tzClip: /[^-+\\dA-Z]/g\n };\n\n DateFormatter = function (options) {\n var self = this, config = _extend(defaultSettings, options);\n self.dateSettings = config.dateSettings;\n self.separators = config.separators;\n self.validParts = config.validParts;\n self.intParts = config.intParts;\n self.tzParts = config.tzParts;\n self.tzClip = config.tzClip;\n };\n\n DateFormatter.prototype = {\n constructor: DateFormatter,\n parseDate: function (vDate, vFormat) {\n var self = this, vFormatParts, vDateParts, i, vDateFlag = false, vTimeFlag = false, vDatePart, iDatePart,\n vSettings = self.dateSettings, vMonth, vMeriIndex, vMeriOffset, len, mer,\n out = {date: null, year: null, month: null, day: null, hour: 0, min: 0, sec: 0};\n if (!vDate) {\n return undefined;\n }\n if (vDate instanceof Date) {\n return vDate;\n }\n if (typeof vDate === 'number') {\n return new Date(vDate);\n }\n if (vFormat === 'U') {\n i = parseInt(vDate);\n return i ? new Date(i * 1000) : vDate;\n }\n if (typeof vDate !== 'string') {\n return '';\n }\n vFormatParts = vFormat.match(self.validParts);\n if (!vFormatParts || vFormatParts.length === 0) {\n throw new Error(\"Invalid date format definition.\");\n }\n vDateParts = vDate.replace(self.separators, '\\0').split('\\0');\n for (i = 0; i < vDateParts.length; i++) {\n vDatePart = vDateParts[i];\n iDatePart = parseInt(vDatePart);\n switch (vFormatParts[i]) {\n case 'y':\n case 'Y':\n len = vDatePart.length;\n if (len === 2) {\n out.year = parseInt((iDatePart < 70 ? '20' : '19') + vDatePart);\n } else if (len === 4) {\n out.year = iDatePart;\n }\n vDateFlag = true;\n break;\n case 'm':\n case 'n':\n case 'M':\n case 'F':\n if (isNaN(vDatePart)) {\n vMonth = vSettings.monthsShort.indexOf(vDatePart);\n if (vMonth > -1) {\n out.month = vMonth + 1;\n }\n vMonth = vSettings.months.indexOf(vDatePart);\n if (vMonth > -1) {\n out.month = vMonth + 1;\n }\n } else {\n if (iDatePart >= 1 && iDatePart <= 12) {\n out.month = iDatePart;\n }\n }\n vDateFlag = true;\n break;\n case 'd':\n case 'j':\n if (iDatePart >= 1 && iDatePart <= 31) {\n out.day = iDatePart;\n }\n vDateFlag = true;\n break;\n case 'g':\n case 'h':\n vMeriIndex = (vFormatParts.indexOf('a') > -1) ? vFormatParts.indexOf('a') :\n (vFormatParts.indexOf('A') > -1) ? vFormatParts.indexOf('A') : -1;\n mer = vDateParts[vMeriIndex];\n if (vMeriIndex > -1) {\n vMeriOffset = _compare(mer, vSettings.meridiem[0]) ? 0 :\n (_compare(mer, vSettings.meridiem[1]) ? 12 : -1);\n if (iDatePart >= 1 && iDatePart <= 12 && vMeriOffset > -1) {\n out.hour = iDatePart + vMeriOffset - 1;\n } else if (iDatePart >= 0 && iDatePart <= 23) {\n out.hour = iDatePart;\n }\n } else if (iDatePart >= 0 && iDatePart <= 23) {\n out.hour = iDatePart;\n }\n vTimeFlag = true;\n break;\n case 'G':\n case 'H':\n if (iDatePart >= 0 && iDatePart <= 23) {\n out.hour = iDatePart;\n }\n vTimeFlag = true;\n break;\n case 'i':\n if (iDatePart >= 0 && iDatePart <= 59) {\n out.min = iDatePart;\n }\n vTimeFlag = true;\n break;\n case 's':\n if (iDatePart >= 0 && iDatePart <= 59) {\n out.sec = iDatePart;\n }\n vTimeFlag = true;\n break;\n }\n }\n if (vDateFlag === true && out.year && out.month && out.day) {\n out.date = new Date(out.year, out.month - 1, out.day, out.hour, out.min, out.sec, 0);\n } else {\n if (vTimeFlag !== true) {\n return false;\n }\n out.date = new Date(0, 0, 0, out.hour, out.min, out.sec, 0);\n }\n return out.date;\n },\n guessDate: function (vDateStr, vFormat) {\n if (typeof vDateStr !== 'string') {\n return vDateStr;\n }\n var self = this, vParts = vDateStr.replace(self.separators, '\\0').split('\\0'), vPattern = /^[djmn]/g,\n vFormatParts = vFormat.match(self.validParts), vDate = new Date(), vDigit = 0, vYear, i, iPart, iSec;\n\n if (!vPattern.test(vFormatParts[0])) {\n return vDateStr;\n }\n\n for (i = 0; i < vParts.length; i++) {\n vDigit = 2;\n iPart = vParts[i];\n iSec = parseInt(iPart.substr(0, 2));\n switch (i) {\n case 0:\n if (vFormatParts[0] === 'm' || vFormatParts[0] === 'n') {\n vDate.setMonth(iSec - 1);\n } else {\n vDate.setDate(iSec);\n }\n break;\n case 1:\n if (vFormatParts[0] === 'm' || vFormatParts[0] === 'n') {\n vDate.setDate(iSec);\n } else {\n vDate.setMonth(iSec - 1);\n }\n break;\n case 2:\n vYear = vDate.getFullYear();\n if (iPart.length < 4) {\n vDate.setFullYear(parseInt(vYear.toString().substr(0, 4 - iPart.length) + iPart));\n vDigit = iPart.length;\n } else {\n vDate.setFullYear = parseInt(iPart.substr(0, 4));\n vDigit = 4;\n }\n break;\n case 3:\n vDate.setHours(iSec);\n break;\n case 4:\n vDate.setMinutes(iSec);\n break;\n case 5:\n vDate.setSeconds(iSec);\n break;\n }\n if (iPart.substr(vDigit).length > 0) {\n vParts.splice(i + 1, 0, iPart.substr(vDigit));\n }\n }\n return vDate;\n },\n parseFormat: function (vChar, vDate) {\n var self = this, vSettings = self.dateSettings, fmt, backspace = /\\\\?(.?)/gi, doFormat = function (t, s) {\n return fmt[t] ? fmt[t]() : s;\n };\n fmt = {\n /////////\n // DAY //\n /////////\n /**\n * Day of month with leading 0: `01..31`\n * @return {string}\n */\n d: function () {\n return _lpad(fmt.j(), 2);\n },\n /**\n * Shorthand day name: `Mon...Sun`\n * @return {string}\n */\n D: function () {\n return vSettings.daysShort[fmt.w()];\n },\n /**\n * Day of month: `1..31`\n * @return {number}\n */\n j: function () {\n return vDate.getDate();\n },\n /**\n * Full day name: `Monday...Sunday`\n * @return {number}\n */\n l: function () {\n return vSettings.days[fmt.w()];\n },\n /**\n * ISO-8601 day of week: `1[Mon]..7[Sun]`\n * @return {number}\n */\n N: function () {\n return fmt.w() || 7;\n },\n /**\n * Day of week: `0[Sun]..6[Sat]`\n * @return {number}\n */\n w: function () {\n return vDate.getDay();\n },\n /**\n * Day of year: `0..365`\n * @return {number}\n */\n z: function () {\n var a = new Date(fmt.Y(), fmt.n() - 1, fmt.j()), b = new Date(fmt.Y(), 0, 1);\n return Math.round((a - b) / DAY);\n },\n\n //////////\n // WEEK //\n //////////\n /**\n * ISO-8601 week number\n * @return {number}\n */\n W: function () {\n var a = new Date(fmt.Y(), fmt.n() - 1, fmt.j() - fmt.N() + 3), b = new Date(a.getFullYear(), 0, 4);\n return _lpad(1 + Math.round((a - b) / DAY / 7), 2);\n },\n\n ///////////\n // MONTH //\n ///////////\n /**\n * Full month name: `January...December`\n * @return {string}\n */\n F: function () {\n return vSettings.months[vDate.getMonth()];\n },\n /**\n * Month w/leading 0: `01..12`\n * @return {string}\n */\n m: function () {\n return _lpad(fmt.n(), 2);\n },\n /**\n * Shorthand month name; `Jan...Dec`\n * @return {string}\n */\n M: function () {\n return vSettings.monthsShort[vDate.getMonth()];\n },\n /**\n * Month: `1...12`\n * @return {number}\n */\n n: function () {\n return vDate.getMonth() + 1;\n },\n /**\n * Days in month: `28...31`\n * @return {number}\n */\n t: function () {\n return (new Date(fmt.Y(), fmt.n(), 0)).getDate();\n },\n\n //////////\n // YEAR //\n //////////\n /**\n * Is leap year? `0 or 1`\n * @return {number}\n */\n L: function () {\n var Y = fmt.Y();\n return (Y % 4 === 0 && Y % 100 !== 0 || Y % 400 === 0) ? 1 : 0;\n },\n /**\n * ISO-8601 year\n * @return {number}\n */\n o: function () {\n var n = fmt.n(), W = fmt.W(), Y = fmt.Y();\n return Y + (n === 12 && W < 9 ? 1 : n === 1 && W > 9 ? -1 : 0);\n },\n /**\n * Full year: `e.g. 1980...2010`\n * @return {number}\n */\n Y: function () {\n return vDate.getFullYear();\n },\n /**\n * Last two digits of year: `00...99`\n * @return {string}\n */\n y: function () {\n return fmt.Y().toString().slice(-2);\n },\n\n //////////\n // TIME //\n //////////\n /**\n * Meridian lower: `am or pm`\n * @return {string}\n */\n a: function () {\n return fmt.A().toLowerCase();\n },\n /**\n * Meridian upper: `AM or PM`\n * @return {string}\n */\n A: function () {\n var n = fmt.G() < 12 ? 0 : 1;\n return vSettings.meridiem[n];\n },\n /**\n * Swatch Internet time: `000..999`\n * @return {string}\n */\n B: function () {\n var H = vDate.getUTCHours() * HOUR, i = vDate.getUTCMinutes() * 60, s = vDate.getUTCSeconds();\n return _lpad(Math.floor((H + i + s + HOUR) / 86.4) % 1000, 3);\n },\n /**\n * 12-Hours: `1..12`\n * @return {number}\n */\n g: function () {\n return fmt.G() % 12 || 12;\n },\n /**\n * 24-Hours: `0..23`\n * @return {number}\n */\n G: function () {\n return vDate.getHours();\n },\n /**\n * 12-Hours with leading 0: `01..12`\n * @return {string}\n */\n h: function () {\n return _lpad(fmt.g(), 2);\n },\n /**\n * 24-Hours w/leading 0: `00..23`\n * @return {string}\n */\n H: function () {\n return _lpad(fmt.G(), 2);\n },\n /**\n * Minutes w/leading 0: `00..59`\n * @return {string}\n */\n i: function () {\n return _lpad(vDate.getMinutes(), 2);\n },\n /**\n * Seconds w/leading 0: `00..59`\n * @return {string}\n */\n s: function () {\n return _lpad(vDate.getSeconds(), 2);\n },\n /**\n * Microseconds: `000000-999000`\n * @return {string}\n */\n u: function () {\n return _lpad(vDate.getMilliseconds() * 1000, 6);\n },\n\n //////////////\n // TIMEZONE //\n //////////////\n /**\n * Timezone identifier: `e.g. Atlantic/Azores, ...`\n * @return {string}\n */\n e: function () {\n var str = /\\((.*)\\)/.exec(String(vDate))[1];\n return str || 'Coordinated Universal Time';\n },\n /**\n * Timezone abbreviation: `e.g. EST, MDT, ...`\n * @return {string}\n */\n T: function () {\n var str = (String(vDate).match(self.tzParts) || [\"\"]).pop().replace(self.tzClip, \"\");\n return str || 'UTC';\n },\n /**\n * DST observed? `0 or 1`\n * @return {number}\n */\n I: function () {\n var a = new Date(fmt.Y(), 0), c = Date.UTC(fmt.Y(), 0),\n b = new Date(fmt.Y(), 6), d = Date.UTC(fmt.Y(), 6);\n return ((a - c) !== (b - d)) ? 1 : 0;\n },\n /**\n * Difference to GMT in hour format: `e.g. +0200`\n * @return {string}\n */\n O: function () {\n var tzo = vDate.getTimezoneOffset(), a = Math.abs(tzo);\n return (tzo > 0 ? '-' : '+') + _lpad(Math.floor(a / 60) * 100 + a % 60, 4);\n },\n /**\n * Difference to GMT with colon: `e.g. +02:00`\n * @return {string}\n */\n P: function () {\n var O = fmt.O();\n return (O.substr(0, 3) + ':' + O.substr(3, 2));\n },\n /**\n * Timezone offset in seconds: `-43200...50400`\n * @return {number}\n */\n Z: function () {\n return -vDate.getTimezoneOffset() * 60;\n },\n\n ////////////////////\n // FULL DATE TIME //\n ////////////////////\n /**\n * ISO-8601 date\n * @return {string}\n */\n c: function () {\n return 'Y-m-d\\\\TH:i:sP'.replace(backspace, doFormat);\n },\n /**\n * RFC 2822 date\n * @return {string}\n */\n r: function () {\n return 'D, d M Y H:i:s O'.replace(backspace, doFormat);\n },\n /**\n * Seconds since UNIX epoch\n * @return {number}\n */\n U: function () {\n return vDate.getTime() / 1000 || 0;\n }\n };\n return doFormat(vChar, vChar);\n },\n formatDate: function (vDate, vFormat) {\n var self = this, i, n, len, str, vChar, vDateStr = '';\n if (typeof vDate === 'string') {\n vDate = self.parseDate(vDate, vFormat);\n if (vDate === false) {\n return false;\n }\n }\n if (vDate instanceof Date) {\n len = vFormat.length;\n for (i = 0; i < len; i++) {\n vChar = vFormat.charAt(i);\n if (vChar === 'S') {\n continue;\n }\n str = self.parseFormat(vChar, vDate);\n if (i !== (len - 1) && self.intParts.test(vChar) && vFormat.charAt(i + 1) === 'S') {\n n = parseInt(str);\n str += self.dateSettings.ordinal(n);\n }\n vDateStr += str;\n }\n return vDateStr;\n }\n return '';\n }\n };\n})();/**\n * @preserve jQuery DateTimePicker plugin v2.4.9\n * @homepage http://xdsoft.net/jqplugins/datetimepicker/\n * @author Chupurnov Valeriy ()\n */\n/*global DateFormatter, document,window,jQuery,setTimeout,clearTimeout,HighlightedDate,getCurrentValue*/\n;(function (factory) {\n\tif ( typeof define === 'function' && define.amd ) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine(['jquery', 'jquery-mousewheel'], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// Node/CommonJS style for Browserify\n\t\tmodule.exports = factory;\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n}(function ($) {\n\t'use strict';\n\tvar default_options = {\n\t\ti18n: {\n\t\t\tar: { // Arabic\n\t\t\t\tmonths: [\n\t\t\t\t\t\"كانون الثاني\", \"شباط\", \"آذار\", \"نيسان\", \"مايو\", \"حزيران\", \"تموز\", \"آب\", \"أيلول\", \"تشرين الأول\", \"تشرين الثاني\", \"كانون الأول\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"ن\", \"ث\", \"ع\", \"خ\", \"ج\", \"س\", \"ح\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"الأحد\", \"الاثنين\", \"الثلاثاء\", \"الأربعاء\", \"الخميس\", \"الجمعة\", \"السبت\", \"الأحد\"]\n\t\t\t},\n\t\t\tro: { // Romanian\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Ianuarie\", \"Februarie\", \"Martie\", \"Aprilie\", \"Mai\", \"Iunie\", \"Iulie\", \"August\", \"Septembrie\", \"Octombrie\", \"Noiembrie\", \"Decembrie\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Du\", \"Lu\", \"Ma\", \"Mi\", \"Jo\", \"Vi\", \"Sâ\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Duminică\", \"Luni\", \"Marţi\", \"Miercuri\", \"Joi\", \"Vineri\", \"Sâmbătă\"]\n\t\t\t},\n\t\t\tid: { // Indonesian\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Januari\", \"Februari\", \"Maret\", \"April\", \"Mei\", \"Juni\", \"Juli\", \"Agustus\", \"September\", \"Oktober\", \"November\", \"Desember\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Min\", \"Sen\", \"Sel\", \"Rab\", \"Kam\", \"Jum\", \"Sab\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Minggu\", \"Senin\", \"Selasa\", \"Rabu\", \"Kamis\", \"Jumat\", \"Sabtu\"]\n\t\t\t},\n\t\t\tis: { // Icelandic\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Janúar\", \"Febrúar\", \"Mars\", \"Apríl\", \"Maí\", \"Júní\", \"Júlí\", \"Ágúst\", \"September\", \"Október\", \"Nóvember\", \"Desember\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Sun\", \"Mán\", \"Þrið\", \"Mið\", \"Fim\", \"Fös\", \"Lau\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Sunnudagur\", \"Mánudagur\", \"Þriðjudagur\", \"Miðvikudagur\", \"Fimmtudagur\", \"Föstudagur\", \"Laugardagur\"]\n\t\t\t},\n\t\t\tbg: { // Bulgarian\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Януари\", \"Февруари\", \"Март\", \"Април\", \"Май\", \"Юни\", \"Юли\", \"Август\", \"Септември\", \"Октомври\", \"Ноември\", \"Декември\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Нд\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Неделя\", \"Понеделник\", \"Вторник\", \"Сряда\", \"Четвъртък\", \"Петък\", \"Събота\"]\n\t\t\t},\n\t\t\tfa: { // Persian/Farsi\n\t\t\t\tmonths: [\n\t\t\t\t\t'فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"یک‌شنبه\", \"دوشنبه\", \"سه‌شنبه\", \"چهارشنبه\", \"پنج‌شنبه\", \"جمعه\", \"شنبه\", \"یک‌شنبه\"]\n\t\t\t},\n\t\t\tru: { // Russian\n\t\t\t\tmonths: [\n\t\t\t\t\t'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Вс\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Воскресенье\", \"Понедельник\", \"Вторник\", \"Среда\", \"Четверг\", \"Пятница\", \"Суббота\"]\n\t\t\t},\n\t\t\tuk: { // Ukrainian\n\t\t\t\tmonths: [\n\t\t\t\t\t'Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Ндл\", \"Пнд\", \"Втр\", \"Срд\", \"Чтв\", \"Птн\", \"Сбт\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Неділя\", \"Понеділок\", \"Вівторок\", \"Середа\", \"Четвер\", \"П'ятниця\", \"Субота\"]\n\t\t\t},\n\t\t\ten: { // English\n\t\t\t\tmonths: [\n\t\t\t\t\t\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n\t\t\t},\n\t\t\tel: { // Ελληνικά\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Ιανουάριος\", \"Φεβρουάριος\", \"Μάρτιος\", \"Απρίλιος\", \"Μάιος\", \"Ιούνιος\", \"Ιούλιος\", \"Αύγουστος\", \"Σεπτέμβριος\", \"Οκτώβριος\", \"Νοέμβριος\", \"Δεκέμβριος\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Κυρ\", \"Δευ\", \"Τρι\", \"Τετ\", \"Πεμ\", \"Παρ\", \"Σαβ\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Κυριακή\", \"Δευτέρα\", \"Τρίτη\", \"Τετάρτη\", \"Πέμπτη\", \"Παρασκευή\", \"Σάββατο\"]\n\t\t\t},\n\t\t\tde: { // German\n\t\t\t\tmonths: [\n\t\t\t\t\t'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"]\n\t\t\t},\n\t\t\tnl: { // Dutch\n\t\t\t\tmonths: [\n\t\t\t\t\t\"januari\", \"februari\", \"maart\", \"april\", \"mei\", \"juni\", \"juli\", \"augustus\", \"september\", \"oktober\", \"november\", \"december\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"zondag\", \"maandag\", \"dinsdag\", \"woensdag\", \"donderdag\", \"vrijdag\", \"zaterdag\"]\n\t\t\t},\n\t\t\ttr: { // Turkish\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Ocak\", \"Şubat\", \"Mart\", \"Nisan\", \"Mayıs\", \"Haziran\", \"Temmuz\", \"Ağustos\", \"Eylül\", \"Ekim\", \"Kasım\", \"Aralık\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Paz\", \"Pts\", \"Sal\", \"Çar\", \"Per\", \"Cum\", \"Cts\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Pazar\", \"Pazartesi\", \"Salı\", \"Çarşamba\", \"Perşembe\", \"Cuma\", \"Cumartesi\"]\n\t\t\t},\n\t\t\tfr: { //French\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Janvier\", \"Février\", \"Mars\", \"Avril\", \"Mai\", \"Juin\", \"Juillet\", \"Août\", \"Septembre\", \"Octobre\", \"Novembre\", \"Décembre\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Dim\", \"Lun\", \"Mar\", \"Mer\", \"Jeu\", \"Ven\", \"Sam\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"]\n\t\t\t},\n\t\t\tes: { // Spanish\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Dom\", \"Lun\", \"Mar\", \"Mié\", \"Jue\", \"Vie\", \"Sáb\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Domingo\", \"Lunes\", \"Martes\", \"Miércoles\", \"Jueves\", \"Viernes\", \"Sábado\"]\n\t\t\t},\n\t\t\tth: { // Thai\n\t\t\t\tmonths: [\n\t\t\t\t\t'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม'\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t'อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"อาทิตย์\", \"จันทร์\", \"อังคาร\", \"พุธ\", \"พฤหัส\", \"ศุกร์\", \"เสาร์\", \"อาทิตย์\"]\n\t\t\t},\n\t\t\tpl: { // Polish\n\t\t\t\tmonths: [\n\t\t\t\t\t\"styczeń\", \"luty\", \"marzec\", \"kwiecień\", \"maj\", \"czerwiec\", \"lipiec\", \"sierpień\", \"wrzesień\", \"październik\", \"listopad\", \"grudzień\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"nd\", \"pn\", \"wt\", \"śr\", \"cz\", \"pt\", \"sb\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"niedziela\", \"poniedziałek\", \"wtorek\", \"środa\", \"czwartek\", \"piątek\", \"sobota\"]\n\t\t\t},\n\t\t\tpt: { // Portuguese\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sab\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"]\n\t\t\t},\n\t\t\tch: { // Simplified Chinese\n\t\t\t\tmonths: [\n\t\t\t\t\t\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十二月\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tse: { // Swedish\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Januari\", \"Februari\", \"Mars\", \"April\", \"Maj\", \"Juni\", \"Juli\", \"Augusti\", \"September\", \"Oktober\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Sön\", \"Mån\", \"Tis\", \"Ons\", \"Tor\", \"Fre\", \"Lör\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkr: { // Korean\n\t\t\t\tmonths: [\n\t\t\t\t\t\"1월\", \"2월\", \"3월\", \"4월\", \"5월\", \"6월\", \"7월\", \"8월\", \"9월\", \"10월\", \"11월\", \"12월\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"일\", \"월\", \"화\", \"수\", \"목\", \"금\", \"토\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"일요일\", \"월요일\", \"화요일\", \"수요일\", \"목요일\", \"금요일\", \"토요일\"]\n\t\t\t},\n\t\t\tit: { // Italian\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Gennaio\", \"Febbraio\", \"Marzo\", \"Aprile\", \"Maggio\", \"Giugno\", \"Luglio\", \"Agosto\", \"Settembre\", \"Ottobre\", \"Novembre\", \"Dicembre\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Dom\", \"Lun\", \"Mar\", \"Mer\", \"Gio\", \"Ven\", \"Sab\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Domenica\", \"Lunedì\", \"Martedì\", \"Mercoledì\", \"Giovedì\", \"Venerdì\", \"Sabato\"]\n\t\t\t},\n\t\t\tda: { // Dansk\n\t\t\t\tmonths: [\n\t\t\t\t\t\"January\", \"Februar\", \"Marts\", \"April\", \"Maj\", \"Juni\", \"July\", \"August\", \"September\", \"Oktober\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Søn\", \"Man\", \"Tir\", \"Ons\", \"Tor\", \"Fre\", \"Lør\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"søndag\", \"mandag\", \"tirsdag\", \"onsdag\", \"torsdag\", \"fredag\", \"lørdag\"]\n\t\t\t},\n\t\t\tno: { // Norwegian\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Januar\", \"Februar\", \"Mars\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Desember\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Søn\", \"Man\", \"Tir\", \"Ons\", \"Tor\", \"Fre\", \"Lør\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag']\n\t\t\t},\n\t\t\tja: { // Japanese\n\t\t\t\tmonths: [\n\t\t\t\t\t\"1月\", \"2月\", \"3月\", \"4月\", \"5月\", \"6月\", \"7月\", \"8月\", \"9月\", \"10月\", \"11月\", \"12月\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"日\", \"月\", \"火\", \"水\", \"木\", \"金\", \"土\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"日曜\", \"月曜\", \"火曜\", \"水曜\", \"木曜\", \"金曜\", \"土曜\"]\n\t\t\t},\n\t\t\tvi: { // Vietnamese\n\t\t\t\tmonths: [\n\t\t\t\t\t\"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\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"CN\", \"T2\", \"T3\", \"T4\", \"T5\", \"T6\", \"T7\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Chủ nhật\", \"Thứ hai\", \"Thứ ba\", \"Thứ tư\", \"Thứ năm\", \"Thứ sáu\", \"Thứ bảy\"]\n\t\t\t},\n\t\t\tsl: { // Slovenščina\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Januar\", \"Februar\", \"Marec\", \"April\", \"Maj\", \"Junij\", \"Julij\", \"Avgust\", \"September\", \"Oktober\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Ned\", \"Pon\", \"Tor\", \"Sre\", \"Čet\", \"Pet\", \"Sob\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Nedelja\", \"Ponedeljek\", \"Torek\", \"Sreda\", \"Četrtek\", \"Petek\", \"Sobota\"]\n\t\t\t},\n\t\t\tcs: { // Čeština\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Leden\", \"Únor\", \"Březen\", \"Duben\", \"Květen\", \"Červen\", \"Červenec\", \"Srpen\", \"Září\", \"Říjen\", \"Listopad\", \"Prosinec\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Ne\", \"Po\", \"Út\", \"St\", \"Čt\", \"Pá\", \"So\"\n\t\t\t\t]\n\t\t\t},\n\t\t\thu: { // Hungarian\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Január\", \"Február\", \"Március\", \"Április\", \"Május\", \"Június\", \"Július\", \"Augusztus\", \"Szeptember\", \"Október\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Va\", \"Hé\", \"Ke\", \"Sze\", \"Cs\", \"Pé\", \"Szo\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"vasárnap\", \"hétfő\", \"kedd\", \"szerda\", \"csütörtök\", \"péntek\", \"szombat\"]\n\t\t\t},\n\t\t\taz: { //Azerbaijanian (Azeri)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Yanvar\", \"Fevral\", \"Mart\", \"Aprel\", \"May\", \"Iyun\", \"Iyul\", \"Avqust\", \"Sentyabr\", \"Oktyabr\", \"Noyabr\", \"Dekabr\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"B\", \"Be\", \"Ça\", \"Ç\", \"Ca\", \"C\", \"Ş\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Bazar\", \"Bazar ertəsi\", \"Çərşənbə axşamı\", \"Çərşənbə\", \"Cümə axşamı\", \"Cümə\", \"Şənbə\"]\n\t\t\t},\n\t\t\tbs: { //Bosanski\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Januar\", \"Februar\", \"Mart\", \"April\", \"Maj\", \"Jun\", \"Jul\", \"Avgust\", \"Septembar\", \"Oktobar\", \"Novembar\", \"Decembar\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Ned\", \"Pon\", \"Uto\", \"Sri\", \"Čet\", \"Pet\", \"Sub\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Nedjelja\",\"Ponedjeljak\", \"Utorak\", \"Srijeda\", \"Četvrtak\", \"Petak\", \"Subota\"]\n\t\t\t},\n\t\t\tca: { //Català\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Gener\", \"Febrer\", \"Març\", \"Abril\", \"Maig\", \"Juny\", \"Juliol\", \"Agost\", \"Setembre\", \"Octubre\", \"Novembre\", \"Desembre\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Dg\", \"Dl\", \"Dt\", \"Dc\", \"Dj\", \"Dv\", \"Ds\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Diumenge\", \"Dilluns\", \"Dimarts\", \"Dimecres\", \"Dijous\", \"Divendres\", \"Dissabte\"]\n\t\t\t},\n\t\t\t'en-GB': { //English (British)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n\t\t\t},\n\t\t\tet: { //\"Eesti\"\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Jaanuar\", \"Veebruar\", \"Märts\", \"Aprill\", \"Mai\", \"Juuni\", \"Juuli\", \"August\", \"September\", \"Oktoober\", \"November\", \"Detsember\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"P\", \"E\", \"T\", \"K\", \"N\", \"R\", \"L\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Pühapäev\", \"Esmaspäev\", \"Teisipäev\", \"Kolmapäev\", \"Neljapäev\", \"Reede\", \"Laupäev\"]\n\t\t\t},\n\t\t\teu: { //Euskara\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Urtarrila\", \"Otsaila\", \"Martxoa\", \"Apirila\", \"Maiatza\", \"Ekaina\", \"Uztaila\", \"Abuztua\", \"Iraila\", \"Urria\", \"Azaroa\", \"Abendua\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Ig.\", \"Al.\", \"Ar.\", \"Az.\", \"Og.\", \"Or.\", \"La.\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: ['Igandea', 'Astelehena', 'Asteartea', 'Asteazkena', 'Osteguna', 'Ostirala', 'Larunbata']\n\t\t\t},\n\t\t\tfi: { //Finnish (Suomi)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Tammikuu\", \"Helmikuu\", \"Maaliskuu\", \"Huhtikuu\", \"Toukokuu\", \"Kesäkuu\", \"Heinäkuu\", \"Elokuu\", \"Syyskuu\", \"Lokakuu\", \"Marraskuu\", \"Joulukuu\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Su\", \"Ma\", \"Ti\", \"Ke\", \"To\", \"Pe\", \"La\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"sunnuntai\", \"maanantai\", \"tiistai\", \"keskiviikko\", \"torstai\", \"perjantai\", \"lauantai\"]\n\t\t\t},\n\t\t\tgl: { //Galego\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Xan\", \"Feb\", \"Maz\", \"Abr\", \"Mai\", \"Xun\", \"Xul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dec\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Dom\", \"Lun\", \"Mar\", \"Mer\", \"Xov\", \"Ven\", \"Sab\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Domingo\", \"Luns\", \"Martes\", \"Mércores\", \"Xoves\", \"Venres\", \"Sábado\"]\n\t\t\t},\n\t\t\thr: { //Hrvatski\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Siječanj\", \"Veljača\", \"Ožujak\", \"Travanj\", \"Svibanj\", \"Lipanj\", \"Srpanj\", \"Kolovoz\", \"Rujan\", \"Listopad\", \"Studeni\", \"Prosinac\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Ned\", \"Pon\", \"Uto\", \"Sri\", \"Čet\", \"Pet\", \"Sub\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Nedjelja\", \"Ponedjeljak\", \"Utorak\", \"Srijeda\", \"Četvrtak\", \"Petak\", \"Subota\"]\n\t\t\t},\n\t\t\tko: { //Korean (한국어)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"1월\", \"2월\", \"3월\", \"4월\", \"5월\", \"6월\", \"7월\", \"8월\", \"9월\", \"10월\", \"11월\", \"12월\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"일\", \"월\", \"화\", \"수\", \"목\", \"금\", \"토\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"일요일\", \"월요일\", \"화요일\", \"수요일\", \"목요일\", \"금요일\", \"토요일\"]\n\t\t\t},\n\t\t\tlt: { //Lithuanian (lietuvių)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Sausio\", \"Vasario\", \"Kovo\", \"Balandžio\", \"Gegužės\", \"Birželio\", \"Liepos\", \"Rugpjūčio\", \"Rugsėjo\", \"Spalio\", \"Lapkričio\", \"Gruodžio\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Sek\", \"Pir\", \"Ant\", \"Tre\", \"Ket\", \"Pen\", \"Šeš\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Sekmadienis\", \"Pirmadienis\", \"Antradienis\", \"Trečiadienis\", \"Ketvirtadienis\", \"Penktadienis\", \"Šeštadienis\"]\n\t\t\t},\n\t\t\tlv: { //Latvian (Latviešu)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Janvāris\", \"Februāris\", \"Marts\", \"Aprīlis \", \"Maijs\", \"Jūnijs\", \"Jūlijs\", \"Augusts\", \"Septembris\", \"Oktobris\", \"Novembris\", \"Decembris\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Sv\", \"Pr\", \"Ot\", \"Tr\", \"Ct\", \"Pk\", \"St\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Svētdiena\", \"Pirmdiena\", \"Otrdiena\", \"Trešdiena\", \"Ceturtdiena\", \"Piektdiena\", \"Sestdiena\"]\n\t\t\t},\n\t\t\tmk: { //Macedonian (Македонски)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"јануари\", \"февруари\", \"март\", \"април\", \"мај\", \"јуни\", \"јули\", \"август\", \"септември\", \"октомври\", \"ноември\", \"декември\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"нед\", \"пон\", \"вто\", \"сре\", \"чет\", \"пет\", \"саб\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Недела\", \"Понеделник\", \"Вторник\", \"Среда\", \"Четврток\", \"Петок\", \"Сабота\"]\n\t\t\t},\n\t\t\tmn: { //Mongolian (Монгол)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"1-р сар\", \"2-р сар\", \"3-р сар\", \"4-р сар\", \"5-р сар\", \"6-р сар\", \"7-р сар\", \"8-р сар\", \"9-р сар\", \"10-р сар\", \"11-р сар\", \"12-р сар\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Дав\", \"Мяг\", \"Лха\", \"Пүр\", \"Бсн\", \"Бям\", \"Ням\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Даваа\", \"Мягмар\", \"Лхагва\", \"Пүрэв\", \"Баасан\", \"Бямба\", \"Ням\"]\n\t\t\t},\n\t\t\t'pt-BR': { //Português(Brasil)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"]\n\t\t\t},\n\t\t\tsk: { //Slovenčina\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Január\", \"Február\", \"Marec\", \"Apríl\", \"Máj\", \"Jún\", \"Júl\", \"August\", \"September\", \"Október\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Ne\", \"Po\", \"Ut\", \"St\", \"Št\", \"Pi\", \"So\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Nedeľa\", \"Pondelok\", \"Utorok\", \"Streda\", \"Štvrtok\", \"Piatok\", \"Sobota\"]\n\t\t\t},\n\t\t\tsq: { //Albanian (Shqip)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Janar\", \"Shkurt\", \"Mars\", \"Prill\", \"Maj\", \"Qershor\", \"Korrik\", \"Gusht\", \"Shtator\", \"Tetor\", \"Nëntor\", \"Dhjetor\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Die\", \"Hën\", \"Mar\", \"Mër\", \"Enj\", \"Pre\", \"Shtu\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"E Diel\", \"E Hënë\", \"E Martē\", \"E Mërkurë\", \"E Enjte\", \"E Premte\", \"E Shtunë\"]\n\t\t\t},\n\t\t\t'sr-YU': { //Serbian (Srpski)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Januar\", \"Februar\", \"Mart\", \"April\", \"Maj\", \"Jun\", \"Jul\", \"Avgust\", \"Septembar\", \"Oktobar\", \"Novembar\", \"Decembar\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Ned\", \"Pon\", \"Uto\", \"Sre\", \"čet\", \"Pet\", \"Sub\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Nedelja\",\"Ponedeljak\", \"Utorak\", \"Sreda\", \"Četvrtak\", \"Petak\", \"Subota\"]\n\t\t\t},\n\t\t\tsr: { //Serbian Cyrillic (Српски)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"јануар\", \"фебруар\", \"март\", \"април\", \"мај\", \"јун\", \"јул\", \"август\", \"септембар\", \"октобар\", \"новембар\", \"децембар\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"нед\", \"пон\", \"уто\", \"сре\", \"чет\", \"пет\", \"суб\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Недеља\",\"Понедељак\", \"Уторак\", \"Среда\", \"Четвртак\", \"Петак\", \"Субота\"]\n\t\t\t},\n\t\t\tsv: { //Svenska\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Januari\", \"Februari\", \"Mars\", \"April\", \"Maj\", \"Juni\", \"Juli\", \"Augusti\", \"September\", \"Oktober\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Sön\", \"Mån\", \"Tis\", \"Ons\", \"Tor\", \"Fre\", \"Lör\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Söndag\", \"Måndag\", \"Tisdag\", \"Onsdag\", \"Torsdag\", \"Fredag\", \"Lördag\"]\n\t\t\t},\n\t\t\t'zh-TW': { //Traditional Chinese (繁體中文)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十二月\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\", \"星期六\"]\n\t\t\t},\n\t\t\tzh: { //Simplified Chinese (简体中文)\n\t\t\t\tmonths: [\n\t\t\t\t\t\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十二月\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\", \"星期六\"]\n\t\t\t},\n\t\t\the: { //Hebrew (עברית)\n\t\t\t\tmonths: [\n\t\t\t\t\t'ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t'א\\'', 'ב\\'', 'ג\\'', 'ד\\'', 'ה\\'', 'ו\\'', 'שבת'\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"ראשון\", \"שני\", \"שלישי\", \"רביעי\", \"חמישי\", \"שישי\", \"שבת\", \"ראשון\"]\n\t\t\t},\n\t\t\thy: { // Armenian\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Հունվար\", \"Փետրվար\", \"Մարտ\", \"Ապրիլ\", \"Մայիս\", \"Հունիս\", \"Հուլիս\", \"Օգոստոս\", \"Սեպտեմբեր\", \"Հոկտեմբեր\", \"Նոյեմբեր\", \"Դեկտեմբեր\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Կի\", \"Երկ\", \"Երք\", \"Չոր\", \"Հնգ\", \"Ուրբ\", \"Շբթ\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\"Կիրակի\", \"Երկուշաբթի\", \"Երեքշաբթի\", \"Չորեքշաբթի\", \"Հինգշաբթի\", \"Ուրբաթ\", \"Շաբաթ\"]\n\t\t\t},\n\t\t\tkg: { // Kyrgyz\n\t\t\t\tmonths: [\n\t\t\t\t\t'Үчтүн айы', 'Бирдин айы', 'Жалган Куран', 'Чын Куран', 'Бугу', 'Кулжа', 'Теке', 'Баш Оона', 'Аяк Оона', 'Тогуздун айы', 'Жетинин айы', 'Бештин айы'\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Жек\", \"Дүй\", \"Шей\", \"Шар\", \"Бей\", \"Жум\", \"Ише\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\n\t\t\t\t\t\"Жекшемб\", \"Дүйшөмб\", \"Шейшемб\", \"Шаршемб\", \"Бейшемби\", \"Жума\", \"Ишенб\"\n\t\t\t\t]\n\t\t\t},\n\t\t\trm: { // Romansh\n\t\t\t\tmonths: [\n\t\t\t\t\t\"Schaner\", \"Favrer\", \"Mars\", \"Avrigl\", \"Matg\", \"Zercladur\", \"Fanadur\", \"Avust\", \"Settember\", \"October\", \"November\", \"December\"\n\t\t\t\t],\n\t\t\t\tdayOfWeekShort: [\n\t\t\t\t\t\"Du\", \"Gli\", \"Ma\", \"Me\", \"Gie\", \"Ve\", \"So\"\n\t\t\t\t],\n\t\t\t\tdayOfWeek: [\n\t\t\t\t\t\"Dumengia\", \"Glindesdi\", \"Mardi\", \"Mesemna\", \"Gievgia\", \"Venderdi\", \"Sonda\"\n\t\t\t\t]\n\t\t\t},\n\t\t},\n\t\tvalue: '',\n\t\trtl: false,\n\n\t\tformat:\t'Y/m/d H:i',\n\t\tformatTime:\t'H:i',\n\t\tformatDate:\t'Y/m/d',\n\n\t\tstartDate:\tfalse, // new Date(), '1986/12/08', '-1970/01/05','-1970/01/05',\n\t\tstep: 60,\n\t\tmonthChangeSpinner: true,\n\n\t\tcloseOnDateSelect: false,\n\t\tcloseOnTimeSelect: true,\n\t\tcloseOnWithoutClick: true,\n\t\tcloseOnInputClick: true,\n\n\t\ttimepicker: true,\n\t\tdatepicker: true,\n\t\tweeks: false,\n\n\t\tdefaultTime: false,\t// use formatTime format (ex. '10:00' for formatTime:\t'H:i')\n\t\tdefaultDate: false,\t// use formatDate format (ex new Date() or '1986/12/08' or '-1970/01/05' or '-1970/01/05')\n\n\t\tminDate: false,\n\t\tmaxDate: false,\n\t\tminTime: false,\n\t\tmaxTime: false,\n\t\tdisabledMinTime: false,\n\t\tdisabledMaxTime: false,\n\n\t\tallowTimes: [],\n\t\topened: false,\n\t\tinitTime: true,\n\t\tinline: false,\n\t\ttheme: '',\n\n\t\tonSelectDate: function () {},\n\t\tonSelectTime: function () {},\n\t\tonChangeMonth: function () {},\n\t\tonGetWeekOfYear: function () {},\n\t\tonChangeYear: function () {},\n\t\tonChangeDateTime: function () {},\n\t\tonShow: function () {},\n\t\tonClose: function () {},\n\t\tonGenerate: function () {},\n\n\t\twithoutCopyright: true,\n\t\tinverseButton: false,\n\t\thours12: false,\n\t\tnext: 'xdsoft_next',\n\t\tprev : 'xdsoft_prev',\n\t\tdayOfWeekStart: 0,\n\t\tparentID: 'body',\n\t\ttimeHeightInTimePicker: 25,\n\t\ttimepickerScrollbar: true,\n\t\ttodayButton: true,\n\t\tprevButton: true,\n\t\tnextButton: true,\n\t\tdefaultSelect: true,\n\n\t\tscrollMonth: true,\n\t\tscrollTime: true,\n\t\tscrollInput: true,\n\n\t\tlazyInit: false,\n\t\tmask: false,\n\t\tvalidateOnBlur: true,\n\t\tallowBlank: true,\n\t\tyearStart: 1950,\n\t\tyearEnd: 2050,\n\t\tmonthStart: 0,\n\t\tmonthEnd: 11,\n\t\tstyle: '',\n\t\tid: '',\n\t\tfixed: false,\n\t\troundTime: 'round', // ceil, floor\n\t\tclassName: '',\n\t\tweekends: [],\n\t\thighlightedDates: [],\n\t\thighlightedPeriods: [],\n\t\tallowDates : [],\n\t\tallowDateRe : null,\n\t\tdisabledDates : [],\n\t\tdisabledWeekDays: [],\n\t\tyearOffset: 0,\n\t\tbeforeShowDay: null,\n\n\t\tenterLikeTab: true,\n showApplyButton: false\n\t};\n\n\tvar dateHelper = null,\n\t\tglobalLocaleDefault = 'en',\n\t\tglobalLocale = 'en';\n\t\n\tvar dateFormatterOptionsDefault = {\n\t\tmeridiem: ['AM', 'PM']\n\t};\n\t\n\tvar initDateFormatter = function(){\n\t\tvar locale = default_options.i18n[globalLocale],\n\t\t\topts = {\n\t\t\t\tdays: locale.dayOfWeek,\n\t\t\t\tdaysShort: locale.dayOfWeekShort,\n\t\t\t\tmonths: locale.months,\n\t\t\t\tmonthsShort: $.map(locale.months, function(n){ return n.substring(0, 3) }),\t\t\t\n\t\t\t};\n\t\t\n\t \tdateHelper = new DateFormatter({\n\t\t\tdateSettings: $.extend({}, dateFormatterOptionsDefault, opts)\n\t\t});\n\t};\n\t\t\n\t// for locale settings\n\t$.datetimepicker = {\n\t\tsetLocale: function(locale){\n\t\t\tvar newLocale = default_options.i18n[locale]?locale:globalLocaleDefault;\n\t\t\tif(globalLocale != newLocale){\n\t\t\t\tglobalLocale = newLocale;\n\t\t\t\t// reinit date formatter\n\t\t\t\tinitDateFormatter();\n\t\t\t}\n\t\t},\n\t\tRFC_2822: 'D, d M Y H:i:s O',\n\t\tATOM: 'Y-m-d\\TH:i:sP',\n\t\tISO_8601: 'Y-m-d\\TH:i:sO',\n\t\tRFC_822: 'D, d M y H:i:s O',\n\t\tRFC_850: 'l, d-M-y H:i:s T',\n\t\tRFC_1036: 'D, d M y H:i:s O',\n\t\tRFC_1123: 'D, d M Y H:i:s O',\n\t\tRSS: 'D, d M Y H:i:s O',\n\t\tW3C: 'Y-m-d\\TH:i:sP'\n\t};\n\t\n\t// first init date formatter\n\tinitDateFormatter();\n\n\t// fix for ie8\n\tif (!window.getComputedStyle) {\n\t\twindow.getComputedStyle = function (el, pseudo) {\n\t\t\tthis.el = el;\n\t\t\tthis.getPropertyValue = function (prop) {\n\t\t\t\tvar re = /(\\-([a-z]){1})/g;\n\t\t\t\tif (prop === 'float') {\n\t\t\t\t\tprop = 'styleFloat';\n\t\t\t\t}\n\t\t\t\tif (re.test(prop)) {\n\t\t\t\t\tprop = prop.replace(re, function (a, b, c) {\n\t\t\t\t\t\treturn c.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn el.currentStyle[prop] || null;\n\t\t\t};\n\t\t\treturn this;\n\t\t};\n\t}\n\tif (!Array.prototype.indexOf) {\n\t\tArray.prototype.indexOf = function (obj, start) {\n\t\t\tvar i, j;\n\t\t\tfor (i = (start || 0), j = this.length; i < j; i += 1) {\n\t\t\t\tif (this[i] === obj) { return i; }\n\t\t\t}\n\t\t\treturn -1;\n\t\t};\n\t}\n\tDate.prototype.countDaysInMonth = function () {\n\t\treturn new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate();\n\t};\n\t$.fn.xdsoftScroller = function (percent) {\n\t\treturn this.each(function () {\n\t\t\tvar timeboxparent = $(this),\n\t\t\t\tpointerEventToXY = function (e) {\n\t\t\t\t\tvar out = {x: 0, y: 0},\n\t\t\t\t\t\ttouch;\n\t\t\t\t\tif (e.type === 'touchstart' || e.type === 'touchmove' || e.type === 'touchend' || e.type === 'touchcancel') {\n\t\t\t\t\t\ttouch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];\n\t\t\t\t\t\tout.x = touch.clientX;\n\t\t\t\t\t\tout.y = touch.clientY;\n\t\t\t\t\t} else if (e.type === 'mousedown' || e.type === 'mouseup' || e.type === 'mousemove' || e.type === 'mouseover' || e.type === 'mouseout' || e.type === 'mouseenter' || e.type === 'mouseleave') {\n\t\t\t\t\t\tout.x = e.clientX;\n\t\t\t\t\t\tout.y = e.clientY;\n\t\t\t\t\t}\n\t\t\t\t\treturn out;\n\t\t\t\t},\n\t\t\t\tmove = 0,\n\t\t\t\ttimebox,\n\t\t\t\tparentHeight,\n\t\t\t\theight,\n\t\t\t\tscrollbar,\n\t\t\t\tscroller,\n\t\t\t\tmaximumOffset = 100,\n\t\t\t\tstart = false,\n\t\t\t\tstartY = 0,\n\t\t\t\tstartTop = 0,\n\t\t\t\th1 = 0,\n\t\t\t\ttouchStart = false,\n\t\t\t\tstartTopScroll = 0,\n\t\t\t\tcalcOffset = function () {};\n\t\t\tif (percent === 'hide') {\n\t\t\t\ttimeboxparent.find('.xdsoft_scrollbar').hide();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!$(this).hasClass('xdsoft_scroller_box')) {\n\t\t\t\ttimebox = timeboxparent.children().eq(0);\n\t\t\t\tparentHeight = timeboxparent[0].clientHeight;\n\t\t\t\theight = timebox[0].offsetHeight;\n\t\t\t\tscrollbar = $('
');\n\t\t\t\tscroller = $('
');\n\t\t\t\tscrollbar.append(scroller);\n\n\t\t\t\ttimeboxparent.addClass('xdsoft_scroller_box').append(scrollbar);\n\t\t\t\tcalcOffset = function calcOffset(event) {\n\t\t\t\t\tvar offset = pointerEventToXY(event).y - startY + startTopScroll;\n\t\t\t\t\tif (offset < 0) {\n\t\t\t\t\t\toffset = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (offset + scroller[0].offsetHeight > h1) {\n\t\t\t\t\t\toffset = h1 - scroller[0].offsetHeight;\n\t\t\t\t\t}\n\t\t\t\t\ttimeboxparent.trigger('scroll_element.xdsoft_scroller', [maximumOffset ? offset / maximumOffset : 0]);\n\t\t\t\t};\n\n\t\t\t\tscroller\n\t\t\t\t\t.on('touchstart.xdsoft_scroller mousedown.xdsoft_scroller', function (event) {\n\t\t\t\t\t\tif (!parentHeight) {\n\t\t\t\t\t\t\ttimeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstartY = pointerEventToXY(event).y;\n\t\t\t\t\t\tstartTopScroll = parseInt(scroller.css('margin-top'), 10);\n\t\t\t\t\t\th1 = scrollbar[0].offsetHeight;\n\n\t\t\t\t\t\tif (event.type === 'mousedown' || event.type === 'touchstart') {\n\t\t\t\t\t\t\tif (document) {\n\t\t\t\t\t\t\t\t$(document.body).addClass('xdsoft_noselect');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$([document.body, window]).on('touchend mouseup.xdsoft_scroller', function arguments_callee() {\n\t\t\t\t\t\t\t\t$([document.body, window]).off('touchend mouseup.xdsoft_scroller', arguments_callee)\n\t\t\t\t\t\t\t\t\t.off('mousemove.xdsoft_scroller', calcOffset)\n\t\t\t\t\t\t\t\t\t.removeClass('xdsoft_noselect');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$(document.body).on('mousemove.xdsoft_scroller', calcOffset);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttouchStart = true;\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.on('touchmove', function (event) {\n\t\t\t\t\t\tif (touchStart) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tcalcOffset(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.on('touchend touchcancel', function (event) {\n\t\t\t\t\t\ttouchStart = false;\n\t\t\t\t\t\tstartTopScroll = 0;\n\t\t\t\t\t});\n\n\t\t\t\ttimeboxparent\n\t\t\t\t\t.on('scroll_element.xdsoft_scroller', function (event, percentage) {\n\t\t\t\t\t\tif (!parentHeight) {\n\t\t\t\t\t\t\ttimeboxparent.trigger('resize_scroll.xdsoft_scroller', [percentage, true]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpercentage = percentage > 1 ? 1 : (percentage < 0 || isNaN(percentage)) ? 0 : percentage;\n\n\t\t\t\t\t\tscroller.css('margin-top', maximumOffset * percentage);\n\n\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\ttimebox.css('marginTop', -parseInt((timebox[0].offsetHeight - parentHeight) * percentage, 10));\n\t\t\t\t\t\t}, 10);\n\t\t\t\t\t})\n\t\t\t\t\t.on('resize_scroll.xdsoft_scroller', function (event, percentage, noTriggerScroll) {\n\t\t\t\t\t\tvar percent, sh;\n\t\t\t\t\t\tparentHeight = timeboxparent[0].clientHeight;\n\t\t\t\t\t\theight = timebox[0].offsetHeight;\n\t\t\t\t\t\tpercent = parentHeight / height;\n\t\t\t\t\t\tsh = percent * scrollbar[0].offsetHeight;\n\t\t\t\t\t\tif (percent > 1) {\n\t\t\t\t\t\t\tscroller.hide();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscroller.show();\n\t\t\t\t\t\t\tscroller.css('height', parseInt(sh > 10 ? sh : 10, 10));\n\t\t\t\t\t\t\tmaximumOffset = scrollbar[0].offsetHeight - scroller[0].offsetHeight;\n\t\t\t\t\t\t\tif (noTriggerScroll !== true) {\n\t\t\t\t\t\t\t\ttimeboxparent.trigger('scroll_element.xdsoft_scroller', [percentage || Math.abs(parseInt(timebox.css('marginTop'), 10)) / (height - parentHeight)]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\ttimeboxparent.on('mousewheel', function (event) {\n\t\t\t\t\tvar top = Math.abs(parseInt(timebox.css('marginTop'), 10));\n\n\t\t\t\t\ttop = top - (event.deltaY * 20);\n\t\t\t\t\tif (top < 0) {\n\t\t\t\t\t\ttop = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\ttimeboxparent.trigger('scroll_element.xdsoft_scroller', [top / (height - parentHeight)]);\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t\ttimeboxparent.on('touchstart', function (event) {\n\t\t\t\t\tstart = pointerEventToXY(event);\n\t\t\t\t\tstartTop = Math.abs(parseInt(timebox.css('marginTop'), 10));\n\t\t\t\t});\n\n\t\t\t\ttimeboxparent.on('touchmove', function (event) {\n\t\t\t\t\tif (start) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tvar coord = pointerEventToXY(event);\n\t\t\t\t\t\ttimeboxparent.trigger('scroll_element.xdsoft_scroller', [(startTop - (coord.y - start.y)) / (height - parentHeight)]);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\ttimeboxparent.on('touchend touchcancel', function (event) {\n\t\t\t\t\tstart = false;\n\t\t\t\t\tstartTop = 0;\n\t\t\t\t});\n\t\t\t}\n\t\t\ttimeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]);\n\t\t});\n\t};\n\n\t$.fn.datetimepicker = function (opt, opt2) {\n\t\tvar result = this,\n KEY0 = 48,\n\t\t\tKEY9 = 57,\n\t\t\t_KEY0 = 96,\n\t\t\t_KEY9 = 105,\n\t\t\tCTRLKEY = 17,\n\t\t\tDEL = 46,\n\t\t\tENTER = 13,\n\t\t\tESC = 27,\n\t\t\tBACKSPACE = 8,\n\t\t\tARROWLEFT = 37,\n\t\t\tARROWUP = 38,\n\t\t\tARROWRIGHT = 39,\n\t\t\tARROWDOWN = 40,\n\t\t\tTAB = 9,\n\t\t\tF5 = 116,\n\t\t\tAKEY = 65,\n\t\t\tCKEY = 67,\n\t\t\tVKEY = 86,\n\t\t\tZKEY = 90,\n\t\t\tYKEY = 89,\n\t\t\tctrlDown\t=\tfalse,\n\t\t\toptions = ($.isPlainObject(opt) || !opt) ? $.extend(true, {}, default_options, opt) : $.extend(true, {}, default_options),\n\n\t\t\tlazyInitTimer = 0,\n\t\t\tcreateDateTimePicker,\n\t\t\tdestroyDateTimePicker,\n\n\t\t\tlazyInit = function (input) {\n\t\t\t\tinput\n\t\t\t\t\t.on('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', function initOnActionCallback(event) {\n\t\t\t\t\t\tif (input.is(':disabled') || input.data('xdsoft_datetimepicker')) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclearTimeout(lazyInitTimer);\n\t\t\t\t\t\tlazyInitTimer = setTimeout(function () {\n\n\t\t\t\t\t\t\tif (!input.data('xdsoft_datetimepicker')) {\n\t\t\t\t\t\t\t\tcreateDateTimePicker(input);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinput\n\t\t\t\t\t\t\t\t.off('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', initOnActionCallback)\n\t\t\t\t\t\t\t\t.trigger('open.xdsoft');\n\t\t\t\t\t\t}, 100);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\tcreateDateTimePicker = function (input) {\n\t\t\tvar datetimepicker = $('
'),\n\t\t\t\txdsoft_copyright = $('
xdsoft.net
'),\n\t\t\t\tdatepicker = $('
'),\n\t\t\t\tmounth_picker = $('
' +\n\t\t\t\t\t'
' +\n\t\t\t\t\t'
' +\n\t\t\t\t\t'
'),\n\t\t\t\tcalendar = $('
'),\n\t\t\t\ttimepicker = $('
'),\n\t\t\t\ttimeboxparent = timepicker.find('.xdsoft_time_box').eq(0),\n\t\t\t\ttimebox = $('
'),\n applyButton = $(''),\n\n\t\t\t\tmonthselect = $('
'),\n\t\t\t\tyearselect = $('
'),\n\t\t\t\ttriggerAfterOpen = false,\n\t\t\t\tXDSoft_datetime,\n\t\n\t\t\t\txchangeTimer,\n\t\t\t\ttimerclick,\n\t\t\t\tcurrent_time_index,\n\t\t\t\tsetPos,\n\t\t\t\ttimer = 0,\n\t\t\t\ttimer1 = 0,\n\t\t\t\t_xdsoft_datetime;\n\n\t\t\tif (options.id) {\n\t\t\t\tdatetimepicker.attr('id', options.id);\n\t\t\t}\n\t\t\tif (options.style) {\n\t\t\t\tdatetimepicker.attr('style', options.style);\n\t\t\t}\n\t\t\tif (options.weeks) {\n\t\t\t\tdatetimepicker.addClass('xdsoft_showweeks');\n\t\t\t}\n\t\t\tif (options.rtl) {\n\t\t\t\tdatetimepicker.addClass('xdsoft_rtl');\n\t\t\t}\n\n\t\t\tdatetimepicker.addClass('xdsoft_' + options.theme);\n\t\t\tdatetimepicker.addClass(options.className);\n\n\t\t\tmounth_picker\n\t\t\t\t.find('.xdsoft_month span')\n\t\t\t\t\t.after(monthselect);\n\t\t\tmounth_picker\n\t\t\t\t.find('.xdsoft_year span')\n\t\t\t\t\t.after(yearselect);\n\n\t\t\tmounth_picker\n\t\t\t\t.find('.xdsoft_month,.xdsoft_year')\n\t\t\t\t\t.on('touchstart mousedown.xdsoft', function (event) {\n\t\t\t\t\tvar select = $(this).find('.xdsoft_select').eq(0),\n\t\t\t\t\t\tval = 0,\n\t\t\t\t\t\ttop = 0,\n\t\t\t\t\t\tvisible = select.is(':visible'),\n\t\t\t\t\t\titems,\n\t\t\t\t\t\ti;\n\n\t\t\t\t\tmounth_picker\n\t\t\t\t\t\t.find('.xdsoft_select')\n\t\t\t\t\t\t\t.hide();\n\t\t\t\t\tif (_xdsoft_datetime.currentTime) {\n\t\t\t\t\t\tval = _xdsoft_datetime.currentTime[$(this).hasClass('xdsoft_month') ? 'getMonth' : 'getFullYear']();\n\t\t\t\t\t}\n\n\t\t\t\t\tselect[visible ? 'hide' : 'show']();\n\t\t\t\t\tfor (items = select.find('div.xdsoft_option'), i = 0; i < items.length; i += 1) {\n\t\t\t\t\t\tif (items.eq(i).data('value') === val) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttop += items[0].offsetHeight;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tselect.xdsoftScroller(top / (select.children()[0].offsetHeight - (select[0].clientHeight)));\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\tmounth_picker\n\t\t\t\t.find('.xdsoft_select')\n\t\t\t\t\t.xdsoftScroller()\n\t\t\t\t.on('touchstart mousedown.xdsoft', function (event) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t})\n\t\t\t\t.on('touchstart mousedown.xdsoft', '.xdsoft_option', function (event) {\n\t\t\t\t\tif (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) {\n\t\t\t\t\t\t_xdsoft_datetime.currentTime = _xdsoft_datetime.now();\n\t\t\t\t\t}\n\n\t\t\t\t\tvar year = _xdsoft_datetime.currentTime.getFullYear();\n\t\t\t\t\tif (_xdsoft_datetime && _xdsoft_datetime.currentTime) {\n\t\t\t\t\t\t_xdsoft_datetime.currentTime[$(this).parent().parent().hasClass('xdsoft_monthselect') ? 'setMonth' : 'setFullYear']($(this).data('value'));\n\t\t\t\t\t}\n\n\t\t\t\t\t$(this).parent().parent().hide();\n\n\t\t\t\t\tdatetimepicker.trigger('xchange.xdsoft');\n\t\t\t\t\tif (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {\n\t\t\t\t\t\toptions.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (year !== _xdsoft_datetime.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) {\n\t\t\t\t\t\toptions.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tdatetimepicker.getValue = function () {\n return _xdsoft_datetime.getCurrentTime();\n };\n\n\t\t\tdatetimepicker.setOptions = function (_options) {\n\t\t\t\tvar highlightedDates = {},\n\t\t\t\t\tgetCaretPos = function (input) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (document.selection && document.selection.createRange) {\n\t\t\t\t\t\t\t\tvar range = document.selection.createRange();\n\t\t\t\t\t\t\t\treturn range.getBookmark().charCodeAt(2) - 2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (input.setSelectionRange) {\n\t\t\t\t\t\t\t\treturn input.selectionStart;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\treturn 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tsetCaretPos = function (node, pos) {\n\t\t\t\t\t\tnode = (typeof node === \"string\" || node instanceof String) ? document.getElementById(node) : node;\n\t\t\t\t\t\tif (!node) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (node.createTextRange) {\n\t\t\t\t\t\t\tvar textRange = node.createTextRange();\n\t\t\t\t\t\t\ttextRange.collapse(true);\n\t\t\t\t\t\t\ttextRange.moveEnd('character', pos);\n\t\t\t\t\t\t\ttextRange.moveStart('character', pos);\n\t\t\t\t\t\t\ttextRange.select();\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (node.setSelectionRange) {\n\t\t\t\t\t\t\tnode.setSelectionRange(pos, pos);\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t},\n\t\t\t\t\tisValidValue = function (mask, value) {\n\t\t\t\t\t\tvar reg = mask\n\t\t\t\t\t\t\t.replace(/([\\[\\]\\/\\{\\}\\(\\)\\-\\.\\+]{1})/g, '\\\\$1')\n\t\t\t\t\t\t\t.replace(/_/g, '{digit+}')\n\t\t\t\t\t\t\t.replace(/([0-9]{1})/g, '{digit$1}')\n\t\t\t\t\t\t\t.replace(/\\{digit([0-9]{1})\\}/g, '[0-$1_]{1}')\n\t\t\t\t\t\t\t.replace(/\\{digit[\\+]\\}/g, '[0-9_]{1}');\n\t\t\t\t\t\treturn (new RegExp(reg)).test(value);\n\t\t\t\t\t};\n\t\t\t\toptions = $.extend(true, {}, options, _options);\n\n\t\t\t\tif (_options.allowTimes && $.isArray(_options.allowTimes) && _options.allowTimes.length) {\n\t\t\t\t\toptions.allowTimes = $.extend(true, [], _options.allowTimes);\n\t\t\t\t}\n\n\t\t\t\tif (_options.weekends && $.isArray(_options.weekends) && _options.weekends.length) {\n\t\t\t\t\toptions.weekends = $.extend(true, [], _options.weekends);\n\t\t\t\t}\n\n\t\t\t\tif (_options.allowDates && $.isArray(_options.allowDates) && _options.allowDates.length) {\n\t\t\t\t\toptions.allowDates = $.extend(true, [], _options.allowDates);\n\t\t\t\t}\n\n\t\t\t\tif (_options.allowDateRe && Object.prototype.toString.call(_options.allowDateRe)===\"[object String]\") {\n\t\t\t\t\toptions.allowDateRe = new RegExp(_options.allowDateRe);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (_options.highlightedDates && $.isArray(_options.highlightedDates) && _options.highlightedDates.length) {\n\t\t\t\t\t$.each(_options.highlightedDates, function (index, value) {\n\t\t\t\t\t\tvar splitData = $.map(value.split(','), $.trim),\n\t\t\t\t\t\t\texDesc,\n\t\t\t\t\t\t\thDate = new HighlightedDate(dateHelper.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style\n\t\t\t\t\t\t\tkeyDate = dateHelper.formatDate(hDate.date, options.formatDate);\n\t\t\t\t\t\tif (highlightedDates[keyDate] !== undefined) {\n\t\t\t\t\t\t\texDesc = highlightedDates[keyDate].desc;\n\t\t\t\t\t\t\tif (exDesc && exDesc.length && hDate.desc && hDate.desc.length) {\n\t\t\t\t\t\t\t\thighlightedDates[keyDate].desc = exDesc + \"\\n\" + hDate.desc;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\thighlightedDates[keyDate] = hDate;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\toptions.highlightedDates = $.extend(true, [], highlightedDates);\n\t\t\t\t}\n\n\t\t\t\tif (_options.highlightedPeriods && $.isArray(_options.highlightedPeriods) && _options.highlightedPeriods.length) {\n\t\t\t\t\thighlightedDates = $.extend(true, [], options.highlightedDates);\n\t\t\t\t\t$.each(_options.highlightedPeriods, function (index, value) {\n\t\t\t\t\t\tvar dateTest, // start date\n\t\t\t\t\t\t\tdateEnd,\n\t\t\t\t\t\t\tdesc,\n\t\t\t\t\t\t\thDate,\n\t\t\t\t\t\t\tkeyDate,\n\t\t\t\t\t\t\texDesc,\n\t\t\t\t\t\t\tstyle;\n\t\t\t\t\t\tif ($.isArray(value)) {\n\t\t\t\t\t\t\tdateTest = value[0];\n\t\t\t\t\t\t\tdateEnd = value[1];\n\t\t\t\t\t\t\tdesc = value[2];\n\t\t\t\t\t\t\tstyle = value[3];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar splitData = $.map(value.split(','), $.trim);\n\t\t\t\t\t\t\tdateTest = dateHelper.parseDate(splitData[0], options.formatDate);\n\t\t\t\t\t\t\tdateEnd = dateHelper.parseDate(splitData[1], options.formatDate);\n\t\t\t\t\t\t\tdesc = splitData[2];\n\t\t\t\t\t\t\tstyle = splitData[3];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twhile (dateTest <= dateEnd) {\n\t\t\t\t\t\t\thDate = new HighlightedDate(dateTest, desc, style);\n\t\t\t\t\t\t\tkeyDate = dateHelper.formatDate(dateTest, options.formatDate);\n\t\t\t\t\t\t\tdateTest.setDate(dateTest.getDate() + 1);\n\t\t\t\t\t\t\tif (highlightedDates[keyDate] !== undefined) {\n\t\t\t\t\t\t\t\texDesc = highlightedDates[keyDate].desc;\n\t\t\t\t\t\t\t\tif (exDesc && exDesc.length && hDate.desc && hDate.desc.length) {\n\t\t\t\t\t\t\t\t\thighlightedDates[keyDate].desc = exDesc + \"\\n\" + hDate.desc;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thighlightedDates[keyDate] = hDate;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\toptions.highlightedDates = $.extend(true, [], highlightedDates);\n\t\t\t\t}\n\n\t\t\t\tif (_options.disabledDates && $.isArray(_options.disabledDates) && _options.disabledDates.length) {\n\t\t\t\t\toptions.disabledDates = $.extend(true, [], _options.disabledDates);\n\t\t\t\t}\n\n\t\t\t\tif (_options.disabledWeekDays && $.isArray(_options.disabledWeekDays) && _options.disabledWeekDays.length) {\n\t\t\t\t options.disabledWeekDays = $.extend(true, [], _options.disabledWeekDays);\n\t\t\t\t}\n\n\t\t\t\tif ((options.open || options.opened) && (!options.inline)) {\n\t\t\t\t\tinput.trigger('open.xdsoft');\n\t\t\t\t}\n\n\t\t\t\tif (options.inline) {\n\t\t\t\t\ttriggerAfterOpen = true;\n\t\t\t\t\tdatetimepicker.addClass('xdsoft_inline');\n\t\t\t\t\tinput.after(datetimepicker).hide();\n\t\t\t\t}\n\n\t\t\t\tif (options.inverseButton) {\n\t\t\t\t\toptions.next = 'xdsoft_prev';\n\t\t\t\t\toptions.prev = 'xdsoft_next';\n\t\t\t\t}\n\n\t\t\t\tif (options.datepicker) {\n\t\t\t\t\tdatepicker.addClass('active');\n\t\t\t\t} else {\n\t\t\t\t\tdatepicker.removeClass('active');\n\t\t\t\t}\n\n\t\t\t\tif (options.timepicker) {\n\t\t\t\t\ttimepicker.addClass('active');\n\t\t\t\t} else {\n\t\t\t\t\ttimepicker.removeClass('active');\n\t\t\t\t}\n\n\t\t\t\tif (options.value) {\n\t\t\t\t\t_xdsoft_datetime.setCurrentTime(options.value);\n\t\t\t\t\tif (input && input.val) {\n\t\t\t\t\t\tinput.val(_xdsoft_datetime.str);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (isNaN(options.dayOfWeekStart)) {\n\t\t\t\t\toptions.dayOfWeekStart = 0;\n\t\t\t\t} else {\n\t\t\t\t\toptions.dayOfWeekStart = parseInt(options.dayOfWeekStart, 10) % 7;\n\t\t\t\t}\n\n\t\t\t\tif (!options.timepickerScrollbar) {\n\t\t\t\t\ttimeboxparent.xdsoftScroller('hide');\n\t\t\t\t}\n\n\t\t\t\tif (options.minDate && /^[\\+\\-](.*)$/.test(options.minDate)) {\n\t\t\t\t\toptions.minDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.minDate), options.formatDate);\n\t\t\t\t}\n\n\t\t\t\tif (options.maxDate && /^[\\+\\-](.*)$/.test(options.maxDate)) {\n\t\t\t\t\toptions.maxDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.maxDate), options.formatDate);\n\t\t\t\t}\n\n\t\t\t\tapplyButton.toggle(options.showApplyButton);\n\n\t\t\t\tmounth_picker\n\t\t\t\t\t.find('.xdsoft_today_button')\n\t\t\t\t\t\t.css('visibility', !options.todayButton ? 'hidden' : 'visible');\n\n\t\t\t\tmounth_picker\n\t\t\t\t\t.find('.' + options.prev)\n\t\t\t\t\t\t.css('visibility', !options.prevButton ? 'hidden' : 'visible');\n\n\t\t\t\tmounth_picker\n\t\t\t\t\t.find('.' + options.next)\n\t\t\t\t\t\t.css('visibility', !options.nextButton ? 'hidden' : 'visible');\n\n\t\t\t\tif (options.mask) {\n\t\t\t\t\tinput.off('keydown.xdsoft');\n\n\t\t\t\t\tif (options.mask === true) {\n\t\t\t\t\t\toptions.mask = options.format\n\t\t\t\t\t\t\t.replace(/Y/g, '9999')\n\t\t\t\t\t\t\t.replace(/F/g, '9999')\n\t\t\t\t\t\t\t.replace(/m/g, '19')\n\t\t\t\t\t\t\t.replace(/d/g, '39')\n\t\t\t\t\t\t\t.replace(/H/g, '29')\n\t\t\t\t\t\t\t.replace(/i/g, '59')\n\t\t\t\t\t\t\t.replace(/s/g, '59');\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($.type(options.mask) === 'string') {\n\t\t\t\t\t\tif (!isValidValue(options.mask, input.val())) {\n\t\t\t\t\t\t\tinput.val(options.mask.replace(/[0-9]/g, '_'));\n\t\t\t\t\t\t\tsetCaretPos(input[0], 0);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tinput.on('keydown.xdsoft', function (event) {\n\t\t\t\t\t\t\tvar val = this.value,\n\t\t\t\t\t\t\t\tkey = event.which,\n\t\t\t\t\t\t\t\tpos,\n\t\t\t\t\t\t\t\tdigit;\n\n\t\t\t\t\t\t\tif (((key >= KEY0 && key <= KEY9) || (key >= _KEY0 && key <= _KEY9)) || (key === BACKSPACE || key === DEL)) {\n\t\t\t\t\t\t\t\tpos = getCaretPos(this);\n\t\t\t\t\t\t\t\tdigit = (key !== BACKSPACE && key !== DEL) ? String.fromCharCode((_KEY0 <= key && key <= _KEY9) ? key - KEY0 : key) : '_';\n\n\t\t\t\t\t\t\t\tif ((key === BACKSPACE || key === DEL) && pos) {\n\t\t\t\t\t\t\t\t\tpos -= 1;\n\t\t\t\t\t\t\t\t\tdigit = '_';\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\twhile (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) {\n\t\t\t\t\t\t\t\t\tpos += (key === BACKSPACE || key === DEL) ? -1 : 1;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tval = val.substr(0, pos) + digit + val.substr(pos + 1);\n\t\t\t\t\t\t\t\tif ($.trim(val) === '') {\n\t\t\t\t\t\t\t\t\tval = options.mask.replace(/[0-9]/g, '_');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (pos === options.mask.length) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpos += (key === BACKSPACE || key === DEL) ? 0 : 1;\n\t\t\t\t\t\t\t\twhile (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) {\n\t\t\t\t\t\t\t\t\tpos += (key === BACKSPACE || key === DEL) ? -1 : 1;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (isValidValue(options.mask, val)) {\n\t\t\t\t\t\t\t\t\tthis.value = val;\n\t\t\t\t\t\t\t\t\tsetCaretPos(this, pos);\n\t\t\t\t\t\t\t\t} else if ($.trim(val) === '') {\n\t\t\t\t\t\t\t\t\tthis.value = options.mask.replace(/[0-9]/g, '_');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tinput.trigger('error_input.xdsoft');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (([AKEY, CKEY, VKEY, ZKEY, YKEY].indexOf(key) !== -1 && ctrlDown) || [ESC, ARROWUP, ARROWDOWN, ARROWLEFT, ARROWRIGHT, F5, CTRLKEY, TAB, ENTER].indexOf(key) !== -1) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (options.validateOnBlur) {\n\t\t\t\t\tinput\n\t\t\t\t\t\t.off('blur.xdsoft')\n\t\t\t\t\t\t.on('blur.xdsoft', function () {\n\t\t\t\t\t\t\tif (options.allowBlank && !$.trim($(this).val()).length) {\n\t\t\t\t\t\t\t\t$(this).val(null);\n\t\t\t\t\t\t\t\tdatetimepicker.data('xdsoft_datetime').empty();\n\t\t\t\t\t\t\t} else if (!dateHelper.parseDate($(this).val(), options.format)) {\n\t\t\t\t\t\t\t\tvar splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')),\n\t\t\t\t\t\t\t\t\tsplittedMinutes = +([$(this).val()[2], $(this).val()[3]].join(''));\n\n\t\t\t\t\t\t\t\t// parse the numbers as 0312 => 03:12\n\t\t\t\t\t\t\t\tif (!options.datepicker && options.timepicker && splittedHours >= 0 && splittedHours < 24 && splittedMinutes >= 0 && splittedMinutes < 60) {\n\t\t\t\t\t\t\t\t\t$(this).val([splittedHours, splittedMinutes].map(function (item) {\n\t\t\t\t\t\t\t\t\t\treturn item > 9 ? item : '0' + item;\n\t\t\t\t\t\t\t\t\t}).join(':'));\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$(this).val(dateHelper.formatDate(_xdsoft_datetime.now(), options.format));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tdatetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdatetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdatetimepicker.trigger('changedatetime.xdsoft');\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\toptions.dayOfWeekStartPrev = (options.dayOfWeekStart === 0) ? 6 : options.dayOfWeekStart - 1;\n\n\t\t\t\tdatetimepicker\n\t\t\t\t\t.trigger('xchange.xdsoft')\n\t\t\t\t\t.trigger('afterOpen.xdsoft');\n\t\t\t};\n\n\t\t\tdatetimepicker\n\t\t\t\t.data('options', options)\n\t\t\t\t.on('touchstart mousedown.xdsoft', function (event) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tyearselect.hide();\n\t\t\t\t\tmonthselect.hide();\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t//scroll_element = timepicker.find('.xdsoft_time_box');\n\t\t\ttimeboxparent.append(timebox);\n\t\t\ttimeboxparent.xdsoftScroller();\n\n\t\t\tdatetimepicker.on('afterOpen.xdsoft', function () {\n\t\t\t\ttimeboxparent.xdsoftScroller();\n\t\t\t});\n\n\t\t\tdatetimepicker\n\t\t\t\t.append(datepicker)\n\t\t\t\t.append(timepicker);\n\n\t\t\tif (options.withoutCopyright !== true) {\n\t\t\t\tdatetimepicker\n\t\t\t\t\t.append(xdsoft_copyright);\n\t\t\t}\n\n\t\t\tdatepicker\n\t\t\t\t.append(mounth_picker)\n\t\t\t\t.append(calendar)\n\t\t\t\t.append(applyButton);\n\n\t\t\t$(options.parentID)\n\t\t\t\t.append(datetimepicker);\n\n\t\t\tXDSoft_datetime = function () {\n\t\t\t\tvar _this = this;\n\t\t\t\t_this.now = function (norecursion) {\n\t\t\t\t\tvar d = new Date(),\n\t\t\t\t\t\tdate,\n\t\t\t\t\t\ttime;\n\n\t\t\t\t\tif (!norecursion && options.defaultDate) {\n\t\t\t\t\t\tdate = _this.strToDateTime(options.defaultDate);\n\t\t\t\t\t\td.setFullYear(date.getFullYear());\n\t\t\t\t\t\td.setMonth(date.getMonth());\n\t\t\t\t\t\td.setDate(date.getDate());\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.yearOffset) {\n\t\t\t\t\t\td.setFullYear(d.getFullYear() + options.yearOffset);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!norecursion && options.defaultTime) {\n\t\t\t\t\t\ttime = _this.strtotime(options.defaultTime);\n\t\t\t\t\t\td.setHours(time.getHours());\n\t\t\t\t\t\td.setMinutes(time.getMinutes());\n\t\t\t\t\t}\n\t\t\t\t\treturn d;\n\t\t\t\t};\n\n\t\t\t\t_this.isValidDate = function (d) {\n\t\t\t\t\tif (Object.prototype.toString.call(d) !== \"[object Date]\") {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn !isNaN(d.getTime());\n\t\t\t\t};\n\n\t\t\t\t_this.setCurrentTime = function (dTime) {\n\t\t\t\t\t_this.currentTime = (typeof dTime === 'string') ? _this.strToDateTime(dTime) : _this.isValidDate(dTime) ? dTime : _this.now();\n\t\t\t\t\tdatetimepicker.trigger('xchange.xdsoft');\n\t\t\t\t};\n\n\t\t\t\t_this.empty = function () {\n\t\t\t\t\t_this.currentTime = null;\n\t\t\t\t};\n\n\t\t\t\t_this.getCurrentTime = function (dTime) {\n\t\t\t\t\treturn _this.currentTime;\n\t\t\t\t};\n\n\t\t\t\t_this.nextMonth = function () {\n\n\t\t\t\t\tif (_this.currentTime === undefined || _this.currentTime === null) {\n\t\t\t\t\t\t_this.currentTime = _this.now();\n\t\t\t\t\t}\n\n\t\t\t\t\tvar month = _this.currentTime.getMonth() + 1,\n\t\t\t\t\t\tyear;\n\t\t\t\t\tif (month === 12) {\n\t\t\t\t\t\t_this.currentTime.setFullYear(_this.currentTime.getFullYear() + 1);\n\t\t\t\t\t\tmonth = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tyear = _this.currentTime.getFullYear();\n\n\t\t\t\t\t_this.currentTime.setDate(\n\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\tnew Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(),\n\t\t\t\t\t\t\t_this.currentTime.getDate()\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\t_this.currentTime.setMonth(month);\n\n\t\t\t\t\tif (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {\n\t\t\t\t\t\toptions.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (year !== _this.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) {\n\t\t\t\t\t\toptions.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));\n\t\t\t\t\t}\n\n\t\t\t\t\tdatetimepicker.trigger('xchange.xdsoft');\n\t\t\t\t\treturn month;\n\t\t\t\t};\n\n\t\t\t\t_this.prevMonth = function () {\n\n\t\t\t\t\tif (_this.currentTime === undefined || _this.currentTime === null) {\n\t\t\t\t\t\t_this.currentTime = _this.now();\n\t\t\t\t\t}\n\n\t\t\t\t\tvar month = _this.currentTime.getMonth() - 1;\n\t\t\t\t\tif (month === -1) {\n\t\t\t\t\t\t_this.currentTime.setFullYear(_this.currentTime.getFullYear() - 1);\n\t\t\t\t\t\tmonth = 11;\n\t\t\t\t\t}\n\t\t\t\t\t_this.currentTime.setDate(\n\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\tnew Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(),\n\t\t\t\t\t\t\t_this.currentTime.getDate()\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\t_this.currentTime.setMonth(month);\n\t\t\t\t\tif (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {\n\t\t\t\t\t\toptions.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));\n\t\t\t\t\t}\n\t\t\t\t\tdatetimepicker.trigger('xchange.xdsoft');\n\t\t\t\t\treturn month;\n\t\t\t\t};\n\n\t\t\t\t_this.getWeekOfYear = function (datetime) {\n\t\t\t\t\tif (options.onGetWeekOfYear && $.isFunction(options.onGetWeekOfYear)) {\n\t\t\t\t\t\tvar week = options.onGetWeekOfYear.call(datetimepicker, datetime);\n\t\t\t\t\t\tif (typeof week !== 'undefined') {\n\t\t\t\t\t\t\treturn week;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tvar onejan = new Date(datetime.getFullYear(), 0, 1);\n\t\t\t\t\t//First week of the year is th one with the first Thursday according to ISO8601\n\t\t\t\t\tif(onejan.getDay()!=4)\n\t\t\t\t\t\tonejan.setMonth(0, 1 + ((4 - onejan.getDay()+ 7) % 7));\n\t\t\t\t\treturn Math.ceil((((datetime - onejan) / 86400000) + onejan.getDay() + 1) / 7);\n\t\t\t\t};\n\n\t\t\t\t_this.strToDateTime = function (sDateTime) {\n\t\t\t\t\tvar tmpDate = [], timeOffset, currentTime;\n\n\t\t\t\t\tif (sDateTime && sDateTime instanceof Date && _this.isValidDate(sDateTime)) {\n\t\t\t\t\t\treturn sDateTime;\n\t\t\t\t\t}\n\n\t\t\t\t\ttmpDate = /^(\\+|\\-)(.*)$/.exec(sDateTime);\n\t\t\t\t\tif (tmpDate) {\n\t\t\t\t\t\ttmpDate[2] = dateHelper.parseDate(tmpDate[2], options.formatDate);\n\t\t\t\t\t}\n\t\t\t\t\tif (tmpDate && tmpDate[2]) {\n\t\t\t\t\t\ttimeOffset = tmpDate[2].getTime() - (tmpDate[2].getTimezoneOffset()) * 60000;\n\t\t\t\t\t\tcurrentTime = new Date((_this.now(true)).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentTime = sDateTime ? dateHelper.parseDate(sDateTime, options.format) : _this.now();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!_this.isValidDate(currentTime)) {\n\t\t\t\t\t\tcurrentTime = _this.now();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn currentTime;\n\t\t\t\t};\n\n\t\t\t\t_this.strToDate = function (sDate) {\n\t\t\t\t\tif (sDate && sDate instanceof Date && _this.isValidDate(sDate)) {\n\t\t\t\t\t\treturn sDate;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar currentTime = sDate ? dateHelper.parseDate(sDate, options.formatDate) : _this.now(true);\n\t\t\t\t\tif (!_this.isValidDate(currentTime)) {\n\t\t\t\t\t\tcurrentTime = _this.now(true);\n\t\t\t\t\t}\n\t\t\t\t\treturn currentTime;\n\t\t\t\t};\n\n\t\t\t\t_this.strtotime = function (sTime) {\n\t\t\t\t\tif (sTime && sTime instanceof Date && _this.isValidDate(sTime)) {\n\t\t\t\t\t\treturn sTime;\n\t\t\t\t\t}\n\t\t\t\t\tvar currentTime = sTime ? dateHelper.parseDate(sTime, options.formatTime) : _this.now(true);\n\t\t\t\t\tif (!_this.isValidDate(currentTime)) {\n\t\t\t\t\t\tcurrentTime = _this.now(true);\n\t\t\t\t\t}\n\t\t\t\t\treturn currentTime;\n\t\t\t\t};\n\n\t\t\t\t_this.str = function () {\n\t\t\t\t\treturn dateHelper.formatDate(_this.currentTime, options.format);\n\t\t\t\t};\n\t\t\t\t_this.currentTime = this.now();\n\t\t\t};\n\n\t\t\t_xdsoft_datetime = new XDSoft_datetime();\n\n\t\t\tapplyButton.on('touchend click', function (e) {//pathbrite\n e.preventDefault();\n datetimepicker.data('changed', true);\n _xdsoft_datetime.setCurrentTime(getCurrentValue());\n input.val(_xdsoft_datetime.str());\n datetimepicker.trigger('close.xdsoft');\n });\n\t\t\tmounth_picker\n\t\t\t\t.find('.xdsoft_today_button')\n\t\t\t\t.on('touchend mousedown.xdsoft', function () {\n\t\t\t\t\tdatetimepicker.data('changed', true);\n\t\t\t\t\t_xdsoft_datetime.setCurrentTime(0);\n\t\t\t\t\tdatetimepicker.trigger('afterOpen.xdsoft');\n\t\t\t\t}).on('dblclick.xdsoft', function () {\n\t\t\t\t\tvar currentDate = _xdsoft_datetime.getCurrentTime(), minDate, maxDate;\n\t\t\t\t\tcurrentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());\n\t\t\t\t\tminDate = _xdsoft_datetime.strToDate(options.minDate);\n\t\t\t\t\tminDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate());\n\t\t\t\t\tif (currentDate < minDate) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tmaxDate = _xdsoft_datetime.strToDate(options.maxDate);\n\t\t\t\t\tmaxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate());\n\t\t\t\t\tif (currentDate > maxDate) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tinput.val(_xdsoft_datetime.str());\n\t\t\t\t\tinput.trigger('change');\n\t\t\t\t\tdatetimepicker.trigger('close.xdsoft');\n\t\t\t\t});\n\t\t\tmounth_picker\n\t\t\t\t.find('.xdsoft_prev,.xdsoft_next')\n\t\t\t\t.on('touchend mousedown.xdsoft', function () {\n\t\t\t\t\tvar $this = $(this),\n\t\t\t\t\t\ttimer = 0,\n\t\t\t\t\t\tstop = false;\n\n\t\t\t\t\t(function arguments_callee1(v) {\n\t\t\t\t\t\tif ($this.hasClass(options.next)) {\n\t\t\t\t\t\t\t_xdsoft_datetime.nextMonth();\n\t\t\t\t\t\t} else if ($this.hasClass(options.prev)) {\n\t\t\t\t\t\t\t_xdsoft_datetime.prevMonth();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (options.monthChangeSpinner) {\n\t\t\t\t\t\t\tif (!stop) {\n\t\t\t\t\t\t\t\ttimer = setTimeout(arguments_callee1, v || 100);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}(500));\n\n\t\t\t\t\t$([document.body, window]).on('touchend mouseup.xdsoft', function arguments_callee2() {\n\t\t\t\t\t\tclearTimeout(timer);\n\t\t\t\t\t\tstop = true;\n\t\t\t\t\t\t$([document.body, window]).off('touchend mouseup.xdsoft', arguments_callee2);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\ttimepicker\n\t\t\t\t.find('.xdsoft_prev,.xdsoft_next')\n\t\t\t\t.on('touchend mousedown.xdsoft', function () {\n\t\t\t\t\tvar $this = $(this),\n\t\t\t\t\t\ttimer = 0,\n\t\t\t\t\t\tstop = false,\n\t\t\t\t\t\tperiod = 110;\n\t\t\t\t\t(function arguments_callee4(v) {\n\t\t\t\t\t\tvar pheight = timeboxparent[0].clientHeight,\n\t\t\t\t\t\t\theight = timebox[0].offsetHeight,\n\t\t\t\t\t\t\ttop = Math.abs(parseInt(timebox.css('marginTop'), 10));\n\t\t\t\t\t\tif ($this.hasClass(options.next) && (height - pheight) - options.timeHeightInTimePicker >= top) {\n\t\t\t\t\t\t\ttimebox.css('marginTop', '-' + (top + options.timeHeightInTimePicker) + 'px');\n\t\t\t\t\t\t} else if ($this.hasClass(options.prev) && top - options.timeHeightInTimePicker >= 0) {\n\t\t\t\t\t\t\ttimebox.css('marginTop', '-' + (top - options.timeHeightInTimePicker) + 'px');\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeboxparent.trigger('scroll_element.xdsoft_scroller', [Math.abs(parseInt(timebox.css('marginTop'), 10) / (height - pheight))]);\n\t\t\t\t\t\tperiod = (period > 10) ? 10 : period - 10;\n\t\t\t\t\t\tif (!stop) {\n\t\t\t\t\t\t\ttimer = setTimeout(arguments_callee4, v || period);\n\t\t\t\t\t\t}\n\t\t\t\t\t}(500));\n\t\t\t\t\t$([document.body, window]).on('touchend mouseup.xdsoft', function arguments_callee5() {\n\t\t\t\t\t\tclearTimeout(timer);\n\t\t\t\t\t\tstop = true;\n\t\t\t\t\t\t$([document.body, window])\n\t\t\t\t\t\t\t.off('touchend mouseup.xdsoft', arguments_callee5);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\txchangeTimer = 0;\n\t\t\t// base handler - generating a calendar and timepicker\n\t\t\tdatetimepicker\n\t\t\t\t.on('xchange.xdsoft', function (event) {\n\t\t\t\t\tclearTimeout(xchangeTimer);\n\t\t\t\t\txchangeTimer = setTimeout(function () {\n\n\t\t\t\t\t\tif (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) {\n\t\t\t\t\t\t\t_xdsoft_datetime.currentTime = _xdsoft_datetime.now();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar table =\t'',\n\t\t\t\t\t\t\tstart = new Date(_xdsoft_datetime.currentTime.getFullYear(), _xdsoft_datetime.currentTime.getMonth(), 1, 12, 0, 0),\n\t\t\t\t\t\t\ti = 0,\n\t\t\t\t\t\t\tj,\n\t\t\t\t\t\t\ttoday = _xdsoft_datetime.now(),\n\t\t\t\t\t\t\tmaxDate = false,\n\t\t\t\t\t\t\tminDate = false,\n\t\t\t\t\t\t\thDate,\n\t\t\t\t\t\t\tday,\n\t\t\t\t\t\t\td,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t\tm,\n\t\t\t\t\t\t\tw,\n\t\t\t\t\t\t\tclasses = [],\n\t\t\t\t\t\t\tcustomDateSettings,\n\t\t\t\t\t\t\tnewRow = true,\n\t\t\t\t\t\t\ttime = '',\n\t\t\t\t\t\t\th = '',\n\t\t\t\t\t\t\tline_time,\n\t\t\t\t\t\t\tdescription;\n\n\t\t\t\t\t\twhile (start.getDay() !== options.dayOfWeekStart) {\n\t\t\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttable += '';\n\n\t\t\t\t\t\tif (options.weeks) {\n\t\t\t\t\t\t\ttable += '';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor (j = 0; j < 7; j += 1) {\n\t\t\t\t\t\t\ttable += '';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttable += '';\n\t\t\t\t\t\ttable += '';\n\n\t\t\t\t\t\tif (options.maxDate !== false) {\n\t\t\t\t\t\t\tmaxDate = _xdsoft_datetime.strToDate(options.maxDate);\n\t\t\t\t\t\t\tmaxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate(), 23, 59, 59, 999);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (options.minDate !== false) {\n\t\t\t\t\t\t\tminDate = _xdsoft_datetime.strToDate(options.minDate);\n\t\t\t\t\t\t\tminDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate());\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twhile (i < _xdsoft_datetime.currentTime.countDaysInMonth() || start.getDay() !== options.dayOfWeekStart || _xdsoft_datetime.currentTime.getMonth() === start.getMonth()) {\n\t\t\t\t\t\t\tclasses = [];\n\t\t\t\t\t\t\ti += 1;\n\n\t\t\t\t\t\t\tday = start.getDay();\n\t\t\t\t\t\t\td = start.getDate();\n\t\t\t\t\t\t\ty = start.getFullYear();\n\t\t\t\t\t\t\tm = start.getMonth();\n\t\t\t\t\t\t\tw = _xdsoft_datetime.getWeekOfYear(start);\n\t\t\t\t\t\t\tdescription = '';\n\n\t\t\t\t\t\t\tclasses.push('xdsoft_date');\n\n\t\t\t\t\t\t\tif (options.beforeShowDay && $.isFunction(options.beforeShowDay.call)) {\n\t\t\t\t\t\t\t\tcustomDateSettings = options.beforeShowDay.call(datetimepicker, start);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcustomDateSettings = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif(options.allowDateRe && Object.prototype.toString.call(options.allowDateRe) === \"[object RegExp]\"){\n\t\t\t\t\t\t\t\tif(!options.allowDateRe.test(start.dateFormat(options.formatDate))){\n\t\t\t\t\t\t\t\t\tclasses.push('xdsoft_disabled');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if(options.allowDates && options.allowDates.length>0){\n\t\t\t\t\t\t\t\tif(options.allowDates.indexOf(start.dateFormat(options.formatDate)) === -1){\n\t\t\t\t\t\t\t\t\tclasses.push('xdsoft_disabled');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ((maxDate !== false && start > maxDate) || (minDate !== false && start < minDate) || (customDateSettings && customDateSettings[0] === false)) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_disabled');\n\t\t\t\t\t\t\t} else if (options.disabledDates.indexOf(dateHelper.formatDate(start, options.formatDate)) !== -1) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_disabled');\n\t\t\t\t\t\t\t} else if (options.disabledWeekDays.indexOf(day) !== -1) {\n\t\t\t\t\t\t\t classes.push('xdsoft_disabled');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (customDateSettings && customDateSettings[1] !== \"\") {\n\t\t\t\t\t\t\t\tclasses.push(customDateSettings[1]);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (_xdsoft_datetime.currentTime.getMonth() !== m) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_other_month');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ((options.defaultSelect || datetimepicker.data('changed')) && dateHelper.formatDate(_xdsoft_datetime.currentTime, options.formatDate) === dateHelper.formatDate(start, options.formatDate)) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_current');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (dateHelper.formatDate(today, options.formatDate) === dateHelper.formatDate(start, options.formatDate)) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_today');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(dateHelper.formatDate(start, options.formatDate)) !== -1) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_weekend');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (options.highlightedDates[dateHelper.formatDate(start, options.formatDate)] !== undefined) {\n\t\t\t\t\t\t\t\thDate = options.highlightedDates[dateHelper.formatDate(start, options.formatDate)];\n\t\t\t\t\t\t\t\tclasses.push(hDate.style === undefined ? 'xdsoft_highlighted_default' : hDate.style);\n\t\t\t\t\t\t\t\tdescription = hDate.desc === undefined ? '' : hDate.desc;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (options.beforeShowDay && $.isFunction(options.beforeShowDay)) {\n\t\t\t\t\t\t\t\tclasses.push(options.beforeShowDay(start));\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (newRow) {\n\t\t\t\t\t\t\t\ttable += '';\n\t\t\t\t\t\t\t\tnewRow = false;\n\t\t\t\t\t\t\t\tif (options.weeks) {\n\t\t\t\t\t\t\t\t\ttable += '';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\ttable += '';\n\n\t\t\t\t\t\t\tif (start.getDay() === options.dayOfWeekStartPrev) {\n\t\t\t\t\t\t\t\ttable += '';\n\t\t\t\t\t\t\t\tnewRow = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tstart.setDate(d + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttable += '
' + options.i18n[globalLocale].dayOfWeekShort[(j + options.dayOfWeekStart) % 7] + '
' + w + '' +\n\t\t\t\t\t\t\t\t\t\t'
' + d + '
' +\n\t\t\t\t\t\t\t\t\t'
';\n\n\t\t\t\t\t\tcalendar.html(table);\n\n\t\t\t\t\t\tmounth_picker.find('.xdsoft_label span').eq(0).text(options.i18n[globalLocale].months[_xdsoft_datetime.currentTime.getMonth()]);\n\t\t\t\t\t\tmounth_picker.find('.xdsoft_label span').eq(1).text(_xdsoft_datetime.currentTime.getFullYear());\n\n\t\t\t\t\t\t// generate timebox\n\t\t\t\t\t\ttime = '';\n\t\t\t\t\t\th = '';\n\t\t\t\t\t\tm = '';\n\n\t\t\t\t\t\tline_time = function line_time(h, m) {\n\t\t\t\t\t\t\tvar now = _xdsoft_datetime.now(), optionDateTime, current_time,\n\t\t\t\t\t\t\t\tisALlowTimesInit = options.allowTimes && $.isArray(options.allowTimes) && options.allowTimes.length;\n\t\t\t\t\t\t\tnow.setHours(h);\n\t\t\t\t\t\t\th = parseInt(now.getHours(), 10);\n\t\t\t\t\t\t\tnow.setMinutes(m);\n\t\t\t\t\t\t\tm = parseInt(now.getMinutes(), 10);\n\t\t\t\t\t\t\toptionDateTime = new Date(_xdsoft_datetime.currentTime);\n\t\t\t\t\t\t\toptionDateTime.setHours(h);\n\t\t\t\t\t\t\toptionDateTime.setMinutes(m);\n\t\t\t\t\t\t\tclasses = [];\n\t\t\t\t\t\t\tif ((options.minDateTime !== false && options.minDateTime > optionDateTime) || (options.maxTime !== false && _xdsoft_datetime.strtotime(options.maxTime).getTime() < now.getTime()) || (options.minTime !== false && _xdsoft_datetime.strtotime(options.minTime).getTime() > now.getTime())) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_disabled');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ((options.minDateTime !== false && options.minDateTime > optionDateTime) || ((options.disabledMinTime !== false && now.getTime() > _xdsoft_datetime.strtotime(options.disabledMinTime).getTime()) && (options.disabledMaxTime !== false && now.getTime() < _xdsoft_datetime.strtotime(options.disabledMaxTime).getTime()))) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_disabled');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tcurrent_time = new Date(_xdsoft_datetime.currentTime);\n\t\t\t\t\t\t\tcurrent_time.setHours(parseInt(_xdsoft_datetime.currentTime.getHours(), 10));\n\n\t\t\t\t\t\t\tif (!isALlowTimesInit) {\n\t\t\t\t\t\t\t\tcurrent_time.setMinutes(Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ((options.initTime || options.defaultSelect || datetimepicker.data('changed')) && current_time.getHours() === parseInt(h, 10) && ((!isALlowTimesInit && options.step > 59) || current_time.getMinutes() === parseInt(m, 10))) {\n\t\t\t\t\t\t\t\tif (options.defaultSelect || datetimepicker.data('changed')) {\n\t\t\t\t\t\t\t\t\tclasses.push('xdsoft_current');\n\t\t\t\t\t\t\t\t} else if (options.initTime) {\n\t\t\t\t\t\t\t\t\tclasses.push('xdsoft_init_time');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (parseInt(today.getHours(), 10) === parseInt(h, 10) && parseInt(today.getMinutes(), 10) === parseInt(m, 10)) {\n\t\t\t\t\t\t\t\tclasses.push('xdsoft_today');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttime += '
' + dateHelper.formatDate(now, options.formatTime) + '
';\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!options.allowTimes || !$.isArray(options.allowTimes) || !options.allowTimes.length) {\n\t\t\t\t\t\t\tfor (i = 0, j = 0; i < (options.hours12 ? 12 : 24); i += 1) {\n\t\t\t\t\t\t\t\tfor (j = 0; j < 60; j += options.step) {\n\t\t\t\t\t\t\t\t\th = (i < 10 ? '0' : '') + i;\n\t\t\t\t\t\t\t\t\tm = (j < 10 ? '0' : '') + j;\n\t\t\t\t\t\t\t\t\tline_time(h, m);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (i = 0; i < options.allowTimes.length; i += 1) {\n\t\t\t\t\t\t\t\th = _xdsoft_datetime.strtotime(options.allowTimes[i]).getHours();\n\t\t\t\t\t\t\t\tm = _xdsoft_datetime.strtotime(options.allowTimes[i]).getMinutes();\n\t\t\t\t\t\t\t\tline_time(h, m);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttimebox.html(time);\n\n\t\t\t\t\t\topt = '';\n\t\t\t\t\t\ti = 0;\n\n\t\t\t\t\t\tfor (i = parseInt(options.yearStart, 10) + options.yearOffset; i <= parseInt(options.yearEnd, 10) + options.yearOffset; i += 1) {\n\t\t\t\t\t\t\topt += '
' + i + '
';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tyearselect.children().eq(0)\n\t\t\t\t\t\t\t\t\t\t\t\t.html(opt);\n\n\t\t\t\t\t\tfor (i = parseInt(options.monthStart, 10), opt = ''; i <= parseInt(options.monthEnd, 10); i += 1) {\n\t\t\t\t\t\t\topt += '
' + options.i18n[globalLocale].months[i] + '
';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmonthselect.children().eq(0).html(opt);\n\t\t\t\t\t\t$(datetimepicker)\n\t\t\t\t\t\t\t.trigger('generate.xdsoft');\n\t\t\t\t\t}, 10);\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t})\n\t\t\t\t.on('afterOpen.xdsoft', function () {\n\t\t\t\t\tif (options.timepicker) {\n\t\t\t\t\t\tvar classType, pheight, height, top;\n\t\t\t\t\t\tif (timebox.find('.xdsoft_current').length) {\n\t\t\t\t\t\t\tclassType = '.xdsoft_current';\n\t\t\t\t\t\t} else if (timebox.find('.xdsoft_init_time').length) {\n\t\t\t\t\t\t\tclassType = '.xdsoft_init_time';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (classType) {\n\t\t\t\t\t\t\tpheight = timeboxparent[0].clientHeight;\n\t\t\t\t\t\t\theight = timebox[0].offsetHeight;\n\t\t\t\t\t\t\ttop = timebox.find(classType).index() * options.timeHeightInTimePicker + 1;\n\t\t\t\t\t\t\tif ((height - pheight) < top) {\n\t\t\t\t\t\t\t\ttop = height - pheight;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttimeboxparent.trigger('scroll_element.xdsoft_scroller', [parseInt(top, 10) / (height - pheight)]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttimeboxparent.trigger('scroll_element.xdsoft_scroller', [0]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\ttimerclick = 0;\n\t\t\tcalendar\n\t\t\t\t.on('touchend click.xdsoft', 'td', function (xdevent) {\n\t\t\t\t\txdevent.stopPropagation(); // Prevents closing of Pop-ups, Modals and Flyouts in Bootstrap\n\t\t\t\t\ttimerclick += 1;\n\t\t\t\t\tvar $this = $(this),\n\t\t\t\t\t\tcurrentTime = _xdsoft_datetime.currentTime;\n\n\t\t\t\t\tif (currentTime === undefined || currentTime === null) {\n\t\t\t\t\t\t_xdsoft_datetime.currentTime = _xdsoft_datetime.now();\n\t\t\t\t\t\tcurrentTime = _xdsoft_datetime.currentTime;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($this.hasClass('xdsoft_disabled')) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentTime.setDate(1);\n\t\t\t\t\tcurrentTime.setFullYear($this.data('year'));\n\t\t\t\t\tcurrentTime.setMonth($this.data('month'));\n\t\t\t\t\tcurrentTime.setDate($this.data('date'));\n\n\t\t\t\t\tdatetimepicker.trigger('select.xdsoft', [currentTime]);\n\n\t\t\t\t\tinput.val(_xdsoft_datetime.str());\n\n\t\t\t\t\tif (options.onSelectDate &&\t$.isFunction(options.onSelectDate)) {\n\t\t\t\t\t\toptions.onSelectDate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent);\n\t\t\t\t\t}\n\n\t\t\t\t\tdatetimepicker.data('changed', true);\n\t\t\t\t\tdatetimepicker.trigger('xchange.xdsoft');\n\t\t\t\t\tdatetimepicker.trigger('changedatetime.xdsoft');\n\t\t\t\t\tif ((timerclick > 1 || (options.closeOnDateSelect === true || (options.closeOnDateSelect === false && !options.timepicker))) && !options.inline) {\n\t\t\t\t\t\tdatetimepicker.trigger('close.xdsoft');\n\t\t\t\t\t}\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\ttimerclick = 0;\n\t\t\t\t\t}, 200);\n\t\t\t\t});\n\n\t\t\ttimebox\n\t\t\t\t.on('touchend click.xdsoft', 'div', function (xdevent) {\n\t\t\t\t\txdevent.stopPropagation();\n\t\t\t\t\tvar $this = $(this),\n\t\t\t\t\t\tcurrentTime = _xdsoft_datetime.currentTime;\n\n\t\t\t\t\tif (currentTime === undefined || currentTime === null) {\n\t\t\t\t\t\t_xdsoft_datetime.currentTime = _xdsoft_datetime.now();\n\t\t\t\t\t\tcurrentTime = _xdsoft_datetime.currentTime;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($this.hasClass('xdsoft_disabled')) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tcurrentTime.setHours($this.data('hour'));\n\t\t\t\t\tcurrentTime.setMinutes($this.data('minute'));\n\t\t\t\t\tdatetimepicker.trigger('select.xdsoft', [currentTime]);\n\n\t\t\t\t\tdatetimepicker.data('input').val(_xdsoft_datetime.str());\n\n\t\t\t\t\tif (options.onSelectTime && $.isFunction(options.onSelectTime)) {\n\t\t\t\t\t\toptions.onSelectTime.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent);\n\t\t\t\t\t}\n\t\t\t\t\tdatetimepicker.data('changed', true);\n\t\t\t\t\tdatetimepicker.trigger('xchange.xdsoft');\n\t\t\t\t\tdatetimepicker.trigger('changedatetime.xdsoft');\n\t\t\t\t\tif (options.inline !== true && options.closeOnTimeSelect === true) {\n\t\t\t\t\t\tdatetimepicker.trigger('close.xdsoft');\n\t\t\t\t\t}\n\t\t\t\t});\n\n\n\t\t\tdatepicker\n\t\t\t\t.on('mousewheel.xdsoft', function (event) {\n\t\t\t\t\tif (!options.scrollMonth) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (event.deltaY < 0) {\n\t\t\t\t\t\t_xdsoft_datetime.nextMonth();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_xdsoft_datetime.prevMonth();\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\tinput\n\t\t\t\t.on('mousewheel.xdsoft', function (event) {\n\t\t\t\t\tif (!options.scrollInput) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (!options.datepicker && options.timepicker) {\n\t\t\t\t\t\tcurrent_time_index = timebox.find('.xdsoft_current').length ? timebox.find('.xdsoft_current').eq(0).index() : 0;\n\t\t\t\t\t\tif (current_time_index + event.deltaY >= 0 && current_time_index + event.deltaY < timebox.children().length) {\n\t\t\t\t\t\t\tcurrent_time_index += event.deltaY;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (timebox.children().eq(current_time_index).length) {\n\t\t\t\t\t\t\ttimebox.children().eq(current_time_index).trigger('mousedown');\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (options.datepicker && !options.timepicker) {\n\t\t\t\t\t\tdatepicker.trigger(event, [event.deltaY, event.deltaX, event.deltaY]);\n\t\t\t\t\t\tif (input.val) {\n\t\t\t\t\t\t\tinput.val(_xdsoft_datetime.str());\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdatetimepicker.trigger('changedatetime.xdsoft');\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tdatetimepicker\n\t\t\t\t.on('changedatetime.xdsoft', function (event) {\n\t\t\t\t\tif (options.onChangeDateTime && $.isFunction(options.onChangeDateTime)) {\n\t\t\t\t\t\tvar $input = datetimepicker.data('input');\n\t\t\t\t\t\toptions.onChangeDateTime.call(datetimepicker, _xdsoft_datetime.currentTime, $input, event);\n\t\t\t\t\t\tdelete options.value;\n\t\t\t\t\t\t$input.trigger('change');\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.on('generate.xdsoft', function () {\n\t\t\t\t\tif (options.onGenerate && $.isFunction(options.onGenerate)) {\n\t\t\t\t\t\toptions.onGenerate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));\n\t\t\t\t\t}\n\t\t\t\t\tif (triggerAfterOpen) {\n\t\t\t\t\t\tdatetimepicker.trigger('afterOpen.xdsoft');\n\t\t\t\t\t\ttriggerAfterOpen = false;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.on('click.xdsoft', function (xdevent) {\n\t\t\t\t\txdevent.stopPropagation();\n\t\t\t\t});\n\n\t\t\tcurrent_time_index = 0;\n\n\t\t\tsetPos = function () {\n\t\t\t\t/**\n * 修复输入框在window最右边,且输入框的宽度小于日期控件宽度情况下,日期控件显示不全的bug。\n * Bug fixed - The datetimepicker will overflow-y when the width of the date input less than its, which\n * could causes part of the datetimepicker being hidden.\n * by Soon start\n */\n var offset = datetimepicker.data('input').offset(),\n datetimepickerelement = datetimepicker.data('input')[0],\n top = offset.top + datetimepickerelement.offsetHeight - 1,\n left = offset.left,\n position = \"absolute\",\n node;\n\n if ((document.documentElement.clientWidth - offset.left) < datepicker.parent().outerWidth(true)) {\n var diff = datepicker.parent().outerWidth(true) - datetimepickerelement.offsetWidth;\n left = left - diff;\n }\n /**\n * by Soon end\n */\n\t\t\t\tif (datetimepicker.data('input').parent().css('direction') == 'rtl')\n\t\t\t\t\tleft -= (datetimepicker.outerWidth() - datetimepicker.data('input').outerWidth());\n\t\t\t\tif (options.fixed) {\n\t\t\t\t\ttop -= $(window).scrollTop();\n\t\t\t\t\tleft -= $(window).scrollLeft();\n\t\t\t\t\tposition = \"fixed\";\n\t\t\t\t} else {\n\t\t\t\t\tif (top + datetimepickerelement.offsetHeight > $(window).height() + $(window).scrollTop()) {\n\t\t\t\t\t\ttop = offset.top - datetimepickerelement.offsetHeight + 1;\n\t\t\t\t\t}\n\t\t\t\t\tif (top < 0) {\n\t\t\t\t\t\ttop = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (left + datetimepickerelement.offsetWidth > $(window).width()) {\n\t\t\t\t\t\tleft = $(window).width() - datetimepickerelement.offsetWidth;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tnode = datetimepicker[0];\n\t\t\t\tdo {\n\t\t\t\t\tnode = node.parentNode;\n\t\t\t\t\tif (window.getComputedStyle(node).getPropertyValue('position') === 'relative' && $(window).width() >= node.offsetWidth) {\n\t\t\t\t\t\tleft = left - (($(window).width() - node.offsetWidth) / 2);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} while (node.nodeName !== 'HTML');\n\t\t\t\tdatetimepicker.css({\n\t\t\t\t\tleft: left,\n\t\t\t\t\ttop: top,\n\t\t\t\t\tposition: position\n\t\t\t\t});\n\t\t\t};\n\t\t\tdatetimepicker\n\t\t\t\t.on('open.xdsoft', function (event) {\n\t\t\t\t\tvar onShow = true;\n\t\t\t\t\tif (options.onShow && $.isFunction(options.onShow)) {\n\t\t\t\t\t\tonShow = options.onShow.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event);\n\t\t\t\t\t}\n\t\t\t\t\tif (onShow !== false) {\n\t\t\t\t\t\tdatetimepicker.show();\n\t\t\t\t\t\tsetPos();\n\t\t\t\t\t\t$(window)\n\t\t\t\t\t\t\t.off('resize.xdsoft', setPos)\n\t\t\t\t\t\t\t.on('resize.xdsoft', setPos);\n\n\t\t\t\t\t\tif (options.closeOnWithoutClick) {\n\t\t\t\t\t\t\t$([document.body, window]).on('touchstart mousedown.xdsoft', function arguments_callee6() {\n\t\t\t\t\t\t\t\tdatetimepicker.trigger('close.xdsoft');\n\t\t\t\t\t\t\t\t$([document.body, window]).off('touchstart mousedown.xdsoft', arguments_callee6);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.on('close.xdsoft', function (event) {\n\t\t\t\t\tvar onClose = true;\n\t\t\t\t\tmounth_picker\n\t\t\t\t\t\t.find('.xdsoft_month,.xdsoft_year')\n\t\t\t\t\t\t\t.find('.xdsoft_select')\n\t\t\t\t\t\t\t\t.hide();\n\t\t\t\t\tif (options.onClose && $.isFunction(options.onClose)) {\n\t\t\t\t\t\tonClose = options.onClose.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event);\n\t\t\t\t\t}\n\t\t\t\t\tif (onClose !== false && !options.opened && !options.inline) {\n\t\t\t\t\t\tdatetimepicker.hide();\n\t\t\t\t\t}\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t})\n\t\t\t\t.on('toggle.xdsoft', function (event) {\n\t\t\t\t\tif (datetimepicker.is(':visible')) {\n\t\t\t\t\t\tdatetimepicker.trigger('close.xdsoft');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdatetimepicker.trigger('open.xdsoft');\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.data('input', input);\n\n\t\t\ttimer = 0;\n\t\t\ttimer1 = 0;\n\n\t\t\tdatetimepicker.data('xdsoft_datetime', _xdsoft_datetime);\n\t\t\tdatetimepicker.setOptions(options);\n\n\t\t\tfunction getCurrentValue() {\n\t\t\t\tvar ct = false, time;\n\n\t\t\t\tif (options.startDate) {\n\t\t\t\t\tct = _xdsoft_datetime.strToDate(options.startDate);\n\t\t\t\t} else {\n\t\t\t\t\tct = options.value || ((input && input.val && input.val()) ? input.val() : '');\n\t\t\t\t\tif (ct) {\n\t\t\t\t\t\tct = _xdsoft_datetime.strToDateTime(ct);\n\t\t\t\t\t} else if (options.defaultDate) {\n\t\t\t\t\t\tct = _xdsoft_datetime.strToDateTime(options.defaultDate);\n\t\t\t\t\t\tif (options.defaultTime) {\n\t\t\t\t\t\t\ttime = _xdsoft_datetime.strtotime(options.defaultTime);\n\t\t\t\t\t\t\tct.setHours(time.getHours());\n\t\t\t\t\t\t\tct.setMinutes(time.getMinutes());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (ct && _xdsoft_datetime.isValidDate(ct)) {\n\t\t\t\t\tdatetimepicker.data('changed', true);\n\t\t\t\t} else {\n\t\t\t\t\tct = '';\n\t\t\t\t}\n\n\t\t\t\treturn ct || 0;\n\t\t\t}\n\n\t\t\t_xdsoft_datetime.setCurrentTime(getCurrentValue());\n\n\t\t\tinput\n\t\t\t\t.data('xdsoft_datetimepicker', datetimepicker)\n\t\t\t\t.on('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', function (event) {\n\t\t\t\t\tif (input.is(':disabled') || (input.data('xdsoft_datetimepicker').is(':visible') && options.closeOnInputClick)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tclearTimeout(timer);\n\t\t\t\t\ttimer = setTimeout(function () {\n\t\t\t\t\t\tif (input.is(':disabled')) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttriggerAfterOpen = true;\n\t\t\t\t\t\t_xdsoft_datetime.setCurrentTime(getCurrentValue());\n\n\t\t\t\t\t\tdatetimepicker.trigger('open.xdsoft');\n\t\t\t\t\t}, 100);\n\t\t\t\t})\n\t\t\t\t.on('keydown.xdsoft', function (event) {\n\t\t\t\t\tvar val = this.value, elementSelector,\n\t\t\t\t\t\tkey = event.which;\n\t\t\t\t\tif ([ENTER].indexOf(key) !== -1 && options.enterLikeTab) {\n\t\t\t\t\t\telementSelector = $(\"input:visible,textarea:visible,button:visible,a:visible\");\n\t\t\t\t\t\tdatetimepicker.trigger('close.xdsoft');\n\t\t\t\t\t\telementSelector.eq(elementSelector.index(this) + 1).focus();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif ([TAB].indexOf(key) !== -1) {\n\t\t\t\t\t\tdatetimepicker.trigger('close.xdsoft');\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t};\n\t\tdestroyDateTimePicker = function (input) {\n\t\t\tvar datetimepicker = input.data('xdsoft_datetimepicker');\n\t\t\tif (datetimepicker) {\n\t\t\t\tdatetimepicker.data('xdsoft_datetime', null);\n\t\t\t\tdatetimepicker.remove();\n\t\t\t\tinput\n\t\t\t\t\t.data('xdsoft_datetimepicker', null)\n\t\t\t\t\t.off('.xdsoft');\n\t\t\t\t$(window).off('resize.xdsoft');\n\t\t\t\t$([window, document.body]).off('mousedown.xdsoft touchstart');\n\t\t\t\tif (input.unmousewheel) {\n\t\t\t\t\tinput.unmousewheel();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\t$(document)\n\t\t\t.off('keydown.xdsoftctrl keyup.xdsoftctrl')\n\t\t\t.on('keydown.xdsoftctrl', function (e) {\n\t\t\t\tif (e.keyCode === CTRLKEY) {\n\t\t\t\t\tctrlDown = true;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('keyup.xdsoftctrl', function (e) {\n\t\t\t\tif (e.keyCode === CTRLKEY) {\n\t\t\t\t\tctrlDown = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\n this.each(function () {\n\t\t\tvar datetimepicker = $(this).data('xdsoft_datetimepicker'), $input;\n\t\t\tif (datetimepicker) {\n\t\t\t\tif ($.type(opt) === 'string') {\n\t\t\t\t\tswitch (opt) {\n\t\t\t\t\tcase 'show':\n\t\t\t\t\t\t$(this).select().focus();\n\t\t\t\t\t\tdatetimepicker.trigger('open.xdsoft');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'hide':\n\t\t\t\t\t\tdatetimepicker.trigger('close.xdsoft');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'toggle':\n\t\t\t\t\t\tdatetimepicker.trigger('toggle.xdsoft');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'destroy':\n\t\t\t\t\t\tdestroyDateTimePicker($(this));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'reset':\n\t\t\t\t\t\tthis.value = this.defaultValue;\n\t\t\t\t\t\tif (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(dateHelper.parseDate(this.value, options.format))) {\n\t\t\t\t\t\t\tdatetimepicker.data('changed', false);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdatetimepicker.data('xdsoft_datetime').setCurrentTime(this.value);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'validate':\n\t\t\t\t\t\t$input = datetimepicker.data('input');\n\t\t\t\t\t\t$input.trigger('blur.xdsoft');\n\t\t\t\t\t\tbreak;\n default:\n if (datetimepicker[opt] && $.isFunction(datetimepicker[opt])) {\n result = datetimepicker[opt](opt2);\n }\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdatetimepicker\n\t\t\t\t\t\t.setOptions(opt);\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tif ($.type(opt) !== 'string') {\n\t\t\t\tif (!options.lazyInit || options.open || options.inline) {\n\t\t\t\t\tcreateDateTimePicker($(this));\n\t\t\t\t} else {\n\t\t\t\t\tlazyInit($(this));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n return result;\n\t};\n\t$.fn.datetimepicker.defaults = default_options;\n\n\tfunction HighlightedDate(date, desc, style) {\n\t\t\"use strict\";\n\t\tthis.date = date;\n\t\tthis.desc = desc;\n\t\tthis.style = style;\n\t}\n\n}));\n/*!\n * jQuery Mousewheel 3.1.13\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n */\n\n(function (factory) {\n if ( typeof define === 'function' && define.amd ) {\n // AMD. Register as an anonymous module.\n define(['jquery'], factory);\n } else if (typeof exports === 'object') {\n // Node/CommonJS style for Browserify\n module.exports = factory;\n } else {\n // Browser globals\n factory(jQuery);\n }\n}(function ($) {\n\n var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],\n toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?\n ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],\n slice = Array.prototype.slice,\n nullLowestDeltaTimeout, lowestDelta;\n\n if ( $.event.fixHooks ) {\n for ( var i = toFix.length; i; ) {\n $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;\n }\n }\n\n var special = $.event.special.mousewheel = {\n version: '3.1.12',\n\n setup: function() {\n if ( this.addEventListener ) {\n for ( var i = toBind.length; i; ) {\n this.addEventListener( toBind[--i], handler, false );\n }\n } else {\n this.onmousewheel = handler;\n }\n // Store the line height and page height for this particular element\n $.data(this, 'mousewheel-line-height', special.getLineHeight(this));\n $.data(this, 'mousewheel-page-height', special.getPageHeight(this));\n },\n\n teardown: function() {\n if ( this.removeEventListener ) {\n for ( var i = toBind.length; i; ) {\n this.removeEventListener( toBind[--i], handler, false );\n }\n } else {\n this.onmousewheel = null;\n }\n // Clean up the data we added to the element\n $.removeData(this, 'mousewheel-line-height');\n $.removeData(this, 'mousewheel-page-height');\n },\n\n getLineHeight: function(elem) {\n var $elem = $(elem),\n $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent']();\n if (!$parent.length) {\n $parent = $('body');\n }\n return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16;\n },\n\n getPageHeight: function(elem) {\n return $(elem).height();\n },\n\n settings: {\n adjustOldDeltas: true, // see shouldAdjustOldDeltas() below\n normalizeOffset: true // calls getBoundingClientRect for each event\n }\n };\n\n $.fn.extend({\n mousewheel: function(fn) {\n return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');\n },\n\n unmousewheel: function(fn) {\n return this.unbind('mousewheel', fn);\n }\n });\n\n\n function handler(event) {\n var orgEvent = event || window.event,\n args = slice.call(arguments, 1),\n delta = 0,\n deltaX = 0,\n deltaY = 0,\n absDelta = 0,\n offsetX = 0,\n offsetY = 0;\n event = $.event.fix(orgEvent);\n event.type = 'mousewheel';\n\n // Old school scrollwheel delta\n if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; }\n if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; }\n if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; }\n if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }\n\n // Firefox < 17 horizontal scrolling related to DOMMouseScroll event\n if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {\n deltaX = deltaY * -1;\n deltaY = 0;\n }\n\n // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy\n delta = deltaY === 0 ? deltaX : deltaY;\n\n // New school wheel delta (wheel event)\n if ( 'deltaY' in orgEvent ) {\n deltaY = orgEvent.deltaY * -1;\n delta = deltaY;\n }\n if ( 'deltaX' in orgEvent ) {\n deltaX = orgEvent.deltaX;\n if ( deltaY === 0 ) { delta = deltaX * -1; }\n }\n\n // No change actually happened, no reason to go any further\n if ( deltaY === 0 && deltaX === 0 ) { return; }\n\n // Need to convert lines and pages to pixels if we aren't already in pixels\n // There are three delta modes:\n // * deltaMode 0 is by pixels, nothing to do\n // * deltaMode 1 is by lines\n // * deltaMode 2 is by pages\n if ( orgEvent.deltaMode === 1 ) {\n var lineHeight = $.data(this, 'mousewheel-line-height');\n delta *= lineHeight;\n deltaY *= lineHeight;\n deltaX *= lineHeight;\n } else if ( orgEvent.deltaMode === 2 ) {\n var pageHeight = $.data(this, 'mousewheel-page-height');\n delta *= pageHeight;\n deltaY *= pageHeight;\n deltaX *= pageHeight;\n }\n\n // Store lowest absolute delta to normalize the delta values\n absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );\n\n if ( !lowestDelta || absDelta < lowestDelta ) {\n lowestDelta = absDelta;\n\n // Adjust older deltas if necessary\n if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {\n lowestDelta /= 40;\n }\n }\n\n // Adjust older deltas if necessary\n if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {\n // Divide all the things by 40!\n delta /= 40;\n deltaX /= 40;\n deltaY /= 40;\n }\n\n // Get a whole, normalized value for the deltas\n delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta);\n deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);\n deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);\n\n // Normalise offsetX and offsetY properties\n if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {\n var boundingRect = this.getBoundingClientRect();\n offsetX = event.clientX - boundingRect.left;\n offsetY = event.clientY - boundingRect.top;\n }\n\n // Add information to the event object\n event.deltaX = deltaX;\n event.deltaY = deltaY;\n event.deltaFactor = lowestDelta;\n event.offsetX = offsetX;\n event.offsetY = offsetY;\n // Go ahead and set deltaMode to 0 since we converted to pixels\n // Although this is a little odd since we overwrite the deltaX/Y\n // properties with normalized deltas.\n event.deltaMode = 0;\n\n // Add event and delta to the front of the arguments\n args.unshift(event, delta, deltaX, deltaY);\n\n // Clearout lowestDelta after sometime to better\n // handle multiple device types that give different\n // a different lowestDelta\n // Ex: trackpad = 3 and mouse wheel = 120\n if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }\n nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);\n\n return ($.event.dispatch || $.event.handle).apply(this, args);\n }\n\n function nullLowestDelta() {\n lowestDelta = null;\n }\n\n function shouldAdjustOldDeltas(orgEvent, absDelta) {\n // If this is an older event and the delta is divisable by 120,\n // then we are assuming that the browser is treating this as an\n // older mouse wheel event and that we should divide the deltas\n // by 40 to try and get a more usable deltaFactor.\n // Side note, this actually impacts the reported scroll distance\n // in older browsers and can cause scrolling to be slower than native.\n // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.\n return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;\n }\n\n}));\n"],"sourceRoot":"/source/"}