//////////////////////////////////////////////////////////////////////////////
//   JIT Key Convertor V 1.0					                     //
//   By   Siamak Sobhany    March 2002	
//   Edited By   Nav!d Khadem    August 2002				                     //
//   Copyright 2002 Methode© All Right Reserved                                                       //
//////////////////////////////////////////////////////////////////////////////
//  You can use this code in your applications , but Removal or modification of        //
//  Above notice will violate the license agreement.                                                    //
//////////////////////////////////////////////////////////////////////////////

var en2fa = new ActiveXObject("Scripting.Dictionary");
en2fa.add (0x0060,0x067e); en2fa.add (0x0067,0x0644);
en2fa.add (0x0071,0x0636); en2fa.add (0x0068,0x0627);
en2fa.add (0x0077,0x0635); en2fa.add (0x006a,0x062a);
en2fa.add (0x0065,0x062b); en2fa.add (0x006b,0x0646);
en2fa.add (0x0072,0x0642); en2fa.add (0x006c,0x0645);
en2fa.add (0x0074,0x0641); en2fa.add (0x003b,0x0643);
en2fa.add (0x0079,0x063a); en2fa.add (0x0027,0x06af);
en2fa.add (0x0075,0x0639); en2fa.add (0x007a,0x0638);
en2fa.add (0x0069,0x0647); en2fa.add (0x0078,0x0637);
en2fa.add (0x006f,0x062e); en2fa.add (0x0063,0x0632);
en2fa.add (0x0070,0x062d); en2fa.add (0x0076,0x0631);
en2fa.add (0x005b,0x062c); en2fa.add (0x0062,0x0630);
en2fa.add (0x005d,0x0686); en2fa.add (0x006e,0x062f);
en2fa.add (0x0061,0x0634); en2fa.add (0x006d,0x0626);
en2fa.add (0x0073,0x0633); en2fa.add (0x002c,0x0648);
en2fa.add (0x0064,0x064a); en2fa.add (0x005c,0x0698);
en2fa.add (0x0066,0x0628);

//Digits
en2fa.add (0x0031,0x06f1);en2fa.add (0x0032,0x06f2);
en2fa.add (0x0033,0x06f3);en2fa.add (0x0034,0x06f4);
en2fa.add (0x0035,0x06f5);en2fa.add (0x0036,0x06f6);
en2fa.add (0x0037,0x06f7);en2fa.add (0x0038,0x06f8);
en2fa.add (0x0039,0x06f9);en2fa.add (0x0030,0x06f0);

var shift_en2fa = new ActiveXObject("Scripting.Dictionary");
shift_en2fa.add(0x0048,0x0622); shift_en2fa.add(0x0020,0x200c);
shift_en2fa.add(0x0042,0x0623); shift_en2fa.add(0x0049,0x0629);

var fa2en = new ActiveXObject("Scripting.Dictionary");
fa2en.add (0x067e,0x0060); fa2en.add (0x0644,0x0067);
fa2en.add (0x0636,0x0071); fa2en.add (0x0627,0x0068);
fa2en.add (0x0635,0x0077); fa2en.add (0x062a,0x006a);
fa2en.add (0x062b,0x0065); fa2en.add (0x0646,0x006b);
fa2en.add (0x0642,0x0072); fa2en.add (0x0645,0x006c);
fa2en.add (0x0641,0x0074); fa2en.add (0x06a9,0x003b);
fa2en.add (0x063a,0x0079); fa2en.add (0x06af,0x0027);
fa2en.add (0x0639,0x0075); fa2en.add (0x0638,0x007a);
fa2en.add (0x0647,0x0069); fa2en.add (0x0637,0x0078);
fa2en.add (0x062e,0x006f); fa2en.add (0x0632,0x0063);
fa2en.add (0x062d,0x0070); fa2en.add (0x0631,0x0076);
fa2en.add (0x062c,0x005b); fa2en.add (0x0630,0x0062);
fa2en.add (0x0686,0x005d); fa2en.add (0x062f,0x006e);
fa2en.add (0x0634,0x0061); fa2en.add (0x0626,0x006d);
fa2en.add (0x0633,0x0073); fa2en.add (0x0648,0x002c);
fa2en.add (0x06cc,0x0064); 
fa2en.add (0x0628,0x0066);

function convert2farsi()
{
	if(event.shiftKey)
	{
		if(shift_en2fa.exists(event.keyCode))
			event.keyCode = shift_en2fa(event.keyCode);
	}
	else
	{
		if(en2fa.exists(event.keyCode))
			event.keyCode = en2fa.item(event.keyCode);
	}
	event.returnValue = true;
}

function convert2english()
{
	if(fa2en.exists(event.keyCode))
	{
		event.keyCode = fa2en.item(event.keyCode);
	}
	event.returnValue = true;
}

function convert(language)
{
	if( language == "farsi")
		convert2farsi();
	else
		convert2english();
}