function bestViewRow(id2, class2) {
    //for (i=1; i <= 6; i++) {
    //document.getElementById('row'+i).className = class;
    //}
    var tmp = document.getElementById(id2);
    tmp.className = class2;
}

function windowFullPrint(theURL, winName) {
    var w = screen.width;
    var h  = screen.height;

    window.open(theURL, winName, "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, width="+w+", height="+h+"");
}

function abrirJanela(url, janela, atr) {
    if (atr == 'S') {
        window.open(url,janela,'scrollbars=no,status=no,width=750,height=530,left=20,top=10,resizable=no');
    }	else {
        window.open(url,janela,'');
    }
}

function verificaExtra() {
    if (document.getElementById('pagina_identificao')) {
        elemento = document.getElementById('pagina_identificao');
		
        //Site - Contato
        if (elemento.value == 'site_contato') {
			
            if (document.getElementById('Nome')) {
                campo = document.getElementById('Nome');
                if (campo.value == '') {
                    alert('Favor preencher o campo Nome');
                    campo.focus();
                    return false;
                }
            }
			
            if (document.getElementById('Email')) {
                campo = document.getElementById('Email');
                if (campo.value == '') {
                    alert('Favor preencher o campo E-mail');
                    campo.focus();
                    return false;
                }
            }
			
            if (document.getElementById('Assunto')) {
                campo = document.getElementById('Assunto');
                if (campo.value == '') {
                    alert('Favor preencher o campo Assunto');
                    campo.focus();
                    return false;
                }
            }
			
            if (document.getElementById('Mensagem')) {
                campo = document.getElementById('Mensagem');
                if (campo.value == '') {
                    alert('Favor preencher o campo Mensagem');
                    campo.focus();
                    return false;
                }
            }
			
        }
        //Site - Contato
		
        //Site - Orçamento Joomla
        if (elemento.value == 'site_orcamento') {
			
            if (document.getElementById('Nome')) {
                campo = document.getElementById('Nome');
                if (campo.value == '') {
                    alert('Favor preencher o campo Nome');
                    campo.focus();
                    return false;
                }
            }
			
            if (document.getElementById('Email')) {
                campo = document.getElementById('Email');
                if (campo.value == '') {
                    alert('Favor preencher o campo E-mail');
                    campo.focus();
                    return false;
                }
            }
			
            if (document.getElementById('Resumo')) {
                campo = document.getElementById('Resumo');
                if (campo.value == '') {
                    alert('Favor preencher o campo "Descreva resumidamente o que precisa"');
                    campo.focus();
                    return false;
                }
            }
			
        }
    //Site - Orçamento Joomla
	
    }
	
    if (document.getElementById('tipo')) {
        campo = document.getElementById('tipo');
        if (campo.value == '' && campo.type != 'hidden') {
            alert('Favor preencher o campo Tipo.');
            campo.focus();
            return false;
        }
    }
	
    if (document.getElementById('nome')) {
        campo = document.getElementById('nome');
        if (campo.value == '') {
            alert('Favor preencher o campo Nome.');
            campo.focus();
            return false;
        }
    }
	
    if (document.getElementById('titulo')) {
        campo = document.getElementById('titulo');
        if (campo.value == '') {
            alert('Favor preencher o campo Título.');
            campo.focus();
            return false;
        }
    }
		
    document.getElementById('formulario1').submit();
    return true;
}

