    /**
     * 获取当前web模块名称,在调用时，需在页面上定义szWebAppPath
     */
    function getWebAppName(){
        var p = window;
        var i = 0;
        while (p.parent != undefined && null != p.parent && i < 10) {
            p = p.parent;
            i ++;
        }
    
         // 需要在框架界面上添加JS变量webAppName
        return undefined == p.webAppName ? '/DiBao' : p.webAppName;
    }
    
    /*
     * Statement: 根据id得到对象
     * @param:      id             对象id
     * return object
	 * .....shigy
     */
	function $_(id){
	    return document.getElementById(id);
	}

    /*
     * Statement: 根据id得到对象数组
     * @param:      id      对象id或名字
     * return Array
     */
	function $_all(id){
	    return document.all(id);
	}

    /*
     * Statement: 检查o是不是对象
     * @param:      o             对象或字符串
     * return boolen
     */
	function IsObject(o){
	    if(o==null) return false;
	    if(typeof(o)=="object") return true;
	    if(typeof(o)=="string"){
	      if(document.all(o)==null){
	        try{
	          eval(o);
	        }catch(e){
	          return false;
	        }
	        return true;
	      }else{
	        return true;
	      }
	    }else{
	      return false;
	    }
	}
	
    /*
     * Statement: 删除子对象
     * @param:    o             对象或字符串
     * return void
     * shigy
     */
	function ClearChildNodes(o){
	  if(!IsObject(o)) return;
	  for(var i=o.childNodes.length-1;i>=0;i--) o.childNodes[i].removeNode(true);
	}

    /*
     * Statement: 给下拉框添加选项
     * @param:    deso             下拉框对象
     * @param:    stext            option标签的innerText
     * @param:    svalue           option的value值
     * return object
     * shigy
     */
	function AddOption(deso,stext,svalue){
	    var o = deso;
	    if(typeof(o)=="string"){
	        if(IsObject(o)){
	            try{
	                o=eval(o);
	            }catch(e){
	                try{
	                    o=document.all(o);
	                }catch(e){
	                    return null;
	                }
	            }
	        }else{
	            return null;
	        }
	    }
	    var oOption = document.createElement("OPTION");
	    o.options.add(oOption);
	    oOption.innerText=stext;
	    oOption.value=svalue;
	    return oOption;
	}

    /*
     * Statement: 给下拉框添加选项
     * @param:    ObjectName             上传对象名称
     * @param:    captionname            提示内容
     * return boolen
     * shigy
     */
	function CheckFile(ObjectName,captionname){
	    var filename = document.all(ObjectName).value;
	    if (filename != ""){
	        var fso;
	        fso = new ActiveXObject("Scripting.FileSystemObject");
	        if (fso.FileExists(filename)){
	            return true;
	        }else{
	            alert(captionname + "不存在");
	            return false;
	        }
	    }
	    return true;
	}
	
    /*
     * Statement: 割式化路径
     * @param:    FilePath             路径字符串
     * return     格式化后的路径
     * shigy
     */
	function  FormatPath(FilePath){
	  var spath;
	  var slenth;
	  var returnvalue; 
	  returnvalue = "";
	  spath = FilePath;
	  slenth = FilePath.length;
	  for(var i=0;i<slenth;i++)
	    {
	       var svalue;
	       svalue = spath.charAt(i);
	       if(svalue == "\\")
	           returnvalue = returnvalue + "\\\\";
	       else
	           returnvalue = returnvalue + svalue; 
	    }
	 return  returnvalue;
	}

    /*
     * Statement: 根式化路径
     * @param:    FilePath             路径字符串
     * return     格式化后的路径
     * shigy
     */
	function  img_over(o){
	    if(!IsObject(o)) return;
	    o.style.cursor="hand"
	    o.src=o.src.replace("_b.jpg","_a.jpg");
	}
	
    /*
     * Statement: 根式化路径
     * @param:    FilePath             路径字符串
     * return     格式化后的路径
     * shigy
     */
	function img_out(o){
	    if(!IsObject(o)) return;
	    o.src=o.src.replace("_a.jpg","_b.jpg");
	}

    /*
     * Statement: 打开公共附件(公共业务附件调用函数)
     * --业务附件
     * @param:    o                    点击的图片对象
     * @param:    fnum             　　系统业务功能编号
     * @param:    id                   实际的业务id
     * @param:    appName              工程名称
     * return     
     * shigy
     */
	function changeIfrShow(o,fnum,id,appName){
	    if(o.src.search("plus.gif") > 0){
	        o.src = o.src.replace("plus.gif", "minus.gif");
	        $_("tr_ifrAdjunct").style.display = "block";
	        if($_("ifrAdjunct").src == ""){
	            var url = "/" + appName + "/adjunct.do?flag=load_adjunct";
	            url += "&fnum=" + fnum;
	            url += "&fid=" + id;
	            $_("ifrAdjunct").src = url;
	        }
	    } else {
	        o.src = o.src.replace("minus.gif", "plus.gif");
	        $_("tr_ifrAdjunct").style.display = "none";
	    }
	}

    /************************* 附件调用函数 ************************/
    
    //修改后根据fnum来查询
	function change(fnum, fid, appName){
	    if(fnum != "-1" && fnum != ""){
	        $_('ifrAdjunct').src = "";
	        $_('tr_ifrAdjunct').style.display = "block";
	        $_('img_adjunctshow').src = "../../../img/tree/plus.gif";
	        changeIfrShow($_('img_adjunctshow'), fnum, fid, appName);
	    }
	}

    /*
     * Statement: 打开公共附件(公共业务附件调用函数)
     * --资料附件
     * @param:    o                    点击的图片对象
     * @param:    fnum             　　系统业务功能编号
     * @param:    id                   实际的业务id
     * @param:    appName              工程名称
     * return     
     * shigy
     */
	function changeIfrShow_data(o,fnum,id,appName){
	    if(o.src.search("plus.gif")>0){
	        o.src=o.src.replace("plus.gif","minus.gif");
	        $_("tr_ifrAdjunct").style.display="block";
	        if($_("ifrAdjunct").src==""){
	            var url="/"+appName+"/adjunct_data.do?flag=load_adjunct";
	            url+="&fnum="+fnum;
	            url+="&fid="+id;
	            $_("ifrAdjunct").src=url;
	        }
	    }else{
	        o.src=o.src.replace("minus.gif","plus.gif");
	        $_("tr_ifrAdjunct").style.display="none";
	    }
	}

    /*
     * Statement: 在给定的字符串左边补充字符串
     * --资料附件
     * @param:    s                    要进行操作的字符串
     * @param:    len                  字符串的长度
     * @param:    subs                 要补充的字符串
     * @param:    utt                  字符串超过制定长度是使否截取字符串
     * return     
     * shigy
     */
	function lfillup(s,len,subs,utt){
	    if(typeof(s)!="string") return s;
	    if(s.length>=len){
	        if(utt){
	            return s.substr(s.length-len,len);
	        }else{
	            return s;
	        }
	    }
	    return bunchstr(subs,len-s.length)+s;
	}
	
    /*
     * Statement: 在给定的字符串右边补充字符串
     * --资料附件
     * @param:    s                    要进行操作的字符串
     * @param:    len                  字符串的长度
     * @param:    subs                 要补充的字符串
     * @param:    utt                  字符串超过制定长度是使否截取字符串
     * return     
     * shigy
     */
	function rfillup(s,len,subs,utt){
	    if(typeof(s)!="string") return s;
	    if(s.length>=len){
	        if(utt){
	            return s.substr(0,len);
	        }else{
	            return s;
	        }
	    }
	    return s+bunchstr(subs,len-s.length);
	}
	
	function bunchstr(subs,len){
	    var s="";
	    if(subs=="") subs=" ";
	    do{
	        s=s+subs;
	    }while(s.length<len);
	    return s.substr(0,len);
	}


	/*
     * Statement: 获取服务器时间
     * return Date()
     * DaiCx
     */
   function getServertime(){
    var xmlHttp = false; 
	// 获取服务器时间 
	try { 
	  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
	} catch (e) { 
	  try { 
	    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	  } catch (e2) { 
	    xmlHttp = false; 
	  } 
	} 
  
	if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { 
	  xmlHttp = new XMLHttpRequest(); 
	} 
  
	xmlHttp.open("GET", "null.txt", false); 
	xmlHttp.setRequestHeader("Range", "bytes=-1"); 
	xmlHttp.send(null); 
	  
	servertime=new Date(xmlHttp.getResponseHeader("Date"));
    return servertime;
	}
