var GgaDev=new Array();
var GgaCon = Array('k','kh','g','gh','G','ch','c','chh','j','z','Y','T','Th','D','Dh','N','t','th','d','dh','n','p','pop','f','b','bh','m','y','r','l','v','sh','Sh','s','S','h','L','x','jn','kJ','khJ','gJ','jJ','DJ','DhJ','fJ','yJ','map');
var GgaMod= Array ("\u094D","_","\u093E","\u093F","\u0940","\u0941","\u0942","\u0947","\u0948","\u094B","\u094C","\u0903","\u0903","\u0949","\u093E\u0901","\u0945","\u0901","\u0943","\u0943","\u0944","\u0962","\u0962","\u0963","\u0902","\u0941\u0901","\u0942\u0901");
var GgaAd = Array('_','a','A','i','I','u','U','e','ai','o','au',':','a:','O','OM','E','EM','R','Ru','RU','Rl','Rlu','RlU','M','EMu','EMU');
var GgaUBase = Array("\u0915","\u0916","\u0917","\u0918","\u0919","\u091A","\u091A","\u091B","\u091C","\u091D","\u091E","\u091F","\u0920","\u0921","\u0922","\u0923","\u0924","\u0925","\u0926","\u0927","\u0928","\u092A","\u092A\u094B\u092A","\u092B","\u092C","\u092D","\u092E","\u092F","\u0930","\u0932","\u0935","\u0936","\u0937","\u0938","\u0938","\u0939","\u0933","\u0915\u094D\u0937","\u091C\u094D\u091E","\u0958","\u0959","\u095A","\u095B","\u095C","\u095D","\u095E","\u095F","\u092E\u092A");
for(var __c=0;__c < GgaCon.length;__c++)
{	for( var __a=0; __a < GgaAd.length; __a ++)
	{	switch(__a)
		{ case 0: GgaDev[GgaCon[__c]]=GgaUBase[__c]+GgaMod[0];break;
		  case 1: GgaDev[GgaCon[__c]+GgaAd[__a]]=GgaUBase[__c];	break;
		  default: GgaDev[GgaCon[__c]+GgaAd[__a]] = GgaUBase[__c]+GgaMod[__a];
		}
	}
}
GgaDev['a']="\u0905";GgaDev['A']="\u0906";GgaDev['i']="\u0907";GgaDev['I']="\u0908";GgaDev['u']="\u0909";GgaDev['U']="\u090A";GgaDev['e']="\u090F";GgaDev['ai']="\u0910";GgaDev['o']="\u0913";GgaDev['au']="\u0914";GgaDev['M']="\u0902";
GgaDev['.']="\u002E";GgaDev['E']='\u090D';GgaDev['EM']='\u0905\u0901';GgaDev['AUM']='\u0950';GgaDev['O']='\u0911';GgaDev['OM']='\u0906\u0901';GgaDev['AU']=GgaDev['O'];
GgaDev['Rl']='\u0961';GgaDev['Rlu']='\u0961';GgaDev['+h']="\u094D";
GgaDev['R']='\u0930\u094D\u200D';
GgaDev['Ru']='\u090B';GgaDev['RU']='\u0960';GgaDev['Ro']='\u0931\u094B';
GgaDev['a~']="\u093D"; // avagraha
GgaDev["q"]="\u0951"; // udaatt
GgaDev["qq"]="\u0952"; // anudaatt
GgaDev["Q"]="\u0953"; // grave
GgaDev["QQ"]="\u0954"; // accute
GgaDev["J"]="\u093C"; //nukta
GgaDev["K"]="\u093C"; //nukta
GgaDev["a^"]="\u0970"; // abbreviation
GgaDev["H"]="\u0964"; // charan 
GgaDev["HH"]="\u0965"; // 2 charan
GgaDev['0']='\u0966';GgaDev['1']='\u0967';GgaDev['2']='\u0968';GgaDev['3']='\u0969';GgaDev['4']='\u096A';GgaDev['5']='\u096B';GgaDev['6']='\u096C';GgaDev['7']='\u096D';GgaDev['8']='\u096E';GgaDev['9']='\u096F';GgaDev['~']='\u007E';GgaDev['`']='\u0060';GgaDev['!']='\u0021';GgaDev['@']='\u0040';GgaDev['#']='\u0023';GgaDev['$']='\u0024';GgaDev['%']='\u0025';GgaDev['^']='\u005E';GgaDev['&']='\u0026';GgaDev['*']='\u002A';GgaDev['(']='\u0028';GgaDev[')']='\u0029';GgaDev['-']='\u002D';GgaDev['=']='\u003D';GgaDev['_']='\u005F';GgaDev['+']='\u002B';GgaDev['[']='\u005B';GgaDev[']']='\u005D';GgaDev['{']='\u007B';GgaDev['}']='\u007D';GgaDev[';']='\u003B';GgaDev['\'']='\u0027';
GgaDev[':']='\u003A';GgaDev['"']='\u0022';GgaDev[',']='\u002C';GgaDev['/']='\u002F';GgaDev['<']='\u003C';GgaDev['>']='\u003E';GgaDev['?']='\u003F';GgaDev['\\']='\u005C';GgaDev['|']='\u007C';

