function validate_filled(fld) {
    var error = "";

    if (fld.value.length == 0) {
        fld.className = 'invalid';
        error = "Pole nesmí být prázdné.\n"
    } else {
        fld.className = 'valid';
    }
    return error;
}

function validate_email(fld) {
    var error = "";

    if (fld.value.length == 0 || is_email(fld.value) == false) {
        fld.className = 'invalid';
        error = "Vypl\u0148te prosím svou e-mailovou adresu.\n";
    } else {
        fld.className = 'valid';
    }
    return error;
}

function is_email(s) {
    return (s.match(/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/) != null);
}

function validate_date_or_empty(fld) {
    var error = "";

    if (fld.value.length > 0 && is_date(fld.value) == false) {
        fld.className = 'invalid';
        error = "Pole neobsahuje datum ve formátu YYYY-MM-DD.\n";
    } else {
        fld.className = 'valid';
    }
    return error;
}

function validate_date(fld) {
    var error = "";

    if (fld.value.length == 0 || is_date(fld.value) == false) {
        fld.className = 'invalid';
        error = "Pole neobsahuje datum ve formátu YYYY-MM-DD.\n";
    } else {
        fld.className = 'valid';
    }
    return error;
}

function is_date(s){
    return (s.match(/^[0-9]{4}\-([1-9]|0[1-9]|1[012])\-([1-9]|0[1-9]|[12][0-9]|3[01])$/) != null);
}

function validate_time_or_empty(fld) {
    var error = "";

    if (fld.value.length > 0 && is_time(fld.value) == false) {
        fld.className = 'invalid';
        error = "Pole neobsahuje \u010das ve správném formátu: HH:MM.\n";
    } else {
        fld.className = 'valid';
    }
    return error;
}

function validate_time(fld) {
    var error = "";

    if (fld.value.length == 0 || is_time(fld.value) == false) {
        fld.className = 'invalid';
        error = "Pole neobsahuje \u010das ve formátu HH:MM.\n";
    } else {
        fld.className = 'valid';
    }
    return error;
}

function is_time(s) {
    return (s.match(/^([1-9]|[01][1-9]|2[0-3]):[0-5][0-9]$/) != null);
}

function validate_combobox_selected(combobox) {
    var error = "";

    var value = combobox.options[combobox.selectedIndex].value;
    if (value.length == 0 || value == 'none') {
        combobox.className = 'invalid';
        error = "Vyberte n\u011bjakou variantu z komboboxu.\n";
    } else {
        combobox.className = 'valid';
    }
    return error;
}