function validarER(op, valor, c) {
    if (op == 'data') {
  
        var reg = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
  
    } else if (op == 'hora') {
    
        var reg = /^([0-1]\d|2[0-3]):[0-5]\d$/;
        
    } else if (op == 'email') {
    
        var reg = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
       
    } else if (op == 'cpf') {

        var cpf = valor;
        var reg = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
        if(!reg.test(cpf)){
            var invalido = 'sim';
        }
    
        cpf = remove(cpf, ".");
        cpf = remove(cpf, "-");
    
        if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999") {
            var invalido = 'sim';
        }
    
        soma = 0;
        for(i = 0; i < 9; i++)
            soma += parseInt(cpf.charAt(i)) * (10 - i);
        resto = 11 - (soma % 11);
        if(resto == 10 || resto == 11)
            resto = 0;
        if(resto != parseInt(cpf.charAt(9))) {
            var invalido = 'sim';
        }
        soma = 0;
        for(i = 0; i < 10; i ++)
            soma += parseInt(cpf.charAt(i)) * (11 - i);
        resto = 11 - (soma % 11);
        if(resto == 10 || resto == 11)
            resto = 0;
        if(resto != parseInt(cpf.charAt(10))){
            var invalido = 'sim';
        }
        
    }else if (op=='cnpj'){

        var cnpj = valor;
        cnpj = cnpj.replace('/','');
        cnpj = cnpj.replace('.','');
        cnpj = cnpj.replace('.','');
        cnpj = cnpj.replace('-','');

        var reg = /^\d{2}.\d{3}.\d{3}\/\d{4}-\d{2}$/i;
        var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
        digitos_iguais = 1;

        if (cnpj.length < 14 && cnpj.length < 15){
            var invalido = 'sim';
        }
        for (i = 0; i < cnpj.length - 1; i++){
            if (cnpj.charAt(i) != cnpj.charAt(i + 1)){
                digitos_iguais = 0;
                break;
            }
        }

        if (!digitos_iguais){
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;

            for (i = tamanho; i >= 1; i--){
                soma += numeros.charAt(tamanho - i) * pos--;
                if (pos < 2){
                    pos = 9;
                }
            }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0)){
                var invalido = 'sim';
            }
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--){
                soma += numeros.charAt(tamanho - i) * pos--;
                if (pos < 2){
                    pos = 9;
                }
            }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1)){
                var invalido = 'sim';
            }
        }else{
            var invalido = 'sim';
        }

    }
  
    if (invalido == 'sim' && valor != '') {
        //alert('Valor inválido para este campo.' );
        c.value = '';
        document.getElementById(c.id).focus();
        campoErro(c.id,'Campo Inválido');
    } else {
        if (reg.test(valor) == false && valor == '') {
            //alert('Valor inválido para este campo.');
            c.value = '';
            document.getElementById(c.id).focus();
            campoErro(c.id,'Campo Inválido');
        }else if (reg.test(valor) == false && valor != '') {
            //alert('Valor inválido para este campo.');
            c.value = '';
            document.getElementById(c.id).focus();
            campoErro(c.id,'Campo Inválido');
        }else{
            campoLimpar(c.id);
        }
    }
}
 
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}


function soLetras(v){
    return v.replace(/\d/g,"") //Remove tudo o que não é Letra
}

function soLetrasMA(v){
    v=v.toUpperCase() //Maiúsculas
    return v.replace(/\d/g,"") //Remove tudo o que não é Letra ->maiusculas
}

function soLetrasMI(v){
    v=v.toLowerCase() //Minusculas
    return v.replace(/\d/g,"") //Remove tudo o que não é Letra ->minusculas
}

function soNumeros(v){
    return v.replace(/\D/g,"") //Remove tudo o que não é dígito
}

function soValorMonetario(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/(\d{1})(\d{1,2})$/,"$1.$2") //Remove tudo o que não é dígito
    return v
}

function apenastelefone(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2") //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

function cpfvalidar(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2") //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2") //Coloca um ponto entre o terceiro e o quarto dígitos
    //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}

function cepvalidar(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
    return v
}

function cnpjvalidar(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2") //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2") //Coloca uma barra entre o oitavo e o nono dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2") //Coloca um hífen depois do bloco de quatro dígitos
    return v
}

function romanos(v){
    v=v.toUpperCase() //Maiúsculas
    v=v.replace(/[^IVXLCDM]/g,"") //Remove tudo o que não for I, V, X, L, C, D ou M
    //Essa é complicada! Copiei daqui: http://www.diveintopython.org/refactoring/refactoring.html
    while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
        v=v.replace(/.$/,"")
    return v
}

