
/**
 * 此函数的功能就是document.getElementById(id)，用此函数相当于简写
 * @param id 页面对象id(字符串类型)
 */
function GetObject(id){
	var el = document.getElementById(id);
	return(el);
}

/**
 * 得到今天日期
 */
function getSysDate()
{
	var d=new Date();
	var day=d.getDate();
	var month=d.getMonth() + 1;
	var year=d.getFullYear();
	var today=year + "-" + month + "-" + day;
	return today;
}
/**
*日期相加减函数:在传入日期srcDate基础上相加或减num天数(num为正数表示加、负数表示减)
*@param srcDate 传入日期
*@param num 天数
*@return 返回目标日期
*/
function getDestDay(srcDate,num) 
{		
		if(!dateCheck(srcDate)) {
			alert('传入日期格式不正确');
			return;
		}		
		var str = srcDate.replace(/-/g,'/');
		var date = new Date(str);			
		var nextDate = new Date(date.getYear(),date.getMonth(),date.getDate()+(num*1));
		var destStr = nextDate.getYear()+'-'+(nextDate.getMonth()+1)+'-'+nextDate.getDate();
		return destStr;
}
/**
 * 当图片加载出错时,图片不显示
 */
function imgLoadError(){
	event.srcElement.style.display='none';
}

/*
 * trim、ltrim 或 rtrim已加入String对象的内置方法。
 * 使用举例：var str=" abc  ";
 *           str=str.trim();
 */
//删除左右两端的空格
String.prototype.trim=function(){
	return this.replace(/(^\s*)|(\s*$)/g, "");
}
 //删除左边的空格
String.prototype.ltrim=function(){
	return this.replace(/(^\s*)/g,"");
}
//删除右边的空格
String.prototype.rtrim=function(){
	return this.replace(/(\s*$)/g,"");
}

/**显示或隐藏指定元素(本为是显示就隐藏，本来是隐藏就显示)
  *@param c_Str 元素ID
  */
function showHide(c_Str)
{
	if(document.all(c_Str).style.display=='none')
	{
		document.all(c_Str).style.display='block';
	}
	else
	{
		document.all(c_Str).style.display='none';
	}
}

/**
 * 全选或全不选一个form中的全部复选框
 * @param form form对象
 * @param flag true全选，false全不选
 */
function selectAll(form,flag)
{
	for(i=0;i<form.elements.length;i++)
	{
		if(form.elements[i].type=="checkbox")
		{
			form.elements[i].checked =flag;
		}
	}
}

/**
 * 反选一个form中的全部复选框
 * @param form form对象
 */
function reverseSelect(form)
{
	for(i=0;i<form.elements.length;i++)
	{
		if(form.elements[i].type=="checkbox")
		{
			form.elements[i].checked = !form.elements[i].checked;
		}
	}
}

/**
 * 控制textarea对象可输入的最大字符数
 * 建议在textarea .onchange事件中绑定此函数 onchange="textCounter(this,200);"
 */
function textCounter(field,maxlimit) 
{ 
  if (field.value.length > maxlimit) 
  {
     field.value = field.value.substring(0, maxlimit); 
     alert("输入的文字不能超过"+maxlimit+"个字!");
  }
} 

/**
 * 导出数据为Excel，需要设置IE里边的安全属性
 * tabname－－的名称ID
 * 调用onclick="Print2Excel('DataGrid1')" 
 */
function Print2Excel(tabname)
{
	
	var exApp = new ActiveXObject("Excel.Application");
	var exBook = exApp.Workbooks.Add();
	var exSheet = exBook.ActiveSheet;
	var tablename = eval(tabname);
	
	for(i = 0; i < tablename.rows.length; i++)
	{
		for(j = 0; j < tablename.rows[i].cells.length; j++)
		{
						
			var cellValue = GetInnerText(tablename.rows[i].cells[j]);
			if(cellValue == "&nbsp;")
			{
				cellValue = "";
			}
			exSheet.Cells(i + 1,j + 1).Value = cellValue;
		}
	}
	exApp.Visible = true;
	alert("完成");
}

/**
 * 获取元素最深子节点的text
 */
function GetInnerText(obj)
{
	var text;
	if (obj.childNodes.length > 0)
	{
		text = GetInnerText(obj.childNodes[0]);
	}
	else
	{
		text = obj.data;
	}
	
	return text;
}


/**
 * 按等比例缩略图显示图片
 * @param ImgD img对象
 * @param width_s 目标宽度
 * @param height_s 目标高度
 */
