
//js正则表达式常量-------------------------------------------------------------------------------------

//字符范围限制
var REGEXP_IS_VALID_STRFWXZ6_40 =".{6,40}" //6-40字符范围限制

//数据检验常量
var REGEXP_IS_VALID_NULL ="^[\\S]+$";//非空值校验常量
var REGEXP_IS_VALID_EMAIL ="^\\w+((-\\w+)|(\\.\\w+))*\\@\\w+((\\.|-)\\w+)*\\.\\w+$" ;//电子邮件校验常量
var REGEXP_IS_VALID_URL ="^http://([\\w-]+\\.)+[\\w-]+(//[\\w- .//?%&=]*)?"; //网址校验常量
var REGEXP_IS_VALID_ZIP ="\\d{6}"; //邮编校验常量
var REGEXP_IS_VALID_SSN ="\\d{18}|\\d{15}"; //身份证校验常量 
var REGEXP_IS_VALID_INT ="^\\d{1,}$"; //整数校验常量
var REGEXP_IS_VALID_DEMICAL ="^-?(0|\\d+)(\\.\\d+)?$"; //数值校验常量
//IP校验常量
var REGEXP_IS_VALID_IP ="^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$"; 
//日期校验常量
var REGEXP_IS_VALID_DATE = "";
var REGEXP_IS_VALID_SHORTDATE = "^(?:(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\\//|-|\\.)(?:0?2\\1(?:29))$)|(?:(?:1[6-9]|[2-9]\\d)?\\d{2})(\\//|-|\\.)(?:(?:(?:0?[13578]|1[02])\\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\\2(?:0?[1-9]|1\\d|2[0-8]))$";
var REGEXP_IS_VALID_FFZS ="^\\d+$";　　//非负整数（正整数 + 0） 
var REGEXP_IS_VALID_ZZS ="^[0-9]*[1-9][0-9]*$";　　//正整数 
var REGEXP_IS_VALID_FZZS ="^((-\\d+)|(0+))$";　　//非正整数（负整数 + 0） 
var REGEXP_IS_VALID_FZS ="^-[0-9]*[1-9][0-9]*$";　　//负整数 
var REGEXP_IS_VALID_ZS ="^-?\\d+$";　　　　//整数 
var REGEXP_IS_VALID_FFFDS ="^\\d+(\\.\\d+)?$";　　//非负浮点数（正浮点数 + 0） 
var REGEXP_IS_VALID_ZFDS ="^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$";　　//正浮点数 
var REGEXP_IS_VALID_FZFDS ="^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$";　　//非正浮点数（负浮点数 + 0） 
var REGEXP_IS_VALID_FFDS ="^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$";　　//负浮点数 
var REGEXP_IS_VALID_FDS ="^(-?\\d+)(\\.\\d+)?$";　　//浮点数 
var REGEXP_IS_VALID_26YWZM ="^[A-Za-z]+$";　　//由26个英文字母组成的字符串 
var REGEXP_IS_VALID_26YWZMD ="^[A-Z]+$";　　//由26个英文字母的大写组成的字符串 
var REGEXP_IS_VALID_26YWZMX ="^[a-z]+$";　　//由26个英文字母的小写组成的字符串 
var REGEXP_IS_VALID_SZ26YWZM ="^[A-Za-z0-9]+$";　　//由数字和26个英文字母组成的字符串 
var REGEXP_IS_VALID_SZYWHX ="^[A-Za-z0-9-]+$";　　//由数字和26个英文大小写字母和“-”组成的字符串
var REGEXP_IS_VALID_SZ26YWZMXHX ="^\\w+$";　　//由数字、26个英文字母或者下划线组成的字符串 
var REGEXP_IS_VALID_REURL ="^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$";　　//url 
var REGEXP_IS_VALID_COLOR ="^#[0-9a-fA-F]{6}$" //颜色值十六进格式制检查
//颜色值十进制格式检查
var REGEXP_IS_VALID_COLORSZ ="^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\,(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\,(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$"; 
var REGEXP_IS_VALID_zwyw ="^[\\u4e00-\\u9fa5A-Za-z0-9]+$";　　//由数字、26个英文大小写字母或者中文组成的字符串