function data(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/(\d{2})(\d)/,"$1/$2") //Coloca um ponto entre o segundo e o terceiro dígitos
    v=v.replace(/(\d{2})(\d)/,"$1/$2") //Coloca um ponto entre o quarto e o quinto dígitos
    //v=v.replace(/^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/)
    v=v.replace(/^((0[1-9]|[12]\d)\-(0[1-9]|1[0-2])|30\-(0[13-9]|1[0-2])|31\-(0[13578]|1[02]))\-\d{4}$/)
    //v=v.replace(/^(0[1-9]|[012][0-9]|3[01])/\-(0[1-9]|1[012])/\-([12][0-9]{3})/,"")
    return v
}


//valida formato de hora 00:00 até 23:59 com mascara
//criada em 2008-04-15 15:57
//er=/^(([01][\d])|([2][0-3]))([0-5][\d])/ //ereg que valida a hora(nao usada aqui)
function hora(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/^[^012]/,"") //valida o primeiro dígito #
    v=v.replace(/^([2])([^0-3])/,"$1") //valida o segundo dígito ##
    v=v.replace(/^([\d]{2})([^0-5])/,"$1")//valida o terceiro dígito ###
    v=v.replace(/(\d{2})(\d)/,"$1:$2") //Coloca dois ponto entre o segundo e o terceiro dígitos ##:##
    v=v.substr(0,5) //Remove digitos extras (aceita no max 5 caracteres(contando o ':' no meio) )
    return v
}

function site(v){
    //Esse sem comentarios para que você entenda sozinho ;-)
    v=v.replace(/^http:\/\/?/,"")
    dominio=v
    caminho=""
    if(v.indexOf("/")>-1)
        dominio=v.split("/")[0]
    caminho=v.replace(/[^\/]*/,"")
    dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
    caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
    caminho=caminho.replace(/([\?&])=/,"$1")
    if(caminho!="")dominio=dominio.replace(/\.+$/,"")
    v="http://"+dominio+caminho
    return v
}

function remove(str, sub) {
    i = str.indexOf(sub);
    r = "";
    if (i == -1) return str;
    r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
    return r;
}

function CheckAll() {
    for (var i=0;i<document.pageform.elements.length;i++) {
        var e = document.pageform.elements[i];
        if (e.type == 'checkbox' && e.name != 'allbox') {
            e.checked = document.pageform.allbox.checked;
        }
    }
}


<!-- Início da Função FormataReais -->
documentall = document.all;
/*
* função para formatação de valores monetários retirada de
* http://jonasgalvez.com/br/blog/2003-08/egocentrismo
*/

function formatamoney(c) {
    var t = this; if(c == undefined) c = 2;		
    var p, d = (t=t.split("."))[1].substr(0, c);
    for(p = (t=t[0]).length; (p-=3) >= 1;) {
        t = t.substr(0,p) + "" + t.substr(p);
    }
    
    return t+"."+d+Array(c+1-d.length).join(0);
}

String.prototype.formatCurrency=formatamoney

function demaskvalue(valor, currency){
    /*
* Se currency é false, retorna o valor sem apenas com os números. Se é true, os dois últimos caracteres são considerados as 
* casas decimais
*/
    var val2 = '';
    var strCheck = '0123456789';
    var len = valor.length;
    if (len== 0){
        return 0.00;
    }

    if (currency ==true){
        /* Elimina os zeros à esquerda
		* a variável  <i> passa a ser a localização do primeiro caractere após os zeros e 
		* val2 contém os caracteres (descontando os zeros à esquerda)
		*/
		
        for(var i = 0; i < len; i++)
            if ((valor.charAt(i) != '0') && (valor.charAt(i) != ',')) break;
		
        for(; i < len; i++){
            if (strCheck.indexOf(valor.charAt(i))!=-1) val2+= valor.charAt(i);
        }

        if(val2.length==0) return "0.00";
        if (val2.length==1)return "0.0" + val2;
        if (val2.length==2)return "0." + val2;
		
        var parte1 = val2.substring(0,val2.length-2);
        var parte2 = val2.substring(val2.length-2);
        var returnvalue = parte1 + "." + parte2;
        return returnvalue;
		
    }
    else{
        /* currency é false: retornamos os valores COM os zeros à esquerda,
			* sem considerar os últimos 2 algarismos como casas decimais 
			*/
        val3 ="";
        for(var k=0; k < len; k++){
            if (strCheck.indexOf(valor.charAt(k))!=-1) val3+= valor.charAt(k);
        }
        return val3;
    }
}

