function IsInteger(b){var d="0123456789";var c=true;var a;for(i=0;i<b.length&&c==true;i++){a=b.charAt(i);if(d.indexOf(a)==-1){c=false}}return c}function AutoCorrectDate(b){var a=b.value;if(a.length==8||a.length==6){if(a.indexOf("/")<0){b.value=a.substring(0,2)+"/"+a.substring(2,4)+"/"+a.substring(4,a.length)}}var c;c=b.value.split("/");if(c.length==3){if(IsInteger(c[0])&&IsInteger(c[1])&&IsInteger(c[2])){if(c[0].length==1){c[0]="0"+c[0]}if(c[1].length==1){c[1]="0"+c[1]}if(c[2].length==2){if(c[2]>20){c[2]="19"+c[2]}else{c[2]="20"+c[2]}}b.value=c[0]+"/"+c[1]+"/"+c[2]}}}var undefined;var Calendar_ActiveField;var Calendar_CurrentDay=0;var Calendar_CurrentMonth=0;var Calendar_CurrentYear=0;var Calendar_Highlights=new Array();function ShowCalendar(j,c){if(Calendar_ActiveField!=undefined&&Calendar_ActiveField==document.getElementById(c)){Calendar_CloseOpenCalendar();return}var d=document.getElementById("CalendarPanel");var l=document.getElementById("CalendarPanelIFrame");Calendar_ActiveField=document.getElementById(c);var p=document.getElementById(c+"_highlights");if(p!=undefined){Calendar_Highlights=p.value}Calendar_ProcessDateField(Calendar_ActiveField);if(Calendar_ActiveField.value.indexOf("/")!=-1){var m=getFormattedDate(Calendar_ActiveField.value);m=m.split("/");var h=parseInt(getDateNo(m[1]));var g=parseInt(getDateNo(m[0]));var k=new Date(m[2],h-1,g);Calendar_CurrentDay=g;Calendar_CurrentMonth=k.getMonth()+1;Calendar_CurrentYear=k.getYear()}else{var k=new Date();k=getFormattedDate(k);var a=k.split("/");var f=parseInt(a[1]);var e=parseInt(a[0]);var b=parseInt(a[2]);Calendar_CurrentDay=e;Calendar_CurrentMonth=f;Calendar_CurrentYear=b}BuildCalendar(Calendar_CurrentMonth,Calendar_CurrentYear);var o=findPosition(Calendar_ActiveField)[0];var n=findPosition(Calendar_ActiveField)[1];d.style.display="block";d.style.left=o+"px";d.style.top=n+"px";l.style.display=d.style.display;l.style.left=d.style.left;l.style.top=d.style.top;l.style.width=d.style.width;l.style.height=d.style.height}function getFormattedDate(a){if(a.length>0&&a.indexOf("/")!=-1){var f=a.split("/");var e=parseInt(getDateNo(f[1]));var d=parseInt(getDateNo(f[0]));var c=parseInt(getDateNo(f[2]));return d+"/"+e+"/"+c}else{var b=new Date();d=getDateNo(b.getDate());e=getDateNo(b.getMonth())+1;c=getDateNo(b.getFullYear());return d+"/"+e+"/"+c}}function getDateNo(a){if(a.length==2){if(a.substring(0,1)=="0"){a=a.substring(1,2)}}return a}function findPosition(a){if(a.offsetParent){for(var c=0,b=0;a.offsetParent;a=a.offsetParent){c+=a.offsetLeft;b+=a.offsetTop}return[c,b]}else{return[a.x,a.y]}}function Calendar_CloseOpenCalendar(){Calendar_ActiveField=undefined;document.getElementById("CalendarPanel").style.display="none";document.getElementById("CalendarPanelIFrame").style.display="none";if(typeof calendarDateSelected!="undefined"){calendarDateSelected()}}function AddDays(b,d){var a=b.getDate()+d;var c=b.getMonth();var e=b.getYear();if(e<1900){e+=1900}return new Date(e,c,a)}function AddMonths(b,e){var a=b.getDate();var c=b.getMonth()+e;var d=b.getYear();if(d<1900){d+=1900}return new Date(d,c,a)}function AddYears(b,e){var a=b.getDate();var c=b.getMonth();var d=b.getYear()+e;if(d<1900){d+=1900}return new Date(d,c,a)}function Calendar_ProcessDateField(f){var g=new String(f.value);var d=new Date();var j=false;if(g=="today"){d=AddDays(d,0);j=true}if(g=="tomorrow"){d=AddDays(d,1);j=true}var n=0;var h="";if(g.indexOf("day")!=-1){h="day"}else{if(g.indexOf("week")!=-1){h="week"}else{if(g.indexOf("month")!=-1){h="month"}else{if(g.indexOf("year")!=-1){h="year"}}}}if(h!=""&&!j){var e="";if(g.indexOf("next")>-1){e="1"}else{var a=false;for(var m=g.indexOf(h)-1;m>=0;m--){var l=g.substr(m,1);if((isNaN(l)||l==" ")&&a==true){break}else{if(!isNaN(l)){e=l+e;a=true}}}}if(!isNaN(e)){n=parseInt(e);switch(h){case"day":d=AddDays(d,n);break;case"week":d=AddDays(d,n*7);break;case"month":d=AddMonths(d,n);break;case"year":d=AddYears(d,n);break}j=true}}if(j){var k=d.getDate();var b=d.getMonth()+1;var c=d.getYear();if(c<1900){c+=1900}f.value=k+"/"+b+"/"+c}}function GetFirstDayOfMonth(c,a){var e=new Date();e.setDate(1);e.setMonth(c-1);e.setYear(a);var b=e.getDay();if(b==0){b=6}else{b--}return b+1}function IsLeapYear(a){return(a%4==0)&&((a%100!=0)||(a%400==0))}function DaysInMonth(b,a){var d=[31,28,31,30,31,30,31,31,30,31,30,31];var c=(b!=2||!IsLeapYear(a))?d[b-1]:29;return c}function MonthName(a){var b=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return b[a-1]}function BuildCalendar(g,b){if(b<1900){b+=1900}Calendar_CurrentMonth=g;Calendar_CurrentYear=b;document.getElementById("CalHead_Month").innerHTML=MonthName(g);document.getElementById("CalHead_Year").innerHTML=b;var e=DaysInMonth(getDateNo(g),b);var f=GetFirstDayOfMonth(getDateNo(g),b);var k=0;var a=1;var d=1;var n=document.getElementById("Cal_R6");n.style.display="none";for(var h=0;h<42;h++){var c=document.getElementById("Cal_R"+a+"C"+d);if(h>=f&&k<e){k++;var j=false;var m=false;var l=k+"/"+Calendar_CurrentMonth+"/"+Calendar_CurrentYear;if((","+Calendar_Highlights+",").indexOf(l)!=-1){j=true}if(getFormattedDate(Calendar_ActiveField.value)==l){m=true}c.innerHTML=k;c.title="Select "+l;c.style.display="inline";c.style.fontWeight=j?"bold":"normal";c.style.textDecoration=m?"underline":"none";if(a==6){n.style.display=""}}else{c.innerHTML="";c.style.display="none"}if(++d>7){d=1;a++}}}function Calendar_PreviousMonth(){Calendar_CurrentMonth--;if(Calendar_CurrentMonth==0){Calendar_CurrentMonth=12;Calendar_CurrentYear--}BuildCalendar(Calendar_CurrentMonth,Calendar_CurrentYear)}function Calendar_NextMonth(){Calendar_CurrentMonth++;if(Calendar_CurrentMonth==13){Calendar_CurrentMonth=1;Calendar_CurrentYear++}BuildCalendar(Calendar_CurrentMonth,Calendar_CurrentYear)}function Calendar_PreviousYear(){BuildCalendar(Calendar_CurrentMonth,--Calendar_CurrentYear)}function Calendar_NextYear(){BuildCalendar(Calendar_CurrentMonth,++Calendar_CurrentYear)}function Calendar_SelectDay(a){var b="0"+a.innerHTML;var c="0"+Calendar_CurrentMonth;Calendar_ActiveField.value=Right(b,2)+"/"+Right(c,2)+"/"+Calendar_CurrentYear;Calendar_CloseOpenCalendar()}function Right(b,c){if(c<=0){return""}else{if(c>String(b).length){return b}else{var a=String(b).length;return String(b).substring(a,a-c)}}};
