//全选函数
function chkClick(chk){
	if(chk.checked)
		chkOperator(true) ;
	else
		chkOperator(false);
}

function chkOperator (value){
	var items = document.getElementsByName('chbItemlist');
	if(items.length>0){
		for (var i = 0; i < items.length; i++){
			items[i].checked = value;
		}
	}
}


//删除
function operateRecold(action , str){
	 operateRecoldByFormNo(action , str , 0);
}

//删除
//需要传入当前form在页面上是第几个
function operateRecoldByFormNo(action , str , formNo){
	var checkOk;
	if(str == ""){
		checkOk = true;
	}else{
		if (confirm(str)){
			if (!atleaseOneCheck()){
				alert('请至少选择一条记录！');
				checkOk = false;
				return;
			}else{
				checkOk = true;
			}
		}else{
			checkOk = false;
		}
	}
	if(checkOk){
		var form = document.forms[formNo];
        form.action = action;
        form.submit();	
	}


}

//操作对象
function operateOneRecold(action , str){
	 if (confirm(str)){
	    var form = document.forms[0];
        form.action = action;
        form.submit();
	 }
}

//操作对象
//需要传入当前form在页面上是第几个
function operateOneRecoldByFormNo(action , str , formNo){
	 if (confirm(str)){
	    var form = document.forms[formNo];
        form.action = action;
        form.submit();
	 }
}

//操作对象
//checkbox只能选中一个
function operateOneRecoldByOnlyOneRcd(action , str){
	 if (confirm(str)){
		var checkedNumber = rtnCheckboxCheckedNumber();
		if(checkedNumber == 1){
			var form = document.forms[0];
			form.action = action;
			form.submit();
		}else{
			alert("只能选择一条记录");
		}
	 }
}

function rtnCheckboxCheckedNumber(){
	var items = document.getElementsByName('chbItemlist');
	var oneFlag = 0;
	if(items.length>0){
		for (var i = 0; i < items.length; i++){
	        if (items[i].checked == true){
	            oneFlag ++ ;
	        }
	    }
	}else{
		if(items.checked == true){
			  oneFlag ++ ;   	 
		}
	}
	return oneFlag;
}

function rtnCheckboxCheckedNumberByParam(items){
	var oneFlag = 0;
	if(items.length>0){
		for (var i = 0; i < items.length; i++){
	        if (items[i].checked == true){
	            oneFlag ++ ;
	        }
	    }
	}else{
		if(items.checked == true){
			  oneFlag ++ ;   	 
		}
	}
	return oneFlag;
}


//checkbox中至少有一项被选中
function atleaseOneCheck(){
    var items = document.getElementsByName('chbItemlist');
    if(items.length>0){
	    for (var i = 0; i < items.length; i++)
	    {
	        if (items[i].checked == true)
	        {
	            return true;
	        }
	    }
	}else{
		if(items.checked == true){
			  return true;		   	 
		}
	}
    return false;
}


function openFrame(url){
	parent.mainFrame.location = url;
}


function formatNull2Blank(str){
	if(str == null){
		return "";
	}else{
		return str;
	}
}

/*
==================================================================
计算source字符串的长度
中文按照3个字节计算，英文按1个字节计算，与数据库匹配
==================================================================
*/
function strbytelen(source){
	var endvalue=0;
	var sourcestr=new String(source);
	var tempstr;
	for (var strposition = 0;strposition < sourcestr.length;strposition ++) {
		tempstr=sourcestr.charAt(strposition);
		if(tempstr.charCodeAt(0)>=255 ||tempstr.charCodeAt(0)<=0){
			endvalue=endvalue+3;
		}else{
			endvalue=endvalue+1;
		}
	}
	return(endvalue);    
} 

/*
==================================================================
分页器
==================================================================
*/
function goto(pageNo){
	var form = document.forms[0];
	var action = form.action + "&pageNo="+pageNo;
	form.action = action;
	form.submit();
	
}


