| 1 |
!function(a){"use strict";a.prototype.date_selector=function(b){var d={element:this,cache:{}};d.options=a.extend(!0,{flat:!1,starts:1,prev:"◀",next:"▶",lastSel:!1,mode:"single",view:"days",calendars:1,format:"Y-m-d",position:"bottom",eventName:"click",onRender:function(){return{}},onChange:function(){return!0},onShow:function(){return!0},onBeforeShow:function(){return!0},locale:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekMin:"wk"},views:{years:"date_selector_view_years",moths:"date_selector_view_months",days:"date_selector_view_days"},template:{wrapper:'<div class="date_selector"><div class="date_selector_borderT" /><div class="date_selector_borderB" /><div class="date_selector_borderL" /><div class="date_selector_borderR" /><div class="date_selector_borderTL" /><div class="date_selector_borderTR" /><div class="date_selector_borderBL" /><div class="date_selector_borderBR" /><div class="date_selector_container"><table cellspacing="0" cellpadding="0"><tbody><tr></tr></tbody></table></div></div>',head:["<td>",'<table cellspacing="0" cellpadding="0">',"<thead>","<tr>",'<th class="date_selectorGoPrev"><a href="#"><span><%=prev%></span></a></th>','<th colspan="6" class="date_selector_month"><a href="#"><span></span></a></th>','<th class="date_selectorGoNext"><a href="#"><span><%=next%></span></a></th>',"</tr>",'<tr class="date_selector_dow">',"<th><span><%=week%></span></th>","<th><span><%=day1%></span></th>","<th><span><%=day2%></span></th>","<th><span><%=day3%></span></th>","<th><span><%=day4%></span></th>","<th><span><%=day5%></span></th>","<th><span><%=day6%></span></th>","<th><span><%=day7%></span></th>","</tr>","</thead>","</table></td>"],space:'<td class="date_selector_space"><div></div></td>',days:['<tbody class="date_selector_days">',"<tr>",'<th class="date_selectorWeek"><a href="#"><span><%=weeks[0].week%></span></a></th>','<td class="<%=weeks[0].days[0].classname%>"><a href="#"><span><%=weeks[0].days[0].text%></span></a></td>','<td class="<%=weeks[0].days[1].classname%>"><a href="#"><span><%=weeks[0].days[1].text%></span></a></td>','<td class="<%=weeks[0].days[2].classname%>"><a href="#"><span><%=weeks[0].days[2].text%></span></a></td>','<td class="<%=weeks[0].days[3].classname%>"><a href="#"><span><%=weeks[0].days[3].text%></span></a></td>','<td class="<%=weeks[0].days[4].classname%>"><a href="#"><span><%=weeks[0].days[4].text%></span></a></td>','<td class="<%=weeks[0].days[5].classname%>"><a href="#"><span><%=weeks[0].days[5].text%></span></a></td>','<td class="<%=weeks[0].days[6].classname%>"><a href="#"><span><%=weeks[0].days[6].text%></span></a></td>',"</tr>","<tr>",'<th class="date_selectorWeek"><a href="#"><span><%=weeks[1].week%></span></a></th>','<td class="<%=weeks[1].days[0].classname%>"><a href="#"><span><%=weeks[1].days[0].text%></span></a></td>','<td class="<%=weeks[1].days[1].classname%>"><a href="#"><span><%=weeks[1].days[1].text%></span></a></td>','<td class="<%=weeks[1].days[2].classname%>"><a href="#"><span><%=weeks[1].days[2].text%></span></a></td>','<td class="<%=weeks[1].days[3].classname%>"><a href="#"><span><%=weeks[1].days[3].text%></span></a></td>','<td class="<%=weeks[1].days[4].classname%>"><a href="#"><span><%=weeks[1].days[4].text%></span></a></td>','<td class="<%=weeks[1].days[5].classname%>"><a href="#"><span><%=weeks[1].days[5].text%></span></a></td>','<td class="<%=weeks[1].days[6].classname%>"><a href="#"><span><%=weeks[1].days[6].text%></span></a></td>',"</tr>","<tr>",'<th class="date_selectorWeek"><a href="#"><span><%=weeks[2].week%></span></a></th>','<td class="<%=weeks[2].days[0].classname%>"><a href="#"><span><%=weeks[2].days[0].text%></span></a></td>','<td class="<%=weeks[2].days[1].classname%>"><a href="#"><span><%=weeks[2].days[1].text%></span></a></td>','<td class="<%=weeks[2].days[2].classname%>"><a href="#"><span><%=weeks[2].days[2].text%></span></a></td>','<td class="<%=weeks[2].days[3].classname%>"><a href="#"><span><%=weeks[2].days[3].text%></span></a></td>','<td class="<%=weeks[2].days[4].classname%>"><a href="#"><span><%=weeks[2].days[4].text%></span></a></td>','<td class="<%=weeks[2].days[5].classname%>"><a href="#"><span><%=weeks[2].days[5].text%></span></a></td>','<td class="<%=weeks[2].days[6].classname%>"><a href="#"><span><%=weeks[2].days[6].text%></span></a></td>',"</tr>","<tr>",'<th class="date_selectorWeek"><a href="#"><span><%=weeks[3].week%></span></a></th>','<td class="<%=weeks[3].days[0].classname%>"><a href="#"><span><%=weeks[3].days[0].text%></span></a></td>','<td class="<%=weeks[3].days[1].classname%>"><a href="#"><span><%=weeks[3].days[1].text%></span></a></td>','<td class="<%=weeks[3].days[2].classname%>"><a href="#"><span><%=weeks[3].days[2].text%></span></a></td>','<td class="<%=weeks[3].days[3].classname%>"><a href="#"><span><%=weeks[3].days[3].text%></span></a></td>','<td class="<%=weeks[3].days[4].classname%>"><a href="#"><span><%=weeks[3].days[4].text%></span></a></td>','<td class="<%=weeks[3].days[5].classname%>"><a href="#"><span><%=weeks[3].days[5].text%></span></a></td>','<td class="<%=weeks[3].days[6].classname%>"><a href="#"><span><%=weeks[3].days[6].text%></span></a></td>',"</tr>","<tr>",'<th class="date_selectorWeek"><a href="#"><span><%=weeks[4].week%></span></a></th>','<td class="<%=weeks[4].days[0].classname%>"><a href="#"><span><%=weeks[4].days[0].text%></span></a></td>','<td class="<%=weeks[4].days[1].classname%>"><a href="#"><span><%=weeks[4].days[1].text%></span></a></td>','<td class="<%=weeks[4].days[2].classname%>"><a href="#"><span><%=weeks[4].days[2].text%></span></a></td>','<td class="<%=weeks[4].days[3].classname%>"><a href="#"><span><%=weeks[4].days[3].text%></span></a></td>','<td class="<%=weeks[4].days[4].classname%>"><a href="#"><span><%=weeks[4].days[4].text%></span></a></td>','<td class="<%=weeks[4].days[5].classname%>"><a href="#"><span><%=weeks[4].days[5].text%></span></a></td>','<td class="<%=weeks[4].days[6].classname%>"><a href="#"><span><%=weeks[4].days[6].text%></span></a></td>',"</tr>","<tr>",'<th class="date_selectorWeek"><a href="#"><span><%=weeks[5].week%></span></a></th>','<td class="<%=weeks[5].days[0].classname%>"><a href="#"><span><%=weeks[5].days[0].text%></span></a></td>','<td class="<%=weeks[5].days[1].classname%>"><a href="#"><span><%=weeks[5].days[1].text%></span></a></td>','<td class="<%=weeks[5].days[2].classname%>"><a href="#"><span><%=weeks[5].days[2].text%></span></a></td>','<td class="<%=weeks[5].days[3].classname%>"><a href="#"><span><%=weeks[5].days[3].text%></span></a></td>','<td class="<%=weeks[5].days[4].classname%>"><a href="#"><span><%=weeks[5].days[4].text%></span></a></td>','<td class="<%=weeks[5].days[5].classname%>"><a href="#"><span><%=weeks[5].days[5].text%></span></a></td>','<td class="<%=weeks[5].days[6].classname%>"><a href="#"><span><%=weeks[5].days[6].text%></span></a></td>',"</tr>","</tbody>"],months:['<tbody class="<%=className%>">',"<tr>",'<td colspan="2"><a href="#"><span><%=data[0]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[1]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[2]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[3]%></span></a></td>',"</tr>","<tr>",'<td colspan="2"><a href="#"><span><%=data[4]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[5]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[6]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[7]%></span></a></td>',"</tr>","<tr>",'<td colspan="2"><a href="#"><span><%=data[8]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[9]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[10]%></span></a></td>','<td colspan="2"><a href="#"><span><%=data[11]%></span></a></td>',"</tr>","</tbody>"]}},b),d.log="function"==typeof d.log?d.log:function(){},d.initialize="function"==typeof d.initialize?d.initialize:function(){return d.log("s.initialize()","function"),d.extendDate(d.options.locale),d.options.calendars=Math.max(1,parseInt(d.options.calendars,10)||1),d.options.mode=/single|multiple|range/.test(d.options.mode)?d.options.mode:"single",d.element.each(function(b,c){var j,k,l="date_selector_"+parseInt(1e3*Math.random());if(a(d.element).data("date_selector_initialized"))return void d.log("s.initialize() - DOM element already initialized, skipping.","function");if(d.options.date||(d.options.date=new Date),d.options.date.constructor===String&&(d.options.date=g(d.options.date,d.options.format),d.options.date.setHours(0,0,0,0)),"single"!=d.options.mode)if(d.options.date.constructor!=Array)d.options.date=[d.options.date.valueOf()],"range"===d.options.mode&&d.options.date.push(new Date(d.options.date[0]).setHours(23,59,59,0).valueOf());else{for(var n=0;n<d.options.date.length;n++)d.options.date[n]=g(d.options.date[n],d.options.format).setHours(0,0,0,0).valueOf();"range"===d.options.mode&&(d.options.date[1]=new Date(d.options.date[1]).setHours(23,59,59,0).valueOf())}else d.options.date=d.options.date.valueOf();d.options.current=d.options.current?g(d.options.current,d.options.format):new Date,d.options.current.setDate(1),d.options.current.setHours(0,0,0,0),d.options.id=l,a(c).data("date_selector_id",d.options.id),j=a(d.options.template.wrapper).attr("id",l).bind("mousedown",i).data("date_selector",d.options),d.options.className&&j.addClass(d.options.className);for(var o="",n=0;n<d.options.calendars;n++)k=d.options.starts,n>0&&(o+=d.options.template.space),o+=e(d.options.template.head.join(""),{week:d.options.locale.weekMin,prev:d.options.prev,next:d.options.next,day1:d.options.locale.daysMin[k++%7],day2:d.options.locale.daysMin[k++%7],day3:d.options.locale.daysMin[k++%7],day4:d.options.locale.daysMin[k++%7],day5:d.options.locale.daysMin[k++%7],day6:d.options.locale.daysMin[k++%7],day7:d.options.locale.daysMin[k++%7]});j.find("tr:first").append(o).find("table").addClass(d.options.views[d.options.view]),f(j.get(0)),d.options.flat?(j.appendTo(this).show().css("position","relative"),h(j.get(0))):(j.appendTo(document.body),a(this).bind(d.options.eventName,m)),a(d.element).data("date_selector_initialized",!0)})};var e=function(a,b){d.log("tmpl()","function");var c=/\W/.test(a)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.replace(/[\r\t\n]/g," ").split("<%").join(" ").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split(" ").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):d.cache[a]=d.cache[a]||e(document.getElementById(a).innerHTML);return b?c(b):c},f=function(b){d.log("fill()","function"),b=a(b);var c,f,g,h,i,j,k,l,m,n=Math.floor(d.options.calendars/2),o=0;b.find("td>table tbody").remove();for(var p=0;p<d.options.calendars;p++){if(c=new Date(d.options.current),c.addMonths(-n+p),m=b.find("table").eq(p+1),"object"==typeof m&&"undefined"!=typeof m[0])switch(m[0].className){case"date_selector_view_days":g=d.formatDate(c,"B, Y");break;case"date_selector_view_months":g=c.getFullYear();break;case"date_selector_view_years":g=c.getFullYear()-6+" - "+(c.getFullYear()+5)}m.find("thead tr:first th:eq(1) span").text(g),g=c.getFullYear()-6,f={data:[],className:"date_selector_years"};for(var q=0;12>q;q++)f.data.push(g+q);l=e(d.options.template.months.join(""),f),c.setDate(1),f={weeks:[],test:10},h=c.getMonth();var g=(c.getDay()-d.options.starts)%7;for(c.addDays(-(g+(0>g?7:0))),i=-1,o=0;42>o;){j=parseInt(o/7,10),k=o%7,f.weeks[j]||(i=c.getWeekNumber(),f.weeks[j]={week:i,days:[]}),f.weeks[j].days[k]={text:c.getDate(),classname:[]},h!=c.getMonth()&&f.weeks[j].days[k].classname.push("date_selectorNotInMonth"),0===c.getDay()&&f.weeks[j].days[k].classname.push("date_selectorSunday"),6===c.getDay()&&f.weeks[j].days[k].classname.push("date_selectorSaturday");var r=d.options.onRender(c),s=c.valueOf();(r.selected||d.options.date===s||a.inArray(s,d.options.date)>-1||"range"===d.options.mode&&s>=d.options.date[0]&&s<=d.options.date[1])&&f.weeks[j].days[k].classname.push("date_selector_selected"),r.disabled&&f.weeks[j].days[k].classname.push("date_selector_disabled"),r.className&&f.weeks[j].days[k].classname.push(r.className),f.weeks[j].days[k].classname=f.weeks[j].days[k].classname.join(" "),o++,c.addDays(1)}l=e(d.options.template.days.join(""),f)+l,f={data:d.options.locale.monthsShort,className:"date_selector_months"},l=e(d.options.template.months.join(""),f)+l,m.append(l)}},g=function(a,b){if(d.log("parseDate()","function"),a){if(a.constructor===Date)return new Date(a);for(var c,e,f,g,h,i=a.split(/\W+/),j=b.split(/\W+/),k=new Date,l=0;l<i.length;l++)switch(j[l]){case"d":case"e":c=parseInt(i[l],10);break;case"m":e=parseInt(i[l],10)-1;break;case"Y":case"y":f=parseInt(i[l],10),f+=f>100?0:29>f?2e3:1900;break;case"H":case"I":case"k":case"l":g=parseInt(i[l],10);break;case"P":case"p":/pm/i.test(i[l])&&12>g?g+=12:/am/i.test(i[l])&&g>=12&&(g-=12);break;case"M":h=parseInt(i[l],10)}return new Date(void 0===f?k.getFullYear():f,void 0===e?k.getMonth():e,void 0===c?k.getDate():c,void 0===g?k.getHours():g,void 0===h?k.getMinutes():h,0)}};d.formatDate="function"==typeof d.formatDate?d.formatDate:function(a,b){g&&g.log("s.formatDate()","function");var c=a.getMonth(),d=a.getDate(),e=a.getFullYear(),f=(a.getWeekNumber(),a.getDay()),g={},h=a.getHours(),i=h>=12,j=i?h-12:h,k=a.getDayOfYear();0===j&&(j=12);for(var l,m=a.getMinutes(),n=a.getSeconds(),o=b.split(""),p=0;p<o.length;p++){switch(l=o[p],o[p]){case"a":l=a.getDayName();break;case"A":l=a.getDayName(!0);break;case"b":l=a.getMonthName();break;case"B":l=a.getMonthName(!0);break;case"C":l=1+Math.floor(e/100);break;case"d":l=10>d?"0"+d:d;break;case"e":l=d;break;case"H":l=10>h?"0"+h:h;break;case"I":l=10>j?"0"+j:j;break;case"j":l=100>k?10>k?"00"+k:"0"+k:k;break;case"k":l=h;break;case"l":l=j;break;case"m":l=9>c?"0"+(1+c):1+c;break;case"M":l=10>m?"0"+m:m;break;case"p":case"P":l=i?"PM":"AM";break;case"s":l=Math.floor(a.getTime()/1e3);break;case"S":l=10>n?"0"+n:n;break;case"u":l=f+1;break;case"w":l=f;break;case"y":l=(""+e).substr(2,2);break;case"Y":l=e}o[p]=l}return o.join("")},d.extendDate="function"==typeof d.extendDate?d.extendDate:function(a){Date.prototype.tempDate||(Date.prototype.tempDate=null,Date.prototype.months=a.months,Date.prototype.monthsShort=a.monthsShort,Date.prototype.days=a.days,Date.prototype.daysShort=a.daysShort,Date.prototype.getMonthName=function(a){return this[a?"months":"monthsShort"][this.getMonth()]},Date.prototype.getDayName=function(a){return this[a?"days":"daysShort"][this.getDay()]},Date.prototype.addDays=function(a){this.setDate(this.getDate()+a),this.tempDate=this.getDate()},Date.prototype.addMonths=function(a){null===this.tempDate&&(this.tempDate=this.getDate()),this.setDate(1),this.setMonth(this.getMonth()+a),this.setDate(Math.min(this.tempDate,this.getMaxDays()))},Date.prototype.addYears=function(a){null===this.tempDate&&(this.tempDate=this.getDate()),this.setDate(1),this.setFullYear(this.getFullYear()+a),this.setDate(Math.min(this.tempDate,this.getMaxDays()))},Date.prototype.getMaxDays=function(){var a,b=new Date(Date.parse(this)),c=28;for(a=b.getMonth(),c=28;b.getMonth()===a;)c++,b.setDate(c);return c-1},Date.prototype.getFirstDay=function(){var a=new Date(Date.parse(this));return a.setDate(1),a.getDay()},Date.prototype.getWeekNumber=function(){var a=new Date(this);a.setDate(a.getDate()-(a.getDay()+6)%7+3);var b=a.valueOf();return a.setMonth(0),a.setDate(4),Math.round((b-a.valueOf())/6048e5)+1},Date.prototype.getDayOfYear=function(){var a=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0),b=new Date(this.getFullYear(),0,0,0,0,0),c=a-b;return Math.floor(c/24*60*60*1e3)})};var h=function(b){d.log("layout()","function");var c=a(b).data("date_selector"),e=a("#"+c.id);if(!d.options.extraHeight){var f=a(b).find("div");d.options.extraHeight=f.get(0).offsetHeight+f.get(1).offsetHeight,d.options.extraWidth=f.get(2).offsetWidth+f.get(3).offsetWidth}var g=e.find("table:first").get(0),h=g.offsetWidth,i=g.offsetHeight;e.css({width:h+d.options.extraWidth+"px",height:i+d.options.extraHeight+"px"}).find("div.date_selector_container").css({width:h+"px",height:i+"px"})},i=function(b){d.log("click()","function"),a(b.target).is("span")&&(b.target=b.target.parentNode);var c=a(b.target);if(c.is("a")){if(b.stopPropagation(),b.preventDefault(),b.target.blur(),c.hasClass("date_selector_disabled"))return!1;var e=d.options,g=c.parent(),h=g.parent().parent().parent(),i=a("table",this).index(h.get(0))-1,k=new Date(e.current),l=!1,m=!1;if(g.is("th")){if(g.hasClass("date_selectorWeek")&&"range"===d.options.mode&&!g.next().hasClass("date_selector_disabled")){var n=parseInt(g.next().text(),10);k.addMonths(i-Math.floor(d.options.calendars/2)),g.next().hasClass("date_selectorNotInMonth")&&k.addMonths(n>15?-1:1),k.setDate(n),d.options.date[0]=k.setHours(0,0,0,0).valueOf(),k.setHours(23,59,59,0),k.addDays(6),d.options.date[1]=k.valueOf(),m=!0,l=!0,d.options.lastSel=!1}else if(g.hasClass("date_selector_month"))switch(k.addMonths(i-Math.floor(d.options.calendars/2)),h.get(0).className){case"date_selector_view_days":h.get(0).className="date_selector_view_months",c.find("span").text(k.getFullYear());break;case"date_selector_view_months":h.get(0).className="date_selector_view_years",c.find("span").text(k.getFullYear()-6+" - "+(k.getFullYear()+5));break;case"date_selector_view_years":h.get(0).className="date_selector_view_days",c.find("span").text(d.formatDate(k,"B, Y"))}else if(g.parent().parent().is("thead")){switch(h.get(0).className){case"date_selector_view_days":d.options.current.addMonths(g.hasClass("date_selectorGoPrev")?-1:1);break;case"date_selector_view_months":d.options.current.addYears(g.hasClass("date_selectorGoPrev")?-1:1);break;case"date_selector_view_years":d.options.current.addYears(g.hasClass("date_selectorGoPrev")?-12:12)}m=!0}}else if(g.is("td")&&!g.hasClass("date_selector_disabled")){switch(h.get(0).className){case"date_selector_view_months":d.options.current.setMonth(h.find("tbody.date_selector_months td").index(g)),d.options.current.setFullYear(parseInt(h.find("thead th.date_selector_month span").text(),10)),d.options.current.addMonths(Math.floor(d.options.calendars/2)-i),h.get(0).className="date_selector_view_days";break;case"date_selector_view_years":d.options.current.setFullYear(parseInt(c.text(),10)),h.get(0).className="date_selector_view_months";break;default:var n=parseInt(c.text(),10);switch(k.addMonths(i-Math.floor(d.options.calendars/2)),g.hasClass("date_selectorNotInMonth")&&k.addMonths(n>15?-1:1),k.setDate(n),d.options.mode){case"multiple":n=k.setHours(0,0,0,0).valueOf(),a.inArray(n,d.options.date)>-1?a.each(d.options.date,function(a,b){return b===n?(d.options.date.splice(a,1),!1):void 0}):d.options.date.push(n);break;case"range":d.options.lastSel||(d.options.date[0]=k.setHours(0,0,0,0).valueOf()),n=k.setHours(23,59,59,0).valueOf(),n<d.options.date[0]?(d.options.date[1]=d.options.date[0]+86399e3,d.options.date[0]=n-86399e3):d.options.date[1]=n,d.options.lastSel=!d.options.lastSel;break;default:d.options.date=k.valueOf()}}m=!0,l=!0}m&&f(this),l&&d.options.onChange.apply(this,j(e))}},j=function(){d.log("prepareDate()","function");var b;return"single"===d.options.mode?(b=new Date(d.options.date),[d.formatDate(b,d.options.format),b,d.options.el]):(b=[[],[],d.options.el],a.each(d.options.date,function(a,c){var e=new Date(c);b[0].push(d.formatDate(e,d.options.format)),b[1].push(e)}),b)},k=function(){d.log("getViewport()","function");var a="CSS1Compat"===document.compatMode;return{l:window.pageXOffset||(a?document.documentElement.scrollLeft:document.body.scrollLeft),t:window.pageYOffset||(a?document.documentElement.scrollTop:document.body.scrollTop),w:window.innerWidth||(a?document.documentElement.clientWidth:document.body.clientWidth),h:window.innerHeight||(a?document.documentElement.clientHeight:document.body.clientHeight)}},l=function(a,b,c){if(d.log("isChildOf()","function"),a===b)return!0;if(a.contains)return a.contains(b);if(a.compareDocumentPosition)return!!(16&a.compareDocumentPosition(b));for(var e=d.element.parentNode;e&&e!=c;){if(e===a)return!0;e=e.parentNode}return!1},m=function(){d.log("show()","function");var b=this,e=a("#"+a(this).data("date_selector_id"));if(!e.is(":visible")){var g=e.get(0);f(g),d.options.onBeforeShow.apply(this,[g]);{var i=a(b).offset(),j=k(),l=i.top,m=i.left;a.curCSS(g,"display")}switch(e.css({visibility:"hidden",display:"block"}),h(g),d.options.position){case"top":l-=g.offsetHeight;break;case"left":m-=c.offsetWidth;break;case"right":m+=b.offsetWidth;break;case"bottom":l+=b.offsetHeight}l+g.offsetHeight>j.t+j.h&&(l=i.top-g.offsetHeight),l<j.t&&(l=i.top+this.offsetHeight+g.offsetHeight),m+g.offsetWidth>j.l+j.w&&(m=i.left-g.offsetWidth),m<j.l&&(m=i.left+this.offsetWidth),e.css({visibility:"visible",display:"block",top:l+"px",left:m+"px"}),0!=d.options.onShow.apply(this,[g])&&e.show(),a(document).bind("mousedown",{element:b,calendar_object:e,trigger:this},n)}return!1},n=function(b){d.log("hide()","function"),b.target==b.data.trigger||l(b.data.calendar_object,b.target,b.data.element)||(b.data.calendar_object.hide(),a(document).unbind("mousedown",n))};return this.showPicker=d.showPicker="function"==typeof d.showPicker?d.showPicker:function(){return d.log("showPicker()","function"),this.each(function(){a(this).data("date_selector_id")&&m.apply(this)})},this.hidePicker=d.hidePicker="function"==typeof d.hidePicker?d.hidePicker:function(){return d.log("hidePicker()","function"),this.each(function(){a(this).data("date_selector_id")&&a("#"+a(this).data("date_selector_id")).hide()})},this.setDate=d.setDate="function"==typeof d.setDate?d.setDate:function(b,c){return d.log("setDate()","function"),d.element.each(function(){if(!a(this).data("date_selector_id"))return void d.log("setDate() - Element not initialized.","function");a("#"+a(this).data("date_selector_id"));if(d.options.date=b,d.options.date||(d.options.date=new Date),d.options.date.constructor===String&&(d.options.date=g(d.options.date,d.options.format),d.options.date.setHours(0,0,0,0)),"single"!=d.options.mode)if(d.options.date.constructor!=Array)d.options.date=[d.options.date.valueOf()],"range"===d.options.mode&&d.options.date.push(new Date(d.options.date[0]).setHours(23,59,59,0).valueOf());else{for(var e=0;e<d.options.date.length;e++)"undefined"!=typeof d.options.date[e]&&(d.options.date[e]=g(d.options.date[e],d.options.format).setHours(0,0,0,0).valueOf());"range"===d.options.mode&&(d.options.date[1]=new Date(d.options.date[1]).setHours(23,59,59,0).valueOf())}else d.options.date=d.options.date.valueOf();c&&(d.options.current=new Date("single"!=d.options.mode?d.options.date[0]:d.options.date)),f(d.element.get(0))})},this.getDate=d.getDate="function"==typeof d.getDate?d.getDate:function(){return d.log("getDate()","function"),this.size()>0?j(a("#"+a(this).data("date_selector_id")).data("date_selector"))[formated?0:1]:void 0},this.Clear=d.clear="function"==typeof d.clear?d.clear:function(){return d.log("clear()","function"),this.each(function(){if(a(this).data("date_selector_id")){{a("#"+a(this).data("date_selector_id"))}d.options=d.element.data("date_selector"),"single"!=d.options.mode&&(d.options.date=[],f(d.element.get(0)))}})},this.fixLayout=d.fixLayout="function"==typeof d.fixLayout?d.fixLayout:function(){return d.log("fixLayout()","function"),this.each(function(){if(a(this).data("date_selector_id")){{a("#"+a(this).data("date_selector_id"))}d.options=d.element.data("date_selector"),d.options.flat&&h(d.element.get(0))}})},d.initialize(),this}}(jQuery); |