From 94a1ed0d80dac52e71695eba93ac269d1333de21 Mon Sep 17 00:00:00 2001 From: Kshitij Saraogi Date: Mon, 30 Nov 2015 15:12:07 +0530 Subject: [PATCH 01/13] added browser action --- manifest.json | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index d850133..238354d 100644 --- a/manifest.json +++ b/manifest.json @@ -1,5 +1,18 @@ { "manifest_version": 2, + "name": "Read Later", - "version": "0.1" -} \ No newline at end of file + "description": "This extension notifies you to view a page later", + "version": "0.1", + + "browser_action": { + "default_title": "ReadLater", + "default_icon": "icon.png", + "default_popup": "popup.html" + }, + + "permissions": [ + "activeTab", + "bookmarks" + ] +} From 7bbbb50fb7d787af4dac358227ea86057ae743d3 Mon Sep 17 00:00:00 2001 From: Kshitij Saraogi Date: Mon, 30 Nov 2015 15:12:27 +0530 Subject: [PATCH 02/13] added icon --- icon.png | Bin 0 -> 33806 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon.png diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ab75df165053ea011a22f40cd6c941ce81681e GIT binary patch literal 33806 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

ahvyl?}^|Wl!}d$V5VsgeQD^xMG%J7YaV{ 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�nB2&Qt2GC)dmjv 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 Date: Mon, 30 Nov 2015 15:13:21 +0530 Subject: [PATCH 03/13] added popup files --- popup.html | 234 +++++++++++++++++++++++++++++++++++++++++++++++++++++ popup.js | 150 ++++++++++++++++++++++++++++++++++ 2 files changed, 384 insertions(+) create mode 100644 popup.html create mode 100644 popup.js diff --git a/popup.html b/popup.html new file mode 100644 index 0000000..a448945 --- /dev/null +++ b/popup.html @@ -0,0 +1,234 @@ + + + + + + + + + +

Date-Time Picker

+

