
var Validation = {
    FindLabel: function (fieldName) {
        var labels = document.getElementsByTagName("label");
        /*
        if (kFieldTranslations[name]) {
            name = kFieldTranslations[name];
        }
        */
        for (var i=0; i<labels.length; ++i) {
            if (labels[i].htmlFor == fieldName) {
                return labels[i];
            }
        }
        return null;
    },

    ShowMessages: function (containerId, messages) {
        var messageList = document.createElement("ul");
        var labels = document.getElementsByTagName("label");
        for (var i=0; i<labels.length; ++i) {
            if (labels[i].className == "errorField") {
                labels[i].className = "";
            } else {
                labels[i].className = labels[i].className.replace(" errorField", "");
            }
        }
        messageList.className = "messageList";

        var addedMessage = false;

        for (var i=0; i<messages.length; ++i) {
            if (messages[i].message) {
            /*
                var message = document.createElement("li");
                if (messages[i].isSuccess) {
                    message.className = "successMessage";
                } else {
                    message.className = "failureMessage";
                }
                message.innerHTML = HtmlEscape(messages[i].message);
                messageList.appendChild(message);
            */
                if (!addedMessage && !messages[i].isSuccess) {
                    var message = document.createElement("li");
                    message.className = "failureMessage";
                    if (messages.length == 1) {
                        message.innerHTML = HtmlEscape(messages[i].message);
                    } else {
                        message.innerHTML = "Please correct the fields marked in red";
                    }
                    messageList.appendChild(message);
                    addedMessage = true;
                } else if (messages[i].isSuccess) {
                    var message = document.createElement("li");
                    message.className = "successMessage";
                    message.innerHTML = HtmlEscape(messages[i].message);
                    messageList.appendChild(message);
                }
            }

            if (messages[i].field) {
                var fields = messages[i].field.split(",");
                for (var j=0; j<fields.length; ++j) {
                    var label = this.FindLabel(fields[j]);
                    if (label) {
                        if (label.className == "") {
                            label.className = "errorField";
                        } else {
                            label.className += " errorField";
                        }
                    }
                }
            }
        }

        var messageContainer = document.getElementById(containerId);
        messageContainer.innerHTML = "";
        messageContainer.appendChild(messageList);
    }
};
