You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1245 lines
48 KiB
1245 lines
48 KiB
jQuery.easing._dd_easing = function(x, t, b, c, d) { |
|
return -c * ((t = t / d - 1) * t * t * t - 1) + b; |
|
}; |
|
|
|
(function($) { |
|
$.fn.dateDropper = function(options) { |
|
return $(this).each(function() { |
|
if ($(this).is('input') && $(this).attr('type') == "text") { |
|
|
|
var |
|
t_y_cur = new Date().getFullYear(), |
|
t_d_cur = new Date().getDate(), |
|
t_m_cur = new Date().getMonth(); |
|
|
|
var |
|
_dd_m, |
|
_dd_d, |
|
_dd_y, |
|
_dd_sub_y; |
|
|
|
var |
|
_dd_id = $('.dd-w').length; |
|
|
|
var _structure = '<div class="dd-w dd-init" id="dd-w-' + _dd_id + '"><div class="dd-o"></div><div class="dd-c"><div class="dd-w-c"><div class="dd-b dd-m"><div class="dd-ul"><a class="dd-n dd-n-left"><i class="dd-icon-left" ></i></a><a class="dd-n dd-n-right"><i class="dd-icon-right" ></i></a><ul></ul></div></div><div class="dd-b dd-d"><div class="dd-ul"><a class="dd-n dd-n-left"><i class="dd-icon-left" ></i></a><a class="dd-n dd-n-right"><i class="dd-icon-right" ></i></a><ul></ul></div></div><div class="dd-b dd-y"><div class="dd-ul"><a class="dd-n dd-n-left"><i class="dd-icon-left" ></i></a><a class="dd-n dd-n-right"><i class="dd-icon-right" ></i></a><ul></ul></div></div><div class="dd-s-b dd-s-b-m dd-trans"><div class="dd-s-b-ul"><ul></ul></div></div><div class="dd-s-b dd-s-b-d dd-trans"><div class="dd-s-b-ul"><ul></ul></div></div><div class="dd-s-b dd-s-b-y dd-trans"><div class="dd-s-b-ul"><ul></ul></div></div><div class="dd-s-b dd-s-b-s-y dd-trans"><div class="dd-s-b-ul"><ul></ul></div></div><div class="dd-s-b-s"><i class="dd-icon-close" ></i></div><div class="dd-b dd-sub-y"><div class="dd-ul"><a class="dd-n dd-n-left"><i class="dd-icon-left" ></i></a><a class="dd-n dd-n-right"><i class="dd-icon-right" ></i></a><ul></ul></div></div><div class="dd-s"><a><i class="dd-icon-check" ></i></a></div></div></div></div>'; |
|
|
|
$('body').append(_structure); |
|
|
|
var |
|
_dd_input = $(this), |
|
_dd = $('#dd-w-' + _dd_id), |
|
_dd_isB = function(y) { |
|
return !((y % 4) || (!(y % 100) && (y % 400))) |
|
}, |
|
_dd_0 = function(n) { |
|
return n < 10 ? '0' + n : n |
|
}, |
|
_dd_settings = $.extend({ |
|
|
|
animate: true, |
|
init_animation: "fadein", |
|
format: "m/d/Y", |
|
lang: "en", |
|
lock: false, |
|
maxYear: t_y_cur, |
|
minYear: 1970, |
|
yearsRange: 10, |
|
|
|
//CSS PRIOPRIETIES// |
|
dropPrimaryColor: "#01CEFF", |
|
dropTextColor: "#333333", |
|
dropBackgroundColor: "#FFFFFF", |
|
dropBorder: "1px solid #08C", |
|
dropBorderRadius: 8, |
|
dropShadow: "0 0 10px 0 rgba(0, 136, 204, 0.45)", |
|
dropWidth: 124, |
|
dropTextWeight: 'bold' |
|
|
|
}, options), |
|
_dd_event = null, |
|
_dd_init_state = false, |
|
_dd_buffer = false; |
|
|
|
var _dd_color = function (col, amt) { |
|
|
|
var usePound = false; |
|
|
|
if (col[0] == "#") { |
|
col = col.slice(1); |
|
usePound = true; |
|
} |
|
|
|
var num = parseInt(col,16); |
|
|
|
var r = (num >> 16) + amt; |
|
|
|
if (r > 255) r = 255; |
|
else if (r < 0) r = 0; |
|
|
|
var b = ((num >> 8) & 0x00FF) + amt; |
|
|
|
if (b > 255) b = 255; |
|
else if (b < 0) b = 0; |
|
|
|
var g = (num & 0x0000FF) + amt; |
|
|
|
if (g > 255) g = 255; |
|
else if (g < 0) g = 0; |
|
|
|
return (usePound?"#":"") + (g | (b << 8) | (r << 16)).toString(16); |
|
|
|
}; |
|
|
|
var _dd_c_invert = function (hexTripletColor) { |
|
var color = hexTripletColor; |
|
color = color.substring(1); // remove # |
|
color = parseInt(color, 16); // convert to integer |
|
color = 0xFFFFFF ^ color; // invert three bytes |
|
color = color.toString(16); // convert to hex |
|
color = ("000000" + color).slice(-6); // pad with leading zeros |
|
color = "#" + color; // prepend # |
|
return color; |
|
} |
|
|
|
|
|
$('<style>#dd-w-' + _dd_id + ' { font-weight: ' + _dd_settings.dropTextWeight + '; } #dd-w-' + _dd_id + ' .dd-w-c,#dd-w-' + _dd_id + ' .dd-ul li,#dd-w-' + _dd_id + ' .dd-s-b-ul ul { width:' + _dd_settings.dropWidth + 'px; } #dd-w-' + _dd_id + ' .dd-w-c{color:' + _dd_settings.dropTextColor + ';background:' + _dd_settings.dropBackgroundColor + ';border:' + _dd_settings.dropBorder + ';box-shadow:' + _dd_settings.dropShadow + ';border-radius:' + _dd_settings.dropBorderRadius + 'px}#dd-w-' + _dd_id + ' .dd-w-c,#dd-w-' + _dd_id + ' .dd-s-b{background:' + _dd_settings.dropBackgroundColor + '}#dd-w-' + _dd_id + ' .dd-sun,#dd-w-' + _dd_id + ' .dd-s-b-ul li.dd-on{color:' + _dd_settings.dropPrimaryColor + '}#dd-w-' + _dd_id + ' .dd-c .dd-s,#dd-w-' + _dd_id + ' .dd-s-b-s,#dd-w-' + _dd_id + ' .dd-s-b-sub-y,#dd-w-' + _dd_id + ' .dd-sub-y{background:' + _dd_settings.dropPrimaryColor + ';color:' + _dd_settings.dropBackgroundColor + '}#dd-w-' + _dd_id + ' .dd-c .dd-s a,#dd-w-' + _dd_id + ' .dd-c .dd-s a:hover{color:' + _dd_settings.dropBackgroundColor + '}#dd-w-' + _dd_id + ' .dd-c:after{border-left:' + _dd_settings.dropBorder + ';border-top:' + _dd_settings.dropBorder + '}#dd-w-' + _dd_id + '.dd-bottom .dd-c:after{background:' + _dd_settings.dropBackgroundColor + '}#dd-w-' + _dd_id + '.dd-top .dd-c:after{background:' + _dd_settings.dropPrimaryColor + '}#dd-w-' + _dd_id + ' .dd-n,#dd-w-' + _dd_id + ' .dd-sun{color:' + _dd_settings.dropPrimaryColor + '}#dd-w-' + _dd_id + ' .dd-sub-y .dd-n{color:' + _dd_settings.dropBackgroundColor + '} #dd-w-' + _dd_id + ' .dd-c .dd-s:hover,#dd-w-' + _dd_id + ' .dd-s-b-s:hover { background:' + _dd_color(_dd_settings.dropPrimaryColor,-20) + '; }</style>').appendTo('head'); |
|
|
|
switch (_dd_settings.lang) { |
|
|
|
//Arabic |
|
case 'ar': |
|
var mn = [ |
|
"جانفي", |
|
"فيفري", |
|
"مارس", |
|
"أفريل", |
|
"ماي", |
|
"جوان", |
|
"جويلية", |
|
"أوت", |
|
"سبتمبر", |
|
"أكتوبر", |
|
"نوفمبر", |
|
"ديسمبر" |
|
]; |
|
var dn = [ |
|
'الأحد', |
|
'الإثنين', |
|
'الثلثاء', |
|
'الأربعاء', |
|
'الخميس', |
|
'الجمعة', |
|
'السبت' |
|
]; |
|
break; |
|
//italian |
|
case 'it': |
|
var mn = [ |
|
"Gennaio", |
|
"Febbraio", |
|
"Marzo", |
|
"Aprile", |
|
"Maggio", |
|
"Giugno", |
|
"Luglio", |
|
"Agosto", |
|
"Settembre", |
|
"Ottobre", |
|
"Novembre", |
|
"Dicembre" |
|
]; |
|
var dn = [ |
|
'Domenica', |
|
'Lunedì', |
|
'Martedì', |
|
'Mercoledì', |
|
'Giovedì', |
|
'Venerdì', |
|
'Sabato' |
|
]; |
|
break; |
|
//hungarian |
|
case 'hu': |
|
var mn = [ |
|
"január", |
|
"február", |
|
"március", |
|
"április", |
|
"május", |
|
"június", |
|
"július", |
|
"augusztus", |
|
"szeptember", |
|
"október", |
|
"november", |
|
"december" |
|
]; |
|
var dn = [ |
|
'vasárnap', |
|
'hétfő', |
|
'kedd', |
|
'szerda', |
|
'csütörtök', |
|
'péntek', |
|
'szombat' |
|
]; |
|
break; |
|
//greek |
|
case 'gr': |
|
var mn = [ |
|
"Ιανουάριος", |
|
"Φεβρουάριος", |
|
"Μάρτιος", |
|
"Απρίλιος", |
|
"Μάιος", |
|
"Ιούνιος", |
|
"Ιούλιος", |
|
"Αύγουστος", |
|
"Σεπτέμβριος", |
|
"Οκτώβριος", |
|
"Νοέμβριος", |
|
"Δεκέμβριος" |
|
]; |
|
var dn = [ |
|
'Κυριακή', |
|
'Δευτέρα', |
|
'Τρίτη', |
|
'Τετάρτη', |
|
'Πέμπτη', |
|
'Παρασκευή', |
|
'Σάββατο' |
|
]; |
|
break; |
|
//espanol |
|
case 'es': |
|
var mn = [ |
|
"Enero", |
|
"Febrero", |
|
"Marzo", |
|
"Abril", |
|
"Mayo", |
|
"Junio", |
|
"Julio", |
|
"Agosto", |
|
"Septiembre", |
|
"Octubre", |
|
"Noviembre", |
|
"Diciembre" |
|
]; |
|
var dn = [ |
|
'Domingo', |
|
'Lunes', |
|
'Martes', |
|
'Miércoles', |
|
'Jueves', |
|
'Viernes', |
|
'Sábado' |
|
]; |
|
break; |
|
//dansk |
|
case 'da': |
|
var mn = [ |
|
"januar", |
|
"februar", |
|
"marts", |
|
"april", |
|
"maj", |
|
"juni", |
|
"juli", |
|
"august", |
|
"september", |
|
"oktober", |
|
"november", |
|
"december" |
|
]; |
|
var dn = [ |
|
'søndag', |
|
'mandag', |
|
'tirsdag', |
|
'onsdag', |
|
'torsdag', |
|
'fredag', |
|
'lørdag' |
|
]; |
|
break; |
|
//deutsch |
|
case 'de': |
|
var mn = [ |
|
"Januar", |
|
"Februar", |
|
"März", |
|
"April", |
|
"Mai", |
|
"Juni", |
|
"Juli", |
|
"August", |
|
"September", |
|
"Oktober", |
|
"November", |
|
"Dezember" |
|
]; |
|
var dn = [ |
|
'Sonntag', |
|
'Montag', |
|
'Dienstag', |
|
'Mittwoch', |
|
'Donnerstag', |
|
'Freitag', |
|
'Samstag' |
|
]; |
|
break; |
|
//dutch |
|
case 'nl': |
|
var mn = [ |
|
"januari", |
|
"februari", |
|
"maart", |
|
"april", |
|
"mei", |
|
"juni", |
|
"juli", |
|
"augustus", |
|
"september", |
|
"oktober", |
|
"november", |
|
"december" |
|
]; |
|
var dn = [ |
|
'zondag', |
|
'maandag', |
|
'dinsdag', |
|
'woensdag', |
|
'donderdag', |
|
'vrijdag', |
|
'zaterdag' |
|
]; |
|
break; |
|
//francais |
|
case 'fr': |
|
var mn = [ |
|
"Janvier", |
|
"Février", |
|
"Mars", |
|
"Avril", |
|
"Mai", |
|
"Juin", |
|
"Juillet", |
|
"Août", |
|
"Septembre", |
|
"Octobre", |
|
"Novembre", |
|
"Décembre" |
|
]; |
|
var dn = [ |
|
'Dimanche', |
|
'Lundi', |
|
'Mardi', |
|
'Mercredi', |
|
'Jeudi', |
|
'Vendredi', |
|
'Samedi' |
|
]; |
|
break; |
|
//polski |
|
case 'pl': |
|
var mn = [ |
|
"styczeń", |
|
"luty", |
|
"marzec", |
|
"kwiecień", |
|
"maj", |
|
"czerwiec", |
|
"lipiec", |
|
"sierpień", |
|
"wrzesień", |
|
"październik", |
|
"listopad", |
|
"grudzień" |
|
]; |
|
var dn = [ |
|
'niedziela', |
|
'poniedziałek', |
|
'wtorek', |
|
'środa', |
|
'czwartek', |
|
'piątek', |
|
'sobota' |
|
]; |
|
break; |
|
//portuguese |
|
case 'pt': |
|
var mn = [ |
|
"Janeiro", |
|
"Fevereiro", |
|
"Março", |
|
"Abril", |
|
"Maio", |
|
"Junho", |
|
"Julho", |
|
"Agosto", |
|
"Setembro", |
|
"Outubro", |
|
"Novembro", |
|
"Dezembro" |
|
]; |
|
var dn = [ |
|
"Domingo", |
|
"Segunda", |
|
"Terça", |
|
"Quarta", |
|
"Quinta", |
|
"Sexta", |
|
"Sábado" |
|
]; |
|
break; |
|
//slovenian |
|
case 'si': |
|
var mn = [ |
|
"januar", |
|
"februar", |
|
"marec", |
|
"april", |
|
"maj", |
|
"junij", |
|
"julij", |
|
"avgust", |
|
"september", |
|
"oktober", |
|
"november", |
|
"december" |
|
]; |
|
var dn = [ |
|
'nedelja', |
|
'ponedeljek', |
|
'torek', |
|
'sreda', |
|
'četrtek', |
|
'petek', |
|
'sobota' |
|
]; |
|
break; |
|
//ukrainian |
|
case 'uk': |
|
var mn = [ |
|
"січень", |
|
"лютий", |
|
"березень", |
|
"квітень", |
|
"травень", |
|
"червень", |
|
"липень", |
|
"серпень", |
|
"вересень", |
|
"жовтень", |
|
"листопад", |
|
"грудень" |
|
]; |
|
var dn = [ |
|
'неділя', |
|
'понеділок', |
|
'вівторок', |
|
'середа', |
|
'четвер', |
|
'п\'ятниця', |
|
'субота' |
|
]; |
|
break; |
|
//russian |
|
case 'ru': |
|
var mn = [ |
|
"январь", |
|
"февраль", |
|
"март", |
|
"апрель", |
|
"май", |
|
"июнь", |
|
"июль", |
|
"август", |
|
"сентябрь", |
|
"октябрь", |
|
"ноябрь", |
|
"декабрь" |
|
]; |
|
var dn = [ |
|
'воскресенье', |
|
'понедельник', |
|
'вторник', |
|
'среда', |
|
'четверг', |
|
'пятница', |
|
'суббота' |
|
]; |
|
break; |
|
//turkish |
|
case 'tr': |
|
var mn = [ |
|
"Ocak", |
|
"Şubat", |
|
"Mart", |
|
"Nisan", |
|
"Mayıs", |
|
"Haziran", |
|
"Temmuz", |
|
"Ağustos", |
|
"Eylül", |
|
"Ekim", |
|
"Kasım", |
|
"Aralık" |
|
]; |
|
var dn = [ |
|
'Pazar', |
|
'Pazartesi', |
|
'Sali', |
|
'Çarşamba', |
|
'Perşembe', |
|
'Cuma', |
|
'Cumartesi' |
|
]; |
|
break; |
|
//korean |
|
case 'ko': |
|
var mn = [ |
|
"1월", |
|
"2월", |
|
"3월", |
|
"4월", |
|
"5월", |
|
"6월", |
|
"7월", |
|
"8월", |
|
"9월", |
|
"10월", |
|
"11월", |
|
"12월" |
|
]; |
|
var dn = [ |
|
'일요일', |
|
'월요일', |
|
'화요일', |
|
'수요일', |
|
'목요일', |
|
'금요일', |
|
'토요일' |
|
]; |
|
break; |
|
//finnish |
|
case 'fi': |
|
var mn = [ |
|
"Tammikuu", |
|
"Helmikuu", |
|
"Maaliskuu", |
|
"Huhtikuu", |
|
"Toukokuu", |
|
"Kesäkuu", |
|
"Heinäkuu", |
|
"Elokuu", |
|
"Syyskuu", |
|
"Lokakuu", |
|
"Marraskuu", |
|
"Joulukuu" |
|
]; |
|
var dn = [ |
|
'Sunnuntai', |
|
'Maanantai', |
|
'Tiistai', |
|
'Keskiviikko', |
|
'Torstai', |
|
'Perjantai', |
|
'Lauantai' |
|
]; |
|
break; |
|
// Chinese |
|
case 'zh': |
|
var mn = [ |
|
"一月", |
|
"二月", |
|
"三月", |
|
"四月", |
|
"五月", |
|
"六月", |
|
"七月", |
|
"八月", |
|
"九月", |
|
"十月", |
|
"十一月", |
|
"十二月" |
|
]; |
|
var dn = [ |
|
'星期日', |
|
'星期一', |
|
'星期二', |
|
'星期三', |
|
'星期四', |
|
'星期五', |
|
'星期六' |
|
]; |
|
break; |
|
//english |
|
default: |
|
var mn = [ |
|
"January", |
|
"February", |
|
"March", |
|
"April", |
|
"May", |
|
"June", |
|
"July", |
|
"August", |
|
"September", |
|
"October", |
|
"November", |
|
"December" |
|
]; |
|
var dn = [ |
|
'Sunday', |
|
'Monday', |
|
'Tuesday', |
|
'Wednesday', |
|
'Thursday', |
|
'Friday', |
|
'Saturday' |
|
]; |
|
break; |
|
}; |
|
|
|
|
|
|
|
|
|
var |
|
_dd_init = function() { |
|
|
|
_dd.find('.dd-d li,.dd-s-b li').show(); |
|
|
|
if (_dd_isB(_dd_y) && _dd_m == 2) { |
|
|
|
_dd.find('.dd-d ul').width(29 * _dd_settings.dropWidth); |
|
if (_dd_d == 30 || _dd_d == 31) { |
|
_dd_d = 29; |
|
} |
|
_dd.find('li[data-id=30],li[data-id=31]').hide(); |
|
|
|
} else if (!_dd_isB(_dd_y) && _dd_m == 2) { |
|
|
|
_dd.find('.dd-d ul').width(28 * _dd_settings.dropWidth); |
|
if (_dd_d == 29 || _dd_d == 30 || _dd_d == 31) { |
|
_dd_d = 28; |
|
} |
|
_dd.find('li[data-id=29],li[data-id=30],li[data-id=31]').hide(); |
|
|
|
} else if (_dd_m == 4 || _dd_m == 6 || _dd_m == 9 || _dd_m == 11) { |
|
|
|
_dd.find('.dd-d ul').width(30 * _dd_settings.dropWidth); |
|
if (_dd_d == 31) { |
|
_dd_d = 30; |
|
} |
|
_dd.find('li[data-id=31]').hide(); |
|
|
|
} else { |
|
|
|
_dd.find('.dd-d ul').width(31 * _dd_settings.dropWidth); |
|
|
|
} |
|
|
|
_dd.find('.dd-d li').each(function(index, element) { |
|
|
|
var |
|
_d = $(this).attr('data-id'), |
|
_d = new Date(_dd_m + "/" + _d + "/" + _dd_y), |
|
_d = _d.getDay(); |
|
|
|
if (_d == 0 || _d == 6) $(this).addClass('dd-sun'); |
|
else $(this).removeClass('dd-sun'); |
|
|
|
$(this).find('span').html(dn[_d]); |
|
|
|
}); |
|
|
|
_dd.find('.dd-s-b-d li').each(function(index, element) { |
|
|
|
var |
|
_d = $(this).attr('data-id'), |
|
_d = new Date(_dd_m + "/" + _d + "/" + _dd_y), |
|
_d = _d.getDay(); |
|
|
|
if (_d == 0 || _d == 6) $(this).addClass('dd-sun'); |
|
else $(this).removeClass('dd-sun'); |
|
|
|
$(this).find('span').html(dn[_d].substr(0, 3)); |
|
|
|
}); |
|
|
|
|
|
_dd.find('.dd-s-b li').removeClass('dd-on'); |
|
_dd.find('.dd-s-b-d li[data-id="' + _dd_d + '"],.dd-s-b-m li[data-id="' + _dd_m + '"],.dd-s-b-s-y li[data-id="' + _dd_y + '"],.dd-s-b-y li[data-id="' + _dd_sub_y + '"]').addClass('dd-on'); |
|
|
|
if (!_dd_settings.animate) { |
|
|
|
setTimeout(function(){ |
|
|
|
_dd.find('.dd-d .dd-ul').scrollLeft(_dd.find('.dd-d li[data-id="' + _dd_d + '"]').index() * _dd_settings.dropWidth); |
|
_dd.find('.dd-m .dd-ul').scrollLeft(_dd.find('.dd-m li[data-id="' + _dd_m + '"]').index() * _dd_settings.dropWidth); |
|
_dd.find('.dd-y .dd-ul').scrollLeft(_dd.find('.dd-y li[data-id="' + _dd_y + '"]').index() * _dd_settings.dropWidth); |
|
_dd.find('.dd-sub-y .dd-ul').scrollLeft(_dd.find('.dd-sub-y li[data-id="' + _dd_sub_y + '"]').index() * _dd_settings.dropWidth); |
|
|
|
},1); |
|
|
|
if (_dd.hasClass('dd-init')) { |
|
|
|
_dd.removeClass('dd-init'); |
|
_dd_init_state = true; |
|
} |
|
|
|
} else { |
|
|
|
if (_dd.hasClass('dd-init')) { |
|
|
|
_dd.find('.dd-m .dd-ul').animate({ |
|
|
|
scrollLeft: _dd.find('.dd-m li[data-id="' + _dd_m + '"]').index() * _dd_settings.dropWidth |
|
}, 1200, 'swing'); |
|
setTimeout(function() { |
|
_dd.find('.dd-d .dd-ul').animate({ |
|
scrollLeft: _dd.find('.dd-d li[data-id="' + _dd_d + '"]').index() * _dd_settings.dropWidth |
|
}, 1200, 'swing'); |
|
setTimeout(function() { |
|
_dd.find('.dd-y .dd-ul').animate({ |
|
scrollLeft: _dd.find('.dd-y li[data-id="' + _dd_y + '"]').index() * _dd_settings.dropWidth |
|
}, 1200, 'swing',function(){ |
|
_dd_init_state = true; |
|
_dd.removeClass('dd-init'); |
|
}); |
|
}, 200); |
|
}, 400); |
|
|
|
|
|
|
|
} else { |
|
|
|
_dd.find('.dd-d .dd-ul').stop().animate({ |
|
scrollLeft: _dd.find('.dd-d li[data-id="' + _dd_d + '"]').index() * _dd_settings.dropWidth |
|
}, 260); |
|
_dd.find('.dd-m .dd-ul').stop().animate({ |
|
scrollLeft: _dd.find('.dd-m li[data-id="' + _dd_m + '"]').index() * _dd_settings.dropWidth |
|
}, 260); |
|
_dd.find('.dd-y .dd-ul').stop().animate({ |
|
scrollLeft: _dd.find('.dd-y li[data-id="' + _dd_y + '"]').index() * _dd_settings.dropWidth |
|
}, 260); |
|
_dd.find('.dd-sub-y .dd-ul').stop().animate({ |
|
scrollLeft: _dd.find('.dd-sub-y li[data-id="' + _dd_sub_y + '"]').index() * _dd_settings.dropWidth |
|
}, 260); |
|
|
|
} |
|
} |
|
|
|
_dd_calculate(_dd_sub_y); |
|
|
|
|
|
}, |
|
_dd_placement = function() { |
|
|
|
/* |
|
|
|
var |
|
l1 = _dd_input.offset().top + _dd_input.innerHeight() + _dd.find('.dd-c').innerHeight(), |
|
l2 = $(window).scrollTop() + $(window).height(), |
|
dd_top, |
|
dd_left; |
|
|
|
_dd.removeClass('dd-top dd-bottom'); |
|
|
|
if (l1 > l2) { |
|
dd_top = _dd_input.offset().top - (_dd.find('.dd-c').innerHeight()) - 6; |
|
_dd.addClass('dd-top'); |
|
} else { |
|
dd_top = _dd_input.offset().top + (_dd_input.innerHeight()) - 6; |
|
_dd.addClass('dd-bottom'); |
|
} |
|
|
|
*/ |
|
|
|
_dd.addClass('dd-bottom'); |
|
|
|
_dd.find('.dd-c').css({ |
|
'top': _dd_input.offset().top + (_dd_input.innerHeight()) - 6, |
|
'left': (_dd_input.offset().left + ((_dd_input.innerWidth() / 2) - (_dd_settings.dropWidth / 2))) |
|
}).addClass('dd-' + _dd_settings.init_animation); |
|
|
|
|
|
}, |
|
_dd_alert = function() { |
|
|
|
_dd.find('.dd-c').addClass('dd-alert').removeClass('dd-' + _dd_settings.init_animation); |
|
setTimeout(function() { |
|
_dd.find('.dd-c').removeClass('dd-alert'); |
|
}, 500); |
|
|
|
}, |
|
_dd_submit = function() { |
|
|
|
if (_dd_settings.lock) { |
|
|
|
var |
|
d1 = Date.parse(t_y_cur + "-" + (t_m_cur + 1) + "-" + t_d_cur) / 1000, |
|
d2 = Date.parse(_dd_y + "-" + _dd_m + "-" + _dd_d) / 1000; |
|
|
|
if (_dd_settings.lock == 'from') { |
|
if (d2 < d1) { |
|
_dd_alert(); |
|
return false; |
|
} |
|
} else { |
|
if (d2 > d1) { |
|
_dd_alert(); |
|
return false; |
|
} |
|
} |
|
|
|
} |
|
|
|
var |
|
x = new Date(_dd_m + "/" + _dd_d + "/" + _dd_y), |
|
x = x.getDay(); |
|
|
|
var |
|
str = |
|
_dd_settings.format |
|
.replace(/\b(d)\b/g, _dd_0(_dd_d)) |
|
.replace(/\b(m)\b/g, _dd_0(_dd_m)) |
|
.replace(/\b(Y)\b/g, _dd_y) |
|
.replace(/\b(D)\b/g, dn[x].substr(0, 3)) |
|
.replace(/\b(l)\b/g, dn[x]) |
|
.replace(/\b(F)\b/g, mn[_dd_m - 1]) |
|
.replace(/\b(M)\b/g, mn[_dd_m - 1].substr(0, 3)) |
|
.replace(/\b(n)\b/g, _dd_m) |
|
.replace(/\b(j)\b/g, _dd_d); |
|
|
|
_dd_input.val(str); |
|
|
|
_dd.find('.dd-c') |
|
.addClass('dd-fadeout') |
|
.removeClass('dd-' + _dd_settings.init_animation); |
|
|
|
_dd_event = setTimeout(function() { |
|
_dd.hide() |
|
_dd.find('.dd-c').removeClass('dd-fadeout'); |
|
}, 400); |
|
|
|
_dd_input.change(); |
|
|
|
|
|
}, |
|
_dd_calculate = function(y) { |
|
|
|
_dd.find('.dd-s-b-s-y ul').empty(); |
|
|
|
var |
|
_i = parseInt(y), |
|
_i_max = _i + (_dd_settings.yearsRange - 1); |
|
|
|
if (_i_max > _dd_settings.maxYear) _i_max = _dd_settings.maxYear; |
|
|
|
for (var i = _i; i <= _i_max; i++) { |
|
|
|
if (i % _dd_settings.yearsRange == 0) var _d_c_y = i; |
|
|
|
_dd.find('.dd-s-b-s-y ul').append('<li data-id="' + i + '" data-filter="' + _d_c_y + '">' + i + '</li>'); |
|
|
|
} |
|
|
|
_dd.find('.dd-s-b-s-y ul').append('<div class="dd-clear"></div>'); |
|
|
|
|
|
_dd_sub_y = parseInt(y); |
|
|
|
_dd.find('.dd-sub-y .dd-ul') |
|
.scrollLeft(_dd.find('.dd-sub-y li[data-id="' + _dd_sub_y + '"]').index() * _dd_settings.dropWidth); |
|
|
|
_dd.find('.dd-s-b-s-y li').each(function(index, element) { |
|
|
|
$(this).click(function() { |
|
|
|
_dd.find('.dd-s-b-s-y li').removeClass('dd-on'); |
|
$(this).addClass('dd-on'); |
|
|
|
_dd_y = parseInt($(this).attr('data-id')); |
|
|
|
_dd.find('.dd-s-b-y,.dd-s-b-s-y').removeClass('dd-show'); |
|
_dd.find('.dd-s-b-s,.dd-sub-y').hide(); |
|
|
|
_dd_init(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
_dd_construct = function() { |
|
|
|
_dd.find('.dd-s-b').each(function(index, element) { |
|
|
|
var |
|
_dd_el = $(this), |
|
i_min = 0; |
|
|
|
if (_dd_el.hasClass('dd-s-b-m') || _dd_el.hasClass('dd-s-b-d')) { |
|
|
|
|
|
if (_dd_el.hasClass('dd-s-b-m')) { |
|
var |
|
i_max = 12, |
|
_class = 'm'; |
|
|
|
for (var i = i_min; i < i_max; i++) { |
|
|
|
_dd_el.find('ul') |
|
.append('<li data-id="' + (i + 1) + '">' + mn[i].substr(0, 3) + '<span>' + _dd_0(i + 1) + '</span></li>'); |
|
|
|
} |
|
} |
|
if (_dd_el.hasClass('dd-s-b-d')) { |
|
var |
|
i_max = 31, |
|
_class = 'd'; |
|
|
|
for (var i = i_min; i < i_max; i++) { |
|
|
|
_dd_el.find('ul') |
|
.append('<li data-id="' + (i + 1) + '">' + _dd_0(i + 1) + '<span></span></li>'); |
|
} |
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if (_dd_el.hasClass('dd-s-b-y')) { |
|
|
|
for (var i = _dd_settings.minYear; i <= _dd_settings.maxYear; i++) { |
|
if (i % _dd_settings.yearsRange == 0) |
|
_dd_el.find('ul').append('<li data-id="' + i + '">' + i + '</li>'); |
|
} |
|
} |
|
|
|
_dd_el.find('ul').append('<div class="dd-clear"></div>'); |
|
|
|
_dd_el.find('ul li').click(function() { |
|
|
|
if (_dd_el.hasClass('dd-s-b-m') || _dd_el.hasClass('dd-s-b-d')) { |
|
|
|
if (_dd_el.hasClass('dd-s-b-m')) _dd_m = parseInt($(this).attr('data-id')); |
|
if (_dd_el.hasClass('dd-s-b-d')) _dd_d = parseInt($(this).attr('data-id')); |
|
|
|
_dd_init(); |
|
|
|
_dd_el.removeClass('dd-show'); |
|
_dd.find('.dd-s-b-s').hide(); |
|
|
|
} |
|
if (_dd_el.hasClass('dd-s-b-y')) { |
|
|
|
_dd.find('.dd-sub-y').show(); |
|
_dd_calculate($(this).attr('data-id')); |
|
_dd.find('.dd-s-b-s-y').addClass('dd-show'); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
var |
|
top = 0, |
|
scroll = false; |
|
|
|
_dd_el.on('mousewheel DOMMouseScroll', function(e) { |
|
|
|
scroll = true; |
|
|
|
if (e.originalEvent.wheelDeltaY < 0 || e.originalEvent.detail > 0) |
|
|
|
top = _dd_el.scrollTop() + 100; |
|
|
|
if (e.originalEvent.wheelDeltaY > 0 || e.originalEvent.detail < 0) |
|
|
|
top = _dd_el.scrollTop() - 100; |
|
|
|
_dd_el.stop().animate({ |
|
|
|
scrollTop: top |
|
|
|
}, 600, '_dd_easing', function() { |
|
|
|
scroll = false; |
|
|
|
}); |
|
|
|
|
|
}).on('scroll', function() { |
|
|
|
if (!scroll) top = _dd_el.scrollTop(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
_dd.find('.dd-b').each(function(index, element) { |
|
|
|
var |
|
_dd_el = $(this), |
|
_d_ps = 0, |
|
_te_event; |
|
|
|
if (_dd_el.hasClass('dd-m')) { |
|
|
|
for (var i = 0; i < 12; i++) { |
|
_dd_el.find('ul').append('<li data-id="' + (i + 1) + '">' + mn[i].substr(0, 3) + '</li>'); |
|
} |
|
|
|
_dd_el.find('li').click(function() { |
|
if (_dd_settings.format == 'm' || _dd_settings.format == 'n' || _dd_settings.format == 'F' || _dd_settings.format == 'M') |
|
return false; |
|
_dd.find('.dd-s-b-m').addClass('dd-show'); |
|
}); |
|
|
|
} |
|
|
|
if (_dd_el.hasClass('dd-d')) { |
|
|
|
for (var i = 1; i <= 31; i++) { |
|
_dd_el.find('ul').append('<li data-id="' + i + '"><strong>' + _dd_0(i) + '</strong><br><span></span></li>'); |
|
} |
|
_dd_el.find('li').click(function() { |
|
_dd.find('.dd-s-b-d').addClass('dd-show'); |
|
}); |
|
} |
|
|
|
if (_dd_el.hasClass('dd-y')) { |
|
|
|
for (var i = _dd_settings.minYear; i <= _dd_settings.maxYear; i++) { |
|
|
|
var _d_c_y; |
|
if (i % _dd_settings.yearsRange == 0) _d_c_y = 'data-filter="' + i + '"'; |
|
|
|
_dd_el.find('ul').append('<li data-id="' + i + '" ' + _d_c_y + '>' + i + '</li>'); |
|
|
|
} |
|
|
|
_dd_el.find('li').click(function() { |
|
if (_dd_settings.format == 'Y') |
|
return false; |
|
_dd.find('.dd-s-b-y').addClass('dd-show'); |
|
}); |
|
|
|
} |
|
if (_dd_el.hasClass('dd-sub-y')) { |
|
|
|
for (var i = _dd_settings.minYear; i <= _dd_settings.maxYear; i++) { |
|
|
|
if (i % _dd_settings.yearsRange == 0) |
|
_dd_el.find('ul').append('<li data-id="' + i + '">' + i + '</li>'); |
|
|
|
} |
|
|
|
} |
|
|
|
_dd_el.find('ul').width(_dd_el.find('li').length * _dd_settings.dropWidth); |
|
|
|
|
|
////////////////////// NAV /////////////////////// |
|
|
|
|
|
_dd_el.find('.dd-n').click(function() { |
|
|
|
clearInterval(_te_event); |
|
|
|
var |
|
__dd_el, |
|
x, |
|
y; |
|
|
|
if (_dd_el.hasClass('dd-y')) x = _dd_y; |
|
if (_dd_el.hasClass('dd-m')) x = _dd_m; |
|
if (_dd_el.hasClass('dd-d')) x = _dd_d; |
|
if (_dd_el.hasClass('dd-sub-y')) x = _dd_sub_y; |
|
|
|
|
|
|
|
if ($(this).hasClass('dd-n-left')) { |
|
|
|
__dd_el = _dd_el.find('li[data-id="' + x + '"]').prev('li'); |
|
|
|
if (__dd_el.length && __dd_el.is(":visible")) |
|
y = parseInt(__dd_el.attr('data-id')); |
|
|
|
else |
|
y = parseInt(_dd_el.find('li:visible:last').attr('data-id')); |
|
|
|
|
|
} else { |
|
|
|
__dd_el = _dd_el.find('li[data-id="' + x + '"]').next('li'); |
|
|
|
if (__dd_el.length && __dd_el.is(":visible")) |
|
y = parseInt(__dd_el.attr('data-id')); |
|
else |
|
y = parseInt(_dd_el.find('li:first').attr('data-id')); |
|
} |
|
|
|
|
|
if (_dd_el.hasClass('dd-y')) _dd_y = y; |
|
if (_dd_el.hasClass('dd-m')) _dd_m = y; |
|
if (_dd_el.hasClass('dd-d')) _dd_d = y; |
|
if (_dd_el.hasClass('dd-sub-y')) _dd_sub_y = y; |
|
|
|
_dd_init(); |
|
|
|
}); |
|
|
|
var _detect = function() { |
|
|
|
if (_dd_init_state) { |
|
|
|
_d_ps = Math.round(_dd_el.find('.dd-ul').scrollLeft() / _dd_settings.dropWidth); |
|
var value = parseInt(_dd_el.find('li').eq(_d_ps).attr('data-id')); |
|
|
|
if (_dd_el.hasClass('dd-y')) _dd_y = value; |
|
if (_dd_el.hasClass('dd-m')) _dd_m = value; |
|
if (_dd_el.hasClass('dd-d')) _dd_d = value; |
|
if (_dd_el.hasClass('dd-sub-y')) _dd_sub_y = value; |
|
|
|
} |
|
|
|
}; |
|
|
|
_dd_el.find('.dd-ul').on('scroll', function() { |
|
|
|
_detect(); |
|
|
|
}); |
|
|
|
var _dd_user = false; |
|
|
|
_dd_el.find('.dd-ul').on('mousedown touchstart', function() { |
|
|
|
if(!_dd_user) _dd_user = true; |
|
clearInterval(_te_event); |
|
|
|
$(window).on('mouseup touchend touchmove', function() { |
|
|
|
if(_dd_user) { |
|
|
|
clearInterval(_te_event); |
|
_te_event = setTimeout(function() { |
|
|
|
_dd_init(); |
|
_dd_user = false; |
|
|
|
}, 780); |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
if (_dd_settings.format == 'Y') _dd.find('.dd-m,.dd-d').hide(); |
|
if (_dd_settings.format == 'm' || _dd_settings.format == 'n' || _dd_settings.format == 'F' || _dd_settings.format == 'M') _dd.find('.dd-y,.dd-d').hide(); |
|
|
|
}); |
|
|
|
_dd.find('.dd-b li').click(function() { |
|
|
|
if (_dd_settings.format == 'm' || _dd_settings.format == 'n' || _dd_settings.format == 'F' || _dd_settings.format == 'M' || _dd_settings.format == 'Y') |
|
return false; |
|
|
|
_dd.find('.dd-s-b-s').show(); |
|
|
|
}); |
|
|
|
_dd.find('.dd-s-b-s').click(function() { |
|
|
|
_dd.find('.dd-s-b').removeClass('dd-show'); |
|
_dd.find('.dd-s-b-s').hide(); |
|
|
|
}); |
|
|
|
_dd.find('.dd-s').click(function() { |
|
|
|
_dd_submit(); |
|
|
|
}); |
|
_dd.find('.dd-o').click(function() { |
|
|
|
_dd.find('.dd-c') |
|
.addClass('dd-fadeout') |
|
.removeClass('dd-' + _dd_settings.init_animation); |
|
|
|
_dd_event = setTimeout(function() { |
|
_dd.hide() |
|
_dd.find('.dd-c').removeClass('dd-fadeout'); |
|
}, 400); |
|
|
|
}); |
|
|
|
_dd_init(); |
|
|
|
}, |
|
_dd_set = function() { |
|
|
|
clearInterval(_dd_event); |
|
|
|
if (_dd.hasClass('dd-init')) { |
|
|
|
_dd_input |
|
.attr({ |
|
'readonly': 'readonly' |
|
}) |
|
.blur(); |
|
|
|
_dd_m = t_m_cur + 1, |
|
_dd_d = t_d_cur, |
|
_dd_y = t_y_cur; |
|
|
|
if (parseInt(_dd_input.attr('data-d')) && parseInt(_dd_input.attr('data-d')) <= 31) |
|
_dd_d = parseInt(_dd_input.attr('data-d')); |
|
|
|
if (parseInt(_dd_input.attr('data-m')) && parseInt(_dd_input.attr('data-m')) <= 11) |
|
_dd_m = parseInt(_dd_input.attr('data-m')) + 1; |
|
|
|
if (parseInt(_dd_input.attr('data-y')) && _dd_input.attr('data-y').length == 4) |
|
_dd_y = parseInt(_dd_input.attr('data-y')); |
|
|
|
if (_dd_y > _dd_settings.maxYear) _dd_settings.maxYear = _dd_y; |
|
if (_dd_y < _dd_settings.minYear) _dd_settings.minYear = _dd_y; |
|
|
|
_dd_construct(); |
|
|
|
} |
|
|
|
_dd.show(); |
|
_dd_placement(); |
|
|
|
|
|
}; |
|
|
|
_dd_input.click(function() { |
|
|
|
_dd_set(); |
|
|
|
}); |
|
|
|
_dd_input.bind('focusin focus', function(e){ |
|
e.preventDefault(); |
|
}) |
|
|
|
$(window).resize(function() { |
|
|
|
_dd_placement(); |
|
|
|
}); |
|
|
|
|
|
} |
|
}); |
|
}; |
|
}(jQuery)); |