/*
==================================================================
获取js中的参数值
==================================================================
*/
String.prototype.getQuery = function(name){ 
　　var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 
　　var r = this.substr(this.indexOf("\?")+1).match(reg); 
　　if (r!=null) return unescape(r[2]); return null; 
}


/*
==================================================================
textarea转换成html形式的字符串
==================================================================
*/
function textarea2html(str) {
   if(str != null && str != ""){
		str = str.replace(new RegExp(">" , 'g'), "&gt;");
		str = str.replace(new RegExp("<" , 'g'), "&lt;");
		str = str.replace(new RegExp(String.fromCharCode(32),'g') , "&nbsp;") ;
		str = str.replace(new RegExp(String.fromCharCode(10),'g') , "<br>" );
   }
   return str;
}

/*
	功能：通用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个字母
*/
/*
==================================================================
字符串操作
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;
}

 

/*
================================================================================
验证类函数
================================================================================
*/
/*
用途：校验ip地址的格式
输入：strIP：ip地址
返回：如果通过验证返回true,否则返回false；
 
*/
function isIP(strIP) {
	if (isNull(strIP)) return false;
	var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
	if(re.test(strIP)){
		if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
	}
	return false;
}
 
/*
用途：检查输入字符串是否为空或者全部都是空格
输入：str
返回：
如果全是空返回true,否则返回false
*/
function isNull( str ){
	if ( str == "" ) return true;
	var regu = "^[ ]+$";
	var re = new RegExp(regu);
	return re.test(str);
}
 
 
/*
用途：检查输入对象的值是否符合整数格式
输入：str 输入的字符串
返回：如果通过验证返回true,否则返回false
 
*/
function isInteger( str ){
	var regu = /^[-]{0,1}[0-9]{1,}$/;
	return regu.test(str);
}
 
/*
用途：检查输入手机号码是否正确
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function checkMobile( s ){
	var regu =/^[1][3][0-9]{9}$/;
	var re = new RegExp(regu);
	if (re.test(s)) {
		return true;
	}else{
		return false;
	}
}
 
 
/*
用途：检查输入字符串是否符合正整数格式
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function isNumber( s ){
	var regu = "^[0-9]+$";
	var re = new RegExp(regu);
	if (s.search(re) != -1) {
		return true;
	} else {
		return false;
	}
}
 
/*
用途：检查输入字符串是否是带小数的数字格式,可以是负数
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function isDecimal( str ){
	if(isInteger(str)) return true;
	var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
	if (re.test(str)) {
		if(RegExp.$1==0&&RegExp.$2==0) return false;
		return true;
	} else {
		return false;
	}
}
 
/*
用途：检查输入对象的值是否符合端口号格式
输入：str 输入的字符串
返回：如果通过验证返回true,否则返回false
 
*/
function isPort( str ){
	return (isNumber(str) && str<65536);
}
 
/*
用途：检查输入对象的值是否符合E-Mail格式
输入：str 输入的字符串
返回：如果通过验证返回true,否则返回false
 
*/
function isEmail( str ){
	var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
	if(myReg.test(str)) return true;
	return false;
}
 
