enImg = new Image();
enImg.src = "img/en.gif";

faImg = new Image();
faImg.src = "img/fa.gif";

var language='f';
var farsikey = [	// Farsi keyboard map based on Iran Popular Keyboard Layout      
	0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 0x066A, 0x060C, 0x06AF, 
	0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F,      
	0x06F0, 0x06F1, 0x06F2, 0x06F3, 0x06F4, 0x06F5, 0x06F6, 0x06F7,      
	0x06F8, 0x06F9, 0x003A, 0x06A9, 0x003E, 0x003D, 0x003C, 0x061F,      
	0x066C, 0x0624, 0x200C, 0x0698, 0X064a, 0x064D, 0x0625, 0x0623,      
	0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D,      
	0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C,            
	0x0058, 0x0650, 0x0643, 0x062C, 0x0698, 0x0686, 0x00D7, 0x0640,
	0x067E, 0x0634, 0x0630, 0x0632, 0X06cc, 0x062B, 0x0628, 0x0644,            
	0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x0626, 0x062F, 0x062E,            
	0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635,            
	0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E            
];            
            

function FKeyPress()
{
	var key = window.event.keyCode;
	if (key < 0x0020 || key >= 0x00FF) 
		return;
	if (language=='f') 
	{
		var ValChar=String.fromCharCode(key);
		var validate="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[];,'`\\"
		var el = event.srcElement; 

		if (validate.indexOf(ValChar) != -1 ) // Detect persian letter
			if (el.value.charCodeAt(el.value.length-1) == 0x06cc)  // Replace persian ye if needed
			{
				el.value = el.value.slice(0, -1);
				el.value += String.fromCharCode(0x064a); // Use arabic ye
			}
		if (key == 0x0020 && window.event.shiftKey)
			window.event.keyCode = 0x200C;
		else 
			window.event.keyCode = farsikey[key - 0x0020];
	}
	return true;
}


function EKeyPress() 
{
	var key = window.event.keyCode;
	var fKey=[
			1588,1584,1586,1740,1579,1576,1604,1575,1607,1578,1606,1605,1574,
			1583,1582,1581,1590,1602,1587,1601,1593,1585,1589,1591,1594,1592,1662,1580,1670,247
		];
	var fKeyShift=[
			1614,1573,1688,1616,1613,1617,1728,1570,93,1600,171,187,1569,
			1571,91,92,1611,1604,1615,1548,44,1572,1612,1610,1563,1577
		];
    var eKey=[
			97,98,99,100,101,102,103,104,105,106,107,108,109,
			110,111,112,113,114,115,116,117,118,119,120,121,
			122,92,91,93,96
		];
    var eKeyShift=[
			65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
			81,82,83,84,85,86,87,88,89,90
		];
	
    var index;
	
	if(window.event.shiftKey)
	{
		for (index in fKeyShift)
		{
			
			if(key == fKeyShift[index])
			{
				window.event.keyCode= eKeyShift[index];
				return true;
			}
		}
	}
	else
	{
		for (index in fKey)
		{
			if(key == fKey[index])
			{
				window.event.keyCode= eKey[index];
				return true;
			}
		}

	}
	return true;	
}

function chLanguage(txtSH1,imgSH1) 
{
	if(language=='f')
	{
		txtSH1.onkeypress=null;
        txtSH1.style.textAlign = "right";
		txtSH1.style.direction = "";
        language='e';
        imgSH1.src=faImg.src;
	}
	else
	{
		txtSH1.onkeypress=FKeyPress;
        txtSH1.style.textAlign = "right";
		txtSH1.style.direction = "rtl";
        language='f';
        imgSH1.src=enImg.src;
    }
    txtSH1.focus();
}