﻿
    var IsFloating = false;

    this.onbeforeunload = function (eee)
    {
        try
        {
            if (window.event.clientX <= 0 || window.event.clientY <= 0)
            {
                //alert('Fechando no IE....');
            }

        }
        catch (e)
        {
            // Firefox
            // alert('Fechando no FF');
        }
    }

    this.SetPath = function(Pagina)
    {
        if(Pagina.indexOf('.aspx') > 0)
        {
            PageMethods.set_path("/"+ Pagina);
        }
        else
        {
            PageMethods.set_path("/"+ Pagina + ".aspx");
        }
    }

    this.GetBasket = function (show)
    {
        PageMethods.GetBasketItens(show,OnSucessGetBasket, OnFailed);
    }

    this.OnSucessGetBasket = function (args)
    {
        var DIV = Framework.GetElementByID('MyBasket');

        if (DIV)
        {
            DIV.innerHTML = args.replace('[BASKETFLUTUANTE]', ''); ;

            window.setTimeout("ShowBasket(false);", 10000);
        }

        GetBasketFlutuante(args);

        if (IsFloating == true)
        {
            IsFloating = false;

            $('.carrinho').show();

            if (GetByID('dvAvisoFlutuante'))
            {
                GetByID('dvAvisoFlutuante').style.display = '';
                window.setTimeout("HideAvisoFlutuante();", 3000);
            }
        }
        else
        {
            if (GetByID('dvAvisoFlutuante'))
            {
                GetByID('dvAvisoFlutuante').style.display = 'none';
            }
        }
    }

    this.GetBasketFlutuante = function (args)
    {
        var DIV = $('dvBasketFlutuante');

        if (DIV)
        {
            var HTML = args.substring(args.indexOf('[BASKETFLUTUANTE]'));
            HTML = HTML.replace('[BASKETFLUTUANTE]', '');

            if (HTML.trim() != '[BASKETFLUTUANTE]')
            {
                DIV.innerHTML = HTML;
            }
            else
            {
                DIV.innerHTML = '';
            }

        }

        ScrollPosition = Framework.GetScrollTop();
        window.scrollTo(0, ScrollPosition - 1);
        window.scrollTo(0, ScrollPosition);

        ShowBasketFlutuante();

    }

    this.MoveToTop = function ()
    {
        ScrollPosition = Framework.GetScrollTop();
        ScrollHandler = window.setInterval(" MoveScroll();", 10);
    }

    this.AddToBasket = function (Produto, Quantidade, Nome, Preco)
    {
        // Oculta o carrinho de compras
        var DIV = Framework.GetElementByID('box_carrinho');

        if (DIV)
        {
            DIV.style.display = 'none';
        }

        if (isNaN(Quantidade))
        {
            alert('A quantidade deve ser um valor numerico.');
            return false;
        }

        Quantidade = parseInt(Quantidade);

        if (Quantidade <= 0)
        {
            alert('A quantidade deve ser maior que zero (0).');
            return false;
        }

        PageMethods.AddToBasket(Produto, Nome, Preco, Quantidade,false, OnSucessAddToBasket, OnFailed);

    }

    this.OnSucessAddToBasket = function (args)
    {
        this.parent.GetBasket(true);
        this.parent.ShadowBoxClose();
    }

    this.HideAvisoFlutuante = function ()
    {
        if (GetByID('dvAvisoFlutuante'))
        {
            GetByID('dvAvisoFlutuante').style.display = 'none';
        }
    }

    this.ChangeUser = function ()
    {
        if (window.confirm('Você deseja realmente realizar trocar de usuário?'))
        {
            PageMethods.Logoff(OnSucessChangeUser, OnFailed);
        }
    }

    this.ChangeUserEstatistica = function ()
    {
        if (window.confirm('Você deseja realmente realizar trocar de usuário?'))
        {
            PageMethods.LogoffEstatistica(OnSucessChangeUserEstatistica, OnFailed);
        }
    }

    this.OnSucessChangeUserEstatistica = function (args)
    {
        if (args == 'OK')
        {
            window.location.href = '/estatistica/Default.aspx';
        }
    }


    this.OnSucessChangeUser = function (args)
    {
        if (args == 'OK')
        {
            if (LINK_PAGE.indexOf('localhost') == -1)
            {
                Redirect(LINK_KALUNGA + '/minha-conta/login?url=minhaconta&bypass=true');
            }
            else
            {
                Redirect('/minha-conta/login?url=minhaconta&bypass=true');
            }
        }
    }

    this.Logoff = function ()
    {
        if (window.confirm('Você deseja realmente realizar Logoff?'))
        {
            PageMethods.Logoff(OnSucessLogoff, OnFailed);
        }
    }

    this.LogoffEstatistica = function ()
    {
        if (window.confirm('Você deseja realmente realizar Logoff do site de estatística?'))
        {
            PageMethods.LogoffEstatistica(OnSucessLogoff, OnFailed);
        }
    }

  
    this.OnSucessLogoff = function (args)
    {
        if (args == 'OK')
        {
            if (LINK_PAGE.indexOf('localhost') == -1)
            {
                Redirect(LINK_KALUNGA);
            }
            else
            {
                Redirect('/home.aspx');
            }
        }
    }

    this.OnFailed = function (args)
    {
        return false;

        if (args)
        {
            var Message = new String();

            var ErrorMessage = args.get_message();
            var StackTrace = args.get_stackTrace();
            var StatusCode = args.get_statusCode();
            var ExceptionType = args.get_exceptionType();
            var TimedOut = args.get_timedOut();

            Message += "\n--------------------------------------------------------------------------\t";
            Message += "\n Kalunga: Javascript Framework Structured Error Handler";
            Message += "\n--------------------------------------------------------------------------\t";
            Message += "\n";
            Message += "\n Error Message: " + ErrorMessage;
            Message += "\n Error Type: " + ExceptionType;
            Message += "\n Stack Trace: " + StackTrace;
            Message += "\n Status Code: " + StatusCode;
            Message += "\n--------------------------------------------------------------------------\t";

            alert(Message);
        }
    }

    this.GetHTML = function(args, xslt) 
    {
        var XML = null;
        var XSL = null;
        var HTML = new String();

        // Internet Explorer
        if (window.ActiveXObject)
        {
            XML = new ActiveXObject("MSXML.DOMDocument");
            XSL = new ActiveXObject("MSXML.DOMDocument");
        }
        // Mozilla, Firefox, Opera, etc.
        else 
        {
            if (document.implementation && document.implementation.createDocument) 
            {
                XML = document.implementation.createDocument("", "", null);
                XSL = document.implementation.createDocument("", "", null);
            }
            else 
            {
                alert('Kalunga Telemarketing: O seu navegador não suporta XMLDOM.');
                return;
            }
        }

        if (XML == null || XSL == null) 
        {
            alert('Ocorreu um erro ao criar o Microsoft.XMLDOM');
            return;
        }
        else 
        {
            XML.async = false;
            XSL.async = false;

            XML.onreadystatechange = function() 
            {
                if (XML.readyState == 4) 
                {
                    XSL.load(xslt);

                    HTML = XML.transformNode(XSL);

                    XML = null;
                    XSL = null;
                }
            }

            XML.loadXML(args);
        }

        return HTML;
    }

    /*
    A função abaixo é responsável por alterar a css do item clicado na árvore de categorias
    parâmetro
    o = objeto clicado
    */
    this.SelectItemMenuClassGrupo = function (o)
    {
        //retira a classe dos outros links
        var items = Framework.GetElementByID('category');
        if (items)
        {
            if (items.length > 1)
            {
                itemsA = items[1].getElementsByTagName("span");
            }
            else
            {
                itemsA = items.getElementsByTagName("span");
            }

            for (var i = 0; i < itemsA.length; i++)
            {
                if (itemsA[i].getAttribute("id") == "ativo")
                {
                    var menuID = itemsA[i].getAttribute("menuID");
                    var itemMenu = Framework.GetElementByID(menuID);
                    var categoriaIDItem = itemMenu.getAttribute("categoriaID")
                    var grupoIDItem = itemMenu.getAttribute("grupoID")
                    var qtdItem = itemMenu.getAttribute("qtd");
                    var itemNome = itemsA[i].firstChild.data;
                    if (itemMenu)
                    {
                        itemMenu.innerHTML = "";
                        itemMenu.innerHTML = itemNome;
                        itemMenu.onclick = function () { GetClassGrupo(categoriaIDItem, grupoIDItem, qtdItem, this) };
                    }
                }
            }
        }
        if (o)
        {
            var qtd = o.getAttribute("qtd");
            var nome = o.getAttribute("nome") + "(" + qtd + ")";
            var id = o.getAttribute("id");
            var categoriaID = o.getAttribute("categoriaID")
            var grupoID = o.getAttribute("grupoID")
            var qtd = o.getAttribute("qtd");

            //atribui classe ativo ao item clicado
            o.innerHTML = "";
            o.innerHTML = "<span id=\"ativo\" menuID=\"" + id + "\" categoriaID=\"" + categoriaID + "\" grupoID=\"" + grupoID + "\" qtd=\"" + qtd + "\" class=\"font_12_vermelha\">" + nome + "</span>";
            o.onclick = function () { void (null) };
        }
    }
