function userGroupSel(classname)
{
	var selval = null;
	$$('.groups').each(function(el){if(el.checked) selval = el.value});
	selval = 'xxuser_'+selval;
	$$('.uRow').each(function(el){
		if(el.hasClass(classname)){
			el.removeClass('hidden');
			el.getElementsBySelector('INPUT, SELECT, TEXTAREA').each(function(e){
				var patt1 = /^([a-z]*)(\[[a-z 0-9]*\])$/i;
				var patt2 = /^([a-z]*)(\[.*\])(\[.*\])$/i;
				e.name = e.name.replace(patt1,'usr['+selval+']'+'$2');
				e.name = e.name.replace(patt2,'usr['+selval+']'+'$3');
			});
		}else{
			el.addClass('hidden');
			el.getElementsBySelector('INPUT, SELECT, TEXTAREA').each(function(e){
				var patt1 = /^([a-z]*)(\[[a-z 0-9]*\])$/i;
				var patt2 = /^([a-z]*)(\[.*\])$/i;
				e.name = e.name.replace(patt1,'nfrm$2');
				e.name = e.name.replace(patt2,'nfrm$2');
			});
		}
	});
}

function disable(input){
	var patt = new RegExp(/^\..*$/);
	if(patt.test(input))
		$$(input).each(function(el){el.disabled=true;});
	else
		$(input).disabled = true;
}

function enable(input){
	var patt = new RegExp(/^\..*$/);
	if(patt.test(input))
		$$(input).each(function(el){el.disabled=false;});
	else
		$(input).disabled = false;
}

function duplicateRow(classname)
{
    //clone the row
	var obj = $$('.'+classname);
	if(!obj) alert('error');
	obj = $(obj[obj.length-1]);
	var baby = obj.clone();
    
    //reset values
    
	//set name and ids
    cnt = 1;
	$$('.'+classname).each(function(el){
		el.lang = cnt;
        el.getElementsBySelector('SELECT, INPUT, TEXTAREA').each(function(elp){
            elp.name = elp.name.replace(/\[row\d+\]/, '[row'+cnt+']');
            elp.id = elp.name;
        }); 
        el.id = 'reg_'+cnt;
		cnt++;
    });
	
	baby.id = 'reg_'+cnt;
	
	baby.getElementsBySelector('SELECT, INPUT, TEXTAREA').each(function(el){
		el.name = el.name.replace(/\[row\d+\]/, '[row'+cnt+']');
		el.id = el.name;
		switch(el.tagName){
			case 'SELECT':
				el.selectedIndex = 0;
				break;
			case 'TEXTAREA':
				el.value = null;
				break;
			case 'INPUT':
				if(el.type=='text') el.value = '';
				if(el.type=='checkbox') el.checked = false;
				if(el.type=='radio') el.checked = false;
				if(el.type=='hidden' && el.hasClass('reset')) el.value = '';
				if(el.type=='radio' && el.getParent()) {
					el.getParent().innerHTML = el.getParent().innerHTML.replace(/\[row\d+\]/g, '[row'+cnt+']');
				}
				if(el.type=='checkbox' && el.getParent()) {
					el.getParent().innerHTML = el.getParent().innerHTML.replace(/\[row\d+\]/g, '[row'+cnt+']');
				}
				break;
		}
	}); 
	
	if(baby.getElementsBySelector('.rem')) {
		baby.getElementsBySelector('.rem').each(function(el){
			el.href = "javascript:void(0);";											 
		});
	}
	
	baby.removeClass('hidden');
	
	//baby.getElementsBySelector('.removeroute')[0].addClass('hidden');
	//baby.getElementsBySelector('.delete')[0].removeClass('hidden');
	//---
    baby.injectAfter(obj);
	
	normalizeRows(classname);   
}

function removeRow(obj,className)
{
	var parent = findParent(obj,className);
	parent.remove();
	
	normalizeRows(className);
}

