var datePickerDivID="datepicker",iFrameDivID="datepickeriframe",dayArrayShort=new Array("Su","Mo","Tu","We","Th","Fr","Sa"),dayArrayMed=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat"),dayArrayLong=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"),monthArrayShort=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"),monthArrayMed=new Array("Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"),monthArrayLong=new Array("January",
"February","March","April","May","June","July","August","September","October","November","December"),defaultDateSeparator="/",defaultDateFormat="mdy",dateSeparator=defaultDateSeparator,dateFormat=defaultDateFormat;
function displayDatePicker(b,a,d,e){b=document.getElementsByName(b).item(0);a||(a=b);dateSeparator=e?e:defaultDateSeparator;dateFormat=d?d:defaultDateFormat;d=a.offsetLeft;e=a.offsetTop+a.offsetHeight;for(a=a;a.offsetParent;){a=a.offsetParent;d+=a.offsetLeft;e+=a.offsetTop}drawDatePicker(b,d,e)}
function drawDatePicker(b,a,d){var e=getFieldDate(b.value);if(!document.getElementById(datePickerDivID)){var c=document.createElement("div");c.setAttribute("id",datePickerDivID);c.setAttribute("class","dpDiv");c.setAttribute("style","visibility: hidden;");document.body.appendChild(c)}c=document.getElementById(datePickerDivID);c.style.position="absolute";c.style.left=a+"px";c.style.top=d+"px";c.style.visibility=c.style.visibility=="visible"?"hidden":"visible";c.style.display=c.style.display=="block"?
"none":"block";c.style.zIndex=10000;refreshDatePicker(b.name,e.getFullYear(),e.getMonth(),e.getDate())}
function refreshDatePicker(b,a,d,e){var c=new Date;if(d>=0&&a>0)c=new Date(a,d,1);else{e=c.getDate();c.setDate(1)}var g="\r\n",f="<table cols=7 class='dpTable'>"+g;a="</table>"+g;var k="<tr class='dpTR'>",n="<tr class='dpTitleTR'>",o="<tr class='dpDayTR'>";d="<tr class='dpTodayButtonTR'>";var h="</tr>"+g,j="<td class='dpTD' onMouseOut='this.className=\"dpTD\";' onMouseOver=' this.className=\"dpTDHover\";' ",p="<td colspan=5 class='dpTitleTD'>",l="<td class='dpButtonTD'>",q="<td colspan=7 class='dpTodayButtonTD'>",
r="<td class='dpDayTD'>",s="<td class='dpDayHighlightTD' onMouseOut='this.className=\"dpDayHighlightTD\";' onMouseOver='this.className=\"dpTDHover\";' ";g="</td>"+g;var t="<div class='dpTitleText'>",u="<div class='dpDayHighlight'>",m="</div>";f=f;f+=n;f+=l+getButtonCode(b,c,-1,"&lt;")+g;f+=p+t+monthArrayLong[c.getMonth()]+" "+c.getFullYear()+m+g;f+=l+getButtonCode(b,c,1,"&gt;")+g;f+=h;f+=o;for(i=0;i<dayArrayShort.length;i++)f+=r+dayArrayShort[i]+g;f+=h;f+=k;for(i=0;i<c.getDay();i++)f+=j+"&nbsp;"+
g;do{dayNum=c.getDate();TD_onclick=" onclick=\"updateDateField('"+b+"', '"+getDateString(c)+"');\">";f+=dayNum==e?s+TD_onclick+u+dayNum+m+g:j+TD_onclick+dayNum+g;if(c.getDay()==6)f+=h+k;c.setDate(c.getDate()+1)}while(c.getDate()>1);if(c.getDay()>0)for(i=6;i>c.getDay();i--)f+=j+"&nbsp;"+g;f+=h;e=new Date;e="Today is "+dayArrayMed[e.getDay()]+", "+monthArrayMed[e.getMonth()]+" "+e.getDate();f+=d+q;f+="<button class='dpTodayButton' onClick='refreshDatePicker(\""+b+"\");'>this month</button> ";f+="<button class='dpTodayButton' onClick='updateDateField(\""+
b+"\");'>close</button>";f+=g+h;f+=a;document.getElementById(datePickerDivID).innerHTML=f;adjustiFrame()}function getButtonCode(b,a,d,e){var c=(a.getMonth()+d)%12;a=a.getFullYear()+parseInt((a.getMonth()+d)/12);if(c<0){c+=12;a+=-1}return"<button class='dpButton' onClick='refreshDatePicker(\""+b+'", '+a+", "+c+");'>"+e+"</button>"}
function getDateString(b){var a="00"+b.getDate(),d="00"+(b.getMonth()+1);a=a.substring(a.length-2);d=d.substring(d.length-2);switch(dateFormat){case "dmy":return a+dateSeparator+d+dateSeparator+b.getFullYear();case "ymd":return b.getFullYear()+dateSeparator+d+dateSeparator+a;case "mdy":default:return d+dateSeparator+a+dateSeparator+b.getFullYear()}}
function getFieldDate(b){var a,d,e,c,g;try{if(d=splitDateString(b)){switch(dateFormat){case "dmy":e=parseInt(d[0],10);c=parseInt(d[1],10)-1;g=parseInt(d[2],10);break;case "ymd":e=parseInt(d[2],10);c=parseInt(d[1],10)-1;g=parseInt(d[0],10);break;case "mdy":default:e=parseInt(d[1],10);c=parseInt(d[0],10)-1;g=parseInt(d[2],10);break}a=new Date(g,c,e)}else a=b?new Date(b):new Date}catch(f){a=new Date}return a}
function splitDateString(b){return b=b.indexOf("/")>=0?b.split("/"):b.indexOf(".")>=0?b.split("."):b.indexOf("-")>=0?b.split("-"):b.indexOf("\\")>=0?b.split("\\"):false}function updateDateField(b,a){b=document.getElementsByName(b).item(0);if(a)b.value=a;var d=document.getElementById(datePickerDivID);d.style.visibility="hidden";d.style.display="none";adjustiFrame();b.focus();a&&typeof datePickerClosed=="function"&&datePickerClosed(b)}
function adjustiFrame(b,a){var d=navigator.userAgent.toLowerCase().indexOf("opera")!=-1;if(!d)try{if(!document.getElementById(iFrameDivID)){var e=document.createElement("iFrame");e.setAttribute("id",iFrameDivID);e.setAttribute("src","javascript:false;");e.setAttribute("scrolling","no");e.setAttribute("frameborder","0");document.body.appendChild(e)}b||(b=document.getElementById(datePickerDivID));a||(a=document.getElementById(iFrameDivID));try{a.style.position="absolute";a.style.width=b.offsetWidth;
a.style.height=b.offsetHeight;a.style.top=b.style.top;a.style.left=b.style.left;a.style.zIndex=b.style.zIndex-1;a.style.visibility=b.style.visibility;a.style.display=b.style.display}catch(c){}}catch(g){}};
