<!--

//	Autor		:	L.I. Gerardo Ángeles Nava
//	Versión		:	10-01-2002
//	Programa 	:	Proporciona la cantidad en letra de un número de hasta 13 dígitos 
//	Gracias a	: 
//					Leonardo Ghigliani, 
//					www.xlwebmasters.com, 
//					aspspanish.com, 
//					aspx_espanol o http://p2p.wrox.com/espanol/listespanol.asp?list=aspx_espanol

var sVacio	= ''
var sCantidadFormateada = sVacio
var	sEntero = sVacio
var	sSeparador = sVacio
var sDecimal = sVacio
var sEnLetra = sVacio
var un	= false 
var unMillones	= false 
var maxLen = 13

function main(inTxt,b){
	var space		= ' '
	var errorMsg 	= sVacio
	var sEnLetra 	= sVacio
	
	init()
	
	if(inTxt == sVacio){
		//errorMsg += "Cantidad, es un dato obligatorio"
		errorCantidad()
		init()
	}
	if (!valCantidad(inTxt,document.frm.txtCantidad)){
		errorMsg += "Cantidad, únicamente acepta dígitos y solamente un caracter (.)"
		errorCantidad()
		init()
	}
	if (errorMsg != ""){
		alert(errorMsg)
		init()
	}else{
		document.frm.txtCantidad.value = formatoCantidad(inTxt)
		sCantidadFormateada = formatoCantidad(inTxt)
		sEntero = cantidadEnLetra(parteEntera(sCantidadFormateada))
		if(document.frm.rMostrarDec[0].checked || document.frm.rMostrarDec[0].value == 'si'){
			sSeparador = " <span style='color:blue;'>euros con&nbsp</span>"
			sDecimal = cantidadEnLetra(parteDecimal(sCantidadFormateada))	
		}
	}
	
	cantFormato.innerHTML = separadores(parteEntera(document.frm.txtCantidad.value)) + ',' + separadores(parteDecimal(document.frm.txtCantidad.value))
	
document.frm.txtCantidad.value=cantFormato.innerHTML;

	sEntero = sEntero.substring(0,1).toUpperCase().toString() + sEntero.substring(1).toString()
	if(b){
		resultado.innerHTML = '&nbsp;' + sEntero + '<font style=color:black>' + sSeparador + '</font>' + sDecimal + '&nbsp;céntimos &nbsp;'
	}else{
		return sEntero + sSeparador + sDecimal
	}
}
//==================================================================================================separadores
function separadores(s){
	var sCantSeparadores = sVacio
	//var coma = ','
	var coma = ''
	var apostrofo = '\''
	var j = 1
	s = strToArray(s)
	for(var i = s.length-1; i >= 0; i--){
		if(j % 6 == 0){
			if(i == 0){
				sCantSeparadores = s[i] + sCantSeparadores
			}else{
				sCantSeparadores = apostrofo + s[i] + sCantSeparadores
			}
		}else{	
			if(j % 3 == 0){
				if(i == 0){
					sCantSeparadores = s[i] + sCantSeparadores
				}else{
					sCantSeparadores = coma + s[i] + sCantSeparadores
				}
			}else{
				sCantSeparadores = s[i] + sCantSeparadores
			}
		}
		j++
	}
	return sCantSeparadores
}

//==================================================================================================init
function init(){
	sVacio	= ''
	sCantidadFormateada = sVacio
	sEnLetra = sVacio
	sEntero = sVacio
	sSeparador = sVacio
	sDecimal = sVacio
	un	= false 
	resultado.innerHTML = sVacio

	idCantidad.style.color = "black"
	document.frm.txtCantidad.value = sVacio
	document.frm.txtCantidad.focus()

	document.frm.txtNumDigEnteros.value = 0
	document.frm.txtNumDigDecimales.value = 0
	//document.frm.txtNumChars.value = 0
	
	document.frm.txtValIni.value = 0.5
	document.frm.txtValFin.value = 1.5
	document.frm.txtInc.value = .1
	//document.frm.Sis_Numero_Tarjeta.focus();
}
//==================================================================================================errorCantidad
function errorCantidad(){
	document.frm.txtCantidad.focus()
	idCantidad.style.color = "red"
}
//==================================================================================================valCantidad
function valCantidad(inTxt,t){
	aChars = strToArray(inTxt);
	cPoint = ','
	iPoint = 0	
	var tmpString = sVacio
	var name = sVacio
	
	if(t.name == "txtCantidad") name = "Cantidad"
	if(t.name == "txtValIni") name = "Valor Inicial"
	if(t.name == "txtValFin") name = "Valor Final"
	if(t.name == "txtInc") name = "Incremento"	
	
	for (var i = 0; i < aChars.length; i++){
		var c = aChars[i]
		if( (c >= "0" && c <= "9") || c == cPoint ){
			if(c == cPoint){
				iPoint++
				if(iPoint > 1){
					alert(name + ", únicamente acepta dígitos y un carácter (.)")
					eval("document.frm." + t.name + ".value = tmpString")
					return false
				}
			}
			tmpString += c
			continue

		}else{
			alert(name + ", únicamente acepta dígitos y un carácter (.)")
			eval("document.frm." + t.name + ".value = tmpString")
			eval("document.frm." + t.name + ".focus()")
			return false
		}
	}
	return true
}

