function validateMonthAndDay(value, element) 
{
    var days31 = [ "01", "03", "05", "07", "08", "10", "12" ];
    var days30 = [ "04", "06", "09", "11"];
    //ten warunek na wymagane
    if (value.length == 0)
    {
        return true;
    }
    if (value.length != 5 )
    {
        return false;
    }
    if (value.charAt(2) != '-')
    {
        return false;
    }
    month = value.charAt(0)+value.charAt(1);
    if (month > 12 || month < 1)
    {
        return false;
    }
    day = value.charAt(3)+value.charAt(4);

    max_day = 29;
    if (jQuery.inArray(month, days31) >= 0)
    {
        max_day = 31;
    }
    if (jQuery.inArray(month, days30) >= 0)
    {
        max_day = 30;
    }
    if (day < 1 || day > max_day)
    {
        return false;
    }

    return true;
}

function validateDate(value, element) 
{
    if (value.charAt(4) != '-')
    {
        return false;
    }
    year = value.substr(0, 4);
    if (! /^\d+$/.test(year))
    {
        return false;
    }
    return validateMonthAndDay(value.substr(5, 6));
}

function validateFutureDate(value, element)
{
    var result = validateDate(value, element);
    if (result)
    {
        var myDate=new Date();
        month = value.substr(5,2);
        month = month - 1;
        myDate.setFullYear(value.substr(0,4),month, value.substr(8,2));
        var today = new Date();
        if (myDate<today)
        {
            return false;
        }
    }
    return result
}
