/*
 * Javascript Thaana Keyboard 4.2
 *
 * Copyright (c) 2008 Jawish Hameed (jawish.org)
 * Licensed under the MIT license.
 */

var thaanaKeyboard={defaultKeyboard:'',_transFrom:'qwertyuiop[]\\asdfghjkl;\'zxcvbnm,./QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?()',_transToKbd:{'phonetic':'ްއެރތޔުިޮޕ][\\ަސދފގހޖކލ؛\'ޒ×ޗވބނމ،./ޤޢޭޜޓޠޫީޯ÷}{|ާށޑﷲޣޙޛޚޅ:\"ޡޘޝޥޞޏޟ><؟)(','phonetic-hh':'ޤަެރތޔުިޮޕ][\\އސދފގހޖކލ؛\'ޒޝްވބނމ،./ﷲާޭޜޓޠޫީޯޕ}{|ޢށޑޟޣޙޛޚޅ:\"ޡޘޗޥޞޏމ><؟)(','typewriter':'ޫޮާީޭގރމތހލ[]ިުްަެވއނކފﷲޒޑސޔޅދބށޓޯ×’“/:ޤޜޣޠޙ÷{}<>.،\"ޥޢޘޚޡ؛ޖޕޏޗޟޛޝ\\ޞ؟)('},_className:'thaanaKeyboardInput',init:function(){this.setHandlerByClass(this._className,'enable')},setHandlerById:function(a,b){var c=document.getElementById(a);switch(b){case'enable':c.onkeypress=this.handleKey;break;case'disable':c.onkeypress=null;break}},setHandlerByClass:function(a,b){var c=new RegExp('\\b'+a+'\\b');var d=document.all||document.getElementsByTagName('*');for(n=0;n<d.length;n++){if(c.test(d[n].className)){this.setHandlerById(d[n].id,b)}}},handleKey:function(e){if(!e)var e=window.event;if(e.which==null){keycode=e.keyCode}else if(e.which>0){keycode=e.which;if(window.opera&&[45,46,35,36].indexOf(keycode)==1)return true}else{return true}if(e.modifier){var a=e.modifiers&Event.CONTROL_MASK}else if(typeof(e.ctrlKey)!='undefined'){var a=e.ctrlKey}try{var b=thaanaKeyboard._transFrom.indexOf(String.fromCharCode(keycode));if(b==-1||a)return true;var c=thaanaKeyboard.defaultKeyboard;var d=document.getElementsByName(this.id+'_thaanaKeyboardState');if(d){for(i=0;i<d.length;i++){if(d[i].type=='radio'||d[i].type=='checkbox'){if(d[i].checked==true){c=d[i].value;break}}else if(d[i].type=='select-one'){c=d[i].options[d[i].selectedIndex].value;break}else if(d[i].type=='hidden'||d[i].type=='text'){c=d[i].value;break}}}var f=thaanaKeyboard._transToKbd[c].substr(b,1)}catch(err){return}if(typeof e.preventDefault=='function'){e.preventDefault()}else{e.returnValue=false}if(this.selectionStart){var g=this.selectionStart+1;this.value=this.value.substring(0,this.selectionStart)+f+this.value.substring(this.selectionEnd,this.value.length);this.focus();this.setSelectionRange(g,g)}else if(document.selection){this.focus();sel=document.selection.createRange();sel.text=f}else{this.value+=f}}};var old=(window.onload)?window.onload:function(){};window.onload=function(){old();thaanaKeyboard.init()};