function normalizeRows(classname)
{
	var cnt = 0;
	
	var rows = $$('.'+classname);
	var rowscount = rows.length;
	
	rows.each(function(el){
		cnt++;
		el.getElementsBySelector('.addBut, .remBut, .rem').each(function(elp){
			if(elp.hasClass('addBut')){
				if(cnt<rowscount)
					elp.addClass('invisible');
				else
					elp.removeClass('invisible');
			}else if(elp.hasClass('remBut') || elp.hasClass('rem')){
				if(rowscount<=1)
					elp.addClass('invisible');
				else
					elp.removeClass('invisible');
			}
		});
	});
}

function findParent(obj,className)
{
	if($(obj))
		obj=$(obj);
	else
		return false;
	
	while(!obj.getParent().hasClass(className)){
		obj = obj.getParent();
	}
	
	return obj.getParent();
}

function delLessonFile(id)
{
	var conf = confirm('آیا از حذف این فایل اطمینان دارید؟');
	if(!conf) return;
	var url = "index.php?section=admin&module=lesson&cmd=delfile&id="+id;
	new ajax('index.php?section='+section+'&module='+module+'&cmd=delfile&id='+id).request();
}

function doResult(obj, id)
{
	if( typeof(a_window) != 'undefined') a_close(a_window, 'edit_box');
	var cmd = 'result';
	var id = id ? id : findID(obj);
	$('edit_box').style.top =  window.getSize().scroll.y+4+'px';
	$('edit_box').style.left = Math.max((window.getSize().size.x-$('edit_box').getSize().size.x)/2, 8)+'px';
	$('loading').removeClass('hidden');
	var url = document.location.href.replace(/&cmd=[^&]*/, '').replace(/#.*/, '')+'&cmd='+cmd+'&id='+id;

	//new ajax('index.php?section='+section+'&module='+module+'&cmd='+cmd+'&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
	new ajax(url, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
}

function checkBoxes(obj)
{
	var num = obj.name.replace(/(.*)\[row(\d+)\](.*)/, '$2');
	var val = obj.value;
	var pat = ['d[row'+num+'][1]','d[row'+num+'][2]','d[row'+num+'][3]','d[row'+num+'][4]'];
	var chk = [5,7,11,11];
	val = Number(val);
	for(var i=0;i<4;i++){
		$(pat[i]).checked = ((val>=chk[i])? true : false);
	}
}

function delFile(id)
{
	var conf = confirm('آیا از حذف این فایل اطمینان دارید؟');
	if(!conf) return;
	new ajax('index.php?section='+section+'&module='+module+'&cmd=delfile&id='+id).request();
}

function resetSelect(obj)
{
	Combo = $(obj);
	if(!Combo) return;
	var idx = 0;
	if(Combo.options[0] && Combo.options[0].value=='' && Combo.options[0].text=='') idx = 1;
	while(Combo.options[idx])
		Combo.options[idx] = null;
}

function fetchIntoSelect(Combo, Ar, Value)		
{
	var obj = $(Combo);
	resetSelect(obj);
	Ar = Json.evaluate(Ar);
	for(key in Ar){
		el = Ar[key];
		// Pass the object as a string to the select for value
		var value = ((typeof(el['val'])!='string')? Json.toString(el["val"]) : el['val']);
		obj.options[obj.options.length] = new Option(el['name'], value);
		if(key==Value) obj.selectedIndex = obj.options.length-1;
	}
}

function openDetail(id)
{
	var name = "bdetail_"+id;
	$$('.businessDetail').each(function(el){
		if(el == $(name)) {
			el.myfx.toggle();
			el.getParent().getPrevious().setStyle('background','url(../images/faq-changearrow.gif) no-repeat right 8px');
		}else {
			el.myfx.slideOut();
			el.getParent().getPrevious().setStyle('background','url(../images/faq-arrow.gif) no-repeat right 8px');
		}
	});
}

function hideBusinessDetail()
{
	$$('.businessDetail').each(function(el){
		if(!el.myfx)								
			el.myfx = new Fx.Slide(el);
		el.myfx.hide();
	});
}

// For Print Form
function showBusinessDetail()
{
	$$('.businessDetail').each(function(el){
		if(!el.myfx)								
			el.myfx = new Fx.Slide(el);
		el.myfx.show();
	});
}

function openPersonDetail(id)
{	
	var name = "pdetail_"+id;
	$$('.personDetail').each(function(el){
		if(el == $(name)) {
			el.myfx.toggle();
		}else {
			el.myfx.slideOut();
		}
	});	
}

function hidePersonDetail()
{
	$$('.personDetail').each(function(el){
		if(!el.myfx)								
			el.myfx = new Fx.Slide(el);
		el.myfx.hide();
	});
}

function signupCheck()
{
	var reqs = $('signupform').getElementsBySelector('.required');
	for(i in reqs){
		el = reqs[i];
		if(typeof(el)!='object')
			continue;
		if(el.id == 'email' && !el.value.match(/^[a-z0-9_\-\.]*\@[a-z0-9\-]*\.[a-z\.]{2,6}/i)){
			alert('لطفا پست الکترونیک را صحیح وارد نمائید.');
			return makeImportant(el);
		}
		if((el.id == 'tel' || el.id == 'idno') && !el.value.match(/^[0-9\s\-\.]*$/)){
			alert('لطفا اطلاعات تماس را صحیح وارد نمائید.');
			return makeImportant(el);
		}
		if(el.id == 'birthday' && !el.value.match(/^[0-9]{4}[\\\/\-]{1}[0-9]{1,2}[\\\/\-]{1}[0-9]{1,2}$/)){
			alert('لطفا تاریخ تولد خود را صحیح وارد نمائید، نمونه: 1348/05/23.');
			return makeImportant(el);
		}
		if(!el.value){
			alert('لطفا اطلاعات را کامل وارد نمائید.');
			return makeImportant(el);
		}
	}
	if($('pass1').value != $('pass2').value || $('password1').value.length < 4 ){
		alert('رمز ورود شما صحیح وارد نشده است، رمز ورود باید حداقل 4 حرف یا کلمه باشد');
		return makeImportant($('pass1'));
	}
	return true;
}

function makeImportant(obj){
	el.focus();
	el.addClass('redBg');
	el.addEvent('keypress', function(el){ this.removeClass('redBg') });
	return false;
}

function underConstruction()
{
	var div = new Element('div', {
    	'id': 'absDiv',
	    'styles': {
    	    'position': 'absolute',
			'width': '270px',
			'height': '60px',
			'border': '2px solid #11AA11',
			'padding': '40px 0 0 0',
			'margin': '300px 0 0 370px',
			'font-weight': 'bold',
			'background': '#FFFFFF',
			'text-align': 'center'
	    },
		'events': {
				'click': function(){this.remove();}
		}
	});
	div.inject($('PageHolder'), 'top');
	div.innerHTML = 'کاربر گرامی، این بخش در حال تکمیل میباشد';
}

function setLoading(obj)
{
	if(!$(obj)) return;
	loadhtml= '<table border="0" cellpadding="0" cellspacing="0" width="100px" style="margin:0 auto">'+
					  '<tr><td><br /><br /></td></tr>'+
					  '<tr>'+
						'<td>لطفاً صبر کنيد</td>'+
						'<td><img src="../images/loading.gif" width="16" height="16" alt="" /></td>'+
					  '</tr>'+
					  '<tr><td><br /><br /></td></tr>'+
					'</table>';
	$(obj).innerHTML = loadhtml;
}

var Basket = {
	
	make: function()
	{
		$('loginContent').slide = new Fx.Slide('loginContent');
		$('loginPending').slide = new Fx.Slide('loginPending');
		$('registerDiv').slide = new Fx.Slide('registerDiv');
		$('registerContent').slide = new Fx.Slide('registerContent');
		$('registerPending').slide = new Fx.Slide('registerPending');
		
		$('registerDiv').slide.hide();
		$('registerPending').slide.hide();
		$('loginPending').slide.hide();
	},
	
	pay: function()
	{
		setLoading('payDiv');
		var url = 'basket_pay.htm';
		var req = new ajax(url, {evalscript: true, update:'payDiv'}).request();
	},
	
	toggle: function(mode)
	{
		switch(mode){
			case 'login':
				$('loginContent').slide.slideIn()
				$('registerDiv').slide.slideOut()
				break;
				
			case 'register':
				$('registerDiv').slide.slideIn()
				$('loginContent').slide.slideOut()
				break;
		}
	},
	
	login: function()
	{
		var params = $('loginform').toQueryString();
		var url = 'basket_login.htm';
		var req = new ajax(url, {evalscript: true, method: 'post', update:'loginPending'});
		req.send(url, params);
		setLoading('loginPending');
		$('loginPending').slide.show();
		$('loginContent').slide.hide();
	},
	
	register: function()
	{
		if(!this.registerCheck())
			return false;
		var params = $('registerForm').toQueryString();
		var url = 'basket_register.htm';
		var req = new ajax(url, {evalscript: true, method: 'post'});
		req.send(url, params);
		
		setLoading('registerPending');
		$('registerPending').slide.show();
		$('registerContent').slide.hide();
		return false;
	},
	
	registerCheck: function()
	{
		/*if($('password').value != $('conf_pass').value){
			$('registerMsg').removeClass('hidden');
			$('registerMsg').setHTML('رمز عبور و تکرار رمز عبور یکسان نیستند');
			return false;
		}
		
		if($('password').value.length < 6){
			$('registerMsg').removeClass('hidden');
			$('registerMsg').setHTML('رمز عبور باید حداقل 6 کاراکتر باشد');
			return false;
		}*/
		
		if(!$('email').value.test(/^[a-z0-9\.\_]*\@[a-z09]*\.[a-z\.]{2,6}$/i) || !$('email').value){
			$('registerMsg').removeClass('hidden');
			$('registerMsg').setHTML('لطفا ایمیل خود را صحیح وارد نمائید.');
			return false;
		}
		
		if(!$('tel').value.test(/^[0-9\-]+$/)){
			$('registerMsg').removeClass('hidden');
			$('registerMsg').setHTML('لطفا شماره تماس خود را صحیح وارد نمائید');
			return false;
		}
		
		if(!$('mobile').value.test(/^[0-9\-]*$/) && $('mobile').value){
			$('registerMsg').removeClass('hidden');
			$('registerMsg').setHTML('لطفا شماره موبایل خود را صحیح وارد نمائید');
			return false;
		}
		
		var reqs = $$('#registerForm .required');
		for(i in reqs){
			if(typeof(reqs[i])!='object')
				continue;
				
			if(!reqs[i].value){
				$('registerMsg').removeClass('hidden');
				$('registerMsg').setHTML('لطفا تمامی فیلدهای لازم را تکمیل نمائید.');
				reqs[i].focus();
				return false;
			}
			
		}
		
		return true;
		
	}
	
};


function checkOrg(obj)
{
	if(obj.value == 'other'){
		obj.name = 'reg2[orgid]';
		$('otherorg').name = 'reg[orgid]';
		$('otherorgdiv').removeClass('hidden');
	}else{
		obj.name = 'reg[orgid]';
		$('otherorg').name = 'reg2[orgid]';
		$('otherorg').value = null;
		$('otherorgdiv').addClass('hidden');
	}
}

function managershouseFormCheck()
{
	var required = $$('.required');
	var el = null;
	var els = null;
	for(i in required){
		el = required[i];
		if(typeof(el)!='object')
			continue;
		if(!el.value){
			el.focus();
			alert('لطفا تمام قسمتهای ضروری را تکمیل فرمائید.');
			return false;
		}
	}
	
	if(!$('idno').value.match(/^[\-\s0-9]+$/)){
		$('idno').focus();
		alert('لطفا شماره شناسنامه / ملی خود را صحیح وارد فرمائید.');
		return false;
	}
	
	if(!$('birthday').value.match(/^(13)?[0-9]{2}[\\\-\/][0-9]{1,2}[\\\-\/][0-9]{1,2}$/)){
		$('birthday').foucs();
		alert('لطفا تاریخ تولد خود را صحیح وارد نمائید');
		return false;
	}
	
	if($('done').checked){
		if(!$('xservicetodate').value){
			$('xservicetodate').focus();
			alert('لطفا تمام قسمتهای ضروری را تکمیل فرمائید.');
			return false;
		}
		
		if(!$('xservicefromdate').value){
			$('xservicefromdate').focus();
			alert('لطفا تمام قسمتهای ضروری را تکمیل فرمائید.');
			return false;
		}
		
		if(!$('xservicetoplace').value){
			$('xservicetoplace').focus();
			alert('لطفا تمام قسمتهای ضروری را تکمیل فرمائید.');
			return false;
		}
	}else{
		if(!$('xexmptionreason').value){
			$('xexmptionreason').focus();
			alert('لطفا تمام قسمتهای ضروری را تکمیل فرمائید.');
			return false;
		}
	}
	
	var row = $$('certificateRow');
	for(i in row){
		el = row[i];
		if(typeof(el)!='object')
			continue;
		if(!el.getElement('xcertificate').value)
			continue;
		els = el.getElements('rowRequired');
		for(e in els){
			if(!els[e].value){
				els[e].focus();
				alert('لطفا تمام جاهای مورد نیاز را تکمیل فرمائید.');
				return false;
			}
		}
	}
	
	var row = $$('essayRow');
	for(i in row){
		el = row[i];
		if(typeof(el)!='object')
			continue;
		if(!el.getElement('xessaytitle').value)
			continue;
		els = el.getElements('rowRequired');
		for(e in els){
			if(!els[e].value){
				els[e].focus();
				alert('لطفا تمام جاهای مورد نیاز را تکمیل فرمائید.');
				return false;
			}
		}
	}
	
	$('managershouseForm').submit();
	return true;
}

function nahzatFormCheck()
{
	var required = $$('.required');
	var el = null;
	var els = null;
	for(i in required){
		el = required[i];
		if(typeof(el)!='object')
			continue;
		if(!el.value){
			el.focus();
			alert('لطفا تمام قسمتهای ضروری را تکمیل فرمائید.');
			return false;
		}
	}
	
	if(!$('idno').value.match(/^[\-\s0-9]+$/)){
		$('idno').focus();
		alert('لطفا شماره شناسنامه / ملی خود را صحیح وارد فرمائید.');
		return false;
	}
	
	if(!$('birthday').value.match(/^(13)?[0-9]{2}[\\\-\/][0-9]{1,2}[\\\-\/][0-9]{1,2}$/)){
		$('birthday').foucs();
		alert('لطفا تاریخ تولد خود را صحیح وارد نمائید');
		return false;
	}
	
	$('nahzatForm').submit();
	return true;
}

function doEditEx(obj, id, exmodule, extraCmd, cmd)
{
	if(typeof(exmodule)!='undefined' && exmodule!=null) { 
		module = exmodule;
		if($('module')) $('module').value = module;
	}
	if( typeof(a_window) != 'undefined') a_close(a_window, 'edit_box');
	extraCmd = (typeof(extraCmd) == 'undefined')?'':'&'+extraCmd;
	if((typeof(cmd) == 'undefined'))
		cmd = id ? 'edit' : 'new';
	var id = id ? id : findID(obj);
	$('edit_box').style.top =  window.getSize().scroll.y+4+'px';
	$('edit_box').style.left = Math.max((window.getSize().size.x-$('edit_box').getSize().size.x)/2, 8)+'px';
	$('loading').removeClass('hidden');
	$('loadingBox').removeClass('hidden');
	var url = 'index.php?section=admin&module='+module+'&cmd='+cmd+'&id='+id+extraCmd;
	new ajax(url, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
}

function setSubOption(src, des, data, selected, first)
{
	try{
		src = $(src);
		des = $(des);
		data = data[src.value];
		selected = selected? selected : 0;
		first = first? first : 0;
	}catch(e){ };
	
	if(!src || !des)
		return;
		
	while(des.options.length && des.options.length > first){
		des.options[first] = null;
	}
	
	for(i in data){
		des.options[des.options.length] =  new Option(data[i], i, i==selected);
	}
}

function changeCap(obj)									
{
	var RAND = Math.floor(Math.random()*99999999);
	if(typeof(obj) == 'object' && obj.tagName == 'IMG' && obj.src.match(/captcha\d*\.gif/)){
		obj.src = '../images/blank.gif';
		obj.src = 'captcha'+RAND+'.gif';
		return;
	}
	for(k in document.images)
		try{
			if(document.images[k].src.match(/captcha\d+\.gif/)){
				obj = document.images[k];
				obj.src = '../images/blank.gif';
				obj.src = 'captcha'+RAND+'.gif';
			}
		}catch(e){}
}

function printElement(id)
{
	var nw = window.open('', 'PrintWindow', 'width=720px,height=500px,scrollbars=yes');
	nw.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'+
	'<html>'+
	'<head>'+
	'<link type="text/css" rel="stylesheet" href="../+style/style.css" />'+
	//'<link type="text/css" rel="stylesheet" href="../+style/style.css" />'+
	'<link type="text/css" rel="stylesheet" media="print" href="../+style/print.css" />'+
	'<title></title>'+
	'<script language="javascript" type="text/javascript" src="../+script/class.js"></script>'+
	'<script language="javascript" type="text/javascript">'+
	'function printWindow(){'+
		//'window.opener.window.$("edit_main").clone().injectInside(document.body);'+
		'document.body.innerHTML = "<img src=\'../images/header.jpg \' />"+window.opener.document.getElementById("'+id+'").innerHTML;'+
		'window.opener.hideBusinessDetail();'+
		//'document.getElementById("printBtn").onclick = function(){window.print();};'+
		'setTimeout("window.print();", 200);'+
	'}'+
	'</script>'+
	'<style type="text/css">'+
		'.button, .noprint{'+
			'display:none;'+
		'}'+
	'</style>'+
	'</head>'+
	'<body dir="rtl" onload="window.printWindow();" style="background:none;"></body></html>');
	//nw.document.write($('edit_main').clone().innerHTML);
	//nw.document.write('</body>'+
	//'</html>');
	nw.document.close();
}

var tout;
function displayFamilyName(us) {
	if(tout) clearTimeout(tout);
	if(us) {
		tout = setTimeout('displayFamilyName(0)', us);
		return;
	}
	var pname = $('pnameval').value;
	if(!pname.trim() && $("showResultPName")) {
		$("showResultPName").addClass("hidden");
		return;
	}
	var top = ($('pnameval').getTop() + 21)+'px';
	var left = ($('pnameval').getLeft() - window.getSize().size.x * 0.023 - (window.ie ? 19 : 22))+'px';
	//var top = ($('backInpImg').getTop() + 22)+'px';
	//var left = ($('backInpImg').getLeft() - 4)+'px';
	var div = $('showResultPName');
	if(!div) {
		div = new Element('div');
		div.injectInside($(document.body));
		div.id = 'showResultPName';
	}
	$(document.body).addEvent('click', function(){
		setTimeout("$(\"showResultPName\").addClass(\"hidden\");", 10);
	});
	new ajax('index.php?section=guest&module=forgotusername&cmd=findlike&family='+encodeURI(pname), {evalScripts:true}).request();
}

function familySearchResult()
{
	var pname = $('pnameval').value;
	if(!pname.trim()){
		alert('لطفا نام خانوادگی را وارد کنید');
		return false;
	}
	setLoading('result_box');
	new ajax('index.php?section=guest&module=forgotusername&cmd=search&family='+encodeURI(pname), {evalScripts:true, update:'result_box'}).request();
}

var xkbFarsi = true ;
var xkbTarget = null;
var browser = 'unknown';													
Mbr = navigator.userAgent.toLowerCase();
if (Mbr.indexOf("opera") != -1)
	browser = 'opera';
else if (Mbr.indexOf("msie") != -1)
	browser = 'msie';
else if (Mbr.indexOf("gecko") != -1)
	browser = 'gecko';
var xkbMapFa = {
				39:1711, //	گ
				126:215, //	×
				44:1608, //	و
				59:1603, //	ك
				63:1567, //	؟
				98:1584, //	ذ
				68:1610, //	ي
				100:1610,//	ي
				71:1604, //	ل
				103:1604,//	ل
				72:1570, //	آ
				124:247, //	÷
				78:1583, //	د
				110:1583,//	د
				77:1569, //	ء
				116:1601,//	ف
				66:1573, //	إ
				91:1580, //	ج
				92:1662, //	پ
				93:1670, //	چ
				96:1662, //	پ
				65:1588, //	ش
				97:1588, //	ش
				67:1688, //	ژ
				99:1586, //	ز
				88:1610, //	ي
				69:1579, //	ث
				101:1579,//	ث
				70:1576, //	ب
				102:1576,//	ب
				104:1575,//	ا
				73:1607, //	ه
				105:1607,//	ه
				74:1578, //	ت
				106:1578,//	ت
				75:1606, //	ن
				107:1606,//	ن
				76:1605, //	م
				108:1605,//	م
				109:1574,//	ئ
				78:1583, //	د
				110:1583,//	د
				79:1582, //	خ
				111:1582,//	خ
				80:1581, //	ح
				112:1581,//	ح
				81:1590, //	ض
				113:1590,//	ض
				82:1602, //	ق
				114:1602,//	ق
				87:1587, //	س
				119:1587,//	س
				85:1593, //	ع
				117:1593,//	ع
				86:1585, //	ر
				118:1585,//	ر
				87:1589, //	ص
				119:1589,//	ص
				120:1591,//	ط
				89:1594, //	غ
				121:1594,//	غ
				90:1592, //	ظ
				122:1592,//	ظ
				44:1608, //	و
				84:1548, //	،
				83:1587, //	س
				115:1587,//	س
				48:1776, //	0
				49:1777, //	1
				50:1778, //	2
				51:1779, //	3
				52:1780, //	4
				53:1781, //	5
				54:1782, //	6
				55:1783, //	7
				56:1784, //	8
				57:1785  //	9
								};
var xkbMapEn = {};
for(i in xkbMapFa){
	xkbMapEn[xkbMapFa[i]] = Number(i);
}
xkbMapEn[1740] = 88;
xkbMapEn['ی'.charCodeAt(0)] = 'd'.charCodeAt(0);
function xConvertFarsi(fld,e, kbStat) 										
{
	xkbTarget = e.target;
	if(typeof(kbStat) == "undefined")
		kbStat = xkbFarsi;
		
	if(!kbStat)
		xkbMap = xkbMapEn;
	else
		xkbMap = xkbMapFa;
		
	k =(browser == "msie") ? event.keyCode : e.which ;
	if (typeof(xkbMap[k])=='number') {
		if (browser == "msie")
			event.keyCode = xkbMap[k] ;
		else if (browser == 'gecko') {
			var EVT = document.createEvent("KeyEvents") ;
			EVT.initKeyEvent("keypress", true, true, document.defaultView, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, 0, xkbMap[k]) ;
			e.preventDefault() ;
			e.target.dispatchEvent(EVT) ;
		} else if (browser == 'opera') {
			fld.value  = fld.value + String.fromCharCode(xkbMap[k]);
			return false ;
		}
	}
}