/* File Created: junho 19, 2013 */
// Global
var oProdutos = [];
String.prototype.ClearChars = function () {
return this.replace(/[^A-Z0-9' áàâãäéèêëíìîïóòôõöúùûüç']/gi, '');
}
String.prototype.ClearAccent = function () {
var a = 'áàâãäéèêëíìîïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜç';
var b = 'aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIIOOOOOUUUUc';
var s = this;
s = s.ClearChars();
for (var i = 0; i < a.length; i++) {
var x = a.substr(i, 1);
var y = b.substr(i, 1);
s = s.replace(x, y);
}
return s;
}
this.ShowModal = function (message) {
$("#SuggestCotacao").hide();
var HTML = "
| " + message + " |
---|
";
ShadowBoxOpenHTM(HTML, 250, 100);
}
this.UpdateCotacao = function (codigo) {
var qtd = parseInt($("#txtQtd".concat(codigo)).val());
AddToList(codigo, qtd);
}
this.AddToList = function (codigo, qtd) {
qtd = qtd || 1;
var product = oProdutos.find(function (obj) { return obj.Item1 == codigo });
if (product) {
product.Item2 = qtd;
}
else
oProdutos.push({ Item1: codigo.toString(), Item2: parseInt(qtd) });
$("#dvLoading").show();
PageMethods.AddToList(JSON.stringify(oProdutos), OnSucessCotacao, OnFailed);
}
this.OnSucessCotacao = function (args) {
$("#dvProdutos").html(args[0]);
$("#lblTotal").text('R$ '.concat(args[1]));
$("#TermoBuscaCotacao").val("");
$("#boxCotacao, #boxLoja").show();
$("#dvLoading").hide();
}
this.RemoveLine = function (codigo) {
if (confirm('Deseja remover o produto da consulta?'))
$(".dv".concat(codigo)).remove();
var index = oProdutos.findIndex(function (obj) { return obj.Item1 == codigo });
oProdutos.splice(index, 1);
if (oProdutos.length) {
$("#dvLoading").show();
PageMethods.AddToList(JSON.stringify(oProdutos), OnSucessCotacao, OnFailed);
} else {
$("#dvProdutos").empty();
$("#boxCotacao, #boxLoja").hide();
}
}
// JQUERY controls
$(function () {
$("#TermoBuscaCotacao").keydown(function (e) {
var key = e.charCode || e.keyCode || 0;
if (key == 13) {
var termo = $("#TermoBuscaCotacao").val().ClearAccent().replace(/[' ']/gi, '-');
if (termo.length < 3) {
ShowModal("A busca deve conter no mínimo 3 caracteres");
return false;
}
if (termo.length == 6 && !isNaN(termo)) {
AddToList(termo);
return false;
}
else {
$("#SuggestCotacao").hide();
$("#TermoBuscaCotacao").val("");
$("#btBuscarCotacao").focus();
ShadowBoxOpenURL('/CotacaoOnlineBusca.aspx?termo=' + termo + '&origem=consulta_loja', 800, 700, false);
return false;
}
}
});
$("#btBuscarCotacao").click(function () {
var termo = $("#TermoBuscaCotacao").val().ClearAccent().replace(/[' ']/gi, '-');
if (termo.length < 3) {
ShowModal("A busca deve conter no mínimo 3 caracteres");
return false;
}
if (termo.length == 6 && !isNaN(termo)) {
AddToList(termo);
return false;
}
else {
$("#SuggestCotacao").hide();
$("#TermoBuscaCotacao").val("");
$("#btBuscarCotacao").focus();
ShadowBoxOpenURL('/CotacaoOnlineBusca.aspx?termo=' + termo + '&origem=consulta_loja', 800, 700, false);
return false;
}
});
$("#cboLoja").click(function () {
$("#btNovaConsulta").hide();
$("#btConsultar").show();
});
$("#btConsultar").click(function () {
var filial = $("#cboLoja option:selected").val();
if (filial == "0") {
ShowModal("Selecione uma filial!");
return;
}
PageMethods.StockSearch(JSON.stringify(oProdutos), filial, function (args) {
if (args) {
var produtos = $.parseJSON(args);
$("#loja").text($("#cboLoja option:selected").text());
$("#HeaderLegend, #btNovaConsulta").show();
$("#btConsultar").hide();
produtos.forEach((p) => {
var codigo = p.codigo;
var elem = $(".dv".concat(codigo));
elem.children('.g15:first').text(p.quantidade);
elem.children('.g10:last').removeClass('checkbox_valor').html('');
$('.tit_carrinho').children('.g10:last').children('span').text('STATUS');
$("#cboLoja").prop('disabled', 'disabled');
});
} else {
ShowModal("Não foi possivel consultar a disponibilidade na loja selecionada.");
}
}, OnFailed);
});
});