﻿function Produto() {
    var async = null;
}

Produto.prototype.CalcularFrete = function(pesoProd, cepDestino) {

    var callback =

	{
	    success: function(o) {

	        var doc = o.responseText;

	        /*var xml = parseXmlText(doc);
	        var root = xml.documentElement;

	        var servicoNome = root.getElementsByTagName('servico_nome')[0].firstChild.nodeValue;
	        var uf_destino = root.getElementsByTagName('uf_destino')[0].firstChild.nodeValue;
	        var local_destino = root.getElementsByTagName('local_destino')[0].firstChild.nodeValue;
	        var cepDestino = root.getElementsByTagName('cep_destino')[0].firstChild.nodeValue;
	        var peso = root.getElementsByTagName('peso')[0].firstChild.nodeValue;
	        var preco = parseFloat(root.getElementsByTagName('preco_postal')[0].firstChild.nodeValue);

	        var divFrete = _gel('produto-frete');

	        divFrete.innerHTML = 'Calculo de Frete para o CEP: ' + cepDestino + ' <br/>';
	        divFrete.innerHTML += '<b>Serviço: ' + servicoNome + '</b><br/>';
	        divFrete.innerHTML += '<b>Destino: </b> ' + local_destino + '</b><br/>';
	        divFrete.innerHTML += '<b>Valor do Frete: </b> ' + preco.toString().replace('.', ',') + '</b><br/>';

	        hideLoadingMessage();
	        */

	        if (doc.search("ok") == 0) {

	            // UF
	            var capital = (msg.split("|")[2] == 'true' ? ' (Capital)' : ' (Interior)');
	            var uf = msg.split("|")[1] + capital;

	            //Valores
	            var sedex = 'R$ ' + msg.split("|")[3].replace('.', ',');
	            var pac = 'R$ ' + msg.split("|")[4].replace('.', ',');
	        }
	        else {
	            Alert("Não foi possível calcular o frete neste momento.");
	        }

	    },

	    failure: function(o) {
	        Alert(o.responseText, "Erro no Request");

	        //hideLoadingMessage();
	    },

	    argument: this
	}

    var params = "postalCodeFrom=12210070";
    params += "&weight=" + pesoProd.replace(',', '.');
    params += "&value=0.00";
    params += "&postalCodeTo=" + cepDestino.replace('-', '');

    var url = "https://pagseguro.uol.com.br/desenvolvedor/simulador_de_frete_calcular.jhtml?" + params;
    
    YAHOO.util.Connect.asyncRequest('GET', url, callback, null);
}

Produto.prototype.Buscar = function() {

    var termo = _gel('txtBusca').value;

    if (termo.length < 3 || termo == undefined || termo == "") {
        alert("Digite um termo para busca");
        return false;
    }

    window.location.href = '/Busca.aspx?termo=' + escape(termo);

}

Produto.prototype.AdicionarCarrinho = function(idProduto) {

    var callback =
	{
	    success: function(o) {
	        var doc = o.responseText;

	        eval("var json = " + doc);

	        switch (json.Result.Status) {

	            case "OK":

	                window.location.href = '/CarrinhoCompras.aspx';

	                break;

	            case "LoginRequired":
	                Alert(json.Result.Message, "Erro");
	                break;

	            case "InvalidData":
	                Alert(json.Result.Message, "Erro");
	                break;

	            case "ProdutoPedido":
	                alert(json.Result.Message);
	                window.location.href = '/CarrinhoCompras.aspx';
	                break;

	            case "Error":
	                Alert(json.Result.Message, "Erro");
	                break;
	        }
	    },

	    failure: function(o) {
	        Alert("Nenhum produto foi adicionado no carrinho!");
	    }
	}

    var idCliente = 0;
    var codigo = 0;
    var nome = "";
    var preco = "";
    var precoNormal = "";
    var precoVarejo = "";
    var precoAtacado = "";
    var qtd = 1;

    if (idProduto == undefined || idProduto == "")
        idProduto = 0;

    if (_gel('codigo').value != undefined || _gel('codigo') != "")
        codigo = parseInt(_gel('codigo').value);

    if (_gel('idCliente').value != undefined || _gel('idCliente') != "")
        idCliente = _gel('idCliente').value;

    if (_gel('nomeProduto').innerHTML != undefined || _gel('nomeProduto').innerHTML != "")
        nome = encodeURIComponent(_gel('nomeProduto').innerHTML);

    precoNormal = _gel('preco_normal').innerHTML;
    precoVarejo = _gel('preco_varejo').innerHTML;
    precoAtacado = _gel('preco_atacado').innerHTML;

    if ((precoVarejo == undefined || precoVarejo == "")) {
        preco = precoNormal;
    }
    else {
        preco = precoVarejo;
    }

    /*if (_gel('preco_normal').innerHTML != undefined || _gel('preco_normal').innerHTML != "")
    preco = _gel('preco_normal').innerHTML;*/

    if (_gel('txtQtd').value != undefined || _gel('txtQtd').value != "")
        qtd = parseInt(_gel('txtQtd').value);

    var url = wrapperUrl + "act_cart_add";

    var params = "idCliente=" + idCliente;
    params += "&codigo=" + codigo;
    params += "&idProduto=" + idProduto;
    params += "&Nome=" + nome;
    params += "&preco=" + preco;
    params += "&qtd=" + qtd;

    var async = YAHOO.util.Connect.asyncRequest('POST', url, callback, params);

}

Produto.prototype.RemoverCarrinho = function(idProduto) {

    var callback =
	{
	    success: function(o) {
	        var doc = o.responseText;

	        eval("var json = " + doc);

	        switch (json.Result.Status) {

	            case "OK":

	                window.location.href = '/CarrinhoCompras.aspx';

	                break;
	            case "LoginRequired":
	                Alert(json.Result.Message, "Erro");
	                break;
	            case "InvalidData":
	                Alert(json.Result.Message, "Erro");
	                break;
	            case "Error":
	                Alert(json.Result.Message, "Erro");
	                break;
	        }
	    },

	    failure: function(o) {
	        Alert("Nenhum produto foi removido do carrinho!");
	    }
	}

    if (idProduto == undefined || idProduto == "")
        idProduto = 0;

    var url = wrapperUrl + "act_cart_delete";

    var params = "idProduto=" + idProduto;
    
    var async = YAHOO.util.Connect.asyncRequest('POST', url, callback, params);

}