/* Display Numbers into English Word */

function words(field,numid,wordid){
	
		var rupees = "Rs.";
		var after ="";
		var objval = document.getElementById(field).value;	
		
		if(objval && objval!=0){
			var result = numtoword(objval);
			if(result != 'undefined'){
				if(result!=""){
					result = rupees + " " + result + " " + after;
					formnum = formattednum(objval);
					document.getElementById(numid).style.display="block";
					document.getElementById(wordid).style.display="block";
					document.getElementById(numid).innerHTML=formnum;
					document.getElementById(wordid).innerHTML=result;
				}
				
			}else{
					document.getElementById(numid).style.display="none";
					document.getElementById(wordid).style.display="none";
					document.getElementById(numid).innerHTML="";
					document.getElementById(wordid).innerHTML="";
			}
			
		}else{
				document.getElementById(numid).style.display="none";
				document.getElementById(wordid).style.display="none";
				document.getElementById(numid).innerHTML="";
				document.getElementById(wordid).innerHTML="";
		}
}

/* sep  */

function numtoword(num)
{
	try
	{
		var num = roundamt(num);
		var result = convertCrores(num);
		return result;
	}
	catch (ex)
	{
		
	}
}


function convertCrores(num)
{
	try
	{
		var result;
		if (num < 1000000000)
		{
			if (num/10000000 >= 1)
			{
				result = convertTens(num/10000000) + " crore";
				if (num < 100000000)
				{
					var crores = String(num)+" ";
					crores = crores.slice(1,-1);
					
					result = result + convertLakhs(crores);
				}else{
					var crores = String(num)+" ";
					crores = crores.slice(2,-1);
					
					result = result + convertLakhs(crores);
				}
			}else{
				result = convertLakhs(num);
			}
		}else{
			
		}
		return String(result);
	}
	catch (ex)
	{
		
	}
}

/* sep  */

function convertLakhs(num)
{
	
	try
	{
		var result;
		if (num < 10000000)
		{
			
			if (num/100000 >= 1)
			{
				
				result = convertTens(num/100000) + " lakh";
				if (num < 1000000)
				{
					
					var lakhs = String(num)+" ";
					lakhs = lakhs.slice(1,-1);
					result = result + convertThousand(lakhs%100000);
				}else{
				
					var lakhs = String(num)+" ";
					lakhs = lakhs.slice(2,-1);
					result = result + convertThousand(lakhs%1000000);
				}
			}else{
				if (num < 100000)
				{
					result = convertThousand(num%100000);
				}else{
					result = convertThousand(num%1000000);
					
				}
				
			}
		}
		return String(result);
	}
	catch (ex)
	{
		
	}
}

function convertThousand(num)
{
	
	try
	{
		var result;
		
		if (num < 100000)
		{
			if (num/1000 >= 1)
			{
				result = convertTens(num/1000) + " thousand";
				if (num < 10000)
				{
					var thousands = String(num)+" ";
					thousands = thousands.slice(1,-1);
					result = result + convertHundred(thousands%1000);
				}else{
					var thousands = String(num)+" ";
					thousands = thousands.slice(2,-1);
					result = result + convertHundred(thousands%10000);
				}
			}else{
				if (num < 1000)
				{
					result = convertHundred(num%1000);
				}else{
					result = convertHundred(num%10000);
					
				}
			}
		}else{
		}
		return String(result);
	}
	catch (ex)
	{
	}
}

function convertHundred(num)
{
	
	try
	{
		var result;
		if (num < 1000)
		{
			if (num/100 >= 1)
			{
				result = convertDigit(num/100) + " hundred";
				var tens = String(num)+" ";
				tens = tens.slice(1,-1);
				
				result = result + convertTwoDigits(tens);
			}else{
				
				result = convertTwoDigits(num);
			}
		}else{

		}
		return result;
	}
	catch (ex)
	{

	}
}

function convertTwoDigits(num)
{
	
	try
	{
		var result;
		if (num < 100)
		{
			if (num >= 10)
			{
				result = convertTens(num) + " ";
				var tens1 = String(num)+" ";
				tens1 = tens1.slice(3,-1);
				result = result + convertDecimals(tens1);
			}else{
				result = convertTens(num) + " ";
				var tens2 = String(num)+" ";
				tens2 = tens2.slice(2,-1);
				result = result + convertDecimals(tens2);
			}
		}else{

		}
		return result;
	}
	catch (ex)
	{

	}
}