function autoSizeImg(ImgD,width_s,height_s){
	var image=new Image();
	image.src=ImgD.src;
	//图片的尺寸必须比标准尺寸大才做处理
	if(image.width>0 && image.height>0 &&(image.width>width_s || image.height>height_s)){		
		if(image.width/image.height>=width_s/height_s){	
			//宽尺寸大一些，以宽度为基准		
			ImgD.width=width_s;
			ImgD.height=(image.height*width_s)/image.width;			
		}else{
			//高尺寸大一些，以高度为基准		
			ImgD.height=height_s;
			ImgD.width=(image.width*height_s)/image.height;			
		}
	}	
}

//*********************************检查验证的JS函数************************************

/**
 * 检查Email格式是否合法
 * @param s 要验证的email地址
 */
function emailCheck(s){  
	var reg1 = new RegExp('^[a-zA-Z0-9][a-zA-Z0-9@._-]{3,}[a-zA-Z]$');
	var reg2 = new RegExp('[@.]{2}');
	
	if (s.search(reg1) == -1
			|| s.indexOf('@') == -1
			|| s.lastIndexOf('.') < s.lastIndexOf('@')
			|| s.lastIndexOf('@') != s.indexOf('@')
			|| s.search(reg2) != -1)
		return false;
	
	return true; 
}

/**
 * 检查日期格式是否正确
 * @param strvalue 日期格式字符串 yyyy-mm-dd; yyyy-m-d;
 */
function dateCheck(strvalue)
{
	var value = strvalue;
	var pattern=/^([\d]{4})-([\d]{1,2})-([\d]{1,2})$/;
	
	if(value.length >= 6 && value.length <= 10)
	{
		var ymd = value;
		var strY = "";
		var y = 0;
		var m = 0;
		var d = 0;
		if(!pattern.test(value)) return false;		//时间格式不对
		
			strY = RegExp.$1;
			y = eval(RegExp.$1);			
			m = eval(RegExp.$2);
			d = eval(RegExp.$3);
			if((y == 0 || m > 12 || m == 0 || d == 0) || 
					((m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) && d > 31) || 
					((m==4 || m==6 || m==9 || m==11) && d > 30) || 
					(m==2 && y%4==0 && d > 29) || (m==2 && y%4 != 0 && d > 28))
			{
				return false;
			}	
			if (y>=100 && y<1000)
			{
				return false;
			}
	}
	else if (value.length > 0)
	{
		return false;	
	}
	return true;
}

/**
 * 检查日期的合理性
 * @param sDate 起始日期 yyyy-mm-dd; yyyy-m-d;
 * @param eDate 结束日期 yyyy-mm-dd; yyyy-m-d;
 * @param isEqual 
 *			true - 起始日期 <= 结束日期
 *			false - 起始日期 < 结束日期
 * @return 如果日期格式不合法，返回false
 */
function chkDateFromTo(sDate,  eDate, isEqual){
	
	//日期格式检查
	if (dateCheck(sDate) && dateCheck(eDate)){
		var strSeparator = "-"; //split symbol
		var strDateArrayStart;
		var strDateArrayEnd;
		strDateArrayStart = sDate.split(strSeparator);
		strDateArrayEnd = eDate.split(strSeparator);
		var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
		var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
		//check date
		var intDay;
		intDay = (strDateE-strDateS)/(1000*3600*24);
		//alert(intDay);
		if(isEqual)
		{
			if(intDay < 0) return false;
			return true;
		}
		else
		{
			if(intDay <= 0) return false;
			return true;
		}
	}else{
		return false;
	}
}

/**
 * 检查时间的合理性
 * @param sTime 起始时间 MM:SS
 * @param eTime 结束时间 MM:SS
 * @param isEqual 
 *			true - 起始时间 <= 结束时间
 *			false - 起始时间 < 结束时间
 * @return 如果日期格式不合法，返回false
 */
function chkTimeFromTo(sTime,eTime,isEqual) {
	var strSeparator = ":"; //split symbol
	var strTimeArrayStart;
	var strTimeArrayEnd;
	strTimeArrayStart = sTime.split(strSeparator);
	strTimeArrayEnd = eTime.split(strSeparator);
	var sHour = strTimeArrayStart[0]*1;
	var sSecond = strTimeArrayStart[1]*1;				
	var eHour = strTimeArrayEnd[0]*1;
	var eSecond = strTimeArrayEnd[1]*1;
	if(isEqual) {
		if(sHour < eHour) {
			return true;
		} else if(sHour == eHour) {
			if(sSecond <= eSecond) {
				return true;
			} else{
				return false;
			}
		} else {
			return false;
		}
	} else {
		if(sHour < eHour) {
			return true;
		} else if(sHour == eHour) {
			if(sSecond < eSecond) {
				return true;
			} else{
				return false;
			}
		} else {
			return false;
		}
	}
}


