// Corre sempre em cada página para aplicar o ajax indicator
jQuery(document).ready(function() {
    jQuery.MyJavaScript.setupAjaxIndicator();
});

(function($) {
    //Aqui defines o namespace. Não necessita de ser igual ao nome do ficheiro.
    $.MyJavaScript = {

        /* AJAX INDICATOR */
        showAjaxIndicator: function() {
            jQuery.blockUI('<img src="images/progressIndicator.gif" alt="A processar..." />&nbsp;&nbsp;&nbsp;Um momento, por favor...', { backgroundColor: '#F0F0F0', color: '#404040', padding: '10px', border: 'solid 2px #404040' });
        },

        hideAjaxIndicator: function() {
            jQuery('#progress').empty();
            jQuery.unblockUI();
        },

        setupAjaxIndicator: function() {
            jQuery('#progress').ajaxStart($.MyJavaScript.showAjaxIndicator).ajaxStop($.MyJavaScript.hideAjaxIndicator);
        },

        removeAjaxIndicator: function() {
            jQuery('#progress').unbind("ajaxStart", $.MyJavaScript.showAjaxIndicator);
            jQuery('#progress').unbind("ajaxStop", $.MyJavaScript.hideAjaxIndicator);
        },

        /* Synchronized AJAX */
        synchronizedAjax: function(url, data, callback, type) {
            if ($.isFunction(data)) { callback = data; data = null; }
            return $.ajax({
                type: "GET",
                url: url,
                async: false,
                data: data,
                success: callback,
                dataType: type
            });
        },

        /* AJAX without indicator */
        getWithoutAjaxIndicator: function(url, data, callback, type) {
            if ($.isFunction(data)) { callback = data; data = null; }
            return $.ajax({
                type: "GET",
                url: url,
                data: data,
                success: callback,
                dataType: type,
                global: false
            });
        },

        bindEventsEmail: function() {
            $("#formEliminarDiasEmail #btnEliminarDiasEmail").click(function() {
                var numDias = document.formEliminarDiasEmail.numDiasEliminar.value;
                var idTipoEmail = document.formEliminarDiasEmail.idTipoEmail.value;
                if (numDias) {
                    var answer = confirm("Tem a certeza que deseja eliminar emails anteriores a " + numDias + " dias?");
                    if (answer) {
                        $.get('partialEliminarEmailsDias.php',
                            { //vai carregar o partial.html passando os parametros:
                                'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                                'numDias': numDias,
                                'idTipoEmail': idTipoEmail
                            },
                            function(data) { $('#errorPedidoPecas').empty().append(data); },
                            "html");
                        return true;
                    }
                }
            });

            $("#formEliminarDiasEmailEnviados #btnEliminarDiasEmail").click(function() {
                var numDias = document.formEliminarDiasEmailEnviados.numDiasEliminar.value;
                var idTipoEmail = document.formEliminarDiasEmailEnviados.idTipoEmail.value;
                if (numDias) {
                    var answer = confirm("Tem a certeza que deseja eliminar emails anteriores a " + numDias + " dias?");
                    if (answer) {
                        $.get('partialEliminarEmailsDias.php',
                            { //vai carregar o partial.html passando os parametros:
                                'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                                'numDias': numDias,
                                'idTipoEmail': idTipoEmail
                            },
                            function(data) { $('#errorPedidoPecasEnviados').empty().append(data); },
                            "html");
                        return true;
                    }
                }
            });

            $("#removeEmails").click(function() {
                var len = document.formCorreio.length;
                var idTipoEmail = $(this).attr("idTipoEmail");
                var selected = "";
                var pag = $(this).attr("pag");
                for (i = 0; i < len; i++) {
                    if (document.formCorreio[i].name.indexOf("selected") != -1 && document.formCorreio[i].checked == true)
                        selected += document.formCorreio[i].value + ";";
                }
                if (selected != "") {
                    var answer = confirm("Tem a certeza que deseja eliminar?");
                    if (answer) {
                        $.get('partialEliminarConjuntoEmails.php',
                            { //vai carregar o partial.html passando os parametros:
                                'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                                'idTipoEmail': idTipoEmail,
                                'selected': selected,                                'pag': pag
                            },
                            function(data) { $('#errorPedidoPecas').empty().append(data); },
                            "html");
                        return true;
                    }
                }
            });

            $("#removeEmailsEnviados").click(function() {
                var len = document.formCorreioEnviados.length;
                var idTipoEmail = $(this).attr("idTipoEmail");
                var selected = "";
                var pag = $(this).attr("pag");
                for (i = 0; i < len; i++) {
                    if (document.formCorreioEnviados[i].name.indexOf("selected") != -1 && document.formCorreioEnviados[i].checked == true)
                        selected += document.formCorreioEnviados[i].value + ";";
                }
                if (selected != "") {
                    var answer = confirm("Tem a certeza que deseja eliminar?");
                    if (answer) {
                        $.get('partialEliminarConjuntoEmails.php',
                            { //vai carregar o partial.html passando os parametros:
                                'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                                'idTipoEmail': idTipoEmail,
                                'selected': selected,                                'pag': pag
                            },
                            function(data) { $('#errorPedidoPecasEnviados').empty().append(data); },
                            "html");
                        return true;
                    }
                }
            })
        },

        bindEventsRemoveEmail: function() {
            $("#removeEmail ").click(function() {
                var idEmail = $(this).attr("idEmail");
                var idTipoEmail = $(this).attr("idTipoEmail");
                var idCliente = $(this).attr("idCliente");
                //var pag = $(this).attr("pag");
                var answer = confirm("Tem a certeza que deseja eliminar?")
                if (answer) {
                    document.getElementById("errorPedidoPecas").innerHTML = "&nbsp;";
                    $.get('partialEliminarEmail.php',
                        { 'idEmail': idEmail, 'idTipoEmail': idTipoEmail, 'idCliente': idCliente, 'date': new Date() },
                        function(data) { $('#errorPedidoPecas').empty().append(data); },
                        'html');
                }
                return true;
            });
        },


        bindEventsRespondeEmail: function() {
            $("#replyEmail").click(function() {
                var idClienteRemetente = document.formResponderEmail.idClienteRemetente.value;
                var idClienteDestinatario = document.formResponderEmail.idClienteDestinatario.value;
                var assunto = document.formResponderEmail.assunto.value;
                var idTicket = document.formResponderEmail.idTicket.value;
                var idTipoEmail = document.formResponderEmail.idTipoEmail.value;
                var mensagem = document.formResponderEmail.mensagem.value;
                var idEmail = document.formResponderEmail.idEmail.value;
                //var pag = document.formResponderEmail.pag.value;
                if (idClienteRemetente != "" && idClienteDestinatario != "" && assunto != "" && idTicket != "" && idTipoEmail != "") {
                    if (mensagem != "") {
                        document.getElementById("errorPedidoPecas").innerHTML = "&nbsp;";
                        document.formResponderEmail.submit();
                    }
                    else {
                        document.getElementById("errorPedidoPecas").innerHTML = "preencher mensagem<br /><br />";
                    }
                }
                else {
                    document.getElementById("errorPedidoPecas").innerHTML = "erro ao enviar email<br /><br />";
                }
                return true;
            })
        },

        printSelection: function(node) {
            if (node != null) {
                var content = node.innerHTML;
                var pwin = window.open('', 'print_content', 'scrollbars=no,menubar=no,toolbar=no,location=no,status=no,width=400,height=150');
                pwin.document.open();
                pwin.document.write('<html><head><title>Preparar impressão...</title><link href="lib/styles/print.css" rel="stylesheet" type="text/css" /></head><body onload="window.print()">' + content + '</body></html>');
                pwin.document.close();
                setTimeout(function() { pwin.close(); }, 1000);
            }
        },

        checkAllBoxes: function(form) {
            var oForm = document.getElementById(form);
            for (var i = 0; i < oForm.elements.length; i++) {
                var e = oForm.elements[i];
                if ((e.name != 'selectedAll') && (e.type == 'checkbox')) {
                    e.checked = oForm.selectAll.checked;
                }
            }
            return true;
        },


        refreshCorreio: function(idTipoEmail, divResult, pag) {
            $.get('partialCorreio.php',
                  { 'date': new Date(), 'idTipoEmail': idTipoEmail, 'pag': pag },
                  function(data) { $(divResult).empty().append(data); },
                  'html');
            return true;
        },

        refreshCorreioCount: function() {
            $.get('partialCorreioCount.php',
                  { 'date': new Date() },
                  function(data) { $('#correioCount').empty().append(data); },
                  'html');
            return true;
        },

        bindEventsDistritos: function() {
            // Aqui está a fazer o bind. Usa-se cardinais '#' para os ids e '.' para as classes.
            // Aqui está a aplicar o change ao objecto com o id "comboMarcas" que está dentro do id "marcasContent".
            $('#main #idDistrito').change(function() {
                var idDistrito = $('#main #idDistrito').val(); //o valor seleccionado
                //alert(idModelo); //Mensagem no ecra
                $.MyJavaScript.getWithoutAjaxIndicator('partialConcelho.php',
                        { //vai carregar o partial.html passando os parametros:
                            'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                            'idDistrito': idDistrito     //o parametro id
                        },
                        function(data) { $('#main #concelhoPartialContent').empty().append(data); },
                        "html");
                return false;
            });
        },

        buildData: function() {
            var d = new Date();
            var curr_date = d.getDate();
            var curr_month = d.getMonth();
            curr_month++;
            var curr_year = d.getFullYear();
            var curr_hours = d.getHours();
            var curr_minutes = d.getMinutes();
            var curr_seconds = d.getSeconds();
            var myDate = curr_year + "-" + curr_month + "-" + curr_date + " " + curr_hours + ":" + curr_minutes + ":" + curr_seconds;
            return myDate;
        },

        /*verifica timing*/
        mostraRenovacaoParticular: function() {
            //alert('entrou');
            var myDate = $.MyJavaScript.buildData();
            //alert(myDate);
            $.MyJavaScript.getWithoutAjaxIndicator('partialPesquisarPedidoControlSMS.php',
                        { //vai carregar o partial.html passando os parametros:
                            'date': myDate    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                        },
                        function(data) { $('#main #section').empty().append(data); },
                        "html");
            return false;
        },

        /*verifica timing*/
        checkData: function(idSMS, pageId) {
            var myDate = $.MyJavaScript.buildData();
            //alert(myDate);
            $.MyJavaScript.getWithoutAjaxIndicator('../checkSMS.php',
		  	    { 'dateSMS': myDate, 'idSMS': idSMS, 'pageId': pageId },
                      	function(data) {
                      	    $('#contentSMSControl').empty().append(data);
                      	    if (data && data.indexOf('SMSNOTRECEIVED') >= 0) {
                      	        eval("setTimeout('jQuery.MyJavaScript.checkData(" + idSMS + "," + pageId + ")',5000);");
                      	    }
                      	},
			            "html");
        },


        showPartial: function(form, url, resultDiv) {
            //$.MyJavaScript.showAjaxIndicator();
            var values = url;
            var len = form.length; //Leave off Submit Button
            values += '?date=' + $.MyJavaScript.buildData();
            for (i = 0; i < len; i++) {
                if (form[i].id.indexOf("selected") != -1) //Skip Continue and Back Buttons
                    continue;
                //if (i !=0)
                //    values +='&';
                //else
                values += '&';
                values += form[i].id;
                values += '=';
                values += form[i].value;
            }
            //alert (values);

            $.MyJavaScript.getWithoutAjaxIndicator(values,
                        { //vai carregar o partial.html passando os parametros:

                    },
                        function(data) { $(resultDiv).empty().append(data); },
                        "html");
            return false;
            //$.MyJavaScript.hideAjaxIndicator();
        },

        controleWithData: function(form, excepcoes, url, errorDiv, intValuesArray, emailsArray, aceitaTermos, efectuaPost, resultDiv) {
            var count = form.elements.length;
            var value = true;
            var verifyData = true;
            for (i = 0; i < count; i++) {
                var element = form.elements[i];
                if ((element.value == "0" || element.value == "") && $.MyJavaScript.in_array(element.name, excepcoes) == false) {
                    value = false;
                    //alert(element.name);
                }
                if ($.MyJavaScript.in_array(element.name, intValuesArray) == true) {
                    if (element.value != "" && isNaN(element.value)) {
                        verifyData = false;
                    }
                }
                if ($.MyJavaScript.in_array(element.name, emailsArray) == true && element.value != "") {
                    if ($.MyJavaScript.checkEmail(element.value) == false) {
                        verifyData = false;
                    }
                }
            }
            if (value == false) {
                document.getElementById(errorDiv).innerHTML = "preencher campos obrigatórios";
                //alert('preencher campos obrigatórios');
            }
            else {
                if (verifyData == false) {
                    document.getElementById(errorDiv).innerHTML = "dados mal preenchidos";
                    //alert('preencher campos obrigatórios');
                }
                else {
                    if (aceitaTermos && form.elements['termos'].checked == false) {
                        document.getElementById(errorDiv).innerHTML = "aceitar termos de utilização";
                    }
                    else {
                        document.getElementById(errorDiv).innerHTML = "&nbsp;";
                        if (efectuaPost) {
                            form.action = url;
                            var res = "document." + form.name + ".submit();";
                            eval(res);
                        }
                        else {
                            //showValues(form, url);
                        }
                    }
                }
            }
            return true;
        },

        bindEventsChangePass: function() {
            // Aqui está a fazer o bind. Usa-se cardinais '#' para os ids e '.' para as classes.
            // Aqui está a aplicar o change ao objecto com o id "comboMarcas" que está dentro do id "marcasContent".
            $('#changePassBtn').click(function() {
                var passActual = document.changePass.passActual.value;
                var pass = document.changePass.pass.value;
                var passConfirm = document.changePass.passConfirm.value;
                //alert(idModelo); //Mensagem no ecra
                $.MyJavaScript.getWithoutAjaxIndicator('partialChangePass.php',
                        { //vai carregar o partial.html passando os parametros:
                            'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                            'passActual': passActual,
                            'pass': pass,
                            'passConfirm': passConfirm
                        },
                        function(data) { $('#errorChangePass').empty().append(data); },
                        "html");
                return false;
            });
        },

        /*showValues: function(form, url, resultDiv) {
        $.MyJavaScript.showAjaxIndicator();
        var values = url;
        var len = form.length; //Leave off Submit Button
        for(i=0; i<len; i++){
        if(form[i].id.indexOf("selected")!=-1) //Skip Continue and Back Buttons
        continue;
        if (i !=0)
        values +='&';
        else
        values +='?';
        values += form[i].id;
        values += '=';
        values += form[i].value;
        }
        //alert (values);
        if (i !=0)
        paramUpdate=1;
        else
        paramUpdate=0;

	        Spry.Utils.updateContentRefresh('mainDIV', values, paramUpdate);
        $.MyJavaScript.hideAjaxIndicator();
        },*/

        /* Marcas */
        bindEventsAnos: function() {
            // Aqui está a fazer o bind. Usa-se cardinais '#' para os ids e '.' para as classes.
            // Aqui está a aplicar o change ao objecto com o id "comboMarcas" que está dentro do id "marcasContent".
            $('#content #ano').change(function() {
                var ano = $('#content #ano').val(); //o valor seleccionado
                //alert(ano);
                //alert(idMarca); //Mensagem no ecra
                $.MyJavaScript.getWithoutAjaxIndicator('partialMarca.php',
                    { //vai carregar o partial.html passando os parametros:
                        'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                        'ano': ano     //o parametro id
                    },
                    function(data) { $('#content #marcasPartialContent').empty().append(data); }, //pega no resultado do get e coloca em marcasPartialContent. Att: o resultado do get não pode trazer <html></html> nem head nem body.
                    "html");
                $('#content #idModelo').empty();
                $('#content #idPorta').empty();
                $('#content #idAno').empty();
                return true;
            });
        },

        bindEventsMarcas: function() {
            $('#content #idMarca').change(function() {
                var ano = $('#content #ano').val(); //o valor seleccionado
                var idMarca = $('#content #idMarca').val(); //o valor seleccionado
                var size = $(this).attr("size"); //o valor seleccionado
                $.MyJavaScript.getWithoutAjaxIndicator('partialModelo.php',
                    { //vai carregar o partial.html passando os parametros:
                        'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                        'ano': ano,
                        'idMarca': idMarca,
                        'size': size
                    },
                    function(data) { $('#content #modelosPartialContent').empty().append(data); }, //pega no resultado do get e coloca em marcasPartialContent. Att: o resultado do get não pode trazer <html></html> nem head nem body.
                    "html");
                if (size > 1) {
                    $('#content #idPorta').empty();
                    $('#content #idAno').empty();
                }
                return true;
            });
        },


        bindEventsModelos: function() {
            $('#content #idModelo').change(function() {
                var ano = $('#content #ano').val(); //o valor seleccionado
                var idModelo = $('#content #idModelo').val(); //o valor seleccionado
                var size = $(this).attr("size"); //o valor seleccionado                
                $.MyJavaScript.getWithoutAjaxIndicator('partialPorta.php',
                    { //vai carregar o partial.html passando os parametros:
                        'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                        'idModelo': idModelo,
                        'size': size
                    },
                    function(data) { $('#content #portasPartialContent').empty().append(data); }, //pega no resultado do get e coloca em marcasPartialContent. Att: o resultado do get não pode trazer <html></html> nem head nem body.
                    "html");
                $.MyJavaScript.getWithoutAjaxIndicator('partialAnos.php',
                    { //vai carregar o partial.html passando os parametros:
                        'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                        'ano': ano,
                        'idModelo': idModelo,
                        'size': size
                    },
                    function(data) { $('#content #anosPartialContent').empty().append(data); }, //pega no resultado do get e coloca em marcasPartialContent. Att: o resultado do get não pode trazer <html></html> nem head nem body.
                    "html");
                return true;
            });
        },

        refreshLocalizaLocal: function(accao) {
            var idCliente = document.formPesquisa2.idCliente.value;
            var nif = document.formPesquisa2.nif.value;
            $.get('partialLocalizaLocal.php',
                { 'date': new Date(), 'idCliente': idCliente, 'nif': nif, 'accao': accao },
                function(data) { $('#clientInfo').empty().append(data); },
                'html');
            return true;
        },

        bindEventsLocalizaLocal: function() {
            $("#main #validar").click(function() {
                $.MyJavaScript.refreshLocalizaLocal(1);
                return true;
            });
            $("#main #seguinteLocal").click(function() {
                $.MyJavaScript.refreshLocalizaLocal(2);
                return true;
            });

        },

        refreshPartesPecas: function(accao) {
            var tras = document.formPesquisa.tras.value;
            var esquerda = document.formPesquisa.esquerda.value;
            var centro = document.formPesquisa.centro.value;
            var direita = document.formPesquisa.direita.value;
            var frente = document.formPesquisa.frente.value;
            var interiores = document.formPesquisa.interiores.value;
            var mecanica = document.formPesquisa.mecanica.value;
            $.get('partialPartesPecas.php',
                {
                    'date': new Date(),
                    'tras': tras,
                    'esquerda': esquerda,
                    'centro': centro,
                    'direita': direita,
                    'frente': frente,
                    'interiores': interiores,
                    'mecanica': mecanica
                },
                function(data) { $('#partialPartesPecas').empty().append(data); },
                'html');
            return true;
        },

        //para a localização
        bindEventsCar: function() {
            $("#divCar img").click(function() {
                var pos = $(this).attr("pos");
                eval("if (document.formPesquisa." + pos + ".value==1) { document.formPesquisa." + pos + ".value=0; }else{ document.formPesquisa." + pos + ".value=1; }");
                eval("document.formPesquisa2." + pos + ".value=document.formPesquisa." + pos + ".value;");
                var tras = document.formPesquisa.tras.value;
                var esquerda = document.formPesquisa.esquerda.value;
                var centro = document.formPesquisa.centro.value;
                var direita = document.formPesquisa.direita.value;
                var frente = document.formPesquisa.frente.value;
                var interiores = document.formPesquisa.interiores.value;
                var mecanica = document.formPesquisa.mecanica.value;
                $.MyJavaScript.getWithoutAjaxIndicator('partialCarImage.php',
                    { 'date': new Date(), 'tras': tras, 'esquerda': esquerda, 'centro': centro, 'direita': direita, 'frente': frente,
                        'interiores': interiores, 'mecanica': mecanica
                    },
                    function(data) { $('#divCar').empty().append(data); },
                    'html');

                $.MyJavaScript.getWithoutAjaxIndicator('partialPartesPecas.php',
                    {
                        'date': new Date(),
                        'tras': tras,
                        'esquerda': esquerda,
                        'centro': centro,
                        'direita': direita,
                        'frente': frente,
                        'interiores': interiores,
                        'mecanica': mecanica
                    },
                    function(data) { $('#partialPartesPecas').empty().append(data); },
                    'html');

                return true;
            })
        },

        //para a localização
        bindEventsCarAnuncio: function() {
            $("#divCar img").click(function() {
                var pos = $(this).attr("pos");
                eval("if (document.formPesquisa." + pos + ".value==1) { document.formPesquisa." + pos + ".value=0; }else{ document.formPesquisa." + pos + ".value=1; }");
                var tras = document.formPesquisa.tras.value;
                var esquerda = document.formPesquisa.esquerda.value;
                var centro = document.formPesquisa.centro.value;
                var direita = document.formPesquisa.direita.value;
                var frente = document.formPesquisa.frente.value;
                var interiores = document.formPesquisa.interiores.value;
                var mecanica = document.formPesquisa.mecanica.value;
                $.MyJavaScript.getWithoutAjaxIndicator('partialCarImage.php',
                    { 'date': new Date(), 'tras': tras, 'esquerda': esquerda, 'centro': centro, 'direita': direita, 'frente': frente,
                        'interiores': interiores, 'mecanica': mecanica, 'anuncio': "1"
                    },
                    function(data) { $('#divCar').empty().append(data); },
                    'html');
                return true;
            })
        },

        getPosition: function(obj) {
            var topValue = 0, leftValue = 0;
            while (obj) {
                leftValue += obj.offsetLeft;
                topValue += obj.offsetTop;
                obj = obj.offsetParent;
            }
            finalvalue = leftValue + "," + topValue;
            return finalvalue;
        },

        bindEventsToolTip: function() {
            //select all the a tag with name equal to modal
            $('a[name=modal]').click(function(e) {
                //Cancel the link behavior
                e.preventDefault();
                //Get the A tag
                var id = $(this).attr('href');
                //Get the screen height and width
                var maskHeight = $(document).height();
                var maskWidth = $(window).width();
                //Set heigth and width to mask to fill up the whole screen
                $('#mask').css({ 'width': maskWidth, 'height': maskHeight });
                //transition effect
                $('#mask').fadeIn(1000);
                $('#mask').fadeTo("slow", 0.8);
                //Get the window height and width
                var winH = $(window).height();
                var winW = $(window).width();
                //Set the popup window to center
                var d = document.getElementById('dialog4');

                var meuX = document.documentElement.scrollTop + 100;
                var meuY = winW / 2 - $(id).width() / 2;
                //alert(id);
                //alert(document.documentElement.scrollTop);

                //$(id).css('top', winH / 2 - $(id).height() / 2);
                //$(id).css('left', winW / 2 - $(id).width() / 2);
                $(id).css('top', meuX);
                $(id).css('left', meuY);
                //transition effect
                $(id).fadeIn(2000);
            });
            //if close button is clicked
            $('.window .close').click(function(e) {
                //Cancel the link behavior
                e.preventDefault();
                $('#mask').hide();
                $('.window').hide();
            });
            //if mask is clicked
            $('#mask').click(function() {
                $(this).hide();
                $('.window').hide();
            });
        },

        //actualiza a data de actualizao de stocks
        //att: deve-se repetir no javascript publico por causa das pesqusas publicas
        bindEventsStatsVisualizacao: function() {
            $("#main .refreshStats").click(function() {
                var id = $(this).attr("id")
                var numProvider = $(this).attr("numProvider");
                var idCliente = $(this).attr("idCliente");
                if (numProvider != 0 && numProvider != undefined) {
                    document.getElementById(id).setAttribute('numProvider', 0);
                    $.get('partialStatsVisualizacao.php',
                    { //vai carregar o partial.html passando os parametros:
                        'date': new Date(),    //data - deixa sempre este parametro, para não utilizar a cache no IE6
                        'idCliente': idCliente
                    },
                    function(data) { $('#divResActualizaStats').empty().append(data); },
                    "html");
                    return true;
                }
            })
        },

        bindEventsStock: function() {
            $('#main #idMarca').change(function() {
                var idMarca = $('#main #idMarca').val();
                var idModelo = 0;
                var idParte = $('#main #idParte').val();
                $.MyJavaScript.refreshStock(0, idMarca, idModelo, idParte);
                return true;
            });
            $('#main #idModelo').change(function() {
                var idMarca = $('#main #idMarca').val();
                var idModelo = $('#main #idModelo').val();
                var idParte = $('#main #idParte').val();
                $.MyJavaScript.refreshStock(0, idMarca, idModelo, idParte);
                return true;
            });
            $('#main #idParte').change(function() {
                var idMarca = $('#main #idMarca').val();
                var idModelo = $('#main #idModelo').val();
                var idParte = $('#main #idParte').val();
                $.MyJavaScript.refreshStock(0, idMarca, idModelo, idParte);
                return true;
            })
        },

        bindEventsStockNavigation: function() {
            $("#main .next").click(function() {
                var pag = $(this).attr("pag");
                var idMarca = $(this).attr("idMarca");
                var idModelo = $(this).attr("idModelo");
                var idParte = $(this).attr("idParte");
                $.MyJavaScript.refreshStock(pag, idMarca, idModelo, idParte);
                return true;
            });
            $("#main .previous").click(function() {
                var pag = $(this).attr("pag");
                var idMarca = $(this).attr("idMarca");
                var idModelo = $(this).attr("idModelo");
                var idParte = $(this).attr("idParte");
                $.MyJavaScript.refreshStock(pag, idMarca, idModelo, idParte);
                return true;
            })
        },


        refreshStock: function(pag, idMarca, idModelo, idParte) {
            $.get('partialStock.php',
                  { 'date': new Date(), 'pag': pag, 'idMarca': idMarca, 'idModelo': idModelo, 'idParte': idParte },
                  function(data) { $('#divResultadoPesquisa').empty().append(data); },
                  'html');
            return true;
        },

        selecionar: function(name) {
            var x = 0;
            var name2 = name + 'seleccionado';
            while (x == 0) {
                document.getElementById(name).checked = true;
                document.getElementById(name).id = name2;
                if (!document.getElementById(name))
                    x = x + 1;
            }
            x = 0;
            while (x == 0) {
                document.getElementById(name2).id = name;
                if (!document.getElementById(name2))
                    x = x + 1;
            }
            var newlink = '<input type="checkbox" id="' + name + '" value="ola" onclick="jQuery.MyJavaScript.deselecionar(\'' + name + '\')" checked>';
            var div = 'div_selecionar_' + name;
            document.getElementById(div).innerHTML = newlink;
        },

        deselecionar: function(name) {
            var x = 0;
            var name2 = name + 'seleccionado';
            while (x == 0) {
                document.getElementById(name).checked = false;
                document.getElementById(name).id = name2;
                if (!document.getElementById(name))
                    x = x + 1;
            }
            x = 0;
            while (x == 0) {
                document.getElementById(name2).id = name;
                if (!document.getElementById(name2))
                    x = x + 1;
            }
            var newlink = '<input type="checkbox" id="' + name + '" value="ola" onclick="jQuery.MyJavaScript.selecionar(\'' + name + '\')">';
            var div = 'div_selecionar_' + name
            document.getElementById(div).innerHTML = newlink;
        },


        toggleDetail: function(id, number) {
            for (i = 1; i <= number; i++) {
                body = document.getElementById(id + i);
                if (body) {
                    if (body.style.display == 'none') {
                        try {
                            body.style.display = 'table-row';
                        } catch (e) {
                            body.style.display = 'block';
                        }
                    }
                    else {
                        body.style.display = 'none';
                    }
                }
            }
        },

        in_array: function(needle, haystack, strict) {
            var found = false, key, strict = !!strict;
            for (key in haystack) {
                if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
                    found = true;
                    break;
                }
            }
            return found;
        },


        checkEmail: function(str) {
            var at = "@";
            var dot = ".";
            var lat = str.indexOf(at);
            var lstr = str.length;
            var ldot = str.indexOf(dot);
            if (str.indexOf(at) == -1) {
                return false;
            }

            if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
                return false;
            }

            if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
                return false;
            }

            if (str.indexOf(at, (lat + 1)) != -1) {
                return false;
            }

            if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
                return false;
            }

            if (str.indexOf(dot, (lat + 2)) == -1) {
                return false;
            }

            if (str.indexOf(" ") != -1) {
                return false;
            }

            return true
        }

    }

})(jQuery);