//==================================================================================================strToArray
function strToArray(inTxt){
	aChars = inTxt.split('')
	return (aChars)
}
//==================================================================================================formatoCantidad
function formatoCantidad(inTxt){
	var aChars = new Array()
	var cPoint = ','

	aChars = strToArray(inTxt)

	//Formato para la cantidad "cero" o "punto"
	if((inTxt == '0') || (aChars.length == 1 && aChars[0] == cPoint)){
		sCantidadFormateada = "0,0"
		return sCantidadFormateada
	}	
	
	//eliminar ceros a la izquierda ingresados en la parte entera
	for (var i = 0; i < aChars.length; i++){
		var c = aChars[i]
		if( (c >= "1" && c <= "9")){
			break
		}
		if(c == cPoint){
			break
		}
	}
	sCantidadFormateada = inTxt.substring(i)
	
	// Agregar el punto decimal y un cero si no se ingreso el punto
	if(sCantidadFormateada.indexOf(',') == -1){
		sCantidadFormateada += ",00"
	}
	// Agregar un cero y el punto decimal si no se ingreso el punto
	if(sCantidadFormateada.substring(0,sCantidadFormateada.indexOf(',')) == sVacio){
		sCantidadFormateada = "0" + sCantidadFormateada
	}
	// Agregar un cero si despues del punto decimal no hay nada
	if(sCantidadFormateada.substring(sCantidadFormateada.indexOf(',')+1) == sVacio){
		sCantidadFormateada = sCantidadFormateada + "0"
	}

	return sCantidadFormateada
}
//==================================================================================================parteEntera
function parteEntera(inTxt){
	var inTxtI	= ''
	inTxtI = inTxt.substring(0,inTxt.indexOf(','))
	document.frm.txtNumDigEnteros.value = inTxtI.length
	return inTxtI
}
//==================================================================================================parteDecimal
function parteDecimal(inTxt){
	var inTxtF	= ''
	if(document.frm.txtCantidad.value.indexOf(',') == -1){
		inTxtF  = sVacio
	}else{
		inTxtF  = inTxt.substring(inTxt.indexOf(',') + 1)
	}
	if(inTxtF == sVacio){
		document.frm.txtNumDigDecimales.value = 0
		return inTxtF
	}else{
		document.frm.txtNumDigDecimales.value = inTxtF.length
	}
	if(inTxtF.length==1){
		inTxtF = inTxtF + "0";
	}
	return inTxtF
}
//==================================================================================================cantidadEnLetra
function cantidadEnLetra(sCantidad){
	sEnLetra = sVacio
	switch(sCantidad.length){
		case 1 :
			sEnLetra = unidades(sEnLetra,sCantidad)
			break
		case 2 :
			sEnLetra = decenas(sEnLetra,sCantidad)
			break
		case 3 :
			sEnLetra = centenas(sEnLetra,sCantidad)
			break
		case 4 :
			sEnLetra = miles(sEnLetra,sCantidad)
			break
		case 5 :
			sEnLetra = dMiles(sEnLetra,sCantidad)
			break
		case 6 :
			sEnLetra = cMiles(sEnLetra,sCantidad)
			break
		case 7 :
			sEnLetra = millones(sEnLetra,sCantidad)
			break
		case 8 :
			sEnLetra = dMillones(sEnLetra,sCantidad)
			break
		case 9 :
			sEnLetra = cMillones(sEnLetra,sCantidad)
			break
		case 10 :
			sEnLetra = mMillones(sEnLetra,sCantidad)
			break
		case 11 :
			sEnLetra = dmMillones(sEnLetra,sCantidad)
			break
		case 12 :
			sEnLetra = cmMillones(sEnLetra,sCantidad)
			break
		case 13 :
			sEnLetra = billon(sEnLetra,sCantidad)
			break
		default :
			sEnLetra = "fuera de rango"
			break
	}
	return sEnLetra
}
//==================================================================================================unidades
function unidades(sEnLetra,inTxt){
	switch(parseInt(inTxt)){
		case 0 :
			sEnLetra = sEnLetra + "cero"
			return sEnLetra;
		case 1 :
			if(!un){
				sEnLetra = sEnLetra + "uno"
			}else{
				sEnLetra = sEnLetra + "un"
			}
			return sEnLetra;
		case 2 :
			sEnLetra = sEnLetra + "dos"
			return sEnLetra;
		case 3 :
			sEnLetra = sEnLetra + "tres"
			return sEnLetra;
		case 4 :
			sEnLetra = sEnLetra + "cuatro"
			return sEnLetra;
		case 5 :
			sEnLetra = sEnLetra + "cinco"
			return sEnLetra;
		case 6 :
			sEnLetra = sEnLetra + "seis"
			return sEnLetra;
		case 7 :
			sEnLetra = sEnLetra + "siete"
			return sEnLetra;
		case 8 :
			sEnLetra = sEnLetra + "ocho"
			return sEnLetra;
		case 9 :
			sEnLetra = sEnLetra + "nueve"
			return sEnLetra;
		default :
			sEnLetra = "Ocurrio una excepción en unidades"
			return sEnLetra
	}
}
//==================================================================================================centenas
function decenas(sEnLetra,inTxt){
	switch(parseInt(inTxt)){
		case 00 :
		sEnLetra = sEnLetra + "cero"
		return sEnLetra;
		
		case 01 :
			sEnLetra = sEnLetra + "un"
			return sEnLetra;
		case 02 :
			sEnLetra = sEnLetra + "dos"
			return sEnLetra;
		case 03 :
			sEnLetra = sEnLetra + "tres"
			return sEnLetra;
		case 04 :
			sEnLetra = sEnLetra + "cuatro"
			return sEnLetra;
		case 05 :
			sEnLetra = sEnLetra + "cinco"
			return sEnLetra;
		case 06 :
			sEnLetra = sEnLetra + "seis"
			return sEnLetra;
		case 07 :
			sEnLetra = sEnLetra + "siete"
			return sEnLetra;
		case 08 :
			sEnLetra = sEnLetra + "ocho"
			return sEnLetra;
		case 09 :
			sEnLetra = sEnLetra + "nueve"
			return sEnLetra;
		case 10 :
			sEnLetra = sEnLetra + "diez"
			return sEnLetra;
		case 11 :
			sEnLetra = sEnLetra + "once"
			return sEnLetra;
		case 12 :
			sEnLetra = sEnLetra + "doce"
			return sEnLetra;
		case 13 :
			sEnLetra = sEnLetra + "trece"
			return sEnLetra;
		case 14 :
			sEnLetra = sEnLetra + "catorce"
			return sEnLetra;
		case 15 :
			sEnLetra = sEnLetra + "quince"
			return sEnLetra;
	}
	if(parseInt(inTxt) >= 16 && parseInt(inTxt) <= 99){
		aChars = strToArray(inTxt)
		switch(parseInt(aChars[0])){
			case 1 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "diez"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "dieci"
				}
				break
			case 2 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "veinte"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "veinti"
				}
				break
			case 3 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "treinta"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "treinta y "
				}
				break
			case 4 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "cuarenta"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "cuarenta y "
				}
				break
			case 5 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "cincuenta"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "cincuenta y "
				}
				break
			case 6 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "sesenta"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "sesenta y "
				}
				break
			case 7 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "setenta"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "setenta y "
				}
				break
			case 8 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "ochenta"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "ochenta y "
				}
				break
			case 9 :
				if(parseInt(aChars[1]) == 0){
					sEnLetra = sEnLetra + "noventa"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "noventa y "
				}
				break
			default :
				sEnLetra = "Ocurrio una excepción en decenas"
				break
		}
		sEnLetra = unidades(sEnLetra,aChars[1])
		return sEnLetra
	}
}	
//==================================================================================================centenas
function centenas(sEnLetra,inTxt){
	var unidad = sVacio
	var decena = sVacio
	if(parseInt(inTxt) >= 100 && parseInt(inTxt) <= 999){
		aChars = strToArray(inTxt)
		switch(parseInt(aChars[0])){
			case 1 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "cien"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "ciento "
				}
				break
			case 2 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "doscientos"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "doscientos "
				}
				break
			case 3 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "trescientos"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "trescientos "
				}
				break
			case 4 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "cuatrocientos"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "cuatrocientos "
				}
				break
			case 5 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "quinientos"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "quinientos "
				}
				break
			case 6 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "seiscientos"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "seiscientos "
				}
				break
			case 7 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "setecientos"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "setecientos "
				}
				break
			case 8 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "ochocientos"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "ochocientos "
				}
				break
			case 9 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
					sEnLetra = sEnLetra + "novecientos"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "novecientos "
				}
				break
			default :
				sEnLetra = "Ocurrio una excepción en decenas"
				break
		}

		if(parseInt(aChars[1]) == 0){
			unidad = aChars[2]
			sEnLetra = unidades(sEnLetra,unidad)
		}else{
			decena = aChars[1] + aChars[2]
			sEnLetra = decenas(sEnLetra,decena)
		}
		return sEnLetra		
	}
}
//==================================================================================================miles
function miles(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	if(parseInt(inTxt) >= 1000 && parseInt(inTxt) <= 9999){
		aChars = strToArray(inTxt)
		switch(parseInt(aChars[0])){
			case 1 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "mil "
				}
				break
			case 2 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "dos mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "dos mil "
				}
				break
			case 3 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "tres mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "tres mil  "
				}
				break
			case 4 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "cuatro mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "cuatro mil "
				}
				break
			case 5 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "cinco mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "cinco mil "
				}
				break
			case 6 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "seis mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "seis mil "
				}
				break
			case 7 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "siete mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "siete mil "
				}
				break
			case 8 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "ocho mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "ocho mil "
				}
				break
			case 9 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0){
					sEnLetra = sEnLetra + "nueve mil"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "nueve mil "
				}
				break
			default :
				sEnLetra = "Ocurrio una excepción en miles"
				break
		}
		
		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0){
			unidad = aChars[3]
			sEnLetra = unidades(sEnLetra,unidad)
		}
		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) != 0){
			decena = aChars[2] + aChars[3]
			sEnLetra = decenas(sEnLetra,decena)
		}
		centena = aChars[1] + aChars[2] + aChars[3]
		if(parseInt(centena) >= 100){
			sEnLetra = centenas(sEnLetra,centena)
		}
		
		return sEnLetra		
	}
}
//==================================================================================================dMiles
function dMiles(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var aChars	= new Array()
	if(parseInt(inTxt) >= 10000 && parseInt(inTxt) <= 99999){
		aChars = strToArray(inTxt)
		if(parseInt(aChars[0]) >= 1 || parseInt(aChars[0]) <= 9){
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0){
					decena = aChars[0] + aChars[1]
					sEnLetra = decenas(sEnLetra,decena)
					sEnLetra += " mil"
					return sEnLetra
				}else{
					un = true
					decena = aChars[0] + aChars[1]
					sEnLetra = decenas(sEnLetra,decena)
					sEnLetra += " mil "
					if(unMillones){
						un = true
					}else{
						un = false
					}
				}
		}else{
			sEnLetra = "Ocurrio una excepción en dMiles"
		}
		if(parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) != 0){
			unidad = aChars[4]
			sEnLetra = unidades(sEnLetra,unidad)
		}
		
		if(parseInt(aChars[2]) == 0 && parseInt(aChars[3]) != 0){
			decena = aChars[3] + aChars[4]
			sEnLetra = decenas(sEnLetra,decena)
		}
		
		centena = aChars[2] + aChars[3] + aChars[4]
		if(parseInt(centena) >= 100 && parseInt(centena) <= 999){
			sEnLetra = centenas(sEnLetra,centena)
		}
		
		millar = aChars[1] + aChars[2] + aChars[3] + aChars[4]
		if(parseInt(millar) >= 10000 && parseInt(millar) <= 99999){
			sEnLetra = miles(sEnLetra,millar)
		}
		
		un = false
		
		return sEnLetra		
	}
}
//==================================================================================================dMiles
function cMiles(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var aChars	= new Array()
	
	aChars = strToArray(inTxt)
	centena = aChars[0] + aChars[1] + aChars[2]
	if(parseInt(aChars[2]) == 1){
		un = true
	}else{
		un = false
	}
	if(parseInt(centena) >= 100){
		sEnLetra = centenas(sEnLetra,centena)
		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0){
			sEnLetra += " mil"
			return sEnLetra
		}else{
			sEnLetra += " mil "
		}
	}
	un = false
	if(parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) != 0){
		unidad = aChars[5]
		if(unMillones){
			un = true
		}
		sEnLetra = unidades(sEnLetra,unidad)
		un = false
	}

	if(parseInt(aChars[3]) == 0 && parseInt(aChars[4]) != 0){
		decena = aChars[4] + aChars[5]
		sEnLetra = decenas(sEnLetra,decena)
	}

	if(parseInt(aChars[3]) != 0){
   		centena = aChars[3] + aChars[4] + aChars[5]
		if(unMillones){
			un = true
		}
		sEnLetra = centenas(sEnLetra,centena)
		un = false
	}
	
	return sEnLetra		
}
//==================================================================================================millones
function millones(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var dm		= sVacio
	var cm		= sVacio
	var aChars	= new Array()

	if(parseInt(inTxt) >= 1000000 && parseInt(inTxt) <= 9999999){
		aChars = strToArray(inTxt)
		switch(parseInt(aChars[0])){
			case 1 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "un millón"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "un millón "
				}
				break
			case 2 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "dos millones"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "dos millones "
				}
				break
			case 3 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "tres millones"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "tres millones  "
				}
				break
			case 4 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "cuatro millones"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "cuatro millones "
				}
				break
			case 5 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "cinco millones"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "cinco millones "
				}
				break
			case 6 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "seis millones"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "seis millones "
				}
				break
			case 7 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "siete millones"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "siete millones "
				}
				break
			case 8 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "ocho millones"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "ocho millones "
				}
				break
			case 9 :
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
					sEnLetra = sEnLetra + "nueve millones"
					return sEnLetra
				}else{
					sEnLetra = sEnLetra + "nueve millones "
				}
				break
			default :
				sEnLetra = "Ocurrio una excepción en millones"
				break
		}

		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) != 0){
			unidad = aChars[6]
			sEnLetra = unidades(sEnLetra,unidad)
		}
		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) != 0){
			decena = aChars[5] + aChars[6]
			sEnLetra = decenas(sEnLetra,decena)
		}
		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) != 0){
			centena = aChars[4] + aChars[5] + aChars[6]
			sEnLetra = centenas(sEnLetra,centena)
		}
		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) != 0){
			millar = aChars[3] + aChars[4] + aChars[5] + aChars[6]
			if(parseInt(millar) >= 1000 && parseInt(millar) < 2000){
				sEnLetra += " un "
			}
			sEnLetra = miles(sEnLetra,millar)
		}
		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) != 0){
			dm = aChars[2] + aChars[3] + aChars[4] + aChars[5] + aChars[6]
			sEnLetra = dMiles(sEnLetra,dm)
		}
		if(parseInt(aChars[1]) != 0){
			cm = aChars[1] + aChars[2] + aChars[3] + aChars[4] + aChars[5] + aChars[6]
			sEnLetra = cMiles(sEnLetra,cm)
		}
	}
	return sEnLetra		
}
//==================================================================================================dMillones
function dMillones(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var dm		= sVacio
	var cm		= sVacio
	var aChars	= new Array()
	if(parseInt(inTxt) >= 10000000 && parseInt(inTxt) <= 99999999){
		aChars = strToArray(inTxt)
		if(parseInt(aChars[0]) >= 1 || parseInt(aChars[0]) <= 9){
				if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0){
					decena = aChars[0] + aChars[1]
					sEnLetra = decenas(sEnLetra,decena)
					sEnLetra += " millones"
					return sEnLetra
				}else{
					un = true
					decena = aChars[0] + aChars[1]
					sEnLetra = decenas(sEnLetra,decena)
					sEnLetra += " millones "
					un = false
				}
		}else{
			sEnLetra = "Ocurrio una excepción en dMillones"
		}
		if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0){
			unidad = aChars[7]
			sEnLetra = unidades(sEnLetra,unidad)
		}
		if(parseInt(aChars[1]) != 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) != 0){
			unidad = aChars[7]
			sEnLetra = unidades(sEnLetra,unidad)
		}
		
		if(parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) != 0){
			decena = aChars[6] + aChars[7]
			sEnLetra = decenas(sEnLetra,decena)
		}

		if(parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) != 0){
			centena = aChars[5] + aChars[6] + aChars[7]
			sEnLetra = centenas(sEnLetra,centena)
		}
	
		if(parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) != 0){
			millar = aChars[4] + aChars[5] + aChars[6] + aChars[7]
			if(parseInt(millar) >= 1000 && parseInt(millar) < 2000){
				sEnLetra += " un "
			}
			sEnLetra = miles(sEnLetra,millar)
		}
		
		if(parseInt(aChars[2]) == 0 && parseInt(aChars[3]) != 0){
			dm = aChars[3] + aChars[4] + aChars[5] + aChars[6] + aChars[7]
			sEnLetra = dMiles(sEnLetra,dm)
		}

		if(parseInt(aChars[2]) != 0){
			cm = aChars[2] + aChars[3] + aChars[4] + aChars[5] + aChars[6] + aChars[7]
			sEnLetra = cMiles(sEnLetra,cm)
		}
		
		return sEnLetra		
	}
}
//==================================================================================================cMillones
function cMillones(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var dm		= sVacio
	var cm		= sVacio
	var aChars	= new Array()
	
	aChars = strToArray(inTxt)
	
	centena = aChars[0] + aChars[1] + aChars[2]
	un = true
	sEnLetra = centenas(sEnLetra, centena)
	un = false
	sEnLetra += " millones "
	
	if(parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) != 0){
		unidad = aChars[8]
		sEnLetra = unidades(sEnLetra,unidad)
	}
	
	if(parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) != 0){
		decena = aChars[7] + aChars[8]
		sEnLetra = decenas(sEnLetra,decena)
	}

	if(parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) != 0){
		centena = aChars[6] + aChars[7] + aChars[8]
		sEnLetra = centenas(sEnLetra,centena)
	}

	if(parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) != 0){
		millar = aChars[5] + aChars[6] + aChars[7] + aChars[8]
		if(parseInt(millar) >= 1000 && parseInt(millar) < 2000){
			sEnLetra += " un "
		}
		sEnLetra = miles(sEnLetra,millar)
	}
	
	if(parseInt(aChars[3]) == 0 && parseInt(aChars[4]) != 0){
		dm = aChars[4] + aChars[5] + aChars[6] + aChars[7] + aChars[8]
		sEnLetra = dMiles(sEnLetra,dm)
	}

	if(parseInt(aChars[3]) != 0){
		cm = aChars[3] + aChars[4] + aChars[5] + aChars[6] + aChars[7] + aChars[8]
		sEnLetra = cMiles(sEnLetra,cm)
	}

	return sEnLetra		
}

