//############################################//
//     Sistema: Cia Athletica                                                                                         //
//	Descrição: Script do Site 					                       //
//                                                                                                                                    //
//                                   Criado: 17/02/2006 | Por: Fernando William                        //
//                               Modificado: --/--/---- | Por:                                                      //
//############################################//

function fctAbrePopUpTour(url){
	var w = 918;
	var h = 600;
	var scrolling = 'no';

	resultado = window.open(url,'Tour360','width='+w+',height='+h+',scrollbars='+scrolling+',toolbar=no,location=,status=no,menubar=no,resizable=no,left=100,top=50')
}

/*
|----------------------------------------------------------------------------------------------------|
|           Função: VerificaMoney()                                                               |
|        Descrição: Permite a entrada de números com casa decimal.                                   |
|  ================================================================================================  |
|       Parâmetros: QtdeCasasEsq = (Escala) Quantidade de casas à esquerda do separador decimal.     |
|                   QtdeCasasDir = (Precisão) Quantidade de casas à direita do separador decimal.    |
|                   SepMilhar    = Separador de milhar (normalmente usa-se '.').                     |
|                   SepDecimal   = Separador decimal (normalmente usa-se ',').                       |
|                   oCampo       = Objeto do campo que será contado.                                 |
|                   oEvent       = Objeto event, necessário para funcionar Cross-Browser.            |
|           Evento: onkeydown                                                                        |
|  Tipo de Retorno: booleam                                                                          |
|  ================================================================================================  |
|      Observações: Permite somente números (0 à 9).                                                 |
|                   A soma da Precisão com a Escala não pode ser maior que 16.                       |
|                   A tecla Delete irá zerar o valor do campo.                                       |
|                   A tecla Backspace removerá um dígito do campo, da direita para esquerda.         |
|  ================================================================================================  |
|           Criado: 26/07/2006 | Por: Mauro Willian                                                  |
|       Modificado: __/__/____ | Por:                                                                |
|----------------------------------------------------------------------------------------------------|
*/
function VerificaMoney(QtdeCasasEsq, QtdeCasasDir, SepMilhar, SepDecimal, oCampo, oEvent)
{
    var zeros = "00000000000000000";
    var tecla_codigo;
    var tecla_char;
    var valor = oCampo.value;
    var valor_aux;
    
    if (oEvent.keyCode)
        tecla_codigo = oEvent.keyCode;
    else if (oEvent.which)
        tecla_codigo = oEvent.which;
    
    tecla_char = String.fromCharCode(tecla_codigo);
    
    if (!OnlyNumbers(oEvent) && tecla_codigo != 8 && tecla_codigo != 46)
        return false;
    
    oCampo.style.textAlign = 'right';
    valor = oCampo.value.toString();

    if (QtdeCasasDir == '' || isNaN(QtdeCasasDir) || parseInt(QtdeCasasDir,10) < 0)
        QtdeCasasDir = 0;
    
    if (QtdeCasasDir == 0)
        SepDecimal = '';
    
    if (isNaN(QtdeCasasEsq) || QtdeCasasEsq < 0)
        QtdeCasasEsq = oCampo.maxLength - QtdeCasasDir;
    
    if (SepDecimal == SepMilhar && SepDecimal != '')
        SepMilhar = '';
    
    if ((QtdeCasasEsq + QtdeCasasDir) > 16)
    {
        alert('A função não aceita mais que 16 digitos')
        return;
    }
    
    //46 é a tecla Delete
    if (valor == '' || tecla_codigo == 46)
    {
        valor = '0';
    }
    else
    {
        if (SepMilhar != '')
        {
            while (valor.indexOf(SepMilhar) != -1)
            {
                valor = valor.replace(SepMilhar, '');
            }
        }
        
        if (SepDecimal != '')
            valor = valor.replace(SepDecimal, '');
    }
    
    //8 é a tecla Backspace
    if (tecla_codigo == 8)
        valor = valor.substr(0, valor.length - 1);
    
    if (valor.length == 0)
        valor = '0';
    
    valor_aux = parseInt(valor + tecla_char, 10).toString();
    
    //Verificando se o número é menor que 0 (decimal, por exemplo: 0,01)
    if (valor_aux.length <= QtdeCasasDir)
        valor_aux = zeros.substr(0, QtdeCasasDir - (valor_aux.length - 1)) + valor_aux;
    
    if (QtdeCasasEsq < valor_aux.length - QtdeCasasDir)
        return false;
    
    var j = 0;
    valor = '';
    for (var i = valor_aux.length - QtdeCasasDir-1; i >= 0; i--)
    {
        if (j == 3)
        {
            valor = SepMilhar + valor;
            j = 0;
        }
        valor = valor_aux.charAt(i) + valor;
        j++;
    }
    valor += SepDecimal + valor_aux.substr(valor_aux.length - QtdeCasasDir, QtdeCasasDir);
    
    oCampo.value = '';
    for (var i = 0; i < valor.length; i++)
    {
        oCampo.value += valor.charAt(i);
    }
    
    return false;
}

