////////////////////////////////////////////////////////////////////////////////
//JS 验证代码
////////////////////////////////////////////////////////////////////////////////
// r: 判断空值
// n: 数字类型
// p: 电话类型 (数字和-)
// d: 日期类型(ex. 20090101, 2009年1月1日)
// l: 内容长度
// L: 数字内容长度
// t: 时间类型
// w: 月份类型(1-12)
// i: 日期类型
// u: URL类型
// e: email类型
// v: 浮点类型

function f_valid_chk(a_arr) {
 if (a_arr[3].indexOf("r") != -1) if (!f_req_chk   (a_arr)) return false;
 if (a_arr[3].indexOf("n") != -1) if (!f_number_chk(a_arr)) return false;
 if (a_arr[3].indexOf("p") != -1) if (!f_tel_chk(a_arr)) return false;
 if (a_arr[3].indexOf("v") != -1) if (!f_float_chk (a_arr)) return false;
 if (a_arr[3].indexOf("d") != -1) if (!f_nalja_chk (a_arr)) return false;
 if (a_arr[3].indexOf("l") != -1) if (!f_len_chk   (a_arr)) return false;//
 if (a_arr[3].indexOf("L") != -1) if (!f_LenNum_chk   (a_arr)) return false;
 if (a_arr[3].indexOf("t") != -1) if (!f_sigan_chk (a_arr)) return false;
 if (a_arr[3].indexOf("w") != -1) if (!f_month_chk (a_arr)) return false;
 if (a_arr[3].indexOf("i") != -1) if (!f_day_chk   (a_arr)) return false;
 if (a_arr[3].indexOf("u") != -1) if (!f_url_chk   (a_arr)) return false;
 if (a_arr[3].indexOf("e") != -1) if (!f_email_chk (a_arr)) return false;
 if (a_arr[3].indexOf("j") != -1) if (!f_juminsaup_chk (a_arr)) return false;
 return true;
}