//==================================================================================================mMillones
function mMillones(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var dm		= sVacio
	var cm		= sVacio
	var millon  = sVacio
	var aChars	= new Array()
	
	aChars = strToArray(inTxt)
		
	
	millar = aChars[0] + aChars[1] + aChars[2] + aChars[3]	
	un = true
	sEnLetra = miles(sEnLetra, millar)
	sEnLetra += " millones "
	un = false
	
	if(parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) != 0){
		unidad = aChars[9]
		sEnLetra = unidades(sEnLetra,unidad)
	}

	if(parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) != 0){
		decena = aChars[8] + aChars[9]
		sEnLetra = decenas(sEnLetra,decena)
	}

	if(parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) != 0){
		centena = aChars[7] + aChars[8] + aChars[9]
		sEnLetra = centenas(sEnLetra,centena)
	}

	if(parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) != 0){
		millar = aChars[6] + aChars[7] + aChars[8] + aChars[9]
		if(parseInt(millar) >= 1000 && parseInt(millar) < 2000){
			sEnLetra += " un "
		}
		sEnLetra = miles(sEnLetra,millar)
	}
	
	if(parseInt(aChars[4]) == 0 && parseInt(aChars[5]) != 0){
		dm = aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9]
		sEnLetra = dMiles(sEnLetra,dm)
	}

	if(parseInt(aChars[4]) != 0){
		cm = aChars[4] + aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9]
		sEnLetra = cMiles(sEnLetra,cm)
	}

	return sEnLetra		
}

