﻿/*
JavaScript File for Uyghur Input By www.xjprgfan.com
Programmer Mahirjan(Email:mayorvb@gmail.com); 2007.3.15
*/
////////////////////////////////////
/****************浮动按钮设置***************************/
document.write('<div id=SW style="position:absolute; zIndex:205; margin-Left:50px; margin-Top:5; Top:0px; Left:0px;"><select  help="uime" onchange="u_imu=parseInt(this.options[this.selectedIndex].value);focusE.focus();" title="تور بىتىمىزدە ئۇيغۇرچە ئېنگىلىسچە كىرگۈزۈش ئوتتۇرسىدا<BR>ئالماشتۇرۇش ئۈچۈن Ctrl + K ، خەت كىرگۈزۋاتقان<BR>رامكىنىڭ يۆلىنىشىنى ئۆزگەرتىش ئۈچۈن Ctrl + J نى<BR>بېسىپ ئالماشتۇرۇلدۇ."><option value="1" onclick=alert()>ئۇ</option><option value="0">En</option></select><script>document.body.onscroll=function(){document.all("SW").style.pixelTop=document.body.scrollTop;}</script></div>');
//sw.getElementByTagName("Select")[0].title="تور بىتىمىزدە ئۇيغۇرچە ئېنگىلىسچە كىرگۈزۈش ئوتتۇرسىدا ئالماشتۇرۇش ئۈچۈن Ctrl + K ، خەت كىرگۈزۋاتقان رامكىنىڭ يۆلىنىشىنى ئۆزگەرتىش ئۈچۈن Ctrl + J  نى بېسىپ ئالماشتۇرۇلدۇ.";
/****************浮动按钮设置***************************/
var sw=document.all.SW;
var uyghur_OBJ="user_name,username";
///////////////////////////////////
var Input=[];
Input={47:1574,63:1567,44:1548,109:1605,77:1605,110:1606,78:1606,98:1576,66:1576,118:1736,86:1736,99:1594,67:1594,120:1588,88:1588,122:1586,90:1586,97:1726,65:1726,115:1587,83:1587,100:1583,68:1688,102:1575,70:1601,103:1749,71:1711,104:1609,72:1582,106:1602,74:1580,107:1603,75:1734,108:1604,76:1604,59:1563,113:1670,81:1670,119:1739,87:1739,101:1744,69:1744,114:1585,82:1585,116:1578,84:1600,121:1610,89:1610,117:1735,85:1735,105:1709,73:1709,111:1608,79:1608,112:1662,80:1662};/*	else if (Kc==62) Kc=60;//(<->)
	else if (Kc==60) Kc=62;//(>-<)
	else if (Kc==41) Kc=40;//((-))
	else if (Kc==40) Kc=41;//()-()*/
var u_imu=1;
var uyOBJs;
var ua = navigator.userAgent.toLowerCase();
var u_isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)) ;
var u_isGecko = (ua.indexOf("gecko") != -1 && ua.indexOf("safari") == -1) ;
var u_isMaxthon = ((ua.indexOf("msie") != -1) && (ua.indexOf("maxthon") != -1)) ;
uyOBJs=uyghur_OBJ.split(",");
window.onload=init_jaryan;
function init_jaryan(){
	var uInObjs=document.getElementsByTagName("input");
	var uTeObjs=document.getElementsByTagName("textarea");
	if(uInObjs.length>0){
	    for(var i=1;i<=uInObjs.length;i++){
	        if(uInObjs[i-1].type.toLowerCase()=="text"){
	            var uy_barmu=false;
	            for(var j=1;j<=uyOBJs.length;j++){
	                if((uInObjs[i-1].id==uyOBJs[j-1] || uInObjs[i-1].name==uyOBJs[j-1]) && uyOBJs[j-1]!=""){ 
	                    uy_barmu=true;break;}
	            }
	            if(uy_barmu) uInObjs[i-1].onkeypress=Harp;
	        }
	    }
	}
	
	if(uTeObjs.length>0){
	    for(var i=1;i<=uTeObjs.length;i++){
	        	var uy_barmu=false;
	            for(var j=1;j<=uyOBJs.length;j++){
	                if((uTeObjs[i-1].id==uyOBJs[j-1] || uTeObjs[i-1].name==uyOBJs[j-1]) && uyOBJs[j-1]!=""){ 
	                    uy_barmu=true;break;}
	            }
	        if(uy_barmu) uTeObjs[i-1].onkeypress=Harp;
	    }
	}
}

