function replaze(str, st1, st2){
    if (str!="" & st1!="") {
	    var regEx=new RegExp(st1,"g");
		if (str.indexOf(st1)!=-1){str=str.replace(regEx, st2);}
	}else{str=str;}
	return str;
}
//仿VBTrim
function Trim(strSource)
{
 return strSource.replace(/^\s*/,'').replace(/\s*$/,'');
}
//用小时运算时间
function exptime(hours){
    var now,h
    now = new Date();
    h=now.getHours();
    now.setHours(h+hours); 
return now.toUTCString().replace("UTC", "GMT");
}
//获得指定字符串st的数量
function countstr(str, st){
	if ( (str=="")||(str==null) ){
		return 0
	}else{
		var str=unescape(replaze(replaze(str,"%0A",""),"%0D",""));
		var st=unescape(replaze(replaze(st,"%0A",""),"%0D",""));
		var regEx=new RegExp(st, "g");
		var len=0
		if (str.indexOf(st)!=-1){len=str.match(regEx).length;}
		return len
	}

}
//用limit限制指定字符串st的数量
function limitstr(str, st, limit){
    var str=unescape(replaze(replaze(str,"%0A",""),"%0D",""));
	var st=unescape(replaze(replaze(st,"%0A",""),"%0D",""));	
	var regEx=new RegExp(st, "g");
	var len=0
	if (str.indexOf(st)!=-1){len=str.match(regEx).length;}
	//if (len>=limit){return true}else{return false}
	return (len>=limit)
}
//设置cookie的值
function setcv(name, value){
    document.cookie=name+"="+escape(value)+"; expires="+exptime(5000);
}
//设置收件人的cookie的值
function setetocv(name, value){
	//if trim(unescape(cv(name)))
	value=trim(value);
	if (value.substr(value.length-1)!=","){value=value+","} 
    document.cookie=name+"="+escape(value)+"; expires="+exptime(5000);
}
// 获得指定cookie的值
function cv(name){
var allcookie=document.cookie;
var cookiename=name+"="
    if (allcookie.indexOf(cookiename)!=-1){
      var lencookiename=cookiename.length;
      var cookiepa=allcookie.indexOf(cookiename)+lencookiename;
      var cookiepb=allcookie.indexOf(";", cookiepa);
	    if (cookiepb!=-1){ 
          var cookiepab=cookiepb-cookiepa;
          var cookievalue=allcookie.substr(cookiepa, cookiepab);
		  }
		else{
		  var cookievalue=allcookie.substr(cookiepa);
		}
	return cookievalue;}
    else
      {return ""}
}
//根据名称清除cookie
function delcv(name){
	document.cookie=cookie=name+"=;"
	document.cookie=name+"=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT";
    document.cookie=name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
//清除指定的cookie值
function clearcv(names){
	if ( names.substr(names.length-1) != "," ){names=names+","}
    nameslen=names.match(/,/g).length;
    for (var ni=1; ni<=nameslen; ni++){
        if (ni==1){
	        namea=0;
	        nameb=names.indexOf(",",namea+1);
	        nameab=nameb-namea;
	        name=names.substr(namea, nameab);
	        for (var nr=1; nr<=name.length; nr++){name=name.replace(" ", ""); name=name.replace(",", "")}
	        if (name!=""){delcv(name);}
	    }
	    if (ni>1) {
	        namea=0;
	        for (var nii=1; nii<=ni-1; nii++){namea=names.indexOf(",", namea+1)}
		    nameb=names.indexOf(",", namea+1)
	    	nameab=nameb-namea;
	        name=names.substr(namea, nameab);
	        for (var nr=1; nr<=name.length; nr++){name=name.replace(" ", ""); name=name.replace(",", "")}
	        if (name!=""){delcv(name);}
	     }	 
    }		
}
///以“,”分段检验指定字符串是否存在
function CheckStr(st, ky){
	var st=replaze(unescape(replaze(replaze(st,"%0A",""),"%0D","")), " ", "") ;
	var ky=replaze(unescape(replaze(replaze(ky,"%0A",""),"%0D","")), " ", "");
	arystr=st.split(",");
	arykey=ky.split(",");
	lenstr=arystr.length;
	lenkey=arykey.length;
	for (var j=0; j<lenkey; j++){
		for (var i=0; i<lenstr; i++){
			if (arystr[i]==arykey[j]){
				var sec=true; 
				break
			}
			else{
				var sec=false; 
			}
			
		}if (sec==false){break}
	}
		return sec
}
//从st字符串中删除所有ky字符
function delst(st,ky){
	
	var stary=st.split(",");
	var kyary=ky.split(",");
	var stlen=stary.length;
	var kylen=kyary.length;
	if (st==ky){var stary="";}else{
		for (var z=0; z<stlen; z++){
			if (stary[z]==ky){
				stary.splice(z,1);
			}	
		} 
	}
	return stary.toString();
}
//增删N元素的值
function stract(N, V, Act){
	
    if (Act==1){ //参数为1时向（N）元素值中添加字符串V
	    var V=replaze(unescape(replaze(replaze(V,"%0A",""),"%0D",""))," ","");
	    var st=replaze(unescape(replaze(replaze(document.getElementById(N).value,"%0A",""),"%0D",""))," ","");
		if ((V!=null)&&(V!="")){var Vlen=V.split(",").length}
        if (V.substr(V.lastIndexOf(","))==","){var V=V.substr(0,V.length-1);}else{var V=V;}
	    if ((st.substr(st.lastIndexOf(","))!=",")&&(st!="") ){var st=st+",";}else{var st=st;}//alert(st);	
	    
		st=st+V;
	    document.getElementById(N).value=unescape(st);
	}
	if (Act==-1){ // 参数为-1时从cookie（N）中删除字符串V
	    var V=replaze(unescape(replaze(replaze(V,"%0A",""),"%0D",""))," ","");
	    var st=replaze(unescape(replaze(replaze(document.getElementById(N).value,"%0A",""),"%0D",""))," ","");
        var stary=st.split(",");
	    var kyary=V.split(",");
	    var stlen=stary.length;
	    var kylen=kyary.length;
		if (V.indexOf(",")<0){st=delst(st,V);}
		else{
			for (var i=0; i<kylen; i++){st=delst(st, kyary[i]);}
		}
		document.getElementById(N).value=unescape(st);	
	}
}
//增删N名称cookie的值
function ckact(N, V, Act){
	
    if (Act==1){ //参数为1时向（N）元素值中添加字符串V
	    var V=replaze(unescape(replaze(replaze(V,"%0A",""),"%0D",""))," ","");
	    var st=replaze(unescape(replaze(replaze(cv(N),"%0A",""),"%0D",""))," ","");
		if ((V!=null)&&(V!="")){var Vlen=V.split(",").length}
        if (V.substr(V.lastIndexOf(","))==","){var V=V.substr(0,V.length-1);}else{var V=V;}
	    if ((st.substr(st.lastIndexOf(","))!=",")&&(st!="") ){var st=st+",";}else{var st=st;}//alert(st);	
	    
		st=st+V;
	     document.cookie=N+"="+escape(st);
	}
	if (Act==-1){ // 参数为-1时从cookie（N）中删除字符串V
	    var V=replaze(unescape(replaze(replaze(V,"%0A",""),"%0D",""))," ","");
	    var st=replaze(unescape(replaze(replaze(cv(N),"%0A",""),"%0D",""))," ","");
		//alert(st)
        var stary=st.split(",");
	    var kyary=V.split(",");
	    var stlen=stary.length;
	    var kylen=kyary.length;
		if (V.indexOf(",")<0){st=delst(st,V);}
		else{
			for (var i=0; i<kylen; i++){st=delst(st, kyary[i]);}
		}
		 document.cookie=N+"="+escape(st);	
	}
}
//获得指定同名表单元素的全部的值
function getallvalues(name){
	var obj=document.getElementsByName(name);
	var len=obj.length;
	var values="";
	for (var i=0; i<len; i++){values=values+obj[i].value+","}
	values=values.substr(0,values.length-1);
	return values	
}
//给相同Name的复选框赋值
function valuetoboxes(name, values){
    var obj=document.getElementsByName(name);
	var len=obj.length
	for (var i=0; i<len; i++){obj[i].value=values;}
	
}
//清除指定的所有复选框
function checkAll(obj,str, toinput, needup, limit){
  var a = document.getElementsByName(str);       //获取所有复选框
  var n = a.length;                              //获取复选框的个数
  var vs="";
  var tobox=document.getElementById(toinput);
  if (tobox.value==""){var nowitems=0;}else{var nowitems=tobox.value.split(",").length;}
    if (obj.checked==true){
		if (needup=="yes"){
				for (var i=0; i<n; i++){
					if (CheckStr(tobox.value, a[i].value)==false){
						if (vs==""){var vslen=0; }else{var vslen=vs.match(/,/g).length;}
						var cklen=nowitems+vslen
						if (cklen>=limit){alert("Please do not choose more tham "+limit+" items.");obj.checked=false;break;}else{
							var vs=vs+a[i].value+","
						}
					}
				}var vs=vs.substr(0,vs.length-1)
				 var vsary=vs.split(",")
				stract(toinput,vs,1);
			for  (var j=0; j<=vslen; j++){
				for (var i=0; i<n; i++){
					if (a[i].value==vsary[j]){a[i].checked = true; break;}//通过单击的按钮判断是选中还是未选
				}
			}
		}else{
			for (var i=0; i<n; i++){
				a[i].checked = true//通过单击的按钮判断是选中还是未选
			}
		}
    }else{
	    if (needup=="yes"){ 
		    for (var i=0; i<n; i++){
			    if (CheckStr(tobox.value, a[i].value)==true){
			        var vs=vs+a[i].value+","
				}
			}var vs=vs.substr(0,vs.length-1)
			stract(toinput,vs, -1);
		}
		for (var i=0; i<n; i++){
            a[i].checked = false//通过单击的按钮判断是选中还是未选
        }

    }
}
//跟据复选框情况增删指定元素的值
function onchangeCB(obj, ckname, allck,limit) { 
    var ckditems=document.getElementById(ckname).value.split(",").length
	var allary=document.getElementsByName(allck);
	var alllen=allary.length;
	var ckdesname=obj.name
	var nameary=document.getElementsByName(ckdesname)
	var namelen=nameary.length;
	  if (obj.checked) { // 选中 
	      if (ckditems>=limit){alert("Please do not choose more tham "+limit+" items.");obj.checked=false}
		  else{
	          stract(ckname, obj.value, 1);
			  for (j=0; j<namelen; j++){
				  if (nameary[j].checked==true){var sec=true}else{var sec=false; break}  
				  
			  }
			  if (sec==true){
				    for (var i=0; i<alllen; i++){allary[i].checked=true}
			  }
		  }
      } 
      else { //a取消	   ;
	      stract(ckname, obj.value, -1);	
		  for (var i=0; i<alllen; i++)
		  allary[i].checked=false
      } 
} 
//跟据指定cookie("ckname")的值确定复选框“name”是否被钩选
function ifchecked(names,ckname){
    var ids=document.getElementsByName(names);
	var idslen=ids.length;
	var sec="";
	for (var i=0; i<idslen; i++){
		ids[i].checked=CheckStr(unescape(cv(ckname)),ids[i].value)
	}
}
//获得指定标签，相同type的数组
function aryids(tagname, typename){
	var obj = document.getElementsByTagName(typename)
	var ids=""
	for(var p=0; p<obj.length; p++){
		if (obj[p].type==typename){ids=ids+obj[p].id+","}
	}
	var ids=ids.substr(0,ids.length-1)
	return ids.split(",")
}
//根据元素N的值，决定是否显示元素B。如果元素N是空，则不显示元素B，反之显示元素B。
function tagDisplay(N,B){
	var n=document.getElementById(N);
	var b=document.getElementsByName(B);
	var blen=b.length;
	//alert (blen)
	for (i=0; i<blen; i++){
	     if (n.value==""){b[i].style.display="none";}else{b[i].style.display="block";}
	}
    //if(n.value==""){b.style.display="none"}else{b.style.display=""}	
}
//如果指定元素的值为空，则不钩选相关元素
function clearB(B){
	//var document.getElementById(T).value="";
	var b=document.getElementsByName(B);
	var blen=b.length;
	for(var i=0; i<blen; i++){b[i].checked=false} 
	
	}
function clearBsT(Bs, T){
	document.getElementById(T).value="";
	var bs=Bs.split(",");
	var bslen=bs.length;
	for(var i=0; i<bslen;i++){clearB(bs[i])}	

}
//关闭或开启指定ID的表格
function closetb(tid,onoroff){
	if (onoroff=="off"){document.all(tid).style.display="none"}
	if (onoroff=="on"){document.all(tid).style.display=""}
}
//关闭或开启选项卡
function card(bywhat,cards,card, onoroff){//固定要显示和隐藏的内容
	if (bywhat=="Name"){var cards_obj=document.getElementsByName(cards);}
	if (bywhat=="tagName"){var cards_obj=document.getElementsByTagName(cards);}
	//alert (cards_obj)
	var cards_len=cards_obj.length;
    if (onoroff=="on"){var offoron="none"}
	if (onoroff=="off"){var offoron=""}
	//var card_obj=document.getElementById(card);
	//var caoff=document.getElementById(cardoff);
		for (var i=0; i<cards_len; i++){//cards全部隐藏
			cards_obj[i].style.display=offoron;
		}
        closetb(card,onoroff);
		//card_obj.style.display="";    //card显示
		//caoff.style.display="none";   //cardoff隐藏

}
//上传时按比例预览图像 （文件域，“层ID”,限制值）
function preview(imgFile, imgid, limit){
	var newPreview = document.getElementById(imgid);
	newPreview.style.display = "";
    newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
	newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "image";
	//newPreview.style.width = 200;
    //newPreview.style.height = 200;
	var H=newPreview.offsetHeight;
	var W=newPreview.offsetWidth;
	//alert ("size="+W+" * "+H);
	if(W>H){
		var sec="W>H";
	    H=Math.floor(H*(limit/W));
		W=limit;
	newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "scale";
	newPreview.style.width = W;
    newPreview.style.height = H;
	}else{
		var sec="W<H";
	    W=Math.floor(W*(limit/H));
		H=limit;
	newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "scale";
	newPreview.style.width = W;
    newPreview.style.height = H;
	}
	//alert (sec+"\nsize="+W+" * "+H);
}
//上传时按绝对值预览图像 （文件域，“层ID”,宽，高）
//<div id="pre"  style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width:20px;height:20px;"></div>
function abspreview(imgFile, imgid, W, H){
	var newPreview = document.getElementById(imgid);
	newPreview.style.display = "";
    newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
	//newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "scale";
	newPreview.style.width = W+"px";
    newPreview.style.height = H+"px";
}
//初始化预览图片
function resetview(divid){
	var newPreview = document.getElementById(divid);
	newPreview.style.display = "none";
}
//验证指定表单元素，禁止含有中文或全角字符
function nocn(element, alt){
    var str=escape(document.getElementById(element).value)
	if (str.indexOf("%u")!=-1){
		if (alt!=""){alert(alt);}
		document.getElementById(element).focus();
		return false;
		}else{
		    return true;
		}	
}
function clearNoNum(obj)
{
//先把非数字的都替换掉，除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次，而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
///验证表单数据
function CheckForm(txtname, alt){
    if (document.getElementById(txtname).value.length == 0){
	    if (alt!=""){alert(alt);}
		document.getElementById(txtname).focus();
		return false
	}else{
	    return true
	}
}
//参数-url表示要打开的网站，winname表示打开后的窗体名称
//参数windth表示打开窗体的宽度，height表示打开窗体的高度
function openwindow( url,winName,width,height,scrollbar) 
{
    xposition=0; yposition=0;
    if ((parseInt(navigator.appVersion) >= 4 ))
    {
    xposition = (screen.width - width) / 2;     //窗体居中的x坐标
    yposition = (screen.height - height) / 2;   //窗体居中的y坐标
    }
    theproperty= "width=" + width + ","         //打开窗口的属性
    + "height=" + height + "," 
    + "location=0," 
    + "menubar=0,"
    + "resizable=1,"
    + "scrollbars="+scrollbar
    + "status=0," 
    + "titlebar=0,"
    + "toolbar=0,"
    + "hotkeys=0,"
    + "screenx=" + xposition + "," //仅适用于Netscape
    + "screeny=" + yposition + "," //仅适用于Netscape
    + "left=" + xposition + "," //IE
    + "top=" + yposition; //IE 
    window.open( url,winName,theproperty );     //打开窗口
}
//同名表单元素赋值
function inputchange(names, values){
	var obj=document.getElementsByName(names)
	var obj_len=obj.length

	for (var i=0; i<obj_len; i++){
		obj[i].value=values
	}

}
//实验///////////////////////////////////////////////////
//var ky="3"
//document.write(document.cookie+"<br>")

    
