
	var english_alpha = new Array()

	for (i=33;i<=126;i++)
	{
		english_alpha[i] = 0
	}
	
	english_alpha[33]=33
	english_alpha[34]=0
	english_alpha[35]=47
	english_alpha[36]=1574
	english_alpha[37]=1610
	english_alpha[38]=1652
	english_alpha[39]=0
	english_alpha[40]=40
	english_alpha[41]=41
	english_alpha[42]=1612
	english_alpha[43]=1570
	english_alpha[44]=1548
	english_alpha[45]=1571
	english_alpha[46]=1748
	english_alpha[47]=47
	english_alpha[48]=1776
	english_alpha[49]=1777
	english_alpha[50]=1778
	english_alpha[51]=1779
	english_alpha[52]=1780
	english_alpha[53]=1781
	english_alpha[54]=1782
	english_alpha[55]=1783
	english_alpha[56]=1784
	english_alpha[57]=1785
	english_alpha[58]=58
	english_alpha[59]=1563
	english_alpha[60]=1616
	english_alpha[61]=65157
	english_alpha[62]=1614
	english_alpha[63]=1567
	english_alpha[64]=0
	english_alpha[65]=1570
	english_alpha[66]=1555
	english_alpha[67]=1579
	english_alpha[68]=1672
	english_alpha[69]=1553
	english_alpha[70]=0
	english_alpha[71]=1594
	english_alpha[72]=1581
	english_alpha[73]=1648
	english_alpha[74]=1590
	english_alpha[75]=1582
	english_alpha[76]=1554
	english_alpha[77]=0
	english_alpha[78]=1722
	english_alpha[79]=1731
	english_alpha[80]=1615
	english_alpha[81]=0
	english_alpha[82]=1681
	english_alpha[83]=1589
	english_alpha[84]=1657
	english_alpha[85]=0
	english_alpha[86]=1592
	english_alpha[87]=65018
	english_alpha[88]=1688
	english_alpha[89]=1747
	english_alpha[90]=1584
	english_alpha[91]=91
	english_alpha[92]=92
	english_alpha[93]=93
	english_alpha[94]=1552
	english_alpha[95]=1617
	english_alpha[96]=1613
	english_alpha[97]=1575
	english_alpha[98]=1576
	english_alpha[99]=1670
	english_alpha[100]=1583
	english_alpha[101]=1593
	english_alpha[102]=1601
	english_alpha[103]=1711
	english_alpha[104]=1726
	english_alpha[105]=1740
	english_alpha[106]=1580
	english_alpha[107]=1705
	english_alpha[108]=1604
	english_alpha[109]=1605
	english_alpha[110]=1606
	english_alpha[111]=1729
	//1607
	english_alpha[112]=1662
	english_alpha[113]=1602
	english_alpha[114]=1585
	english_alpha[115]=1587
	english_alpha[116]=1578
	english_alpha[117]=1569
	english_alpha[118]=1591
	english_alpha[119]=1608
	english_alpha[120]=1588
	english_alpha[121]=1746
	english_alpha[122]=1586
	english_alpha[123]=123
	english_alpha[124]=124
	english_alpha[125]=125
	english_alpha[126]=1611
	
	function map()
	{		
			if(event.keyCode>32&&event.keyCode < 127)
			{
				var keyu = english_alpha[event.keyCode]
				event.keyCode=0;
				event.keyCode=keyu;
			}		
	}
		
		
	function GetRelevant(uchar)
	{
		for (i=33;i<=126;i++)
		{
			if(english_alpha[i] == uchar)
				return i;
		}	
	
		return uchar;
	}		
	
		function GenerateRomanForUrdu(source_box, dest_box)
		{
			var ustr=new String();
			//ustr=document.form1.udata.value;
			ustr=source_box.value;
			
			var result=new String();
			
			last_char=' ';
			next_char=' ';
			
			for(k=0;k<ustr.length;k++)
			{				
				uchar_value = ustr.charCodeAt(k).toString(10);	
				
				if(k<=ustr.length-1)
				{
					next_char = ustr.charCodeAt(k+1).toString(10);
					next_char = GetRelevant(next_char);
					next_char = String.fromCharCode(next_char);
				}
				
				ascii_val   = GetRelevant(uchar_value);		
				
				if(ascii_val==32)				
					ascii_char=' ';
				else
					ascii_char  = String.fromCharCode(ascii_val);									
				
				switch(ascii_char)
				{
									
					case 'i':
						if(k==0)
							ascii_char='y';
						break;
					case 'a':
						if(next_char=='P' || next_char=='<')
							ascii_char='';
						break;
						
					case '%':
						ascii_char='y';
						break;
						
					case '>':
						ascii_char='A';
						break;

						
					case '<':
						ascii_char='I';
						break;
					
					case 'P':
						ascii_char='U';
						break;
					
					case 'o':
					case 'h':
						ascii_char='H';
						break;				
						
					case '$':				
						ascii_char='I';
						break;				
						
					case '.':				
						ascii_char=',';
						break;						
						
					case 'G':				
						ascii_char='gh';
						break;						
						
					case 'w':
						if($last_char!=' ')		
							ascii_char='o';
						break;
							
					case '~':
						ascii_char='an';
						break;			
						
					case 'C':
						ascii_char='s';
						break;		
						
					case 'c':
						ascii_char='ch';
						break;			
	
					case 'J':
						ascii_char='z';
						break;	
						
					case 'x':
						ascii_char='sh';
						break;						
						
					case 'X':
						ascii_char='s';
						break;											
	
					case 'W':
					case '^':
						ascii_char='(P.B.U.H.)';
						break;	
						
					case '_': //shadd
						ascii_char=$last_char;
						break;						
						
					case '+':
						ascii_char='AA';
						break;						
						
					case 'v':
						ascii_char='t';
						break;		
						
					case 'V':
						ascii_char='z';
						break;							
										
					case 'B':
						ascii_char='(R.A.)';
						break;	
						
					case 'y':
						ascii_char='ay';
						break;	
						
					case 'K':
						ascii_char='kh';
						break;
					
					case 'e':
						ascii_char='a';
						if(next_char=='a')
							ascii_char='';
						break;	
											
													
						
				}
				
				last_char = ascii_char;
				result += ascii_char;				
			}
			
			//result=result.toUpperCase();		
			//alert(result);		
			dest_box.value=result.toUpperCase();
			dest_box.focus();
		}
