function Quita_Puntos(str)
{
var aux = "";
var decimal = 0;
	//primero nos quitamos de enmedio el cero inicial 
	//si no es decimal
	if ((str.substring(0,1) == '0') && 
		(str.substring(1,2) != ',')) {
		str = str.substring (1, str.length );
	}
	for (var i=0; i<str.length; i++) {
		pp = str.substring(i,(i+1));
		if (pp == ",") {
		   if (decimal == 0)
			aux = aux + ".";
		   decimal = 1;
		}
		else if (pp != ".")
			aux = aux + pp;
	}
	return(aux);          
}

function FormatNumString (sNum)
{
var newNum = "0";
var longitud = sNum.length;
var decimal = 0;
var aux = "";



	for (var i=0; i<sNum.length; i++) {
		pp = sNum.substring(i,(i+1));
		if (decimal == 1) {
			aux = aux + pp;
		}
		if (pp == ".") {
			decimal = 1;
		}
	}
	if (decimal == 1) {
	  longitud = longitud - aux.length -1;
	}
	if (longitud > 3 && longitud < 7)
		newNum = sNum.substring(0, longitud - 3) + '.'+ sNum.substring(longitud-3, longitud);
	else if (longitud > 6 && longitud < 10)
		newNum = sNum.substring(0, longitud - 6) + '.' + sNum.substring(longitud-6, longitud-3) + '.' + sNum.substring(longitud-3, longitud);
	else if (longitud > 9)
		newNum = sNum.substring(0, longitud - 9) + '.' + sNum.substring(longitud-9, longitud-6) + '.' + sNum.substring(longitud-6, longitud-3) + '.' + sNum.substring(longitud-3, longitud);
	else if (longitud <=3 && sNum >=1)
		newNum = sNum.substring(0, longitud);

	if (decimal == 1) {
	  newNum = newNum + ',' + aux;
	}

	return(newNum);
}




function SoloNumeros(obj)
//-------------------------------------------------------------------------------
//Función que comprueba que en una caja de texto solamente se introduzcan numero
// en caso contrario la tecla presionada no se escribe en la caja
//-------------------------------------------------------------------------------

{
     if (
         ((event.keyCode < 48) || (event.keyCode > 57) 
             &&
           (event.keyCode != 43)
             &&
           (event.keyCode != 45)
         )
           ||
         (
           (obj.value.length > 0)
             &&
           ((event.keyCode < 48) || (event.keyCode > 57))
         )
       )
    {
      event.returnValue = false;
    }

}

function SoloLetras(obj)
//-------------------------------------------------------------------------------
//Función que comprueba que en una caja de texto solamente se introduzcan letras
// en caso contrario la tecla presionada no se escribe en la caja
//-------------------------------------------------------------------------------
{
	 var correcto = false;
	 
	 if (event.keyCode >= 65)
         if (event.keyCode <= 90) correcto = true;
		 else 
		 {
			 if (event.keyCode >= 97)  // se pulsó mayúscula
			 	if (event.keyCode <= 122) correcto = true;
		 }
		event.returnValue = correcto;
}


function SoloNumerosMen(obj)
//-------------------------------------------------------------------------------
//Función que comprueba que en una caja de texto solamente se introduzcan numero
// en caso contrario se muestra un mensaje
//-------------------------------------------------------------------------------

{
   
   if (obj.value != "")
   {
		for (var i=0; i<obj.value.length; i++)
		{ 
			var ch = obj.value.substring (i, i+1);
			if ( (ch < "0" || ch > "9") && (ch != ".") && (ch != ",") ) 
			{
				alert ("La cantidad debe ser numérica");
				obj.value = "";								
				obj.focus();
			}
		}	
	}
	     

}







function ChequeaNumerico(obj)	
{
	if (obj.value != ""){
		for (var i=0; i<obj.value.length; i++) {
			var ch = obj.value.substring (i, i+1);
			if ( (ch < "0" || ch > "9") && (ch != ".") && (ch != ",") ) {
				return false;
			}
		}
		return true;
	}
	return false;
}


function ChequeaImporte (obj)
{
	if (obj.value != ""){
		for (var i=0; i<obj.value.length; i++) {
			var ch = obj.value.substring (i, i+1);
			if ( (ch < "0" || ch > "9") && (ch != ".") && (ch != ",") ) {
					alert ("La cantidad debe ser numérica");
				obj.focus();	
				obj.value = "";				
				return false;
			}
		}
		var temp = Quita_Puntos(obj.value);		
		obj.value = FormatNumString (temp);
		return true;
	}
	else {
		obj.value = "0";		
		return true;
	}	
}




function ChequeaImporteSinValorPorDefecto (obj)
{
	if (obj.value != ""){
		for (var i=0; i<obj.value.length; i++) {
			var ch = obj.value.substring (i, i+1);
			if ( (ch < "0" || ch > "9") && (ch != ".") && (ch != ",") ) {
					alert ("La cantidad debe ser numérica");
				obj.value = "";
				return false;
			}
		}
		var temp = Quita_Puntos(obj.value);
		obj.value = FormatNumString (temp);

		return true;
	}
	else {
		return true;
	}
}

//Limpia el objeto del cero para que éste no ande estorbando
function Clean(obj)
{
	if (obj.value == 0) {
		obj.value = "";
	}	
}

//averigua la letra del nif
//numNIF es el numero del NIF
//devuelve la letra que corresponde a ese numero
function letraNIF( numNIF )
{
	numNIF = Number(numNIF);
	if	( isNaN(numNIF) )
		return "";
	else	{
		var tabla = "TRWAGMYFPDXBNJZSQVHLCKEF";
		return tabla.charAt( parseInt(numNIF) % 23 );
	}
}

function introduceNIF (obj)
// Función que verifica la correcta introducción del NIF/DNI
// tecla por tecla.

{
	var longitud;
	
	longitud = obj.value.length;
	
	if (longitud==8) SoloLetras(obj);
	else SoloNumeros(obj);
}