//==================================================================================================dmMillones
function dmMillones(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var dm		= sVacio
	var cm		= sVacio
	var aChars	= new Array()
	
	aChars = strToArray(inTxt)
	
	dm = aChars[0] + aChars[1] + aChars[2] + aChars[3] + aChars[4]
	unMillones = true
	sEnLetra = dMiles(sEnLetra, dm)
	unMillones = false
	sEnLetra += " millones "

	if(parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) == 0 && parseInt(aChars[10]) != 0){
		unidad = aChars[10]
		sEnLetra = unidades(sEnLetra,unidad)
	}
	
	if(parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) != 0){
		decena = aChars[9] + aChars[10]
		sEnLetra = decenas(sEnLetra,decena)
	}

	if(parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) != 0){
		centena = aChars[8] + aChars[9] + aChars[10]
		sEnLetra = centenas(sEnLetra,centena)
	}

	if(parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) != 0){
		millar = aChars[7] + aChars[8] + aChars[9] + aChars[10]
		if(parseInt(millar) >= 1000 && parseInt(millar) < 2000){
			sEnLetra += " un "
		}
		sEnLetra = miles(sEnLetra,millar)
	}
	
	if(parseInt(aChars[5]) == 0 && parseInt(aChars[6]) != 0){
		dm = aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10]
		sEnLetra = dMiles(sEnLetra,dm)
	}

	if(parseInt(aChars[5]) != 0){
		cm = aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10]
		sEnLetra = cMiles(sEnLetra,cm)
	}