function reais(obj,event){

    var whichCode = (window.Event) ? event.which : event.keyCode;
    /*
Executa a formatação após o backspace nos navegadores !document.all
*/
    if (whichCode == 8 && !documentall) {
        /*
Previne a ação padrão nos navegadores
*/
        if (event.preventDefault){ //standart browsers
            event.preventDefault();
        }else{ // internet explorer
            event.returnValue = false;
        }
        var valor = obj.value;
        var x = valor.substring(0,valor.length-1);
        obj.value= demaskvalue(x,true).formatCurrency();
        return false;
    }
    /*
Executa o Formata Reais e faz o format currency novamente após o backspace
*/
    FormataReais(obj,'.',',',event);
} // end reais


function backspace(obj,event){
    /*
Essa função basicamente altera o  backspace nos input com máscara reais para os navegadores IE e opera.
O IE não detecta o keycode 8 no evento keypress, por isso, tratamos no keydown.
Como o opera suporta o infame document.all, tratamos dele na mesma parte do código.
*/

    var whichCode = (window.Event) ? event.which : event.keyCode;
    if (whichCode == 8 && documentall) {
        var valor = obj.value;
        var x = valor.substring(0,valor.length-1);
        var y = demaskvalue(x,true).formatCurrency();

        obj.value =""; //necessário para o opera
        obj.value += y;
	
        if (event.preventDefault){ //standart browsers
            event.preventDefault();
        }else{ // internet explorer
            event.returnValue = false;
        }
        return false;

    }// end if
}// end backspace

function FormataReais(fld, milSep, decSep, e) {
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    //if (whichCode == 8 ) return true; //backspace - estamos tratando disso em outra função no keydown
    if (whichCode == 0 ) return true;
    if (whichCode == 9 ) return true; //tecla tab
    if (whichCode == 13) return true; //tecla enter
    if (whichCode == 16) return true; //shift internet explorer
    if (whichCode == 17) return true; //control no internet explorer
    if (whichCode == 27 ) return true; //tecla esc
    if (whichCode == 34 ) return true; //tecla end
    if (whichCode == 35 ) return true;//tecla end
    if (whichCode == 36 ) return true; //tecla home

    /*
O trecho abaixo previne a ação padrão nos navegadores. Não estamos inserindo o caractere normalmente, mas via script
*/

    if (e.preventDefault){ //standart browsers
        e.preventDefault()
    }else{ // internet explorer
        e.returnValue = false
    }

    var key = String.fromCharCode(whichCode);  // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false;  // Chave inválida

    /*
Concatenamos ao value o keycode de key, se esse for um número
*/
    fld.value += key;

    var len = fld.value.length;
    var bodeaux = demaskvalue(fld.value,true).formatCurrency();
    fld.value=bodeaux;

    /*
Essa parte da função tão somente move o cursor para o final no opera. Atualmente não existe como movê-lo no konqueror.
*/
    if (fld.createTextRange) {
        var range = fld.createTextRange();
        range.collapse(false);
        range.select();
    }
    else if (fld.setSelectionRange) {
        fld.focus();
        var length = fld.value.length;
        fld.setSelectionRange(length, length);
    }
    return false;

}
//Fim da Função FormataReais -->

