DatePickerControl.defaultFormat="DD/MM/YYYY";
DatePickerControl.submitFormat="";
DatePickerControl.offsetY=1;
DatePickerControl.offsetX=0;
DatePickerControl.todayText="hoy";
DatePickerControl.buttonTitle="Abrir calendario...";
DatePickerControl.buttonPosition="in";
DatePickerControl.buttonOffsetX=0;
DatePickerControl.buttonOffsetY=0;
DatePickerControl.closeOnTodayBtn=true;
DatePickerControl.defaultTodaySel=true;
DatePickerControl.autoShow=false;
DatePickerControl.firstWeekDay=0;
DatePickerControl.weekend=[0,6];
DatePickerControl.weekNumber=false;
DatePickerControl.Months=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
DatePickerControl.Days=["Dom","Lun","Mar","Mi&eacute;","Jue","Vie","S&aacute;b"];
DatePickerControl.useTrickyBG=false;
if(navigator.userAgent.indexOf("MSIE")>1){
    DatePickerControl.useTrickyBG=true;
    DatePickerControl.offsetY=0;
    DatePickerControl.offsetX=-1;
    DatePickerControl.buttonOffsetX=-4;
    DatePickerControl.buttonOffsetY=-2;
    if(document.getElementsByTagName("html")[0].getAttribute("xmlns")!=null){
        DatePickerControl.offsetY=16;
        DatePickerControl.offsetX=10;
        DatePickerControl.buttonOffsetX=8;
        DatePickerControl.buttonOffsetY=14;
    }
}
DatePickerControl.editIdPrefix="DPC_";
DatePickerControl.displayed=false;
DatePickerControl.HIDE_TIMEOUT=200;
DatePickerControl.hideTimeout=null;
DatePickerControl.buttonIdPrefix="CALBUTTON";
DatePickerControl.dayIdPrefix="CALDAY";
DatePickerControl.currentDay=1;
DatePickerControl.originalValue="";
DatePickerControl.calFrameId="calendarframe";
DatePickerControl.submitByKey=false;
DatePickerControl.dayOfWeek=0;
DatePickerControl.firstFocused=false;
DatePickerControl.hideCauseBlur=false;
DatePickerControl.onSubmitAsigned=false;
DatePickerControl.minDate=null;
DatePickerControl.maxDate=null;
DatePickerControl.DOMonth=[31,28,31,30,31,30,31,31,30,31,30,31];
DatePickerControl.lDOMonth=[31,29,31,30,31,30,31,31,30,31,30,31];
function DatePickerControl(){}
DatePickerControl.init=function(){
    if(!document.getElementById("CalendarPickerControl")){
        this.setGlobalParams();
        this.calBG=null;
        if(this.useTrickyBG){
            this.calBG=document.createElement("iframe");
            this.calBG.id="CalendarPickerControlBG";
            this.calBG.style.zIndex="49999";
            this.calBG.style.position="absolute";
            this.calBG.style.display="none";
            this.calBG.style.border="0px solid transparent";
            document.body.appendChild(this.calBG);
        }
        this.calContainer=document.createElement("div");
        this.calContainer.id="CalendarPickerControl";
        this.calContainer.style.zIndex="50000";
        this.calContainer.style.position="absolute";
        this.calContainer.style.display="none";
        document.body.appendChild(this.calContainer);
        if(this.calContainer.addEventListener){
            this.calContainer.addEventListener("click",DPC_onContainerClick,false);
            window.addEventListener("resize",DPC_onWindowResize,false);
        }else if(this.calContainer.attachEvent){
            this.calContainer.attachEvent("onclick",DPC_onContainerClick);
            window.attachEvent("onresize",DPC_onWindowResize);
        }
    }
    var inputControls=document.getElementsByTagName("input");
    var inputsLength=inputControls.length;
    for(i=0;i<inputsLength;i++){
        if(inputControls[i].type.toLowerCase()=="text"){
            var editctrl=inputControls[i];
            var dpcattr=editctrl.getAttribute("datepicker");
            var setEvents=false;
            if(dpcattr!=null && dpcattr=="true"){
                if(editctrl.id){
                    if(!this.createButton(editctrl,false))continue;
                    setEvents=true;
                }else{ alert("Attribute 'id' is mandatory for DatePickerControl.");}
            }else if(editctrl.id && editctrl.id.indexOf(this.editIdPrefix)==0){
                if(!this.createButton(editctrl,true)) continue;
                setEvents=true;
            }
            editctrl.setAttribute("isdatepicker","true");
            if(setEvents){
                if(editctrl.addEventListener){
                    editctrl.addEventListener("keyup",DPC_onEditControlKeyUp,false);
                    editctrl.addEventListener("keydown",DPC_onEditControlKeyDown,false);
                    editctrl.addEventListener("keypress",DPC_onEditControlKeyPress,false);
                    editctrl.addEventListener("blur",DPC_onEditControlBlur,false);
                    editctrl.addEventListener("focus",DPC_onEditControlFocus,false);
                    editctrl.addEventListener("change",DPC_onEditControlChange,false);
                }else if(editctrl.attachEvent){
                    editctrl.attachEvent("onkeyup",DPC_onEditControlKeyUp);
                    editctrl.attachEvent("onkeydown",DPC_onEditControlKeyDown);
                    editctrl.attachEvent("onkeypress",DPC_onEditControlKeyPress);
                    editctrl.attachEvent("onblur",DPC_onEditControlBlur);
                    editctrl.attachEvent("onfocus",DPC_onEditControlFocus);
                    editctrl.attachEvent("onchange",DPC_onEditControlChange);
                }
                var theForm=editctrl.form;
                if(!this.onSubmitAsigned && theForm){
                    this.onSubmitAsigned=true;
                    theForm.submitOrig=theForm.submit;
                    theForm.submit=DPC_formSubmit;
                    if(theForm.addEventListener){
                        theForm.addEventListener('submit',DPC_onFormSubmit,false);
                    }else if(theForm.attachEvent){
                        theForm.attachEvent('onsubmit',DPC_onFormSubmit);
                    }
                }
            }
        }
    }
}
DatePickerControl.setGlobalParams=function(){
    var obj=document.getElementById("DPC_DEFAULT_FORMAT");
    if(obj)this.defaultFormat=obj.value;
    obj=document.getElementById("DPC_SUBMIT_FORMAT");
    if(obj)this.submitFormat=obj.value;
    obj=document.getElementById("DPC_FIRST_WEEK_DAY");
    if(obj)this.firstWeekDay=(obj.value<0 || obj.value>6)?0:parseInt(obj.value);
    obj=document.getElementById("DPC_WEEKEND_DAYS");
    if(obj)eval("this.weekend="+obj.value);
    obj=document.getElementById("DPC_AUTO_SHOW");
    if(obj)this.autoShow=obj.value=="true";
    obj=document.getElementById("DPC_DEFAULT_TODAY");
    if(obj)this.defaultTodaySel=obj.value=="true";
    obj=document.getElementById("DPC_CALENDAR_OFFSET_X");
    if(obj)this.offsetX=parseInt(obj.value);
    obj=document.getElementById("DPC_CALENDAR_OFFSET_Y");
    if(obj)this.offsetY=parseInt(obj.value);
    obj=document.getElementById("DPC_TODAY_TEXT");
    if(obj)this.todayText=obj.value;
    obj=document.getElementById("DPC_BUTTON_TITLE");
    if(obj)this.buttonTitle=obj.value;
    obj=document.getElementById("DPC_BUTTON_POSITION");
    if(obj)this.buttonPosition=obj.value;
    obj=document.getElementById("DPC_BUTTON_OFFSET_X");
    if(obj)this.buttonOffsetX=parseInt(obj.value);
    obj=document.getElementById("DPC_BUTTON_OFFSET_Y");
    if(obj)this.buttonOffsetY=parseInt(obj.value);
    obj=document.getElementById("DPC_WEEK_NUMBER");
    if(obj)this.weekNumber=obj.value=="true";
    obj=document.getElementById("DPC_MONTH_NAMES");
    if(obj)eval("this.Months="+obj.value);
    obj=document.getElementById("DPC_DAY_NAMES");
    if(obj)eval("this.Days="+obj.value);
}
function DPC_autoInit(){DatePickerControl.init();}
if(window.addEventListener){window.addEventListener("load",DPC_autoInit,false);}
else if(window.attachEvent){window.attachEvent("onload",DPC_autoInit);}
DatePickerControl.createButton=function(input,useId){
    var newid=this.buttonIdPrefix+input.id;
    if(document.getElementById(newid)) return false;
    var fmt="";
    if(useId){
        var arr=input.id.split("_");
        var last=arr[arr.length-1];
        if((last.indexOf("-")>0 || last.indexOf("/")>0 || last.indexOf(".")>0) && last.indexOf("YY")>=0 && last.indexOf("D")>=0 && last.indexOf("M")>=0){fmt=last;}
        else{fmt=this.defaultFormat;}
    }else{
        fmt=input.getAttribute("datepicker_format");
        if(!fmt){fmt=this.defaultFormat;}
    }
    input.setAttribute("datepicker_format",fmt);
    input.setAttribute("maxlength",fmt.length);
    input.setMinDate=function(d){this.setAttribute("datepicker_min",d);}
    input.setMaxDate=function(d){this.setAttribute("datepicker_max",d);}
    var calButton=document.createElement('img');
    calButton.id=newid;
    calButton.title=this.buttonTitle;
    calButton.setAttribute("datepicker_inputid",input.id);
    calButton.setAttribute("datepicker_format",fmt);
    if(calButton.addEventListener){calButton.addEventListener("click",DPC_onButtonClick,false);}
    else if(calButton.attachEvent){calButton.attachEvent("onclick",DPC_onButtonClick);}
    calButton.className="calendarbutton";
    calButton.style.position="static";
    calButton.style.cursor="pointer";
    calButton.style.verticalAlign="bottom";
    /*calButton.style.height=input.offsetHeight;*/
    calButton.src="css/calendar/images/calendar_icon.png";
    if(this.buttonPosition=="in"){}
    var theParent=input.parentNode;
    var noBreak=document.createElement('nobr');
    var spacer=document.createElement('span');
    spacer.innerHTML="&nbsp;";
    var sibling=null;
    if(input.nextSibling){sibling=input.nextSibling;}
    theParent.removeChild(input);
    noBreak.appendChild(input);
    noBreak.appendChild(spacer);
    noBreak.appendChild(calButton);
    noBreak.appendChild(spacer.cloneNode(true));
    if(sibling){theParent.insertBefore(noBreak,sibling);}
    else{theParent.appendChild(noBreak);}
    var dateTime=new Date();
    var day=dateTime.getDate().toString(10);
    if(day.length==1){day="0"+day;}
    var month=(dateTime.getMonth()+1).toString(10);
    if(month.length==1){month="0"+month;}
    var dateString=day+"/"+month+"/"+dateTime.getFullYear();
    //document.getElementById("hdnDefaultDate").value=dateString;
    return true;
}
DatePickerControl.show=function(){
    if(!this.displayed){
        var input=this.inputControl;
        if(input==null) return;
        if(input.disabled) return;
        var top=getObject.getSize("offsetTop",input);
        var left=getObject.getSize("offsetLeft",input);
        var calframe=document.getElementById(this.calFrameId);
        if((top+input.offsetHeight+this.offsetY)>(document.body.clientHeight-180)){this.calContainer.style.top=(document.body.clientHeight-180)+"px";}
        else{this.calContainer.style.top=top+input.offsetHeight+this.offsetY+"px";}
        this.calContainer.style.left=(document.body.clientWidth-250)+"px";
        this.calContainer.style.display="none";
        this.calContainer.style.visibility="visible";
        this.calContainer.style.display="block";
        this.calContainer.style.height=calframe.offsetHeight;
        if(this.calBG){
            this.calBG.style.top=this.calContainer.style.top;
            this.calBG.style.left=this.calContainer.style.left;
            this.calBG.style.display="none";
            this.calBG.style.visibility="visible";
            this.calBG.style.display="block";
            this.calBG.style.width=this.calContainer.offsetWidth;
            if(calframe){this.calBG.style.height=calframe.offsetHeight;}
        }
        this.displayed=true;
        input.focus();
    }
}
DatePickerControl.hide=function(){
    if(this.displayed){
        this.calContainer.style.visibility="hidden";
        this.calContainer.style.left=-1000;
        this.calContainer.style.top=-1000;
        if(this.calBG){
            this.calBG.style.visibility="hidden";
            this.calBG.style.left=-1000;
            this.calBG.style.top=-1000;
        }
        this.displayed=false;
    }
}
DatePickerControl.getMonthName=function(monthNumber){return this.Months[monthNumber];}
DatePickerControl.getDaysOfMonth=function(monthNo,p_year){
    if(this.isLeapYear(p_year)){return this.lDOMonth[monthNo];}
    else{return this.DOMonth[monthNo];}
}
DatePickerControl.calcMonthYear=function(p_Month,p_Year,incr){
    var ret_arr=new Array();
    if(incr==-1){
        if(p_Month==0){
            ret_arr[0]=11;
            ret_arr[1]=parseInt(p_Year)-1;
        }else{
            ret_arr[0]=parseInt(p_Month)-1;
            ret_arr[1]=parseInt(p_Year);
        }
    }else if(incr==1){
        if(p_Month==11){
            ret_arr[0]=0;
            ret_arr[1]=parseInt(p_Year)+1;
        }else{
            ret_arr[0]=parseInt(p_Month)+1;
            ret_arr[1]=parseInt(p_Year);
        }
    }
    return ret_arr;
}
DatePickerControl.getAllCode=function(){
    var vCode="";
    vCode+="<table class='calframe' id='"+this.calFrameId+"'>";
    vCode+=this.getHeaderCode();
    vCode+=this.getDaysHeaderCode();
    vCode+=this.getDaysCode();
    vCode+="</table>";
    return vCode;
}
DatePickerControl.getHeaderCode=function(){
    var prevMMYYYY=this.calcMonthYear(this.month,this.year,-1);
    var prevMM=prevMMYYYY[0];
    var prevYYYY=prevMMYYYY[1];
    var nextMMYYYY=this.calcMonthYear(this.month,this.year,1);
    var nextMM=nextMMYYYY[0];
    var nextYYYY=nextMMYYYY[1];
    var gNow=new Date();
    var vCode="";
    var numberCols=this.weekNumber?8:7;
    vCode+="<tr><td colspan='"+numberCols+"' class='monthname'>";
    vCode+=this.monthName+"&nbsp;&nbsp;";
    vCode+="<span title='"+this.Months[this.month]+" "+(parseInt(this.year)-1)+"' class='yearbutton' ";
    vCode+="onclick='DatePickerControl.build("+this.month+","+(parseInt(this.year)-1)+");return false;'>&laquo;</span>";
    vCode+="&nbsp;"+this.year+"&nbsp;";
    vCode+="<span title='"+this.Months[this.month]+" "+(parseInt(this.year)+1)+"' class='yearbutton' ";
    vCode+="onclick='DatePickerControl.build("+this.month+","+(parseInt(this.year)+1)+");return false;'>&raquo;</span>";
    vCode+="</td></tr>";
    vCode+="<tr><td style='border-width:0px' colspan='"+numberCols+"'>";
    vCode+="<table class='navigation' width='100%'><tr>";
    vCode+="<td class='navbutton' title='"+this.Months[prevMM]+" "+prevYYYY+"' ";
    vCode+="onclick='DatePickerControl.build("+prevMM+","+prevYYYY+");return false;'>&lt;&lt;</td>";
    vCode+="<td class='navbutton' title='"+gNow.getDate()+" "+this.Months[gNow.getMonth()]+" "+gNow.getFullYear()+"' ";
    vCode+="onclick='DatePickerControl.build("+gNow.getMonth()+","+gNow.getFullYear()+");DatePickerControl.selectToday();return false;'>";
    vCode+=this.todayText+"</td>";
    vCode+="<td class='navbutton' title='"+this.Months[nextMM]+" "+nextYYYY+"' ";
    vCode+="onclick='DatePickerControl.build("+nextMM+","+nextYYYY+");return false;'>&gt;&gt;</td>";
    vCode+="</tr></table>";
    vCode+="</td></tr>";
    return vCode;
}
DatePickerControl.getDaysHeaderCode=function(){
    var vCode="";
    vCode=vCode+"<tr>";
    if(this.weekNumber){ vCode+="<td class='weeknumber'>&nbsp;</td>";}
    for(i=this.firstWeekDay;i<this.firstWeekDay+7;i++){vCode+="<td class='dayname' width='14%'>"+this.Days[i%7]+"</td>";}
    vCode=vCode+"</tr>";
    return vCode;
}
DatePickerControl.getDaysCode=function(){
    var vDate=new Date();
    vDate.setDate(1);
    vDate.setMonth(this.month);
    vDate.setFullYear(this.year);
    var vFirstDay=vDate.getDay();
    var vDay=1;
    var vLastDay=this.getDaysOfMonth(this.month,this.year);
    var vOnLastDay=0;
    var vCode="";
    this.dayOfWeek=vFirstDay;
    var prevm=this.month==0?11:this.month-1;
    var prevy=this.prevm==11?this.year-1:this.year;
    prevmontdays=this.getDaysOfMonth(prevm,prevy);
    vFirstDay=(vFirstDay==0 && this.firstWeekDay)?7:vFirstDay;
    if(this.weekNumber){var week=this.getWeekNumber(this.year,this.month,1);}
    vCode+="<tr>";
    if(this.weekNumber){vCode+="<td class='weeknumber'>"+week+"</td>";}
    for(i=this.firstWeekDay;i<vFirstDay;i++){vCode=vCode+"<td class='dayothermonth'>"+(prevmontdays-vFirstDay+i+1)+"</td>";}
    for(j=vFirstDay-this.firstWeekDay;j<7;j++){
        if(this.isInRange(vDay)){
            classname=this.getDayClass(vDay,j);
            vCode+="<td class='"+classname+"' class_orig='"+classname+"' "+"onClick='DatePickerControl.writeDate("+vDay+")' id='"+this.dayIdPrefix+vDay+"'>"+vDay+"</td>";
        }else{vCode+="<td class='dayothermonth'>"+vDay+"</td>";}
        vDay++;
    }
    vCode=vCode+"</tr>";
    for(k=2;k<7;k++){
        vCode=vCode+"<tr>";
        if(this.weekNumber){
            week++;
            if(week>=53)week=1;
            vCode+="<td class='weeknumber'>"+week+"</td>";
        }
        for(j=0;j<7;j++){
            if(this.isInRange(vDay)){
                classname=this.getDayClass(vDay,j);
                vCode+="<td class='"+classname+"' class_orig='"+classname+"' "+"onClick='DatePickerControl.writeDate("+vDay+")' id='"+this.dayIdPrefix+vDay+"'>"+vDay+"</td>";
            }else{vCode+="<td class='dayothermonth'>"+vDay+"</td>";}
            vDay++;
            if(vDay>vLastDay){
                vOnLastDay=1;
                break;
            }
        }
        if(j==6)vCode+="</tr>";
        if(vOnLastDay==1)break;
    }
    for(m=1;m<(7-j);m++){vCode+="<td class='dayothermonth'>"+m+"</td>";}
    return vCode;
}
DatePickerControl.getDayClass=function(vday,dayofweek){
    var gNow=new Date();
    var vNowDay=gNow.getDate();
    var vNowMonth=gNow.getMonth();
    var vNowYear=gNow.getFullYear();
    if(vday==vNowDay && this.month==vNowMonth && this.year==vNowYear){return "today";}
    else{
        var realdayofweek=(7+dayofweek+this.firstWeekDay)%7;
        for(i=0;i<this.weekend.length;i++){
            if(realdayofweek==this.weekend[i]){return "weekend";}
        }
        return "day";
    }
}
DatePickerControl.formatData=function(p_day){
    var vData;
    var vMonth=1+this.month;
    vMonth=(vMonth.toString().length<2)?"0"+vMonth:vMonth;
    var vMon=this.getMonthName(this.month).substr(0,3).toUpperCase();
    var vFMon=this.getMonthName(this.month).toUpperCase();
    var vY4=new String(this.year);
    var vY2=new String(this.year).substr(2,2);
    var vDD=(p_day.toString().length<2)?"0"+p_day:p_day;
    switch(this.format){
        case "MM/DD/YYYY" :
            vData=vMonth+"/"+vDD+"/"+vY4;
            break;
        case "MM/DD/YY" :
            vData=vMonth+"/"+vDD+"/"+vY2;
            break;
        case "MM-DD-YYYY" :
            vData=vMonth+"-"+vDD+"-"+vY4;
            break;
        case "MM-DD-YY" :
            vData=vMonth+"-"+vDD+"-"+vY2;
            break;
        case "YYYY-MM-DD":
            vData=vY4+"-"+vMonth+"-"+vDD;
            break;
        case "YYYY/MM/DD":
            vData=vY4+"/"+vMonth+"/"+vDD;
            break;
        case "DD/MON/YYYY" :
            vData=vDD+"/"+vMon+"/"+vY4;
            break;
        case "DD/MON/YY" :
            vData=vDD+"/"+vMon+"/"+vY2;
            break;
        case "DD-MON-YYYY" :
            vData=vDD+"-"+vMon+"-"+vY4;
            break;
        case "DD-MON-YY" :
            vData=vDD+"-"+vMon+"-"+vY2;
            break;
        case "DD/MONTH/YYYY" :
            vData=vDD+"/"+vFMon+"/"+vY4;
            break;
        case "DD/MONTH/YY" :
            vData=vDD+"/"+vFMon+"/"+vY2;
            break;
        case "DD-MONTH-YYYY" :
            vData=vDD+"-"+vFMon+"-"+vY4;
            break;
        case "DD-MONTH-YY" :
            vData=vDD+"-"+vFMon+"-"+vY2;
            break;
        case "DD/MM/YYYY" :
            vData=vDD+"/"+vMonth+"/"+vY4;
            break;
        case "DD/MM/YY" :
            vData=vDD+"/"+vMonth+"/"+vY2;
            break;
        case "DD-MM-YYYY" :
            vData=vDD+"-"+vMonth+"-"+vY4;
            break;
        case "DD-MM-YY" :
            vData=vDD+"-"+vMonth+"-"+vY2;
            break;
        case "DD.MM.YYYY" :
            vData=vDD+"."+vMonth+"."+vY4;
            break;
        case "DD.MM.YY" :
            vData=vDD+"."+vMonth+"."+vY2;
            break;
        default :
            vData=vMonth+"/"+vDD+"/"+vY4;
    }
    return vData;
}
DatePickerControl.getDateFromControl=function(ctrl){
    if(ctrl==null)ctrl=this.inputControl;
    var value=ctrl.value;
    var format=ctrl.getAttribute("datepicker_format");
    return this.getDateFromString(value,format.toString());
}
DatePickerControl.getDateFromString=function(strdate,format){
    var aDate=new Date();
    var day,month,year;
    if(strdate=="" || format=="") return aDate;
    strdate=strdate.replace("/","@").replace("/","@");
    strdate=strdate.replace("-","@").replace("-","@");
    strdate=strdate.replace(".","@").replace(".","@");
    if(strdate.indexOf("/")>=0 || strdate.indexOf("-")>=0 || strdate.indexOf(".")>=0) return aDate;
    var data=strdate.split("@");
    if(data.length!=3) return aDate;
    for(i=0;i<3;i++){
        data[i]=parseFloat(data[i]);
        if(isNaN(data[i])) return aDate;
    }
    aDate.setDate(1);
    if(format.substring(0,1).toUpperCase()=="D"){
        aDate.setFullYear(this.yearTwo2Four(data[2]));
        aDate.setMonth(data[1]-1);
        aDate.setDate(data[0]);
    }else if(format.substring(0,1).toUpperCase()=="Y"){
        aDate.setFullYear(this.yearTwo2Four(data[0]));
        aDate.setMonth(data[1]-1);
        aDate.setDate(data[2]);
    }else if(format.substring(0,1).toUpperCase()=="M"){
        aDate.setFullYear(this.yearTwo2Four(data[2]));
        aDate.setMonth(data[0]-1);
        aDate.setDate(data[1]);
    }
    return aDate;
}
DatePickerControl.yearTwo2Four=function(year){
    if(year<99){
        if(year>=30){year+=1900;}
        else{year+=2000;}
    }
    return year;
}
DatePickerControl.writeDate=function(day){
    var d=this.formatData(day);
    this.inputControl.value=d;
    this.originalValue=d;
    this.hide();
    if(DatePickerControl.onSelect) DatePickerControl.onSelect(this.inputControl.id);
    this.firstFocused=true;
    this.inputControl.focus();
}
DatePickerControl.writeCurrentDate=function(){
    var d=this.formatData(this.currentDay);
    this.inputControl.value=d;
}
DatePickerControl.build=function(m,y){
    var bkm=this.month;
    var bky=this.year;
    var calframe=document.getElementById(this.calFrameId);
    if(m==null){
        var now=new Date();
        this.month=now.getMonth();
        this.year=now.getFullYear();
    }else{
        this.month=m;
        this.year=y;
    }
    if(!this.isInRange(null)){
        this.month=bkm;
        this.year=bky;
    }
    if(!this.isInRange(this.currentDay)){
        if(this.minDate && this.currentDay<this.minDate.getDate())this.currentDay=this.minDate.getDate();
        if(this.maxDate && this.currentDay>this.maxDate.getDate())this.currentDay=this.maxDate.getDate();
    }
    this.monthName=this.Months[this.month];
    var code=this.getAllCode();
    writeLayer(this.calContainer.id,null,code);
    if(this.calContainer && calframe)this.calContainer.style.height=calframe.offsetHeight;
    this.firstFocused=true;
    this.inputControl.focus();
    this.selectDay(this.currentDay);
}
DatePickerControl.buildPrev=function(){
    if(!this.displayed)return;
    var prevMMYYYY=this.calcMonthYear(this.month,this.year,-1);
    var prevMM=prevMMYYYY[0];
    var prevYYYY=prevMMYYYY[1];
    this.build(prevMM,prevYYYY);
}
DatePickerControl.buildNext=function(){
    if(!this.displayed)return;
    var nextMMYYYY=this.calcMonthYear(this.month,this.year,1);
    var nextMM=nextMMYYYY[0];
    var nextYYYY=nextMMYYYY[1];
    this.build(nextMM,nextYYYY);
}
DatePickerControl.selectToday=function(){
    var now=new Date();
    var today=now.getDate();
    if(!this.isInRange(today))return;
    if(this.closeOnTodayBtn){
        this.currentDay=today;
        this.writeDate(this.currentDay);
    }else{this.selectDay(today);}
}
DatePickerControl.selectDay=function(day){
    if(!this.displayed)return;
    if(!this.isInRange(day))return;
    var n=this.currentDay;
    var max=this.getDaysOfMonth(this.month,this.year);
    if(day>max)return;
    var newDayObject=document.getElementById(this.dayIdPrefix+day);
    var currentDayObject=document.getElementById(this.dayIdPrefix+this.currentDay);
    if(currentDayObject){currentDayObject.className=currentDayObject.getAttribute("class_orig");}
    if(newDayObject){
        newDayObject.className="current";
        this.currentDay=day;
        this.writeCurrentDate();
    }
}
DatePickerControl.selectPrevDay=function(decr){
    if(!this.displayed)return;
    var n=this.currentDay;
    var max=this.getDaysOfMonth(this.month,this.year);
    var prev=n-decr;
    if(prev<=0){
        if(decr==7){
            n=(n+this.dayOfWeek)+28-this.dayOfWeek;
            n--;
            prev=n>max?n-7:n;
        }else{prev=max;}
    }
    this.selectDay(prev);
}
DatePickerControl.selectNextDay=function(incr){
    if(!this.displayed)return;
    var n=this.currentDay;
    var max=this.getDaysOfMonth(this.month,this.year);
    var next=n+incr;
    if(next>max){
        if(incr==7){
            n=((n+this.dayOfWeek)%7)-this.dayOfWeek;
            next=n<0?n+7:n;
            next++;
        }else{next=1;}
    }
    this.selectDay(next);
}
DatePickerControl.showForEdit=function(edit){
    if(this.displayed)return;
    if(edit==null)return;
    if(edit.disabled)return;
    this.inputControl=edit;
    this.originalValue=edit.value;
    this.setupRange();
    var format=this.inputControl.getAttribute("datepicker_format");
    if(format==null)format=this.defaultFormat;
    this.format=format;
    if(this.validate(edit.value,format)){
        var date=this.getDateFromControl();
        this.currentDate=date;
        this.build(date.getMonth(),date.getFullYear());
        this.currentDay=date.getDate();
    }else{
        edit.value="";
        this.originalValue="";
        this.currentDate=null;
        if(this.defaultTodaySel){this.currentDay=new Date().getDate();}
        else{this.currentDay=1;}
        this.build(null,null);
    }
    var currentDayObject=document.getElementById(this.dayIdPrefix+this.currentDay);
    if(currentDayObject)currentDayObject.className="current";
    this.writeCurrentDate();
    this.show();
}
DatePickerControl.isInRange=function(day){
    if(!this.minDate && !this.maxDate)return true;
    if(day){
        var aDate=new Date();
        aDate.setFullYear(this.year);
        aDate.setMonth(this.month);
        aDate.setDate(day);
        if(this.minDate){
            if(this.compareDates(aDate,this.minDate)<0)return false;
        }
        if(this.maxDate){
            if(this.compareDates(aDate,this.maxDate)>0)return false;
        }
    }else{
        var currentym=parseInt(this.year.toString()+(this.month<10?"0"+this.month.toString():this.month.toString()));
        var m;
        if(this.minDate){
            m=this.minDate.getMonth();
            var minym=parseInt(this.minDate.getFullYear().toString()+(m<10?"0"+m.toString():m.toString()));
            if(currentym<minym) return false;
        }
        if(this.maxDate){
            m=this.maxDate.getMonth();
            var maxym=parseInt(this.maxDate.getFullYear().toString()+(m<10?"0"+m.toString():m.toString()));
            if(currentym>maxym)return false;
        }
    }
    return true;
}
DatePickerControl.setupRange=function(){
    if(this.inputControl==null){return;}
    var edit=this.inputControl;
    var format=edit.getAttribute("datepicker_format");
    var min=edit.getAttribute("datepicker_min");
    this.minDate=min?this.getDateFromString(min,format):null;
    var max=edit.getAttribute("datepicker_max");
    this.maxDate=max?this.getDateFromString(max,format):null;
    if(this.maxDate && this.minDate){
        if(this.maxDate.getTime()<this.minDate.getTime()){
            var tmp=this.maxDate;
            this.maxDate=this.minDate;
            this.minDate=tmp;
        }
    }
}
DatePickerControl.compareDates=function(d1,d2){
    var m=d1.getMonth();
    var d=d1.getDate();
    var s1=d1.getFullYear().toString()+(m<10?"0"+m.toString():m.toString())+(d<10?"0"+d.toString():d.toString());
    m=d2.getMonth();
    d=d2.getDate();
    var s2=d2.getFullYear().toString()+(m<10?"0"+m.toString():m.toString())+(d<10?"0"+d.toString():d.toString());
    var n1=parseInt(s1);
    var n2=parseInt(s2);
    return n1-n2;
}
DatePickerControl.validate=function(strdate,format){
    var dateRegExp;
    var separator;
    var d,m,y;
    var od=this.currentDay,om=this.month,oy=this.year;
    if(strdate=="")return false;
    if(format.substring(0,1).toUpperCase()=="D"){dateRegExp=/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2,4}$/}
    else if(format.substring(0,1).toUpperCase()=="Y"){dateRegExp=/^\d{2,4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/}
    else if(format.substring(0,1).toUpperCase()=="M"){dateRegExp=/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2,4}$/}
    if(!dateRegExp.test(strdate)){return false;}
    separator=(strdate.indexOf("/")>1)?"/":((strdate.indexOf("-")>1)?"-":".");
    var datearray=strdate.split(separator);
    if(format.substring(0,1).toUpperCase()=="D"){
        d=parseFloat(datearray[0]);
        m=parseFloat(datearray[1]);
        y=parseFloat(datearray[2]);
    }else if(format.substring(0,1).toUpperCase()=="Y"){
        d=parseFloat(datearray[2]);
        m=parseFloat(datearray[1]);
        y=parseFloat(datearray[0]);
    }else if(format.substring(0,1).toUpperCase()=="M"){
        d=parseFloat(datearray[1]);
        m=parseFloat(datearray[0]);
        y=parseFloat(datearray[2]);
    }
    if(m<1 || m>12)return false;
    if(d>this.getDaysOfMonth(m-1,y))return false;
    this.month=m;
    this.year=y;
    var res=this.isInRange(d);
    this.month=om;
    this.year=oy;
    return res;
}
DatePickerControl.isLeapYear=function(year){
    if((year%4)==0){
        if((year%100)==0 && (year%400)!=0){return false;}
        return true;
    }
    return false;
}
function DPC_onButtonClick(event){DatePickerControl.onButtonClick(event);}
DatePickerControl.onButtonClick=function(event){
    if(!this.displayed){
        if(event==null)event=window.event;
        var button=(event.srcElement)?event.srcElement:event.originalTarget;
        var input=document.getElementById(button.getAttribute("datepicker_inputid"));
        this.showForEdit(input);
    }else{this.hide();}
    if(document.getElementById(mapId+"chkTomorrow")!=null)document.getElementById(mapId+"chkTomorrow").checked=false;
    if(document.getElementById(mapId+"chkNext7Days")!=null)document.getElementById(mapId+"chkNext7Days").checked=false;
    if(document.getElementById(mapId+"chkAllDates")!=null)document.getElementById(mapId+"chkAllDates").checked=false;
}
function DPC_onContainerClick(event){DatePickerControl.onContainerClick(event);}
DatePickerControl.onContainerClick=function(event){
    if(event==null)event=window.event;
    if(this.hideTimeout){
        clearTimeout(this.hideTimeout);
        this.hideTimeout=null;
    }
    this.inputControl.focus();
    return false;
}
function DPC_onEditControlKeyUp(event){DatePickerControl.onEditControlKeyUp(event);}
DatePickerControl.onEditControlKeyUp=function(event){
    if(event==null)event=window.event;
    var edit=event.srcElement?event.srcElement:event.originalTarget;
    var kc=event.charCode?event.charCode:event.which?event.which:event.keyCode;
    switch(kc){
        case 37:
            this.selectPrevDay(1);
            break;
        case 38:
            this.selectPrevDay(7);
            break;
        case 39:
            this.selectNextDay(1);
            break;
        case 40:
            if(!this.displayed){this.showForEdit(edit);}
            else{
                this.selectNextDay(7);
                break;
            }
            break;
        case 27:
            this.hide();
            break;
        case 33:
            if((event.modifiers & Event.SHIFT_MASK) || (event.shiftKey)){this.build(this.month,parseInt(this.year)-1);}
            else{this.buildPrev();}
            break;
        case 34:
            if((event.modifiers & Event.SHIFT_MASK) || (event.shiftKey)){ this.build(this.month,parseInt(this.year)+1);}
            else{this.buildNext();}
            break;
        case 13:
            if(this.displayed && this.currentDay>0 && this.submitByKey){ this.writeDate(this.currentDay);}
            break;
    }
    return false;
}
function DPC_onEditControlKeyDown(event){DatePickerControl.onEditControlKeyDown(event);}
DatePickerControl.onEditControlKeyDown=function(event){
    if(event==null) event=window.event;
    var edit=event.srcElement?event.srcElement:event.originalTarget;
    var kc=event.charCode?event.charCode:event.which?event.which:event.keyCode;
    if(kc>=65 && kc<=90){
        if(event.stopPropagation)event.stopPropagation();
        if(event.preventDefault)event.preventDefault();
        event.returnValue=false;
        event.cancelBubble=true;
        return false;
    }
    switch(kc){
    case 13:
        this.submitByKey=true;
        break;
    case 9:
    case 32:
        if(this.displayed && this.currentDay>0){this.writeDate(this.currentDay);}
        break;
    }
}
function DPC_onEditControlKeyPress(event){DatePickerControl.onEditControlKeyPress(event);}
DatePickerControl.onEditControlKeyPress=function(event){
    if(event==null)event=window.event;
    var edit=event.srcElement?event.srcElement:event.originalTarget;
    var kc=event.charCode?event.charCode:event.which?event.which:event.keyCode;
    if(!((kc<32) || (kc>44 && kc<58))){
        if(event.stopPropagation)event.stopPropagation();
        if(event.preventDefault)event.preventDefault();
        event.returnValue=false;
        event.cancelBubble=true;
        return false;
    }
}
function DPC_onEditControlBlur(event){DatePickerControl.onEditControlBlur(event);}
DatePickerControl.onEditControlBlur=function(event){
    if(event==null) event=window.event;
    if(!this.hideTimeout){this.hideTimeout=setTimeout("DatePickerControl.hide()",this.HIDE_TIMEOUT);}
    this.firstFocused=false;
    this.hideCauseBlur=true;
}
function DPC_onEditControlChange(event){DatePickerControl.onEditControlChange(event);}
DatePickerControl.onEditControlChange=function(event){
    if(event==null)event=window.event;
    var edit=(event.srcElement)?event.srcElement:event.originalTarget;
    if(edit.value=="") return;
    var format=edit.getAttribute("datepicker_format");
    if(!this.validate(edit.value,format)){setTimeout("e=document.getElementById('"+edit.id+"');e.value='';e.focus()",10);}
}
function DPC_onEditControlFocus(event){DatePickerControl.onEditControlFocus(event);}
DatePickerControl.onEditControlFocus=function(event){
    if(event==null)event=window.event;
    var edit=(event.srcElement)?event.srcElement:event.originalTarget;
    this.setupRange();
    if((!this.displayed || this.hideCauseBlur) && this.autoShow && !this.firstFocused){
        clearTimeout(this.hideTimeout);
        this.hideTimeout=null;
        this.firstFocused=true;
        if(this.hideCauseBlur){
            this.hideCauseBlur=false;
            this.hide();
        }
        this.showForEdit(edit);
    }else if(this.inputControl && this.inputControl.id!=edit.id){this.hide();}
    else if(this.hideTimeout){
        clearTimeout(this.hideTimeout);
        this.hideTimeout=null;
    }
}
function DPC_onFormSubmit(event){DatePickerControl.onFormSubmit(event);}
DatePickerControl.onFormSubmit=function(event){
    if(this.submitByKey){
        this.submitByKey=false;
        if(this.displayed && this.currentDay>0){
            this.writeDate(this.currentDay);
            if(event==null)event=window.event;
            var theForm=(event.srcElement)?event.srcElement:event.originalTarget;
            if(event.stopPropagation)event.stopPropagation();
            if(event.preventDefault)event.preventDefault();
            event.returnValue=false;
            event.cancelBubble=true;
            return false;
        }
    }
    this.reformatOnSubmit();
}
DatePickerControl.reformatOnSubmit=function(){
    if(this.submitFormat=="")return true;
    var inputControls=document.getElementsByTagName("input");
    var inputsLength=inputControls.length;
    var i;
    for(i=0;i<inputsLength;i++){
        if(inputControls[i].type.toLowerCase()=="text"){
            var editctrl=inputControls[i];
            if(editctrl.value=="")continue;
            var isdpc=editctrl.getAttribute("isdatepicker");
            if(isdpc && isdpc=="true"){
                var thedate=this.getDateFromControl(editctrl);
                var res=this.submitFormat.replace("DD",thedate.getDate());
                var mo=thedate.getMonth()+1;
                res=res.replace("MM",mo.toString());
                if(this.submitFormat.indexOf("YYYY") >= 0){res=res.replace("YYYY",thedate.getFullYear());}
                else{res=res.replace("YY",thedate.getFullYear());}
                editctrl.value=res;
            }
        }
    }
    return true;
}
function DPC_formSubmit(){
    var res=DatePickerControl.reformatOnSubmit();
    if(this.submitOrig){res=this.submitOrig();}
    return res;
}
function DPC_onWindowResize(event){DatePickerControl.onWindowResize(event);}
DatePickerControl.onWindowResize=function(event){this.relocate();}
DatePickerControl.relocateButtons=function(){
    return;
    var divElements=document.getElementsByTagName("div");
    for(key in divElements){
        if(divElements[key].id && divElements[key].id.indexOf(this.buttonIdPrefix)==0){
            var calButton=divElements[key];
            if(calButton.style.display=='none')continue;
            var input=document.getElementById(calButton.getAttribute("datepicker_inputid"));
            if(input.style.display=='none' || input.offsetTop==0)continue;
            var nTop=getObject.getSize("offsetTop",input);
            var nLeft=getObject.getSize("offsetLeft",input);
            calButton.style.top=(nTop+Math.floor((input.offsetHeight-calButton.offsetHeight)/2)+this.buttonOffsetY)+"px";
            var btnOffX=Math.floor((input.offsetHeight-calButton.offsetHeight)/2);
            if(this.buttonPosition=="in"){calButton.style.left=(nLeft+input.offsetWidth-calButton.offsetWidth-btnOffX+this.buttonOffsetX)+"px";}
            else{calButton.style.left=(nLeft+input.offsetWidth+btnOffX+this.buttonOffsetX)+"px";}
        }
    }
}
DatePickerControl.relocate=function(){
    if(this.displayed){
        var input=this.inputControl;
        if(input==null)return;
        var top=getObject.getSize("offsetTop",input);
        var left=getObject.getSize("offsetLeft",input);
        this.calContainer.style.top=top+input.offsetHeight+this.offsetY+"px";
        this.calContainer.style.left=left+this.offsetX+"px";
        if(this.calBG){
            this.calBG.style.top=this.calContainer.style.top;
            this.calBG.style.left=this.calContainer.style.left;
        }
    }
}
DatePickerControl.getWeekNumber=function(year,month,day){
    var when=new Date(year,month,day);
    var newYear=new Date(year,0,1);
    var offset=7+1-newYear.getDay();
    if(offset==8)offset=1;
    var daynum=((Date.UTC(y2k(year),when.getMonth(),when.getDate(),0,0,0)-Date.UTC(y2k(year),0,1,0,0,0))/1000/60/60/24)+1;
    var weeknum=Math.floor((daynum-offset+7)/7);
    if(weeknum==0){
        year--;
        var prevNewYear=new Date(year,0,1);
        var prevOffset=7+1-prevNewYear.getDay();
        if(prevOffset==2 || prevOffset==8) weeknum=53;
        else weeknum=52;
    }
    return weeknum;
}
function y2k(number){return(number<1000)?number+1900:number;}
function getObject(sId){
    if(bw.dom){
        this.hElement=document.getElementById(sId);
        this.hStyle=this.hElement.style;
    }else if(bw.ns4){
        this.hElement=document.layers[sId];
        this.hStyle=this.hElement;
    }
    else if(bw.ie){
        this.hElement=document.all[sId];
        this.hStyle=this.hElement.style;
    }
}
getObject.getSize=function(sParam,hLayer){
    nPos=0;
    while((hLayer.tagName) && !( /(body|html)/i.test(hLayer.tagName))){
        nPos+=eval('hLayer.'+sParam);
        if(sParam=='offsetTop'){
            if(hLayer.clientTop){nPos+=hLayer.clientTop;}
        }
        if(sParam=='offsetLeft'){
            if(hLayer.clientLeft){nPos+=hLayer.clientLeft;}
        }
        hLayer=hLayer.offsetParent;
    }
    return nPos;
}
function writeLayer(ID,parentID,sText){
    if(document.layers){
        var oLayer;
        if(parentID){oLayer=eval('document.'+parentID+'.document.'+ID+'.document');}
        else{oLayer=document.layers[ID].document;}
        oLayer.open();
        oLayer.write(sText);
        oLayer.close();
    }else if(document.all){document.all[ID].innerHTML=sText;}
    else{document.getElementById(ID).innerHTML=sText;}
}
/* CalendarCheck.js*/
function TodaysDate(){    
    var dt=new Date();
    debugger;
    document.getElementById(mapId+"txtToDate").value=dt.getDay();
}
function SetStartandEndDates(){
    if(document.getElementById(mapId+"txtFromDate") ==null)return;
    document.getElementById("hdnFromDate").value="";
    document.getElementById("hdnToDate").value="";
    if(!(document.getElementById(mapId+"chkTomorrow").checked || document.getElementById(mapId+"chkNext7Days").checked || document.getElementById(mapId+"chkAllDates").checked)){
        if (document.getElementById(mapId + "txtFromDate").value.length > 0)
            document.getElementById("hdnFromDate").value=document.getElementById(mapId+"txtFromDate").value;
        if (document.getElementById(mapId + "txtToDate").value.length > 0)
            document.getElementById("hdnToDate").value=document.getElementById(mapId+"txtToDate").value;
    }
//  document.getElementById("hdnChkValues").value=document.getElementById("chkAllDates").checked;
    if (document.getElementById("hdnFromDate").value.length > 0)
        document.getElementById("hdnFromDateString").value=document.getElementById(mapId+"txtFromDate").value;
    else 
        document.getElementById("hdnFromDateString").value="";
    if (document.getElementById("hdnToDate").value.length > 0)
        document.getElementById("hdnToDateString").value=document.getElementById(mapId+"txtToDate").value;
    else 
        document.getElementById("hdnToDateString").value="";
}

