﻿/******************************************************************************/ 
/* WelCome To Armanim.com                      */


/* muxunimu ogurlap ixlitix jima amdi , towa bolsa axu ixak harwistin baxka narsa bikar uyghur hah digan ga, ....  laniti kispuruxla . bu js ni ixlitix ma bolamdu ...... www.ulinix.com     */
/******************************************************************************/

//********** 默认设置 *********************
var std_unicode = true;
var auto_attach = true;
var ime_enabled = true;
//****************************************

var old_onLoad = null;
if (auto_attach) add_onLoad() ;

function add_onLoad( )
{
   old_onLoad = window.onload;
   window.onload = new_onLoad ;
}

function new_onLoad( )
{
   attachEvents() ;
   if (old_onLoad) old_onLoad() ;
}

function attachEvents( )
{  
   for (n=1; n<=2; n++)
   {
      if (n==1) TBox = document.getElementsByTagName("INPUT");
      if (n==2) TBox = document.getElementsByTagName("TEXTAREA");
      for (i=0; i<TBox.length; i++)
      {
         if (n==1 && TBox[i].type.toLowerCase() != "text") continue;
         if (TBox[i].onkeypress != null) continue;
         if (TBox[i].dir == "ltr" || TBox[i].style.direction == "ltr") continue;
         TBox[i].attachEvent('onkeypress', ukb2uni);
      }
   }
}

function ukb2uni(eventobject)
{
	var key = event.keyCode;
	var obj = event.srcElement? event.srcElement:event.target;
	var isShift = event.shiftKey;
	var isCtrl = event.ctrlKey;

	if (key>255) return false;
	if (isCtrl) {
		if (key==27) obj.dir = "ltr";	//Ctrl+{
		if (key==29) obj.dir = "rtl";	//Ctrl+}
		if (key==11) ime_enabled = !ime_enabled;	//Ctrl+K
		return true;
	}
	if (obj.dir=="ltr" || obj.style.direction=="ltr" || ime_enabled==false) return true;

	switch (String.fromCharCode(key).toLowerCase())
	{	
		case '(':
			key=0x0029;
			break;
		case ')':
			key=0x0028;
			break;
		case ',': 
			key=0x060C;
			break;
		case '-': 
			key=0x2013;
			break;
		case '/': 
			key=0x0626;
			break;
		case ';': 
			key=0x061B;
			break;
		case '<':
			key=0x203A;
			break;
		case '>':
			key=0x2039;
			break;
		case '?': 
			key=0x061F;
			break;
		case '[': 
			key=0x00BB;
			break;
		case ']': 
			key=0x00AB;
			break;
		case '_': 
			key=0x2014;
			break;
		case 'a': 
			key=isShift?0x0640:0x06BE;
			break;
		case 'b':
			key=0x0628;
			break;
		case 'c':
			key=0x063A;
			break;
		case 'd':
			key=isShift?0x0698:0x062F;
			break;
		case 'e': 
			key=0x06D0;
			break;
		case 'f':
			key=isShift?0x0641:0x0627;
			break;
		case 'g':
			if(std_unicode)
			   key=isShift?0x06AF:0x06D5;
			else
			   key=isShift?0x06AF:0x0629;
			break;
		case 'h':
			if(std_unicode)
			   key=isShift?0x062E:0x0649;
			else
			   key=isShift?0x062E:0x0635;
			break;
		case 'i': 
			key=0x06AD;
			break;
		case 'j':
			key=isShift?0x062C:0x0642;
			break;
		case 'k':
			key=isShift?0x06C6:0x0643;
			break;
		case 'l':
			key=0x0644;
			break;
		case 'm': 
			key=0x0645;
			break;
		case 'n':
			key=0x0646;
			break;
		case 'o':
			key=0x0648;
			break;
		case 'p':
			key=0x067E;
			break;
		case 'q': 
			key=0x0686;
			break;
		case 'r':
			key=0x0631;
			break;
		case 's':
			key=isShift?0x00A7:0x0633;
			break;
		case 't':
			key=0x062A;
			break;
		case 'u': 
			key=0x06C7;
			break;
		case 'v':
			key=0x06C8;
			break;
		case 'w':
			key=0x06CB;
			break;
		case 'x':
			key=0x0634;
			break;
		case 'y':
			key=0x064A;
			break;
		case 'z':
			key=0x0632;
			break;
		case '{':
			key=0x007D;
			break;
		case '}':
			key=0x007B;
			break;
	}
	event.keyCode  = key;
}

function is_number(str)
{
	exp=/[^0-9()-]/g;
	if(str.search(exp) != -1) return false;
	return true;
}

function is_email(str)
{ 
	if((str.indexOf("@")==-1)||(str.indexOf(".")==-1)) return false;
	return true;
}

function int(f)
{
	if (Math.round(f) - f > 0) return(Math.round(f) - 1);
	else return(Math.round(f));
}
