<!--
///////////////////////////////////////////////////////////////////////////////
//
// Module Name:     public.js
// Abstract:        各种校验程序
//
///////////////////////////////////////////////////////////////////////////////
var IsFireFox = document.getElementById &&! document.all;//判断是否为FireFox

//页面里回车到下一控件的焦点
function Enter2Tab(e){
	try{
		var ob = IsFireFox ? e.target : event.srcElement;
		if(ob.tagName == "INPUT" &&
		(
		ob.type == "text"     ||
		ob.type == "password" ||
		ob.type == "checkbox" ||
		ob.type == "radio"
		)   ||
		ob.tagName == "SELECT"){
			var key = IsFireFox ? e.which : event.keyCode;
			if (key == 13){
				if (IsFireFox){
					event.which = 9;
				}else{
					event.keyCode = 9;
				}
			}
		}
	}
	catch(E){}
}
//打开此功能请取消下行注释
//document.onkeydown = Enter2Tab;

//ajax对象创建
function AjaxLib(){
	var objXMLHttp;
	if (window.XMLHttpRequest){
		objXMLHttp = new XMLHttpRequest();
	}else{
		//使用该代码,出现问题 var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
		var MSXML = ['MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
		for(var n = 0; n < MSXML.length; n ++){
			try{
				objXMLHttp = new ActiveXObject(MSXML[n]);        
				break;
			}catch(e){}
		}
		if (!objXMLHttp && typeof XMLHttpRequest != 'undefined'){
			objXMLHttp = new XMLHttpRequest();
		}
	}
	return objXMLHttp;
}

//判断用户名是否符合标准
function UserNameIsOk(ssn){
	var re = /^[a-zA-Z\d_\-@\.]+$/;
	if (re.test(ssn)){
		if (ssn.length < 4 || ssn.length > 20){
			return false;
		}
		return true;
	}
	var re = /^(([a-zA-Z\d_\-@\.]|[\u4e00-\u9fa5]){2,10})$/;
	if (re.test(ssn)){
		return true;
	}
	return false;
}

//全选择
function SelectAll(f){
    var obj;
	if (!f){
		var f = document.forms[0];
	}
    for (var i = 0; i < f.length; i++){
        obj = f[i];
        if (obj.type == "checkbox" && obj.disabled == false) obj.checked = true;
    }
}
//返选择
function SelectReverse(f){
	var obj;
	if (!f){
		var f = document.forms[0];
	}
    for (var i = 0; i < f.length; i++){
        obj = f[i];
        if (obj.type == "checkbox" && obj.disabled == false)
		if(obj.checked == true){
		   obj.checked = false;
		}else{
		   obj.checked = true;
		}
    }
}
//不选择
function SelectNone(f){
    var obj;
	if (!f){
		var f = document.forms[0];
	}
    for (var i = 0; i < f.length; i++){
        obj = f[i];
        if (obj.type == "checkbox" && obj.disabled == false)
            obj.checked = false;
    }
}

//提交查询内容 submit search find content
function GoPage(pn){
	try{
		document.forms[0].page.value = pn;
		document.forms[0].submit();
	}catch(E){
		document.forms[1].page.value = pn;
		document.forms[1].submit();
	}
}

//处理特殊字符
function invalid_keyword(){
    var keyword = new Array("<", ">", "\%", "\'", "\"");
    var f, ob;
    for (var form = 0; form < document.forms.length; form++){
        f = document.forms[form];
        for (var i = 0; i < f.length; i++){
            ob = f[i];
            if (ob.type == "text" && ob.disabled == false){
               for (j = 0; j < keyword.length; j++){
                    if (ob.value.indexOf(keyword[j]) != -1){
                        alert("在输入框聚焦处发现非法字符[" + keyword[j] + "]。");
                        ob.focus();
                        return false;
                    }
               }
               ob.value = Trim(ob.value);
            }
        }
    }
    return true;
}
//判断是否为时间字符串
function IsTime(str){
	var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
	if (a == null) {alert('输入的参数不是时间格式'); return false;}
	if (a[1]>24 || a[3]>60 || a[4]>60){
	  return false
	}
	return true;
}
//_是否为日期（YYYY-MM-DD）类型字符串_
function IsDate(str){
	var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
	if (r == null) return false;
	var d = new Date(r[1], r[3]-1, r[4]);
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

//判断URL地址是否合法
function IsUrl(str) {
	return (new RegExp(/^https?:\/\/[a-z0-9\-\._]+(\/.*)?$/i).test(str));
}
//_判断用户给出的日期是否大于当前日期
function IsBigCurrentDate(str){
	var today = new Date();
	var tY = String(today.getFullYear());
	var tM = String(today.getMonth() + 1);
	(tM.length <= 1) ? tM = "0" + tM : tM = tM;

	var tD = String(today.getDate());
	(tD.length <= 1) ? tD = "0" + tD : tD = tD;

	var tH = String(today.getHours());
	(tH.length <= 1) ? tH = "0" + tH : tH = tH;

	var tM1 = String(today.getMinutes());
	(tM1.length <= 1) ? tM1 = "0" + tM1 : tM1 = tM1;

	var tdate = tY + "-" + tM + "-" + tD + " " + tH + ":" + tM1 + ":59";//zhuweisong 添加秒的叛断
	if (str > tdate){
		return true;
	}else{
		return false;
	}
}
//是否为时间日期类型
function IsDateTime(str){
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
	var r = str.match(reg);
	if (r == null) return false;
	var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
//_判断是否是有效的EMAIL地址
function IsEmail(mail){
	return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
}
//判断是否为有效IP地址_
function IsIp(s){
	var check = function(v){
		try{
			return (v <= 255 && v >= 0);
		}catch(x){
			return false;
		}
	}
	var re = s.split(".");
	return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}
//_判断输入的是否为汉字_begin
function isCharsInBag (s, bag){
	var i,c;
	for (i = 0; i < s.length; i++){
		c = s.charAt(i);//字符串s中的字符
		if (bag.indexOf(c) > -1)
		return c;
	}
	return "";
}

function IsCn(s){
	var errorChar;
	var badChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789><,[]{}?/+=|\'\":;~!#$%()`";
	errorChar = isCharsInBag(s, badChar)
	if (errorChar != "" ){
		return false;
	}
	return true;
}
//_判断输入的是否为汉字_end

//函数功能:判断输入的字符串是不是英文begin_
function isCharsInBagEn (s, bag){
	var i,c;
	for (i = 0; i < s.length; i++){
		c = s.charAt(i);//字符串s中的字符
		if (bag.indexOf(c) <0)
		return c;
	}
	return "";
}
function IsEn(s){
	var errorChar;
	var badChar = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	errorChar = isCharsInBagEn(s, badChar);
	return (errorChar != "" ) ? false : true;
}
//函数功能:判断输入的字符串是不是英文end_

/********************
函数名称：IsTelephone
函数功能：固话，手机号码检查函数，合法返回true,反之,返回false
函数参数：obj,待检查的号码
检查规则：
　　(1)电话号码由数字、"("、")"和"-"构成
　　(2)电话号码为3到8位
　　(3)如果电话号码中包含有区号，那么区号为三位或四位
　　(4)区号用"("、")"或"-"和其他部分隔开
　　(5)移动电话号码为11或12位，如果为12位,那么第一位为0
　　(6)11位移动电话号码的第一位和第二位为"13"
　　(7)12位移动电话号码的第二位和第三位为"13"
********************/
function IsTelephone(obj){
	var pattern = /(^([0\+]\d{2,3})\d{3,4}\-\d{3,8}$)|(^([0\+]\d{2,3})\d{3,4}\d{3,8}$)|(^([0\+]\d{2,3}){0,1}13\d{9}$)|(^\d{3,4}\d{3,8}$)|(^\d{3,4}\-\d{3,8}$)/;
	return (pattern.test(obj)) ? true : false;
}

function IsMobile(obj){
	var pattern = /^(134|135|136|137|138|139|150|151|152|157|158|159|187|188|154|130|131|132|155|156|185|186|133|153|180|189)\d{8}$/;
	return (pattern.test(obj)) ? true : false;
}

function IsFax(obj){
	//var pattern = /(^\d{3,4},\d{7,8}(,\d{1,4})?$)|(^\d{3,4}\-\d{7,8}(\-\d{1,4})?$)|(^\d{3,4}\d{7,11}$)/;
	var pattern = /(^\d{3,4},\d{7,8}(,\d{1,4})?$)|(^\d{3,4}\-\d{7,8}(\-\d{1,4})?$)/;
	return (pattern.test(obj)) ? true : false;
}

/********************
函数名称：IsLegality
函数功能：检查字符串的合法性，即是否包含" '字符，包含则返回false;反之返回true
函数参数：obj,需要检测的字符串
********************/
function IsLegality(obj){
	var intCount1 = obj.indexOf("\"",0);
	var intCount2 = obj.indexOf("\'",0);
	return (intCount1 > 0 || intCount2 > 0) ? false : true;
}

/********************
函数名称：IsNumber
函数功能：检测字符串是否全为数字
函数参数：str,需要检测的字符串
********************/
function IsNumber(str){
	var number_chars = "1234567890";
	var i;
	for (i = 0; i < str.length; i++){
		if (number_chars.indexOf(str.charAt(i))==-1) return false;
	}
	return true;
}

/********************
函数名称：Trim
函数功能：去除字符串两边的空格
函数参数：str,需要处理的字符串
********************/
function Trim(str){
	return str.replace(/(^\s*)|(\s*$)/g, "");
}

/********************
函数名称：LTrim
函数功能：去除左边的空格
函数参数：str,需要处理的字符串
********************/
function LTrim(str){
	return str.replace(/(^\s*)/g, "");
}

/********************
函数名称：RTrim
函数功能：去除右边的空格
函数参数：str,需要处理的字符串
********************/
function RTrim(str){
	return this.replace(/(\s*$)/g, "");
}
//按字节截取
function substr(str,len,end) {
	var e=end||'';
    if(!str || !len) { return ''; }
    var a = 0;
    var i = 0;
    var temp = '';     
	for (i=0;i<str.length;i++){
	   if (str.charCodeAt(i)>255){
			a+=2;
	   }else{a++;}
	   if(a>len) {return temp+e;}
	   temp += str.charAt(i);
	}
	return str;
}
/********************
函数名称：IsNull
函数功能：判断给定字符串是否为空
函数参数：str,需要处理的字符串
********************/
function IsNull(str){
	return (Trim(str) == "") ? false : true;
}

//获取cookie
function getCookie(name){
	var search = name + "="
	if(document.cookie.length > 0){
		offset = document.cookie.indexOf(search);
		if(offset != -1){
			offset += search.length;
			end = document.cookie.indexOf(";", offset);
			if(end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(offset, end));
		}
		else return "";
	}
}

//存储cookie
function setCookie(name, value, days){
	if (days){
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		var expires = ";expires=" + date.toGMTString();
	}
	else var expires = "";
	document.cookie = name + "=" + escape(value) + expires + ";path=/;domain=" + document.location.hostname;
}

//打开窗口
function winOpen(url, w, h){
	w = w || 400;
	h = h || 350;
	var scrwi = screen.width;
	var scrhe = screen.height;
	var woods = "";
	if(scrwi <= 800){
		woods = "fullscreen=yes,resizable=yes";
	}else{
		var left = (scrwi - w)/2;
		var top = (scrhe - h)/2 ;
		woods = "left="+ left +",top=" + top + ",width=" + w + ",height=" + h + ",fullscreen=no,status=no,scrollbars=yes,dialog=yes,modal=yes,resizable=no" ;
	}
	var dwin = open(url, "winOpen", woods);
	dwin.focus();
}

/**返回数组的唯一值，把重复值去掉**/
Array.prototype.unique = function(){   
	var a = {};
	for (var i=0;i<this.length;i++){   
		if (typeof a[this[i]] == "undefined") a[this[i]] = "";
	}
	this.length = 0;
	for (var i in a){
		if (i.length > 0) this[this.length] = i;
	}
	return this;
}
//清除数组值
Array.prototype.remove = function (val){
	var i;
	var j;
	for(i = 0; i < this.length; i++){
		if(this[i] == val){
			for(j = i; j < this.length - 1; j++){
			 this[j] = this[j + 1];
			}
			this.length = this.length - 1;
			break;//只清掉一个值
		}
	}
};
//获得下标
Array.prototype.getKey = function (val){
	var i;
	var j;
	for(i = 0; i < this.length; i++){
		if(this[i] == val) return i;
	}
};
//全部替换
String.prototype.replaceAll = function (AFindText,ARepText){
  raRegExp = new RegExp(AFindText,"g");
  return this.replace(raRegExp,ARepText)
}

//获取元素
function $(obj)
{
	var element = document.getElementById(obj);
	if (!element){
		element = document.getElementsByName(obj);
	}
	if (!element){
		element = document.getElementsByTagName(obj);
	}
	return element;
}
//-->

//改变搜索框style
function ChangeCss(eventname){	
	if(eventname=='onmouseover'){
		document.getElementById('maindiv').className='maindivover';
		document.getElementById('secbtn').className='secbtnover';
	}else{
		document.getElementById('maindiv').className='maindiv';
		document.getElementById('secbtn').className='secbtn';
	}
}

//预加载图片
function MM_preloadImages() { //v3.0
	var d=document;
	if(d.images){
		if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
		for(i=0; i<a.length; i++)
    	if (a[i].indexOf("#")!=0){
    		d.MM_p[j]=new Image;
			d.MM_p[j++].src=a[i];
		}
    }
}
//换图片
function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments;
	document.MM_sr=new Array;
	for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){
		document.MM_sr[j++]=x;
		if(!x.oSrc) x.oSrc=x.src;
		x.src=a[i+2];
	}
}
//还原图片
function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr;
	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
	var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length){
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n);
	return x;
}
// 改变INPUT元素的背景色
function fEvent(sType,oInput){
	switch (sType){
		case "focus" :
			oInput.isfocus = true;
			oInput.style.backgroundColor='#FFFFD8';
		case "mouseover" :
			oInput.style.borderColor = '#8BB3CD';
			oInput.style.backgroundColor='#FFFFD8';
			break;
		case "blur" :
			oInput.isfocus = false;
			oInput.style.backgroundColor="";
		case "mouseout" :
			oInput.style.backgroundColor='';
			if(!oInput.isfocus){
				oInput.style.borderColor='#D2E1EC';
			}
			break;
	}
}
function mOver(obj){// 移入
	if (obj.className == "hsld"){
		return;
	}
	obj.className = "hover";
}