function StrtoDate(strdate) {
    var str = strdate;

    str = str.split("/");

    str = str[1] + "/" + str[0] + "/" + str[2].split();
    var date = new Date(str);
    return date;

}

function ClearDatesDtPick(id){
    var date = new Date();
    var strmonth;
    var strday;

    if (document.getElementById(mapId + "txtFromDate").value)
        date = StrtoDate(document.getElementById(mapId + "txtFromDate").value);
    else {
        date = StrtoDate(document.getElementById("hdnDefaultDate").value);
    }
    
    switch(id)
    {
        case mapId + "chkTomorrow":
            document.getElementById(mapId + "chkNext7Days").checked = false;
            document.getElementById(mapId + "chkAllDates").checked = false;
            //if (!document.getElementById(mapId + "txtFromDate").value)
                document.getElementById(mapId + "txtFromDate").value = document.getElementById("hdnDefaultDate").value;
            date = StrtoDate(document.getElementById(mapId + "txtFromDate").value);
            date.setDate(date.getDate() + 1);

            strmonth = (date.getMonth() + 1).toString();
            strday = date.getDate().toString();
            if ((date.getMonth() + 1) < 10)
                strmonth = "0" + (date.getMonth() + 1).toString();
            else
                strmonth = (date.getMonth() + 1).toString();
            if (date.getDate() < 10)
                strday = "0" + date.getDate().toString();
            else
                strday = date.getDate().toString();

            document.getElementById(mapId + "txtFromDate").value = strday + "/" + strmonth + "/" + date.getFullYear() + " 00:00";
            document.getElementById(mapId + "txtToDate").value = strday + "/" + strmonth + "/" + date.getFullYear() + " 23:59";
            break;
        case mapId + "chkNext7Days":
            document.getElementById(mapId + "chkTomorrow").checked = false;
            document.getElementById(mapId + "chkAllDates").checked = false;

            //if (!document.getElementById(mapId + "txtFromDate").value)
                document.getElementById(mapId + "txtFromDate").value = document.getElementById("hdnDefaultDate").value;
            
            date = StrtoDate(document.getElementById(mapId + "txtFromDate").value);

            date.setDate(date.getDate() + 7);

            strmonth = (date.getMonth() + 1).toString();
            strday = date.getDate().toString();
            if ((date.getMonth() + 1) < 10)
                strmonth = "0" + (date.getMonth() + 1).toString();
            else
                strmonth = (date.getMonth() + 1).toString();

            if (date.getDate() < 10)
                strday = "0" + date.getDate().toString();
            else
                strday = date.getDate().toString();


            document.getElementById(mapId + "txtToDate").value = strday + "/" + strmonth + "/" + date.getFullYear() + " 23:59";

            date = StrtoDate(document.getElementById(mapId + "txtFromDate").value);

            date.setDate(date.getDate() + 1);

            strmonth = (date.getMonth() + 1).toString();
            strday = date.getDate().toString();
            if ((date.getMonth() + 1) < 10)
                strmonth = "0" + (date.getMonth() + 1).toString();
            else
                strmonth = (date.getMonth() + 1).toString();

            if (date.getDate() < 10)
                strday = "0" + date.getDate().toString();
            else
                strday = date.getDate().toString();

            document.getElementById(mapId + "txtFromDate").value = strday + "/" + strmonth + "/" + date.getFullYear() + " 00:00";
            
            break;
        case mapId+"chkAllDates":
            document.getElementById(mapId+"chkTomorrow").checked=false;
            document.getElementById(mapId+"chkNext7Days").checked=false;
            document.getElementById(mapId + "txtFromDate").value = "";
            document.getElementById(mapId + "txtToDate").value="";
            break;
    }
    if(document.getElementById(mapId+"txtFromDate")==null)return;
    if(document.getElementById(mapId+"chkTomorrow").checked==true || document.getElementById(mapId+"chkNext7Days").checked==true || document.getElementById(mapId+"chkAllDates").checked==true){
        //document.getElementById(mapId+"txtFromDate").value="";
        //document.getElementById(mapId+"sltFromHour").value="";
        //document.getElementById(mapId+"txtToDate").value="";
        //document.getElementById(mapId+"sltToHour").value="";
        document.getElementById(mapId + "txtFromDate").disabled = true;
        document.getElementById(mapId + "txtToDate").disabled = true;
    }else{
        document.getElementById(mapId+"txtFromDate").value=document.getElementById("hdnDefaultDate").value;
        //document.getElementById(mapId+"sltFromHour").selectedIndex=1;
        document.getElementById(mapId + "txtToDate").value = document.getElementById("hdnDefaultDate").value.toString().split(' ')[0] + " 23:59";
        //document.getElementById(mapId+"sltToHour").selectedIndex=25;
        document.getElementById(mapId + "txtFromDate").disabled = false;
        document.getElementById(mapId + "txtToDate").disabled = false;
    }
}
function onZeroIndex(sltHour){
    if(document.getElementById(mapId+"txtFromDate")==null)return;
    if(document.getElementById(sltHour).selectedIndex==0)document.getElementById(sltHour).selectedIndex=1;
}
function SelectZeroHour(isFromDate){
    if(document.getElementById(mapId+"txtFromDate")==null)return;
//    if(isFromDate){
//        if(document.getElementById(mapId+"txtFromDate").value.length>0 && document.getElementById(mapId+"sltFromHour").selectedIndex==0){document.getElementById(mapId+"sltFromHour").selectedIndex=1;}
//    }else{
//        if(document.getElementById(mapId+"txtToDate").value.length>0 && document.getElementById(mapId+"sltToHour").selectedIndex==0){document.getElementById(mapId+"sltToHour").selectedIndex=1;}
//    }
}
function SetHighlightFault(){
    document.getElementById("hdnUser").value=document.getElementById("txtUser").value;
    document.getElementById("hdnPhoneNo").value=document.getElementById("txtEmailaddress").value;
    document.getElementById("hdnEmailaddress").value=document.getElementById("txtPhoneNo").value;
    document.getElementById("hdnComments").value=document.getElementById("txtComments").value;
}