var GgaArabic = new Array();
// If you want to  exclude arabic for your development then remoev the following lines of code below this comment and do not set language to '__urdu__' anywhere
GgaArabic['a'] = "\u0627";GgaArabic['A'] = "\u0627\u0653";GgaArabic['aa'] = GgaArabic['A'];
GgaArabic['b'] = "\u0628";GgaArabic['p'] = "\u067E";GgaArabic['t'] = "\u062A";GgaArabic['T'] = "\u0679";GgaArabic['S'] = "\u062B";
GgaArabic['j'] = "\u062C";GgaArabic['c'] = "\u0686";GgaArabic['h'] = "\u062D";GgaArabic['kh'] = "\u062E";GgaArabic['d'] = "\u062F";GgaArabic['D'] = "\u0688";GgaArabic['J'] = "\u0630";
GgaArabic['R'] = GgaArabic['r'] = "\u0631";GgaArabic['D.'] = "\u0691";GgaArabic['j.'] = "\u0632";GgaArabic['js'] = "\u0698";
GgaArabic['s'] = "\u0633";GgaArabic['sh'] = "\u0634";GgaArabic['sw'] = "\u0635";GgaArabic['jw'] = "\u0636";GgaArabic['T.'] = "\u0637";GgaArabic['J.'] = "\u0638";
GgaArabic['E'] = "\u0639";GgaArabic['g'] = "\u063A";GgaArabic['f'] = "\u0641";GgaArabic['q'] = "\u0642";GgaArabic['Q'] = "\u0642";GgaArabic['k'] = "\u0643";GgaArabic['K'] = "\u06A9";GgaArabic['G'] = "\u06AF";
GgaArabic['l'] = "\u0644";GgaArabic['m'] = "\u0645";GgaArabic['n'] = "\u0646";GgaArabic['N'] = "\u06BA";
GgaArabic['Z']=GgaArabic['z'] = GgaArabic['j'];
//GgaArabic['N'] = "\u0658";
GgaArabic['v'] = "\u0648";GgaArabic['o'] = GgaArabic['w'] = GgaArabic['W'] = GgaArabic['v'];GgaArabic['H'] = "\u0647";GgaArabic['~~'] = "\u06BE";GgaArabic['y'] = "\u06CC";GgaArabic['Y'] = "\u06D2";
GgaArabic['e'] = GgaArabic['Y'];
GgaArabic['i'] = "\u0650";  // jer
GgaArabic['I'] = GgaArabic['y'];GgaArabic['u'] = "\u064F";
GgaArabic['U'] = GgaArabic['u'] + GgaArabic['v'];
GgaArabic['~#'] = "\u06E1"; // jajm
GgaArabic['~2'] = "\u0651"; // tasdid
//GgaArabic['~']='\u007E';
GgaArabic['.']="\u06D4";GgaArabic[',']="\u060C";GgaArabic[';']="\u061B";GgaArabic['\?']="\u061F";GgaArabic['x']="\u0614"; // takhallus
GgaArabic['~'] = "\u0653";GgaArabic['@'] = "\u0654";GgaArabic['.@']='\u0655';GgaArabic['.*']='\u062D';GgaArabic['\/'] = "\u064E";  // ulti jajm
GgaArabic['\/\/'] = "\u064B"; // jabar
GgaArabic['au'] = GgaArabic['\/']+GgaArabic['o'] ;GgaArabic['O'] = GgaArabic['o'];GgaArabic['P'] = GgaArabic['p'];GgaArabic['F'] = GgaArabic['f'];GgaArabic['L'] = GgaArabic['l'];GgaArabic['C'] = GgaArabic['c'];
GgaArabic['V'] = GgaArabic['v'];GgaArabic['B'] = GgaArabic['b'];GgaArabic['M'] = GgaArabic['m'];GgaArabic['0'] = "\u0660";GgaArabic['1'] = "\u0661";GgaArabic['2'] = "\u0662";GgaArabic['3'] = "\u0663";GgaArabic['4'] = "\u0664";GgaArabic['5'] = "\u0665";GgaArabic['6'] = "\u0666";GgaArabic['7'] = "\u0667";GgaArabic['8'] = "\u0668";GgaArabic['9'] = "\u0669";
GgaArabic[':']='\u003A';GgaArabic['"']='\u0022';GgaArabic[',']='\u002C';GgaArabic['/']='\u002F';GgaArabic['<']='\u003C';GgaArabic['>']='\u003E';GgaArabic['\\']='\u005C';GgaArabic['|']='\u007C';
GgaArabic['`']='\u0060';GgaArabic['!']='\u0021';GgaArabic['#']='\u0023';GgaArabic['$']='\u0024';GgaArabic['%']='\u0025';GgaArabic['^']='\u005E';GgaArabic['&']='\u0026';GgaArabic['*']='\u002A';GgaArabic['(']='\u0028';GgaArabic[')']='\u0029';GgaArabic['-']='\u002D';GgaArabic['=']='\u003D';GgaArabic['_']='\u005F';GgaArabic['+']='\u002B';GgaArabic['[']='\u005B';GgaArabic[']']='\u005D';GgaArabic['{']='\u007B';GgaArabic['}']='\u007D';
GgaArabic['\'']='\u0027';GgaArabic['X']=GgaArabic['x'] = GgaArabic['k']+GgaArabic['s'];
//gl.js
var GgvMrAutoCor=false; GgvOldStr="";var __GgvActPane;var GgvAsciiString="";var __GgaShift = new Array(7);var __GgaMap=GgaDev;__GgaShift['__devanagari__']=0;__GgaShift['__bengoli__']=128;__GgaShift['__gurumukhi__']=256;__GgaShift['__gujarati__']=384;__GgaShift['__kannada__']=896;__GgaShift['__malayalam__']=1024;__GgaShift['__telugu__']=768;var GgvLocationType;var GgvAN=null;var GgvTN=null;var GgvBN=null;var GgvIN=null;var GgvNN = null;var GgvON=null;var GgvThisCont;var GgvSel;var GgvRng;var Ggves=false;var GgvPos=0;var GgvText=null;var GgvIE=false;var GgvMozilla=false;var __GgvLangShift=0;var __GgvLang='__roman__';var __Ggvaltlang="__roman__";
function GfSwapLanguage() {if ( __Ggvaltlang != '__roman__' && __GgvLang != '__roman__' ) __Ggvaltlang = '__roman__';swplang = __Ggvaltlang;__Ggvaltlang = __GgvLang;__GgvLang=swplang;GfSetLanguage(__GgvLang);}
function GfHandleCtrl(GivEveObj){if (!document.all) GlvHandleKey = GivEveObj.which;else {if(GivEveObj.keyCode==0) GlvHandleKey = GivEveObj.charCode;else GlvHandleKey = GivEveObj.keyCode;}if((document.all && GlvHandleKey == 28) || (!document.all && GlvHandleKey == 92)) GfSwapLanguage();}
function GfNonPhonetic(GivKey){if( GivKey == 0 || GivKey==8 || GivKey==13 || GivKey==9 || GivKey== 32 || GivKey == 33 || GivKey == 34 || GivKey == 35 || GivKey == 36 || GivKey==37 || GivKey==38 || GivKey==39 || GivKey==40 || GivKey==45 || GivKey==60 || GivKey==62)	{return true;} else {return false;}}
function GfResetGvars(){Ggves=false;GgvNN=null;GgvText=null;GgvAN=null;GgvTN=null;GgvBN=null;GgvIN=null;GgvON=null;GgvAsciiString="";GgvOldStr="";}
function GfSetLanguage(GivLang){ if(GivLang=='') return false; if(__GgaShift[GivLang]) {GfResetGvars();__GgvLangShift=__GgaShift[GivLang];__GgvLang = GivLang;} if(GivLang=='__roman__' || (!__GgaShift[GivLang])) {GfResetGvars();__GgvLangShift=0;__GgvLang=GivLang;} if(__GgvLang == '__devanagari__' || __GgvLang == '__bengoli__' || __GgvLang == '__gurumukhi__' || __GgvLang =='__gujarati__' || __GgvLang =='__kannada__' || __GgvLang =='__malayalam__' || __GgvLang =='__telugu__') __GgaMap=GgaDev;if(__GgvLang == '__urdu__' ){__GgaMap=GgaArabic;if(__GgvActPane) __GgvActPane.style.direction = 'rtl';}return true;}
function GfShiftRequired(GlvUniVal){if (GlvUniVal == '\u007E' || GlvUniVal =='\u0060'|| GlvUniVal =='\u0021'|| GlvUniVal =='\u0040'|| GlvUniVal =='\u0023'|| GlvUniVal =='\u0024'|| GlvUniVal =='\u0025'|| GlvUniVal =='\u005E'|| GlvUniVal =='\u0026'|| GlvUniVal =='\u002A'|| GlvUniVal =='\u0028'|| GlvUniVal =='\u0029'|| GlvUniVal =='\u002D'|| GlvUniVal =='\u003D'|| GlvUniVal =='\u005F'|| GlvUniVal =='\u002B'|| GlvUniVal =='\u005B'|| GlvUniVal =='\u005D'|| GlvUniVal =='\u007B'|| GlvUniVal =='\u007D'|| GlvUniVal =='\u003B'|| GlvUniVal =='\u0027'|| GlvUniVal =='\u003A'|| GlvUniVal =='\u0022'|| GlvUniVal =='\u002C'|| GlvUniVal =='\u002F'|| GlvUniVal =='\u003C'|| GlvUniVal =='\u003E'|| GlvUniVal =='\u003F'|| GlvUniVal =='\u005C'|| GlvUniVal =='\u007C') return false; else return true;}
function GfAttachPhoneticsToEditableId(GivId){var Glfmyfunc=new Function("e","__GgvActPane = '"+GivId+"';GfKeyboardListener(e);");var GlfmyfuncProxy=new Function("e","__GgvActPane = '"+GivId+"';GfKeyboardListenerProxy(e);");
if(document.all){GgvIE=true;var  GlvObj=document.getElementById(GivId);GlvObj.onfocus=function(){__GgvActPane=GivId;GfResetGvars()};GlvObj.onblur=function(){GfResetGvars();__GgvActPane=null;};GlvObj.onclick=function(){__GgvActPane=GivId;GfResetGvars()};
if(document.getElementById(GivId).contentWindow) {var GlvDoc=document.getElementById(GivId).contentWindow.document;GlvDoc.onkeypress= Glfmyfunc;GlvDoc.onkeydown= GlfmyfuncProxy;GlvDoc.onclick= function(){__GgvActPane=GivId;GfResetGvars()};}
else {GlvObj.onkeypress= Glfmyfunc;GlvObj.onkeydown= GlfmyfuncProxy;GlvObj.onclick= function(){__GgvActPane=GivId;GfResetGvars()};}} else {GgvMozilla=true;if(document.getElementById(GivId).contentWindow) {var GlvDocM = document.getElementById(GivId).contentWindow.document;var Glfmyfunc2=new Function("e","__GgvActPane = '"+GivId+"';GfResetGvars();");var Glfmyfunc3=new Function("e","GfResetGvars();__GgvActPane=null;");GlvDocM.addEventListener("focus",Glfmyfunc2 , true);GlvDocM.addEventListener("click", Glfmyfunc2, true);GlvDocM.addEventListener("blur", Glfmyfunc3,  true);}
else {var GlvObjM = document.getElementById(GivId);GlvObjM.onfocus=function(){__GgvActPane=GivId;GfResetGvars();};GlvObjM.onclick=function(){__GgvActPane=GivId;GfResetGvars();};GlvObjM.onblur=function(){GfResetGvars();__GgvActPane=null;};}
try {if(document.getElementById(GivId).contentWindow) document.getElementById(GivId).contentWindow.document.addEventListener("keypress", Glfmyfunc, true); else document.getElementById(GivId).onkeypress= GfKeyboardListener;}catch (e){ alert("Error preloading content.");}}}
function GfKeyboardListenerProxy(GivEvent){if(__GgvLang!='') {var GlvState = (typeof document.getElementById(__GgvActPane).contentWindow == "undefined")?false:true;if(!(GlvState==true && GgvMozilla)) 
{ var GlvThisEvent; if(GgvIE && document.getElementById(__GgvActPane).contentWindow) GlvThisEvent=document.getElementById(__GgvActPane).contentWindow.event; else GlvThisEvent=(window.event) ? window.event : GivEvent;
if (GlvThisEvent.altKey) return;if (!GlvThisEvent.ctrlKey) { if(__GgvLang!='__roman__'){ var __GlvKeyStroke; if(GlvThisEvent.keyCode ==0) __GlvKeyStroke = GlvThisEvent.charCode; else __GlvKeyStroke = GlvThisEvent.keyCode;
if(GfNonPhonetic(__GlvKeyStroke)) {GgvOldStr="";GgvAsciiString="";return __GlvKeyStroke;}}return false;}}}return;}
function GfKeyboardListener(GivEvent){if(__GgvLang!='') { var GlvState = (typeof document.getElementById(__GgvActPane).contentWindow == "undefined")?false:true; if(GlvState==true && GgvMozilla) {if (GivEvent.altKey) return; if (!GivEvent.ctrlKey) { if(__GgvLang!='__roman__') { var __GlvKeyStroke = GivEvent.which;
if(GfNonPhonetic(__GlvKeyStroke)) { GfResetGvars();GgvAsciiString="";GgvOldStr="";return;} else{GfparsePhonetic(__GgvActPane,GivEvent.charCode);GivEvent.preventDefault();return false;}}} else {GfHandleCtrl(GivEvent);}return;}
else {var GlvThisEvent;if(GgvIE && document.getElementById(__GgvActPane).contentWindow) GlvThisEvent=document.getElementById(__GgvActPane).contentWindow.event; else GlvThisEvent=(window.event) ? window.event : GivEvent;
if (GlvThisEvent.altKey) return;if (!GlvThisEvent.ctrlKey) {  if(__GgvLang!='__roman__') {var __GlvKeyStroke;if(GlvThisEvent.keyCode ==0) __GlvKeyStroke = GlvThisEvent.charCode; else __GlvKeyStroke = GlvThisEvent.keyCode;
if(GgvIE) GlvThisEvent.returnValue=GfparsePhonetic(__GgvActPane,__GlvKeyStroke); else { if(GfNonPhonetic(__GlvKeyStroke) || __GlvKeyStroke == 46 ) {GgvOldStr="";GgvAsciiString="";return __GlvKeyStroke;}
GfparsePhonetic(__GgvActPane,__GlvKeyStroke);}return false;}} else { GfHandleCtrl(GlvThisEvent);}}}return;}
function GfparsePhonetic(GivId,GivCode) {var GlvChar = String.fromCharCode(GivCode);if(GivCode==8 || GivCode==32 || GivCode==0 || GivCode==13){ GgvOldStr="";GgvAsciiString="";Ggves=false;GgvNN = null;return;} GgvOldStr = GgvAsciiString;GgvAsciiString = GgvAsciiString + GlvChar;GfSpecialInsert(GivId);return false;}
function GfparsePhonetickey(GivCode){ if (!__GgaMap[GivCode]) return ""; else {  var GlvUnicodeX = __GgaMap[GivCode].toString(); var GlvLocalShift = 0; if(GfShiftRequired(GlvUnicodeX)) GlvLocalShift=__GgvLangShift; var GlvReturnCode; GlvReturnCode=""; for ( i = 0; i < GlvUnicodeX.length;i++) GlvReturnCode = GlvReturnCode.toString()+String.fromCharCode((GlvUnicodeX.charCodeAt(i)+GlvLocalShift)); return (GlvReturnCode);}}
function GfInsertPhoneticNodeMozilla(GivId,GivString) { GgvNN=document.createTextNode(GivString);
if(!Ggves) {GgvON=null;GgvNN=null;Ggves=true;GgvSel = document.getElementById(GivId).contentWindow.getSelection(); if(typeof GgvSel!="undefined") GgvRng=GgvSel.getRangeAt(0); else GgvRng= document.getElementById(GivId).contentWindow.document.createRange(); GgvThisCont=GgvRng.startContainer;GgvPos=GgvRng.startOffset;GgvLocationType=GgvThisCont.nodeType;
if(GgvLocationType!=3) GgvAN=GgvThisCont.childNodes[GgvPos]; else { GgvTN = GgvThisCont; GgvThisCont = GgvTN.parentNode; GgvText = GgvTN.nodeValue;}
GgvNN=document.createTextNode(GivString);var GlvTextBefore=""; if(GgvPos >0 && GgvText!=null) GlvTextBefore = GgvText.substr(0,GgvPos); var GlvTextAfter="";
if(GgvText!=null) GlvTextAfter = GgvText.substr(GgvPos); GgvBN = document.createTextNode(GlvTextBefore); if(!(GgvLocationType!=3)) GgvAN = document.createTextNode(GlvTextAfter);}
if (GgvON!=null && GgvNN!=null) {GgvThisCont.removeChild(GgvON);GgvThisCont.insertBefore(GgvNN, GgvAN);GgvON=GgvNN;}
if(GgvON==null && GgvNN!=null) {GgvON=GgvNN;if(GgvLocationType!=3)GgvThisCont.insertBefore(GgvNN,GgvAN); else {GgvThisCont.insertBefore(GgvAN,GgvTN);GgvThisCont.insertBefore(GgvNN,GgvAN);GgvThisCont.insertBefore(GgvBN,GgvNN);if(GgvText!=null) GgvThisCont.removeChild(GgvTN);}}
if(GgvLocationType!=3) {var GlvDevlen = GivString.length; GgvRng.setEnd(GgvNN,GlvDevlen); GgvRng.setStart(GgvNN,GlvDevlen);} else {GgvRng.setStart(GgvAN,0);GgvRng.setEnd(GgvAN,0);}}
function GfInsertPhoneticNodeIE(GivId,GivString,GivLength) { var GlvEle = document.getElementById(GivId);var GlvPane;if (GlvEle.document.selection) { if(!GlvEle.value) { if(GlvEle.contentWindow) GlvPane = GlvEle.contentWindow.document; else GlvPane = GlvEle.document;} else GlvPane = GlvEle.document; GgvRng = GlvPane.selection.createRange();}
if(GivLength!=0) {var GlvLength; if(!GlvEle.value) GlvLength = GlvPane.body.innerHTML.length; else GlvLength = GlvEle.value.length; if (GlvLength >= GivLength) { GgvRng.moveStart('character', -1*(GivLength));}} GgvRng.text = GivString; GgvRng.collapse(true);GgvRng.select();}
function GfMrAutoCorrect(inStr) {outStr=inStr;outStr=outStr.replace(eval("/^(maha|sa|ta|sA|tA)(tv)/g"),"$1ttv");outStr=outStr.replace(eval("/^(paraMt|kiMt)U$/g"),"$1u");outStr=outStr.replace(eval("/(krut)/g"),"kRut");outStr=outStr.replace(eval("/(krUt)/g"),"kRUt");outStr=outStr.replace(eval("/(dipAval)/g"),"dIpAval");outStr=outStr.replace(eval("/hArdIk$/g"),"hArdik");outStr=outStr.replace(eval("/(pratikSh)/g"),"pratIkSh");outStr=outStr.replace(eval("/(pratix)/g"),"pratIx");outStr=outStr.replace(eval("/(parikSh)/g"),"parIkSh");outStr=outStr.replace(eval("/(parix)/g"),"parIx");outStr=outStr.replace(eval("/(AshirvAd)/g"),"AshIrvAd");outStr=outStr.replace(eval("/(bhitI)/g"),"bhItI");outStr=outStr.replace(eval("/^(tathAp|AN|adyAp|kadAp|it|saMprat|saMprat|at|yathAshakt|yathAbuddh|yathAvidh|yathAsthit|yathAmat)I$/g"),"$1i");return outStr;}
function GfMrPreParse(GivStr) {var GlvFString;GlvFString = GivStr;if(GivStr.length>0) {GivStr=GivStr.replace(eval("/()\\.h()/g"),"$1\+h$2");GivStr=GivStr.replace(eval("/()\\.q()/g"),"$1J$2");GivStr=GivStr.replace(eval("/()\\.n()/g"),"$1M$2");GivStr=GivStr.replace(eval("/()aa()/g"),"$1A$2");GivStr=GivStr.replace(eval("/()ee()/g"),"$1I$2");GivStr=GivStr.replace(eval("/()oo()/g"),"$1U$2");GivStr=GivStr.replace(eval("/()uu()/g"),"$1U$2");GivStr=GivStr.replace(eval("/()C()/g"),"$1ch$2");GivStr=GivStr.replace(eval("/()dny()/g"),"$1jn$2");GivStr=GivStr.replace(eval("/()Ksh()/g"),"$1x$2");GivStr=GivStr.replace(eval("/()X()/g"),"$1x$2");GivStr=GivStr.replace(eval("/()shh()/g"),"$1Sh$2");GivStr=GivStr.replace(eval("/()W()/g"),"$1v$2");GivStr=GivStr.replace(eval("/()V()/g"),"$1v$2");GivStr=GivStr.replace(eval("/()w()/g"),"$1v$2");GivStr=GivStr.replace(eval("/()Z()/g"),"$1z$2");GivStr=GivStr.replace(eval("/()jh()/g"),"$1z$2");GivStr=GivStr.replace(eval("/()P()/g"),"$1p$2");GivStr=GivStr.replace(eval("/()ph()/g"),"$1f$2");GivStr=GivStr.replace(eval("/()F()/g"),"$1f$2");GivStr=GivStr.replace(eval("/()Ph()/g"),"$1f$2");GivStr=GivStr.replace(eval("/()B()/g"),"$1b$2");GivStr=GivStr.replace(eval("/()Ri()/g"),"$1Ru$2");GivStr=GivStr.replace(eval("/()RI()/g"),"$1RU$2");GlvFString = GivStr;
for ( var i = GivStr.length-1; i > -1; i--){ if(GivStr.substr(i,1) == 'a' || GivStr.substr(i,1) == 'A' || GivStr.substr(i,1) == 'e' || GivStr.substr(i,1) == 'E' || GivStr.substr(i,1) == 'i' || GivStr.substr(i,1) == 'I' || GivStr.substr(i,1) == 'o' || GivStr.substr(i,1) == 'O' || GivStr.substr(i,1) == 'u' || GivStr.substr(i,1) == 'U') break;
var GlvLastChar = GivStr.substr(i,1);if( (GlvLastChar >= 'b' && GlvLastChar <= 'd') || (GlvLastChar >= 'f' && GlvLastChar <= 'h') || (GlvLastChar >= 'j' && GlvLastChar <= 'n') || (GlvLastChar >= 'p' && GlvLastChar <= 'p') ||(GlvLastChar >= 'r' && GlvLastChar <= 't') || (GlvLastChar >= 'v' && GlvLastChar <= 'z') || (GlvLastChar >= 'B' && GlvLastChar <= 'D') || (GlvLastChar >= 'F' && GlvLastChar <= 'G') || (GlvLastChar >= 'L' && GlvLastChar <= 'L') || (GlvLastChar >= 'N' && GlvLastChar <= 'N') || (GlvLastChar >= 'P' && GlvLastChar <= 'P') || (GlvLastChar >= 'S' && GlvLastChar <= 'T') || (GlvLastChar >= 'V' && GlvLastChar <= 'Z')) 
{ if(GivStr.substr(i-1,2) !='Rl' && GivStr.substr(i-1,2) !='+h' && GivStr.substr(i-1,2) !='.n' && GivStr.substr(i-1,2) !='+n' && GivStr.substr(i,1) !='M') 
{ GlvFString = GivStr.substr(0,i+1)+'a'; if((i+1)< GivStr.length) GlvFString += GivStr.substr(i+1);	break; }}}}return(GlvFString);}
function GfUrPreParse(GivStr) {var GlvFString;GlvFString = GivStr;if(GivStr.length>0) {GivStr=GivStr.replace(eval("/(\\w)y(\\w)/g"),"$1iy$2");GivStr=GivStr.replace(eval("/^(y|Y)(\\w)/g"),"y\/$1");
GivStr=GivStr.replace(eval("/(\\w)(Y|e)(\\w)/g"),"$1\~#y$2");GivStr=GivStr.replace(eval("/ai$/g"),"Y");GivStr=GivStr.replace(eval("/(\\w)ai(\\w)/g"),"$1\/\/y$2");
GivStr=GivStr.replace(eval("/^i/g"),"ai");}GlvFString = GivStr;return (GlvFString);}
function GfValidateRange(GivStr){for(var i=0;i<GivStr.length;i++){if(GivStr.charCodeAt(i)>126)	return false;}return true;}
function GfGetParsedUnicodeString(GivAsciiString) {if(!GfValidateRange(GivAsciiString))return GivAsciiString;
var GlvParsedCode="";var GlvParsedString="";var GlvUnicodeString="";var GlvStartPos = 0;var GlvLength = 1;var i = 0;var GlvWordInProcess =1;
/*   preformating and autocorrection for input text for selected language */
if(__GgvLang != '__roman__' && __GgvLang != '__urdu__'){	GivAsciiString=GfMrPreParse(GivAsciiString); if(__GgvLang == '__devanagari__' && GgvMrAutoCor)		GivAsciiString=GfMrAutoCorrect(GivAsciiString);}if( __GgvLang == '__urdu__'){GivAsciiString=GfUrPreParse(GivAsciiString);}
if(GivAsciiString.length>0){ while(GlvWordInProcess ==1 ) {	GlvParsedCode  = GfparsePhonetickey(GivAsciiString.substr(GlvStartPos,GlvLength)); if ( GlvParsedCode == "") { GlvUnicodeString+=GlvParsedString;GlvParsedString = ""; GlvStartPos = i+GlvLength-1;GlvLength = 1;i=GlvStartPos;}else {GlvParsedString = GlvParsedCode;GlvLength+=1; if((GlvStartPos+GlvLength-1) >= GivAsciiString.length) {GlvWordInProcess =0;GlvUnicodeString+= GlvParsedString;GlvParsedString = "";}}	}}return (GlvUnicodeString);}
function GfSpecialInsert(GivId){var GlvUniString = GfGetParsedUnicodeString(GgvAsciiString);var GlvOldUniStr = GfGetParsedUnicodeString(GgvOldStr); if(GgvIE) GfInsertPhoneticNodeIE(GivId,GlvUniString,GlvOldUniStr.length); 
if(GgvMozilla) {if(typeof document.getElementById(GivId).contentWindow == "undefined" ) return GfInsertPhoneticTextMozilla(GivId,GlvUniString,GlvOldUniStr.length); else GfInsertPhoneticNodeMozilla(GivId,GlvUniString);}}
function GfInsertPhoneticTextMozilla(GivId,GivString,GivLength) {var GlvEle = document.getElementById(GivId);var GlvDiff = 0;if (GivLength != 0) GlvDiff = GivLength;
if (GlvEle.selectionStart || GlvEle.selectionStart == 0) {var startPos = GlvEle.selectionStart-GlvDiff;var endPos = GlvEle.selectionEnd;var scrollTop = GlvEle.scrollTop; startPos = (startPos == -1 ? GlvEle.value.length : startPos );GlvEle.value = GlvEle.value.substring(0, startPos)+ GivString+ GlvEle.value.substring(endPos, GlvEle.value.length);GlvEle.selectionStart = startPos + GivString.length;GlvEle.selectionEnd = startPos + GivString.length;GlvEle.scrollTop = scrollTop;}
else { var scrollTop = GlvEle.scrollTop;GlvEle.value += GivString;GlvEle.scrollTop = scrollTop;}return;}