function mOut(obj){// 移出
	if (obj.className == "hsld"){
		return;
	}
	obj.className = "hout";
}

function mOver2(obj,id){
	obj.style.backgroundColor='#E4EBF3';
}

function mOut2(obj){
	if(obj.className=='colorline'){
		obj.style.backgroundColor='#f5f5f5';
	}else{
		obj.style.backgroundColor='transparent';
	}	
}


function mOver3(obj,id){
	if(document.getElementById(id).checked==false){
		obj.style.backgroundColor='#E4EBF3';
	}
}

function mOut3(obj,id){	
	if(document.getElementById(id).checked==false){
		if(obj.className=='colorline'){
			obj.style.backgroundColor='#f5f5f5';
		}else{
			obj.style.backgroundColor='transparent';
		}	
	}
}
function mSld(obj){// 选择
	obj.className = "hsld";
}

// 取得文件类型
function getFileExt(ext) {
	ext = ext.toString();
	var start = ext.lastIndexOf(".");
	var end = ext.length;
	var types = ext.substring(start + 1, end);
	return types.toLowerCase();
}

// 正在发送中……
function sending(){
	top.ymPrompt.win({message:'/public/sending.html',width:350,height:190,title:'正在发送中...',iframe:{'name':'sframe','id':'sframe'}})
}
// 正在上传中……
function uploading(){
	top.ymPrompt.win({message:'/public/uploading.html',width:350,height:190,title:'正在上传中...',iframe:true})
}
//保存提示语
function Saving(){
	top.ymPrompt.alert({title:'提示',message:'数据正在保存中，请稍候...',btn:null});
}