/*
	if(parseInt(aChars[0]) != 0 && parseInt(aChars[1]) != 0 && parseInt(aChars[2]) != 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) != 0){
		cm = sVacio
		cm = aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10]
		sEnLetra = cMiles(sEnLetra,cm)
	}
*/
	return sEnLetra		
}

//==================================================================================================cmMillones
function cmMillones(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var dm		= sVacio
	var cm		= sVacio
	var aChars	= new Array()
	
	aChars = strToArray(inTxt)
	
	cm = aChars[0] + aChars[1] + aChars[2] + aChars[3] + aChars[4] + aChars[5]
	unMillones = true
	sEnLetra = cMiles(sEnLetra, cm)
	unMillones = false
	sEnLetra += " millones "
	
	if(parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) == 0 && parseInt(aChars[10]) == 0 && parseInt(aChars[11]) != 0){
		unidad = aChars[11]
		sEnLetra = unidades(sEnLetra,unidad)
	}
	
	if(parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) == 0 && parseInt(aChars[10]) != 0){
		decena = aChars[10] + aChars[11]
		sEnLetra = decenas(sEnLetra,decena)
	}

	if(parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) != 0){
		centena = aChars[9] + aChars[10] + aChars[11]
		sEnLetra = centenas(sEnLetra,centena)
	}

	if(parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) != 0){
		millar = aChars[8] + aChars[9] + aChars[10] + aChars[11]
		if(parseInt(millar) >= 1000 && parseInt(millar) < 2000){
			sEnLetra += " un "
		}
		sEnLetra = miles(sEnLetra,millar)
	}
	
	if(parseInt(aChars[6]) == 0 & parseInt(aChars[7]) != 0){
		dm = aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11]
		sEnLetra = dMiles(sEnLetra,dm)
	}

	if(parseInt(aChars[6]) != 0){
		cm = aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11]
		sEnLetra = cMiles(sEnLetra,cm)
	}
	return sEnLetra		
}

