
function vertifIsNum(e)
{
    if (document.all) var e = event;
    if (keypressIsNum(e) === false && keypressIsPrintable(e) == true)
    {
        return keypressIsStop(e);
    }
}

function vertifIsNumSpy(e)
{
    if (document.all) var e = event;
    if (e.srcElement && typeof e.srcElement.getAttribute("isNum"))
    {
        e.srcElement.isNum = eval(e.srcElement.getAttribute("isNum"));
    }
    if (keypressIsNum(e) === false && keypressIsPrintable(e) == true && e.srcElement && e.srcElement.isNum == true)
    {
        return keypressIsStop(e);
    }
}


var vertifChampDay = function(e)
{
    if (document.all) var e = event;
    if (e.keyCode != 9 && e.keyCode != 13)
    {
        if (Number(this.value) >= 1)
        {
            if (this.value.length > 1)
            {
               var newvalue = this.value;
               if (Number(newvalue) > 31)
                    this.value = "31";
               else
                    this.value = newvalue;
               this.month.focus();
            }
        }
        else
            return false;
    }
}



var vertifChampMonth = function(e)
{
    if (document.all) var e = event;
    if (e.keyCode != 9 && e.keyCode != 13)
    {
        if (Number(this.value) >= 1)
        {
            if (this.value.length > 1)
            {
               var newvalue = this.value;
               if (Number(newvalue) > 12)
                    this.value = "12";
               else
                    this.value = newvalue;
               this.year.focus();
            }
        }
        else
            return false;
   }
}



var vertifChampYear = function(e)
{
    if (document.all) var e = event;
    if (e.keyCode != 9 && e.keyCode != 13)
    {
       if (Number(this.value) >= 1)
       {
            if (this.value.length > 3)
            {
                var d2=new Date(this.value,Number(this.month.value)-1,this.day.value);
                   
                var d = d2.getDate();
                var m = d2.getMonth()+1;
                var y = d2.getFullYear();
                if (Number(this.day.value) != d)
                    d = 1;
                if (d < 10)
                    d = "0"+d;
                if (m < 10)
                    m = "0"+m;
                if (y < 1900)
                    y = 1900;
                this.day.value = d;
                this.month.value = m;
                this.value = y;
                if (myvalidator) myvalidator();
            }
        }
        else
            return false;
    }
}

function initDateField(idDay, idMonth, idYear)
{
    var day = document.getElementById(idDay);
    var month = document.getElementById(idMonth);
    var year = document.getElementById(idYear);

    day.month = month;
    month.year = year;
    year.day = day;
    year.month = month;

    day.numValue = "";
    month.numValue = "";
    year.numValue = "";

    day.vertifChampDay = vertifChampDay;
    day.onkeyup = day.vertifChampDay;

    month.vertifChampMonth = vertifChampMonth;
    month.onkeyup = month.vertifChampMonth;

    year.vertifChampYear = vertifChampYear;
    year.onkeyup = year.vertifChampYear;
    year.isNum = true;

    day.setfocus = function(){this.select();}
    day.onfocus = day.setfocus;
    day.isNum = true;

    month.setfocus = function(){this.select();}
    month.onfocus = day.setfocus;
    month.isNum = true;

    year.setfocus = function(){this.select();}
    year.onfocus = day.setfocus;
    
}
document.onkeydown = vertifIsNumSpy;