n2a.format = {
	clean : function(str){
		str = this.trim(str);
		str = str.replace(/\s{2,}/gi," ");
		return str;
	},
	trim : function(str){
	    str = str.replace(/^\s+/,'');
	    str = str.replace(/\s+$/,'');
	    return str;
	},
	format_currency : function(n){
		var separa = (n+"").split(".");
		var inum = separa[0];
		var centavos = (separa.length > 1)?Number(separa[1]):0;
		if(centavos > 0){
			centavos = Number("0."+centavos);
			var tmpcent = (Math.round(centavos*100))/100;
			tmpnum = (Number(inum)+tmpcent)+"";
			separa = (tmpnum+"").split(".");
			inum = separa[0];
			centavos = (separa.length > 1)?Number(separa[1]):0;
		}
		var s = [];
		var contador = 1;
		for(var i=inum.length-1;i>=0;i--){
			s.push(inum.charAt(i));
			if(contador%3==0 && contador > 0 && i > 0){
				s.push(",");
			}
			contador++
		}
		s.reverse();
		centavos = (Number(centavos)<10)?centavos+"0":centavos;
		return s.join("")+"."+centavos;
	},
	num2word : function(n){
		var separa = (n+"").split(".");
		var centavos = "00";
		if(separa.length == 2){
			n = separa[0];
			centavos = separa[1]
		}
		uni = new Array("","UN","DOS","TRES","CUATRO","CINCO","SEIS","SIETE","OCHO","NUEVE","DIEZ","ONCE","DOCE","TRECE","CATORCE","QUINCE");
		dec = new Array("","","","TREINTA","CUARENTA","CINCUENTA","SESENTA","SETENTA","OCHENTA","NOVENTA");
		largo = n.length;
		var Num = "                  ";
		var a = Num.substr(0,18-largo);
		a = a + n;
		largo = a.length;
		var i = 1;
		var z = "";
		while (i) {
			var k = a.substr(17 - (i * 3 - 1), 3);
			if (k == "   "){
				break;
			}
			var c = Number(k.substr(0,1));
			var d = Number(k.substr(1,1));
			var u = Number(k.substr(2,1));
			var v = Number(k.substr(1,2));

			 if (i > 1){
				  if (((i == 2) || (i == 4)) && (k > 0)){
					 z = " MIL " + z;
				  }
				  if ((i == 3) && (a.substr(6,6) > 0)){
					 if (k == 1){
						z = " MILLON " + z
					 }else{
						z = " MILLONES " + z
					 }
				  }
				  if ((i == 5) && (k > 0)){
					 if (k == 1) {
						z = " BILLON " + z
					 }else{
						z = " BILLONES " + z
					 }
				  }
			   }

			   if (v > 0) {
					if ((v > 0) && (v < 15)){
						z = uni[v] + z;
					}else if ((v > 16) && (v < 19)){
						z = " DIECI" + uni[u] + z;
					}else if (v == 20){			
						z = " VEINTE " + z;
					}else if ((v > 21) && (v < 29)){
						z = " VEINTI" + uni[u] + z;		
					}else{
						  if (u == 0) {
							z = dec[d] + z
						  }else{
							z = dec[d] + " Y " + uni[u] + z
						  }
					}		
				}
			   if (c > 0){
				  if (c == 1){
					 if (v == 0){
						z = " CIEN " + z
					 }else{
						z = " CIENTO " + z
					 }
				  }
				  if ((c == 2) || (c == 3) || (c == 4) || (c == 6) || (c == 8)) {
					 z = uni[c] + "CIENTOS " + z
				  }
				  if (c == 5) {
					 z = " QUINIENTOS " + z
				  }
				  if (c == 7) {
					 z = " SETECIENTOS " + z
				  }
				  if (c == 9) {
					 z = " NOVECIENTOS " + z
				  }
			   }
			i++;
		}
		z = this.clean(z);
		return{
			"int":z,
			"decimal":centavos
		}
	}
}