/**
 * 检查固定电话
 * @param str 固定电话或者灵通号码
 */
function isTel(str) 
{ 	
    return true ;//固定电话或者灵通号码不作验证,可以随意输入
	var patrn=/(^[0-9]{3,4}\-[0-9]{3,9}$)/;
	if (!patrn.exec(str)) 
		return false ;
	else
		return true ;
} 
/**
 * 允许固定电话、小灵通、手机、含分机的固定电话的任意一种
 * 含分机的电话格式：010-12345678-11
 */
function isPhone(s)
{
	var tel=trim(s);
	var pattern=/^(\d{6,16}|\d{3,4}-\d{6,8}|\d{3,4}-\d{6,8}-\d{1,4}|\d{6,8}-\d{1,4})$/;
	if(tel.indexOf(tel.length-1)=="-") return false;
	var ss=tel.split("-");
	if(ss.length<=2)
	{
		return pattern.exec(tel);
	}
	if(ss.length==3)
	{
		return pattern.exec(ss[0]+"-"+ss[1]) && isData(ss[2]);
	}
	return false;
}

/**
 * 检查手机号/小灵通号，只要是11、12位数字就可以
 */
function isMobile(str){ 
	var patrn=/^\d{11,12}$/; 
	if (!patrn.exec(str)) 
		return false; 
	else
		return true;
}
  

/**
 * 是否数字
 */
function isNum(s) 
{ 
	if (s!="0")
	{
		var patrn=/(^[0-9]*[1-9][0-9]*$)/; 
		if (!patrn.exec(s)) 
			return false; 
		else
			return true;
	}
	return true;
} 

/**
 * 是否金额
 */
function isMoney(s) 
{ 
	if (s=="0.0") return true;
	if (s!="0")
	{
		var patrn=/(^[0-9]*[1-9][0-9]*\.?[0-9]{0,}$)/; 
		if (!patrn.exec(s)) 
			return false; 
		else
			return true;
	}
	return true;
} 

/**
 * 身份证号码验证
 */
function isIdCardNo(num) 
{
    var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
    var error;
    var varArray=new Array();
    var intValue;
    var lngProduct=0;
    var intCheckDigit;
    var intStrLen=num.length;
    var idNumber=num;
    // initialize
    if ((intStrLen != 15) && (intStrLen != 18)) {
        //error = "输入身份证号码长度不对！";
        //alert(error);
        //frmAddUser.txtIDCard.focus();
        return false;
    }    
    // check and set value
    for(i=0;i<intStrLen;i++) {
        varArray[i] = idNumber.charAt(i);
        if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
            //error = "错误的身份证号码！.";
            //alert(error);
            //frmAddUser.txtIDCard.focus();
            return false;
        } else if (i < 17) {
            varArray[i] = varArray[i]*factorArr[i];
        }
    }
    if (intStrLen == 18) {
        //check date
        var date8 = idNumber.substring(6,14);
        if (checkDate(date8) == false) {
            //error = "身份证中日期信息不正确！.";
            //alert(error);
            return false;
        }        
        // calculate the sum of the products
        for(i=0;i<17;i++) {
            lngProduct = lngProduct + varArray[i];
        }        
        // calculate the check digit
        intCheckDigit = 12 - lngProduct % 11;
        switch (intCheckDigit) {
            case 10:
                intCheckDigit = 'X';
                break;
            case 11:
                intCheckDigit = 0;
                break;
            case 12:
                intCheckDigit = 1;
                break;
        }        
        // check last digit
        if (varArray[17].toUpperCase() != intCheckDigit) {
            //error = "身份证效验位错误!...正确为： " + intCheckDigit + ".";
            //alert(error);
            return false;
        }
    } 
    else{        //length is 15
        //check date
        var date6 = idNumber.substring(6,12);
        if (checkDate(date6) == false) {
            //alert("身份证日期信息有误！.");
            return false;
        }
    }
    //alert ("Correct.");
    return true;
}

/**
 * 身份证日期部分验证函数
 */
function checkDate(date)
{
    return true;
}

/**
 * 邮政编码
 */
