﻿var units = new Array('', 'един', 'два', 'три', 'четири', 'пет', 'шест', 'седем', 'осем', 'девет', 'десет');
var firsts = new Array('', 'еди', 'два', 'три', 'четири', 'пет', 'шест', 'седем', 'осем', 'девет');
var bigs = new Array('', 'сто', 'двеста', 'триста');
var stots = new Array('', 'една', 'две', 'три', 'четири', 'пет', 'шест', 'седем', 'осем', 'девет', 'десет');
function getLV(d, l){
if (d == 0) return '';
var r;
var len = d.toString().length;
if (d < 11) r = units[d]
else if(d < 20) r = firsts[d % 10] + 'надесет'
else{
	var f = d / Math.pow(10, len - 1);
	f = Math.round(f - 0.5);
	var s = d % (Math.pow(10, len - 1));
	switch (len) {
		case 2:
			r = units[f] + 'десет';
			if (s != 0){
				if(l == 0){
					r = r + ' и ' + units[s];
				}else if(l == 1){
					r = r + ' и ';
					r = r + units[s];
					l = 0;
				}else if(l > 1){
					r = r + ' и ';
					r = r + stots[s];
				}
			}
			break;
		case 3:
			if (f > 3) r = units[f] + 'стотин'
			else r = bigs[f];
			if (s > 0){
				if ((s < 21) || ((s % 10) == 0)) r = r + ' и ' + getLV(s, 0)
				else r = r + ' ' + getLV(s, 0);
			}
			break;
		case 4:
			if (f > 1) r = getLV(f, 1) + ' хиляди '
			else if(f == 1) r = ' хиляда ';
			if ((s > 0) && (((s % 100)==0) || (s < 99))) r = r + 'и ';
			r = r + getLV(s, 0);
			break;
		case 5:
			f = Math.round(d / 1000 - 0.5);
			s = d % 1000;
			r = getLV(f, 2) + ' хиляди ';
			if((s > 0) && (((s % 100)==0) || (s < 99))) r = r + 'и ';
			r = r + getLV(s, 0);
			break;
		case 6:
			f = Math.round(d / 1000 - 0.5);
			s = d % 1000;
			r = getLV(f, 2) + ' хиляди ';
			if((s > 0)&&(((s % 100)==0) || (s < 99))) r = r + 'и ';
			r = r + getLV(s, 0);
			break;
		case 7:
			if (f > 1) r = getLV(f, 0) + ' милиона '
			else if(f == 1) r = getLV(f, 0) + ' милион ';
			if ((s > 0)&&(((s % 100000)==0) || (s < 99))) r = r + ' и ';
			r = r + getLV(s, 0);
			break;
	}
}
return r;
}

function getWord(value){
var lv, st, result;
value = new String(value);
var pIndex = value.indexOf('.');
if (pIndex == -1){
	lv = new Number(value);
	st = 0;
}else{
	lv = new Number(value.substring(0, pIndex));
	st = new Number(value.substring(pIndex+1));
}
result = getLV(lv, 0);
if (result != '') result = result + ' лв.' + ' и '+ st + ' ст.'
else{
	if (st != 0) result = st + ' ст.'
	else result = 'нула лв. и 00 ст.';
}
return result;
}