function convertTens(num)
{
	
	try
	{
		 var tens;
		 if (num < 100)
		 {
			 if (num >= 10)
			 {
				if (num >= 10 && num <= 19)
				{
					if (num >= 10 && num < 11)
					{
						tens = " ten";
					}
					else if (num >= 11 && num < 12)
					{
						tens = " eleven";
					}
					else if (num >= 12 && num < 13)
					{
						tens = " twelve";
					}
					else if (num >= 13 && num < 14)
					{
						tens = " thirteen";
					}
					else if (num >= 14 && num < 15)
					{
						tens = " fourteen";
					}
					else if (num >= 15 && num < 16)
					{
						tens = " fifteen";
					}
					else if (num >= 16 && num < 17)
					{
						tens = " sixteen";
					}
					else if (num >= 17 && num < 18)
					{
						tens = " seventeen";
					}
					else if (num >= 18 && num < 19)
					{
						tens = " eighteen";
					}
					else if (num >= 19 && num < 20)
					{
						tens = " nineteen";
					}
					
				}
				else
				{
					var digitAtTen;
					digitAtTen = num/10;

					if (digitAtTen >= 2 && digitAtTen < 3)
					{
						tens = " twenty";
					}
					else if (digitAtTen >= 3 && digitAtTen < 4)
					{
						tens = " thirty";
					}
					else if (digitAtTen >= 4 && digitAtTen < 5)
					{
						tens = " forty";
					}
					else if (digitAtTen >= 5 && digitAtTen < 6)
					{
						tens = " fifty";
					}
					else if (digitAtTen >= 6 && digitAtTen < 7)
					{
						tens = " sixty";
					}
					else if (digitAtTen >= 7 && digitAtTen < 8)
					{
						tens = " seventy";
					}
					else if (digitAtTen >= 8 && digitAtTen < 9)
					{
						tens = " eighty";
					}
					else if (digitAtTen >= 9)
					{
						tens = " ninety";
					}
					else if (digitAtTen >= 0)
					{
						tens = ""; 
					}
					tens = tens +""+ convertDigit(num % 10);
				}
			 }else{
				tens = convertDigit(num);
			 }
		 }else{

		 }
		 return tens;
	}
	catch (ex)
	{

	}
}

function convertDigit(num)
{
	try
	{
		var digits
			if (num >= 0 && num < 1)
			{
				digits = "";
			}
			else if (num >= 1 && num < 2)
			{
				digits = " one";
			}
			else if (num >= 2 && num < 3)
			{
				digits = " two";
			}
			else if (num >= 3 && num < 4)
			{
				digits = " three";
			}
			else if (num >= 4 && num < 5)
			{
				digits = " four";
			}
			else if (num >= 5 && num < 6)
			{
				digits = " five";
			}
			else if (num >= 6 && num < 7)
			{
				digits = " six";
			}
			else if (num >= 7 && num < 8)
			{
				digits = " seven";
			}
			else if (num >= 8 && num < 9)
			{
				digits = " eight";
			}
			else if (num >= 9 && num < 20)
			{
				digits = " nine";
			}
		return digits;
	}
	catch (ex)
	{

	}
}

function convertDecimals(num)
{
	try
	{
		var result;
		if (num != '00')
		{
			result="";
		}else{
			result = "";

		}
		return result;
	}
	catch (ex)
	{

	}
}


function roundamt(act_num)
{
	var decimals = 2;
	var result1 = act_num * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return result3.toString();
    
}
function pad_with_zeros(roundval, dec_points) {

    var value_string = roundval.toString()
    
    var dec_loc = value_string.indexOf(".")

    if (dec_loc == -1) {
        
       dec_len = 0
        
       value_string += dec_points > 0 ? "." : ""
    }
    else {

        dec_len = value_string.length - dec_loc - 1
    }
    
    var pad_total = dec_points - dec_len
    
    if (pad_total > 0) {
        
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
    return value_string
}

function makeComma(inputNo){
		if(inputNo.length <=2){return inputNo;}
		length1 = inputNo.substr(0,(inputNo.length-2));
		formattedInput = makeComma(length1) + ',' + inputNo.substring(inputNo.length-2,inputNo.length);
		return formattedInput;
	}
	function formattednum(objval){
		objval = roundamt(objval);
		
		num = objval
		if(num.length >3 && num.length <= 12){
			var last3Digits = num.substring(num.length-3,num.length);
			var numExceptLastDigits =num.substring(0,num.length-3) 
			var formatted = makeComma(numExceptLastDigits);
			formatted = "Rs. " + formatted + "," + last3Digits ;
			return formatted;
		}
		return "Rs. " + num;
		
		
	}
	

function AnnualIncome(field,numid,wordid,annuallabel)
{
	
		var rupees = "Rs.";
		var after =".";
		var objval = document.getElementById(field).value;		
		if(objval && objval!=0){
			objval = objval * 12;
			var result = numtoword(objval);
			if(result != 'undefined'){
				if(result!=""){
					result = rupees + " " + result + " " + after;
					formnum = formattednum(objval);
					document.getElementById(numid).style.display="block";
					document.getElementById(wordid).style.display="block";
					document.getElementById(numid).innerHTML=formnum;
					document.getElementById(wordid).innerHTML=result;
					document.getElementById(annuallabel).style.display="block";					
				}
				
			}else{
					document.getElementById(numid).style.display="none";
					document.getElementById(wordid).style.display="none";
					document.getElementById(numid).innerHTML="";
					document.getElementById(wordid).innerHTML="";
			}
			
		}else{
				document.getElementById(numid).style.display="none";
				document.getElementById(wordid).style.display="none";
				document.getElementById(numid).innerHTML="";
				document.getElementById(wordid).innerHTML="";
		}
}

/* Displaying the month and year */
function words1(field,numid)
{
	var period_laon = document.getElementById(field).value;
	if(!isNaN(period_laon))
	{
		var year=Math.floor(period_laon/12);
		var months=(period_laon%12);
		var tab =+year+' Years '+months+' Months';	
		document.getElementById(numid).style.display="block";					
		document.getElementById(numid).innerHTML=tab;		
	}
}
/* End Displaying the month and year */