var keyTime, keyStr = '', allOpts, lastElement;
var agt = navigator.userAgent.toLowerCase();
//var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_gecko = (agt.indexOf("gecko") != -1);
function populate(srcEvent)
{
    var element = (srcEvent)? ((srcEvent.target)? srcEvent.target : srcEvent.srcElement) : window.event.srcElement;
    if(lastElement != element)
    {
        allOpts = new Array();
        for(var i = 0; i < element.options.length; i++)
            allOpts[i] = element.options[i].text.toLowerCase();
        lastElement = element;
    }
}
function setSelection(srcEvent)
{
    var myEvent = (srcEvent)? srcEvent : window.event;
    var element = (myEvent.target)? myEvent.target : myEvent.srcElement;
    var keyCode = myEvent.keyCode;
    // messy JS keycodes force me to preprocess. Note: I use a US keyboard, other keyboards may vary?
    if((keyCode > 47 && keyCode < 58) || (keyCode > 64 && keyCode < 91 || keyCode == 32)) ; // space or alphanumerical characters, leave them alone
    else if(keyCode > 95 && keyCode < 106) keyCode -= 48; // keypad numbers
    else if(keyCode > 105 && keyCode < 112) keyCode -= 64; // keypad '+', '-', '/', '*', '.'
    else if(keyCode > 187 && keyCode < 192) keyCode -= 144; // '/', '.', ',', '-'
    else if(keyCode > 218 && keyCode < 222) keyCode -= 128; // '\', '[', ']'
    else
    {
        switch(keyCode)
        {
            case 187: keyCode = 61; break; // '='
            case 222: keyCode = 39; break; // '''
            case 192: keyCode = 96; break; // '`'
            case 186: keyCode = 59; break; // ';'
            default: return; // do not process non printable characters (unfortunately backspace cannot be supported because browsers like IE interpret backspace as go back a page in history)
        }
    }
    var currentKey = String.fromCharCode(keyCode).toLowerCase();
    var idx, currentSIdx = element.selectedIndex, useOld = false;
    var newTime = new Date().getTime();
    if(keyTime != null && newTime - keyTime < 1500) // do type-ahead if two keys were pressed within 500 milliseconds (0.5 second, one can change this value for customization)
    {
        keyStr += currentKey;
        idx = findIdx();
        if(idx == -1) return; // not found, keep current selection then (leave the incorrect keyStr alone)
    }
    else // unfortunately we seem to have to handle default browser behavior too
    {
        keyStr = currentKey;
        // behavior should be: if next option is available and begins with the same character, select the next option
        // when there is either no more option, or no more option that begins with the same character as the current option,
        // then select the first option that starts with the currentKey
        idx = currentSIdx + 1;
        if(idx >= allOpts.length || allOpts[idx].length == 0 || allOpts[idx].charAt(0) != keyStr)
            idx = findIdx();
    }
    if(idx >= 0) // if keyStr is found in an option, select the option
    {
        element.options[currentSIdx].selected = false;
        // gecko-based browsers have a very strange bug that strikes when user presses
        // the same character multiple times (like 'AAA', 'BBBB'), which could be "fixed"
        // in a strange way too (actually the idx > 0 test is not even necessary!)
        // first make a pattern to check if it's same character multiple times
        var pattern = new RegExp('^' + keyStr.charAt(0) + '+$', "i");
        if(is_gecko && pattern.test(keyStr) && idx > 0) element.options[idx-1].selected = true;
        else element.options[idx].selected = true;
    }
    keyTime = newTime;
}

function findIdx()
{
    // full scan to find the smallest idx that match string keyStr (case-insensitive)
    var len = keyStr.length;
    for(var i = 0; i < allOpts.length; i++)
        if(allOpts[i].length >= len && allOpts[i].substring(0, len) == keyStr)
            return i;
    return -1;
}

/*
*
* Copyright (c) 2006 Andrew Tetlaw
* 
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* 
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
* 
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
* * 
*
/*
 * FastInit
 * http://tetlaw.id.au/view/blog/prototype-class-fastinit/
 * Andrew Tetlaw
 * Version 1.2 (2006-10-19)
 * Based on:
 * http://dean.edwards.name/weblog/2006/03/faster
 * http://dean.edwards.name/weblog/2006/06/again/
 * 
 */