//关闭提示
function closeNotice(i){
	setCookie('notice_'+i,'-1');
	document.getElementById('notice').style.display='none';
}
//写日志
function ajaxLog(msg){
	$.post('/public/ajaxLog.php',{msg:msg});
}
//获得指定页面
//left main head
function getPage(page){
	var obj=null;
	switch(page){
		case 'left':
			obj=top.hmk.main.body0;
			if(!obj) obj=top.hmk.main.contents;
			break;
		case 'main':
			obj=top.hmk.main.body1;
			if(!obj) obj=top.hmk.main.body2;
			break;
		case 'header':
			obj=top.hmk.header;
			break;
	}
	return obj;
}
//页面跳转，解决中文参数问题
function goUrl(url,param,target){
	var myParam='';
	var myTar=target||'_self';
	for(var a in param){
		myParam+=a+'='+encodeURI(param[a])+'&';
	}
	if(myTar=='_blank'){
		window.open(url+'?'+myParam,'','');
	}else{
		self.location=url+'?'+myParam;
	}
}
//获取参数
function getParam(paramName,url){
	var url=url||(self.location+'');
	var urlParams = url.substring(url.indexOf("?")+1).split("&");
	for(var i=0;i<urlParams.length;i++){
	  var NameValueCollection = urlParams[i].split("=");
	  if(NameValueCollection[0] == paramName){
	   return NameValueCollection[1];
	   break;
	  }
	}
	return '';
}
//字符串转义
function htmlspecialchars(ch) {
	ch = ch.replace(/&/g,"&amp;");
	ch = ch.replace(/\"/g,"&quot;");
	ch = ch.replace(/\'/g,"&#039;");
	ch = ch.replace(/</g,"&lt; ");
	ch = ch.replace(/>/g,"&gt; ");
	ch = ch.replace(/\n/g,"<br/>");
	//ch = ch.replace(/\s/g,"&nbsp; ");
	return ch;
}
function antihtmlspecialchars(ch) {
	ch = ch.replace("&amp;","&");
	ch = ch.replace("&quot;","\"");
	ch = ch.replace("&#039;","\'");
	ch = ch.replace("&lt;","<");
	ch = ch.replace("&gt;",">");
	return ch;
}

/* 只要有jquery的ajax时，右上角提示正在加载图标 */
function showLoading(){
	var whether = true;
	var pic = '/images/loading2.gif';
	var msg =  '正在加载,请稍后...';
	if(typeof arguments[0] != "undefined"){
		msg = arguments[0];
	}
	if(document.getElementById('emvc-ajaxloading-div')){
		$('#emvc-ajaxloading-div').remove();
	}
	/*被卷去的高度，设置一下相对的top，让他始终可以看得到*/
 

	$(document.body.firstChild).before('<div id="emvc-ajaxloading-div" style="position:absolute;border:1px solid #66CCCC;background:#FFFFFF none repeat scroll 0 0;padding-top:10px;text-align:center;right:10px;top: 10px; width:120px;z-index:1001;display:none"><img alt="载入状态" src="'+pic+'"/><p id="emvc-ajaxloading-msg" style="color:#FF6600">'+msg+'</p></div>');
	//$(document.body.firstChild).before('<div id="emvc-ajaxloading-div" style="border: 1px solid rgb(152, 177, 200);position:absolute;top:0px;right:0px;z-index:99;background-color:#CC4444;padding:5px;display:none"><img src="'+pic+'" /> <span id="emvc-ajaxloading-msg" style="color:#fff">'+msg+'</span></div>');
	//$(document.body.firstChild).before('<div id="emvc-ajaxloading-div" style=" position:absolute;top:0px;right:0px;z-index:99;background-color:#CC4444;padding:5px;display:none"> <span id="emvc-ajaxloading-msg" style="color:#fff">'+msg+'</span></div>');
	$("#emvc-ajaxloading-div").ajaxStart(function(){																									
		//var top = (document.documentElement.scrollTop)+10;
		//$(this).css('top',top+'px');
　　 $(this).show();
		$('#emvc-ajaxloading-msg').html(msg);
	});
	$("#emvc-ajaxloading-div").ajaxError(function(){
　　 $(this).show();
		$('#emvc-ajaxloading-msg').html('操作错误，请联系管理员...');
	});
	$("#emvc-ajaxloading-div").ajaxStop(function(){
			$(this).hide();
	});
	
	
	
	/* 滑动显示 */
	lastScrollYChat=0;
 
	window.setInterval(function(){
		var diffY;
		if (document.documentElement && document.documentElement.scrollTop)
			diffY = document.documentElement.scrollTop;
		else if (document.body)
			diffY = document.body.scrollTop
		else{/*Netscape stuff*/}
		
		percent=.1*(diffY-lastScrollYChat); 
		if(percent>0)percent=Math.ceil(percent); 
		else percent=Math.floor(percent);
		document.getElementById("emvc-ajaxloading-div").style.top=parseInt(document.getElementById("emvc-ajaxloading-div").style.top)+percent+"px";
		lastScrollYChat=lastScrollYChat+percent;
		
	},3);
}



function delspace(mxh){  //去掉中间多余空格，只保留一个空格
	var str_result=''  ;

	mxh = mxh.replace(/\s/g,",");
	mxh = mxh.replaceAll(' ',',');

	var mxh_a = mxh.split(',');

	for(var i=0;i<mxh_a.length;i++){  
		mxh_a[i] = removeAllSpace(mxh_a[i]);

		if (mxh_a[i]!='')
		{
			str_result += removeAllSpace(Trim(mxh_a[i]))+' ' ;
		}  
		 
	}
	str_result = Trim(str_result);

	return str_result ;
}

    //删除所有空格   
    function removeAllSpace(str){   
        var localString = '';   
        for(var index = 0; index<str.length; index++)   
            if(str.charCodeAt(index)!= 32){   
                localString += str.charAt(index);   
            };   
    return localString;   
    }