var n = "";
function validatenumberforwords(input)
{
	var inputenter=(input);
	if (inputenter.length == 0 || isNaN(inputenter) || inputenter.indexOf('.')!=-1)
	{
		return "Please enter a valid number.";
	}
	else
	{
		//alert(convert(inputenter));
		return convert(inputenter);
	}
}

function d1(x)
{
//alert("D1=  "+x);
	switch(x)
	{
	case '0': n= ""; break;
	case '1': n= " One "; break;
	case '2': n= " Two "; break;
	case '3': n= " Three "; break;
	case '4': n= " Four "; break;
	case '5': n= " Five "; break;
	case '6': n= " Six "; break;
	case '7': n= " Seven "; break;
	case '8': n= " Eight "; break;
	case '9': n= " Nine "; break;
	default: n = "Invalid";
	}
return n;
}

function d2(x)
{
//alert("D2=  "+x);
	switch(x)
	{
	case '0': n= ""; break;
	case '1': n= "Ten"; break;
	case '2': n= " Twenty "; break;
	case '3': n= " Thirty "; break;
	case '4': n= " Forty "; break;
	case '5': n= " Fifty "; break;
	case '6': n= " Sixty "; break;
	case '7': n= " Seventy "; break;
	case '8': n= " Eighty "; break;
	case '9': n= " Ninety "; break;
	default: n = "Invalid";
	}
return n;
}

function d3(x)
{
//alert("D3=  "+x);
	switch(eval(x))
	{
	case 0 : n= " Ten "; break;
	case 1 : n= " Eleven "; break;
	case 2 : n= " Twelve "; break;
	case 3 : n= " Thirteen "; break;
	case 4 : n= " Fourteen "; break;
	case 5 : n= " Fifteen "; break;
	case 6 : n= " Sixteen "; break;
	case 7 : n= " Seventeen "; break;
	case 8 : n= " Eighteen "; break;
	case 9 : n= " Nineteen "; break;
	case 10 : n= " Ten "; break;
	case 11 : n= " Eleven "; break;
	case 12 : n= " Twelve "; break;
	case 13 : n= " Thirteen "; break;
	case 14 : n= " Fourteen "; break;
	case 15 : n= " Fifteen "; break;
	case 16 : n= " Sixteen "; break;
	case 17 : n= " Seventeen "; break;
	case 18 : n= " Eighteen "; break;
	case 19 : n= " Nineteen "; break;
	default: n=  "Invalid";
	}
return n;
}

function currency(x)
{
//alert("CURRENY=  "+x);
	switch(x)
	{
	case '3': n= " Hundred "; break;
	case '4': n= " Thousand "; break;
	case '5': n= " Thousand "; break;
	case '6': n= " Lacs "; break;
	case '7': n= " Lacs "; break;
	case '8': n= " Crore "; break;
	case '9': n= " Crore "; break;
	default: n=  "Invalid";
	}
return n;
}


