var agt = navigator.userAgent.toLowerCase();   
var OldTextBox;   
var focusYear=false;   
var focusMonth=false;   
var focusDay=false;   
var overYear=false;   
var overMonth=false;   
var overDay=false;   
   
function DateSeter(obj){   
    var parent=obj.parentNode;   
       
    var selYear=document.createElement('SELECT');   
    selYear.id='LoftyYear';   
    parent.insertBefore(selYear,obj);   
    var selMonth=document.createElement('SELECT');   
    selMonth.id='LoftyMonth';   
    parent.insertBefore(selMonth,obj);   
    var selDay=document.createElement('SELECT');   
    selDay.id='LoftyDay';   
    parent.insertBefore(selDay,obj);   
    OldTextBox=obj;   
    var now;   
    try   
    {   
        var o=obj.value.split('-');   
        var oyy=Math.round(o[0]);   
        var omm=Math.round(o[1]);   
        var odd=Math.round(o[2]);   
        now=new Date(oyy,omm-1,odd);   
    }   
    catch(e)   
    {   
    }   
    if(isNaN(now))now=new Date();   
    parent.removeChild(obj);   
    var cYear=now.getFullYear();   
    SetCurrentYear(selYear,cYear);   
    al(selYear,'change','SetCurrentYear(document.getElementById(\'LoftyYear\'))');   
    al(selMonth,'change','SetDay(null,null)');   
    for(i=1;i<=12;i++)   
    {   
        var op=new Option(i,i);   
        selMonth.options.add(op);   
    }   
    var cMonth=now.getMonth()+1;   
    selMonth.selectedIndex=cMonth-1;   
    SetDay(cYear,cMonth);   
    selDay.selectedIndex=now.getDate()-1;   
    al(selYear,'focus','Focuses(\'Y\',true);');   
    al(selYear,'blur','Focuses(\'Y\',false);');   
    al(selMonth,'focus','Focuses(\'M\',true);');   
    al(selMonth,'blur','Focuses(\'M\',false);');   
    al(selDay,'focus','Focuses(\'D\',true);');   
    al(selDay,'blur','Focuses(\'D\',false);');   
    al(selYear,'mouseover','Focuses(\'Ym\',true);');   
    al(selYear,'mouseout','Focuses(\'Ym\',false);');   
    al(selMonth,'mouseover','Focuses(\'Mm\',true);');   
    al(selMonth,'mouseout','Focuses(\'Mm\',false);');   
    al(selDay,'mouseover','Focuses(\'Dm\',true);');   
    al(selDay,'mouseout','Focuses(\'Dm\',false);');   
    setTimeout('document.getElementById(\'LoftyDay\').focus();',1);   
}   
function Focuses(name,focus)   
{   
    if(name=='Y')   
    {   
        focusYear=focus;   
    }   
    else if(name=='M')   
    {   
        focusMonth=focus;   
    }   
    else if(name=='D')   
    {   
        focusDay=focus;   
    }   
    if(name=='Ym')   
    {   
        overYear=focus;   
    }   
    else if(name=='Mm')   
    {   
        overMonth=focus;   
    }   
    else if(name=='Dm')   
    {   
        overDay=focus;   
    }   
    if(!focusYear&&!focusMonth&&!focusDay&&!overYear&&!overMonth&&!overDay)Restore();   
}   
function Restore()   
{   
    var yy=document.getElementById('LoftyYear');   
    var mm=document.getElementById('LoftyMonth');   
    var d=document.getElementById('LoftyDay');   
    var btn=document.getElementById('LoftyBtn');   
    var time=yy.options[yy.selectedIndex].value+'-'+mm.options[mm.selectedIndex].value+'-'+d.options[d.selectedIndex].value;   
    OldTextBox.value=time;   
    var parent=yy.parentNode;   
    parent.insertBefore(OldTextBox,yy);   
    parent.removeChild(yy);   
    parent.removeChild(mm);   
    parent.removeChild(d);   
}   
function SetDay(year,month)   
{   
    if(year==null){   
        var yy=document.getElementById('LoftyYear');   
        var mm=document.getElementById('LoftyMonth');   
        year=Math.round(yy.options[yy.selectedIndex].value);   
        month=Math.round(mm.options[mm.selectedIndex].value);   
    }   
    var date=new Date(year,month,1);   
    date.setDate(0);   
    var maxdate=date.getDate();   
    var obj=document.getElementById('LoftyDay');   
    var seldate=obj.selectedIndex;   
    if(obj.options.length>0){   
        if(Math.round(obj.options[obj.selectedIndex].value)>maxdate)   
        {   
            seldate=maxdate-1;   
        }   
    }   
        reAppendSelect(obj,1,maxdate,seldate+1);   
}   
function SetCurrentYear(selecter,currYear)   
{   
    if(currYear==null){   
        currYear=Math.round(selecter.options[selecter.selectedIndex].value);   
    }   
    reAppendSelect(selecter,currYear-10,currYear+10,currYear);   
}   
function reAppendSelect(selecter,startIndex,endIndex,selIndex)   
{   
    while(selecter.options.length>0)   
    {   
        selecter.removeChild(selecter.options[selecter.options.length-1]);   
    }   
    for(i=startIndex;i<=endIndex;i++)   
    {   
        var op=new Option(i,i);   
        selecter.options.add(op);   
        op.selected=(selIndex==i);   
    }   
}   
function al(obj,lissener,func){   
    if(agt.indexOf('firefox')!=-1){   
        obj.addEventListener(lissener,function(){eval(func);},false);   
    }else{   
        obj.attachEvent('on'+lissener,function(){eval(func);});   
    }   
}   
