$(document).ready(function() {
    // registrace uzivatele
    if ($("#fakturacni_udaje_0").attr('checked')) {
        $("#fakturacni_udaje_box").hide();
    }

    $("#fakturacni_udaje_0").change(function() {
        $("#fakturacni_udaje_box").hide();
        $(this).blur();
    });

    $("#fakturacni_udaje_1").change(function() {
        $("#fakturacni_udaje_box").show();
        $(this).blur();
    });

});

// kontrola registracniho formu
function getLabel(elemId)
{
    if (elemId) {
        var label = $('label.required[for="' + elemId + '"]');

        if (label && label.length) {
            if (label.attr('title')) {
                return label.attr('title');
            }

            label = label.text();
            label = label.replace(/[\s\*]*$/, '');

            return label;
        }
    }

    return '';
}

function emailCheck(email)
{
    var ret = true;

    if (window.RegExp) {
        re = new RegExp("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+[\.][a-zA-Z]{2,4}$");
        ret = re.test(email);
    }

    return ret;
}

function checkForm(form)
{
    var inputs = $('#' + form.id + ' .required');

    if (!inputs.length) {
        return true;
    }

    var error = '';

    for (i = 0; i < inputs.length; i++) {
        el = inputs[i];
        label = getLabel(el.id).replace(/\*+$/g, '');

        if (!label) {
            continue;
        }

        if (
            !(el.value)
            || (('null' == el.value) && ('SELECT' == el.tagName) && (-1 == el.className.indexOf('nullable')))
            || (('checkbox' == el.type) && !el.checked)
        ) {
            switch (el.type) {
                case 'checkbox':
                    error += "Zaškrtněte prosím pole '" + label + "'.<br />";
                    break;

                case 'select-one':
                    error += "Vyberte prosím jednu z možností v poli '" + label + "'.<br />";
                    break;

                default:
                    error += "Vyplňte prosím pole '" + label + "'.<br />";
                    break;
            }

            continue;
        }

        if (-1 != el.id.indexOf('email')) {
            if (!emailCheck(el.value)) {
                error += "Emailová adresa v poli '" + label + "' je neplatná, zadejte ji prosím znovu.<br />";
            }
        }
    }

    if (error) {
        $.prompt(error, { opacity: 0.1 });
        return false;
    }

    return true;
}

