var bname = navigator.appName;
if(bname == "Opera"){
	nav = "Opera"
}else
if(bname == "Netscape"){
	nav = "Netscape"
}else
if(bname == "Microsoft Internet Explorer"){
	nav = "IE"
}
var caps = 0
var shift1 = 0
document.onkeydown = checkKeycodedown
document.onkeyup = checkKeycodeup
function checkKeycodedown(event){
	if(window.event){
		keycode = window.event.keyCode
	}else{
	var keycode = event.keyCode
	}
	if (keycode == 20){
		if (caps == 0){
			document.getElementById('keyboardcaps').style.zIndex = 5
			caps = 1
			}else
		if (caps = 1){
			document.getElementById('keyboardcaps').style.zIndex = 1
			caps = 0
		}
		}else
	if (keycode == 16){
		document.getElementById('keyboardcaps').style.zIndex = 1
		caps = 0
		document.getElementById('keyboardshift').style.zIndex = 5
	}else{
		document.getElementById(keycode).style.backgroundColor="#009"
		document.getElementById(keycode).style.color="#FFF"
		document.getElementById('s'+keycode).style.backgroundColor="#009"
		document.getElementById('s'+keycode).style.color="#FFF"
		document.getElementById('c'+keycode).style.backgroundColor="#009"
		document.getElementById('c'+keycode).style.color="#FFF"

	}
}
function checkKeycodeup(event){
	if(window.event){
		keycode = window.event.keyCode
	}else{
	var keycode = event.keyCode
	}
	if (keycode == 20){return}
	if (keycode == 16){
		document.getElementById('keyboardshift').style.zIndex = 1
	}else{
		document.getElementById(keycode).style.backgroundColor="#CAF2FF"
		document.getElementById(keycode).style.color="#000"
		document.getElementById('s'+keycode).style.backgroundColor="#CAF2FF"
		document.getElementById('s'+keycode).style.color="#000"
		document.getElementById('c'+keycode).style.backgroundColor="#CAF2FF"
		document.getElementById('c'+keycode).style.color="#000"
		}
}
function editor(el){
	widget = el

}
function urduchar(event,value){
		var test = Array	
			test['a']='ا'
			test['b']='ب'
			test['c']='چ'
			test['d']='د'
			test['e']='ع'
			test['f']='ف'
			test['g']='گ'
			test['h']='ھ'
			test['i']='ی'
			test['j']='ج'
			test['k']='ک'
			test['l']='ل'
			test['m']='م'
			test['n']='ن'
			test['o']='ہ'
			test['p']='پ'
			test['q']='ق'
			test['r']='ر'
			test['s']='س'
			test['t']='ت'
			test['u']='ء'
			test['v']='ط'
			test['w']='و'
			test['x']='ش'
			test['y']='ے'
			test['z']='ز'
			test['A']='ٓ'
			test['B']='ؓ'
			test['C']='ث'
			test['D']='ڈ'
			test['E']='ؑ'
			test['F']='ٖ'
			test['G']='غ'
			test['H']='ح'
			test['I']='ٰ'
			test['J']='ض'
			test['K']='خ'
			test['L']='ؒ'
			test['M']='٘'
			test['N']='ں'
			test['O']='ۃ'
			test['P']='ُ'
			test['Q']='ۡ'
			test['R']='ڑ'
			test['S']='ص'
			test['T']='ٹ'
			test['U']='ٗ'
			test['V']='ظ'
			test['W']='ﷺ'
			test['X']='ژ'
			test['Y']='؁'
			test['Z']='ذ'
			test['`']='ٍ'
			test['~']='ً'
			test['1']='۱'
			test['!']='!'
			test['2']='۲'
			test['@']='؀'
			test['3']='۳'
			test['#']='/'
			test['4']='۴'
			test['$']='ئ'
			test['5']='۵'
			test['%']='ؕ'
			test['6']='۶'
			test['^']='ؐ'
			test['7']='۷'
			test['&']='ٔ'
			test['8']='۸'
			test['*']='ٌ'
			test['9']='۹'
			test['(']=')'
			test['0']='۰'
			test[')']='('
			test['-']='أ'
			test['_']='ّ'
			test['=']='ؤ'
			test['+']='آ'
			test['[']=']'
			test['{']='؃'
			test[']']='['
			test['}']='؎'
			test['\\']='؂'
			test['|']='ؔ'
			test[';']='؛'
			test[':']=':'
			test['\'']='\''
			test['\"']='"'
			test[',']='،'
			test['<']='ِ'
			test['.']='۔'
			test['>']='َ'
			test['/']='ؕ'
			test['?']='؟'
	if (!value){
		widget.onkeydown = tab;
		widget.onkeypress = uru;
	}else
	if(value){	
		if(value == "tab"){
			if(document.selection){
				widget.focus()
				var Se1 = document.selection.createRange();
				Se1.text = "\t"
				Se1.select()	
			}else{
				var char = "\t"
				var pos = widget.selectionStart;
				widget.value = widget.value.substr(0, widget.selectionStart) +
							   char +
							   widget.value.substr(widget.selectionEnd);
				widget.focus()
				widget.setSelectionRange(pos+1, pos+1);
				widget.scrollTop = widget.scrollHeight
			}
		}
		if(value == "space"){
			if(document.selection){
				widget.focus()
				var Se1 = document.selection.createRange();
				Se1.text = " "
				Se1.select()	
			}else{
				var char = ' '
				var pos = widget.selectionStart;
				widget.value = widget.value.substr(0, widget.selectionStart) +
							   char +
							   widget.value.substr(widget.selectionEnd);
				widget.focus()
				widget.setSelectionRange(pos+1, pos+1);
				widget.scrollTop = widget.scrollHeight
			}
		}else
		if(value == "back"){
			if(document.selection){
				widget.focus()
				var Se2 = document.selection.createRange();
				if(Se2.text.length != 0){
					Se2.text = ""
				}else{
				Se2.moveStart ('character', -1);
				Se2.text = ""
				widget.scrollTop = widget.scrollHeight}	
			}else{
				var char = ''
				var pos = widget.selectionStart;
				widget.value = widget.value.substr(0, widget.selectionStart-1) +
							   char +
							   widget.value.substr(widget.selectionEnd);
				widget.focus()
				widget.setSelectionRange(pos-1, pos-1);
				widget.scrollTop = widget.scrollHeight
			}
		}else 
		if(value == "enter"){
			if(widget.setSelectionRange){
				var pos = widget.selectionStart;
				widget.value = widget.value.substr(0,widget.selectionStart)
								+ "\n" +
								widget.value.substr(widget.selectionEnd)
				widget.focus()
				if(nav != "Opera"){
				widget.setSelectionRange(pos+1, pos+1);}
				widget.scrollTop = widget.scrollHeight
			}else{
				widget.focus()
				var Sel = document.selection.createRange();
				if(Sel.text.length != 0){
					Sel.text = ""+"\n"
					Sel.select()
				}else
					Sel.text = "\n"
					Sel.select()
					widget.scrollTop = widget.scrollHeight	
			}
		}else
		if(value == "caps"){
			if (caps == 0){
				if(document.selection){
					widget.focus()
					var Sel = document.selection.createRange();
					Sel.select()
				}				
				document.getElementById('keyboardcaps').style.zIndex = 5
				caps = 1
			}else
			if (caps = 1){
				if(document.selection){
					widget.focus()
					var Sel = document.selection.createRange();
					Sel.select()
				}
				document.getElementById('keyboardcaps').style.zIndex = 1
				caps = 0
		}
		}else
		if(value == "shift"){
			if (shift1 == 0){
				if(document.selection){
					widget.focus()
					var Sel = document.selection.createRange();
					Sel.select()
				}
				document.getElementById('keyboardshift').style.zIndex = 5
				shift1 = 1
			}else
			if (shift1 = 1){
				if(document.selection){
					widget.focus()
					var Sel = document.selection.createRange();
					Sel.select()
				}
				document.getElementById('keyboardshift').style.zIndex = 1
				shift1 = 0
			}
		}else{
			if(document.selection){
				var urdu = test[value];
				if (urdu) {
					widget.focus()
					var Sel = document.selection.createRange();
					Sel.text = urdu;
					Sel.select()
				  widget.scrollTop = widget.scrollHeight
				}		
			}else{
				var pos = widget.selectionStart;
				var urdu = test[value];
				if (urdu) {
				  widget.value = widget.value.substring(0, widget.selectionStart) +
								 urdu +
								 widget.value.substring(widget.selectionEnd);
				  widget.focus()
				  widget.setSelectionRange(pos+1, pos+1);
				  widget.scrollTop = widget.scrollHeight
				}
			}
		}
	}

	function uru(event){
		if(window.event){
			var char = String.fromCharCode(window.event.keyCode);
		}else{
			var char = String.fromCharCode(event.charCode);
		}
		if(document.selection){
			widget.focus()
			var Sel = document.selection.createRange();
			if(Sel.text.length != 0){
				var urdu = test[char]
				if(urdu){
					Sel.text = urdu;
					var selectPoint = Sel.text.length
					Sel.moveStart ('character', -widget.value.length);
					var endPoint = Sel.text.length
					var startPoint = Sel.text.length - selectPoint
					var range = widget.createTextRange(); 
					range.move("character", startPoint+1); 
					range.select()
					return false
				}else{return true}
			}else
			if(Sel.text.length == 0){
				var urdu = test[char];
				if (urdu) {
					Sel.text = urdu;
					return false;
				}else{return true}
			}
		}
		if(widget.setSelectionRange){
			var pos = widget.selectionStart;
			var urdu = test[char];
			if (urdu) {
				widget.value =  widget.value.substring(0, widget.selectionStart) +
								urdu +
								widget.value.substring(widget.selectionEnd);
				widget.focus()
				widget.setSelectionRange(pos+1, pos+1);
				widget.scrollTop = widget.scrollHeight
				return false;
			}else{return}
		}
		return true;
	};
	function tab(event){
		if(window.event){
			var keycode = window.event.keyCode
		}else{
			var keycode = event.keyCode
		}
		if(keycode == 9){
			if(widget.setSelectionRange){
				var char = "\t"
				var pos = widget.selectionStart;
				widget.value = widget.value.substr(0, widget.selectionStart) +
							   char +
							   widget.value.substr(widget.selectionEnd);
				widget.focus();
				widget.setSelectionRange(pos+1, pos+1);
				widget.scrollTop = widget.scrollHeight
				return false
			}else{
				widget.focus()
				var Se1 = document.selection.createRange();
				Se1.text = "\t"
				Se1.select()	
				return false
			}
		}
	}
}
