$(document).ready(function() {
	var FarsiType = {
	farsiKey : [
	   0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 0x066A, 0x060C, 0x06AF,
	   0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F,
	   0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
	   0x0038, 0x0039, 0x003A, 0x0643, 0x003E, 0x003D, 0x003C, 0x061F,
	   0x066C, 0x0624, 0x200C, 0x0698, 0x0649, 0x064D, 0x0625, 0x0623,
	   0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D,
	   0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C,
	   0x0058, 0x0650, 0x0643, 0x062C, 0x067E, 0x0686, 0x00D7, 0x0640,
	   0x200D, 0x0634, 0x0630, 0x0632, 0x064A, 0x062B, 0x0628, 0x0644,
	   0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x067E, 0x062F, 0x062E,
	   0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635,
	   0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E ]
	}
	function getCaretPosition(ctl){
		var res = {begin: 0, end: 0 };
		if (ctl.setSelectionRange){
			res.begin = ctl.selectionStart;
			res.end = ctl.selectionEnd;
		}else if (document.selection && document.selection.createRange){
			var range = document.selection.createRange();			
			res.begin = 0 - range.duplicate().moveStart('character', -100000);
			res.end = res.begin + range.text.length;
		}
		return res;
	};
	function setCaretPosition(ctl, pos){		
		if(ctl.setSelectionRange){
			ctl.focus();
			ctl.setSelectionRange(pos,pos);
		}else if (ctl.createTextRange){
			var range = ctl.createTextRange();
			range.collapse(true);
			range.moveEnd('character', pos);
			range.moveStart('character', pos);
			range.select();
		}
	};
	
	function Fa(e){
		key = e.which;
			if (e.ctrlKey || e.altKey || e.metaKey || key == 13 || key == 27 || key == 8) return;
			if (key>128){
				alert("لطفا زبان ويندوز خود را بر روي انگليسي قرار دهيد.\r\nPlease change your windows language to English.");
				return false;
			}
			if (key > 31 && key < 128) {
				if ( (key >= 65 && key <= 90) && !e.shiftKey ) {
					alert("کليد کپس لاک را خاموش کنيد.");
					return false;
				}
				else if ( (key >= 97 && key <= 122 ) && e.shiftKey ) {
					alert("˜کليد کپس لاک را خاموش کنيد.");
					return false;
				}
				if (key == 32 && e.shiftKey){
					key = 8204;
				}else{
					key = FarsiType.farsiKey[key-32];
					var pos = getCaretPosition(this);
					var str = String.fromCharCode(key);
					$(this).val($(this).val().substring(0, pos.begin) + str + $(this).val().substring(pos.end) );
					setCaretPosition(this,pos.end+1)
					return false;
				}
			}
	}
	$('input[lang=fa]').keypress(Fa);
	
		var container = $('div.error');
		var validator = $("#prcForm").validate({
			errorContainer: container,
			errorLabelContainer: $("ol", container),
			wrapper: 'li',
			meta: "validate",
			rules: {
				code: {required: true,minlength: 13}
			},
			messages: {
				code:"کد رهگیری را وارد نمایید"			
			}
		});

		var validator = $("#prnForm").validate({
			errorContainer: container,
			errorLabelContainer: $("ol", container),
			wrapper: 'li',
			meta: "validate",
			rules: {
				firstname: {required: true,minlength: 3},
				lastname: {required: true,minlength: 3},
				nationalcode: {required: true,digits: true, minlength: 10}
			},
			messages: {
				firstname: {
					required: "نام را وارد کنید.",
					minlength: "حداقل ورودی برای نام 3 کاراکتر می باشد"
					},
				lastname: {
					required: "نام خانوادگی را وارد کنید.",
					minlength: "حداقل ورودی برای نام خانوادگی 3 کاراکتر می باشد"
					},
				nationalcode: "کد ملی خود را وارد کنید"
			}
		});

});	

