﻿/* AmwayError.js */

var AmwayNotificationType = {
	Error: "Error",
	Warning: "Warning",
	Information: "Information"
};

var AmwayErrorControl = function(containerId) {
    var _containerId = containerId;
    var _this;

    this.Show = function(showLabel) {
        var displayStyle = 'none';
        if (showLabel === true) {
            displayStyle = 'block';
        }
        document.getElementById(_containerId).style.display = displayStyle;
        // $('#' + _containerId).css('display', displayStyle);
    }

    function _display(severity, message, isPhrase) {
        var thisRef = this;

        //if (isPhrase === true) {
        Amway.Core.Web.UI.Common.AmwayErrorControl.RefreshErrorControl(severity, message, isPhrase,
		function(response) {
		    if (response.error === null) {
		        if (response.value !== null) {
		            $get(_containerId).innerHTML = response.value;
		            _this.Show(true);
		        }
		    }
		});
        //}        
    }

    this.DisplayPhrase = function(severity, messageId) {
        _display(severity, messageId, true);
    }

    this.DisplayMsg = function(severity, message) {
        _display(severity, message, false);
    }

    /********************* Methods to populate error control with collection of errorCodes or errorMessages ********************/
    //Method to populate Error Control with collection of ErrorCodes
    this.DisplayErrorCodes = function(severity, errorCodes) {
        _displayErrorMessages(severity, errorCodes, true);
    }
    //Method to populate Error Control with collection of ErrorMessages
    this.DisplayErrorMessages = function(severity, errorMessages) {
        _displayErrorMessages(severity, errorMessages, false);
    }
    //Method to populate Error Control with a DomainError collection
    this.DisplayDomainErrorMessages = function(severity, domainErrors) {
        _displayDomainErrorMessages(severity, domainErrors);
    }

    /***********************Ajax Call to populate error control with collection of errorCodes or errorMessages ******************/
    function _displayErrorMessages(severity, errorCodesOrMessages, isErrorCodes) {
        var thisRef = this;
        Amway.Core.Web.UI.Common.AmwayErrorControl.ShowErrorMessages(severity, errorCodesOrMessages, isErrorCodes,
		function(response) {
		    if (response.error === null) {
		        if (response.value !== null) {
		            $get(_containerId).innerHTML = response.value;
		            _this.Show(true);
		        }
		    }
		});
    }
    
    function _displayDomainErrorMessages(severity, domainErrors) {
        Amway.Core.Web.UI.Common.AmwayErrorControl.ShowDomainErrorMessages(severity, domainErrors, function(response) {
		    if (response.error === null) {
		        if (response.value !== null) {
		            $get(_containerId).innerHTML = response.value;
		            _this.Show(true);
		        }
		    }
		});
    }
    
    _this = this;
}
