
function QuitaPuntos(obj){		
	
	var puntos=true;
	while(puntos){
		if(("" + obj.value).indexOf(".")!=-1){
			obj.value = ("" + obj.value).replace(".","");		
		}
		else{
			puntos=false;
		}
	}
}	

function SoloNumerico(valor)
{		
	var vDato2;
	var vLong2;	
	var soloNumeros2;			
	
	vDato2 = ("" + valor.value);		
	vLong2 = ("" + vDato2).length - 1;								
			
			soloNumeros2 = EsTodoNumero(vDato2,vLong2);						
		
			if (!(soloNumeros2))
			{
				alert ("Los importes introducidos no pueden contener letras, comas, puntos ni espacios en blanco.");		
				valor.value = "0";
				valor.focus();
			}							
			
}

function validaFormateaNumero(valor){	
	
	var vDato;
	var vLong;
	
	var soloNumeros;
	var numVeces
	

	if (("" + valor.value).indexOf(".") > 0){						
		alert ("Los importes introducidos no pueden contener el carácter [.] ; Utilice [,] para indicar los decimales.");		
		valor.focus();		
	}
	else{ 
	
		numVeces = NumeroApariciones(",",("" + valor.value), (("" + valor.value).length - 1));
				
	    //Control de que solo tenga una coma como máximo
	    if (numVeces > 1){
	    	alert ("Los importes introducidos sólo pueden contener un carácter [,]");		
			valor.value = "0,00"
			valor.focus();
		}
		else{		
	
			vDato = ("" + valor.value).replace(",","");		
			vLong = ("" + vDato).length - 1;								
			
			soloNumeros = EsTodoNumero(vDato,vLong);						
		
			if (!(soloNumeros)){
				alert ("Los importes introducidos no pueden contener letras o espacios en blanco.");		
				valor.value = "0"
				valor.focus();
			}
			else{								
				
				vDato = ("" + valor.value).replace(",",".");											
				vDato = Redondeo(vDato, 2);								
				vDato = ("" + vDato).replace(".",",");									    													
				
				/*valor.value = PintaNumero(vDato); */
			}		
		}
	} 	
}

//Comprueba que ningun caracter del texto sea <> de numero, se la debe llamar con la longitud del texto
//y sin puntos ni comas
function EsTodoNumero (vDat, indiceDigito){
	
	var Car;				
		
	if (indiceDigito < 0){				
		return true;
	}
	else{
		Car = (vDat).substr(indiceDigito,1);						
		if ((Car != "0") && (Car != "1") && (Car != "2") && (Car != "3") && (Car != "4") && (Car != "5") && (Car != "6") && (Car != "7") && (Car != "8") && (Car != "9")){						
			return false;
		}
		else{							
			indiceDigito = indiceDigito - 1;			
			return EsTodoNumero(vDat, indiceDigito);			
		}
	}
}

//Cuenta el numero de veces que aparece el caracter 'vCaracter' en la cadena 'vCadena', se debe
//llamar con la longitud de la cadena menos uno
function NumeroApariciones (vCaracter, vCadena, indiceDigito){
	
	var Contador;						
	var Car;
		
	if (indiceDigito < 0){				
		return 0;
	}
	else{
		Car = (vCadena).substr(indiceDigito,1);						
		if (Car == vCaracter){			
			Contador = 1;					
		}
		else{							
			Contador = 0;					
		}
		indiceDigito = indiceDigito - 1;					
		return NumeroApariciones(vCaracter, vCadena, indiceDigito) + Contador;
	}
}
	
function FormateaJavaScript (Numero, decimales){
	
	Numero = Numero.replace(".","");
	Numero = Numero.replace(",",".");	
	
	return parseFloat(Redondeo(Numero,2));	
}

function Redondeo(valor, maxdecimales){
	
		var c;
		var res;
	
		//Caso especial redondeo del 0
		if (("" + valor) == 0){			
			c = 0;
			res = "0.";
			for(c;c < maxdecimales;c++){
				res = res + "0"
			}					
			
			return res;
		}
		
        valor = ("" + valor);
        maxdecimales = parseInt(maxdecimales);       

        var conjunto = "" + Math.round(valor * Math.pow(10, maxdecimales));        
        var entero = conjunto.length - maxdecimales;                                              
       
        if(entero != 0){        
       		if ((valor.substring(0,3) == "0.0") ){       		
       			res = "0.0" + conjunto.substring(entero, conjunto.length);       			
       		}
       		else{
       			
       			if ((valor.substring(0,2) == "0.")){
       				res = "0." + conjunto.substring(entero, conjunto.length);       				
       			}
       			else{       			
       			 	res = conjunto.substring(0, entero);
                	res += ".";
                	res += conjunto.substring(entero, conjunto.length);                	
       			}       			
       		}       	               
        }
        else{
        	if ((valor.substring(0,2) == "0.")){
       			res = "0." + conjunto.substring(entero, conjunto.length);       			
       		}
       		else{
       		   res = conjunto;       		   
       		}                    
        }               
        
        return res;                        
}

function DeJavaScriptATextBox(valor){	
	
	valor = Redondeo(("" + valor),2);				
	valor = valor.replace(".",",");		
	/*valor = PintaNumero(valor);*/
	
	return valor;	
}
