﻿var initCss = "msg_init";
var focusCss = "msg_focus";
var errCss = "msg_err";
var okCss = "msg_ok";
var msgAddId = "msg";
var inputfocus = "b999";
var inputinit = "bccc";
function showMsg(oItem, mType){
	with(document.getElementById(valMsg[oItem][0])){
		switch (mType){
			case -1:
				innerHTML = valMsg[oItem][1];
				style.display = "block";
				className = errCss;	
				break;
			case 1:
				innerHTML = valMsg[oItem][2];
				if (innerHTML == "")
					style.display = "none";
				else{
					className = okCss;
					style.display = "block";
				}
				break;
			case 2:
				innerHTML = valMsg[oItem][3];
				style.display = "block";
				className = errCss;	
				break;
			case 3:
				innerHTML = valMsg[oItem][4];
				style.display = "block";
				className = errCss;	
				break;
		}
	}
}
//初始化表单
function initForm(oNum){
	nullMsg(oNum);
	allFB(oNum);
}
//页面载入隐藏内容为空的信息层
function nullMsg(oNum){
	var oArray = document.forms[oNum].getElementsByTagName("div");
	for (var i=0; i<oArray.length; i++){
		if (oArray[i].innerHTML == "")
			oArray[i].style.display = "none";
	}
}
//所有表单元素聚焦或者离开时默认信息显示效果
function allFB(oNum){
	var tagArray = new Array("input","select","textarea");
	for (var i=0; i<tagArray.length; i++) {
		var oArray = document.forms[oNum].getElementsByTagName(tagArray[i]);
		for (var j=0; j<oArray.length; j++) {
			oArray[j].onfocus = function(){
				var oId = this.id;
				var fMsgId = oId.replace(clientId,"") + msgAddId;
				var oId = oId.replace(clientId,"");
				oFocus(fMsgId);
				//oFocus2(oId);
			}
			oArray[j].onblur = function(){
				var oId = this.id;
				var oMsgId = oId.replace(clientId,"") + msgAddId;
				var oId = oId.replace(clientId,"");
				oBlur(oMsgId);
				//oBlur2(oId);
			}
		}
	}
}
//几个表单元素聚焦或者离开时所对应唯一的默认信息显示效果
function arrFB(oNameArr,mId){
	for (var i=0; i<oNameArr.length; i++) {
		var oArray = document.getElementsByName(clientId+oNameArr[i])
		for (var j=0; j<oArray.length; j++){
			oArray[j].onfocus = function(){oFocus(mId);}
			oArray[j].onblur = function(){oBlur(mId);}
		}
	}
}
//表单元素聚焦时显示效果
function oFocus2(oId){
	oId = oId.replace(clientId,"");
	if (document.getElementById(oId)!=null){
		with(document.getElementById(oId)){
			if (className == inputinit)
				className = inputfocus;
			else return;
		}
	}
	else return;
}
//表单元素聚焦时显示效果
function oFocus(oId){
	oId = oId.replace(clientId,"");
	if (document.getElementById(oId)!=null){
		with(document.getElementById(oId)){
			if (className == initCss)
				className = focusCss;
			else return;
		}
	}
	else return;
}
//表单元素离开时显示效果
function oBlur2(oId){
	oId = oId.replace(clientId,"");
	if (document.getElementById(oId)!=null){
		with(document.getElementById(oId)){
			if (className == inputfocus)
				className = inputinit;
			else return;
		}
	}
	else return;
}
//表单元素离开时显示效果
function oBlur(oId){
	oId = oId.replace(clientId,"");
	if (document.getElementById(oId)!=null){
		with(document.getElementById(oId)){
			if (className == focusCss)
				className = initCss;
			else return;
		}
	}else if(document.getElementById(oId)==""){
		className = initCss;
	}
	else return;
}

