﻿function Flash(id, message, success, hideOnSuccess) {
    if (success) {
        $('#' + id).html('').removeClass('error').addClass('success');
        $('#' + id).append('<span>' + message + '</span>');
        $('#' + id).show();
    } else {
        $('#' + id).html('').removeClass('success').addClass('error');
        //$('#' + id).append('<div class="mainErrorMessage"><span>' + T["ERROR_OCCURRED"] + '</span></div>');
        $('#' + id).append('<div class="detailErrorMessage"><span>' + message + '</span></div>');
        $('#' + id).append('<div class="clearer"></div>');
        $('#' + id).show();
    }
}

function failure(xhr) {
    try {
        var data = $.parseJSON(xhr.responseText);
        alert(data.feedback, false);
    } catch (e) {
        alert(e);
    }
}

/////////////////////////
////   VALIDATION   /////
/////////////////////////

// Processes the validation information provided from the webhandlers and visually updates the fields accordingly.
function validate(data) {
    var validation = {};
    var found = false;
    var errorMessage = data.feedback;
    for (var i = 0; i < data.validation.length; i++) {
        if (data.validation[i] != "success") {
            found = true;
            break;
        }
    }
    validation.found = found;
    validation.errorMessage = errorMessage;
    if (validation.found) {
        validateFields(data);
        validation.errorMessage = T["VALIDATION_FAILED_ERROR"];
    } else {
        clearValidation();
    }
    return validation;
}

function validateFields(data) {
    clearValidation();
    for (var i = 0; i < data.validation.length; i++) {
        if (data.validation[i] != "success") {
            //alert(data.validation[i].split(":")[0]);
            $('.inputtable').find("[field='" + data.validation[i].split(":")[0] + "']").each(function () {
                $(this).attr('title', data.validation[i].split(":")[1]).addClass('inputerror');
            });
        }
    }
}

function clearValidation() {
    $('.inputtable').find(".inputerror").each(function () {
        $(this).attr('title', '').removeClass('inputerror');
    });
}

/////////////////////////
//// END VALIDATION /////
/////////////////////////


$(document).ready(function () {
    $('#header .zoeken #MasterSearchBox, #content #SearchBox').bind('keyup', function (e) {
        if ($(this).val() != '') {
            if (e.which == 13) {
                $('form').attr('action', baseURL + 'Zoeken/');
                $('form').submit();
                e.preventDefault();
            }
        }
    });
});