function Harp(e){	
    var uObj=e.srcElement;//event.srcElement;
    var uEvent,Kc;
    if(u_isGecko){
        uEvent=e;
        Kc=uEvent.which;
    }else{
        uEvent=window.event;
        Kc=uEvent.keyCode;
    }
    
    if(u_isMaxthon){//HOT keys for Maxthon
        if (Kc==11){u_imu=!u_imu; En(); return false;} //Control+B
        else if(Kc==27 || Kc==10){uObj.style.direction=uObj.style.direction!="ltr"?"ltr":"rtl"} //Control+J     
        else if(Kc==21){//Contrl+U
            var rng=document.selection.createRange();
            if(clipboardData.getData("Text")!=null)rng.text=ulTouy(clipboardData.getData("Text"));
           		return false;
        }
    }
    else if(u_isIE){// HOT keys for IE
        if (Kc==27 || Kc==10) {uObj.style.direction=(uObj.style.direction=="ltr")?"rtl":"ltr";return false;}//Cotrol+T
        else if(Kc==11) {u_imu=(u_imu)?0:1; En(); return false;}//Control+K
        else if(Kc==21){//Control+U
            var rng=document.selection.createRange();
            if(clipboardData.getData("Text")!=null)rng.text=ulTouy(clipboardData.getData("Text"));
        }
    }
    else if(u_isGecko){
        if (uEvent.ctrlKey && (Kc==91 || Kc==74)) {uObj.style.direction=uObj.style.direction!="ltr"?"ltr":"rtl";return false;}// Control+T
        else if(uEvent.ctrlKey && (Kc==75 || Kc==107)) {u_imu=!u_imu; En(); return false;}//Control+K
    }
    if (u_imu){
		Kc=Input[Kc];
	if(Kc==null || Kc=="undefined")Kc=0;
    if (Kc!=0 && !uEvent.ctrlKey){
        if (u_isIE || u_isMaxthon){
            window.event.keyCode=Kc;    
        }
        else if(u_isGecko){
            var selstart = uObj.selectionStart ;
            var selend   = uObj.selectionEnd ;
            var insStr = String.fromCharCode ( Kc ) ;
            uObj.value = uObj.value.substring (0, selstart) + insStr + uObj.value.substr ( selend ) ;
            uObj.setSelectionRange(selstart + insStr.length, selstart + insStr.length );
            return false;            
        }
    }
  }
}
function ulTouy(uStr){
var uText=" " + uStr.toLowerCase();
uText=uText.replace(/ a/g," ئا");
uText=uText.replace(/ e/g," ئە");
uText=uText.replace(/ é/g," ئې") ;
uText=uText.replace(/ i/g," ئى");
uText=uText.replace(/ o/g," ئو");
uText=uText.replace(/ u/g," ئۇ");
uText=uText.replace(/ ö/g," ئۆ");
uText=uText.replace(/ ü/g," ئۈ");
uText=uText.replace(/a/g,"ا");
uText=uText.replace(/e/g,"ە");
uText=uText.replace(/é/g,"ې");
uText=uText.replace(/i/g,"ى");
uText=uText.replace(/o/g,"و");
uText=uText.replace(/u/g,"ۇ");
uText=uText.replace(/ö/g,"ۆ");
uText=uText.replace(/ü/g,"ۈ");
uText=uText.replace(/sh/g,"ش");
uText=uText.replace(/ng/g,"ڭ");
uText=uText.replace(/gh/g,"غ");
uText=uText.replace(/ch/g,"چ");
uText=uText.replace(/b/g,"ب");
uText=uText.replace(/d/g,"د");
uText=uText.replace(/f/g,"ف");
uText=uText.replace(/g/g,"گ");
uText=uText.replace(/h/g,"ھ");
uText=uText.replace(/j/g,"ج");
uText=uText.replace(/k/g,"ك");
uText=uText.replace(/l/g,"ل");
uText=uText.replace(/m/g,"م");
uText=uText.replace(/n/g,"ن");
uText=uText.replace(/p/g,"پ");
uText=uText.replace(/q/g,"ق");
uText=uText.replace(/r/g,"ر");
uText=uText.replace(/s/g,"س");
uText=uText.replace(/t/g,"ت");
uText=uText.replace(/w/g,"ۋ");
uText=uText.replace(/y/g,"ي");
uText=uText.replace(/z/g,"ز");
uText=uText.replace(/x/g,"خ");
//uText=uText.replace(/,/g,"،");
//uText=uText.replace(/?/g,"؟");
//uText=uText.replace(/;/g,"؛");
return uText;
}
var focusE=document.body;
function En()
	{	
		sw.getElementsByTagName("select")[0].selectedIndex=(!u_imu);
		sw.style.visibility='visible';
	}
	
document.onkeypress=new Function("return Harp(event)");

/**********隐藏************/
sw.style.visibility='hidden';
document.onkeydown=document.onclick=function imeIconShow(){
	var eet=event.srcElement.type;
/*	alert(event.srcElement.outerHTML);
*/		if(eet=="text" || eet=="textarea" || event.srcElement.id=="uime")
		{
			sw.style.visibility='visible';
			if(focusE)
			{
				focusE=event.srcElement;
			}
			
//			sw.style.left=event.srcElement.clientLeft + sw.offsetWidth;
//			sw.style.top=event.srcElement.offsetTop + event.srcElement.offsetHeight + sw.offsetHeight ;		
		}
		else
		{
				sw.style.visibility='hidden';
		}
	}
/**********隐藏************/


/**********select************/
//document.oncontextmenu=document.onselectstart=safeCopy;
function safeCopy()
{
	var eType=event.srcElement.type;	// event.Type
	if(eType=="text" || eType=="textarea" || eType=="password" || eType=="file")
	return true;
	else
	return false;
}
/**********select************/