//输入框必填判断
function inputVal(oId) {
	oId = clientId + oId;
	if (document.getElementById(oId).value == "")
		return false;
	return true;
}
//列表框必选判断
function selectVal(oId) {
	oId = clientId + oId;
	if (document.getElementById(oId).selectedIndex == 0)
		return false;
	return true;
}
//客户端列表框必选判断
function clientSelectVal(oId)
{	
	if(document.getElementById(oId).selectedIndex == 0)
	   return false;
	return true;
}
//选择框必选判断
function checkVal(oName){
	oName = clientName + oName;
	var oArray = document.getElementsByName(oName);
	for (var i=0; i<oArray.length; i++){
		if(oArray[i].checked)
			return true;
	}
	return false;
}
//两个值是否相同的有效性判断
function compareVal(oId,cId) {
	oId = clientId + oId;
	cId = clientId + cId;
	if (document.getElementById(oId).value != document.getElementById(cId).value)
		return false;
	return true;
}
//符合某一规则的有效性判断//!!!正则表达式待验证!!!
function testVal(oId,mType){
	oId = clientId + oId;
	var re, rp;
	switch(mType){
		case "ID":	//用户名
			re = /^\w{4,20}$/;
			break;
		case "PW":	//密码
			re = /^\w{6,20}$/;
			break;
		case "YZ":	//验证码
			re = /^\w{4}$/;
			break;
		case "TM":	//生日
			re = /^\d{4}-\d{2}-\d{2}$/
			break;
		case "PC":	//国家区号
			re = /^\d{2,6}$/;
			break;
		case "QQ":	//QQ
			re = /^\d{5,10}$/;
			break;
		case "PA":	//城市区号
			re = /^\d{2,6}$/;
			break;
		case "PN":	//电话号码
			re = /^[0-9,-]{5,30}$/;
			break;
		case "MP":	//手机
			re = /^\d{5,30}$/;
			break;
		case "IMG":	//图片
			re = /\.(gif|jpg)$/i;
			break;
		case "Zip":	//邮编
			re = /^\d{6}$/;
			break;
		case "EM":	//电子邮箱
			re = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
			break;
		case "Url":	//网址
			//re = /([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;	//不包括"http://"
			re = /http:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
			break;
		case "Num":	//
			re = /^\d{1,10}$/;
			break;
		case "Money":
		    re = /^[0-9]+(.[0-9]{1,2})?$/;
		    break;
		case "Float":
		    re = /^[0-9]+(.[0-9]{1,10})?$/;
		    break;   
		default:
			alert("Error!");
			return;
	}
	rp = re.test(document.getElementById(oId).value);
	return (rp);
}
//字符长度的有效性判断,其中无最小值时minLength置为0,无最大值时maxLength置为<=0
function lengthVal(oId,minLength,maxLength){
	oId = clientId + oId;
	with(document.getElementById(oId).value){
		if (maxLength > 0){
			if((length >= minLength)&&(length <= maxLength))
				return true;
			return false;
		}
		else{
			if(length >= minLength)
				return true;
			return false;
		}
	}
}
//溢出时弹出提示框并禁止输入:同countchar.js的function countChar
function maxChar(oId,sId,maxLength){
	oId = clientId + oId;
	document.getElementById(oId).onkeypress = document.getElementById(oId).onkeyup = function() {
		if (this.value.length > maxLength){
			alert("对不起，您最多可录入"+maxLength+"字，请删减！");
			this.value = this.value.substring(0, maxLength-1);
			this.focus();
		}
		if (sId!="")
			document.getElementById(sId).value = this.value.length;
	}
}
//表单元素是否可用
function checkEnabled (meId, oArray, isId) {
	var isDisabled = (document.getElementById(meId).checked)?false:true;
	for (var i=0; i<oArray.length; i++) {
		if (isId!=false) {
			document.getElementById(clientId+oArray[i]).disabled = isDisabled;
			document.getElementById(clientId+oArray[i]).style.background = (isDisabled==true)?"#ccc":"#fff";
		}
		else {
			var o = document.getElementsByName(clientName+oArray[i]);
			for (var j=0; j<o.length; j++) {
				o[j].disabled = isDisabled;
				o[j].style.background = (isDisabled==true)?"#ccc":"#fff";				
			}
		}
	}
}
//另一语言版本(English)下的有效性判断
//!!!延后验证!!!
function englishVal(outerId){
	var tagArray = new Array("input","textarea");
	for (var i=0; i<tagArray.length; i++) {
		var oArray = document.getElementById(outerId).getElementsByTagName(tagArray[i]);
		for (var j=0; j<oArray.length; j++){
			if(oArray[i].value!="")
				return true;
		}
		return false;
	}
}
/*
 * 函数说明：去除头尾空格
 * 参数：	字符串
 * 返回值：	无
 * 时间：2006-5-12
 */
function trim(inputString) {
	return inputString.replace(/^ +/,"").replace(/ +$/,"");
}