+ + + + + + + + + + diff --git a/popup.js b/popup.js new file mode 100644 index 0000000..6571873 --- /dev/null +++ b/popup.js @@ -0,0 +1,150 @@ +/* + +TODO: Import these 2 JS files + + \ No newline at end of file From 3a741e0dc1028a6708de2805a35696bdb4198a70 Mon Sep 17 00:00:00 2001 From: Kshitij Saraogi Date: Mon, 30 Nov 2015 15:14:13 +0530 Subject: [PATCH 04/13] added datetime picker file --- jquery.datetimepicker.full.js | 2757 +++++++++++++++++++++++++++++++++ jquery.js | 6 + 2 files changed, 2763 insertions(+) create mode 100644 jquery.datetimepicker.full.js create mode 100644 jquery.js diff --git a/jquery.datetimepicker.full.js b/jquery.datetimepicker.full.js new file mode 100644 index 0000000..9c154be --- /dev/null +++ b/jquery.datetimepicker.full.js @@ -0,0 +1,2757 @@ +/** + * @preserve jQuery DateTimePicker plugin v2.4.5 + * @homepage http://xdsoft.net/jqplugins/datetimepicker/ + * (c) 2014, Chupurnov Valeriy. + */ +/*global document,window,jQuery,setTimeout,clearTimeout,HighlightedDate,getCurrentValue*/ +;(function (factory) { + if ( typeof define === 'function' && define.amd ) { + // AMD. Register as an anonymous module. + define(['jquery', 'jquery-mousewheel', 'date-functions'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + 'use strict'; + var default_options = { + i18n: { + ar: { // Arabic + months: [ + "كانون الثاني", "شباط", "آذار", "نيسان", "مايو", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول" + ], + dayOfWeekShort: [ + "ن", "ث", "ع", "خ", "ج", "س", "ح" + ], + dayOfWeek: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"] + }, + ro: { // Romanian + months: [ + "Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie" + ], + dayOfWeekShort: [ + "Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ" + ], + dayOfWeek: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă"] + }, + id: { // Indonesian + months: [ + "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" + ], + dayOfWeekShort: [ + "Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab" + ], + dayOfWeek: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"] + }, + is: { // Icelandic + months: [ + "Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember" + ], + dayOfWeekShort: [ + "Sun", "Mán", "Þrið", "Mið", "Fim", "Fös", "Lau" + ], + dayOfWeek: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur"] + }, + bg: { // Bulgarian + months: [ + "Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември" + ], + dayOfWeekShort: [ + "Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб" + ], + dayOfWeek: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота"] + }, + fa: { // Persian/Farsi + months: [ + 'فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند' + ], + dayOfWeekShort: [ + 'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه' + ], + dayOfWeek: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"] + }, + ru: { // Russian + months: [ + 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь' + ], + dayOfWeekShort: [ + "Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб" + ], + dayOfWeek: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"] + }, + uk: { // Ukrainian + months: [ + 'Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень' + ], + dayOfWeekShort: [ + "Ндл", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Сбт" + ], + dayOfWeek: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"] + }, + en: { // English + months: [ + "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" + ], + dayOfWeekShort: [ + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" + ], + dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] + }, + el: { // Ελληνικά + months: [ + "Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος" + ], + dayOfWeekShort: [ + "Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ" + ], + dayOfWeek: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] + }, + de: { // German + months: [ + 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' + ], + dayOfWeekShort: [ + "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa" + ], + dayOfWeek: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] + }, + nl: { // Dutch + months: [ + "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december" + ], + dayOfWeekShort: [ + "zo", "ma", "di", "wo", "do", "vr", "za" + ], + dayOfWeek: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"] + }, + tr: { // Turkish + months: [ + "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık" + ], + dayOfWeekShort: [ + "Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts" + ], + dayOfWeek: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"] + }, + fr: { //French + months: [ + "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre" + ], + dayOfWeekShort: [ + "Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam" + ], + dayOfWeek: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"] + }, + es: { // Spanish + months: [ + "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" + ], + dayOfWeekShort: [ + "Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb" + ], + dayOfWeek: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"] + }, + th: { // Thai + months: [ + 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม' + ], + dayOfWeekShort: [ + 'อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.' + ], + dayOfWeek: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"] + }, + pl: { // Polish + months: [ + "styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień" + ], + dayOfWeekShort: [ + "nd", "pn", "wt", "śr", "cz", "pt", "sb" + ], + dayOfWeek: ["niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"] + }, + pt: { // Portuguese + months: [ + "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" + ], + dayOfWeekShort: [ + "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab" + ], + dayOfWeek: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"] + }, + ch: { // Simplified Chinese + months: [ + "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" + ], + dayOfWeekShort: [ + "日", "一", "二", "三", "四", "五", "六" + ] + }, + se: { // Swedish + months: [ + "Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December" + ], + dayOfWeekShort: [ + "Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör" + ] + }, + kr: { // Korean + months: [ + "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월" + ], + dayOfWeekShort: [ + "일", "월", "화", "수", "목", "금", "토" + ], + dayOfWeek: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"] + }, + it: { // Italian + months: [ + "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre" + ], + dayOfWeekShort: [ + "Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab" + ], + dayOfWeek: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"] + }, + da: { // Dansk + months: [ + "January", "Februar", "Marts", "April", "Maj", "Juni", "July", "August", "September", "Oktober", "November", "December" + ], + dayOfWeekShort: [ + "Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør" + ], + dayOfWeek: ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"] + }, + no: { // Norwegian + months: [ + "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember" + ], + dayOfWeekShort: [ + "Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør" + ], + dayOfWeek: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'] + }, + ja: { // Japanese + months: [ + "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月" + ], + dayOfWeekShort: [ + "日", "月", "火", "水", "木", "金", "土" + ], + dayOfWeek: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜"] + }, + vi: { // Vietnamese + months: [ + "Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12" + ], + dayOfWeekShort: [ + "CN", "T2", "T3", "T4", "T5", "T6", "T7" + ], + dayOfWeek: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"] + }, + sl: { // Slovenščina + months: [ + "Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December" + ], + dayOfWeekShort: [ + "Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob" + ], + dayOfWeek: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"] + }, + cs: { // Čeština + months: [ + "Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec" + ], + dayOfWeekShort: [ + "Ne", "Po", "Út", "St", "Čt", "Pá", "So" + ] + }, + hu: { // Hungarian + months: [ + "Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December" + ], + dayOfWeekShort: [ + "Va", "Hé", "Ke", "Sze", "Cs", "Pé", "Szo" + ], + dayOfWeek: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"] + }, + az: { //Azerbaijanian (Azeri) + months: [ + "Yanvar", "Fevral", "Mart", "Aprel", "May", "Iyun", "Iyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr" + ], + dayOfWeekShort: [ + "B", "Be", "Ça", "Ç", "Ca", "C", "Ş" + ], + dayOfWeek: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə"] + }, + bs: { //Bosanski + months: [ + "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar" + ], + dayOfWeekShort: [ + "Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub" + ], + dayOfWeek: ["Nedjelja","Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"] + }, + ca: { //Català + months: [ + "Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre" + ], + dayOfWeekShort: [ + "Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds" + ], + dayOfWeek: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"] + }, + 'en-GB': { //English (British) + months: [ + "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" + ], + dayOfWeekShort: [ + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" + ], + dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] + }, + et: { //"Eesti" + months: [ + "Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember" + ], + dayOfWeekShort: [ + "P", "E", "T", "K", "N", "R", "L" + ], + dayOfWeek: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev"] + }, + eu: { //Euskara + months: [ + "Urtarrila", "Otsaila", "Martxoa", "Apirila", "Maiatza", "Ekaina", "Uztaila", "Abuztua", "Iraila", "Urria", "Azaroa", "Abendua" + ], + dayOfWeekShort: [ + "Ig.", "Al.", "Ar.", "Az.", "Og.", "Or.", "La." + ], + dayOfWeek: ['Igandea', 'Astelehena', 'Asteartea', 'Asteazkena', 'Osteguna', 'Ostirala', 'Larunbata'] + }, + fi: { //Finnish (Suomi) + months: [ + "Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu" + ], + dayOfWeekShort: [ + "Su", "Ma", "Ti", "Ke", "To", "Pe", "La" + ], + dayOfWeek: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"] + }, + gl: { //Galego + months: [ + "Xan", "Feb", "Maz", "Abr", "Mai", "Xun", "Xul", "Ago", "Set", "Out", "Nov", "Dec" + ], + dayOfWeekShort: [ + "Dom", "Lun", "Mar", "Mer", "Xov", "Ven", "Sab" + ], + dayOfWeek: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado"] + }, + hr: { //Hrvatski + months: [ + "Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac" + ], + dayOfWeekShort: [ + "Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub" + ], + dayOfWeek: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"] + }, + ko: { //Korean (한국어) + months: [ + "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월" + ], + dayOfWeekShort: [ + "일", "월", "화", "수", "목", "금", "토" + ], + dayOfWeek: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"] + }, + lt: { //Lithuanian (lietuvių) + months: [ + "Sausio", "Vasario", "Kovo", "Balandžio", "Gegužės", "Birželio", "Liepos", "Rugpjūčio", "Rugsėjo", "Spalio", "Lapkričio", "Gruodžio" + ], + dayOfWeekShort: [ + "Sek", "Pir", "Ant", "Tre", "Ket", "Pen", "Šeš" + ], + dayOfWeek: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis"] + }, + lv: { //Latvian (Latviešu) + months: [ + "Janvāris", "Februāris", "Marts", "Aprīlis ", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris" + ], + dayOfWeekShort: [ + "Sv", "Pr", "Ot", "Tr", "Ct", "Pk", "St" + ], + dayOfWeek: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena"] + }, + mk: { //Macedonian (Македонски) + months: [ + "јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември" + ], + dayOfWeekShort: [ + "нед", "пон", "вто", "сре", "чет", "пет", "саб" + ], + dayOfWeek: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота"] + }, + mn: { //Mongolian (Монгол) + months: [ + "1-р сар", "2-р сар", "3-р сар", "4-р сар", "5-р сар", "6-р сар", "7-р сар", "8-р сар", "9-р сар", "10-р сар", "11-р сар", "12-р сар" + ], + dayOfWeekShort: [ + "Дав", "Мяг", "Лха", "Пүр", "Бсн", "Бям", "Ням" + ], + dayOfWeek: ["Даваа", "Мягмар", "Лхагва", "Пүрэв", "Баасан", "Бямба", "Ням"] + }, + 'pt-BR': { //Português(Brasil) + months: [ + "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" + ], + dayOfWeekShort: [ + "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb" + ], + dayOfWeek: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"] + }, + sk: { //Slovenčina + months: [ + "Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December" + ], + dayOfWeekShort: [ + "Ne", "Po", "Ut", "St", "Št", "Pi", "So" + ], + dayOfWeek: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"] + }, + sq: { //Albanian (Shqip) + months: [ + "Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor" + ], + dayOfWeekShort: [ + "Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu" + ], + dayOfWeek: ["E Diel", "E Hënë", "E Martē", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë"] + }, + 'sr-YU': { //Serbian (Srpski) + months: [ + "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar" + ], + dayOfWeekShort: [ + "Ned", "Pon", "Uto", "Sre", "čet", "Pet", "Sub" + ], + dayOfWeek: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota"] + }, + sr: { //Serbian Cyrillic (Српски) + months: [ + "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар" + ], + dayOfWeekShort: [ + "нед", "пон", "уто", "сре", "чет", "пет", "суб" + ], + dayOfWeek: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота"] + }, + sv: { //Svenska + months: [ + "Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December" + ], + dayOfWeekShort: [ + "Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör" + ], + dayOfWeek: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"] + }, + 'zh-TW': { //Traditional Chinese (繁體中文) + months: [ + "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" + ], + dayOfWeekShort: [ + "日", "一", "二", "三", "四", "五", "六" + ], + dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] + }, + zh: { //Simplified Chinese (简体中文) + months: [ + "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" + ], + dayOfWeekShort: [ + "日", "一", "二", "三", "四", "五", "六" + ], + dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] + }, + he: { //Hebrew (עברית) + months: [ + 'ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר' + ], + dayOfWeekShort: [ + 'א\'', 'ב\'', 'ג\'', 'ד\'', 'ה\'', 'ו\'', 'שבת' + ], + dayOfWeek: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"] + }, + hy: { // Armenian + months: [ + "Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր" + ], + dayOfWeekShort: [ + "Կի", "Երկ", "Երք", "Չոր", "Հնգ", "Ուրբ", "Շբթ" + ], + dayOfWeek: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ"] + }, + kg: { // Kyrgyz + months: [ + 'Үчтүн айы', 'Бирдин айы', 'Жалган Куран', 'Чын Куран', 'Бугу', 'Кулжа', 'Теке', 'Баш Оона', 'Аяк Оона', 'Тогуздун айы', 'Жетинин айы', 'Бештин айы' + ], + dayOfWeekShort: [ + "Жек", "Дүй", "Шей", "Шар", "Бей", "Жум", "Ише" + ], + dayOfWeek: [ + "Жекшемб", "Дүйшөмб", "Шейшемб", "Шаршемб", "Бейшемби", "Жума", "Ишенб" + ] + } + }, + value: '', + rtl: false, + + format: 'Y/m/d H:i', + formatTime: 'H:i', + formatDate: 'Y/m/d', + + startDate: false, // new Date(), '1986/12/08', '-1970/01/05','-1970/01/05', + step: 60, + monthChangeSpinner: true, + + closeOnDateSelect: false, + closeOnTimeSelect: true, + closeOnWithoutClick: true, + closeOnInputClick: true, + + timepicker: true, + datepicker: true, + weeks: false, + + defaultTime: false, // use formatTime format (ex. '10:00' for formatTime: 'H:i') + defaultDate: false, // use formatDate format (ex new Date() or '1986/12/08' or '-1970/01/05' or '-1970/01/05') + + minDate: false, + maxDate: false, + minTime: false, + maxTime: false, + disabledMinTime: false, + disabledMaxTime: false, + + allowTimes: [], + opened: false, + initTime: true, + inline: false, + theme: '', + + onSelectDate: function () {}, + onSelectTime: function () {}, + onChangeMonth: function () {}, + onChangeYear: function () {}, + onChangeDateTime: function () {}, + onShow: function () {}, + onClose: function () {}, + onGenerate: function () {}, + + withoutCopyright: true, + inverseButton: false, + hours12: false, + next: 'xdsoft_next', + prev : 'xdsoft_prev', + dayOfWeekStart: 0, + parentID: 'body', + timeHeightInTimePicker: 25, + timepickerScrollbar: true, + todayButton: true, + prevButton: true, + nextButton: true, + defaultSelect: true, + + scrollMonth: true, + scrollTime: true, + scrollInput: true, + + lazyInit: false, + mask: false, + validateOnBlur: true, + allowBlank: true, + yearStart: 1950, + yearEnd: 2050, + monthStart: 0, + monthEnd: 11, + style: '', + id: '', + fixed: false, + roundTime: 'round', // ceil, floor + className: '', + weekends: [], + highlightedDates: [], + highlightedPeriods: [], + disabledDates : [], + disabledWeekDays: [], + yearOffset: 0, + beforeShowDay: null, + + enterLikeTab: true, + showApplyButton: false + }; + + var globalLocaleDefault = 'en', + globalLocale = 'en'; + // for locale settings + $.datetimepicker = { + setLocale: function(locale){ + globalLocale = default_options.i18n[locale]?locale:globalLocaleDefault; + // Override Parse and Format Library entities + Date.monthNames = default_options.i18n[globalLocale].months; + Date.dayNames = default_options.i18n[globalLocale].dayOfWeek; + } + }; + + // fix for ie8 + if (!window.getComputedStyle) { + window.getComputedStyle = function (el, pseudo) { + this.el = el; + this.getPropertyValue = function (prop) { + var re = /(\-([a-z]){1})/g; + if (prop === 'float') { + prop = 'styleFloat'; + } + if (re.test(prop)) { + prop = prop.replace(re, function (a, b, c) { + return c.toUpperCase(); + }); + } + return el.currentStyle[prop] || null; + }; + return this; + }; + } + if (!Array.prototype.indexOf) { + Array.prototype.indexOf = function (obj, start) { + var i, j; + for (i = (start || 0), j = this.length; i < j; i += 1) { + if (this[i] === obj) { return i; } + } + return -1; + }; + } + Date.prototype.countDaysInMonth = function () { + return new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate(); + }; + $.fn.xdsoftScroller = function (percent) { + return this.each(function () { + var timeboxparent = $(this), + pointerEventToXY = function (e) { + var out = {x: 0, y: 0}, + touch; + if (e.type === 'touchstart' || e.type === 'touchmove' || e.type === 'touchend' || e.type === 'touchcancel') { + touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; + out.x = touch.clientX; + out.y = touch.clientY; + } else if (e.type === 'mousedown' || e.type === 'mouseup' || e.type === 'mousemove' || e.type === 'mouseover' || e.type === 'mouseout' || e.type === 'mouseenter' || e.type === 'mouseleave') { + out.x = e.clientX; + out.y = e.clientY; + } + return out; + }, + move = 0, + timebox, + parentHeight, + height, + scrollbar, + scroller, + maximumOffset = 100, + start = false, + startY = 0, + startTop = 0, + h1 = 0, + touchStart = false, + startTopScroll = 0, + calcOffset = function () {}; + if (percent === 'hide') { + timeboxparent.find('.xdsoft_scrollbar').hide(); + return; + } + if (!$(this).hasClass('xdsoft_scroller_box')) { + timebox = timeboxparent.children().eq(0); + parentHeight = timeboxparent[0].clientHeight; + height = timebox[0].offsetHeight; + scrollbar = $('
'); + scroller = $('
'); + scrollbar.append(scroller); + + timeboxparent.addClass('xdsoft_scroller_box').append(scrollbar); + calcOffset = function calcOffset(event) { + var offset = pointerEventToXY(event).y - startY + startTopScroll; + if (offset < 0) { + offset = 0; + } + if (offset + scroller[0].offsetHeight > h1) { + offset = h1 - scroller[0].offsetHeight; + } + timeboxparent.trigger('scroll_element.xdsoft_scroller', [maximumOffset ? offset / maximumOffset : 0]); + }; + + scroller + .on('touchstart.xdsoft_scroller mousedown.xdsoft_scroller', function (event) { + if (!parentHeight) { + timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]); + } + + startY = pointerEventToXY(event).y; + startTopScroll = parseInt(scroller.css('margin-top'), 10); + h1 = scrollbar[0].offsetHeight; + + if (event.type === 'mousedown') { + if (document) { + $(document.body).addClass('xdsoft_noselect'); + } + $([document.body, window]).on('mouseup.xdsoft_scroller', function arguments_callee() { + $([document.body, window]).off('mouseup.xdsoft_scroller', arguments_callee) + .off('mousemove.xdsoft_scroller', calcOffset) + .removeClass('xdsoft_noselect'); + }); + $(document.body).on('mousemove.xdsoft_scroller', calcOffset); + } else { + touchStart = true; + event.stopPropagation(); + event.preventDefault(); + } + }) + .on('touchmove', function (event) { + if (touchStart) { + event.preventDefault(); + calcOffset(event); + } + }) + .on('touchend touchcancel', function (event) { + touchStart = false; + startTopScroll = 0; + }); + + timeboxparent + .on('scroll_element.xdsoft_scroller', function (event, percentage) { + if (!parentHeight) { + timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percentage, true]); + } + percentage = percentage > 1 ? 1 : (percentage < 0 || isNaN(percentage)) ? 0 : percentage; + + scroller.css('margin-top', maximumOffset * percentage); + + setTimeout(function () { + timebox.css('marginTop', -parseInt((timebox[0].offsetHeight - parentHeight) * percentage, 10)); + }, 10); + }) + .on('resize_scroll.xdsoft_scroller', function (event, percentage, noTriggerScroll) { + var percent, sh; + parentHeight = timeboxparent[0].clientHeight; + height = timebox[0].offsetHeight; + percent = parentHeight / height; + sh = percent * scrollbar[0].offsetHeight; + if (percent > 1) { + scroller.hide(); + } else { + scroller.show(); + scroller.css('height', parseInt(sh > 10 ? sh : 10, 10)); + maximumOffset = scrollbar[0].offsetHeight - scroller[0].offsetHeight; + if (noTriggerScroll !== true) { + timeboxparent.trigger('scroll_element.xdsoft_scroller', [percentage || Math.abs(parseInt(timebox.css('marginTop'), 10)) / (height - parentHeight)]); + } + } + }); + + timeboxparent.on('mousewheel', function (event) { + var top = Math.abs(parseInt(timebox.css('marginTop'), 10)); + + top = top - (event.deltaY * 20); + if (top < 0) { + top = 0; + } + + timeboxparent.trigger('scroll_element.xdsoft_scroller', [top / (height - parentHeight)]); + event.stopPropagation(); + return false; + }); + + timeboxparent.on('touchstart', function (event) { + start = pointerEventToXY(event); + startTop = Math.abs(parseInt(timebox.css('marginTop'), 10)); + }); + + timeboxparent.on('touchmove', function (event) { + if (start) { + event.preventDefault(); + var coord = pointerEventToXY(event); + timeboxparent.trigger('scroll_element.xdsoft_scroller', [(startTop - (coord.y - start.y)) / (height - parentHeight)]); + } + }); + + timeboxparent.on('touchend touchcancel', function (event) { + start = false; + startTop = 0; + }); + } + timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]); + }); + }; + + $.fn.datetimepicker = function (opt) { + var KEY0 = 48, + KEY9 = 57, + _KEY0 = 96, + _KEY9 = 105, + CTRLKEY = 17, + DEL = 46, + ENTER = 13, + ESC = 27, + BACKSPACE = 8, + ARROWLEFT = 37, + ARROWUP = 38, + ARROWRIGHT = 39, + ARROWDOWN = 40, + TAB = 9, + F5 = 116, + AKEY = 65, + CKEY = 67, + VKEY = 86, + ZKEY = 90, + YKEY = 89, + ctrlDown = false, + options = ($.isPlainObject(opt) || !opt) ? $.extend(true, {}, default_options, opt) : $.extend(true, {}, default_options), + + lazyInitTimer = 0, + createDateTimePicker, + destroyDateTimePicker, + + lazyInit = function (input) { + input + .on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function initOnActionCallback(event) { + if (input.is(':disabled') || input.data('xdsoft_datetimepicker')) { + return; + } + clearTimeout(lazyInitTimer); + lazyInitTimer = setTimeout(function () { + + if (!input.data('xdsoft_datetimepicker')) { + createDateTimePicker(input); + } + input + .off('open.xdsoft focusin.xdsoft mousedown.xdsoft', initOnActionCallback) + .trigger('open.xdsoft'); + }, 100); + }); + }; + + createDateTimePicker = function (input) { + var datetimepicker = $('
'), + xdsoft_copyright = $('
'), + datepicker = $('
'), + mounth_picker = $('
' + + '
' + + '
' + + '
'), + calendar = $('
'), + timepicker = $('
'), + timeboxparent = timepicker.find('.xdsoft_time_box').eq(0), + timebox = $('
'), + applyButton = $(''), + /*scrollbar = $('
'), + scroller = $('
'),*/ + monthselect = $('
'), + yearselect = $('
'), + triggerAfterOpen = false, + XDSoft_datetime, + //scroll_element, + xchangeTimer, + timerclick, + current_time_index, + setPos, + timer = 0, + timer1 = 0, + _xdsoft_datetime; + + if (options.id) { + datetimepicker.attr('id', options.id); + } + if (options.style) { + datetimepicker.attr('style', options.style); + } + if (options.weeks) { + datetimepicker.addClass('xdsoft_showweeks'); + } + if (options.rtl) { + datetimepicker.addClass('xdsoft_rtl'); + } + + datetimepicker.addClass('xdsoft_' + options.theme); + datetimepicker.addClass(options.className); + + mounth_picker + .find('.xdsoft_month span') + .after(monthselect); + mounth_picker + .find('.xdsoft_year span') + .after(yearselect); + + mounth_picker + .find('.xdsoft_month,.xdsoft_year') + .on('mousedown.xdsoft', function (event) { + var select = $(this).find('.xdsoft_select').eq(0), + val = 0, + top = 0, + visible = select.is(':visible'), + items, + i; + + mounth_picker + .find('.xdsoft_select') + .hide(); + if (_xdsoft_datetime.currentTime) { + val = _xdsoft_datetime.currentTime[$(this).hasClass('xdsoft_month') ? 'getMonth' : 'getFullYear'](); + } + + select[visible ? 'hide' : 'show'](); + for (items = select.find('div.xdsoft_option'), i = 0; i < items.length; i += 1) { + if (items.eq(i).data('value') === val) { + break; + } else { + top += items[0].offsetHeight; + } + } + + select.xdsoftScroller(top / (select.children()[0].offsetHeight - (select[0].clientHeight))); + event.stopPropagation(); + return false; + }); + + mounth_picker + .find('.xdsoft_select') + .xdsoftScroller() + .on('mousedown.xdsoft', function (event) { + event.stopPropagation(); + event.preventDefault(); + }) + .on('mousedown.xdsoft', '.xdsoft_option', function (event) { + + if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) { + _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); + } + + var year = _xdsoft_datetime.currentTime.getFullYear(); + if (_xdsoft_datetime && _xdsoft_datetime.currentTime) { + _xdsoft_datetime.currentTime[$(this).parent().parent().hasClass('xdsoft_monthselect') ? 'setMonth' : 'setFullYear']($(this).data('value')); + } + + $(this).parent().parent().hide(); + + datetimepicker.trigger('xchange.xdsoft'); + if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) { + options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + + if (year !== _xdsoft_datetime.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) { + options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + }); + + datetimepicker.setOptions = function (_options) { + var highlightedDates = {}, + getCaretPos = function (input) { + try { + if (document.selection && document.selection.createRange) { + var range = document.selection.createRange(); + return range.getBookmark().charCodeAt(2) - 2; + } + if (input.setSelectionRange) { + return input.selectionStart; + } + } catch (e) { + return 0; + } + }, + setCaretPos = function (node, pos) { + node = (typeof node === "string" || node instanceof String) ? document.getElementById(node) : node; + if (!node) { + return false; + } + if (node.createTextRange) { + var textRange = node.createTextRange(); + textRange.collapse(true); + textRange.moveEnd('character', pos); + textRange.moveStart('character', pos); + textRange.select(); + return true; + } + if (node.setSelectionRange) { + node.setSelectionRange(pos, pos); + return true; + } + return false; + }, + isValidValue = function (mask, value) { + var reg = mask + .replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g, '\\$1') + .replace(/_/g, '{digit+}') + .replace(/([0-9]{1})/g, '{digit$1}') + .replace(/\{digit([0-9]{1})\}/g, '[0-$1_]{1}') + .replace(/\{digit[\+]\}/g, '[0-9_]{1}'); + return (new RegExp(reg)).test(value); + }; + options = $.extend(true, {}, options, _options); + + if (_options.allowTimes && $.isArray(_options.allowTimes) && _options.allowTimes.length) { + options.allowTimes = $.extend(true, [], _options.allowTimes); + } + + if (_options.weekends && $.isArray(_options.weekends) && _options.weekends.length) { + options.weekends = $.extend(true, [], _options.weekends); + } + + if (_options.highlightedDates && $.isArray(_options.highlightedDates) && _options.highlightedDates.length) { + $.each(_options.highlightedDates, function (index, value) { + var splitData = $.map(value.split(','), $.trim), + exDesc, + hDate = new HighlightedDate(Date.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style + keyDate = hDate.date.dateFormat(options.formatDate); + if (highlightedDates[keyDate] !== undefined) { + exDesc = highlightedDates[keyDate].desc; + if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) { + highlightedDates[keyDate].desc = exDesc + "\n" + hDate.desc; + } + } else { + highlightedDates[keyDate] = hDate; + } + }); + + options.highlightedDates = $.extend(true, [], highlightedDates); + } + + if (_options.highlightedPeriods && $.isArray(_options.highlightedPeriods) && _options.highlightedPeriods.length) { + highlightedDates = $.extend(true, [], options.highlightedDates); + $.each(_options.highlightedPeriods, function (index, value) { + var dateTest, // start date + dateEnd, + desc, + hDate, + keyDate, + exDesc, + style; + if ($.isArray(value)) { + dateTest = value[0]; + dateEnd = value[1]; + desc = value[2]; + style = value[3]; + } + else { + var splitData = $.map(value.split(','), $.trim); + dateTest = Date.parseDate(splitData[0], options.formatDate); + dateEnd = Date.parseDate(splitData[1], options.formatDate); + desc = splitData[2]; + style = splitData[3]; + } + + while (dateTest <= dateEnd) { + hDate = new HighlightedDate(dateTest, desc, style); + keyDate = dateTest.dateFormat(options.formatDate); + dateTest.setDate(dateTest.getDate() + 1); + if (highlightedDates[keyDate] !== undefined) { + exDesc = highlightedDates[keyDate].desc; + if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) { + highlightedDates[keyDate].desc = exDesc + "\n" + hDate.desc; + } + } else { + highlightedDates[keyDate] = hDate; + } + } + }); + + options.highlightedDates = $.extend(true, [], highlightedDates); + } + + if (_options.disabledDates && $.isArray(_options.disabledDates) && _options.disabledDates.length) { + options.disabledDates = $.extend(true, [], _options.disabledDates); + } + + if (_options.disabledWeekDays && $.isArray(_options.disabledWeekDays) && _options.disabledWeekDays.length) { + options.disabledWeekDays = $.extend(true, [], _options.disabledWeekDays); + } + + if ((options.open || options.opened) && (!options.inline)) { + input.trigger('open.xdsoft'); + } + + if (options.inline) { + triggerAfterOpen = true; + datetimepicker.addClass('xdsoft_inline'); + input.after(datetimepicker).hide(); + } + + if (options.inverseButton) { + options.next = 'xdsoft_prev'; + options.prev = 'xdsoft_next'; + } + + if (options.datepicker) { + datepicker.addClass('active'); + } else { + datepicker.removeClass('active'); + } + + if (options.timepicker) { + timepicker.addClass('active'); + } else { + timepicker.removeClass('active'); + } + + if (options.value) { + _xdsoft_datetime.setCurrentTime(options.value); + if (input && input.val) { + input.val(_xdsoft_datetime.str); + } + } + + if (isNaN(options.dayOfWeekStart)) { + options.dayOfWeekStart = 0; + } else { + options.dayOfWeekStart = parseInt(options.dayOfWeekStart, 10) % 7; + } + + if (!options.timepickerScrollbar) { + timeboxparent.xdsoftScroller('hide'); + } + + if (options.minDate && /^[\+\-](.*)$/.test(options.minDate)) { + options.minDate = _xdsoft_datetime.strToDateTime(options.minDate).dateFormat(options.formatDate); + } + + if (options.maxDate && /^[\+\-](.*)$/.test(options.maxDate)) { + options.maxDate = _xdsoft_datetime.strToDateTime(options.maxDate).dateFormat(options.formatDate); + } + + applyButton.toggle(options.showApplyButton); + + mounth_picker + .find('.xdsoft_today_button') + .css('visibility', !options.todayButton ? 'hidden' : 'visible'); + + mounth_picker + .find('.' + options.prev) + .css('visibility', !options.prevButton ? 'hidden' : 'visible'); + + mounth_picker + .find('.' + options.next) + .css('visibility', !options.nextButton ? 'hidden' : 'visible'); + + if (options.mask) { + input.off('keydown.xdsoft'); + + if (options.mask === true) { + options.mask = options.format + .replace(/Y/g, '9999') + .replace(/F/g, '9999') + .replace(/m/g, '19') + .replace(/d/g, '39') + .replace(/H/g, '29') + .replace(/i/g, '59') + .replace(/s/g, '59'); + } + + if ($.type(options.mask) === 'string') { + if (!isValidValue(options.mask, input.val())) { + input.val(options.mask.replace(/[0-9]/g, '_')); + } + + input.on('keydown.xdsoft', function (event) { + var val = this.value, + key = event.which, + pos, + digit; + + if (((key >= KEY0 && key <= KEY9) || (key >= _KEY0 && key <= _KEY9)) || (key === BACKSPACE || key === DEL)) { + pos = getCaretPos(this); + digit = (key !== BACKSPACE && key !== DEL) ? String.fromCharCode((_KEY0 <= key && key <= _KEY9) ? key - KEY0 : key) : '_'; + + if ((key === BACKSPACE || key === DEL) && pos) { + pos -= 1; + digit = '_'; + } + + while (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) { + pos += (key === BACKSPACE || key === DEL) ? -1 : 1; + } + + val = val.substr(0, pos) + digit + val.substr(pos + 1); + if ($.trim(val) === '') { + val = options.mask.replace(/[0-9]/g, '_'); + } else { + if (pos === options.mask.length) { + event.preventDefault(); + return false; + } + } + + pos += (key === BACKSPACE || key === DEL) ? 0 : 1; + while (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) { + pos += (key === BACKSPACE || key === DEL) ? -1 : 1; + } + + if (isValidValue(options.mask, val)) { + this.value = val; + setCaretPos(this, pos); + } else if ($.trim(val) === '') { + this.value = options.mask.replace(/[0-9]/g, '_'); + } else { + input.trigger('error_input.xdsoft'); + } + } else { + if (([AKEY, CKEY, VKEY, ZKEY, YKEY].indexOf(key) !== -1 && ctrlDown) || [ESC, ARROWUP, ARROWDOWN, ARROWLEFT, ARROWRIGHT, F5, CTRLKEY, TAB, ENTER].indexOf(key) !== -1) { + return true; + } + } + + event.preventDefault(); + return false; + }); + } + } + if (options.validateOnBlur) { + input + .off('blur.xdsoft') + .on('blur.xdsoft', function () { + if (options.allowBlank && !$.trim($(this).val()).length) { + $(this).val(null); + datetimepicker.data('xdsoft_datetime').empty(); + } else if (!Date.parseDate($(this).val(), options.format)) { + var splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')), + splittedMinutes = +([$(this).val()[2], $(this).val()[3]].join('')); + + // parse the numbers as 0312 => 03:12 + if (!options.datepicker && options.timepicker && splittedHours >= 0 && splittedHours < 24 && splittedMinutes >= 0 && splittedMinutes < 60) { + $(this).val([splittedHours, splittedMinutes].map(function (item) { + return item > 9 ? item : '0' + item; + }).join(':')); + } else { + $(this).val((_xdsoft_datetime.now()).dateFormat(options.format)); + } + + datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val()); + } else { + datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val()); + } + + datetimepicker.trigger('changedatetime.xdsoft'); + }); + } + options.dayOfWeekStartPrev = (options.dayOfWeekStart === 0) ? 6 : options.dayOfWeekStart - 1; + + datetimepicker + .trigger('xchange.xdsoft') + .trigger('afterOpen.xdsoft'); + }; + + datetimepicker + .data('options', options) + .on('mousedown.xdsoft', function (event) { + event.stopPropagation(); + event.preventDefault(); + yearselect.hide(); + monthselect.hide(); + return false; + }); + + //scroll_element = timepicker.find('.xdsoft_time_box'); + timeboxparent.append(timebox); + timeboxparent.xdsoftScroller(); + + datetimepicker.on('afterOpen.xdsoft', function () { + timeboxparent.xdsoftScroller(); + }); + + datetimepicker + .append(datepicker) + .append(timepicker); + + if (options.withoutCopyright !== true) { + datetimepicker + .append(xdsoft_copyright); + } + + datepicker + .append(mounth_picker) + .append(calendar) + .append(applyButton); + + $(options.parentID) + .append(datetimepicker); + + XDSoft_datetime = function () { + var _this = this; + _this.now = function (norecursion) { + var d = new Date(), + date, + time; + + if (!norecursion && options.defaultDate) { + date = _this.strToDateTime(options.defaultDate); + d.setFullYear(date.getFullYear()); + d.setMonth(date.getMonth()); + d.setDate(date.getDate()); + } + + if (options.yearOffset) { + d.setFullYear(d.getFullYear() + options.yearOffset); + } + + if (!norecursion && options.defaultTime) { + time = _this.strtotime(options.defaultTime); + d.setHours(time.getHours()); + d.setMinutes(time.getMinutes()); + } + return d; + }; + + _this.isValidDate = function (d) { + if (Object.prototype.toString.call(d) !== "[object Date]") { + return false; + } + return !isNaN(d.getTime()); + }; + + _this.setCurrentTime = function (dTime) { + _this.currentTime = (typeof dTime === 'string') ? _this.strToDateTime(dTime) : _this.isValidDate(dTime) ? dTime : _this.now(); + datetimepicker.trigger('xchange.xdsoft'); + }; + + _this.empty = function () { + _this.currentTime = null; + }; + + _this.getCurrentTime = function (dTime) { + return _this.currentTime; + }; + + _this.nextMonth = function () { + + if (_this.currentTime === undefined || _this.currentTime === null) { + _this.currentTime = _this.now(); + } + + var month = _this.currentTime.getMonth() + 1, + year; + if (month === 12) { + _this.currentTime.setFullYear(_this.currentTime.getFullYear() + 1); + month = 0; + } + + year = _this.currentTime.getFullYear(); + + _this.currentTime.setDate( + Math.min( + new Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(), + _this.currentTime.getDate() + ) + ); + _this.currentTime.setMonth(month); + + if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) { + options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + + if (year !== _this.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) { + options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + + datetimepicker.trigger('xchange.xdsoft'); + return month; + }; + + _this.prevMonth = function () { + + if (_this.currentTime === undefined || _this.currentTime === null) { + _this.currentTime = _this.now(); + } + + var month = _this.currentTime.getMonth() - 1; + if (month === -1) { + _this.currentTime.setFullYear(_this.currentTime.getFullYear() - 1); + month = 11; + } + _this.currentTime.setDate( + Math.min( + new Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(), + _this.currentTime.getDate() + ) + ); + _this.currentTime.setMonth(month); + if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) { + options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + datetimepicker.trigger('xchange.xdsoft'); + return month; + }; + + _this.getWeekOfYear = function (datetime) { + var onejan = new Date(datetime.getFullYear(), 0, 1); + return Math.ceil((((datetime - onejan) / 86400000) + onejan.getDay() + 1) / 7); + }; + + _this.strToDateTime = function (sDateTime) { + var tmpDate = [], timeOffset, currentTime; + + if (sDateTime && sDateTime instanceof Date && _this.isValidDate(sDateTime)) { + return sDateTime; + } + + tmpDate = /^(\+|\-)(.*)$/.exec(sDateTime); + if (tmpDate) { + tmpDate[2] = Date.parseDate(tmpDate[2], options.formatDate); + } + if (tmpDate && tmpDate[2]) { + timeOffset = tmpDate[2].getTime() - (tmpDate[2].getTimezoneOffset()) * 60000; + currentTime = new Date((_this.now(true)).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset); + } else { + currentTime = sDateTime ? Date.parseDate(sDateTime, options.format) : _this.now(); + } + + if (!_this.isValidDate(currentTime)) { + currentTime = _this.now(); + } + + return currentTime; + }; + + _this.strToDate = function (sDate) { + if (sDate && sDate instanceof Date && _this.isValidDate(sDate)) { + return sDate; + } + + var currentTime = sDate ? Date.parseDate(sDate, options.formatDate) : _this.now(true); + if (!_this.isValidDate(currentTime)) { + currentTime = _this.now(true); + } + return currentTime; + }; + + _this.strtotime = function (sTime) { + if (sTime && sTime instanceof Date && _this.isValidDate(sTime)) { + return sTime; + } + var currentTime = sTime ? Date.parseDate(sTime, options.formatTime) : _this.now(true); + if (!_this.isValidDate(currentTime)) { + currentTime = _this.now(true); + } + return currentTime; + }; + + _this.str = function () { + return _this.currentTime.dateFormat(options.format); + }; + _this.currentTime = this.now(); + }; + + _xdsoft_datetime = new XDSoft_datetime(); + + applyButton.on('click', function (e) {//pathbrite + e.preventDefault(); + datetimepicker.data('changed', true); + _xdsoft_datetime.setCurrentTime(getCurrentValue()); + input.val(_xdsoft_datetime.str()); + datetimepicker.trigger('close.xdsoft'); + }); + mounth_picker + .find('.xdsoft_today_button') + .on('mousedown.xdsoft', function () { + datetimepicker.data('changed', true); + _xdsoft_datetime.setCurrentTime(0); + datetimepicker.trigger('afterOpen.xdsoft'); + }).on('dblclick.xdsoft', function () { + var currentDate = _xdsoft_datetime.getCurrentTime(), minDate, maxDate; + currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); + minDate = _xdsoft_datetime.strToDate(options.minDate); + minDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()); + if (currentDate < minDate) { + return; + } + maxDate = _xdsoft_datetime.strToDate(options.maxDate); + maxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate()); + if (currentDate > maxDate) { + return; + } + input.val(_xdsoft_datetime.str()); + input.trigger('change'); + datetimepicker.trigger('close.xdsoft'); + }); + mounth_picker + .find('.xdsoft_prev,.xdsoft_next') + .on('mousedown.xdsoft', function () { + var $this = $(this), + timer = 0, + stop = false; + + (function arguments_callee1(v) { + if ($this.hasClass(options.next)) { + _xdsoft_datetime.nextMonth(); + } else if ($this.hasClass(options.prev)) { + _xdsoft_datetime.prevMonth(); + } + if (options.monthChangeSpinner) { + if (!stop) { + timer = setTimeout(arguments_callee1, v || 100); + } + } + }(500)); + + $([document.body, window]).on('mouseup.xdsoft', function arguments_callee2() { + clearTimeout(timer); + stop = true; + $([document.body, window]).off('mouseup.xdsoft', arguments_callee2); + }); + }); + + timepicker + .find('.xdsoft_prev,.xdsoft_next') + .on('mousedown.xdsoft', function () { + var $this = $(this), + timer = 0, + stop = false, + period = 110; + (function arguments_callee4(v) { + var pheight = timeboxparent[0].clientHeight, + height = timebox[0].offsetHeight, + top = Math.abs(parseInt(timebox.css('marginTop'), 10)); + if ($this.hasClass(options.next) && (height - pheight) - options.timeHeightInTimePicker >= top) { + timebox.css('marginTop', '-' + (top + options.timeHeightInTimePicker) + 'px'); + } else if ($this.hasClass(options.prev) && top - options.timeHeightInTimePicker >= 0) { + timebox.css('marginTop', '-' + (top - options.timeHeightInTimePicker) + 'px'); + } + timeboxparent.trigger('scroll_element.xdsoft_scroller', [Math.abs(parseInt(timebox.css('marginTop'), 10) / (height - pheight))]); + period = (period > 10) ? 10 : period - 10; + if (!stop) { + timer = setTimeout(arguments_callee4, v || period); + } + }(500)); + $([document.body, window]).on('mouseup.xdsoft', function arguments_callee5() { + clearTimeout(timer); + stop = true; + $([document.body, window]) + .off('mouseup.xdsoft', arguments_callee5); + }); + }); + + xchangeTimer = 0; + // base handler - generating a calendar and timepicker + datetimepicker + .on('xchange.xdsoft', function (event) { + clearTimeout(xchangeTimer); + xchangeTimer = setTimeout(function () { + + if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) { + _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); + } + + var table = '', + start = new Date(_xdsoft_datetime.currentTime.getFullYear(), _xdsoft_datetime.currentTime.getMonth(), 1, 12, 0, 0), + i = 0, + j, + today = _xdsoft_datetime.now(), + maxDate = false, + minDate = false, + hDate, + day, + d, + y, + m, + w, + classes = [], + customDateSettings, + newRow = true, + time = '', + h = '', + line_time, + description; + + while (start.getDay() !== options.dayOfWeekStart) { + start.setDate(start.getDate() - 1); + } + + table += ''; + + if (options.weeks) { + table += ''; + } + + for (j = 0; j < 7; j += 1) { + table += ''; + } + + table += ''; + table += ''; + + if (options.maxDate !== false) { + maxDate = _xdsoft_datetime.strToDate(options.maxDate); + maxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate(), 23, 59, 59, 999); + } + + if (options.minDate !== false) { + minDate = _xdsoft_datetime.strToDate(options.minDate); + minDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()); + } + + while (i < _xdsoft_datetime.currentTime.countDaysInMonth() || start.getDay() !== options.dayOfWeekStart || _xdsoft_datetime.currentTime.getMonth() === start.getMonth()) { + classes = []; + i += 1; + + day = start.getDay(); + d = start.getDate(); + y = start.getFullYear(); + m = start.getMonth(); + w = _xdsoft_datetime.getWeekOfYear(start); + description = ''; + + classes.push('xdsoft_date'); + + if (options.beforeShowDay && $.isFunction(options.beforeShowDay.call)) { + customDateSettings = options.beforeShowDay.call(datetimepicker, start); + } else { + customDateSettings = null; + } + + if ((maxDate !== false && start > maxDate) || (minDate !== false && start < minDate) || (customDateSettings && customDateSettings[0] === false)) { + classes.push('xdsoft_disabled'); + } else if (options.disabledDates.indexOf(start.dateFormat(options.formatDate)) !== -1) { + classes.push('xdsoft_disabled'); + } else if (options.disabledWeekDays.indexOf(day) !== -1) { + classes.push('xdsoft_disabled'); + } + + if (customDateSettings && customDateSettings[1] !== "") { + classes.push(customDateSettings[1]); + } + + if (_xdsoft_datetime.currentTime.getMonth() !== m) { + classes.push('xdsoft_other_month'); + } + + if ((options.defaultSelect || datetimepicker.data('changed')) && _xdsoft_datetime.currentTime.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) { + classes.push('xdsoft_current'); + } + + if (today.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) { + classes.push('xdsoft_today'); + } + + if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(start.dateFormat(options.formatDate)) !== -1) { + classes.push('xdsoft_weekend'); + } + + if (options.highlightedDates[start.dateFormat(options.formatDate)] !== undefined) { + hDate = options.highlightedDates[start.dateFormat(options.formatDate)]; + classes.push(hDate.style === undefined ? 'xdsoft_highlighted_default' : hDate.style); + description = hDate.desc === undefined ? '' : hDate.desc; + } + + if (options.beforeShowDay && $.isFunction(options.beforeShowDay)) { + classes.push(options.beforeShowDay(start)); + } + + if (newRow) { + table += ''; + newRow = false; + if (options.weeks) { + table += ''; + } + } + + table += ''; + + if (start.getDay() === options.dayOfWeekStartPrev) { + table += ''; + newRow = true; + } + + start.setDate(d + 1); + } + table += '
' + options.i18n[globalLocale].dayOfWeekShort[(j + options.dayOfWeekStart) % 7] + '
' + w + '' + + '
' + d + '
' + + '
'; + + calendar.html(table); + + mounth_picker.find('.xdsoft_label span').eq(0).text(options.i18n[globalLocale].months[_xdsoft_datetime.currentTime.getMonth()]); + mounth_picker.find('.xdsoft_label span').eq(1).text(_xdsoft_datetime.currentTime.getFullYear()); + + // generate timebox + time = ''; + h = ''; + m = ''; + + line_time = function line_time(h, m) { + var now = _xdsoft_datetime.now(), optionDateTime, current_time, + isALlowTimesInit = options.allowTimes && $.isArray(options.allowTimes) && options.allowTimes.length; + now.setHours(h); + h = parseInt(now.getHours(), 10); + now.setMinutes(m); + m = parseInt(now.getMinutes(), 10); + optionDateTime = new Date(_xdsoft_datetime.currentTime); + optionDateTime.setHours(h); + optionDateTime.setMinutes(m); + classes = []; + if ((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())) { + classes.push('xdsoft_disabled'); + } + if ((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()))) { + classes.push('xdsoft_disabled'); + } + + current_time = new Date(_xdsoft_datetime.currentTime); + current_time.setHours(parseInt(_xdsoft_datetime.currentTime.getHours(), 10)); + + if (!isALlowTimesInit) { + current_time.setMinutes(Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step); + } + + if ((options.initTime || options.defaultSelect || datetimepicker.data('changed')) && current_time.getHours() === parseInt(h, 10) && ((!isALlowTimesInit && options.step > 59) || current_time.getMinutes() === parseInt(m, 10))) { + if (options.defaultSelect || datetimepicker.data('changed')) { + classes.push('xdsoft_current'); + } else if (options.initTime) { + classes.push('xdsoft_init_time'); + } + } + if (parseInt(today.getHours(), 10) === parseInt(h, 10) && parseInt(today.getMinutes(), 10) === parseInt(m, 10)) { + classes.push('xdsoft_today'); + } + time += '
' + now.dateFormat(options.formatTime) + '
'; + }; + + if (!options.allowTimes || !$.isArray(options.allowTimes) || !options.allowTimes.length) { + for (i = 0, j = 0; i < (options.hours12 ? 12 : 24); i += 1) { + for (j = 0; j < 60; j += options.step) { + h = (i < 10 ? '0' : '') + i; + m = (j < 10 ? '0' : '') + j; + line_time(h, m); + } + } + } else { + for (i = 0; i < options.allowTimes.length; i += 1) { + h = _xdsoft_datetime.strtotime(options.allowTimes[i]).getHours(); + m = _xdsoft_datetime.strtotime(options.allowTimes[i]).getMinutes(); + line_time(h, m); + } + } + + timebox.html(time); + + opt = ''; + i = 0; + + for (i = parseInt(options.yearStart, 10) + options.yearOffset; i <= parseInt(options.yearEnd, 10) + options.yearOffset; i += 1) { + opt += '
' + i + '
'; + } + yearselect.children().eq(0) + .html(opt); + + for (i = parseInt(options.monthStart, 10), opt = ''; i <= parseInt(options.monthEnd, 10); i += 1) { + opt += '
' + options.i18n[globalLocale].months[i] + '
'; + } + monthselect.children().eq(0).html(opt); + $(datetimepicker) + .trigger('generate.xdsoft'); + }, 10); + event.stopPropagation(); + }) + .on('afterOpen.xdsoft', function () { + if (options.timepicker) { + var classType, pheight, height, top; + if (timebox.find('.xdsoft_current').length) { + classType = '.xdsoft_current'; + } else if (timebox.find('.xdsoft_init_time').length) { + classType = '.xdsoft_init_time'; + } + if (classType) { + pheight = timeboxparent[0].clientHeight; + height = timebox[0].offsetHeight; + top = timebox.find(classType).index() * options.timeHeightInTimePicker + 1; + if ((height - pheight) < top) { + top = height - pheight; + } + timeboxparent.trigger('scroll_element.xdsoft_scroller', [parseInt(top, 10) / (height - pheight)]); + } else { + timeboxparent.trigger('scroll_element.xdsoft_scroller', [0]); + } + } + }); + + timerclick = 0; + calendar + .on('click.xdsoft', 'td', function (xdevent) { + xdevent.stopPropagation(); // Prevents closing of Pop-ups, Modals and Flyouts in Bootstrap + timerclick += 1; + var $this = $(this), + currentTime = _xdsoft_datetime.currentTime; + + if (currentTime === undefined || currentTime === null) { + _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); + currentTime = _xdsoft_datetime.currentTime; + } + + if ($this.hasClass('xdsoft_disabled')) { + return false; + } + + currentTime.setDate(1); + currentTime.setFullYear($this.data('year')); + currentTime.setMonth($this.data('month')); + currentTime.setDate($this.data('date')); + + datetimepicker.trigger('select.xdsoft', [currentTime]); + + input.val(_xdsoft_datetime.str()); + + if (options.onSelectDate && $.isFunction(options.onSelectDate)) { + options.onSelectDate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent); + } + + datetimepicker.data('changed', true); + datetimepicker.trigger('xchange.xdsoft'); + datetimepicker.trigger('changedatetime.xdsoft'); + if ((timerclick > 1 || (options.closeOnDateSelect === true || (options.closeOnDateSelect === false && !options.timepicker))) && !options.inline) { + datetimepicker.trigger('close.xdsoft'); + } + setTimeout(function () { + timerclick = 0; + }, 200); + }); + + timebox + .on('click.xdsoft', 'div', function (xdevent) { + xdevent.stopPropagation(); + var $this = $(this), + currentTime = _xdsoft_datetime.currentTime; + + if (currentTime === undefined || currentTime === null) { + _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); + currentTime = _xdsoft_datetime.currentTime; + } + + if ($this.hasClass('xdsoft_disabled')) { + return false; + } + currentTime.setHours($this.data('hour')); + currentTime.setMinutes($this.data('minute')); + datetimepicker.trigger('select.xdsoft', [currentTime]); + + datetimepicker.data('input').val(_xdsoft_datetime.str()); + + if (options.onSelectTime && $.isFunction(options.onSelectTime)) { + options.onSelectTime.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent); + } + datetimepicker.data('changed', true); + datetimepicker.trigger('xchange.xdsoft'); + datetimepicker.trigger('changedatetime.xdsoft'); + if (options.inline !== true && options.closeOnTimeSelect === true) { + datetimepicker.trigger('close.xdsoft'); + } + }); + + + datepicker + .on('mousewheel.xdsoft', function (event) { + if (!options.scrollMonth) { + return true; + } + if (event.deltaY < 0) { + _xdsoft_datetime.nextMonth(); + } else { + _xdsoft_datetime.prevMonth(); + } + return false; + }); + + input + .on('mousewheel.xdsoft', function (event) { + if (!options.scrollInput) { + return true; + } + if (!options.datepicker && options.timepicker) { + current_time_index = timebox.find('.xdsoft_current').length ? timebox.find('.xdsoft_current').eq(0).index() : 0; + if (current_time_index + event.deltaY >= 0 && current_time_index + event.deltaY < timebox.children().length) { + current_time_index += event.deltaY; + } + if (timebox.children().eq(current_time_index).length) { + timebox.children().eq(current_time_index).trigger('mousedown'); + } + return false; + } + if (options.datepicker && !options.timepicker) { + datepicker.trigger(event, [event.deltaY, event.deltaX, event.deltaY]); + if (input.val) { + input.val(_xdsoft_datetime.str()); + } + datetimepicker.trigger('changedatetime.xdsoft'); + return false; + } + }); + + datetimepicker + .on('changedatetime.xdsoft', function (event) { + if (options.onChangeDateTime && $.isFunction(options.onChangeDateTime)) { + var $input = datetimepicker.data('input'); + options.onChangeDateTime.call(datetimepicker, _xdsoft_datetime.currentTime, $input, event); + delete options.value; + $input.trigger('change'); + } + }) + .on('generate.xdsoft', function () { + if (options.onGenerate && $.isFunction(options.onGenerate)) { + options.onGenerate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + if (triggerAfterOpen) { + datetimepicker.trigger('afterOpen.xdsoft'); + triggerAfterOpen = false; + } + }) + .on('click.xdsoft', function (xdevent) { + xdevent.stopPropagation(); + }); + + current_time_index = 0; + + setPos = function () { + var offset = datetimepicker.data('input').offset(), top = offset.top + datetimepicker.data('input')[0].offsetHeight - 1, left = offset.left, position = "absolute", node; + if (datetimepicker.data('input').parent().css('direction') == 'rtl') + left -= (datetimepicker.outerWidth() - datetimepicker.data('input').outerWidth()); + if (options.fixed) { + top -= $(window).scrollTop(); + left -= $(window).scrollLeft(); + position = "fixed"; + } else { + if (top + datetimepicker[0].offsetHeight > $(window).height() + $(window).scrollTop()) { + top = offset.top - datetimepicker[0].offsetHeight + 1; + } + if (top < 0) { + top = 0; + } + if (left + datetimepicker[0].offsetWidth > $(window).width()) { + left = $(window).width() - datetimepicker[0].offsetWidth; + } + } + + node = datetimepicker[0]; + do { + node = node.parentNode; + if (window.getComputedStyle(node).getPropertyValue('position') === 'relative' && $(window).width() >= node.offsetWidth) { + left = left - (($(window).width() - node.offsetWidth) / 2); + break; + } + } while (node.nodeName !== 'HTML'); + datetimepicker.css({ + left: left, + top: top, + position: position + }); + }; + datetimepicker + .on('open.xdsoft', function (event) { + var onShow = true; + if (options.onShow && $.isFunction(options.onShow)) { + onShow = options.onShow.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event); + } + if (onShow !== false) { + datetimepicker.show(); + setPos(); + $(window) + .off('resize.xdsoft', setPos) + .on('resize.xdsoft', setPos); + + if (options.closeOnWithoutClick) { + $([document.body, window]).on('mousedown.xdsoft', function arguments_callee6() { + datetimepicker.trigger('close.xdsoft'); + $([document.body, window]).off('mousedown.xdsoft', arguments_callee6); + }); + } + } + }) + .on('close.xdsoft', function (event) { + var onClose = true; + mounth_picker + .find('.xdsoft_month,.xdsoft_year') + .find('.xdsoft_select') + .hide(); + if (options.onClose && $.isFunction(options.onClose)) { + onClose = options.onClose.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event); + } + if (onClose !== false && !options.opened && !options.inline) { + datetimepicker.hide(); + } + event.stopPropagation(); + }) + .on('toggle.xdsoft', function (event) { + if (datetimepicker.is(':visible')) { + datetimepicker.trigger('close.xdsoft'); + } else { + datetimepicker.trigger('open.xdsoft'); + } + }) + .data('input', input); + + timer = 0; + timer1 = 0; + + datetimepicker.data('xdsoft_datetime', _xdsoft_datetime); + datetimepicker.setOptions(options); + + function getCurrentValue() { + var ct = false, time; + + if (options.startDate) { + ct = _xdsoft_datetime.strToDate(options.startDate); + } else { + ct = options.value || ((input && input.val && input.val()) ? input.val() : ''); + if (ct) { + ct = _xdsoft_datetime.strToDateTime(ct); + } else if (options.defaultDate) { + ct = _xdsoft_datetime.strToDateTime(options.defaultDate); + if (options.defaultTime) { + time = _xdsoft_datetime.strtotime(options.defaultTime); + ct.setHours(time.getHours()); + ct.setMinutes(time.getMinutes()); + } + } + } + + if (ct && _xdsoft_datetime.isValidDate(ct)) { + datetimepicker.data('changed', true); + } else { + ct = ''; + } + + return ct || 0; + } + + _xdsoft_datetime.setCurrentTime(getCurrentValue()); + + input + .data('xdsoft_datetimepicker', datetimepicker) + .on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function (event) { + if (input.is(':disabled') || (input.data('xdsoft_datetimepicker').is(':visible') && options.closeOnInputClick)) { + return; + } + clearTimeout(timer); + timer = setTimeout(function () { + if (input.is(':disabled')) { + return; + } + + triggerAfterOpen = true; + _xdsoft_datetime.setCurrentTime(getCurrentValue()); + + datetimepicker.trigger('open.xdsoft'); + }, 100); + }) + .on('keydown.xdsoft', function (event) { + var val = this.value, elementSelector, + key = event.which; + if ([ENTER].indexOf(key) !== -1 && options.enterLikeTab) { + elementSelector = $("input:visible,textarea:visible"); + datetimepicker.trigger('close.xdsoft'); + elementSelector.eq(elementSelector.index(this) + 1).focus(); + return false; + } + if ([TAB].indexOf(key) !== -1) { + datetimepicker.trigger('close.xdsoft'); + return true; + } + }); + }; + destroyDateTimePicker = function (input) { + var datetimepicker = input.data('xdsoft_datetimepicker'); + if (datetimepicker) { + datetimepicker.data('xdsoft_datetime', null); + datetimepicker.remove(); + input + .data('xdsoft_datetimepicker', null) + .off('.xdsoft'); + $(window).off('resize.xdsoft'); + $([window, document.body]).off('mousedown.xdsoft'); + if (input.unmousewheel) { + input.unmousewheel(); + } + } + }; + $(document) + .off('keydown.xdsoftctrl keyup.xdsoftctrl') + .on('keydown.xdsoftctrl', function (e) { + if (e.keyCode === CTRLKEY) { + ctrlDown = true; + } + }) + .on('keyup.xdsoftctrl', function (e) { + if (e.keyCode === CTRLKEY) { + ctrlDown = false; + } + }); + return this.each(function () { + var datetimepicker = $(this).data('xdsoft_datetimepicker'), $input; + if (datetimepicker) { + if ($.type(opt) === 'string') { + switch (opt) { + case 'show': + $(this).select().focus(); + datetimepicker.trigger('open.xdsoft'); + break; + case 'hide': + datetimepicker.trigger('close.xdsoft'); + break; + case 'toggle': + datetimepicker.trigger('toggle.xdsoft'); + break; + case 'destroy': + destroyDateTimePicker($(this)); + break; + case 'reset': + this.value = this.defaultValue; + if (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(Date.parseDate(this.value, options.format))) { + datetimepicker.data('changed', false); + } + datetimepicker.data('xdsoft_datetime').setCurrentTime(this.value); + break; + case 'validate': + $input = datetimepicker.data('input'); + $input.trigger('blur.xdsoft'); + break; + } + } else { + datetimepicker + .setOptions(opt); + } + return 0; + } + if ($.type(opt) !== 'string') { + if (!options.lazyInit || options.open || options.inline) { + createDateTimePicker($(this)); + } else { + lazyInit($(this)); + } + } + }); + }; + $.fn.datetimepicker.defaults = default_options; + + function HighlightedDate(date, desc, style) { + "use strict"; + this.date = date; + this.desc = desc; + this.style = style; + } + +})); +/*! + * jQuery Mousewheel 3.1.13 + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + */ + +(function (factory) { + if ( typeof define === 'function' && define.amd ) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: '3.1.12', + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = handler; + } + // Store the line height and page height for this particular element + $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); + $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = null; + } + // Clean up the data we added to the element + $.removeData(this, 'mousewheel-line-height'); + $.removeData(this, 'mousewheel-page-height'); + }, + + getLineHeight: function(elem) { + var $elem = $(elem), + $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); + if (!$parent.length) { + $parent = $('body'); + } + return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; + }, + + getPageHeight: function(elem) { + return $(elem).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event + } + }; + + $.fn.extend({ + mousewheel: function(fn) { + return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); + }, + + unmousewheel: function(fn) { + return this.unbind('mousewheel', fn); + } + }); + + + function handler(event) { + var orgEvent = event || window.event, + args = slice.call(arguments, 1), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0, + offsetX = 0, + offsetY = 0; + event = $.event.fix(orgEvent); + event.type = 'mousewheel'; + + // Old school scrollwheel delta + if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } + if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } + if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } + if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( 'deltaY' in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( 'deltaX' in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { delta = deltaX * -1; } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { return; } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data(this, 'mousewheel-line-height'); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data(this, 'mousewheel-page-height'); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + offsetX = event.clientX - boundingRect.left; + offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + event.offsetX = offsetX; + event.offsetY = offsetY; + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift(event, delta, deltaX, deltaY); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } + nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); + + return ($.event.dispatch || $.event.handle).apply(this, args); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas(orgEvent, absDelta) { + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; + } + +})); +/* + * Copyright (C) 2004 Baron Schwartz + * Modified by Jonathan Gotti aka malko + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, version 2.1. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ +/* jshint laxbreak:true*/ +!(function (factory) { + if ( typeof define === 'function' && define.amd ) { + define([], factory); + } else if (typeof exports === 'object') { + module.exports = factory; + } else { + factory(); + } +}(function(){ + "use strict"; + var parseFunctions = {}; + var parseRegexes = []; + var formatFunctions = {}; + var charFormatters = { + d: function(date) { return stringLeftPad(date.getDate(), 2, '0'); }, + D: function(date) { return Date.dayNames[date.getDay()].substring(0, 3); }, + j: function(date) { return date.getDate(); }, + l: function(date) { return Date.dayNames[date.getDay()]; }, + S: function(date) { return date.getSuffix(); }, + w: function(date) { return date.getDay(); }, + z: function(date) { return date.getDayOfYear(); }, + W: function(date) { return date.getWeekOfYear(); }, + F: function(date) { return Date.monthNames[date.getMonth()]; }, + m: function(date) { return stringLeftPad(date.getMonth() + 1, 2, '0'); }, + M: function(date) { return Date.monthNames[date.getMonth()].substring(0, 3); }, + n: function(date) { return (date.getMonth() + 1); }, + t: function(date) { return date.getDaysInMonth(); }, + L: function(date) { return (date.isLeapYear() ? 1 : 0); }, + Y: function(date) { return date.getFullYear(); }, + y: function(date) { return ('' + date.getFullYear()).substring(2, 4); }, + a: function(date) { return (date.getHours() < 12 ? 'am' : 'pm'); }, + A: function(date) { return (date.getHours() < 12 ? 'AM' : 'PM'); }, + g: function(date) { return ((date.getHours() %12) ? date.getHours() % 12 : 12); }, + G: function(date) { return date.getHours(); }, + h: function(date) { return stringLeftPad((date.getHours() %12) ? date.getHours() % 12 : 12, 2, '0'); }, + H: function(date) { return stringLeftPad(date.getHours(), 2, '0'); }, + i: function(date) { return stringLeftPad(date.getMinutes(), 2, '0'); }, + s: function(date) { return stringLeftPad(date.getSeconds(), 2, '0'); }, + O: function(date) { return date.getGMTOffset(); }, + T: function(date) { return date.getTimezone(); }, + Z: function(date) { return (date.getTimezoneOffset() * -60); } + }; + + Date.prototype.dateFormat = function(format) { + formatFunctions[format] || createNewFormat(format); + return formatFunctions[format](this); + }; + + function createNewFormat(format) { + var formatters = []; + var special = false; + var ch = ''; + for (var i = 0; i < format.length; ++i) { + ch = format.charAt(i); + if (!special && ch === "\\") { + special = true; + } else if (special) { + special = false; + formatters.push(stringEscape(ch)); + } else { + formatters.push(charFormatters[ch] || stringEscape(ch)); + } + } + formatFunctions[format] = getFormatter(formatters); + } + + function getFormatter(formatters) { + return function(date) { + var res = []; + for (var i=0, l=formatters.length; i < l; i++) { + res.push(typeof formatters[i] === 'string' ? formatters[i] : formatters[i](date)); + } + return res.join(''); + }; + } + + Date.parseDate = function(input, format) { + parseFunctions[format] || createParser(format); + return parseFunctions[format](input); + }; + + function getParser(format, regexNum, assigns) { + return function(input){ + var d = new Date(); + var results = input.match(parseRegexes[regexNum]); + if (results && results.length > 0) { + results.y = d.getFullYear(); + results.m = d.getMonth(); + results.d = d.getDate(); + results.h = -1; + results.i = -1; + results.s = -1; + for ( var i = 0, l = assigns.length; i < l; i++) { + assigns[i](results); + } + if (results.y > 0 && results.m >= 0 && results.d > 0 && results.h >= 0 && results.i >= 0 && results.s >= 0){ + return new Date(results.y, results.m, results.d, results.h, results.i, results.s); + } else if (results.y > 0 && results.m >= 0 && results.d > 0 && results.h >= 0 && results.i >= 0) { + return new Date(results.y, results.m, results.d, results.h, results.i); + } else if (results.y > 0 && results.m >= 0 && results.d > 0 && results.h >= 0) { + return new Date(results.y, results.m, results.d, results.h); + } else if (results.y > 0 && results.m >= 0 && results.d > 0) { + return new Date(results.y, results.m, results.d); + } else if (results.y > 0 && results.m >= 0) { + return new Date(results.y, results.m); + } else if (results.y > 0) { + return new Date(results.y); + } + } + return null; + }; + } + + function createParser(format) { + var regexNum = parseRegexes.length; + var currentGroup = 1; + var regex = ""; + var special = false; + var ch = ''; + var assigns=[]; + var obj; + for (var i = 0; i < format.length; ++i) { + ch = format.charAt(i); + if (!special && ch === "\\") { + special = true; + } else if (special) { + special = false; + regex += stringEscape(ch); + } else { + obj = formatCodeToRegex(ch, currentGroup); + currentGroup += obj.g; + regex += obj.s; + if (obj.g && obj.a) { + assigns.push(obj.a); + } + } + } + + parseRegexes[regexNum] = new RegExp("^" + regex + "$"); + parseFunctions[format] = getParser(format, regexNum, assigns); + } + + function formatCodeToRegex(character, currentGroup) { + switch (character) { + case "D": + return {g:0, + s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"}; + case "j": + case "d": + return {g:1, + a: function(results){ results.d = parseInt(results[currentGroup], 10);}, + s:"(\\d{1,2})" + }; + case "l": + return {g:0, + s:"(?:" + Date.dayNames.join("|") + ")"}; + case "S": + return {g:0, + s:"(?:st|nd|rd|th)"}; + case "w": + return {g:0, + s:"\\d"}; + case "z": + return {g:0, + s:"(?:\\d{1,3})"}; + case "W": + return {g:0, + s:"(?:\\d{2})"}; + case "F": + return {g:1, + a: function(results) { results.m = parseInt(Date.monthNumbers[results[currentGroup].substring(0, 3)], 10);}, + s:"(" + Date.monthNames.join("|") + ")"}; + case "M": + return {g:1, + a: function(results) { results.m = parseInt(Date.monthNumbers[results[currentGroup]], 10);}, + s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"}; + case "n": + case "m": + return {g:1, + a: function(results) { results.m = parseInt(results[currentGroup], 10) - 1;}, + s:"(\\d{1,2})"}; + case "t": + return {g:0, + s:"\\d{1,2}"}; + case "L": + return {g:0, + s:"(?:1|0)"}; + case "Y": + return {g:1, + a: function(results) { results.y = parseInt(results[currentGroup], 10);}, + s:"(\\d{4})"}; + case "y": + return {g:1, + a: function(results) { + var ty = parseInt(results[currentGroup], 10); + results.y = ty > Date.y2kYear ? 1900 + ty : 2000 + ty; + }, + s:"(\\d{1,2})"}; + case "a": + return {g:1, + a: function(results) { + if (results[currentGroup] === 'am') { + if (results.h == 12) { results.h = 0; } + } else { + if (results.h < 12) { results.h += 12; } + } + }, + s:"(am|pm)"}; + case "A": + return {g:1, + a: function(results){ + if (results[currentGroup] === 'AM') { + if (results.h == 12) { results.h = 0; } + } else { + if (results.h < 12) { results.h += 12; } + } + }, + s:"(AM|PM)"}; + case "g": + case "G": + case "h": + case "H": + return {g:1, + a: function(results) {results.h = parseInt(results[currentGroup], 10);}, + s:"(\\d{1,2})"}; + case "i": + return {g:1, + a: function(results) {results.i = parseInt(results[currentGroup], 10);}, + s:"(\\d{2})"}; + case "s": + return {g:1, + a: function(results) {results.s = parseInt(results[currentGroup], 10);}, + s:"(\\d{2})"}; + case "O": + return {g:0, + s:"[+-]\\d{4}"}; + case "T": + return {g:0, + s:"[A-Z]{3}"}; + case "Z": + return {g:0, + s:"[+-]\\d{1,5}"}; + default: + return {g:0, + s:stringEscape(character)}; + } + } + + Date.prototype.getTimezone = function() { + return this.toString().replace( + /^.*? ([A-Z]{3}) [0-9]{4}.*$/, "$1").replace( + /^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/, "$1$2$3"); + }; + + Date.prototype.getGMTOffset = function() { + return (this.getTimezoneOffset() > 0 ? "-" : "+") + + stringLeftPad(Math.floor(this.getTimezoneOffset() / 60), 2, "0") + + stringLeftPad(this.getTimezoneOffset() % 60, 2, "0"); + }; + + Date.prototype.getDayOfYear = function() { + var num = 0; + Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28; + for (var i = 0; i < this.getMonth(); ++i) { + num += Date.daysInMonth[i]; + } + return num + this.getDate() - 1; + }; + + Date.prototype.getWeekOfYear = function() { + // Skip to Thursday of this week + var now = this.getDayOfYear() + (4 - this.getDay()); + // Find the first Thursday of the year + var jan1 = new Date(this.getFullYear(), 0, 1); + var then = (7 - jan1.getDay() + 4); + return stringLeftPad(((now - then) / 7) + 1, 2, "0"); + }; + + Date.prototype.isLeapYear = function() { + var year = this.getFullYear(); + return !!((year & 3) === 0 && (year % 100 || (year % 400 === 0 && year))); + }; + + Date.prototype.getFirstDayOfMonth = function() { + var day = (this.getDay() - (this.getDate() - 1)) % 7; + return (day < 0) ? (day + 7) : day; + }; + + Date.prototype.getLastDayOfMonth = function() { + var day = (this.getDay() + (Date.daysInMonth[this.getMonth()] - this.getDate())) % 7; + return (day < 0) ? (day + 7) : day; + }; + + Date.prototype.getDaysInMonth = function() { + Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28; + return Date.daysInMonth[this.getMonth()]; + }; + + Date.prototype.getSuffix = function() { + switch (this.getDate()) { + case 1: + case 21: + case 31: + return "st"; + case 2: + case 22: + return "nd"; + case 3: + case 23: + return "rd"; + default: + return "th"; + } + }; + + function stringEscape(string) { + return string.replace(/('|\\)/g, "\\$1"); + } + + function stringLeftPad(val, size, ch) { + var result = "" + val; + ch = ("" + ch) || " "; + while (result.length < size) { + result = ch + result; + } + return result; + } + + Date.daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31]; + Date.monthNames = + ["January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December"]; + Date.dayNames = + ["Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday"]; + Date.y2kYear = 50; + Date.monthNumbers = { + Jan:0, + Feb:1, + Mar:2, + Apr:3, + May:4, + Jun:5, + Jul:6, + Aug:7, + Sep:8, + Oct:9, + Nov:10, + Dec:11}; + Date.patterns = { + ISO8601LongPattern:"Y-m-d H:i:s", + ISO8601ShortPattern:"Y-m-d", + ShortDatePattern: "n/j/Y", + LongDatePattern: "l, F d, Y", + FullDateTimePattern: "l, F d, Y g:i:s A", + MonthDayPattern: "F d", + ShortTimePattern: "g:i A", + LongTimePattern: "g:i:s A", + SortableDateTimePattern: "Y-m-d\\TH:i:s", + UniversalSortableDateTimePattern: "Y-m-d H:i:sO", + YearMonthPattern: "F, Y"}; +})); diff --git a/jquery.js b/jquery.js new file mode 100644 index 0000000..da41706 --- /dev/null +++ b/jquery.js @@ -0,0 +1,6 @@ +/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery-1.10.2.min.map +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
t
",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("