
function terbilang(obj, divId) {
	var bilangan = parseFloat(obj.value);
	bilangan    = String(bilangan);
	var angka   = new Array('0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0');
	var kata    = new Array('','Satu','Dua','Tiga','Empat','Lima','Enam','Tujuh','Delapan','Sembilan');
	var tingkat = new Array('','Ribu','Juta','Milyar','Triliun');

	var panjang_bilangan = bilangan.length;

	/* pengujian panjang bilangan */
	if (panjang_bilangan > 15) {
		kaLimat = "Diluar Batas";
		return kaLimat;
	}

	/* mengambil angka-angka yang ada dalam bilangan, dimasukkan ke dalam array */
	for (i = 1; i <= panjang_bilangan; i++) {
		angka[i] = bilangan.substr(-(i),1);
	}

	i = 1;
	j = 0;
	kaLimat = "";


	/* mulai proses iterasi terhadap array angka */
	while (i <= panjang_bilangan) {

		subkaLimat = "";
		kata1 = "";
		kata2 = "";
		kata3 = "";

		/* untuk Ratusan */
		if (angka[i+2] != "0") {
		  if (angka[i+2] == "1") {
			kata1 = "Seratus";
		  } else {
			kata1 = kata[angka[i+2]] + " Ratus";
		  }
		}

		/* untuk Puluhan atau Belasan */
		if (angka[i+1] != "0") {
		  if (angka[i+1] == "1") {
			if (angka[i] == "0") {
			  kata2 = "Sepuluh";
			} else if (angka[i] == "1") {
			  kata2 = "Sebelas";
			} else {
			  kata2 = kata[angka[i]] + " Belas";
			}
		  } else {
			kata2 = kata[angka[i+1]] + " Puluh";
		  }
		}

		/* untuk Satuan */
		if (angka[i] != "0") {
		  if (angka[i+1] != "1") {
			kata3 = kata[angka[i]];
		  }
		}

		/* pengujian angka apakah tidak nol semua, lalu ditambahkan tingkat */
		if ((angka[i] != "0") || (angka[i+1] != "0") || (angka[i+2] != "0")) {
		  subkaLimat = kata1+" "+kata2+" "+kata3+" "+tingkat[j]+" ";
		}

		/* gabungkan variabe sub kaLimat (untuk Satu blok 3 angka) ke variabel kaLimat */
		kaLimat = subkaLimat + kaLimat;
		i = i + 3;
		j = j + 1;

	  }

	  /* mengganti Satu Ribu jadi Seribu jika diperlukan */
	  if ((angka[5] == "0") && (angka[6] == "0")) {
		kaLimat = kaLimat.replace("Satu Ribu","Seribu");
	  }

	  //return kaLimat + "Rupiah";
	  
	  if(typeof(kaLimat) == 'undefined' || kaLimat =='') return false;
	  if(!divId && document.getElementById(obj.id + '_terbilang')) {
		document.getElementById(obj.id + '_terbilang').innerHTML = kaLimat + "Rupiah";
	  } else if(divId) {
		document.getElementById(divId).innerHTML = kaLimat + "Rupiah";
	  } else {
		alert("Hasil : " + kaLimat + " \nAda 2 pilihan : \n1. Membuat elemen dengan ID = " + obj.id + "_terbilang, atau\n2. Membuat elemen dengan ID=Id_Elemen, lalu memanggil fungsi ini dengan terbilang(this, 'Id_Elemen')");
	  }
	  
	  /*
	  var elem = document.createElement('div');
	  elem.setAttribute("style","font-style:italic");
	  var txt = document.createTextNode(kaLimat + "Rupiah");
	  elem.appendChild(txt);
	  document.body.appendChild(elem);
	  */
}