//==================================================================================================billón
function billon(sEnLetra,inTxt){
	var unidad	= sVacio
	var decena	= sVacio
	var centena	= sVacio
	var millar  = sVacio
	var dm		= sVacio
	var cm		= sVacio
	var M		= sVacio
	var dM		= sVacio
	var cM		= sVacio
	var mM		= sVacio
	var dmM		= sVacio	
	var cmM		= sVacio
	var aChars	= new Array()
	var usar	= sVacio
	
	aChars = strToArray(inTxt)
			
	unidad = aChars[0]	
	if(parseInt(unidad) > 1){
		if(document.frm.rUsar[0].checked || document.frm.rUsar[0].value == 'si'){
			usar = " billónes "
		}else{
			usar = " millónes de millones "
		}
	}else{
		if(document.frm.rUsar[0].checked || document.frm.rUsar[0].value == 'si'){
			usar = " billón "
		}else{
			usar = " millón de millones "
		}
	}
	un = true
	sEnLetra = unidades(sEnLetra, unidad)
	un = false
	sEnLetra += usar
	
	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) == 0 && parseInt(aChars[10]) == 0 && parseInt(aChars[11]) == 0 && parseInt(aChars[12]) != 0){
		unidad = aChars[12]
		sEnLetra = unidades(sEnLetra, unidad)		
	}
	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) == 0 && parseInt(aChars[10]) == 0 && parseInt(aChars[11]) != 0){
		decena = aChars[11] + aChars[12]
		sEnLetra = decenas(sEnLetra, decena)		
	}

	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) == 0 && parseInt(aChars[10]) != 0){
		centena = aChars[10] + aChars[11] + aChars[12]
		sEnLetra = centenas(sEnLetra, centena)		
	}

	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) == 0 && parseInt(aChars[9]) != 0){
		millar = aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = miles(sEnLetra, millar)		
	}

	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) == 0 && parseInt(aChars[8]) != 0){
		dm = aChars[8] + aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = dMiles(sEnLetra, dm)		
	}

	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) == 0 && parseInt(aChars[7]) != 0){
		cm = aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = cMiles(sEnLetra, cm)		
	}

	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) == 0 && parseInt(aChars[6]) != 0){
		M = aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = millones(sEnLetra, M)		
	}

	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) == 0 && parseInt(aChars[5]) != 0){
		dM = aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = dMillones(sEnLetra, dM)		
	}

	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) == 0 && parseInt(aChars[4]) != 0){
		cM = aChars[4] + aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = cMillones(sEnLetra, cM)		
	}

	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) == 0 && parseInt(aChars[3]) != 0){
		mM = aChars[3] + aChars[4] + aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = mMillones(sEnLetra, mM)		
	}
	
	if(parseInt(aChars[1]) == 0 && parseInt(aChars[2]) != 0){
		dmM = aChars[2] + aChars[3] + aChars[4] + aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = dmMillones(sEnLetra, dmM)		
	}

	if(parseInt(aChars[1]) != 0){
		cmM = aChars[1] + aChars[2] + aChars[3] + aChars[4] + aChars[5] + aChars[6] + aChars[7] + aChars[8] + aChars[9] + aChars[10] + aChars[11] + aChars[12]
		sEnLetra = cmMillones(sEnLetra, cmM)		
	}

	return sEnLetra		
}
//==================================================================================================longitud
function longTxtCantidad(t){
	document.frm.txtNumChars.value = t.value.length
}

