
/**
 * Valida formulários dinamicamente.
 * Para incluir um campo na verificação basta adicionar um title com o nome do campo.
 * Ex:
 * <input type="text" id="nome" name="nome" title="Nome">
 * Por ter um title, esse input sera verificado.
 * 
 */
function checkForm(local){
	
	// Campos a serem verificados
	var arr = new Array('input','option','select','textarea');
	
	var titleValue = null;
	
	//var formName = new Array();
	
	for(var a=0; a < arr.length; a++){
		
		// Formulario a ser verificado.
		var localValidar = document.getElementById(local);
		
		// Campo a ser verificado.
		var formulario = localValidar.getElementsByTagName(arr[a]);
		
		// Loop percorrendo os campos.
		for (var i=0; i < formulario.length; i++){
			
			// Verifica se existe title.
			var title = formulario[i].attributes.getNamedItem("title");
			
			// Verifica se tem valor.
			if(title !== null){
				titleValue = title.value;
			}
			
			// Retorna a cor original do campo.
			//formulario[i].style.background = "#666666";
			
			// Se existir titulo...
			if(title !== null && titleValue !== null && titleValue.length > 0){
				
				// Se não foi digitado valor...
				if (formulario[i].value == ""){
					
					alert ("Por favor preencha o campo: " + titleValue );
					
					//formulario[i].style.background = "#FF0000";
					formulario[i].focus();
					
					return false;
				}
			}
		}
	}
	
	return true;
} 

/**
 * Método principal para mascarar campos.
 */
function mask(o,f){
    v_obj = o
    v_fun = f
    setTimeout ("execMask()",1)
}


/**
 * Efetua a execução
 */
function execMask(){
    v_obj.value=v_fun(v_obj.value)
}


/**
 * Somente números
 */
function numberOnly(v){
    return v.replace(/\D/g,"")
}

/**
 * Formato de telefone com ddd
 */
function telphone(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
}

/**
 * Formato de telefone com ddd
 */
function date(v){
	v = v.replace(/\D/g,"")               //Remove tudo o que não é dígito
   	v = v.replace(/(\d{2})(\d)/,"$1/$2"); //Coloca uma barra entre o segundo e o terceiro dígitos
   	v = v.replace(/(\d{2})(\d)/,"$1/$2"); //Coloca uma barra entre o quarto e quinto digito.
    return v
}

/**
 * Método para formatação de cep
 */
function cep(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 formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+'.'+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + ',' + cents);
}

