Repository navigation
Expand file tree
/
Copy pathdatedropper.min.js
More file actions
9 lines (8 loc) · 15.3 KB
/
Copy pathdatedropper.min.js
File metadata and controls
9 lines (8 loc) · 15.3 KB
1
2
3
4
5
6
7
8
9
//////////////////////////////////////
// DATEDROPPER Version 1.2 //
// Last Updates: 27/03/2015 //
// //
// Made with love by //
// Felice Gattuso //
//////////////////////////////////////
!function(e){e.fn.dateDropper=function(a){return e(this).each(function(){if(e(this).is("input")&&"text"==e(this).attr("type")){var i=(new Date).getFullYear(),r=(new Date).getDate(),s=(new Date).getMonth(),t=e.extend({animate_current:!0,animation:"fadein",format:"m/d/Y",lang:"en",lock:!1,maxYear:i,minYear:1970,placeholder:!1,years_multiple:10,color:"#f87a54",textColor:"#000000",bgColor:"#FFFFFF",borderColor:"#000000",borderRadius:8,boxShadow:"0 0px 0px 6px rgba(0,0,0,0.05)"},a),o=e(this),_=e(".dd_wrap").length+1,u=function(d){return!(d%4||!(d%100)&&d%400)},f=100,c=/^#[0-9A-F]{6}$/i.test(t.color),v=0;c||(t.color="#f87a54"),t.maxYear<i&&(i=t.maxYear);var m=function(d){for(var e=t.minYear;e<=t.maxYear;e++){var a=e%t.years_multiple;if(0==a&&(d>=e&&d<e+t.years_multiple||e>d))return v=e,e}};switch(t.lang){case"ar":var b=["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويلية","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],p=["الأحد","الإثنين","الثلثاء","الأربعاء","الخميس","الجمعة","السبت"];break;case"it":var b=["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],p=["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"];break;case"hu":var b=["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],p=["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"];break;case"gr":var b=["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],p=["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"];break;case"es":var b=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],p=["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"];break;case"da":var b=["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],p=["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"];break;case"de":var b=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],p=["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"];break;case"nl":var b=["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],p=["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"];break;case"fr":var b=["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],p=["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"];break;case"pl":var b=["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],p=["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"];break;case"pt":var b=["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],p=["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"];break;case"si":var b=["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"],p=["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"];break;case"uk":var b=["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"],p=["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"];break;case"ru":var b=["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"],p=["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"];break;case"tr":var b=["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],p=["Pazar","Pazartesi","Sali","Çarşamba","Perşembe","Cuma","Cumartesi"];break;case"ko":var b=["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],p=["일요일","월요일","화요일","수요일","목요일","금요일","토요일"];break;case"fi":var b=["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],p=["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"];break;default:var b=["January","February","March","April","May","June","July","August","September","October","November","December"],p=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}e('<div class="dd_wrap" id="dd_'+_+'"><div class="dd_overlay"></div><div class="dd_"></div></div>').appendTo("body");var h=e("#dd_"+_),k=h.find(".dd_");if(dd_overlay=h.find(".dd_overlay"),e(window).on("resize",function(){k.css({top:o.offset().top+(o.height()+12),left:o.offset().left+(o.outerWidth()/2-f/2)-2})}),e("<style>#dd_"+_+" .dd_ {border-color: "+t.borderColor+"; background: "+t.bgColor+"; border-radius: "+t.borderRadius+"px; -moz-border-radius: "+t.borderRadius+"px; -webkit-border-radius: "+t.borderRadius+"px; color: "+t.textColor+";box-shadow: "+t.boxShadow+";-webkit-box-shadow: "+t.boxShadow+";-moz-box-shadow: "+t.boxShadow+";}#dd_"+_+" .dd_ .dd_submit,#dd_"+_+" .dd_ .dd_r_ ul li.dd_sltd_ { background-color: "+t.color+"; } #dd_"+_+" .dd_ .dd_d_ .dd_sl_ ul li em , #dd_"+_+" .dd_ .dd_d_ .dd_sl_ ul li.dd_sunday,#dd_"+_+" .dd_ .dd_all_ ul li.dd_sunday{ color: "+t.color+"; }#dd_"+_+" .dd_ .dd_all_ ul li.dd_sunday{ border-bottom: 2px solid "+t.color+"; } #dd_"+_+" .dd_ .dd_r_ ul li:hover,#dd_"+_+" .dd_ .dd_r_ ul li.dd_sltd_,#dd_"+_+" .dd_ .dd_r_ ul li {border-color: "+t.color+"; } #dd_"+_+" .dd_ .dd_submit {-webkit-border-bottom-right-radius: "+(t.borderRadius-3)+"px;-webkit-border-bottom-left-radius: "+(t.borderRadius-3)+"px;-moz-border-radius-bottomright: "+(t.borderRadius-3)+"px;-moz-border-radius-bottomleft: "+(t.borderRadius-3)+"px;border-bottom-right-radius: "+(t.borderRadius-3)+"px;border-bottom-left-radius: "+(t.borderRadius-3)+"px;}#dd_"+_+" .dd_:after {background:"+t.bgColor+";border-top-color:"+t.borderColor+";border-left-color:"+t.borderColor+";}#dd_"+_+" .dd_ .dd_r_ ul li,#dd_"+_+" .dd_ .dd_all_ {background:"+t.bgColor+";}#dd_"+_+" .dd_ .dd_all_{box-shadow: inset 0 -2px 0 "+t.color+";}#dd_"+_+" .dd_ .dd_r_:after{border-bottom: 2px solid "+t.color+"}</style>").appendTo("head"),o.attr({readonly:"readonly"}).addClass("dd_locked"),o.val()){var g=o.val(),C=g.match(/(?:\d{4}|\d{1,2})/g),y=t.format.match(/[a-zA-Z]+/g),w=null,z=null,S=null;if(C){for(var Y=0;Y<=C.length;Y++)C[Y]&&(4==C[Y].length?w=C[Y]:C[Y].length<=2&&C[Y].length>0&&(C[Y]<=12&&"m"==y[Y]||"n"==y[Y]?S=C[Y]:z=C[Y]));10>S&&2==S.length&&(S=S.substr(1)),10>z&&2==z.length&&(z=z.substr(1)),null==z&&(z=r),null==S&&(S=s),null==w&&(w=i)}w<t.minYear&&(t.minYear=w),w>t.maxYear&&(t.maxYear=w)}else t.placeholder&&o.val(t.placeholder);k.append('<div class="dd_sw_ dd_m_"><a class="dd_nav_ dd_prev_"></a><a class="dd_nav_ dd_next_"></a><div class="dd_sl_"></div></div>'),k.append('<div class="dd_sw_ dd_d_"><a class="dd_nav_ dd_prev_"></a><a class="dd_nav_ dd_next_"></a><div class="dd_sl_"></div></div>'),k.append('<div class="dd_sw_ dd_y_"><a class="dd_nav_ dd_prev_"></a><a class="dd_nav_ dd_next_"></a><div class="dd_sl_"></div></div>'),k.append('<div class="dd_all_ dd_a_d_"></div>'),k.append('<div class="dd_all_ dd_a_m_"></div>'),k.append('<div class="dd_all_ dd_a_y_"></div>'),t.years_multiple&&k.append('<div class="dd_r_"></div>'),k.append('<div class="dd_submit"></div>');var J=k.find(".dd_m_"),L=k.find(".dd_d_"),A=k.find(".dd_y_"),T=k.find(".dd_a_d_"),R=k.find(".dd_a_m_"),N=k.find(".dd_a_y_"),O=k.find(".dd_r_"),q=k.find(".dd_submit");J.find(".dd_sl_").append("<ul></ul>"),R.append("<ul></ul>");for(var E=1;12>=E;E++)months=b[E-1].substr(0,3),J.find("ul").append('<li value="'+E+'">'+months+"</li>"),R.find("ul").append('<li value="'+E+'">'+E+"</li>");L.find(".dd_sl_").append("<ul></ul>"),T.append("<ul></ul>");for(var H=1;31>=H;H++)10>H?ddd="0"+H:ddd=H,L.find("ul").append('<li value="'+H+'">'+ddd+"<em ></em></li>"),T.find("ul").append('<li value="'+H+'">'+ddd+"</li>");A.find(".dd_sl_").append("<ul></ul>");for(var P=t.minYear;P<=t.maxYear;P++)bissextile_return=u(P),A.find("ul").append('<li value="'+P+'" data-filter="'+bissextile_return+'">'+P+"</li>");if(t.years_multiple){O.append("<ul></ul>"),N.append("<ul></ul>");for(var G=t.minYear;G<=t.maxYear;G++){var K=G%t.years_multiple;0==K&&O.find("ul").append('<li value="'+G+'"></li>')}f/O.find("li").length}var Q=function(){L.find("li").eq(r-1).addClass("dd_sltd_"),J.find("li").eq(s).addClass("dd_sltd_"),A.find("li[value="+i+"]").addClass("dd_sltd_"),t.years_multiple&&O.find("li[value="+m(i)+"]").addClass("dd_sltd_")},V=function(){L.find("li").eq(z-1).addClass("dd_sltd_"),J.find("li").eq(S-1).addClass("dd_sltd_"),A.find("li[value="+w+"]").addClass("dd_sltd_"),t.years_multiple&&O.find("li[value="+m(w)+"]").addClass("dd_sltd_")},W=function(){J.find(".dd_sl_").animate({scrollLeft:J.find("li.dd_sltd_").index()*f},1200,"swing"),setTimeout(function(){L.find(".dd_sl_").animate({scrollLeft:L.find("li.dd_sltd_").index()*f},1200,"swing"),setTimeout(function(){A.find(".dd_sl_").animate({scrollLeft:A.find("li.dd_sltd_").index()*f},1200,"swing")},200)},400)},I=function(){J.find(".dd_sl_").scrollLeft(J.find("li.dd_sltd_").index()*f),L.find(".dd_sl_").scrollLeft(L.find("li.dd_sltd_").index()*f),A.find(".dd_sl_").scrollLeft(A.find("li.dd_sltd_").index()*f)};switch(z||S||w?V():Q(),"Y"!=t.format&&"m"!=t.format&&(L.find("li").click(function(){var d=L.find("li.dd_sltd_").attr("value");T.find("li").removeClass("dd_sltd_"),T.find("li[value="+d+"]").addClass("dd_sltd_"),T.addClass("dd_open_")}),T.find("li").click(function(){var d=e(this).attr("value");L.find("li[value="+d+"]").click(),T.removeClass("dd_open_"),Z()}),J.find("li").click(function(){var d=J.find("li.dd_sltd_").attr("value");R.find("li").removeClass("dd_sltd_"),R.find("li[value="+d+"]").addClass("dd_sltd_"),R.addClass("dd_open_")}),R.find("li").click(function(){var d=e(this).attr("value");J.find("li[value="+d+"]").click(),R.removeClass("dd_open_"),Z()}),A.find("li").click(function(){N.find("ul").empty();var d=O.find("li.dd_sltd_").attr("value"),a=A.find("li.dd_sltd_").attr("value"),l=parseInt(d)+9;l>t.maxYear&&(l=t.maxYear),N.find("li").removeClass("dd_sltd_");for(var i=d;l>=i;i++)N.find("ul").append('<li value="'+i+'">'+i+"</li>");N.find("li[value="+a+"]").addClass("dd_sltd_"),N.addClass("dd_open_"),N.find("li").click(function(){var d=e(this).attr("value");A.find("li[value="+d+"]").click(),N.removeClass("dd_open_"),Z()})})),t.format){case"Y":J.hide(),L.hide();break;case"m":A.hide(),O.hide(),L.hide()}var Z=function(){var a=L.find("li.dd_sltd_").attr("value"),l=J.find("li.dd_sltd_").attr("value"),i=A.find("li.dd_sltd_").attr("value"),r=O.find("li.dd_sltd_"),s=A.find("li.dd_sltd_").attr("data-filter");T.find("li").show(),"true"==s&&"2"==l?(L.find("ul").width(29*f),(30==a||31==a)&&(L.find("li").removeClass("dd_sltd_"),L.find("li[value=29]").addClass("dd_sltd_")),T.find("li[value=30],li[value=31]").hide()):"true"!=s&&"2"==l?(L.find("ul").width(28*f),(29==a||30==a||31==a)&&(L.find("li").removeClass("dd_sltd_"),L.find("li[value=28]").addClass("dd_sltd_")),T.find("li[value=29],li[value=30],li[value=31]").hide()):"11"==l||"4"==l||"6"==l||"9"==l?(L.find("ul").width(30*f),31==a&&(L.find("li").removeClass("dd_sltd_"),L.find("li[value=30]").addClass("dd_sltd_")),T.find("li[value=31]").hide()):L.find("ul").width(31*f),L.find("li").each(function(a,r){tod=e(this).attr("value"),d=new Date(l+"/"+tod+"/"+i),x=d.getDay(),0==x?e(this).addClass("dd_sunday"):e(this).removeClass("dd_sunday"),e(this).find("em").html(p[x])}),T.find("li").each(function(a,r){tod=e(this).attr("value"),d=new Date(l+"/"+tod+"/"+i),x=d.getDay(),0==x?e(this).addClass("dd_sunday"):e(this).removeClass("dd_sunday")}),t.years_multiple&&(next=r.next("li"),prev=r.prev("li"),i>=next.attr("value")&&next.length?(v=next.attr("value"),O.find("li").removeClass("dd_sltd_"),next.addClass("dd_sltd_")):v>i&&prev.length&&(v=prev.attr("value"),O.find("li").removeClass("dd_sltd_"),prev.addClass("dd_sltd_")))},$=function(d){o.val(d).change(),k.addClass("dd_fadeout").removeClass("dd_"+t.animation),setTimeout(function(){k.hide().removeClass("dd_fadeout"),h.hide()},300),t.onSubmit&&t.onSubmit(d)},B=function(){k.addClass("dd_alert").removeClass("dd_"+t.animation),setTimeout(function(){k.removeClass("dd_alert")},500)};t.years_multiple&&O.find("li").on("click",function(){O.find("li").removeClass("dd_sltd_"),e(this).addClass("dd_sltd_");var d=e(this).attr("value");v=d,A.find(".dd_sl_").stop().animate({scrollLeft:A.find("li[value="+d+"]").index()*f},600,"swing"),A.find("li").removeClass("dd_sltd_"),A.find("li[value="+d+"]").addClass("dd_sltd_"),Z()}),k.find(".dd_sw_").each(function(d,a){var l=e(this).find(".dd_sl_"),i=e(this).find(".dd_nav_"),r=l.find("li.dd_sltd_").index()*f,s=function(){scroll_left=l.scrollLeft(),scroll_left>=r+f/2&&(r+=f),scroll_left<=r-f/2&&(r-=f)};l.find("ul").width(l.find("li").length*f),l.on("scroll mousemove",function(){s()}),i.click(function(){e(this).hasClass("dd_next_")?obj=l.find("li.dd_sltd_").next("li"):obj=l.find("li.dd_sltd_").prev("li"),obj.length&&(l.stop().animate({scrollLeft:obj.index()*f},200),l.find("li").removeClass("dd_sltd_"),obj.addClass("dd_sltd_"),Z())}),l.on("touchend",function(){l.stop().animate({scrollLeft:r},200);var d=r/f;l.find("li").removeClass("dd_sltd_"),l.find("li").eq(d).addClass("dd_sltd_"),Z()}),l.find("li").click(function(){l.animate({scrollLeft:e(this).index()*f},200),l.find("li").removeClass("dd_sltd_"),e(this).addClass("dd_sltd_")})}),Z(),o.on("click focus",function(){h.show(),k.css({top:o.offset().top+(o.height()+12),left:o.offset().left+(o.outerWidth()/2-f/2)-2}).show().addClass("dd_"+t.animation),o.hasClass("dd_locked")?(o.removeClass("dd_locked"),0!=t.animate_current?W():I()):I()}),dd_overlay.click(function(){k.addClass("dd_fadeout").removeClass("dd_"+t.animation),setTimeout(function(){k.hide().removeClass("dd_fadeout"),h.hide()},300),k.find(".dd_all_").removeClass("dd_open_")}),q.click(function(){var d=L.find("li.dd_sltd_").attr("value"),e=J.find("li.dd_sltd_").attr("value"),a=A.find("li.dd_sltd_").attr("value");if(10>d&&(d="0"+d),10>e&&(e="0"+e),x=new Date(e+"/"+d+"/"+a),x=x.getDay(),j=d.substr(1),D=p[x].substr(0,3),l=p[x],10>e?n=e.substr(1):n=e,M=b[n-1].substr(0,3),F=b[n-1],str=t.format.replace(/\b(Y)\b/i,a).replace(/\b(m)\b/,e).replace(/\b(d)\b/i,d).replace(/\b(D)\b/i,D).replace(/\b(j)\b/i,j).replace(/\b(l)\b/i,l).replace(/\b(F)\b/i,F).replace(/\b(M)\b/,M).replace(/\b(n)\b/i,n),t.lock){d1d=r,d1d<10&&(d1d="0"+d1d),d1m=s+1,d1m<10&&(d1m="0"+d1m),d1y=i;var o=Date.parse(d1y+"-"+d1m+"-"+d1d)/1e3,_=Date.parse(a+"-"+e+"-"+d)/1e3;"from"==t.lock?o>_?B():$(str):_>o?B():$(str)}else $(str)})}})}}(jQuery);