//*********************************
// FORMATEAR DATOS
//*********************************




//Código formatear Miles con 2 Decimales (Euros,Tipo Interes..) mientras se escribe
function SepararStdInput(donde,caracter)
{
	return SepararMilesDecimalesInput(donde, caracter, 2);
}

//Código para colocar los indicadores de miles y decimales mientras se escribe
// dec -> indica el numero de decimales
function SepararMilesDecimalesInput(donde,caracter,dec)
{
	var decimales = false
	if (dec != 0)
		{decimales = true}

	pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/
	valor = donde.value
	largo = valor.length
	crtr = true
	if(isNaN(caracter) || pat.test(caracter) == true)
	{
		if (pat.test(caracter)==true) 
			{caracter = "\\" + caracter}
			 carcter = new RegExp(caracter,"g")
			 valor = valor.replace(carcter,"")
			donde.value = valor
			crtr = false
		} else {
			var nums = new Array()
			cont = 0
			for(m=0;m<largo;m++) {
				if(valor.charAt(m) == "." || valor.charAt(m) == " " || valor.charAt(m) == ",") {
					continue;
				} else {
					nums[cont] = valor.charAt(m)
					cont++
				}
		
			}
		}

	if(decimales == true) {
		ctdd = eval(1 + dec);
		nmrs = 1
	} else {
		ctdd = 1; nmrs = 3
	}
	
	var cad1="",cad2="",cad3="",tres=0
	
	if(largo > nmrs && crtr == true) {
		for (k=nums.length-ctdd;k>=0;k--) {
			cad1 = nums[k]
			cad2 = cad1 + cad2
			tres++
			if((tres%3) == 0) {
				if(k!=0) {
					cad2 = "." + cad2
				}
			}
		}
		
		for (dd = dec; dd > 0; dd--)	
			{cad3 += nums[nums.length-dd] }
		if(decimales == true)
			{cad2 += "," + cad3}
		donde.value = cad2
	}
	
	donde.focus()
}	

//Código para colocar los indicadores de miles mientras se escribe
function SepararMilesInput(donde,caracter){
	pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/
	valor = donde.value
	largo = valor.length
	crtr = true
	if(isNaN(caracter) || pat.test(caracter) == true){
		if (pat.test(caracter)==true) {
		    caracter = "\\" + caracter
		}
		carcter = new RegExp(caracter,"g")
		valor = valor.replace(carcter,"")
		donde.value = valor
		crtr = false
	} else {
		var nums = new Array()
		cont = 0
		for(m=0;m<largo;m++){
			if(valor.charAt(m) == "." || valor.charAt(m) == " "){
				continue;
			} else {
				nums[cont] = valor.charAt(m)
				cont++
			}
		}
	}

	var cad1="",cad2="",tres=0
	
	if(largo > 3 && crtr == true){	
		for (k=nums.length-1;k>=0;k--){
			cad1 = nums[k]
			cad2 = cad1 + cad2
			tres++
			if((tres%3) == 0){
				if(k!=0){
					cad2 = "." + cad2
				}
			}
		}
		donde.value = cad2
	}
	
}

function ValidaInput(donde) {
	var i=0;
	var letrai;
	var letras;
	valori = donde.value
	var valors="";	
	largoi = valori.length	
	lbFirst = true;

	while (i<largoi){
		letrai = valori.charAt(i);
		letras = '';
		if ((letrai >= '0') && (letrai <= '9')) {letras=letrai;}
		if ((letrai == ',') && lbFirst) {lbFirst = false; letras=letrai;}
		if (letrai == '.') {alert('Introduzca solo coma')}
		valors += letras;
		i++;
	}

	donde.value = valors;	
}

function PostValidaInput(valori) {

	var i=0;
	var letrai;
	var lbOk = true;	
	var largoi = valori.length	
	var lbFirst = true;
	
	while (i<largoi){
		letrai = valori.charAt(i);
		letras = '';
		if ((letrai >= '0') && (letrai <= '9')) {}
		else 
			if ((letrai == ',') && lbFirst) {lbFirst = false;}
			else {
				lbOk = false;
			}
		i++;
	}
	return lbOk;
}

function CadMilestoNumerico(numero){
	var xlong;
	var i=0;
	var letra='-';
	var salida="";
	xlong = numero.length;

	while (i<xlong){
		letra = numero.charAt(i);

		if (letra != '.') {
			salida += letra;
		}

		i++;
	}
	return salida;
}

function CadMilesDecimalestoNumerico(numero){

	var xlong;
	var i=0;
	var letra='-';
	var salida="";

	xlong = numero.length;

	while (i<xlong){
		letra = numero.charAt(i);
		if (letra == '.') {letra='';}
		if (letra == ',') {letra='.';}	    
		salida += letra;
		i++;
	}

	return salida;

}

function CadNumericotoMilesDecimales(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	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 (num + ',' + cents);
}