//js正则表达式常量-------------------------------------------------------------------------------------


//输出IE游览器版本
function getIEVersion(){ 
    if(navigator.appName == "Microsoft Internet Explorer") { 
        if(navigator.appVersion.match(/9./i)=='9.') {return 9;}
        if(navigator.appVersion.match(/8./i)=='8.') {return 8;}
        if(navigator.appVersion.match(/7./i)=='7.') {return 7;}
        if(navigator.appVersion.match(/6./i)=='6.') {return 6;}
        if(navigator.appVersion.match(/5./i)=='5.') {return 5;}
        if(navigator.appVersion.match(/4./i)=='4.') {return 4;}
        return 3;
    } 
} 

//检查是否为颜色值
function IsColor(color){
	var temp=color;
	if (temp=="") return true;
	if (temp.length!=7) return false;
	return (temp.search(/\#[a-fA-F0-9]{6}/) != -1);
}

//建立下拉DIV
var setdivxyidobj=1;
function SetDivXY(divid,ckobj){
    if(setdivxyidobj!=1){
        setdivxyidobj.style.display="none";
    }
    setdivxyidobj=divid;
    var dads  = divid.style;
    var ttop  = ckobj.offsetTop;    
    var thei  = ckobj.clientHeight;  
    var tleft = ckobj.offsetLeft;    
    var ttyp  = ckobj.type;         
    while (ckobj = ckobj.offsetParent){ttop+=ckobj.offsetTop; tleft+=ckobj.offsetLeft;}
    dads.top  = (ttyp=="image")? ttop+thei : ttop+thei+6;
    dads.left = tleft;
    dads.display = '';
}

//只允许正整数数字键输入
function IsInInt(){return ((event.keyCode >= 48) && (event.keyCode <= 57));}

//只允许正浮点数字键输入
function IsInDouble(){return (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 46));}

//只允许整数数字键输入
function IsMInInt(){return (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 45));}

//只允许浮点数字键输入
function IsMInDouble(){return (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 46) || (event.keyCode == 45));}


//正则表达式检查
//需要检查的字符串对象
//js正则表达式常量或js正则表达式
function IsInRegExp(ssvalue,jsname){
    if(jsname=="REGEXP_IS_VALID_NULL"){
        if(ssvalue.Trim()==""){
            return false;
        }else{
            return true; 
        }
    }
    if(jsname=="REGEXP_IS_VALID_DATE"){
        //alert(ssvalue);
        if(IsDate(ssvalue)==true){
            return true;
        }else{return false;}
    }
    var objRegExp = eval(jsname);
    var patrn=new RegExp(objRegExp,"ig");
    return patrn.test(ssvalue)
}

