﻿/*
       字符串操作
	 1、是否是整数				isint(str,bempty)		bempty是否为空
	 2、是否是浮点数			isfloat(str,bempty)		
	 3、是否所有字符为数字类型	isnumber(str,bempty)		bempty是否为空
	 4、是否为空				isnull(str)
	 5、是否是日期 xxxx-xx-xx	xxxx/xx/xx     年月日
	 							isdate(str,bempty)
	 6、是否是email				isemail(str,bempty)
	 7、是否是电话号码			istelno(str,bempty)
	 8、是否包含特殊字符		isascii(str,bempty)
	 9、裁减字符串				trim(str,flag)
	 10、计算字符串长度			strlen(str)
	11、将三个字符串连日期格式	concatdate(year,month,day)
	12、比较两个字符串是否相等	equals(str1,str2,length)
	13、比较两个数值的大小,str1大于str2返回-1， 等于返回0， 小于返回1
								comparefloat(str1,str2)
	14、是否包含特殊字符(~`!@#$%^&*()-+=|{}[]:";'<>,./?)
	        					hasspecsymbol(str,startstr) 
	15、fullspace(str) 是否包含全角空格，包含全角空格返回false,不包含返回true
	16、ischinesecharacters(str) 校验字符串是否为中文字,不包含中文特殊符号
	17、ischinese(str) 校验字符串是否为中文及中文特殊符号。
	18、iscnandenandnumber(str) 校验字符串是否为中文,英文字符，数字
	       					
	
	控件操作
	 1、是否是回车键			isenterkey()
	 2、聚焦到下一个控件		keyenter(keycode,nextcontrol) 
	 3、取得textarea控件的高度  gettextareahigh(textarea)	
	4、covertdate(strdate) 将日期格式为"2003-08-21"的字符串变为日期对象date		
	5、comparedate(strstartdate, strenddate) 判断是否起始日期小于等于结束日期	
	6、getlocation(lc) 在给定连接上面加入时间戳参数	
	7、是否包含特殊字符(~`!@#$%^&*()-+=|{}[]:";'<>,./?)
								hasspecsymbolctrl(ctrl,bempty)
	8、人民币金额除小数外不能以0开头  iszerostart(num)
	9、"substr" 开头的字符串与str字符串相匹配 (^http)
	                     compare(str,substr)
	*/
	
	function isint(str,bempty)
	{
		if(str==null||trim(str)=="")
		{
			return bempty;
		}	
	
	  if(trim(str) == "0")
	  {
	    return false;
	  }
	  
		var ch = str.substring(0,1);
		
		if (ch == "0" && trim(str) != "0")
		{
			return false;
		}
		
		for (var i=0; i<str.length ; i++)
		{
			var s = str.substring(i, i+1);
			if (!(s >= "0" && s <="9"))
			{
				return false;
			}
		}
		return true;
	}
	
	function isfloat(checkstr, bempty, tcount)
	{
		if(checkstr==null||trim(checkstr)=="")
		{
			return bempty;
		}	
	
		var str	= trim(checkstr);
		if(str.substring(0,1)==".")
		{
			return false;		
		}
		var temp=0;
		for(var i=0;i<str.length;i++)
		{
			var ch=str.substring(i,i+1);		
			if(!((ch>="0" && ch<="9") || ch=="."))
			{
				return false;		
			}
			if(ch==".")
				temp++;
			if(temp>1)
			{
				return false;		
			}
		}	
			
		if(tcount != null && tcount > 0)
		{
			if(str.indexof(".") != -1 && str.length - (str.indexof(".")+1) > tcount)
			{				
				return false;
			}	
		}
						
		var start1 = checkstr.substring(0,1);
		var start2 = checkstr.substring(1,2);
		if(start1 == 0 && start2!=".")
		{
		    for(var i=0;i<str.length;i++)
		    {
		     var ch=str.substring(i,i+1);
		     if (ch==0)
		     temp++;
		     }
		   if (temp == str.length)
		    {
		      return true;
		    }
		    return false;
		  }
		
		
		return true;
	}
	
	function isnumber(str,bempty)
	{
		if(str==null||trim(str)=="")
		{
			return bempty;
		}
	
		for (var i=0; i<str.length ; i++)
		{
			var s = str.substring(i, i+1);
			if (!(s >= "0" && s <="9"))
			{
				return false;
			}
		}
		return true;
	}
	
	function isnull(str)
	{
		if (str == null || trim(str) == "")
		{
			return true;
		}
		return false;
	}
	
	function isdate(str,bempty)
	{
		if (str == null)
		{
			return bempty;
		}
		if (trim(str).length != 10 )
		{
			return false;
		}
		var yearstr = str.substring(0,4);
		if(parseint(yearstr)<1900)
		{
			return false;
			}
		var reg =  /^[0-9]{4}\-(([0][1-9])||([1][012]))\-(([0][1-9])||([12][0-9])||([3][01]))$/;
		if(!str.match(reg))
		{
			return false;
			}
		return true;
	}
	
	function isemail(str,bempty){
		if (str == null || trim(str) == "")
		{
			return bempty;
		}
		
	    //校验邮件的正则表达式，包括aa@bb.cc.dd 和 aa@bb.cc的形式
	    
	    var pattern1 = /^(([\u4e00-\u9fa5]|[\ufe30-\ufeff]|[\d]|[a-za-z]|[\_\-\.])+[\@])(((([\d]|[a-za-z]|[\_\-]|[\[\]\{\}\>\<])+[\.])+)([\d]|[a-za-z\_\-])+)$/;

	    if(str.match(pattern1) )
			return true;

        return false;
	}
	
	function istelno(str,bempty)
	{
		if(str==null||trim(str)=="")
			return bempty;		
			
    var str	= trim(str);

  	var myphone = /^[\-0-9+()\/]{1,32}$/;
  	if(myphone.test(str)) return true;
  	
  	return false;
  }	
	
	function isascii(str, bempty)
	{ 
		if(str==null||trim(str)=="")
			return bempty;		//alert(name+"项：您尚未填写。");
			
		var str	= trim(str);
		
		for (var i = 0; i < str.length; i++) { 
			var ch = str.charat(i); 
			if (!((ch >= "a" && ch <= "z" ) || (ch >="0" && ch <="9"))) { 
				return false; 
			} 
		} 
		
	    return true; 
	} 
	
	function hasspecsymbol(str,bempty){
		if(str==null||trim(str)=="")
			return bempty;		//alert(name+"项：您尚未填写。");
			
		var str	= trim(str);
		
		for (var i = 0; i < str.length; i++) { 
			var ch = str.charat(i); 
			if ((ch == "`" )|| (ch == "~" )||(ch == "!" )||(ch == "@" )||
				(ch == "#" )||(ch == "%" )||(ch == "^" )||(ch == "&" )||
				(ch == "*" )||(ch == "(" )||(ch == ")" )||(ch == "+" )||
                                (ch == "=" )||(ch == "|" )||(ch == "{" )||(ch == "}" )||
                                (ch == "[" )||(ch == "]" )||(ch == ":" )||(ch == ";" )||
                                (ch == "'" )||(ch == '"' )||(ch == "<" )||(ch == ">" )||
                                (ch == "," )||(ch == "." )||(ch == "\\" )||(ch == "?" )||
				(ch == "/" )) { 
				return false; 
			} 
		} 
		
	    return true; 		
	}
	
	function fullspace(str){
		var reg = /\　/;  
		var booleant = reg.test(str);
		if (booleant == true) {
		    return false;
		} 
		return true;
        }
	
	//function trim a string
	function trim(str , flag)
	{
	
		str	= ""+str;
		if( flag == "l" || flag == "l" )/*trim left side only*/
		{
			regularexp	= /^\s+/gi;
			return str.replace( regularexp,"" );
		}
		else if( flag == "r" || flag == "r" )/*trim right side only*/
		{
			regularexp	= /\s+$/gi;
			return str.replace( regularexp,"" );
		}
		else/*defautly, trim both left and right side*/
		{
			regularexp	= /^\s+|\s+$/gi;
			return str.replace( regularexp,"" );
		}
	}
	
	function strlen(str)
	{
		str = trim(str);
		var reg = /\r\n/g;
		var str1 = str.replace(reg,""); 
		return str1.length;
	}
	
	
	function concatdate(year,month,day)
	{
		if (year == null||trim(year == "")) 
			return false;//alert
		if (month == null||trim(month == "")) 
			return false;//alert
		if (day == null||trim(day == "")) 
			return false;//alert
	
		var y = trim(year);
		var m = trim(month);
		var d = trim(day);
	
		var str = "";
		var yearnum = parseint(y);
		var monthnum = parseint(m);
		var daynum = parseint(d);
	
		if (monthnum < 10)
			var ys = "0" + yearnum;
		else 
			var ys = "" + yearnum;
		if (daynum < 10)
			var ys = "0" + yearnum;
		else 
			var ys = "" + yearnum;	
	
		str+=yearnum;
		str+=month1;
		str+=day1;	
		
		return str;	
	}
	

	function equals(str1,str2,length)
	{
		if (str1 == null && str2 ==null)
		{
			return true;
		}
		
		if (str1 == str2)
		{
			return true;
		}
		
		return false;
	}
	
	function equals(str1,str2,minlength,maxlength)
	{
		if (str1.length < minlength ||str1.length > maxlength  )
		{
			return false
		}
		
		if (str1 == str2)
		{
			return true;
		}
		
		return false;
	}
	
								
								
	/**
	 *比较两个数值的大小,str1大于str2返回-1， 等于返回0， 小于返回1
	 */
	function comparefloat(str1, str2)
	{	
		str1 = trim(str1);
		str2 = trim(str2);
		var float1 = parsefloat(str1);
		var float2 = parsefloat(str2);				
		if(float1 < float2) return 1;
		else if(float1 > float2) return -1;
		else if(float1 == float1)
		return 0;		
	}
	
	
	//move control's focus through put down one key
	function keyenter(keycode,nextcontrol) 
	{
		var srcelement=window.event.srcelement;
		var ikeycode = window.event.keycode;
		
		if(ikeycode != keycode)
		{
			return true;
		}
		
		if(nextcontrol == null)
		{
			var i = 0;
			while (srcelement!=srcelement.form.elements[i])
			{
				i++;
			}
			if(!srcelement.form.elements[i+1].disabled)
				srcelement.form.elements[i+1].focus();
				if(srcelement.form.elements[i+1].type == "text"||srcelement.form.elements[i+1].type == "textarea"||srcelement.form.elements[i+1].type == "checkbox")
				      srcelement.form.elements[i+1].select();
			else
			{
			    do
			    {
			      	i++;
			    }while(srcelement.form.elements[i+1].disabled)
				srcelement.form.elements[i+1].focus();
				if(srcelement.form.elements[i+1].type == "text"||srcelement.form.elements[i+1].type == "textarea"||srcelement.form.elements[i+1].type == "checkbox")
				  srcelement.form.elements[i+1].select();
		       }
		}
		else
		{
			nextcontrol.focus();
			if(nextcontrol.type == "text"||nextcontrol.type == "textarea"||nextcontrol.type == "checkbox")
		           nextcontrol.select();		
		}
		return false;
	}

	function test_name(str) {
		var pattern = /^[_\-a-za-z0-9]{3,20}$/;
		if(pattern.test(str)) return true;
		return false;
 	}
	
	function getstrlen(str)
	{
		if(str==null) return 0;
		str = trim(str);
		var reg = /\r\n/g;
		var str1 = str.replace(reg,"");      				
		
	  	var size = 0;
	  	for (var i = 0; i < str1.length; i++) { 
	  		var ch = str1.charat(i); 
	  		if ( ch <= "\x7f" ){
	  			size = size + 1;
	  		}
	  		if ("\x80"< ch){
	  			size = size + 2;
	  		}
	  	}
	  	
	  	return size;
	}

	function gettextareahigh(textarea)
	 { 
	  var textareawidth = textarea.cols;
	  var str = textarea.value;	  
	  var totalhigh = 0;
	  var rnloc = str.indexof("\r\n");
	  var tempstring =str ;
	 
		if(rnloc!= -1){
		   while (rnloc != -1)
		   {
			   var s = tempstring.substring(0, rnloc);   
			   totalhigh = totalhigh  + getlinenum(s, textareawidth);   
			   tempstring = tempstring.substring(rnloc+2, tempstring.length);			  
			   rnloc = tempstring.indexof("\r\n");       
		   }
		}
		  
		if (rnloc== -1 && tempstring.length > 0)
		{  
			totalhigh = totalhigh + getlinenum(tempstring, textareawidth);
		}
	       
	  	if (totalhigh == 0)
	   		totalhigh = 1; 
		return totalhigh;	   		  	  	
 	}
 
 function getlinenum(str, linelen)
 {   
 	  if(str==null) return 0;  
 	  
  	var cols = 1;
    var size = 0;
  	var deltasize = 1;
    for (var i = 0; i < str.length; i++) { 
   		var ch = str.charat(i); 
     	if ( ch <= "\x7f" ){
   			deltasize = 1;
     	}
     	if ("\x80"< ch){
    		deltasize = 2;
     	}
   		size = size + deltasize;   
   		
      	if(size > linelen*cols){
	    	//如果上个双字节字符使字符串换行，则使size多加一，以补充textarea自动换行多出的空位
	    	if(deltasize == 2) size++;
   		}
   		
   		if(size == linelen*cols && str.charat(i+1)<= "\x7f" && str.charat(i+1)!= ""){
   		   var needpatch = "false";
           for(var k = linelen*(cols-1);k < (linelen*cols -1); k++) {
	           if(str.charat(k) > "\x80") {
			     needpatch = "true";
	             break; 	
	           }
   	       }
   		   	
   		   if(needpatch == "true"){
   		   	 var pos = size;
   		   
   		     //找到前面最近的双字节字符
   		     for(var j = i;str.charat(j-1)<= "\x7f" && pos>(linelen*(cols-1)) ;j--) {
   		   	    pos--; 	
   		     }
 		     size = size + (linelen*cols - pos) + 1;
 		   }
 		   
   		}
   		cols = math.ceil(size/linelen);

   		
    }

    return cols;
 }
 
	
	//将日期格式为"2003-08-21"的字符串变为日期对象date
	function covertdate(strdate)
	{					
		tempstr = strdate;
		var i = tempstr.indexof("-");					
		if(i > -1)
			var stryear = tempstr.substring(0, i);					
		tempstr = tempstr.substring(i+1, tempstr.length);
		i = tempstr.indexof("-");					
		if(i > -1)
			var strmonth = tempstr.substring(0, i);						
		strday = tempstr.substring(i+1, tempstr.length);					
		tempstr = tempstr.substring(i+1, tempstr.length);																									
		var date = new date(stryear, strmonth, strday);															
		return date;
	}
	
	//判断是否起始日期小于等于结束日期
	function comparedate(strstartdate, strenddate)
	{
		if(trim(strstartdate) == "" || trim(strenddate) == "" )
			return true;					  
		var startdate = covertdate(strstartdate);
		var enddate = covertdate(strenddate);
		if(startdate.gettime() > enddate.gettime())
			return false;
		else 
			return true;
	}
	
	
	function getlocation(lc)
	{
		var date = new date();						
		var s = lc + "";						
		var i = s.indexof("?");
		if(i > -1)
		{
			lc = lc + "&amp;time=" + date.gettime();
		}					
		else
		{
			lc = lc + "?time=" + date.gettime();
		}
		return lc;
	}
	
	//打开html编辑器
  var formid;
  function openscriphtml(textareaname){
    formid = textareaname;
    if (navigator.appname!="microsoft internet explorer")
      alert("此功能 netscape 用户不能使用！")
    else {   
      newwin=window.open('../../../ebizresourceset/htmleditor/html/editor.html','','width=640,height=450,status=1');
      newwin.focus();
      //newwin.execscript("var formid='companynewsmaint_formcompanynews.companynewsmaint_companynewscontent';");
     }
  }
	
	//页面输出指定input对象中的长文本中的指定长度的字符
	//input - 指定input对象
	//showcharnumber - 指定长度
	function printparttextinlongtext(input, showcharnumber){
    var str = input.value;
    var reg = /<[a-z]*[a-z]*(\s[a-z]*[a-z]*\=((\"{0,1}([a-za-z\-\=\:\;\{\}\/\.\!\@\_\^\%\&\*\$\#\?\'\"\,\[\]]|[0-9]|[\u4e00-\u9fa5]|[\ufe30-\uffa0]|[\uff0c\u3002])\"{0,1})*|(\"{0,1}\#\w{6}\"{0,1})*))*\/?>|<\/[a-z]*[a-z]*>/g;
    var regspace = /\s/g;
    var regspace1 = /&nbsp;/g;
    var str1 = str.replace(reg,"");
    var movespace = str1.replace(regspace,"");
    var laststr = movespace.replace(regspace1,"");
    if(laststr.length>showcharnumber){
    	var str_description = laststr.substr(0,showcharnumber) + "...";
    	document.write(str_description); 
    }else{
    	document.write(laststr);     	
    }
   
	}	
	
	//页面输出指定text文本中的指定长度的字符文本
	//text - 指定text文本
	//showcharnumber - 指定长度
	function printparttext(text, showcharnumber){
    var str = text;
    var reg = /<[a-z]*[a-z]*(\s[a-z]*[a-z]*\=((\"{0,1}([a-za-z]|[0-9]|[\u4e00-\u9fa5]|[\ufe30-\uffa0]|[\uff0c\u3002])\"{0,1})*|(\"{0,1}\#\w{6}\"{0,1})*))*\/?>|<\/[a-z]*[a-z]*>/g;
    var regspace = /\s/g;
    var regspace1 = /&nbsp;/g;
    var str1 = str.replace(reg,"");
    var movespace = str1.replace(regspace,"");
    var laststr = movespace.replace(regspace1,"");
    if(laststr.length > showcharnumber){
	    var str_description = laststr.substr(0,showcharnumber) + "...";
	    document.write(str_description);    
    }else{
    	document.write(laststr); 
    }        
	}	

function sethome(){
  var locationstr = new string(window.location);
  var numstr = locationstr.indexof("\?");
  //alert(numstr);
  var sethomestr;
  if(numstr == -1)
    {sethomestr = locationstr;}
  else{
    sethomestr = locationstr.substring(0,numstr)}
  document.all.sethomea.style.behavior="url(#default#homepage)";
  document.all.sethomea.sethomepage(sethomestr);
  return false;
}	
//左边栏显示与隐藏
function hidelist(frm,ss)
{
	if (frm.liststatus.value==0)
	{
		ss.src="../../../ebizresourceset/images/core/click_right.gif";
		top.main.cols="0,12,*";
	}
	else
	{
		ss.src="../../../ebizresourceset/images/core/click_left.gif";
		top.main.cols="160,12,*";
	}
	frm.liststatus.value = 1 - frm.liststatus.value;

}

//打开图片库的方法
  var num;
  var objreceiveimgpath;
  var objreceiveimgname;
  var objreceivetextname;
	function openscripupload(imagesused,obj,imgname,textname){
	  num = imagesused;
	  objreceiveimgname = imgname ;
	  objreceiveimgpath = obj;
	  objreceivetextname=textname;
	  	  
		if (navigator.appname!="microsoft internet explorer")
   		    alert("此功能 netscape 用户不能使用！")
	  else
   		{
   		  newwin=window.open('/newebiz1/ebizportalfg/portal/html/imagerepositorymaint.html','','width=550,height=450,status=1,scrollbars=yes');
    	  newwin.focus();
		   }
	}
//打开flash库的方法
  var num;
  var objreceiveimgpath;
  var objreceivetextname;
	function openscripuploadflash(imagesused,obj,textname){
	  num = imagesused;
	  objreceivetextname = textname ;
	  objreceiveimgpath = obj;
		if (navigator.appname!="microsoft internet explorer")
   		    alert("此功能 netscape 用户不能使用！")
	  else
   		{
   		  newwin=window.open('/newebiz1/ebizportalfg/portal/html/flashrepositorymaint.html','','width=550,height=450,status=1,scrollbars=yes');
    	  newwin.focus();
		   }
	}
	//以变量substr开头的字符串相匹配
   /*function compare(str,startstr) { 	    		 	   
   var pattern="^http";
    if(str==null||trim(str)=="") return false;		
    var str	= trim(str); 	   		
    if(str.match(pattern)) return true;	  	
    return false;
    }
    */
    function compare(str,substr){
    var pattern="^"+substr;   		
    if(str.match(pattern)) return true;	  	
    return false;
   }
	/*  
	*校验字符串是否为中文,不包含中文特殊符号
	*返回值：
	*如果为空，定义校验通过，           返回true
	*如果字串为中文，校验通过，         返回true
	*如果字串为非中文，             返回false    
	*/
   function ischinesecharacters(str){
	 var pattern_cn = /^([\u4e00-\u9fa5])*$/;
		
		 if(pattern_cn.test(str)){
			 return true;
		 }else{
			 return false;
		 }
   }
   
	/*  
	*校验字符串是否为中文,包含中文特殊符号
	*返回值：
	*如果为空，定义校验通过，           返回true
	*如果字串为中文，校验通过，         返回true
	*如果字串为非中文，             返回false    
	*/   
   function ischinese(str){

   var pattern_cn = /^([\u4e00-\u9fa5]|[\ufe30-\uffa0])*$/;
		
	 		if(pattern_cn.test(str)){
				return true;
			}else{
				return false;
			}
   }
   
  
	/*  
	*校验字符串是否为中文,英文字符，数字
	*返回值：
	*如果为空，定义校验通过，           返回true
	*如果字串为中文，校验通过，         返回true
	*如果字串为非中文，             返回false    
	*/      
   function iscnandenandnumber(str){
    var pattern_cn = /^([\u4e00-\u9fa5]|[\ufe30-\uffa0]|[_\-a-za-z0-9])*$/;
		
	 		if(pattern_cn.test(str)){
				return true;
			}else{
				return false;
			}
   }
//added by wumeng time:2006-02-14
//将日期格式为"2003-08-21"的字符串变为整数值“20030821”
function covertdatetoint(strdate)
{
     tempstr = strdate;
     var i = tempstr.indexof("-");					
     if(i > -1)
     var stryear = tempstr.substring(0, i);
     tempstr = tempstr.substring(i+1, tempstr.length);
     i = tempstr.indexof("-");					
     if(i > -1)
          var strmonth = tempstr.substring(0, i);						
     strday = tempstr.substring(i+1, tempstr.length);					
     tempstr = tempstr.substring(i+1, tempstr.length);																									
     var date = stryear+strmonth+strday;
     return date;
}
	
//以整数形式比较起始日期是否小于等于结束日期
function comparedateasint(strstartdate, strenddate)
{
	if(trim(strstartdate) == "" || trim(strenddate) == "" )
                return true;			  
        var startdate = covertdatetoint(strstartdate);
        var enddate = covertdatetoint(strenddate);
        if(comparefloat(startdate,enddate)==-1)
              return false;
        else
              return true;
}
//end add