function isPostCode(s) {
	var patrn=/(^[0-9]{6,6}$)/;
	if (!patrn.exec(s))
		return false 
	return true; 
}

/**
 * 验证是否中文
 * @return 非中文返回 false
 */
function isChinese(str)
{
  str = str.replace(" ", "");
  for (i=0;i<str.length;i++)
  { 
     if (str.charCodeAt(i)< 255)
     {
       return false;
     }
   }
   return true;
}

/**
 * 是否是实数
 */
function checkFloat(s)
{
	if(s.indexOf(".")==-1)
	{
		if(!isData(s)) return false;
	}
	var pattern=/^((\d+(\.\d*)?)|((\d*\.)?\d+))$/;
	return pattern.test(s);
}



/**
 * Url校验
 */
function isURL (url) {
  var urlPattern = /^(?:(?:ftp|https?):\/\/)?(?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)+(?:com|edu|biz|org|gov|int|info|mil|net|name|museum|coop|aero|[a-z][a-z])\b(?:\d+)?(?:\/[^;"'<>()\[\]{}\s\x7f-\xff]*(?:[.,?]+[^;"'<>()\[\]{}\s\x7f-\xff]+)*)?/;
  return urlPattern.test(url.toLowerCase());
}

/*******************************下拉框操作开始**********************************/
/**
 * 为下拉框添加选项
 * @param obj 下拉框对象
 * @param val 选项值
 * @param text 选项文字
 */
function appendItem(obj,val,text)
{
	var elOptNew = document.createElement('option');
	elOptNew.text = text;
	elOptNew.value = val;

  try {
    obj.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    obj.add(elOptNew); // IE only
  }
}

/**
 * 移除下拉框的最后一个选项
 * @param obj 下拉框对象
 */
function removeLastItem(obj)
{
  if (obj.length > 0)
  {
    obj.remove(obj.length - 1);
  }
}

/**
 * 移除下拉框的选中的选项
 * @param obj 下拉框对象
 */
function removeSelItem(obj)
{
  var i;
  for (i = obj.length - 1; i>=0; i--) {
    if (obj.options[i].selected) {
      obj.remove(i);
    }
  }
}

/**
 * 清除下拉框的选中的选项
 */
function clearItem(obj)
{
  while (obj.length>0)
  {
	removeLastItem(obj);
  }
}

/**
 * 选中下拉列表框value为指定值的option
 */
function optionSelect(objSel,strValue) {
	var isSelected=false;
	if(objSel.options) {
		for(var oi=0;oi<objSel.options.length;oi=oi+1) {
			if(objSel.options[oi].value==strValue) {
				objSel.options[oi].selected=true;
				break;
			}
		}
	}
	return isSelected;
}
/*******************************下拉框操作结束**********************************/

/**
 * onkeypress调用
 * 限制文本框只能输入不超过指定个数的大写字母,如果letterCount<=0没有个数限制
 */
function inputUpperLetterOnly(letterCount) {
	if(letterCount>0&&event.srcElement.value.length>=letterCount) {
		//  超过长度,不能输入
		event.returnValue=false;
	}
	if(65<=event.keyCode&&event.keyCode<=90) {
		//  大写字母保持不变
	}
	else if(97<=event.keyCode&&event.keyCode<=122) {
		//  小写字母换成大写字母
		//event.keyCode=(String.fromCharCode(event.keyCode).toUpperCase()).charCodeAt(0);
		event.keyCode=event.keyCode-32
	}
	else {
		//  不是字母,不能输入
		event.returnValue=false;
	}
}

/**
 * onkeypress调用
 * 限制文本框只能输入不超过指定个数的数字,如果letterCount<=0没有个数限制
 */
function inputNumOnly(letterCount) {
	if(letterCount>0&&event.srcElement.value.length>=letterCount) {
		//  超过长度,不能输入
		event.returnValue=false;
	}
	else if(48<=event.keyCode&&event.keyCode<=57) {
		//  数字,可以输入
	}
	else {
		//  不是数字,不能输入
		event.returnValue=false;
	}
}
/**
*身份证验证
*@param idcard
*	身份证号
*@return 返回验证结果
*	0 身份证正确
*	1 身份证的位数不正确(非15、18)
*	2 身份证号码出生日期超出范围或含有非法字符
*	3 身份证的校验位不正确
*	4 身份证地区非法
*/
function checkIdcard(idcard){	
	var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
	var idcard,Y,JYM;
	var S,M;
	var idcard_array = new Array();
	idcard_array = idcard.split("");
	//地区检验
	if(area[parseInt(idcard.substr(0,2))]==null) {
		return 4;	
	}
	//身份号码位数及格式检验
	switch(idcard.length){
		case 15:
			if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
				ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
			} else {
				ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
			}			
			if(ereg.test(idcard)) { 
				return 0;
			} else {
				return 2;
			}
			break;
		case 18:
			//18位身份号码检测
			//出生日期的合法性检查 
			//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
			//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
			if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
				ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
			} else {
				ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
			}
			if(ereg.test(idcard)){//测试出生日期的合法性
				//计算校验位
				S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
				+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
				+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
				+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
				+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
				+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
				+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
				+ parseInt(idcard_array[7]) * 1 
				+ parseInt(idcard_array[8]) * 6
				+ parseInt(idcard_array[9]) * 3 ;
				Y = S % 11;
				M = "F";
				JYM = "10X98765432";
				M = JYM.substr(Y,1);//判断校验位
				if(M == idcard_array[17]) return 0; //检测ID的校验位
					else return 3;
			}
			else 
				return 2;
			break;
		default:
			return 1;
			break;
	}
}
/**
* 检查输入的姓名是否中文
*/
function ck_name(value_) {
  if(/[^\u4E00-\u9FA5]/gi.test(value_)){
  		if (/[\u4E00-\u9FA5]/gi.test(value_.substring(0,1)) && value_.indexOf("/")<=0 ) {
			return true;
		}
      	if (value_.indexOf("/")>=0 && (/[^\u4E00-\u9FA5]/gi.test(value_.substring(0,value_.indexOf("/")))) && (/[^\u4E00-\u9FA5]/gi.test(value_.substring((value_.indexOf("/") + 1),value_.length))) ) {			
			return true;
      	}
		return false;
  }else{
  	return true;
  }
}

