	
	var mode;
	mode=1;
	
	function mouseover(el) {
		el.className = 'raised';
	}
	
	function mouseout(el) {
		el.className = 'tlbbutton';
	}
	
	function mousedown(el) {
		el.className = 'pressed';
	}
	
	function mouseup(el) {
		el.className = 'raised';
	}

	function smmpr(boxname)
	{
		boxname.style.textAlign = "right";
		boxname.style.direction = "rtl";
		window.defaultStatus="Farsi Mode";
		boxname.focus();
		mode=1;
	}
	
	function smmen(boxname)
	{
		boxname.style.textAlign = "left";
		boxname.style.direction = "ltr";
		window.defaultStatus="Normal Mode (English)";
		boxname.focus();
		mode=0;
	}
	
	
	function LangFar()
	{
		document.details.body.style.textAlign = "right";
		document.details.body.style.direction = "rtl";
		mode=1;
	}
	
	function LangEng()
	{
		document.details.body.style.textAlign = "left";
		document.details.body.style.direction = "ltr";
		mode=0;
	}
	//Keyboard Switching
	function FKeyDown()
	{
		//alert("Down");
		if (window.event.shiftKey && window.event.altKey) 
		{
			if (mode==0) 
			{
				mode=1;
				window.defaultStatus="Farsi Mode";
				//alert(mode);      
			}
			else
			{
				mode=0;
				window.defaultStatus="Normal Mode (English)";
				//alert(mode);
			}
			
			window.event.returnValue=false;
			return ;
		}
		window.event.returnValue=true
	}   // end of function
	
	//Keyboard Mapping to Unicode
	function  FKeyPress()
	{
		var key;
		//alert("press");
		key=window.event.keyCode
		//Avoid processing in Arabic Windows
		/*if (key>127) 
		{ 
		window.event.returnValue=false
		return
		}
		*/
		
		if (mode==1) 
		{
			switch  (key)
			{
				case 32: if (window.event.shiftKey) 
				        window.event.keyCode=8204;break;   //ZWNJ = 0x200C
				//                   else
				//                        window.event.keyCode=  32 ; break;  //SPACE = 0x20
				     
				//            case 33: window.event.keyCode=  33 ; break;  //! = 0x21
				case 34: window.event.keyCode=1563;break;   //F SEMICOLON = 0x061B
				case 35: window.event.keyCode=1643;break;   //MOMAYYEZ = 0x066B
				case 36: window.event.keyCode= 164;break;  //RIAL = 0x00A4?
				case 37: window.event.keyCode=1642;break;   //F PERCENT = 0x066A
				case 38: window.event.keyCode=1548;break;   //F COMMA = 0x060C
				case 39: window.event.keyCode=1711;break;   //GAF = 0x06AF
				case 40: window.event.keyCode=  41 ;break; //PAREN BASTE= 0x0029
				case 41: window.event.keyCode=  40;break;  //PAREN BAAZ = 0x0028
				//            case 42: window.event.keyCode=  42 ; break;  //* = 0x002A
				//            case 43: window.event.keyCode=  43 ; break;  //+ = 0x002B
				case 44: window.event.keyCode=1608;break;   //VAV = 0x0648
				//            case 45: window.event.keyCode=  45 ; break;  //- = 0x002D
				//            case 46: window.event.keyCode=  46 ; break;  //. = 0x002E
				//            case 47: window.event.keyCode=  47 ; break;  // = 0x002F
				case 48: window.event.keyCode=1776;break;   //F 0 = 0x06F0
				case 49: window.event.keyCode=1777;break; //F 1 = 0x06F1
				case 50: window.event.keyCode=1778;break;  //F 2 = 0x06F2
				case 51: window.event.keyCode=1779;break;  //F 3 = 0x06F3
				case 52: window.event.keyCode=1780;break;   //F 4 = 0x06F4
				case 53: window.event.keyCode=1781;break;   //F 5 = 0x06F5
				case 54: window.event.keyCode=1782;break; //F 6 = 0x06F6
				case 55: window.event.keyCode=1783 ; break;  //F 7 = 0x06F7
				case 56: window.event.keyCode=1784 ; break;  //F 8 = 0x06F8
				case 57: window.event.keyCode=1785 ; break;  //F 9 = 0x06F9
				case 58: window.event.keyCode=  58 ; break;  //: = 0x00BA
				case 59: window.event.keyCode=1603 ; break;  //KAF = 0x06A9
				case 60: window.event.keyCode=  62 ; break;  //> = 0x003E
				//           case 61: window.event.keyCode=  61 ; break;  //= = 0x003D
				case 62: window.event.keyCode=  60 ; break;  //; break;  //< = 0x003C
				case 63: window.event.keyCode=1567 ; break;  //F ? = 0x061F
				case 64: window.event.keyCode=1644 ; break;  //F ; break;  // = 0x066C
				case 65: window.event.keyCode=1572 ; break;  //VAV+HAMZE = 0x0624
				case 66: window.event.keyCode=8204 ; break;  //ZWNJ = 0x200C
				case 67: window.event.keyCode=1688 ; break;  //ZHE = 0x0698
				case 68: window.event.keyCode=1610 ; break;  //ARABIC YE = 0x064A
				case 69: window.event.keyCode=1613 ; break;  //TANWIN KASRE= 0x064D
				case 70: window.event.keyCode=1573 ; break;  //ALEF+HAMZE ZIR= 0x0625
				case 71: window.event.keyCode=1571 ; break;  //ALEF+HAMZE = 0x0623
				case 72: window.event.keyCode=1570 ; break;  //AA = 0x0622
				case 73: window.event.keyCode=1617 ; break;  //TASHDID = 0x0651
				case 74: window.event.keyCode=1577 ; break;  //TE GERD = 0x0629
				case 75: window.event.keyCode= 187 ; break;  //GIUME BASTE = 0x00BB
				case 76: window.event.keyCode= 171 ; break;  //GIUME BAAZ = 0x00AB
				case 77: window.event.keyCode=1569 ; break;  //HAMZE = 0x0621
				//  case 78: "N" is currently free
				case 79: window.event.keyCode=  93 ; break;  //KROOSHE BASTE = 0x005D
				case 80: window.event.keyCode=  91 ; break;  //KROOSHE BASTE = 0x005B
				case 81: window.event.keyCode=1618 ; break;  //SAKEN = 0x0652
				case 82: window.event.keyCode=1611 ; break;  //KASRE FATHE = 0x064B
				case 83: window.event.keyCode=1574 ; break;  //YE+HAMZE = 0x0626
				case 84: window.event.keyCode=1615 ; break;  //ZAMME = 0x064F
				case 85: window.event.keyCode=1614 ; break;  //FATHE = 0x064E
				//  case 86: "V" is currently free
				case 87: window.event.keyCode=1612 ; break;  //TANWIN ZAMME = 0x064C
				//  case 88: "X" is currently free
				case 89: window.event.keyCode=1616 ; break;  //KASRE = 0x0650
				case 90: window.event.keyCode=1603 ; break;  //KAF ARABI = 0x0643
				case 91: window.event.keyCode=1580 ; break;  //JIM = 0x062C
				case 92: window.event.keyCode=1688 ; break;  //
				case 93: window.event.keyCode=1670 ; break;  //CHE = 0x0686
				case 94: window.event.keyCode= 215 ; break;  //ZARB = 0x00D7
				case 95: window.event.keyCode=1600 ; break;  //KESHIDE = 0x0640
				case 96: window.event.keyCode=1662 ; break;  //
				case 97: window.event.keyCode=1588 ; break;  //SHIN = 0x0634
				case 98: window.event.keyCode=1584 ; break;  //ZAL = 0x0630
				case 99: window.event.keyCode=1586 ; break;  //ZE = 0x0632
				case 100: window.event.keyCode=1610 ; break;  //YE = 0x06CC
				            //case 100: window.event.keyCode=1740 ; break;  //YE = 0x06CC
				case 101: window.event.keyCode=1579 ; break;  //THE = 0x062B
				case 102: window.event.keyCode=1576 ; break;  //BE = 0x0628
				case 103: window.event.keyCode=1604 ; break;  //LAM = 0x0644
				case 104: window.event.keyCode=1575 ; break;  //ALEF = 0x0627
				case 105: window.event.keyCode=1607 ; break;  //HE = 0x0647
				case 106: window.event.keyCode=1578 ; break;  //TE = 0x062A
				case 107: window.event.keyCode=1606 ; break;  //NOON = 0x0646
				case 108: window.event.keyCode=1605 ; break;  //MIM = 0x0645
				case 109: window.event.keyCode=1574 ; break;  //
				case 110: window.event.keyCode=1583 ; break;  //DAL = 0x062F
				case 111: window.event.keyCode=1582 ; break;  //KHE = 0x062E
				case 112: window.event.keyCode=1581 ; break;  //HE JIMI = 0x062D
				case 113: window.event.keyCode=1590 ; break;  //ZAD = 0x0636
				case 114: window.event.keyCode=1602 ; break;  //GHAF = 0x0642
				case 115: window.event.keyCode=1587 ; break;  //SIN = 0x0633
				case 116: window.event.keyCode=1601 ; break;  //FE = 0x0641
				case 117: window.event.keyCode=1593 ; break;  //EYN = 0x0639
				case 118: window.event.keyCode=1585 ; break;  //RE = 0x0631
				case 119: window.event.keyCode=1589 ; break;  //SAD = 0x0635
				case 120: window.event.keyCode=1591 ; break;  //TAA = 0x0637
				case 121: window.event.keyCode=1594 ; break;  //GHEYN = 0x063A
				case 122: window.event.keyCode=1592 ; break;  //ZAA = 0x0638
				case 123: window.event.keyCode= 125 ; break;  //AKOLAAD BASTE = 0x007D
				//            case 124: window.event.keyCode= 124 ; break;  //| = 0x007C
				case 125: window.event.keyCode= 123 ; break;  //AKOLAAD BAAZ = 0x007B
				//  case 126: "~" is currently free
			}
		}
		window.event.returnValue=true
	}// end function
