(function(s){s.fn.DF_calendar=function(f){f=s.extend({fd:s("#from_day"),fo:s("#from_oth"),td:s("#to_day"),to:s("#to_oth"),answer:"",t:[],cur:[],fin:[],first:true,listOfDays:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],listOfM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],listOfMonths:["January","February","March","April","May","June","July","August","September","October","November","December"]},f||{});return this.each(function(){function z(l,m,p){e=new Date(l+"/1/"+m);firstDay= e.getDay();if(firstDay==0)firstDay=7;countDay=w(l,m);A(l,m,firstDay,countDay,p)}function A(l,m,p,o,B){if(B){f.answer+='<div class="wrapper_l">';if(f.t.m<l&&f.t.y==m||m>f.t.y)f.answer+='<a href="" class="prev" onclick="df.d.prev(); return false;">prev</a>'}else{f.answer+='<div class="wrapper_r">';if(f.fin.m>l&&f.fin.y==m||m<f.fin.y)f.answer+='<a href="" class="next" onclick="df.d.next(); return false;">next</a>'}f.answer+='<div class="month">'+f.listOfMonths[l-1]+", "+m+"</div>";f.answer+='<table class="ad-calendar" cellpadding=0 cellspacing=0>'; f.answer+='<tr class="title">';for(i=0;i<7;i++)f.answer+="<th>"+f.listOfDays[i]+"</th>";f.answer+="</tr>";f.answer+="<tr>";for(i=1;i<p;i++)f.answer+="<td></td>";for(day=1;day<=o;day++){if(i>7){f.answer+="</tr><tr>";i=1}i++;g=new Date(l+"/"+day+"/"+m);h=g.getTime();if(m<f.t.y||l<f.t.m&&m==f.t.y||l==f.t.m&&m==f.t.y&&day<f.t.d)f.answer+="<td>"+day+"</td>";else if(q()[0]==h)if(f.first){f.answer+='<td><a href="" onclick="df.d.f('+l+","+day+","+m+'); return false;">'+day+"</a></td>";f.first=false}else f.answer+= '<td><a href="" onclick="df.d.f('+l+","+day+","+m+'); return false;" class="activ">'+day+"</a></td>";else f.answer+=h>q()[0]&&h<=q()[1]?'<td><a href="" onclick="df.d.f('+l+","+day+","+m+'); return false;" class="activ">'+day+"</a></td>":'<td><a href="" onclick="df.d.f('+l+","+day+","+m+'); return false;">'+day+"</a></td>"}for(;i<=7;i++)f.answer+="<td></td>";f.answer+="</tr>";f.answer+="</table>";f.answer+="</div>"}function w(l,m){var p;if(l!=2){p=new Date(l+"/31/"+m);var o=l<12?l+1:1;l=l<12?m:m+1; o=new Date(o+"/1/"+l);p=p.getDay()==o.getDay()?30:31}else{p=new Date(l+"/29/"+m);o=l<12?l+1:1;l=l<12?m:m+1;o=new Date(o+"/1/"+l);p=p.getDay()==o.getDay()?28:29}return p}function u(l,m){_m=l<12?l+1:1;_y=l<12?m:m+1;return[_m,_y]}function t(l,m){_m=l>1?l-1:12;_y=l>1?m:m-1;return[_m,_y]}function x(l,m,p){s("#VSStartDate").attr("value",l+"."+m+"."+p);dw=f.t.d;mw=f.t.m;yw=f.t.y;cDay=w(m,p);f.fd[0].options.length=0;f.fo[0].options.length=0;if(cDay<l)l=cDay;var o=m==f.t.m?f.t.d:1;tt=cDay+1-o;for(i=1;i<=tt;i++){f.fd[0].options[i- 1]=l==o?new Option(o,o,false,true):new Option(o,o);o++}for(i=0;i<15;i++){f.fo[0].options[i]=mw==m&&yw==p?new Option(f.listOfM[mw-1]+" "+yw,mw+"/"+yw,false,true):new Option(f.listOfM[mw-1]+" "+yw,mw+"/"+yw);mw=u(mw,yw)[0];yw=u(mw,yw)[1]}f.fin.m=t(mw,yw)[0];f.fin.y=yw}function y(l,m,p){s("#VSEndDate").attr("value",l+"."+m+"."+p);dw=f.t.d;mw=f.t.m;yw=f.t.y;cDay=w(m,p);f.td[0].options.length=0;f.to[0].options.length=0;if(cDay<l)l=cDay;var o=m==f.t.m?f.t.d:1;tt=cDay+1-o;for(i=1;i<=tt;i++){f.td[0].options[i- 1]=l==o?new Option(o,o,false,true):new Option(o,o);o++}for(i=0;i<15;i++){f.to[0].options[i]=mw==m&&yw==p?new Option(f.listOfM[mw-1]+" "+yw,mw+"/"+yw,false,true):new Option(f.listOfM[mw-1]+" "+yw,mw+"/"+yw);mw=u(mw,yw)[0];yw=u(mw,yw)[1]}}function q(){a=f.fd.attr("value");b=f.fo.attr("value");c=b.split("/");d=new Date(c[0]+"/"+a+"/"+c[1]);a=f.td.attr("value");b=f.to.attr("value");c=b.split("/");e=new Date(c[0]+"/"+a+"/"+c[1]);return[d.getTime(),e.getTime()]}function v(l,m){z(l,m,true);z(u(l,m)[0],u(l, m)[1],false);C.innerHTML=f.answer;f.answer=""}function D(){e=new Date;n=e.getTime()+2592E5;e=new Date(n);f.t.d=f.cur.d=e.getDate();f.t.m=f.cur.m=e.getMonth()+1;f.t.y=f.cur.y=e.getFullYear();x(f.t.d,f.t.m,f.t.y);y(f.t.d,f.t.m,f.t.y);v(f.t.m,f.t.y)}function r(l){e=new Date;e.setTime(l);return[e.getDate(),e.getMonth()+1,e.getFullYear()]}function E(){this.firsr=false;this.next=function(){j=u(f.cur.m,f.cur.y)[0];k=u(f.cur.m,f.cur.y)[1];v(j,k);f.cur.m=j;f.cur.y=k};this.prev=function(){j=t(f.cur.m,f.cur.y)[0]; k=t(f.cur.m,f.cur.y)[1];v(j,k);f.cur.m=j;f.cur.y=k};this.f=function(l,m,p){bp=new Date(l+"/"+m+"/"+p);gg=bp.getTime();if(!this.firsr||gg<q()[0]){this.firsr=true;x(m,l,p)}else{this.firsr=false;y(m,l,p)}v(f.cur.m,f.cur.y)}}var C=this;D();f.fd.change(function(){v(f.cur.m,f.cur.y)});f.fo.change(function(){di=r(q()[0])[0];mi=r(q()[0])[1];yi=r(q()[0])[2];x(di,mi,yi);if(f.fin.m==mi&&f.fin.y==yi){f.cur.m=t(mi,yi)[0];f.cur.y=t(mi,yi)[1]}else{f.cur.m=mi;f.cur.y=yi}v(f.cur.m,f.cur.y)});f.td.change(function(){v(f.cur.m, f.cur.y)});f.to.change(function(){di=r(q()[1])[0];mi=r(q()[1])[1];yi=r(q()[1])[2];y(di,mi,yi);if(r(q()[0])[1]<r(q()[1])[1]&&r(q()[0])[2]==r(q()[1])[2]||r(q()[0])[2]<r(q()[1])[2]){f.cur.m=t(mi,yi)[0];f.cur.y=t(mi,yi)[1]}else if(f.fin.m==r(q()[1])[1]&&f.fin.y==r(q()[1])[2]){f.cur.m=t(mi,yi)[0];f.cur.y=t(mi,yi)[1]}else{f.cur.m=mi;f.cur.y=yi}v(f.cur.m,f.cur.y)});s.d=new E})};window.df=s})(jQuery);