/**
 * 解析日期字符串到日期对象
 */
function parseDate(s) {
	var reg=new RegExp("[^0-9-]","")
	if(s.search(reg)>=0)return today;
	var ss=s.split("-");
	if(ss.length!=3)return today;
	if(isNaN(ss[0])||isNaN(ss[1])||isNaN(ss[2]))return today;
	return new Date(parseInt(ss[0]),parseInt(ss[1]*1)-1,parseInt(ss[2]*1));
}

/**
 * 写入名称为cookieName，带失效日期的 cookie
 * var nowDate=new Date("");
 * var expireDate=??;
 * ResponseCookies("cookieName","cookieValue",expireDate);
 * 读取名称为cookieName的 cookie
 * RequestCookies("cookieName","defaultValue");
 */

/**
 * 写入 cookie
 * 不区分 cookieName 的大小写
 * 不考虑子键
 */
function ResponseCookies(cookieName, cookieValue, expires) {
	if(expires) {
		//  指定了 expires
		document.cookie = ResponseCookies_GetCookieName(cookieName) + "=" + escape(cookieValue) + "; expires=" + expires.toGMTString();
	}
	else {
		document.cookie = ResponseCookies_GetCookieName(cookieName) + "=" + escape(cookieValue);
	}
}

/**
 * 获取并返回与 cookieName 同名的 cookie 名称，允许大小写不同
 * 如果不存在这样的 cookie，就返回 cookieName
 */
function ResponseCookies_GetCookieName(cookieName) {
	var lowerCookieName = cookieName.toLowerCase();
	var cookieStr = document.cookie;

	if (cookieStr == "") {
		return cookieName;
	}
	
	var cookieArr = cookieStr.split("; ");
	var pos = -1;
	for (var i=0; i<cookieArr.length; i++) {
		pos = cookieArr[i].indexOf("=");
		if (pos > 0) {
			if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName)
			{
				return cookieArr[i].substring(0, pos);
			}
		}
	}
	
	return cookieName;
}

/**
 * 获取并返回 cookie 值
 * 不区分 cookieName 的大小写
 * dfltValue 为默认返回值
 * 不考虑子键
 */
function RequestCookies(cookieName, dfltValue) {
	var lowerCookieName = cookieName.toLowerCase();
	var cookieStr = document.cookie;
	
	if (cookieStr == "") {
		return dfltValue;
	}
	
	var cookieArr = cookieStr.split("; ");
	var pos = -1;
	for (var i=0; i<cookieArr.length; i++) {
		pos = cookieArr[i].indexOf("=");
		if (pos > 0) {
			if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName) {
				return unescape(cookieArr[i].substring(pos+1, cookieArr[i].length));
			}
		}
	}

	return dfltValue;
}