eng = new Array(97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,87,82,84,83,67,74,90);
geo = new Array(4304,4305,4330,4307,4308,4324,4306,4336,4312,4335,4313,4314,4315,4316,4317,4318,4325,4320,4321,4322,4323,4309,4332,4334,4327,4310,4333,4326,4311,4328,4329,4319,4331,91,93,59,39,44,46,96);

function Is()
{
    var agt=navigator.userAgent.toLowerCase();
    this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.nav  = (
		(agt.indexOf('mozilla')!=-1)      
		&& (agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1) 
		&& (agt.indexOf('opera')==-1)   
		&& (agt.indexOf('konqueror')==-1)
		&& (agt.indexOf('safari')==-1)
                && (agt.indexOf('webtv')==-1) 
		&& (agt.indexOf('hotjava')==-1)
		);
if  ((agt.indexOf('mozilla')!=-1) && ((agt.indexOf('konqueror')>=0) || (agt.indexOf('safari')>=0))) {this.nav=true;}

    this.nav2 = (this.nav && (this.major == 2));
    this.nav3 = (this.nav && (this.major == 3));
    this.nav4 = (this.nav && (this.major == 4));
    this.nav4up = (this.nav && (this.major >= 4));
    this.navonly      = (this.nav && ((agt.indexOf(";nav") != -1) ||
                          (agt.indexOf("; nav") != -1)) );
    this.nav6 = (this.nav && (this.major == 5));
    this.nav6up = (this.nav && (this.major >= 5));
    this.gecko = (agt.indexOf('gecko') != -1);
    this.ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    this.ie3    = (this.ie && (this.major < 4));
    this.ie4    = (this.ie && (this.major == 4) && (agt.indexOf("msie 4")!=-1) );
    this.ie4up  = (this.ie && (this.major >= 4));
    this.ie5    = (this.ie && (this.major == 4) && (agt.indexOf("msie 5.0")!=-1) );
    this.ie5_5  = (this.ie && (this.major == 4) && (agt.indexOf("msie 5.5") !=-1));
    this.ie5up  = (this.ie && !this.ie3 && !this.ie4);
    this.ie5_5up =(this.ie && !this.ie3 && !this.ie4 && !this.ie5);
    this.ie6    = (this.ie && (this.major == 4) && (agt.indexOf("msie 6.")!=-1) );
    this.ie6up  = (this.ie && !this.ie3 && !this.ie4 && !this.ie5 && !this.ie5_5);
    this.aol   = (agt.indexOf("aol") != -1);
    this.aol3  = (this.aol && this.ie3);
    this.aol4  = (this.aol && this.ie4);
    this.aol5  = (agt.indexOf("aol 5") != -1);
    this.aol6  = (agt.indexOf("aol 6") != -1);
    this.opera = (agt.indexOf("opera") != -1);
    this.opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
    this.opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
    this.opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
    this.opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
    this.opera6 = (agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1);
    this.opera7 = (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1);
    this.opera7up = (this.opera && !this.opera2 && !this.opera3 && !this.opera4 && !this.opera5 && !this.opera6 && !this.opera7 );
    this.webtv = (agt.indexOf("webtv") != -1); 
    this.TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1)); 
    this.AOLTV = this.TVNavigator;
    this.hotjava = (agt.indexOf("hotjava") != -1);
    this.hotjava3 = (this.hotjava && (this.major == 3));
    this.hotjava3up = (this.hotjava && (this.major >= 3));
    this.konqueror=   (agt.indexOf("konqueror") != -1);
    this.safari=   (agt.indexOf("safari") != -1);
}




function handleKeys(e)
{
	document.onkeypress = ""; //firefox fix სადაც არ იქნება ბრძანებაonKeyPress="javascript:changeval(this.id);" არ გააკეთებს ამ ფუნქციას
	
	var key = (window.event) ? event : e;
	
	//ALT+S ფორმის submit-ს გამოიწვევს
	//if (e.which == 115 && key.altKey) document.myform.submit.click();
	
	if(key.altKey || key.ctrlKey ) return true;
	
	
	var theKey;
	theKey = e.which;
	
	
	if (e.which == 96)
	{
		geoobj.checked = !geoobj.checked;
		var f = e.target;
		var g = f.selectionStart;
		f.value = f.value.substring(0, f.selectionStart) + "" + f.value.substring(f.selectionStart);
		f.setSelectionRange(g, g);
		
		return false;
	}
	var i = textobj.value.length - 1;
	
	
	if (geoobj.checked)
	{
		//დაწყება
		for (i = 0; i <= geo.length; i++)
		{
			if (eng[i] == e.which)
			{
				//აქ უნდა ჩასწორდეს firefox-ში scroll რო არ გაუკეთდეს
				var f = e.target; 
				var g = f.selectionStart;  //აქ ვიღევთ რამდენი სიმბოლო არის აკრეფილი კურსორამდე
				f.value = f.value.substring(0, f.selectionStart) //კურსორამდე მთელი ტექსტი
					+ String.fromCharCode(geo[i])		//დამატებული ახალი აკრეფილი სიმბოლო (უკვე გადაყვანილი)
					+ f.value.substring(f.selectionEnd);  //დამატებული კურსორის მერე რაც წერია
	
				//f.value+=String.fromCharCode(geo[i]);
				g++; 
				f.setSelectionRange(g, g); 
				return false;
			}
		}
		//დასრულება
		status = theKey;
	}
	
	return true;
}



function changeval(textbox_id, geocheckbox_id)
{
	textobj = document.getElementById(textbox_id);
	geoobj = document.getElementById(geocheckbox_id);
	
	var is = new Is();
	//|| (is.opera && !is.opera7up)
	if (is.konqueror && textobj.value == "") { textobj.value = " "; } // konqueror fix - პირველ ასოს ამატებს თუ არაფერი წერია.
	
	if (is.ie4up)
	{ // IE - ს დროს
		if (event.keyCode == 96) geoobj.checked = !geoobj.checked;
		if (event.keyCode == 96) event.keyCode = "";
	}
	else if (is.nav6up || is.konqueror || is.safari)
	{	// opera-ს შემთხვევაში
		// alert("Unfortunately your browser is not supported");
		document.onkeypress = handleKeys;
	}
	else if (is.opera)
	{
		//GR update - but must fix again (writes '~' also)
		if (event.keyCode == 96) geoobj.checked = !geoobj.checked;
		if (event.keyCode == 96) event.keyCode = "";
	}
	
	
	if (geoobj.checked)
	{
		if (is.ie4up || (is.opera && !is.opera7up))
		{	// opera 8 -მდე
			var theKey
			theKey=event.keyCode
			//დაწყება
			for (i=0; i<=geo.length; i++)
			{
				if (eng[i]==event.keyCode)
				{
					event.keyCode = geo[i];
				}
			}
			//დამთავრება
			status = theKey;
		}
		else if (is.nav6up  || is.opera )
		{  // opera 8 და მის შემდეგ
       //document.captureEvents(Event.KEYPRESS) ;
			document.onkeypress = handleKeys;
		}
		else
		{
			alert("We doesn't currently support your browser");
			geoobj.checked = false;
		}
	}
}