//解决flash需要激活方法
//  参数1 ur    flash地址
//  参数2 w     flash宽度
//  参数3 h     flash高度
//  参数4       可省略，窗口模式：默认值 0
//                  0 Window       在 Web 页上用影片自己的矩形窗口来播放应用程序。"Window"表明此 Flash 应用程序与 HTML 层没有任何交互，并且始终位于最顶层。
//                  1 Opaque       使应用程序隐藏页面上位于它后面的所有内容。
//                  2 Transparent  使 HTML 页的背景可以透过应用程序的所有透明部分显示出来，并且可能会降低动画性能。
function StartFlash(ur,w,h){
    var FlashWmode =0;
    if(arguments.length>3){FlashWmode=arguments[3];}
    document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="' + w + '" height="' + h + '"> ');
    document.write('<param name="movie" value="' + ur + '"> ');
    if(FlashWmode==1){document.write('<param name="wmode" value="opaque"> ');}
    if(FlashWmode==2){document.write('<param name="wmode" value="transparent"> ');}
    document.write('<embed src="' + ur + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" ');
    if(FlashWmode==1){document.write('wmode="opaque" ');}
    if(FlashWmode==2){document.write('wmode="transparent" ');}
    document.write('width="' + w + '" height="' + h + '"></embed>');
    document.write('</object> ');
}

//验证给定的日期是否合法,参数格式要求：yyyy-mm-dd[ hh:mi:ss] 可以根据情况更改正则表达式
function IsDate(oDateTime){
    //对日期格式进行验证 要求为1000-9099年  格式为 yyyy-mm-dd[ hh:mi:ss]  并且可以正常转换成正确的日期
    var pat_hd=/^(\d{1,5}-(([1-9]{1})|(0[1-9]{1})|(1[0-2]{1}))-(([1-9]{1})|(0[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))){1}(\s\d{1,2}:\d{1,2}:\d{1,2})?$/;
    try{
        if(!pat_hd.test(oDateTime)) throw "日期非法！";
        var arr_dt=oDateTime.split(" ");
        if(arr_dt[0]=='') throw "日期非法！";
        var oDate=arr_dt[0];
        var arr_hd=oDate.split("-");
        var dateTmp;
        dateTmp= new Date(arr_hd[0],parseFloat(arr_hd[1])-1,parseFloat(arr_hd[2]));
        if(dateTmp.getFullYear()!=parseFloat(arr_hd[0]) || dateTmp.getMonth()!=parseFloat(arr_hd[1]) -1 || dateTmp.getDate()!=parseFloat(arr_hd[2])) throw "日期非法！";
        if(arr_dt[1] && arr_dt[1]!=''){
            var oTime=arr_dt[1];
            var arr_ht=oTime.split(":");
            dateTmp.setHours(arr_ht[0],arr_ht[1],arr_ht[2]);
            if(dateTmp.getHours()!=parseFloat(arr_ht[0]) || dateTmp.getMinutes()!=parseFloat(arr_ht[1]) || dateTmp.getSeconds()!=parseFloat(arr_ht[2])) throw "日期非法！";
        }
    }catch(ex){
        if(ex.description){return false;}
        else{return false;}
    }
    return true;
} 

//颜色选择器
function getMyColor(text,textcolor){
    var old_color = ( text.value.indexOf('#') == 0 ) ? '?'+text.value.substr(1) : '?' + text.value;
    var color = showModalDialog("/js/SelectColor.htm"+old_color+"", "", "dialogWidth:502px; dialogHeight:388px; status:0");
    if (color != null) {
        text.value = color;
        textcolor.style.color = color;
    }else{
        text.focus();
    }
    return true;
}

//全选本页所有复选框
function qxymfxk01(form){
    for (var i=0;i<form.elements.length;i++){
        var e = form.elements[i];
        if (e.Name != 'chkAll'&&e.disabled==false){
            e.checked = form.chkAll.checked;
        }
    }
}

//全选本页对象内部分复选框
// DataGrid 第一个查找字符串
// objstr 第二个查找字符串
function qxymfxk02(form,DataGrid,objstr){
    for (var i=0;i<form.elements.length;i++){
        var e = form.elements[i];
        if (e.name != 'chkAll'&&e.disabled==false&&e.name.substr(0,DataGrid.length)==DataGrid&&e.name.substr(e.name.length-objstr.length,objstr.length)==objstr){
            e.checked = form.chkAll.checked;
        } 
    }
}

//全选指定参数复选框
// formname form名称
// starname 名字开始标示
// checkedstr 获取设置状态值
function AJAXqxcheckeds(formname,starname,checkedstr){
    for(var i=0;i<formname.elements.length;i++){
        var forme = formname.elements[i];
        if(forme.name.substr(0,starname.length)==starname){
            forme.checked = checkedstr;
        } 
    }
}

//获取formname内对象value集合
// formname form名称
// starname 名字开始标示
// dfgf 一级分割符
// xfgf 二级分割符
// names 获取名称集合 格式： 0|name1||1|name2
function ajaxformvalues(formname,starname,dfgf,xfgf,names){
    var me=this;
    me.namevalues="";
    me.errstr="";
    var namesarray=names.split("||");
    for(var i=0;i<formname.elements.length;i++){
        var forme = formname.elements[i];
        if(forme.name.substr(0,starname.length)==starname){
            if(forme.checked==true){
                if(me.namevalues!=""){me.namevalues+=dfgf;}
                me.namevalues+=forme.name+xfgf+forme.value;
                for(var ii=0;ii<namesarray.length;ii++){
                    var nameset=namesarray[ii].split("|");
                    var formobj =formname.item(nameset[1]+forme.value);
                    if(me.namevalues!=""){me.namevalues+=dfgf;}
                    if(nameset[0]==0){
                        if(nameset.length==4){
                            if(!IsInRegExp(formobj.value.Trim(),nameset[2])){
                                me.errstr="[ID："+forme.value+"]"+nameset[3];
                                return;
                            }
                        }
                        me.namevalues+=formobj.name+xfgf+escape(formobj.value);
                    }else{
                        if(formobj.checked==true){
                            me.namevalues+=formobj.name+xfgf+"1";
                        }else{
                            me.namevalues+=formobj.name+xfgf+"0";
                        }
                    }
                }  
            }
        } 
    }
}

//获取formname集合
// formname form名称
// starname 名字开始标示
// dfgf 一级分割符
// xfgf 二级分割符
function AJAXhqformnamevaluecks(formname,starname,dfgf,xfgf){
    var me=this;
    me.namevalues="";
    me.xhvalues="";
    for(var i=0;i<formname.elements.length;i++){
        var forme = formname.elements[i];
        if(forme.name.substr(0,starname.length)==starname){
            if(forme.checked==true){
                if(me.namevalues!=""){me.namevalues+=dfgf;}
                me.namevalues+=forme.name+xfgf+escape(forme.value);
                if(me.xhvalues!=""){me.xhvalues+=dfgf;}
                me.xhvalues+=forme.name.substring(starname.length,forme.name.length);
            }
        } 
    }
}

//获取formname集合
// formname form名称
// starname 名字开始标示
// dfgf 一级分割符
// xfgf 二级分割符
// ckstring 检查字符串数组
function AJAXhqformnamevalues(formname,starname,dfgf,xfgf,ckstring){
    var me=this;
    me.namevalues="";
    for(var i=0;i<formname.elements.length;i++){
        var forme = formname.elements[i];
        if(forme.name.substr(0,starname.length)==starname){
            if (ckstring !=""){
                ckstring=dfgf + ckstring + dfgf
                if (ckstring.indexOf(dfgf + forme.name.substring(starname.length,forme.name.length) + dfgf)>=0){
                    if(me.namevalues!=""){me.namevalues+=dfgf;}
                    me.namevalues+=forme.name+xfgf+escape(forme.value);
                }
            }
        } 
    }
}

//获取formnamechecked集合
// formname form名称
// starname 名字开始标示
// dfgf 一级分割符
// xfgf 二级分割符
// ckstring 检查字符串数组
function AJAXhqformnamechecked(formname,starname,dfgf,xfgf,ckstring){
    var me=this;
    me.namevalues="";
    for(var i=0;i<formname.elements.length;i++){
        var forme = formname.elements[i];
        if(forme.name.substr(0,starname.length)==starname){
            if (ckstring !=""){
                ckstring=dfgf + ckstring + dfgf
                if (ckstring.indexOf(dfgf + forme.name.substring(starname.length,forme.name.length) + dfgf)>=0){
                    if(me.namevalues!=""){me.namevalues+=dfgf;}
                    if(forme.checked==true){me.namevalues+=forme.name+xfgf+"1";
                    }else{me.namevalues+=forme.name+xfgf+"0";}
                }
            }
        } 
    }
}

//获取属性设置
function hqsxformnamevalue(checkname){
    var httptext="";
    var namestrarray =document.getElementsByName(checkname);
    var namestr =checkname;
    if(arguments.length>1){namestr=arguments[1];}
    for(var i=0;i<namestrarray.length;i++){
        var objstr =namestrarray[i];
        if (objstr.checked==true){
            if(httptext!=""){httptext+="&";}
            httptext+=namestr + "=" + escape(objstr.value.Trim());
        }
    }
    return httptext;
}

//去掉字符串左边空格 例子： s.LTrim()
String.prototype.LTrim=function(){
	return this.replace(/^(\s+)/g, "");
}

//去掉字符串右边空格 例子： s.RTrim()
String.prototype.RTrim=function(){  
	return this.replace(/(\s+)$/g, "");
}

//去掉字符串两边空格 例子： s.Trim()
String.prototype.Trim=function(){
	return this.LTrim().RTrim();
}

//去掉字符串所有空格 例子： s.TrimAll
String.prototype.TrimAll=function(){
	return this.replace(/(\s)/g, "");
}

// 扩展escape编码，将更多的特出码编码
String.prototype.AES=function(){
    var ThisStrR=this.replace(/®/g,"%AE");
    ThisStrR =ThisStrR.replace(/©/g,"%A9");
    ThisStrR =ThisStrR.replace(/×/g,"%D7");
    ThisStrR =ThisStrR.replace(/\+/g,"%2B");
    ThisStrR =ThisStrR.replace(/÷/g,"%F7");
    ThisStrR =ThisStrR.replace(/·/g,"%B7");
    return ThisStrR;
}


//打开操作确认对话框
function tsxxqr(tsxx){
    if(confirm(tsxx)){
      return true;
    }
	else{
      return false;
	}
}

//确认关闭页面操作对话框
function qrgbpagecz() {
    if(confirm("你确认关闭么？")){
      window.close();
    }
}


function autosetimage(im1,width1,height1)
{

	if(im1.width>im1.height)
	{
	
	   if(im1.width>width1)
	   {
		  im1.height=(width1 * im1.height)/im1.width;
	   }
         
	}
	else
	{
		
	   if(im1.height>height1)
	   {
		  im1.width=(height1 * im1.width)/im1.height;
	   } 

	}

}

// 设置对象隐藏或显示
function setobjplay(ss) {

  if (ss.style.display=="none") {
    ss.style.display="";
  }
  else {
    ss.style.display="none"; 
  }
}

//读取url传递的变量

function QStr(name){
	var qs=(location.search||"").toString().substring(1).split("&");
	for(var i=0; i<qs.length; i++){
		var j=qs[i].indexOf("=");
		var n=qs[i].substring(0, j).toLowerCase();
		if(n==name.toLowerCase()) return qs[i].substring(j+1);
	}
	return "";
}

//读取url传递的变量程序2
function QueryString(sName)
{
    var sSource = String(window.document.location);
    var sReturn = "";
    var sQUS = "?";
    var sAMP = "&";
    var sEQ = "=";
    var iPos;
    iPos = sSource.indexOf(sQUS);
    var strQuery = sSource.substr(iPos, sSource.length - iPos);
    var strLCQuery = strQuery.toLowerCase();
    var strLCName = sName.toLowerCase();
    iPos = strLCQuery.indexOf(sQUS + strLCName + sEQ);
    if (iPos == -1)
    {
        iPos = strLCQuery.indexOf(sAMP + strLCName + sEQ);
            if (iPos == -1)
                return "";
     }
    sReturn = strQuery.substr(iPos + sName.length + 2,strQuery.length-(iPos + sName.length + 2));
    var iPosAMP = sReturn.indexOf(sAMP);
    if (iPosAMP == -1)
        return sReturn;
            else
        {
            sReturn = sReturn.substr(0, iPosAMP);
        }
            return sReturn;
}

//复制数据到剪切板
function fzhi(Content){
    if(Content == "" ){
	    alert("复制失败！复制的数据不能为空！");	
	}
    else {  
	    window.clipboardData.setData("Text",Content);
	    alert("复制成功！");
	} 

}

//检索全文关键字，并突出显示关键字颜色
//keywordvalue 要检索的关键字
//htmlvalue 要检索的html内容
//colorstr 突出文本颜色
function RedKeyWord(keywordvalue,htmlvalue,colorstr){
    if ((htmlvalue!=null)&&(keywordvalue!='')) {
	    var KeyWord = keywordvalue;
		KeyWord = KeyWord.replace(/^[ 　]*(.*?)[ 　]*$/ig, '$1');
		KeyWord = KeyWord.replace(/\\/ig, '\\\\');
		KeyWord = KeyWord.replace(/\//ig, '\\/');
		KeyWord = KeyWord.replace(/\^/ig, '\\^');
		KeyWord = KeyWord.replace(/\$/ig, '\\$');
		KeyWord = KeyWord.replace(/\./ig, '\\.');
		KeyWord = KeyWord.replace(/\*/ig, '\\*');
		KeyWord = KeyWord.replace(/\+/ig, '\\+');
		KeyWord = KeyWord.replace(/\?/ig, '\\?');
		KeyWord = KeyWord.replace(/\(/ig, '\\(');
		KeyWord = KeyWord.replace(/\)/ig, '\\)');
		KeyWord = KeyWord.replace(/\[/ig, '\\[');
		KeyWord = KeyWord.replace(/\]/ig, '\\]');
		KeyWord = KeyWord.replace(/[ 　]+/ig, '|');
		var re = new RegExp('<a name="?key"?></a><font color="?red"?>(.*?)</font>', 'ig');
		var el = htmlvalue;
		if (re.test(el.innerHTML)) {el.innerHTML = el.innerHTML.replace(re, '$1');}
		re = new RegExp('('+KeyWord+')', 'ig');
		if (re.test(el.innerHTML)) {
			for (var i=0; i<el.childNodes.length; i++){if (re.test(el.childNodes[i].innerHTML)) {el.childNodes[i].innerHTML = fnReplaceKey(el.childNodes[i].innerHTML, re, colorstr)}}
			//window.location.hash='key';
	    }else{return "全文中不存在您查询的关键字！";}
	}else{return "全文检索关键字不能为空！";}
}

function fnReplaceKey(src, rek, colorstr){
	var re = new RegExp('<.*?>', 'ig');
	var Content = '';
	var arr, str_temp='', idx_temp=0;
	rek.test(src);
	while ((arr=re.exec(src)) != null) {
		str_temp = src.substring(idx_temp, arr.index);
		idx_temp = arr.lastIndex;
		if (rek.test(str_temp)) {str_temp = str_temp.replace(rek, "<a name='key'></a><font color='" + colorstr+ "'>$1</font>")}
		Content += str_temp;
		Content += arr;
	}
	str_temp = src.substr(idx_temp);
	if (rek.test(str_temp)) {str_temp = str_temp.replace(rek, "<a name='key'></a><font color='" + colorstr+ "'>$1</font>")}
	Content += str_temp;
	return Content;
}

//============================================================================
//全文检索文字加强显示
//在底部加入
//highlightdocument("ssss");
//============================================================================


var SKEY_Color_HighLight="#ff0000";  // 替换颜色值。
var SKEY_Label_HighLight="font"; // 标签名称。
var SKEY_MS_HighLight=0; // 操作模式  0  替换颜色模式 1 替换成其他字符串模式。
var SKEY_String_HighLight=""; // 当模式为替换成其他字符串时的替换字符串。

function highlightstring(text,key){
    var html=text.nodeValue;
    var ss = html.split(key);
    if(SKEY_MS_HighLight==0){
        key = key.fontcolor(SKEY_Color_HighLight);
    }else{
        key = SKEY_String_HighLight;
    }
    html="";
    for(var j=0;j<ss.length;j++){
        if(j>0)
            html+= key;
        html+=ss[j];
    }
    var node = document.createElement(SKEY_Label_HighLight);
    node.innerHTML = html;
    //alert(html);
    return node;
}

function highlighttext(text,keys,index){
    var node = highlightstring(text,keys[index]);
    for(var i=index+1;i<keys.length;i++){
        highlightobject(node,keys,index+1);
    }
    return node;
}

function highlightobject(object,keys,index){
    var nodes = object.childNodes;
    for(var i=0;i<nodes.length;i++){
        if(nodes[i].nodeType==3){
            object.replaceChild(highlighttext(nodes[i],keys,index),nodes[i]);
        }else{
            highlightobject(nodes[i],keys,index);
        }
    }
}

function highlightdocument(ssgjz){
    s = ssgjz;
    keys = s.split("::");
    var aaa=clearBlank(keys);
    if(aaa.length>0){
        highlightobject(document.body,aaa,0);
    }
}

function clearBlank(arr){
    var j=0;
    var toArr=new Array();
    if(arr!=null){
        for(var i=0;i<arr.length;i++){
            if(arr[i]!=null && arr[i]!=""){
                toArr[j]=arr[i];
                j++;
            }
        }
    }
    return toArr;
}


//============================================================================


function RT(str){
    str = str.replace(/®/g,"&reg;");
    str = str.replace(/©/g,"&copy;");
    str = str.replace(/×/g,"&#215;");
    str = str.replace(/÷/g,"&#247;");
    return str;
}
