﻿// JScript 文件
function $() 
{ 
  var elements = new Array(); 
  for (var i = 0; i < arguments.length; i++) 
  { 
    var element = arguments[i]; 
    if (typeof element == 'string') 
      element = document.getElementById(element); 
    if (arguments.length == 1) 
      return element; 
    elements.push(element); 
  } 
  return elements; 
}
//去除字符串两端的空隔
function trim(inVar)
{
if (inVar == null) return ""
var str;

str = inVar
str = ltrim(str);
str = rtrim(str);
return str;
}

//去除字符串左边的空隔
function ltrim(inVar)
{
if (inVar == null) return ""
var i, str, strLength;

str = inVar.toString();
strLength = str.length;
i = 0;
while(i < strLength)
{
if(str.charAt(i) != " ")
break;
i++;
}
return str.substring(i, strLength)
}

//去除字符串右边的空隔
function rtrim(inVar)
{
if (inVar == null) return ""
var i, str, strLength;

str = inVar.toString();
strLength = str.length;
i = strLength - 1;
while(i >= 0)
{
if(str.charAt(i) != " ")
break;
i--;
}
return str.substring(0, i + 1)
}

//判断用户名是否合法 5-20个字符(包括小写字母、数字、下划线、中文)，一个汉字为两个字符
function vIsUserName()
{
  var username=arguments[0];
  if(!(username.lenB()>=5&&username.lenB()<=20)) return false;
  return /^[A-Za-z0-9_\u4e00-\u9fa5]+$/gi.test(username);
}

/********************************************************************************************
*函数名:vIsNumeric
*功能描述:验证字符串是否符合数字的格式
*参数:
* inVar 要验证的字符串
*返回值:如果字符串是符合数字格式则返回true，否则返回false。
*********************************************************************************************/
function vIsNumeric(inVar)
{
if(IsVacantStr(inVar)) return true;
return /^-?[0-9]+(\.[0-9]*)?$/gi.test(inVar);
}
//客户端数据验证相关函数
//验证变量是否为空白的字符串
function IsVacantStr(inVar)
{
if(inVar == null || inVar == "")
return true;
else
return false;
}
//判断EMAIL是否合法
function vIsEmail(inVar)
{
if(IsVacantStr(inVar)) return true;
return /^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$/gi.test(inVar);
}
function readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}
String.prototype.trim=function()
{
  return this.replace(/(^\s*)|(\s*$)/g, ""); 
}
String.prototype.lenB=function()
{return this.replace(/[^\x00-\xff]/g,"**").length;} 

String.prototype.format = function() {
  var args = arguments;
  return this.replace(/\{(\d+)\}/g,                
  function(m,i){
      return args[i];
  });
} 
/********************************************************************************************
*功能描述:对数值进行格式化
*参数:
* decimalNum decimal类型数值
*返回值:格式化后的数值 (例:13456789.12345=13,456,789.12)
*********************************************************************************************/
Number.prototype.formatCurreny = function()
{ 
	num = this.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents);
}
/********************************************************************************************
*功能描述:对数值进行货币格式化
*参数:
* Num decimal类型数值
* Symbol 货币符号
*返回值:货币格式的字符串
*********************************************************************************************/
function ParseMoney(Num,Symbol)
{
  Symbol = Symbol || "￥";
  if(typeof(Num)=="number")
  {
    Num=Num.toString();
  }
  var idx = Num.indexOf(".");
  if(idx<0)
  {
    Num = Num + ".00";
    idx = Num.indexOf(".");
  }
  if(Num.length - idx == 2)
  {
    Num = Num + "0";
  }
  while (Num.substring(0, idx++).length % 3) 
  { Num = "0" + Num; }
  return Symbol + Num.replace(/(\d{3})/g, "$1,").replace(/,\./, ".").replace(/(^0*)|(,$)/g, "").replace(/^(\.)/g, "0$1");
}
/********************************************************************************************
*功能描述:以window.onload方式添加入事件，并执行该添加的事件
*参数:
* func 函数名称
*返回值:空
*********************************************************************************************/
function addLoadEvent(func){ 
    var oldonload=window.onload; 
    if(typeof window.onload!='function'){ 
        window.onload=func; 
    }else{ 
        window.onload=function(){ 
            oldonload();
            func(); 
        } 
    } 
} 

function SetCookie(name,value)//两个参数，一个是cookie的名子，一个是值
{
  var Days = 1; //此 cookie 将被保存 1 天
  var exp  = new Date();    //new Date("December 31, 9998");
  exp.setTime(exp.getTime() + Days*24*60*60*1000);
  document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function GetCookie(name)//取cookies函数        
{
  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  if(arr != null) return unescape(arr[2]); return null;
}
function DelCookie(name)//删除cookie
{
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval=getCookie(name);
  if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

Array.prototype.Remove=function(v)
{
  for(var i=0,n=0;i<this.length;i++)
  {
      if(this[i]!=v)
      {
          this[n++]=this[i]
      }
  }
  this.length-=(i-n);
}
Array.prototype.Contain=function(v)
{
  for(var i=0,n=0;i<this.length;i++)
  {
      if(this[i]==v)
      {
        return true;
      }
  }
  return false;
}
