/*

名字：Common.js

功能：通用JavaScript脚本函数库

包括：

1.Trim(str)－－去除字符串两边的空格

2.XMLEncode(str)－－对字符串进行XML编码

3.ShowLabel(str,str)－－鼠标提示功能（显示字符，提示字符）

4.IsEmpty(obj)－－验证输入框是否为空

5.IsInt(objStr,sign,zero)－－验证是否为整数

6.IsFloat(objStr,sign,zero)－－验证是否为浮点数

7.IsEnLetter(objStr,size)－－验证是否为26个字母

8.allGBK(str)&&checkName(str)－－验证是否为汉字

9.strlen(str)－－验证字节长度

*/



/*

==================================================================

字符串操作

Trim(string):去除字符串两边的空格

==================================================================

*/



/*

==================================================================

LTrim(string):去除左边的空格

==================================================================

*/

function LTrim(str)
{

	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	if (whitespace.indexOf(s.charAt(0)) != -1)
	{
		var j=0, i = s.length;
		while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
		{
			j++;
		}

		s = s.substring(j, i);
	}

	return s;
}



/*

==================================================================

RTrim(string):去除右边的空格

==================================================================

*/

function RTrim(str)
{
	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
	{
		var i = s.length - 1;
		while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
		{
			i--;
		}
		s = s.substring(0, i+1);
	}
	return s;
}



/*

==================================================================

Trim(string):去除前后空格

==================================================================

*/

function Trim(str)
{
	return RTrim(LTrim(str));
}







/*

================================================================================

XMLEncode(string):对字符串进行XML编码

================================================================================

*/

function XMLEncode(str)

{

	str=Trim(str);

	str=str.replace("&","&amp;");

	str=str.replace("<","&lt;");

	str=str.replace(">","&gt;");

	str=str.replace("'","&apos;");

	str=str.replace("\"","&quot;");

	return str;

}



/*

================================================================================

验证类函数

================================================================================

*/



function IsEmpty(obj)
{
	//obj=document.getElementsByName(obj).item(0);
	if(Trim(obj.value)=="")
	{
		alert("字段不能为空。");
		if(obj.disabled==false && obj.readOnly==false)
		{
			obj.focus();
		}
		return true ;
	}
	else
	{
		return false ;
	}
}



/*

IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)

功能：判断是否为整数、正整数、负整数、正整数+0、负整数+0

*/

function IsInt(objStr,sign,zero)

{

	var reg;

	var bolzero;



	if(Trim(objStr)=="")
	{

		return false;

	}

	else

	{

		objStr=objStr.toString();

	}



	if((sign==null)||(Trim(sign)==""))

	{

		sign="+-";

	}



	if((zero==null)||(Trim(zero)==""))

	{

		bolzero=false;

	}

	else

	{

		zero=zero.toString();

		if(zero=="0")

		{

			bolzero=true;

		}

		else

		{

			alert("检查是否包含0参数，只可为(空、0)");

		}

	}



	switch(sign)

	{

		case "+-":

		//整数

		reg=/(^-?|^\+?)\d+$/;

		break;

		case "+":

		if(!bolzero)

		{

			//正整数

			reg=/^\+?[0-9]*[1-9][0-9]*$/;

		}

		else

		{

			//正整数+0

			//reg=/^\+?\d+$/;

			reg=/^\+?[0-9]*[0-9][0-9]*$/;

		}

		break;

		case "-":

		if(!bolzero)

		{

			//负整数

			reg=/^-[0-9]*[1-9][0-9]*$/;

		}

		else

		{

			//负整数+0

			//reg=/^-\d+$/;

			reg=/^-[0-9]*[0-9][0-9]*$/;

		}

		break;

		default:

		alert("检查符号参数，只可为(空、+、-)");

		return false;

		break;

	}



	var r=objStr.match(reg);

	if(r==null)

	{

		return false;

	}

	else

	{

		return true;

	}

}



/*

IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)

功能：判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0

*/

function IsFloat(objStr,sign,zero)

{

	var reg;

	var bolzero;



	if(Trim(objStr)=="")

	{

		return false;

	}

	else

	{

		objStr=objStr.toString();

	}



	if((sign==null)||(Trim(sign)==""))

	{

		sign="+-";

	}



	if((zero==null)||(Trim(zero)==""))

	{

		bolzero=false;

	}

	else

	{

		zero=zero.toString();

		if(zero=="0")

		{

			bolzero=true;

		}

		else

		{

			alert("检查是否包含0参数，只可为(空、0)");

		}

	}



	switch(sign)

	{

		case "+-":

		//浮点数

		reg=/^((-?|\+?)\d+)(\.\d+)?$/;

		break;

		case "+":

		if(!bolzero)

		{

			//正浮点数

			reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

		}

		else

		{

			//正浮点数+0

			reg=/^\+?\d+(\.\d+)?$/;

		}

		break;

		case "-":

		if(!bolzero)

		{

			//负浮点数

			reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

		}

		else

		{

			//负浮点数+0

			reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;

		}

		break;

		default:

		alert("检查符号参数，只可为(空、+、-)");

		return false;

		break;

	}



	var r=objStr.match(reg);

	if(r==null)

	{

		return false;

	}

	else

	{

		return true;

	}

}
//检查email字符串或者输入框
function IsValidEmail(strEmail)
{
	var myReg = /^[_\-a-z0-9]+@([_\-a-z0-9]+\.)+[a-z0-9]{2,3}$/;
	if(myReg.test(strEmail)) return true;
	return false;
}
function IsValidEmailInput(emailInput)
{
	if(!IsValidEmail(emailInput.value))
	{
		alert('无效Email地址。')	;
		emailInput.focus();
		return false ;
	}
	return true ;
}

function IsValidMobile(strMobile)
{
	var myReg = /^1[3|5][0-9]{9}$/;
	if(myReg.test(strMobile)) return true;
	return false;
}
function IsValidMobileInput(mobileInput)
{
	if(!IsValidMobile(mobileInput.value))
	{
		return false ;
	}
	return true ;
}

//删除Cookie
function DelCookie(name)
{
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	var cval = GetCookie (name);
	document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
}

function GetCookie(name)
//获得Cookie的原始值
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		return GetCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}
function GetCookieVal(offset)
//获得Cookie解码后的值
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}


//验证码检查
function allGBK(str) 
{
  for (i = 0; i < str.length; i++) 
  {
    if (!(((str.charCodeAt(i) >= 0x3400) && (str.charCodeAt(i) < 0x9FFF)) || (str.charCodeAt(i) >= 0xF900)))
    {
      return false;
    }
  }
  return true;
}
function checkName(str)
{
  if(!allGBK(str)){
    return false;
  }
  return true;
}


function strlen(str)
{var i;
var len;
len = 0;
for (i=0;i<str.length;i++)
{
if (str.charCodeAt(i)>255) len+=2; else len++;
}
return len;
}


	function NewWindow(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
	}
