function eDate(name){this.base=ModelBase;this.base(name);this.hashcode="Date@"+Math.floor(Math.random()*9999999999);this.eClass="eDate";this.elmFieldDay=document.getElementsByName(this.name+".day")[0];this.elmFieldMonth=document.getElementsByName(this.name+".month")[0];this.elmFieldYear=document.getElementsByName(this.name+".year")[0];this.getValue=elm_getValue;this.setValue=elm_setValue;this.setValueDay=elm_setValueDay;this.setValueMonth=elm_setValueMonth;this.setValueYear=elm_setValueYear;this.getValueDay=elm_getValueDay;this.getValueMonth=elm_getValueMonth;this.getValueYear=elm_getValueYear;this.valueOf=elm_getValue;this.elmFieldDay.onblur=this.handleOnChange;this.elmFieldMonth.onblur=this.handleOnChange;this.elmFieldYear.onblur=this.handleOnChange;this.elmFieldDay.obj=this.elmFieldMonth.obj=this.elmFieldYear.obj=this;function elm_getValue(){var day=this.getValueDay();var month=this.getValueMonth();var year=this.getValueYear();return(day&&month&&year)?(year+"-"+month+"-"+day):null;}
function elm_setValue(value){if(value&&this.getValue()!=value){this.changed=true;var d=value.split('-');if(d.length==3){this.setValueDay(d[2]);this.setValueMonth(d[1]);this.setValueYear(d[0]);}
else{this.setValue();}}
else{this.setValueDay('');this.setValueMonth('');this.setValueYear('');}}
function elm_getValueDay(){return(this.elmFieldDay)?this.elmFieldDay.value:null;}
function elm_setValueDay(value){if(this.elmFieldDay&&this.getValueDay()!=value){this.changed=true;this.elmFieldDay.value=value;}}
function elm_getValueMonth(){return(this.elmFieldMonth)?this.elmFieldMonth.value:null;}
function elm_setValueMonth(value){if(this.elmFieldMonth&&this.getValueMonth()!=value){this.changed=true;this.elmFieldMonth.value=value;}}
function elm_getValueYear(){return(this.elmFieldYear)?this.elmFieldYear.value:null;}
function elm_setValueYear(value){if(this.elmFieldYear&&this.getValueYear()!=value){this.changed=true;this.elmFieldYear.value=value;}}}