function longEnteros(t){	
	document.frm.txtNumDigEnteros.value = parteEntera(formatoCantidad(t.value)).length
	if(parteEntera(formatoCantidad(t.value)).length > maxLen){
		alert("Sólo acepta hasta " + maxLen + " dígitos en la parte entera")
		document.frm.txtCantidad.value = t.value.substring(0,maxLen)
		document.frm.txtNumDigEnteros.value = t.value.substring(0,t.value.indexOf(','))
		document.frm.txtNumChars.value = t.value.length
		document.frm.txtCantidad.focus()
		return
	}
}

function longDecimales(t){	
	if(parteDecimal(t.value) == sVacio){
		document.frm.txtNumDigDecimales.value = 0
	}else{
		document.frm.txtNumDigDecimales.value = parteDecimal(t.value).length
	}
	if(parteDecimal(formatoCantidad(t.value)).length > 2){
		alert("Sólo acepta hasta 2 dígitos en la parte decimal")		
		document.frm.txtCantidad.value = t.value.substring(0,t.value.indexOf(',')) + t.value.substring(t.value.indexOf(','),t.value.length-1)
		document.frm.txtNumDigDecimales.value = parteDecimal(t.value).length
		document.frm.txtNumChars.value = t.value.length
		document.frm.txtCantidad.focus()
		return
	}
}


