var mode = 1;
var farsikey = [
	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, 0x0643, 0x003E, 0x003D, 0x003C, 0x061F,
	0x066C, 0x0624, 0x200C, 0x0698, 0x06CC, 0x064D, 0x0625, 0x0623, 
	0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D, 
	0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C, 
	0x0058, 0x0650, 0x06A9, 0x062C, 0x0698, 0x0686, 0x00D7, 0x0640, 
	0x067E, 0x0634, 0x0630, 0x0632, 0x064A, 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  
];  
                    
//          !       ؛       l٫     ¤       ٪       ،       ?       //1
//  (       )       *       +       و       -       .       /       
//  ۰       ۱       ۲       ۳       ۴       ۵       ۶       ۷       //3
//  ۸       ۹       :       ك       >       =       <       l؟l     //4
//  ٬       ؤl     0.5 spc  ژl      یl      ٍl       إl      أl      //5
//  آl      ّl       ةl      »       «      ءl       N       ]       //6
//  [       ْl       ًl       ئl      ُl       َl       V       ٌl       //7    
//  X       ِl       کl      جl      ژl      چl      ×       ـl      //8 
//  پl      شl      ذl      زl      يl      ثl      بl      لl      //9
//  اl      هl      تl      نl      مl      ئl      دl      خl      //10     
//  حl      ضl      قl      سl      فl      عl      رl      صl      //11  
//  طl      غl      ظl       }       |       {       ~       

//var farsikey = [
//	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 FarsiKeyDown()
{
	if (window.event.shiftKey && window.event.altKey || window.event.keyCode == 123)
	{ 
		if (mode == 0) {
			mode = 1;
			window.defaultStatus = "Farsi Mode(3F Soft)";
		}
		else {
			mode = 0;
			window.defaultStatus = "English Mode(3F Soft)";
		}
		return false;
	}
	
	return true;
}
function FarsiKeyPress()
{
	var key = window.event.keyCode;
	if ((key < 0x0020 || key >= 0x00FF)){
		mode = 1;
		window.defaultStatus = "Farsi Mode(3F Soft)";
	}
	if (key < 0x0020 || key >= 0x00FF)
		return;
		
	if (mode == 1) {
		if (key == 0x0020 && window.event.shiftKey) // Shift-space -> ZWNJ
			window.event.keyCode = 0x200C;
		else
			window.event.keyCode = farsikey[key - 0x0020];
	}
	return true;
}
function NumberKeyPress()
{
	var code = window.event.keyCode;
	var key = String.fromCharCode(code);
	if (code > 127)
		return;
		switch(key)
		{
			case '0'     :  break;
			case '1'     :  break;
			case '2'     :  break;
			case '3'     :  break;
			case '4'     :  break;
			case '5'     :  break;
			case '6'     :  break;
			case '7'     :  break;
			case '8'     :  break;
			case '9'     :  break;
			default :	window.event.keyCode =  ""; break;
		}
    window.event.returnValue = true;
}