﻿// JScript 文件

if (!window.Element)
  var Element = new Object();

Element.extend = function(element) 
{
  if (!element) return;
  if (!element._extended && element.tagName && element != window) 
  {
    var methods = Element.Methods;
    for (property in methods) 
    {
      var value = methods[property];
      if (typeof value == 'function')
        element[property] = value.bind(null, element);
    }
  }
  element._extended = true;
  return element;
}
//---------------------------------------------------
//页面ID的引用，如"$('divid')"
function $()
{
  var results = [], element;
  for (var i = 0; i < arguments.length; i++) 
  {
    element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    results.push(Element.extend(element));
  }
  return results.length < 2 ? results[0] : results;
};

//添加事件,返回
function Obj_addEvent(obj, evType, fn)
{
    if (obj.addEventListener)
    {
        obj.addEventListener(evType, fn, false);
        return true;
    }
    else if (obj.attachEvent)
    {
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    }
    else
    {
        return false;
    }
}

//添加事件,不返回
function Obj_addEventFn(obj,evType,fn)
{
    obj.attachEvent("on"+evType, fn);
}

//动态创建脚本
function CreateDomScript(url,objId)
{
	if($(objId)) document.body.removeChild($(objId));
	var objScript = document.createElement('script');
	objScript.id = objId;
	objScript.language = 'javascript';
	objScript.src = url;
	document.body.appendChild(objScript);
}

//取URL参数值
function Request(strName)
{
	var strHref = window.document.location.href;
	var intPos = strHref.indexOf("?");
	var strRight = strHref.substr(intPos + 1);

	var arrTmp = strRight.split("&");
	for(var i = 0; i < arrTmp.length; i++)
	{
		var arrTemp = arrTmp[i].split("=");

		if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
	}
	return "";
}

//读取<!--ABC--><!--/ABC-->块内容
function ReadSign(strSign,strContent)
{
   var r, re;
   re = new RegExp('<!--' + strSign + '-->.*<!--/' + strSign + '-->','i');
   r = strContent.match(re);
   return(r.toString());
}

//Cookie封装
function CookieHelper() {}
CookieHelper.prototype.expires ='';
CookieHelper.prototype.path　　='';
CookieHelper.prototype.domain  ='';
CookieHelper.prototype.secure  ='';
//取Cookie值
CookieHelper.prototype.getCookie = function(sCookieName)
{
    var sName=sCookieName+"=", ichSt, ichEnd;
    var sCookie=document.cookie;
    if ( sCookie.length && ( -1 != (ichSt = sCookie.indexOf(sName)) ) )
    {
        if (-1 == ( ichEnd = sCookie.indexOf(";",ichSt+sName.length) ) )
            ichEnd = sCookie.length;
        return unescape(sCookie.substring(ichSt+sName.length,ichEnd));
    }
    return null;
}
//存Cookie值
CookieHelper.prototype.setCookie = function(sCookieName,sCookieValue,dCookieExpires)
{
    var argv = this.setCookie.arguments, argc = this.setCookie.arguments.length;
    var sExpDate = (argc > 2) ? "; expires="+argv[2].toGMTString() : "";
    var sPath = (argc > 3) ? "; path="+argv[3] : "";
    var sDomain = (argc > 4) ? "; domain="+argv[4] : "";
    var sSecure = (argc > 5) && argv[5] ? "; secure" : "";
    document.cookie = sCookieName + "=" + escape(sCookieValue,0) + sExpDate + sPath + sDomain + sSecure + ";";
}
//清除Cookie
CookieHelper.prototype.clearCookie = function(sCookieName)
{
    document.cookie = sCookieName + "=" + this.getCookie(sCookieName) + "; expires=" + (new Date()).toGMTString() + ";";
}

//取一个随机数
function GetRandomNum(minNum, maxNum)
{
    return minNum + Math.round((Math.random()*(maxNum-minNum)));
}

//获取指定长度的str,汉字算两个
function GetSubStr(str,len)
{
 if(strLength(str)<=len)
    return str;
  var strLen=0;
  var newstr='';
  for(var i=0;i<str.length;i++)
  {
    if(str.charCodeAt(i)>256)
    {
	  strLen+=2;
	}
	else
	{
	  strLen++;
	}
	newstr=newstr+str.substr(i,1);
	if(strLen==len)
	{
	 return  newstr;
	}
	if(strLen>len)
	{
	 return newstr.substr(0,newstr.length-1);
	}
  }
}

