﻿window.onload = function () {
    if (document.getElementsByClassName == undefined) {
        document.getElementsByClassName = function (className) {
            var classNameRegEx = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
            var elements = document.getElementsByTagName("*");
            var results = [];

            var currentElement;
            var currentClassName;
            for (var i = 0; (currentElement = elements[i]) != null; i++) {
                currentClassName = currentElement.className;
                if (currentClassName && currentClassName.indexOf(className) != -1 && classNameRegEx.test(currentClassName))
                    results.push(currentElement);
            }
            return results;
        }
    }
    SetDateFieldsValidation();
    SetTimeFieldsValidation();
}

function BuildEmailLink(box, domain) {
    var address = box + "&#64;" + domain;
    document.write('<a href="mailto:' + address + '" title="Napiště nám">' + address + '</a>');
}

function SetDateFieldsValidation() {
    var elements = document.getElementsByClassName('DateField');
    var element;
    for (var i = 0; (element = elements[i]) != null; i++)
        element.onblur = DateFieldValidation;
}

function DateFieldValidation() {
    if (this.value && this.value != "undefined") {
        var dateRegEx = new RegExp("([0-2]?[0-9])\.([0-1]?[0-9])\.([0-9]{4})");
        var validationFailed = false;
        var currentValue = this.value;

        if (dateRegEx.test(currentValue)) {
            var date = new Date(currentValue.replace(dateRegEx, "$2.$1.$3"));
            if (date == "Invalid Date")
                validationFailed = true;
        }
        else
            validationFailed = true;

        if (validationFailed) {
            alert("Zadané datum musí být ve formátu DD.MM.RRRR.");
            this.focus();
            return false;
        }
    }
    return true;
}

function SetTimeFieldsValidation() {
    var elements = document.getElementsByClassName('TimeField');
    var element;
    for (var i = 0; (element = elements[i]) != null; i++)
        element.onblur = TimeFieldValidation;
}

function TimeFieldValidation() {
    if (this.value && this.value != "undefined") {
        var timeRegEx = new RegExp("([0-2]?[0-9]):([0-5][0-9])");
        var validationFailed = false;
        var currentValue = this.value;

        if (timeRegEx.test(currentValue)) {
            var time = new Date("1.1.1900 " + currentValue);
            if (time == "Invalid Date")
                validationFailed = true;
        }
        else
            validationFailed = true;

        if (validationFailed) {
            alert("Zadaný čas musí být ve formátu HH:MM.");
            this.focus();
            return false;
        }
    }
    return true;
}

