﻿Carrinho = function (config) {
    if (!config) config = new Object();

    this.url = config.url;
    this.action = config.action;

    this.possuiCaracteristicaCor = config.possuiCaracteristicaCor;
    this.possuiCaracteristicaTam = config.possuiCaracteristicaTam;
    this.caracteristicaSelecionada = config.caracteristicaSelecionada;
    this.possuiSKU = false;

    if (config.possuiCaracteristicaCor == true || config.caracteristicaSelecionada == true)
        config.possuiSKU = true;

    this.Incluir = function (key) {
        if (config.possuiSKU == false && CO.trim(config.caracteristicaSelecionada) == '') {
            alert(config.url);
        } else {
            var lnk = this.url + '/' + this.action + '/' + key + '/' + this.caracteristicaSelecionada; CO.ajax(lnk, '', inclusaoOK);
        }

        function inclusaoOK(dados) {
            dados = CO.eval(dados);

            if (dados.OK) {
                document.location = config.url;
            } else {
                CO.mensagem(dados.MensagemOK, 'erro');
            }
        }
    };

    this.Alterar = function (produto, objeto) {
        var vlrp = $(objeto).attr('padrao');
        var item = $(objeto).attr('item');

        if (CO.trim($(objeto).attr('value')) == "" || $(objeto).attr('value') == 0) {
            $(objeto).attr('value', vlrp);
        }

        var vlra = $(objeto).attr('value');
        if (vlra != vlrp) {
            var lnk = config.url + '/alterar/' + produto + '/' + item + '/' + vlra; CO.ajax(lnk, '', alteracaoOK);
        }

        function alteracaoOK(dados) {
            dados = CO.eval(dados);

            if (dados.OK) {
                document.location = config.url;
            } else {
                $(objeto).attr('value', vlrp); CO.mensagem(dados.MensagemOK, 'erro');
            }
        }
    };

    this.Excluir = function (item) {
        CO.mensagem('Atenção! Deseja realmente excluir este item do seu orçamento?', 'pergunta', excluirOK);

        function excluirOK() {
            var lnk = config.url + '/excluir/' + item; CO.ajax(lnk, '', exclusaoOK);
        }

        function exclusaoOK(dados) {
            dados = CO.eval(dados);

            if (dados.OK) {
                document.location = config.url;
            } else {
                CO.mensagem(dados.MensagemOK, 'erro');
            }
        }
    };

    this.Finalizar = function () {
        CO.mensagem('Atenção! Deseja finalizar este orçamento?', 'pergunta', finalizarOK);

        function finalizarOK() {
            CO.mensagemOff(); var lnk = config.url + '/finalizar/' + item; CO.ajax(lnk, '', finalizouOK);
        }

        function finalizouOK(dados) {
            dados = CO.eval(dados);

            if (dados.OK) {
                CO.mensagem('Informação! Seu orçamento foi realizado com sucesso.', 'informacao', finalizadoOK)
            } else {
                CO.mensagem(dados.MensagemOK, 'erro');
            }
        }

        function finalizadoOK() {
            document.location = '/home';
        }
    };
}