/*var FastInit = {
	done : false,
	onload : function() {
		if (FastInit.done) return;
		FastInit.done = true;
		FastInit.actions.each(function(func) {
			func();
		})
	},
	actions : $A([]),
	addOnLoad : function() {
		for(var x = 0; x < arguments.length; x++) {
			var func = arguments[x];
			if(!func || typeof func != 'function') continue;
			FastInit.actions.push(func);
		}
	}
}

if (/WebKit|khtml/i.test(navigator.userAgent)) {
	var _timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
            clearInterval(_timer);
            delete _timer;
            FastInit.onload();
        }
	}, 10);
}
if (document.addEventListener) {
	document.addEventListener('DOMContentLoaded', FastInit.onload, false);
	FastInit.legacy = false;
}

Event.observe(window, 'load', FastInit.onload);*/


/*@cc_on @*/
/*@if (@_win32)
document.write('<script id="__ie_onload" defer src="javascript:void(0)"><\/script>');
var script = $('__ie_onload');
script.onreadystatechange = function() {
    if (this.readyState == 'complete') {
        FastInit.onload();
    }
};
/*@end @*/

// JavaScript Document

function ajaxInit() {
    var req;
    try {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(ex) {
            try {
                req = new XMLHttpRequest();
            } catch(exc) {
                alert("Esse browser não tem recursos para uso do Ajax");
                req = null;
            }
        }
    }

    return req;
}

function Inicio() {
    var ajax = ajaxInit();
    if(ajax)
    {
        document.getElementById("Conteudo").innerHTML = '<br>Aguarde... carregando conteúdo!<br><br>';
        var dt = new Date();
        ajax.open("GET", "page_novidades.php?Rnd=" + encodeURI(Math.random() + "_" + dt.getTime()), true);
        ajax.onreadystatechange = function() {
            if(ajax.readyState == 4)
            {
                if(ajax.status == 200)
                {
                    document.getElementById("Conteudo").innerHTML = ajax.responseText;
                }
                else
                {
                    alert(ajax.statusText);
                }
            }
        }
        ajax.send(null);
    }
}

function Open_Financial(Page, ID_SELECT, Div) {
    var ajax = ajaxInit();
    if(ajax)
    {
        document.getElementById(Div).innerHTML = '<br>Aguarde... carregando conteúdo!<br><br>';
        document.getElementById('AncTop').focus();
        var dt = new Date();
        ajax.open("GET", Page + ".php?ID_SELECT=" + ID_SELECT + "&Rnd=" + encodeURI(Math.random() + "_" + dt.getTime()), true);
        ajax.onreadystatechange = function() {
            if(ajax.readyState == 4)
            {
                if(ajax.status == 200)
                {
                    document.getElementById(Div).innerHTML = ajax.responseText;
                }
                else
                {
                    alert(ajax.statusText);
                }
            }
        }
        ajax.send(null);
    }
}

function Send_Form(Page, ID_SELECT, Div) {
    var ajax = ajaxInit();
    if(ajax)
    {
        document.getElementById(Div).innerHTML = '<br>Aguarde... carregando conteúdo!<br><br>';
        document.getElementById('AncTop').focus();
        var dt = new Date();
        ajax.open("POST", Page + ".php?ID_SELECT=" + ID_SELECT + "&Rnd=" + encodeURI(Math.random() + "_" + dt.getTime()), true);
        ajax.onreadystatechange = function() {
            if(ajax.readyState == 4)
            {
                if(ajax.status == 200)
                {
                    document.getElementById(Div).innerHTML = ajax.responseText;
                }
                else
                {
                    alert(ajax.statusText);
                }
            }
        }
        ajax.send(null);
    }
}


function SubConteudo(Page) {
    var ajax = ajaxInit();
    if(ajax)
    {
        document.getElementById("SubConteudo").innerHTML = 'Aguarde... carregando conteúdo!';
        var dt = new Date();
        ajax.open("GET", "page_" + Page + ".php?Rnd=" + encodeURI(Math.random() + "_" + dt.getTime()), true);
        ajax.onreadystatechange = function() {
            if(ajax.readyState == 4)
            {
                if(ajax.status == 200)
                {
                    document.getElementById("SubConteudo").innerHTML = ajax.responseText;
                }
                else
                {
                    alert(ajax.statusText);
                }
            }
        }
        ajax.send(null);
    }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
    window.open(theURL,winName,features);
}