/*
|----------------------------------------------------------------------------------------------------|
|           Função: OnlyNumbers()                                                                    |
|        Descrição: Permite somente números entre 0 e 9.                                             |
|  ================================================================================================  |
|       Parâmetros: oEvent = Objeto event, necessário para funcionar Cross-Browser                   |
|           Evento: onkeypress                                                                       |
|  Tipo de Retorno: void                                                                             |
|  ================================================================================================  |
|           Criado: ??/??/???? | Por: ?????????????                                                  |
|       Modificado: __/__/____ | Por:                                                                |
|----------------------------------------------------------------------------------------------------|
*/
function OnlyNumbers(oEvent)
{
    var oRegExp = /[0-9]/;
    var tecla_codigo;
    var tecla_char;
    
    if (oEvent.keyCode)
        tecla_codigo = oEvent.keyCode;
    else if (oEvent.which)
        tecla_codigo = oEvent.which;
    
    tecla_char = String.fromCharCode(tecla_codigo);
    
    //Permite algumas teclas
    if (tecla_codigo == 8 || tecla_codigo == 9 || (tecla_codigo == 35 && oEvent.shiftKey) || (tecla_codigo == 36 && oEvent.shiftKey) || (tecla_codigo == 37 && (oEvent.shiftKey || tecla_char != '%')) || (tecla_codigo == 39 && tecla_char != "'") || (tecla_codigo == 46 && tecla_char != '.'))
        return true;
    //Se for número
    else if (!oRegExp.test(tecla_char))
        return false;
    //Se não for número
    else
        return true;
}

//################################################################################//
//  Function:  fctVerificaData()                                                  //
//  Description:  Formata a Data colocando as "/" automaticamente                 //
//################################################################################//
function fctVerificaData() {
	var input		= event.srcElement;
	if( (event.keyCode<48) || (event.keyCode>57) )
		event.returnValue		= false; 
	else if( (input.value.length==2) || (input.value.length==5))
		input.value					= input.value +"/";
}

/*
|----------------------------------------------------------------------------------------------------|
|           Função: FormataMascara()                                                              |
|        Descrição: Formata o Campo de acordo com a máscara especificada.                            |
|  ================================================================================================  |
|       Parâmetros: mascara  = String que possui a máscara de formatação do campo.                   |
|                   oCampo   = Campo que será formatado de acordo com a máscara.                     |
|                   oEvent   = Objeto event, necessário para funcionar Cross-Browser.                |
|           Evento: onkeypress                                                                       |
|  Tipo de Retorno: boolean                                                                          |
|  ================================================================================================  |
|           Criado: 26/07/2006 | Por: Mauro Willian                                                  |
|       Modificado: __/__/____ | Por:                                                                |
|----------------------------------------------------------------------------------------------------|
*/
function FormataMascara(mascara, oCampo, oEvent)
{
    var tecla_codigo;
    var tecla_char;
    var caracter;
    var valor = oCampo.value;
    var valor_aux;
    var valor_tamanho = 0;
    var colocar_separador = false;
    
    if (oEvent.keyCode)
        tecla_codigo = oEvent.keyCode;
    else if (oEvent.which)
        tecla_codigo = oEvent.which;
    
    tecla_char = String.fromCharCode(tecla_codigo);
    
    //Permite algumas teclas
    if (tecla_codigo == 8 || tecla_codigo == 9 || (tecla_codigo == 35 && oEvent.shiftKey) || (tecla_codigo == 36 && oEvent.shiftKey) || (tecla_codigo == 37 && oEvent.shiftKey) || (tecla_codigo == 39 && tecla_char != "'") || (tecla_codigo == 46 && tecla_char != '.'))
        return true;
    
    if (!OnlyNumbers(oEvent))
        return false;
        
    if(oCampo.value.length == mascara.length)
        return false;
    
    valor_aux = valor + tecla_char;
    
    if (valor == "")
        valor = tecla_char;
    
    caracter = mascara.substr(valor_aux.length-1, 1);
    
    valor_tamanho = valor_aux.length;
    switch (caracter)
    {
        case '.':
        case '/':
        case ',':
        case '-':
        case ':':
        case '_':
        case '(':
        case ')':
            valor_tamanho = valor_tamanho - 1;
            colocar_separador = true;
            break;
    }
    
    oCampo.value = '';
    for (var i = 0; i < valor_tamanho; i++)
    {
        oCampo.value += valor_aux.charAt(i);
    }
    
    if (colocar_separador)
    {
        oCampo.value += caracter;
        oCampo.value += valor_aux.charAt(valor_aux.length-1);
    }
    
    return false;
}

/*
|----------------------------------------------------------------------------------------------------|
|           Função: VerificaData()                                                                |
|        Descrição: Verifica se a data digitada está entre 01/01/1753 e 31/12/9999.                  |
|  ================================================================================================  |
|       Parâmetros: oCampo = Campo que contém a data digitada.                                       |
|           Evento: onkeydown                                                                        |
|  Tipo de Retorno: boolean                                                                          |
|  ================================================================================================  |
|           Criado: 28/07/2006 | Por: Mauro Willian                                                  |
|       Modificado: __/__/____ | Por:                                                                |
|----------------------------------------------------------------------------------------------------|
*/
function VerificaData(oCampo)
{
    var oRegExp = /^(0[1-9]|[12][0-9]|[3][01])\/(0[1-9]|1[012])\/([12][0-9]{3})?$/;
    
    if (!oRegExp.test(oCampo.value) && oCampo.value != '')
    {
        oCampo.style.border = '1px solid #F00';
        oCampo.focus();
        oCampo.select();
        return false;
    }else{
        oCampo.style.borderLeft = '1px solid #919999';
        oCampo.style.borderTop = '1px solid #6F7777';
        oCampo.style.borderRight = '1px solid #919999';
        oCampo.style.borderBottom = '1px solid #AAB3B3';
        return true;
    }
}

//################################################################################//
//  Function:       isEmpty(s)																								    //
//  Description:    Check whether string s is empty.													    //
//  Arguments:      s = document.forms[0].elemment														    //
//  Returns:        true/false																								    //
//################################################################################//
function isEmpty(obj){
	return ((obj == null) || (obj.length == 0) || obj.replace(new RegExp("^([\\s]+)|([\\s]+)$", "gm"), "") == '')
}