function convert(input)
{
	var inputlength = input.length;
	digit = new Array(inputlength);
	for(i=0;i<inputlength;i++)
	{
		digit[inputlength-i]=input.charAt(i);
	}
	var carryforward='';
	var str_display='';
	switch(inputlength)
	{
		case 1:
			str_display=d1(digit[1]);
			break;
		case 2:
		    if(eval(digit[2]+digit[1])<20)
			{
				str_display=d3(eval(digit[2]+digit[1]));
			}
			else
			{
				str_display=d2(digit[2])+d1(digit[1]);
			}
			break;
		case 3:
			myval='';
			str_display='';
			if(eval(digit[2]+digit[1])>20)
				myval=d2(digit[2])+d1(digit[1]);
			else if(eval(digit[2]+digit[1])<=9)
				myval=d1(digit[1]);
			else if(eval(digit[2]+digit[1])>9 && eval(digit[2]+digit[1])%10==0)
				myval=d2(digit[2]);
			else if(eval(digit[2]+digit[1])>9 && eval(digit[2]+digit[1])<20)
				myval=d3(digit[1]);

			andvariable='';
			if(eval(digit[2]+digit[1])>1) andvariable=' And ';
			if(d1(digit[3])!='') str_display=str_display+d1(digit[3])+currency('3')+andvariable;
			if(myval!='') str_display=str_display+myval;
			break;
		case 4:
			andvariable='';
			if(eval(digit[2]+digit[1])>1 && input>eval(digit[2]+digit[1])) andvariable=' And ';
			str_display='';
			if(d1(digit[4])!='') str_display=str_display+d1(digit[4])+currency('4');
			if(d1(digit[3])!='') str_display=str_display+d1(digit[3])+currency('3');
			str_display=str_display+andvariable+d2(digit[2])+d1(digit[1]);
			break;
		case 5:
			andvariable='';
			if(eval(digit[2]+digit[1])>1  && input>eval(digit[2]+digit[1])) andvariable=' And ';
			carryforward='';
			if(eval(digit[5])>1 && eval(digit[4]+digit[5])%10==0)
			{
				carryforward=d2(eval(digit[5]));
			}
			else if(eval(digit[5])==1)
			{
				carryforward=d3(eval(digit[4]));
			}
			else
			{
				carryforward=d2(digit[5])+d1(digit[4]);
			}
			if(carryforward!='') str_display=carryforward+currency('4');
			if(d1(digit[3])!='') str_display=str_display+d1(digit[3])+currency('3');
			str_display=str_display+andvariable+d2(digit[2])+d1(digit[1]);
			break;
		case 6:
			andvariable='';
			if(eval(digit[2]+digit[1])>1  && input>eval(digit[2]+digit[1])) andvariable=' And ';
			carryforward='';
			if(eval(digit[6])>1 && eval(digit[5]+digit[6])%10==0)
			{
				carryforward=carryforward+d2(eval(digit[6]));
			}
			else if(eval(digit[6])<=9 && eval(digit[6])>0)
			{
				carryforward=carryforward+d1(digit[6]);
			}
			else
			{
				carryforward=carryforward+d1(digit[6]);
			}
			if( carryforward!='') carryforward=carryforward+currency('6');

			carryforward_thausand='';
			strarr_thau='';
			strarr_thau=digit[5]+digit[4];
			if(eval(digit[5])>1 && eval(digit[4]+digit[5])%10==0)
			{
				carryforward_thausand=carryforward_thausand+d2(digit[5]);
			}
			else if(eval(digit[5])==1)
			{
				carryforward_thausand=carryforward_thausand+d3(digit[4]);
			}
			else if(eval(strarr_thau)<=9)
			{
				carryforward_thausand=carryforward_thausand+d1(digit[4]);
			}
			else if(eval(strarr_thau)>9 && eval(strarr_thau)<20)
			{
				carryforward_thausand=carryforward_thausand+d3(digit[4]);
			}
			else
			{
				carryforward_thausand=carryforward_thausand+d2(digit[5])+d1(digit[4]);
			}
			current='';
			if(carryforward_thausand!='') current=carryforward_thausand+currency('4');
			str_display=carryforward+current;
			if(d1(digit[3])!='') str_display=str_display+d1(digit[3])+currency('3');
			str_display=str_display+andvariable+d2(digit[2])+d1(digit[1]);
			break;
		case 7:
			andvariable='';
			if(eval(digit[2]+digit[1])>1  && input>eval(digit[2]+digit[1])) andvariable=' And ';
			carryforward='';
			strarr='';
			strarr=digit[7]+digit[6];
			if(eval(digit[7])>1 && eval(digit[6]+digit[7])%10==0)
			{
				carryforward=carryforward+d2(eval(digit[7]));
			}
			else if(eval(digit[7])==1)
			{
				carryforward=carryforward+d3(eval(digit[6]));
			}
			else if(eval(strarr)>20)
			{
				carryforward=carryforward+d2(digit[7])+d1(digit[6]);
			}
			else
			{
				carryforward=carryforward+d1(digit[7]);
			}
			if(carryforward!='') carryforward=carryforward+currency('6');

			carryforward_thausand='';
			if(eval(digit[5])>1 && eval(digit[4]+digit[5])%10==0)
			{
				carryforward_thausand=d2(eval(digit[5]));
			}
			else if(eval(digit[5])==1)
			{
				carryforward_thausand=d3(eval(digit[4]));
			}
			else
			{
				carryforward_thausand=d2(digit[5])+d1(digit[4]);
			}
			if(carryforward_thausand!='') carryforward_thausand=carryforward_thausand+currency('4');
			str_display=carryforward+carryforward_thausand;
			if(d1(digit[3])!='') str_display=str_display+d1(digit[3])+currency('3');
			str_display=str_display+andvariable+d2(digit[2])+d1(digit[1]);
			break;
		case 8:
			andvariable='';
			if(eval(digit[2]+digit[1])>1  && input>eval(digit[2]+digit[1])) andvariable=' And ';
			carryforward='';
			if(eval(digit[8])>0)
			{
				carryforward=carryforward+d1(digit[8]);
			}
			if(carryforward!='')	carryforward=carryforward+currency('8');

			/*--------------------------*/
			strarr_lac='';
			strarr_lac=digit[7]+digit[6];
			carryforward_lac='';
			if(eval(digit[7])>1 && eval(digit[6]+digit[7])%10==0)
			{
				carryforward_lac=d2(eval(digit[7]));
			}
			else if(eval(digit[7])==1)
			{
				carryforward_lac=d3(eval(digit[6]));
			}
			else if(eval(strarr_lac)>20)
			{
				carryforward_lac=d2(digit[7])+d1(digit[6]);
			}
			else if(eval(strarr_lac)<=9)
			{
				carryforward_lac=d1(digit[6]);
			}
			else if(eval(strarr_lac)>9 && eval(strarr_lac)<20)
			{
				carryforward_lac=d3(digit[7]);
			}
			else
			{
				carryforward_lac=d1(digit[7]);
			}
			if(carryforward_lac!='') carryforward_lac=carryforward_lac+currency('6');
			carryforward=carryforward+carryforward_lac;
			/*--------------------------*/

			carryforward_thausand='';
			if(eval(digit[5])>1 && eval(digit[4]+digit[5])%10==0)
			{
				carryforward_thausand=d2(eval(digit[5]));
			}
			else if(eval(digit[5])==1)
			{
				carryforward_thausand=d3(eval(digit[4]));
			}
			else
			{
				carryforward_thausand=d2(digit[5])+d1(digit[4]);
			}
			if(carryforward_thausand!='') carryforward_thausand=carryforward_thausand+currency('4');
			str_display=carryforward+carryforward_thausand;
			if(d1(digit[3])!='') str_display=str_display+d1(digit[3])+currency('3');
			str_display=str_display+andvariable+d2(digit[2])+d1(digit[1]);
			break;
		case 9:
			andvariable='';
			if(eval(digit[2]+digit[1])>1  && input>eval(digit[2]+digit[1])) andvariable=' And ';
			carryforward='';
			strarr_crore='';
			strarr_crore=digit[9]+digit[8];
			if(eval(digit[9])>1 && eval(strarr_crore)%10==0)
			{
				carryforward=carryforward+d2(digit[9]);
			}
			else if(eval(strarr_crore)>20)
			{
				carryforward=carryforward+d2(digit[9])+d1(digit[8]);
			}
			else if(eval(digit[9])==1 && eval(strarr_crore)<=9)
			{
				carryforward=carryforward+d1(digit[9]);
			}
			else if(eval(strarr_crore)>9 && eval(strarr_crore)<20)
			{
				carryforward=carryforward+d3(digit[8]);
			}
			else
			{
				carryforward=carryforward+d1(digit[9]);
			}
			if(carryforward!='') carryforward=carryforward+currency('9');

			/*--------------------------*/
			strarr_lac='';
			strarr_lac=digit[7]+digit[6];
			carryforward_lac='';
			if(eval(digit[7])>1 && eval(digit[6]+digit[7])%10==0)
			{
				carryforward_lac=d2(eval(digit[7]));
			}
			else if(eval(digit[7])==1)
			{
				carryforward_lac=d3(eval(digit[6]));
			}
			else if(eval(strarr_lac)>20)
			{
				carryforward_lac=d2(digit[7])+d1(digit[6]);
			}
			else if(eval(strarr_lac)<=9)
			{
				carryforward_lac=d1(digit[6]);
			}
			else if(eval(strarr_lac)>9 && eval(strarr_lac)<20)
			{
				carryforward_lac=d3(digit[6]);
			}
			else
			{
				carryforward_lac=d1(digit[7]);
			}
			if(carryforward_lac!='') carryforward_lac=carryforward_lac+currency('6');
			carryforward=carryforward+carryforward_lac;
			/*--------------------------*/

			carryforward_thausand='';
			if(eval(digit[5])>1 && eval(digit[4]+digit[5])%10==0)
			{
				carryforward_thausand=d2(eval(digit[5]));
			}
			else if(eval(digit[5])==1)
			{
				carryforward_thausand=d3(eval(digit[4]));
			}
			else
			{
				carryforward_thausand=d2(digit[5])+d1(digit[4]);
			}
			if(carryforward_thausand!='') carryforward_thausand=carryforward_thausand+currency('4');
			str_display=carryforward+carryforward_thausand;
			if(d1(digit[3])!='') str_display=str_display+d1(digit[3])+currency('3');
			str_display=str_display+andvariable+d2(digit[2])+d1(digit[1]);
			break;
		default:
			return "Invalid Entry/Too Long";
	}

	return str_display;
}