function Send_Financial_Gait()
{
    //Verifica Form
    var FORM = document.FormGait;

    if(FORM.Gait.value == "")
    {
        alert("Andamento de Cobrança\n ------------------------------------------------\n Preencha o campo Andamento, por favor.\n");
        FORM.Gait.focus();
    }
    else
    {
        FORM.action = 'enviamsg.php';
        FORM.submit();
    }
}


function SaveGait() {
{
    var Gait = document.getElementById('Gait').value; //Note que as variáveis são resgatadas pela função getElementById.
    var IDClient = document.getElementById('ID_SELECT').value;
    var exibeResultado = document.getElementById('andamentos');

    var ajax = ajaxInit(); // Inicia o Ajax.
    ajax.open("GET", "financial_screen_recovery_client_gait.php?Gait=" + Gait +"&ID_SELECT=" + IDClient, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
    ajax.onreadystatechange = function()
    {
        if(ajax.readyState == 1) // Quando estiver carregando, exibe: carregando...
        {
            exibeResultado.innerHTML = "Inserindo";
        }
        if(ajax.readyState == 4) // Quando estiver tudo pronto.
        {
            if(ajax.status == 200)
            {
                var resultado = ajax.responseText;
                exibeResultado.innerHTML = resultado;
            }
            else
            {
                exibeResultado.innerHTML = "Erro nas funções do Ajax";
            }
        }
    }
    ajax.send(null); // submete
    document.getElementById("Gait").value= "";//limpa os campos
    document.getElementById("Gait").setFocus=true;

}
}

function evalJson(value) {
    eval("var string = "+value+";");
    return string;
}

function PrintElementID(id, pg) {
    var oPrint, oJan, oContent;
    oPrint = window.document.getElementById(id).innerHTML;
    oJan   = window.open(pg);

    oContent = "<html><head><title>Imprimir</title><link href=\"css/layout.css\" rel=\"stylesheet\" type=\"text/css\" /><style>img { display: none; } table { font-family: Tahoma, Verdana, Arial; font-size: 11px; }</style></head><body>" + oPrint + "</body></html>";

    oJan.document.write(oContent);
    oJan.history.go();
    oJan.window.print();
}

function campoErro(campo_id,msg){
    if(msg==""){
        msg="Campo obrigatório.";
    }
    if($('#div_'+campo_id)){
        $('#div_'+campo_id).css({
            'background-image':"url('buttons/cross.png')",
            'background-repeat':"no-repeat",
            'background-position':"left",
            'padding-left':"20px",
            'display':"inline",
            'color':"#F00",
        });

        $('#div_'+campo_id).html('').append("<div style='margin-left:0px;   display:inline'>"+msg+"</div>");
        $('#div_'+campo_id).css({
            position: 'relative',
            top: '8px'
        });
    }
}
function campoLimpar(campo_id){
    if($('#div_'+campo_id)){
        $('#div_'+campo_id).remove();
    }
}
function campoSucesso(campo_id,msg){
    if(msg==""){
        msg="Ok.";
    }
    if($('#div_'+campo_id)){
        $('#div_'+campo_id).css({
            'background-image':"url('icones/alerta-sucesso-16x16.png')",
            'background-repeat':"no-repeat",
            'background-position':"left",
            'display':"inline",
            'padding-left':"20px",
            'color':"#0C0"
        });

        $('#div_'+campo_id).html('').append("<div style='margin-left:0px; display:inline'>"+msg+"</div>");
    }
}

function removerItens(select) {
    $(select+" option").remove();
}
function adicionarItem(select, val, tex, cla) {
    $(select).append("<option value='"+val+"' class='"+cla+"'>"+tex+"</option>");
}
