
var lang = 1;	
// 1: Farsi, 0: English

// Farsi keyboard map based on Iran Popular Keyboard Layout

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, 0x06CC, 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, 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
];

// on Alt+Shift, switch language
function FKeyDown()
{
return;
  if (event.keyCode == 27) {
    event.returnValue = false;
  }


   if (window.event.shiftKey && window.event.altKey) { 
      if (lang == 0) {
         lang = 1;
         window.defaultStatus = "Farsi Mode";
      }
      else {
         lang = 0;
         window.defaultStatus = "English Mode";
      }
      return false;
   }
   return true;
}

// change the Farsi




function FKeyPress()
{

   var key = window.event.keyCode;
   
   // Avoid processing if control or higher than ASCII (i.e., in Arabic Windows)

if (key < 0x0020 || key >= 0x00FF)
      return;
   //if in farsi mode:

   if (lang == 1) {
      if (key == 0x0020 && window.event.shiftKey)
         window.event.keyCode = 0x200C;
      else {
	if (key == 100)
         window.event.keyCode = farsikey[68 - 0x0020];
	else

	 window.event.keyCode = farsikey[key - 0x0020];
	}
   }
   return true;
}



function LangFar (myobj)
{
       myobj.style.textAlign = "right";
       myobj.style.direction = "rtl";
       myobj.focus();
       lang = 1;
       
}


function LangEng (myobj)
{
       myobj.style.textAlign = "left";
       myobj.style.direction = "ltr";
       myobj.focus();
       lang = 0;
       
}

var numb
numb=";¤;"  
var langtab
var langtabE


function Convert(thisbyte)
{
	
   var key = new String(thisbyte)
   var addNumb ,addlf
   addNumb="[]"
   addlf=""

if (key.charCodeAt(0)==13)
{
key="#@#"  
//alert(key.charCodeAt(0))
}
	

//alert(key.charCodeAt(0))   
if (key.charCodeAt(0)==10)
	key=""  
   
   if (thisbyte>=0 && thisbyte<=9)
		{
		
	//	if (thisbyte=13)
	//	key="<br>"  
		//numb+=thisbyte
		}
   
   
   // Avoid processing if control or higher than ASCII (i.e., in Arabic Windows)

   //if in farsi mode:

if (key.charCodeAt(0) < 0x0020 || key.charCodeAt(0) >= 0x00FF)
for (thei=0;thei<farsikey.length;thei++)
{

	 	
   if (farsikey[thei]==key.charCodeAt(0))
      {
     //alert(key.charCodeAt(0))
  //   alert(thei)
     
      numb="++"  
      thei+=0x0020
      return numb+thei+numb;
      }
    
      
}
if (key.charCodeAt(0) < 0x0020 || key.charCodeAt(0) >= 0x00FF)
	key=""
//alert(addNumb+key+addNumb)
   return addNumb+key+addNumb;
}

function FreadByte(data)
{
var bytestr=new String(data)
var bytest
var thisbyte

bytest=""

   for (j=0;j<bytestr.length ;j++)
   {
    thisbyte=bytestr.charAt(j)
	
    bytest +=Convert(thisbyte)
 	 	   
 	
   }
   
   return bytest
}

function FConvert(data)
{

var str=new String(data)
var MyArray=str.split(',')
var thisform=MyArray[0]
var thisSubmit=MyArray[1]
var constr

   for (iter=2;iter<MyArray.length;iter++)
   {
	var txt=MyArray[iter]
	
	constr=FreadByte (eval(thisform+"."+txt+".value"))
	//alert(eval("document."+thisform+"."+txt+".value"))
	eval("document."+thisform+"."+txt+".value='"+constr+"'")
	//alert(eval("document."+thisform+"."+MyArray[i]+".value="+constr))
   }
   //alert(eval("document."+thisform+"."+thisSubmit+".disabled"))
   return true
}