//......................................................................................................
//......................................................................................................
//......................................................................................................


//==================================================================================================test
function test(txtValIni,txtValFin,txtInc){
	var r = sVacio
	var nNumDecValIni = txtValIni.substring(txtValIni.indexOf(',')+1)
	
	if(txtValIni == '' || txtValFin == '' || txtInc == ''){
		alert("Valor Inicial, Valor Final e Incremento son obligatorios")
		return false
	}
	
	if(txtValIni > txtValFin){
		alert("Valor Inicial no puede se mayor a Valor Final")
		document.frm.txtValIni.focus()
		return false
	}	

	if(nNumDecValIni == ""){
		nNumDecValIni = 0
	}else{
		nNumDecValIni = nNumDecValIni.length
	}

	var nNumDecValFin = txtValFin.substring(txtValFin.indexOf(',')+1)
	if(nNumDecValFin == ""){
		nNumDecValFin = 0
	}else{
		nNumDecValFin = nNumDecValFin.length
	}
	
	var nNumDec = txtInc.substring(txtInc.indexOf(',')+1)
	if(nNumDec == ""){
		nNumDec = 0
	}else{
		nNumDec = nNumDec.length
	}

	for(var i = parseFloat(decimales(txtValIni,nNumDecValIni)); i <= parseFloat(decimales(txtValFin,nNumDecValFin)) + parseFloat(txtInc); i += parseFloat(txtInc)){
		if((i%10) != 0){
			r += "<font style='font-family: Verdana; font-size: 11px; color: white'>" + main(decimales(i,nNumDec).toString(),false) + '</font><br>'
		}else{
			r += "<b style='font-family: Verdana; font-size: 11px; color: navy'>"+ main(decimales(i,nNumDec).toString(),false) + '</b>' + '<br>' 
		}
	}

	txtValIni = separadores(parteEntera(txtValIni)) + '.' + separadores(parteDecimal(txtValIni))
	txtValFin = separadores(parteEntera(txtValFin)) + '.' + separadores(parteDecimal(txtValFin))
	txtInc = separadores(parteEntera(txtInc)) + '.' + separadores(parteDecimal(txtInc))
	
	r = "<p align=right>Comenzar en : <font style=color:yellow>" + txtValIni + "</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Terminar en : <font style=color:yellow>" + txtValFin + "</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Incremento : <font style=color:yellow>" + txtInc + "</font></p>" + r
	document.write('<body bgcolor=#6699CC>' + r)
}
//==================================================================================================decimales
function decimales(nValor, nDecimales){
	if(nDecimales >= 0){
		var x = parseFloat(nValor);
		x = x * Math.pow(10, nDecimales);
		x = Math.round(x);
		x = x / Math.pow(10, nDecimales);
		return x
	}else{
		return nValor
	}
}

function start(){
	//document.frm.txtCantidad.focus();
	init();
	document.frm.numRef.focus();
}
window.onload = start;