////////////////////////////////////////////////////////////////////////////////
//具体函数
////////////////////////////////////////////////////////////////////////////////
//时间
function f_sigan_chk(a_arr) {
 if (!f_time_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 准确输入时间");
     showMsgBox("alert", "'"+a_arr[1] + "' 正确输入时间.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}
function CheckForm(a_arr)
{
 if ((document.frm1.shangyemingcheng.value)=="" && (document.frm1.qita.value)=="")
{
     alert("必须在搜索名称和其它内容中填写一项！");
     document.frm1.qita.focus();
     return false;
}

return true;
}
//空值
function f_req_chk(a_arr) {
 if (f_empty_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 请填写此项");
     showMsgBox("alert", "'"+a_arr[1] + "' 请填写此项.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

//电子箱邮
function f_email_chk(a_arr) {
 if (!f_valid_email(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("E-mail应是'帐户@域名'的形式");
     showMsgBox("alert", "'"+a_arr[1] + "' 应是'帐户@域名'的形式.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

//URL
function f_url_chk(a_arr) {
 if (!f_valid_url(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("主页的地址应是'http://域名'的形式");
     showMsgBox("alert", "'"+a_arr[1] + "' 地址应是'http://域名'的形式.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

//字符串长度
function f_len_chk(a_arr) {
 if (f_lenb(a_arr[0].value) > a_arr[2]) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 超过了用户名长度.\n英文 " + a_arr[2] + "子, 中文 " + a_arr[2] / 2 + "字以内输入.");
     showMsgBox("alert", "'"+a_arr[1] + "' 超过了规定长度.\n英文 " + a_arr[2] + "个字母, 中文 " + a_arr[2] / 2 + "字以内输入.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}
//数字长度
function f_LenNum_chk(a_arr) {
 if (f_lenb(a_arr[0].value) > a_arr[2]) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 超过了用户名长度.\n英文 " + a_arr[2] + "子, 中文 " + a_arr[2] / 2 + "字以内输入.");
     showMsgBox("alert", "'"+a_arr[1] + "' 超过了规定的长度.\n " + a_arr[2] + "字以内输入.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

//月份
function f_month_chk(a_arr) {
 if (!f_weol_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 请正确输入月份");
     showMsgBox("alert", "'"+a_arr[1] + "' 请正确输入月份.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

//日期
function f_day_chk(a_arr) {
 if (!f_il_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 请正确输入日期");
     showMsgBox("alert", "'"+a_arr[1] + "' 请正确输入日期.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

//日期格式
function f_nalja_chk(a_arr) {
 if (!f_date_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 清正确输入日期.(例:20090101, 2009年1月1日)");
     showMsgBox("alert", "'"+a_arr[1] + "' 请正确输入日期.(例:20110101, 2011年1月1日)");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

//数字类型
function f_number_chk(a_arr) {
 if (!f_jeongsu_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 请准确输入数字.");
     showMsgBox("alert", "'"+a_arr[1] + "' 请输入数字.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

//电话类型
function f_tel_chk(a_arr) {
	 if (!f_telnum_chk(a_arr[0].value)) {
	     if (a_arr[4]) eval(a_arr[4]);
	     showMsgBox("alert", "'"+a_arr[1] + "' 请输入数字.");
	     if (a_arr[3].indexOf("f") == -1) {
	         a_arr[0].select();
	     }
	     if (a_arr[3].indexOf("h") == -1) {
	         a_arr[0].focus();
	     }
	     return false;
	 }
	 return true;
}

//浮点数字
function f_float_chk(a_arr) {
 if (!f_budong_sosu_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 请准确输入数字");
     showMsgBox("alert", "'"+a_arr[1] + "' 请输入数字.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

function f_juminsaup_chk(a_arr) {
 if (a_arr[0].value.length == 10) {
     return f_saup_chk(a_arr);
 } else if (a_arr[0].value.length == 13) {
     return f_jumin_chk(a_arr);
 } else {
     alert("营业执照号码请勿输入连接符（—）（输入10位）, 身份证号码请勿输入连接符（—）（输入1－19位）");
     return false;
 }
}

function f_jumin_chk(a_arr) {
 if (!f_juminno_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 要正确填写此项");
     showMsgBox("alert", "'"+a_arr[1] + "' 要正确填写此项.");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;      // ??? ???? ???????.
 }
 return true;
}

function f_saup_chk(a_arr) {
 if (!f_saupno_chk(a_arr[0].value)) {
     if (a_arr[4]) eval(a_arr[4]);
     //alert("'" + a_arr[1] + "' 要正确填写此项");
     alert("请正确输入营业执照号码");
     if (a_arr[3].indexOf("f") == -1) {
         a_arr[0].select();
     }
     if (a_arr[3].indexOf("h") == -1) {
         a_arr[0].focus();
     }
     return false;
 }
 return true;
}

////////////////////////////////////////////////////////////////////////////////
//IMPEMENTATIONS(Private)
////////////////////////////////////////////////////////////////////////////////

function f_lenb(a_str) {
 var j = a_str.length;
 var l = j;
 for (var i = 0; i < l; i++) if (a_str.charCodeAt(i) > 255) j++;
 return j;
}

function f_juminno_chk(a_obj) {
 var str_f_num = a_obj.substring(0, 6);
 var str_l_num = a_obj.substring(6, 13);

 if (f_lenb(a_obj) != 13) return false;
 if (!f_jeongsu_chk(a_obj)) return false;

 var i3 = 0;
 for (var i = 0; i < str_f_num.length; i++) {
     var ch1 = str_f_num.substring(i, i + 1);
     if (ch1 < '0' || ch1 > '9') { i3 = i3 + 1; }
 }

 if ((str_f_num == '') || (i3 != 0)) {
     a_obj.focus();
     return false;
 }

 var i4 = 0;
 for (var i = 0; i < str_l_num.length; i++) {
     var ch1 = str_l_num.substring(i, i + 1);
     if (ch1 < '0' || ch1 > '9') { i4 = i4 + 1; }
 }
 if ((str_l_num == '') || ( i4 != 0 )) {
     return false;
 }

 if (str_l_num.substring(0, 1) > 2) {
     return false;
 }

 if ((str_f_num.length > 7) || (str_l_num.length > 8)) {
     return false;
 }

 var f1 = str_f_num.substring(0, 1);
 var f2 = str_f_num.substring(1, 2);
 var f3 = str_f_num.substring(2, 3);
 var f4 = str_f_num.substring(3, 4);
 var f5 = str_f_num.substring(4, 5);
 var f6 = str_f_num.substring(5, 6);
 var hap = f1 * 2 + f2 * 3 + f3 * 4 + f4 * 5 + f5 * 6 + f6 * 7;

 var l1 = str_l_num.substring(0, 1);
 var l2 = str_l_num.substring(1, 2);
 var l3 = str_l_num.substring(2, 3);
 var l4 = str_l_num.substring(3, 4);
 var l5 = str_l_num.substring(4, 5);
 var l6 = str_l_num.substring(5, 6);
 var l7 = str_l_num.substring(6, 7);
 hap = hap + l1 * 8 + l2 * 9 + l3 * 2 + l4 * 3 + l5 * 4 + l6 * 5;
 var rem = hap % 11;
 rem = (11 - rem) % 10;
 if (rem != l7) {
     return false;
 }
 return true;
}

function f_saupno_chk(vencod) {
 var sum = 0;
 var getlist = new Array(10);
 var chkvalue = new Array("1", "3", "7", "1", "3", "7", "1", "3", "5");
 for (var i = 0; i < 10; i++) { getlist[i] = vencod.substring(i, i + 1); }
 for (var i = 0; i < 9; i++) { sum += getlist[i] * chkvalue[i]; }

 sum = sum + parseInt((getlist[8] * 5) / 10);
 sidliy = sum % 10;
 sidchk = 0;

 if (sidliy != 0) { sidchk = 10 - sidliy; }
 else { sidchk = 0; }
 if (sidchk != getlist[9]) { return false; }

 return true;
}

function f_jeongsu_chk(a_num) {
	numstr = "+-0123456789,"; /* +- ????? ???? */
	for (var i = 0; i < a_num.length; i++){
		if (numstr.indexOf(a_num.charAt(i)) == -1)
		    return false;
     if ((a_num.charAt(i) == "+" || a_num.charAt(i) == "-" ) && i != 0)  // +, -? ????? ??? return false;
         return false;
	}
	return true;
}

function f_telnum_chk(a_num) {
	numstr = "-0123456789,"; /* +- ????? ???? */
	for (var i = 0; i < a_num.length; i++){
		if (numstr.indexOf(a_num.charAt(i)) == -1)
		    return false;
	}
	return true;
}

function f_budong_sosu_chk(a_num) {
 //  grammar check needed.
	numstr = "+-0123456789.,"; /* +- ????? ???? */
	for (var i = 0; i < a_num.length; i++){
		if (numstr.indexOf(a_num.charAt(i)) == -1)
		    return false;
     if ((a_num.charAt(i) == "+" || a_num.charAt(i) == "-" ) && i != 0)  // +, -? ????? ??? return false;
         return false;
	}
	return true;
}

function f_empty_chk(a_data) {
 for (var i = 0; i < a_data.length; i++ ) {
     if (a_data.substring(i, i + 1) != " ")
         return false;
 }
 return true;
}

function f_gongbaeg_chk(a_data) {
 if (a_data.indexOf(' ') == -1) return false;
 return true;
}

function f_weol_chk(a_weol) {
 if (a_weol == '') return false;
 if (!f_jeongsu_chk(a_weol)) return false;
 if (f_gongbaeg_chk(a_weol)) return false;
 if (parseInt(a_weol) > 12) return false;
 return true;
}

function f_il_chk(a_il) {
 if (a_il == '') return false;
 if (!f_jeongsu_chk(a_il)) return false;
 if (f_gongbaeg_chk(a_il)) return false;
 if (parseInt(a_il) > 31) return false;
 return true;
}

function f_time_chk(a_time) {
 if (a_time == '') return false;
 if (a_time.length != 4) return false;
 if (!f_jeongsu_chk(a_time)) return false;
 if (f_gongbaeg_chk(a_time)) return false;

 var si  = a_time.substring(0, 2);
 var bun = a_time.substring(2, 4);

 if (parseInt(si)  > 24) return false;
 if (parseInt(bun) > 60) return false;
 return true;
}

function f_date_chk(a_date) {
 var result = true;
 a_date = a_date.replace(/-/gi, "");
 if (a_date == '') return result;
 if (!(a_date.length == 8 || a_date.length == 0)) result = false;
 if (!f_jeongsu_chk(a_date)) result = false;
 if (f_gongbaeg_chk(a_date)) result = false;

 var nyeondo = a_date.substring(0, 4);
 var weol    = a_date.substring(4, 6);
 var il      = a_date.substring(6, 8);

 var mal_il
 mal_il = new Array(12);
 mal_il[0] = 31;
 mal_il[1] = 28;
 mal_il[2] = 31;
 mal_il[3] = 30;
 mal_il[4] = 31;
 mal_il[5] = 30;
 mal_il[6] = 31;
 mal_il[7] = 31;
 mal_il[8] = 30;
 mal_il[9] = 31;
 mal_il[10] = 30;
 mal_il[11] = 31;

 if (parseInt(weol) == 2) {
     if (!(nyeondo % 4) && ((nyeondo % 100) || !(nyeondo % 400))) mal_il[1] = 29;
 }
 if (weol > 12 || weol < 1) { result = false; }
 if (il > mal_il[parseInt(weol) - 1] || il < 1) { result = false; }

 return result;
}

function f_valid_email(a_email) {
 if (f_empty_chk(a_email)) return true;
 if (a_email.search(/(\S+)@(\S+)\.(\S+)/) == -1) return false;
 return true;
}


function f_valid_url(a_url) {
 if (f_empty_chk(a_url)) return true;
 var re;
 re = /^http:\/\/(\S+)\.(\S+)/ig;
 if (!re.exec(a_url)) return false;
 return true;
}

//================================================================================


////////////////////////////////////////////////////////////////////////////////
//JS 验证代码 for jQuery
////////////////////////////////////////////////////////////////////////////////
//	    r: 判断空值
//	    n: 数字类型
//      p: 电话类型
//	    d: 日期类型(ex. 20090101, 2009年1月1日)
//	    l: 内容长度
//	    t: 时间类型
//	    w: 月份类型(1-12)
//	    i: 日期类型
//	    u: URL类型
//	    e: email类型
//	    v: 浮点类型

	function f_valid_chk4jq(a_arr) {
	    if (a_arr[3].indexOf("r") != -1) if (!f_req_chk4jq   (a_arr)) return false;
	    if (a_arr[3].indexOf("n") != -1) if (!f_number_chk4jq(a_arr)) return false;
	    if (a_arr[3].indexOf("p") != -1) if (!f_tel_chk4jq(a_arr)) return false;
	    if (a_arr[3].indexOf("v") != -1) if (!f_float_chk4jq (a_arr)) return false;
	    if (a_arr[3].indexOf("d") != -1) if (!f_nalja_chk4jq (a_arr)) return false;
	    if (a_arr[3].indexOf("l") != -1) if (!f_len_chk4jq   (a_arr)) return false;
	    if (a_arr[3].indexOf("t") != -1) if (!f_sigan_chk4jq (a_arr)) return false;
	    if (a_arr[3].indexOf("w") != -1) if (!f_month_chk4jq (a_arr)) return false;
	    if (a_arr[3].indexOf("i") != -1) if (!f_day_chk4jq   (a_arr)) return false;
	    if (a_arr[3].indexOf("u") != -1) if (!f_url_chk4jq   (a_arr)) return false;
	    if (a_arr[3].indexOf("e") != -1) if (!f_email_chk4jq (a_arr)) return false;
	    if (a_arr[3].indexOf("j") != -1) if (!f_juminsaup_chk4jq (a_arr)) return false;
	    return true;
	}

	////////////////////////////////////////////////////////////////////////////////
	// 具体函数
	////////////////////////////////////////////////////////////////////////////////
	// 时间
	function f_sigan_chk4jq(a_arr) {
	    if (!f_time_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 准确输入时间");
	        showMsgBox("alert", "'"+a_arr[1] + "' 准确输入时间.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	// 空值
	function f_req_chk4jq(a_arr) {
	    if (f_empty_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 请填写此项");
	        showMsgBox("alert", "'"+a_arr[1] + "' 请填写此项.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	// 电子箱邮
	function f_email_chk4jq(a_arr) {
	    if (!f_valid_email(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("E-mail应是'帐户@域名'的形式");
	        showMsgBox("alert", "'"+a_arr[1] + "' 应是'帐户@域名'的形式.");
	        if (a_arr[3].indexOf("f") == -1) {
	            //a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	// URL
	function f_url_chk4jq(a_arr) {
	    if (!f_valid_url(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("主页的地址应是'http://域名'的形式");
	        showMsgBox("alert", "'"+a_arr[1] + "' 地址应是'http://域名'的形式.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	// 字符串长度
	function f_len_chk4jq(a_arr) {
	    if (f_lenb4jq(a_arr[0].val()) > a_arr[2]) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 超过了用户名长度.\n英文 " + a_arr[2] + "子, 中文 " + a_arr[2] / 2 + "字以内输入.");
	        showMsgBox("alert", "'"+a_arr[1] + "' 超过了设定长度.\n英文 " + a_arr[2] + "子, 中文 " + a_arr[2] / 2 + "字以内输入.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	// 月份
	function f_month_chk4jq(a_arr) {
	    if (!f_weol_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 请正确输入月份");
	        showMsgBox("alert", "'"+a_arr[1] + "' 请正确输入月份.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	// 日期
	function f_day_chk4jq(a_arr) {
	    if (!f_il_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 请正确输入日期");
	        showMsgBox("alert", "'"+a_arr[1] + "' 请正确输入日期.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	// 日期格式
	function f_nalja_chk4jq(a_arr) {
	    if (!f_date_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 清正确输入日期.(例:20090101, 2009年1月1日)");
	        showMsgBox("alert", "'"+a_arr[1] + "' 请正确输入日期.(例:20110101, 2011年1月1日)");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	// 数字类型
	function f_number_chk4jq(a_arr) {
	    if (!f_jeongsu_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 请准确输入数字.");
	        showMsgBox("alert", "'"+a_arr[1] + "' 请输入数字.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}
	//电话类型
	function f_tel_chk4jq(a_arr) {
	    if (!f_telnum_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 请准确输入数字.");
	        showMsgBox("alert", "'"+a_arr[1] + "' 请输入数字.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}
	
	// 浮点数字
	function f_float_chk4jq(a_arr) {
	    if (!f_budong_sosu_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 请准确输入数字");
	        showMsgBox("alert", "'"+a_arr[1] + "' 请输入数字.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	function f_juminsaup_chk4jq(a_arr) {
	    if (a_arr[0].val().length == 10) {
	        return f_saup_chk4jq(a_arr);
	    } else if (a_arr[0].val().length == 13) {
	        return f_jumin_chk4jq(a_arr);
	    } else {
	        alert("营业执照号码请勿输入连接符（—）（输入10位）, 身份证号码请勿输入连接符（—）（输入1－19位）");
	        return false;
	    }
	}

	function f_jumin_chk4jq(a_arr) {
	    if (!f_juminno_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 要正确填写此项");
	        showMsgBox("alert", "'"+a_arr[1] + "' 要正确填写此项.");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;      // ??? ???? ???????.
	    }
	    return true;
	}

	function f_saup_chk4jq(a_arr) {
	    if (!f_saupno_chk4jq(a_arr[0].val())) {
	        if (a_arr[4]) eval(a_arr[4]);
	        //alert("'" + a_arr[1] + "' 要正确填写此项");
	        alert("请正确输入营业执照号码");
	        if (a_arr[3].indexOf("f") == -1) {
	            a_arr[0].select();
	        }
	        if (a_arr[3].indexOf("h") == -1) {
	            a_arr[0].focus();
	        }
	        return false;
	    }
	    return true;
	}

	////////////////////////////////////////////////////////////////////////////////
	// IMPEMENTATIONS(Private)
	////////////////////////////////////////////////////////////////////////////////

	function f_lenb4jq(a_str) {
	    var j = a_str.length;
	    var l = j;
	    for (var i = 0; i < l; i++) if (a_str.charCodeAt(i) > 255) j++;
	    return j;
	}

	function f_juminno_chk4jq(a_obj) {
	    var str_f_num = a_obj.substring(0, 6);
	    var str_l_num = a_obj.substring(6, 13);

	    if (f_lenb4jq(a_obj) != 13) return false;
	    if (!f_jeongsu_chk4jq(a_obj)) return false;

	    var i3 = 0;
	    for (var i = 0; i < str_f_num.length; i++) {
	        var ch1 = str_f_num.substring(i, i + 1);
	        if (ch1 < '0' || ch1 > '9') { i3 = i3 + 1; }
	    }

	    if ((str_f_num == '') || (i3 != 0)) {
	        a_obj.focus();
	        return false;
	    }

	    var i4 = 0;
	    for (var i = 0; i < str_l_num.length; i++) {
	        var ch1 = str_l_num.substring(i, i + 1);
	        if (ch1 < '0' || ch1 > '9') { i4 = i4 + 1; }
	    }
	    if ((str_l_num == '') || ( i4 != 0 )) {
	        return false;
	    }

	    if (str_l_num.substring(0, 1) > 2) {
	        return false;
	    }

	    if ((str_f_num.length > 7) || (str_l_num.length > 8)) {
	        return false;
	    }

	    var f1 = str_f_num.substring(0, 1);
	    var f2 = str_f_num.substring(1, 2);
	    var f3 = str_f_num.substring(2, 3);
	    var f4 = str_f_num.substring(3, 4);
	    var f5 = str_f_num.substring(4, 5);
	    var f6 = str_f_num.substring(5, 6);
	    var hap = f1 * 2 + f2 * 3 + f3 * 4 + f4 * 5 + f5 * 6 + f6 * 7;

	    var l1 = str_l_num.substring(0, 1);
	    var l2 = str_l_num.substring(1, 2);
	    var l3 = str_l_num.substring(2, 3);
	    var l4 = str_l_num.substring(3, 4);
	    var l5 = str_l_num.substring(4, 5);
	    var l6 = str_l_num.substring(5, 6);
	    var l7 = str_l_num.substring(6, 7);
	    hap = hap + l1 * 8 + l2 * 9 + l3 * 2 + l4 * 3 + l5 * 4 + l6 * 5;
	    var rem = hap % 11;
	    rem = (11 - rem) % 10;
	    if (rem != l7) {
	        return false;
	    }
	    return true;
	}

	function f_saupno_chk4jq(vencod) {
	    var sum = 0;
	    var getlist = new Array(10);
	    var chkvalue = new Array("1", "3", "7", "1", "3", "7", "1", "3", "5");
	    for (var i = 0; i < 10; i++) { getlist[i] = vencod.substring(i, i + 1); }
	    for (var i = 0; i < 9; i++) { sum += getlist[i] * chkvalue[i]; }

	    sum = sum + parseInt((getlist[8] * 5) / 10);
	    sidliy = sum % 10;
	    sidchk = 0;

	    if (sidliy != 0) { sidchk = 10 - sidliy; }
	    else { sidchk = 0; }
	    if (sidchk != getlist[9]) { return false; }

	    return true;
	}

	function f_jeongsu_chk4jq(a_num) {
		numstr = "+-0123456789,"; /* +- ????? ???? */
		for (var i = 0; i < a_num.length; i++){
			if (numstr.indexOf(a_num.charAt(i)) == -1)
			    return false;
	        if ((a_num.charAt(i) == "+" || a_num.charAt(i) == "-" ) && i != 0)  // +, -? ????? ??? return false;
	            return false;
		}
		return true;
	}
	
	function f_telnum_chk4jq(a_num) {
		numstr = "-0123456789,"; /* +- ????? ???? */
		for (var i = 0; i < a_num.length; i++){
			if (numstr.indexOf(a_num.charAt(i)) == -1)
			    return false;
		}
		return true;
	}

	function f_budong_sosu_chk4jq(a_num) {
	    //  grammar check needed.
		numstr = "+-0123456789.,"; /* +- ????? ???? */
		for (var i = 0; i < a_num.length; i++){
			if (numstr.indexOf(a_num.charAt(i)) == -1)
			    return false;
	        if ((a_num.charAt(i) == "+" || a_num.charAt(i) == "-" ) && i != 0)  // +, -? ????? ??? return false;
	            return false;
		}
		return true;
	}

	function f_empty_chk4jq(a_data) {
		if (a_data == null) {
			return true;
		}
	    for (var i = 0; i < a_data.length; i++ ) {
	        if (a_data.substring(i, i + 1) != " ")
	            return false;
	    }
	    return true;
	}

	function f_gongbaeg_chk4jq(a_data) {
	    if (a_data.indexOf(' ') == -1) return false;
	    return true;
	}

	function f_weol_chk4jq(a_weol) {
	    if (a_weol == '') return false;
	    if (!f_jeongsu_chk4jq(a_weol)) return false;
	    if (f_gongbaeg_chk4jq(a_weol)) return false;
	    if (parseInt(a_weol) > 12) return false;
	    return true;
	}

	function f_il_chk4jq(a_il) {
	    if (a_il == '') return false;
	    if (!f_jeongsu_chk4jq(a_il)) return false;
	    if (f_gongbaeg_chk4jq(a_il)) return false;
	    if (parseInt(a_il) > 31) return false;
	    return true;
	}

	function f_time_chk4jq(a_time) {
	    if (a_time == '') return false;
	    if (a_time.length != 4) return false;
	    if (!f_jeongsu_chk4jq(a_time)) return false;
	    if (f_gongbaeg_chk4jq(a_time)) return false;

	    var si  = a_time.substring(0, 2);
	    var bun = a_time.substring(2, 4);

	    if (parseInt(si)  > 24) return false;
	    if (parseInt(bun) > 60) return false;
	    return true;
	}

	function f_date_chk4jq(a_date) {
	    var result = true;
	    a_date = a_date.replace(/-/gi, "");
	    if (a_date == '') return result;
	    if (!(a_date.length == 8 || a_date.length == 0)) result = false;
	    if (!f_jeongsu_chk4jq(a_date)) result = false;
	    if (f_gongbaeg_chk4jq(a_date)) result = false;

	    var nyeondo = a_date.substring(0, 4);
	    var weol    = a_date.substring(4, 6);
	    var il      = a_date.substring(6, 8);

	    var mal_il
	    mal_il = new Array(12);
	    mal_il[0] = 31;
	    mal_il[1] = 28;
	    mal_il[2] = 31;
	    mal_il[3] = 30;
	    mal_il[4] = 31;
	    mal_il[5] = 30;
	    mal_il[6] = 31;
	    mal_il[7] = 31;
	    mal_il[8] = 30;
	    mal_il[9] = 31;
	    mal_il[10] = 30;
	    mal_il[11] = 31;

	    if (parseInt(weol) == 2) {
	        if (!(nyeondo % 4) && ((nyeondo % 100) || !(nyeondo % 400))) mal_il[1] = 29;
	    }
	    if (weol > 12 || weol < 1) { result = false; }
	    if (il > mal_il[parseInt(weol) - 1] || il < 1) { result = false; }

	    return result;
	}

	function f_valid_email4jq(a_email) {
	    if (f_empty_chk4jq(a_email)) return true;
	    if (a_email.search(/(\S+)@(\S+)\.(\S+)/) == -1) return false;
	    return true;
	}


	function f_valid_url4jq(a_url) {
	    if (f_empty_chk4jq(a_url)) return true;
	    var re;
	    re = /^http:\/\/(\S+)\.(\S+)/ig;
	    if (!re.exec(a_url)) return false;
	    return true;
	}

