
var cal1;function ShowCalendar(e,dname,minDate,maxDate,curDate,dateFormat,lng){var oCal;if(oCal==null)oCal=document.getElementById(dname);var d;if(curDate!=""){if(isNaN(d=getDateF(curDate,dateFormat)))d=new Date();}else d=new Date();if(cal1==null){cal1=new Calendar("cal1",e,d,lng);cal1.oRenderIn=oCal;}else{cal1.attachedId=e;cal1.calendarDate=d;};var mD;if((minDate!="")&&(!isNaN(mD=getDateF(minDate,dateFormat))))cal1.minDate=mD;if((maxDate!="")&&(!isNaN(mD=getDateF(maxDate,dateFormat))))cal1.maxDate=mD;cal1.dateFormat=dateFormat;cal1.RenderCalendar();SetCalendarPos(e,dname);oCal.style.visibility="visible";};function getDateF(da,df){var d,m,D;if((D=/^(\d{1,2})([-\/])(\d{1,2})([-\/])(\d\d\d\d)$/.exec(da))!=null){if(df=="mm/dd/yyyy"){m=D[1]-1;d=D[3];}else{m=D[3]-1;d=D[1];};with(D=new Date(D[5],m,d)){if(getMonth()==m&&getDate()==d){setUTCHours(0);setUTCMinutes(0);setUTCSeconds(0);setUTCMilliseconds(0);return 	D;}}};return NaN;};function SetCalendarPos(e,dname){var dB=document.body;var eL=0;var eT=0;var cF;var cP=document.getElementById(e);var align="left";if(!cF)cF=document.getElementById(dname);for(var p=cP;p&&p.tagName!='BODY';p=p.offsetParent){eL+=p.offsetLeft;eT+=p.offsetTop;};eL-=cP.offsetWidth;if((align=="center")||(align=="right")){o=document.getElementById("cal_"+e);if(o!=null)if(align=="right")eL+=(o.offsetWidth-cP.offsetWidth)*(-1);else eL+=(o.offsetWidth-cP.offsetWidth)/(-2);};var eH=cP.offsetHeight;var dH=parseInt(cF.style.height);var sT=getScrollTop();if((eT-dH>=sT)&&(eT+eH+dH>getWinHeight()+sT))eT-=dH;else eT+=eH;var eW=cP.offsetWidth;var dW=parseInt(cF.style.width);var sL=getScrollLeft();if((eL-dW>=sL)&&(eL+eW+dW>getWinWidth()+sL))eL-=dW;else eL+=eW;cF.style.left=eL+'px';cF.style.top=eT+'px';};function getScrollTop(){if(document.documentElement.scrollTop)return document.documentElement.scrollTop;if(document.body.scrollTop)return document.body.scrollTop;if(window.pageYOffset)return window.pageYOffset;return 0;};function getWinHeight(){if(window.innerHeight)return window.innerHeight;if(document.documentElement.clientHeight)return document.documentElement.clientHeight;if(document.body.clientHeight)return document.body.clientHeight;return 0;};function getScrollLeft(){if(document.documentElement.scrollLeft)return document.documentElement.scrollLeft;if(document.body.scrollLeft)return document.body.scrollLeft;if(window.pageXOffset)return window.pageXOffset;return 0;};function getWinWidth(){if(window.innerWidth)return window.innerWidth;if(document.documentElement.clientWidth)return document.documentElement.clientWidth;if(document.body.clientWidth)return document.body.clientWidth;return 0;};function Calendar(cname,id,date,lng){this.UpdateFromSingle=updateFromSingle;this.UpdateFromMultiDay=updateFromMultiDay;this.UpdateFromMultiMonth=updateFromMultiMonth;this.UpdateFromMultiYear=updateFromMultiYear;this.GetFirstCalendarDate=getFirstCalendarDate;this.RenderCalendar=renderCalendar;this.ScrollMonthBack=scrollMonthBack;this.SelectDate=selectDate;this.ScrollMonthForward=scrollMonthForward;this.SetFieldValue=setFieldValue;this.BuildHeader=buildHeader;this.BuildStaticHeader=buildStaticHeader;this.RenderDayDisabled=renderDayDisabled;this.RenderDayEnabled=renderDayEnabled;this.RenderDayEvent=renderDayEvent;this.BuildCalendarTable=buildCalendarTable;this.CloseCalendar=closeCalendar;this.dateFormat="mm/dd/yyyy";this.oRenderIn=null;this.fallback_single=0;this.fallback_multi=1;this.fallback_both=2;this.viewOnly=false;this.allowWeekends=true;this.allowWeekdays=true;this.minDate="--";this.maxDate="--";this.scrolling=true;this.name=cname;this.firstDayOfWeek=0;this.fallback=this.fallback_single;this.calendarDate=date;this.calendarDate.setUTCHours(0);this.calendarDate.setUTCMinutes(0);this.calendarDate.setUTCSeconds(0);this.calendarDate.setUTCMilliseconds(0);this.attachedId=id;this.controlLeft="&#171;";this.controlRight="&#187;";this.controlLeftDisabled="&nbsp;";this.controlRightDisabled="&nbsp;";this.calendarStyle="cal_calendar";this.headerStyle="cal_header";this.headerCellStyle="cal_headercell";this.headerCellStyleNoHand="cal_labelcellnh";this.headerCellStyleLabel="cal_labelcell";this.weekStyle="cal_week";this.evenWeekStyle="cal_evenweek";this.oddWeekStyle="cal_oddweek";this.dayStyle="cal_day";this.disabledDayStyle="cal_disabled";this.commonDayStyle="cal_common";this.holidayDayStyle="cal_holiday";this.eventDayStyle="cal_event";this.todayDayStyle="cal_today";this.dayHigLight="cal_higlight";if(lng=="es"){this.closeText="cerrar";this.dayLabels=new Array("Do","Lu","Ma","Mi","Ju","Vi","Sa");this.monthLabels=new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");}else{this.closeText="close";this.dayLabels=new Array("Su","Mo","Tu","We","Th","Fr","Sa");this.monthLabels=new Array("January","February","March","April","May","June","July","August","September","October","November","December");};this.eventDates=new Array();if(this.viewOnly==false){if((this.fallback==this.fallback_both)||(this.fallback==this.fallback_single)){eval("document.getElementById(\"" + this.attachedId + "\").onchange = function () {"+this.name+".UpdateFromSingle("+this.name+", this);};");};if((this.fallback==this.fallback_both)||(this.fallback==this.fallback_multi)){eval("document.getElementById(\"" + this.attachedId + "_day\").onchange = function () {"+this.name+".UpdateFromMultiDay("+this.name+", this);};");eval("document.getElementById(\"" + this.attachedId + "_month\").onchange = function () {"+this.name+".UpdateFromMultiMonth("+this.name+", this);};");eval("document.getElementById(\"" + this.attachedId + "_year\").onchange = function () {"+this.name+".UpdateFromMultiYear("+this.name+", this);};");}};selectEvent=new Function();};function updateFromSingle(sender,helper){newDate=new Date(helper.value);if(!isNaN(newDate)){newDate.setUTCDate(newDate.getUTCDate()+1);sender.calendarDate=newDate;this.RenderCalendar();this.SetFieldValue(this.calendarDate);}else this.CloseCalendar();};function updateFromMultiDay(sender,helper){if(isNaN(helper.value)){helper.value=sender.calendarDate.getUTCDate();return false;};sender.calendarDate.setUTCDate(helper.value);this.RenderCalendar();this.SetFieldValue(this.calendarDate);};function updateFromMultiMonth(sender,helper){if(isNaN(helper.value)){helper.value=sender.calendarDate.getUTCMonths()-1;return false;};sender.calendarDate.setUTCMonth(helper.value-1);this.RenderCalendar();this.SetFieldValue(this.calendarDate);};function updateFromMultiYear(sender,helper){if(isNaN(helper.value)){helper.value=sender.calendarDate.getUTCFullYear();return false;};sender.calendarDate.setUTCFullYear(helper.value);this.RenderCalendar();this.SetFieldValue(this.calendarDate);};function getFirstCalendarDate(){return new Date(this.calendarDate.getUTCFullYear(),this.calendarDate.getUTCMonth(),1);};function renderCalendar(){if(this.oRenderIn!=null){calHtml1=("<table id=\"cal_" + this.attachedId + "\" class=\"" + this.calendarStyle + "\">");calHtml1+=((this.scrolling)?this.BuildHeader(this):this.BuildStaticHeader(this));calHtml1+=this.BuildCalendarTable(this);calHtml1+=("</table>");this.oRenderIn.innerHTML=calHtml1;if((window.navigator.userAgent.indexOf("MSIE")!=-1)&&(window.navigator.userAgent.indexOf("Opera")==-1)){this.oRenderIn.innerHTML="<iframe class=\"cal_iframe\" src=\"about:blank\" scrolling=\"no\" frameborder=\"0\"></iframe>"+this.oRenderIn.innerHTML;var ieMat=this.oRenderIn.firstChild;ieMat.style.width=this.oRenderIn.offsetWidth+"px";ieMat.style.height=this.oRenderIn.offsetHeight+"px";}}};function scrollMonthBack(){this.calendarDate.setUTCMonth(this.calendarDate.getUTCMonth()-1,1);this.RenderCalendar();};function selectDate(day){if(!this.viewOnly){this.calendarDate.setUTCDate(day);this.SetFieldValue(this.calendarDate);this.RenderCalendar();}};function scrollMonthForward(){this.calendarDate.setUTCMonth(this.calendarDate.getUTCMonth()+1,1);this.RenderCalendar();};function setFieldValue(date){if(this.fallback!=null){if((this.fallback==this.fallback_both)||(this.fallback==this.fallback_single))if(this.dateFormat=="mm/dd/yyyy")document.getElementById(this.attachedId).value=(date.getUTCMonth()+1)+"/"+date.getUTCDate()+"/"+date.getUTCFullYear();else document.getElementById(this.attachedId).value=date.getUTCDate()+"/"+(date.getUTCMonth()+1)+"/"+date.getUTCFullYear();if((this.fallback==this.fallback_both)||(this.fallback==this.fallback_multi)){document.getElementById(this.attachedId+"_year").value=date.getUTCFullYear();document.getElementById(this.attachedId+"_month").selectedIndex=date.getUTCMonth();document.getElementById(this.attachedId+"_day").value=date.getUTCDate();}};this.CloseCalendar();};function buildHeader(){enableLeft=true;enableRight=true;if(this.minDate!="--"){if(this.calendarDate.getUTCFullYear()<=this.minDate.getUTCFullYear()){if(this.calendarDate.getUTCMonth()<=this.minDate.getUTCMonth()){enableLeft=false;}}};if(this.maxDate!="--"){if(this.calendarDate.getUTCFullYear()>=this.maxDate.getUTCFullYear()){if(this.calendarDate.getUTCMonth()>=this.maxDate.getUTCMonth()){enableRight=false;}}};calHtml2="";calHtml2+=("<tr class=\""+ this.headerStyle+ "\">");calHtml2+=("<td "+((enableLeft)?("class=\"" + this.headerCellStyleLabel + "\" onclick=\"javascript:" + this.name + ".ScrollMonthBack()" + "\">"):"class=\"" + this.headerCellStyle + "\">")+((enableLeft)?this.controlLeft:this.controlLeftDisabled)+"</td>");calHtml2+=("<td colspan=\"5\" class=\""+ this.headerCellStyleNoHand+ "\">"+this.monthLabels[this.calendarDate.getUTCMonth()]+", "+this.calendarDate.getUTCFullYear()+"</td>");calHtml2+=("<td "+((enableRight)?("class=\"" + this.headerCellStyleLabel + "\" onclick=\"javascript:" + this.name + ".ScrollMonthForward()" + "\">"):"class=\"" + this.headerCellStyle + "\">")+((enableRight)?this.controlRight:this.controlRightDisabled)+"</td>");calHtml2+=("</tr>");calHtml2+=("<tr class=\""+ this.headerStyle+ "\">");for(i=0;i<7;i++){showDay=i+this.firstDayOfWeek;if(showDay>6)showDay=showDay-7;calHtml2+=("<td class=\""+ this.headerCellStyle+ "\">"+this.dayLabels[showDay]+"</td>");};calHtml2+=("</tr>");return calHtml2;};function buildStaticHeader(){calHtml2="";calHtml2+=("<tr class=\""+ this.headerStyle+ "\">");calHtml2+=("<td colspan=\"7\" class=\""+ this.headerCellStyleLabel+ "\">"+this.monthLabels[this.calendarDate.getUTCMonth()]+", "+this.calendarDate.getUTCFullYear()+"</td>");calHtml2+=("</tr>");calHtml2+=("<tr class=\""+ this.headerStyle+ "\">");for(i=0;i<7;i++){showDay=i+this.firstDayOfWeek;if(showDay>6)showDay=showDay-7;calHtml2+=("<td class=\""+ this.headerCellStyle+ "\">"+this.dayLabels[showDay]+"</td>");};calHtml2+=("</tr>");return calHtml2;};function renderDayDisabled(currentDate){calHtml+=("<td class=\"" + this.disabledDayStyle + "\">");calHtml+=(currentDate.getUTCDate());calHtml+=("</td>");};function renderDayEnabled(currentDate,dayStyle){calHtml+=("<td class=\"" + dayStyle  + "\"");calHtml+=("onmouseover=\"this.className='" + this.dayHigLight  + "';\" onmouseout=\"this.className='" + dayStyle + "';\" class=\"" + dayStyle + "\" onclick=\"javascript:" + this.name + ".SelectDate(" + currentDate.getUTCDate() + ")\">");calHtml+=(currentDate.getUTCDate());calHtml+=("</td>");};function renderDayEvent(currentDate,dayStyle,eventId){calHtml+=("<td ");calHtml+=("class=\"" + dayStyle + "\" onclick=\"javascript:" + this.name + ".SelectDate(" + currentDate.getUTCDate() + ");" + this.name + ".selectEvent('" + eventId + "')\">");calHtml+=(currentDate.getUTCDate());calHtml+=("</td>");};function buildCalendarTable(){currentDate=this.GetFirstCalendarDate();odd=0;while(currentDate.getUTCDay()!=this.firstDayOfWeek){currentDate.setUTCDate(currentDate.getUTCDate()-1);};calHtml="";do{odd+=1;calHtml+=("<tr class=\"" + (((odd%2)==0) ? this.evenWeekStyle : this.oddWeekStyle) + "\">");for(i=0;i<7;i++){currentDayStyle=this.dayStyle;currentEventStyle=this.commonDayStyle;currentDateString=currentDate.getUTCFullYear()+"/"+(currentDate.getUTCMonth()+1)+"/"+currentDate.getUTCDate();if(currentDate<this.minDate){this.RenderDayDisabled(currentDate);}else if(currentDate>this.maxDate){this.RenderDayDisabled(currentDate);}else if(currentDate.getUTCMonth()!=this.calendarDate.getUTCMonth()){this.RenderDayDisabled(currentDate);}else if(currentDate.getUTCDate()==this.calendarDate.getUTCDate()){if((currentDate.getUTCDay()==0)||(currentDate.getUTCDay()==6)){if(this.allowWeekends==true){this.RenderDayEnabled(currentDate,this.todayDayStyle);}else{this.RenderDayDisabled(currentDate);month=this.calendarDate.getUTCMonth();this.calendarDate.setUTCDate(this.calendarDate.getUTCDate()+1);if(month!=this.calendarDate.getUTCMonth()){this.RenderCalendar();};this.SetFieldValue(this.calendarDate);}}else{if(this.allowWeekdays==true){this.RenderDayEnabled(currentDate,this.todayDayStyle);}else{this.RenderDayDisabled(currentDate);month=this.calendarDate.getUTCMonth();this.calendarDate.setUTCDate(this.calendarDate.getUTCDate()+1);if(month!=this.calendarDate.getUTCMonth()){this.RenderCalendar();};this.SetFieldValue(this.calendarDate);}}}else if((currentDate.getUTCDay()==0)||(currentDate.getUTCDay()==6)){if(this.allowWeekends==true){style=this.holidayDayStyle;for(j=0;j<this.eventDates.length;j++){if(this.eventDates[j][0]==currentDateString){style=this.eventDayStyle;this.RenderDayEvent(currentDate,style,this.eventDates[j][0]);}};if(style==this.holidayDayStyle){this.RenderDayEnabled(currentDate,style);}}else{this.RenderDayDisabled(currentDate);}}else{if(this.allowWeekdays==true){style=this.commonDayStyle;for(j=0;j<this.eventDates.length;j++){if(this.eventDates[j][0]==currentDateString){style=this.eventDayStyle;this.RenderDayEvent(currentDate,style,this.eventDates[j][0]);}};if(style==this.commonDayStyle){this.RenderDayEnabled(currentDate,style);}}else{this.RenderDayDisabled(currentDate);}};currentDate.setUTCDate(currentDate.getUTCDate()+1);};calHtml+=("</tr>");}while(currentDate.getUTCMonth()==this.calendarDate.getUTCMonth());calHtml+=("<tr height=\"20px\" align=\"center\" class=\"" + this.headerStyle + "\">");calHtml+=("<td align=\"center\" colspan=\"7\" onclick=\"javascript:" + this.name + ".CloseCalendar();\"><div class=\"" + this.headerCellStyleLabel + "\">"+this.closeText+"</div></td></tr>");return calHtml;};function closeCalendar(){if(this.oRenderIn!=null)this.oRenderIn.style.visibility="hidden";};


