﻿function Calendar(o,a,f,c,w){var k=document.getElementById(o);var b=a;var j=new Date(w);var h=c;j.setDate(1);j.setHours(0);j.setMinutes(0);j.setSeconds(0);this.Selection=[];this.Navigate=e;this.Render=v;this.GetDate=x;this.GetDays=g;this.SetDay=p;this.SetDate=q;this.GetTimeUTC=l;this.ShowLoader=m;this.HideLoader=t;$(k).createAppend("div",{className:"CalControls"},["a",{id:"CalPrev",href:"javascript:void(0);",title:window.Translate.PrevMonth},["img",{src:"/images/calendar_prev.png",alt:window.Translate.PrevMonth},""],"a",{id:"CalNext",href:"javascript:void(0);",title:window.Translate.NextMonth},["img",{src:"/images/calendar_next.png",alt:window.Translate.NextMonth},""]]).children().bind("click",this,function(i){i.data.Navigate(this.id)});var n=$(".CalControls",k).createAppend("div",{className:"CalTitle"})[0];for(var s=0;s<7;s++){$(k).createAppend("div",{className:"CalDayHead"},window.Translate.DaysAbr[s])}var d=$(k).createAppend("div",{className:"CalDays"})[0];function e(y){j.setDate(1);var i=new Date(j);switch(y){case"CalPrev":j.add("mo",-1);break;case"CalNext":j.add("mo",1);break}$(this).trigger({type:"OnMonthChanged",CurrentDate:j,PreviousDate:i})}function u(B,A){var i=r(B.data);var z=new Date(j);var y=parseInt(i.attr("id").substring(3));if(B.data<6&&y>22){z.add("mo",-1)}else{if(B.data>27&&y<7){z.add("mo",1)}else{j.setDate(y)}}z.setDate(y);$(d).find(".CalDaySelected").removeClass("CalDaySelected");i.addClass("CalDaySelected");$(A).trigger({type:"OnDayClicked",Date:z,Day:i,CtrlKey:B.ctrlKey})}function r(i){return $(d).children("div").eq(i)}function g(){return $(d).children("div")}function x(){var i=new Date(j.getFullYear(),j.getMonth(),1,0,0);return i}function l(){var i=x();i.add("mi",0-i.getTimezoneOffset());return i.getTime()}function q(i){j=i}function p(i){j.setDate(i)}function m(){var i=k.offsetHeight;var y=k.offsetWidth;var A=k.offsetLeft;var z=k.offsetTop;$(_DivLoader).css({left:A,top:z,width:y,height:i,display:"block"})}function t(){$(_DivLoader).css("display","none")}function v(){var C=this;var z=new Date(j);z.setDate(1);var F;n.innerHTML=window.Translate.Months[z.getMonth()]+" "+z.getFullYear();$(d).empty();var B=daysInMonth(z.add("mo",-1));var y=new Date(z);z.add("mo",1);var D=z.getDayMon();if(h&&D>0){$(d).createAppend("span",{className:"CalWeek"},z.getWeek()+"")}for(var A=0;A<z.getDayMon();A++){var E=B-z.getDayMon()+1+A;F=$(d).createAppend("div",{id:"Day"+E,className:"CalDay CalDayOtherMonth"},""+E);if(b){F.bind("click",A,function(i){u(i,C)});y.setDate(E);$(this).trigger({type:"OnDayRendered",Date:y,Div:F})}}for(A=0;A<daysInMonth(z);A++){z.setDate(A+1);if(h&&z.getDayMon()===0){$(d).createAppend("span",{className:"CalWeek"},z.getWeek()+"")}F=$(d).createAppend("div",{id:"Day"+(A+1),className:"CalDay"},""+(A+1)).bind("click",D+A,function(i){u(i,C)});$(this).trigger({type:"OnDayRendered",Date:z,Div:F})}y.setDate(1);y.add("mo",2);for(A=0;A<6-z.getDayMon();A++){F=$(d).createAppend("div",{id:"Day"+(A+1),className:"CalDay CalDayOtherMonth"},""+(A+1));if(b){F.bind("click",D+A+daysInMonth(z),function(i){u(i,C)});y.setDate(A+1);$(this).trigger({type:"OnDayRendered",Date:y,Div:F})}}}};
function EventCalendar(h,c,a){var e=c;var b=a||e[0].Date;if(e[0].Date>a){b=e[0].Date}var g=new Calendar(h,false,true,false,b);var d=document.createElement("div");$(d).addClass("CalEventFlag").appendTo("body");$(g).bind("OnMonthChanged",g.Render);$(g).bind("OnDayRendered",f);g.Render();function f(k){for(var j=0;j<e.length;j++){if(k.Date.compare("d",e[j].Date)){k.Div.addClass("CalEventAvailable").data("Times",e[j].Times||[]).hover(function(){var n=$(this).data("Times");var m=k.Div.offset();if(n.length>0){var l=[];for(var i=0;i<n.length;i++){l.push("<span>"+n[i].TimeStart+(n[i].TimeEnd!=""?" - "+n[i].TimeEnd:"")+"</span>")}$(d).html(l.join("")).css({left:m.left-2,top:m.top-39}).show()}},function(){$(d).hide()});break}}}};
function InputCalendar(b){var a=this;var g=document.getElementById(b);var c=new Calendar(b,true,true,false,new Date());var j=true;var h={Id:"",DayDiff:0};this.Render=e;this.Day_Click=f;$(document).bind("click",d);$(c).bind("OnDayClicked",f);$(c).bind("OnMonthChanged",e);$(c).bind("OnDayRendered",i);function e(){j=false;c.Render()}this.Display=function(k){j=false;_Input=k;if(arguments.length>1){h={Id:arguments[1],DayDiff:arguments[2]}}else{h={Id:"",DayDiff:0}}if(_Input.value!==""){var q=new Date();q.parseFormat(_Input.value);c.SetDate(q)}c.Render();var p=$(_Input).offset();$(g).css({display:"block",left:p.left+"px",top:(p.top+20)+"px"});if($.browser.msie&&parseInt($.browser.version)<=6){var o=$(g).offset();o.width=$(g).width();o.height=$(g).height();var m=document.getElementsByTagName("select");for(var l=0;l<m.length;l++){var n=$(m[l]).offset();n.width=$(m[l]).width();n.height=$(m[l]).height();if(n.left<=(o.left+o.width)&&n.top<=(o.top+o.height)&&(n.left+n.width)>=o.left&&(n.top+n.height)>=o.top){$(m[l]).css("visibility","hidden")}}}};function f(k){if(k.Date>=new Date().add("d",-1)){_Input.value=k.Date.toFormat();if(h.Id!==""){document.getElementById(h.Id).value=k.Date.add("d",h.DayDiff).toFormat()}$(g).hide()}}function i(k){if(k.Date<new Date().add("d",-1)){k.Div.addClass("Disabled")}}function d(k){if(j&&document.getElementById("InputCalendar")){_Timer=setTimeout(function(){$("#InputCalendar").css("display","none");$("select").css("visibility","visible")},500)}j=true}};
