//-----------
var ver    = parseFloat (navigator.appVersion.slice(0,4));
var verIE  = (navigator.appName == "Microsoft Internet Explorer" ? ver : 0.0);
var verNS  = (navigator.appName == "Netscape" ? ver : 0.0);
var verOP  = (navigator.appName == "Opera"    ? ver : 0.0);
var verOld = (verIE < 4.0 && verNS < 5.0);
var isMSIE = (verIE >= 4.0);
//-----------

function fGeneric(obj,e,format){
	var myKeyCode    = (!isMSIE) ? e.which : e.keyCode; 
	var mySrcElement = (!isMSIE) ? e.target : e.srcElement;
	if(kn = keyNumber(myKeyCode)){
		var keyPress = kn-1;
	} else {
		var keyPress =	String.fromCharCode(myKeyCode);
	}
	var sysKeys      = "0,8,9,17,16,91,45,46,36,35,33,34,0";
	var numbers      = "0123456789";
	var maiusculas   = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var minusculas   = "abcdefghijklmnopqrstuvwxyz";
	if(sysKeys.indexOf(","+myKeyCode+",")!== -1){
		return(true);
	} else {
		if(obj.value.length >= format.length){
			obj.value = obj.value.substr(0,format.length);
			return(false);
		} else {
			if(format.charAt(obj.value.length) == '#'){
				if(numbers.indexOf(keyPress) == -1) return (false);
			} else if(format.charAt(obj.value.length) == 'A'){
				if(maiusculas.indexOf(keyPress) == -1) return(false);
			} else if(format.charAt(obj.value.length) == 'a'){
				if(minusculas.indexOf(KeyPress) == -1) return(false);			
			} else if(format.charAt(obj.value.length) == '*'){
				return(true);
			} else {
				obj.value+=format.charAt(obj.value.length);
			}
			return(true);
		}
	}
}
function keyNumber(val){
	var arr= new Array(96,97,98,99,100,101,102,103,104,105);
	for(var i = 0; i<arr.length;i++) if(arr[i] == val) return(i+1);
	return(false);
}
function genericFormat(obj,format){
	var txt = retNum(obj.value);
	var result = '';
	var ctr = 0;
	for(var i = 0; i<txt.length;i++){
		var chr = txt.charAt(i);
		var fmt = format.charAt(i+ctr);
		if(fmt != '#'){
			result+=fmt;
			ctr++;
		}
		result+=chr;
	}
	if(result.length > format.length){
		obj.value = result.substr(0,format.length);
	} else {
		obj.value=result;
	}
}
function kup(obj,remover,format) {
	if(format != 0) {
		genericFormat(obj,format);
	}
	if(remover == 'rem' || remover == 1) {
		str = obj.value;
		nval = removeAccents(str);
		obj.value = nval.toUpperCase();
	}
}
/*
retNum()
	Retorna apenas os números de uma string.
*/
function retNum(t){
	var validchars = "0123456789";
	var newt="";
	for(var i = 0; i<t.length;i++){
		if(validchars.indexOf(t.charAt(i))!= -1){
			newt+=t.charAt(i);
		}
	}
	return(newt);
}
function OnlyNumbers(e) { 

    if (window.event) //IE 
    { 
    tecla = e.keyCode; 
    } 

   else if (e.which) //FF 
   { 
    tecla = e.which; 
   } 
    //teclas dos numemros(0 - 9) de 48 a 57
   //techa==8 é para permitir o backspace funcionar para apagar
    
       if ( (tecla >= 48 && tecla <= 57)||(tecla == 8 ) ) {
               return true;
          }
          else {
               return false;
          }
}
function checkMail(mail){
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(mail) == "string"){
        if(er.test(mail)){ return true; }
    }else if(typeof(mail) == "object"){
        if(er.test(mail.value)){ 
                    return true; 
                }
    }else{
        return false;
        }
}
function formValidate() {
	var msg = Array();
	var email = document.getElementById('EMAIL');	
	if(document.getElementById('NOME').value.length < 5) msg.push('Nome');
	if(document.getElementById('EMPRESA').value.length < 5) msg.push('Empresa');
	if(document.getElementById('CARGO').value.length < 5) msg.push('Cargo');
	if(document.getElementById('CELULAR').value.length < 1) msg.push('Celular');
	if(!checkMail(email)) msg.push('E-mail');
	if(document.getElementById('TELEFONE').value.length < 1) msg.push('Telefone');
	if(document.getElementById('ENDERECO').value.length < 5) msg.push('Endereço');
	if(document.getElementById('MENSAGEM').value.length < 5) msg.push('Mensagem');
	
	if(msg.length >= 1) {
		var mensagem = 'Os seguintes campos devem ser informados corretamente: ' + msg.join(', ');
		alert(mensagem);
		return(false);
	} else {
		return(true);
	}
}

function formArValidate() {
	var msg = Array();
	if(document.getElementById('_usuario').value.length < 2 || document.getElementById('_usuario').value == 'usuário') msg.push('Nome');
	if(document.getElementById('_senha').value.length < 5 || document.getElementById('_senha').value == 'suasenha') msg.push('senha');
	
	if(msg.length >= 1) {
		var mensagem = 'Os seguintes campos devem ser informados corretamente: ' + msg.join(', ');
		alert(mensagem);
		return(false);
	} else {
		return(true);
	}
}
function hCorrect(x) {
	/*
		350 eh o valor do header,
		a ser compensado (acho...)
	*/
	if(!x) x = '_t_';
	var t = document.getElementById( x );
	var b = document.getElementById('body');
	
	if(t != null) {	
		var h = t.offsetHeight;
		//b.style.height = h + 350 + 'px';
		if(h > 280) {
			b.style.height = h + 350 + 'px';
		} else {
			b.style.height = 280 + 320 + 'px';
		}
	}
}

function hFixAdv(o,i,add) {
	/*
		o - outside - a corrigir (body)
		i - inside - elemento com altura a ser obtida 
		add - valor a ser adicionado a correcao
	*/
	if(!add) var add = 0;
	var _o = document.getElementById(o);
	var _i = document.getElementById(i);
		
	var h = _i.offsetHeight;
	
	if(h > 200) {
		_o.style.height = h + add + 'px';
	} else {
		_o.style.height = 200 + 'px';
	}
}

function openDl( x ) {
		var o = document.getElementById( x );
		if(o.className == 'dlBoxAct') {
			o.className = 'dlBox';
		} else {
			o.className = 'dlBoxAct';
		}
		hCorrect();
}
function openSv( x ) {
		var o = document.getElementById( x );
		if(o.className == 'svBoxAct') {
			o.className = 'svBox';
		} else {
			o.className = 'svBoxAct';
		}
		hCorrect();
}