/*
用途：检查输入字符串是否符合金额格式
格式定义为带小数的正数，小数点后最多三位
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function isMoney( s ){
	var regu = "^[0-9]+[\.][0-9]{0,3}$";
	var re = new RegExp(regu);
	if (re.test(s)) {
		return true;
	} else {
		return false;
	}
}
/*
用途：检查输入字符串是否只由英文字母和数字和下划线组成
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function isNumberOr_Letter( s ){//判断是否是数字或字母
 
	var regu = "^[0-9a-zA-Z\_]+$";
	var re = new RegExp(regu);
	if (re.test(s)) {
		return true;
	}else{
		return false;
	}
}
/*
用途：检查输入字符串是否只由英文字母和数字组成
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function isNumberOrLetter( s ){//判断是否是数字或字母
 
	var regu = "^[0-9a-zA-Z]+$";
	var re = new RegExp(regu);
	if (re.test(s)) {
		return true;
	}else{
		return false;
	}
}
/*
用途：检查输入字符串是否只由汉字、字母、数字组成
输入：
value：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function isChinaOrNumbOrLett( s ){//判断是否是汉字、字母、数字组成
 
	var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
	var re = new RegExp(regu);
	if (re.test(s)) {
		return true;
	}else{
		return false;
	}
}
 
/*
用途：判断是否是日期
输入：date：日期；fmt：日期格式
返回：如果通过验证返回true,否则返回false
*/
function isDate( date, fmt ) {
	if (fmt==null) fmt="yyyy-MM-dd";
	var yIndex = fmt.indexOf("yyyy");
	if(yIndex==-1) return false;
	var year = date.substring(yIndex,yIndex+4);
	var mIndex = fmt.indexOf("MM");
	if(mIndex==-1) return false;
	var month = date.substring(mIndex,mIndex+2);
	var dIndex = fmt.indexOf("dd");
	if(dIndex==-1) return false;
	var day = date.substring(dIndex,dIndex+2);
	if(!isNumber(year)||year>"2100" || year< "1900") return false;
	if(!isNumber(month)||month>"12" || month< "01") return false;
	if(day>getMaxDay(year,month) || day< "01") return false;
	return true;
	}
	 
	function getMaxDay(year,month) {
	if(month==4||month==6||month==9||month==11)
	return "30";
	if(month==2)
	if(year%4==0&&year%100!=0 || year%400==0)
	return "29";
	else
	return "28";
	return "31";
}

 
/*
用途：字符1是否以字符串2结束
输入：str1：字符串；str2：被包含的字符串
返回：如果通过验证返回true,否则返回false
 
*/
function isLastMatch(str1,str2){
	var index = str1.lastIndexOf(str2);
	if(str1.length==index+str2.length) return true;
	return false;
}
 
 
/*
用途：字符1是否以字符串2开始
输入：str1：字符串；str2：被包含的字符串
返回：如果通过验证返回true,否则返回false
 
*/
function isFirstMatch(str1,str2){
	var index = str1.indexOf(str2);
	if(index==0) return true;
	return false;
}
 
/*
用途：字符1是包含字符串2
输入：str1：字符串；str2：被包含的字符串
返回：如果通过验证返回true,否则返回false
 
*/
function isMatch(str1,str2)
{
var index = str1.indexOf(str2);
if(index==-1) return false;
return true;
}
 
 
/*
用途：检查输入的起止日期是否正确，规则为两个日期的格式正确，
且结束如期>=起始日期
输入：
startDate：起始日期，字符串
endDate：结束如期，字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function checkTwoDate( startDate,endDate ) {
if( !isDate(startDate) ) {
alert("起始日期不正确!");
return false;
} else if( !isDate(endDate) ) {
alert("终止日期不正确!");
return false;
} else if( startDate > endDate ) {
alert("起始日期不能大于终止日期!");
return false;
}
return true;
}
 
/*
用途：检查输入的Email信箱格式是否正确
输入：
strEmail：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function checkEmail(strEmail) {
//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;
var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
if( emailReg.test(strEmail) ){
return true;
}else{
alert("您输入的Email地址格式不正确！");
return false;
}
}

/*
用途：检查输入的电话号码格式是否正确
输入：
strPhone：字符串
返回：
如果通过验证返回true,否则返回false
 
*/
function checkPhone( strPhone ) {
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;
var prompt = "您输入的电话号码不正确!"
if( strPhone.length > 9 ) {
if( phoneRegWithArea.test(strPhone) ){
return true;
}else{
alert( prompt );
return false;
}
}else{
if( phoneRegNoArea.test( strPhone ) ){
return true;
}else{
alert( prompt );
return false;
}
}
}