//取字符串长度，汉字算两个
function StrLength(astr)
{
    var strLen=0;
    if(astr)
    {
        for(var k=0;k<astr.length;k++)
        {
            if(astr.charCodeAt(k)>256)
            {
                strLen+=2;
            }
            else
            {
                strLen++;
            }
        }
    }
    return strLen;
}

//去除左边的空格
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;
}
			
//去除右边的空格
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;
}		
			
//去除前后空格
function Trim(str)  //去除前后空格
{
  return RTrim(LTrim(str));
}

//检测是否包含<、>、(、)、'、"、+、;、\、?、%、--字符，有返回true，否则返回false
function RiskWord(str)  //检测是否包含<、>、(、)、'、"、+、;、\、?、%、--字符，有返回true，否则返回false
{
  var Letters= "<>()'\"+;\?%";
  var i;
  var c;
  for( i = 0; i < str.length; i ++ )
  {
    c = str.charAt( i );
	   if(Letters.indexOf( c )>=0)
	   return true;
  }
  if(str.indexOf("--")>=0)
    return true;
  return false;
}	

//这里是判断YYYY-MM-DD这种格式的，基本上把闰年和2月等的情况都考虑进去了
function CheckDate(date)  //这里是判断YYYY-MM-DD这种格式的，基本上把闰年和2月等的情况都考虑进去了
{
  var RegDate=/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/;
  return RegDate.test(date);
}	

//这里是判断YYYY-MM-DD hh:mm:ss这种格式的
function CheckDateTime(date) //这里是判断YYYY-MM-DD hh:mm:ss这种格式的
{
  var RegDateTime=/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$/;
  return RegDateTime.test(date);
}	

 //检测邮箱
function CheckEmail(str)
{
  var matchstr=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
  return matchstr.test(str);
}

//检测电话号码
function CheckTel(str)
{
  var matchstr=/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;
  return matchstr.test(str)
}

//检测手机号
function CheckMobile(str)
{
  var matchstr=/^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/;
  return tel.test(str)
}

//检测URL地址
function CheckTel(str)
{
  var matchstr=/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
  return matchstr.test(str)
}

//检测身份证号
function CheckIdCard(str)
{
  var matchstr=/^\d{15}(\d{2}[A-Za-z0-9])?$/;
  return matchstr.test(str)
}

//检测是否数字
function CheckNumber(str)
{
  var matchstr= /^\d+$/;
  return matchstr.test(str)
}
//检测是否整数
function CheckInt(str)
{
  var matchstr= /^(-?(\d+))$/;
  return matchstr.test(str)
}

//检测是否为英文
function CheckEnglish(str)
{
  var matchstr=/^[A-Za-z]+$/;
  return matchstr.test(str)
}

//检测是否为汉字
function CheckChinese(str)
{
  var matchstr=/^[\u0391-\uFFE5]+$/;
  return matchstr.test(str)
}

//检测是否为浮点数
function CheckFloat(str)
{
    var matchstr=/^(\d+|(\d+(\.\d+)))$/;
    return matchstr.test(str)
}

// 弹出新窗口
function winOpen(page,winName,w,h,scrollbars,resizable)
{
	if( !scrollbars ) scrollbars = 0;
	if( scrollbars==1) scrollbars= 'yes';
	if( scrollbars==0) scrollbars= 'no';
	
	if( !resizable ) resizable = 0;
	if( resizable==1) resizable= 'yes';
	if( resizable==0) resizable= 'no';
	
	str = 'width=' + w + ', height=' + h + ',scrollbars=' + scrollbars + ',resizable=' + resizable + ',toolbar=no,location=no,directories=no,status=no,menubar=no';
	window.open(page, winName, str);
	return false;
}

//获得浮动对象的Leftfunction gLeft(o){var obj = o;var l=obj.offsetLeft;		while(obj=obj.offsetParent){			l+=obj.offsetLeft;			}			return l;}//获得浮动对象的Topfunction gTop(o){        var obj = o;		var t=obj.offsetTop;		// alert(obj);		while(obj=obj.offsetParent){			t+=obj.offsetTop;		}		return t;} 
