﻿
//随机编号
function generateMixed() {
    
      var number = RndNum(6); 
      var   a=new   Date();   
      var   y   =   a.getYear()+"";   
      var   m   =   (a.getMonth() + 1)+""; 
      var   d   =   a.getDate()+"";   
      var   h   =   a.getHours()+"";   
      var   x   =   a.getMinutes()+"";   
      var   s   =   a.getSeconds()+"";   
      var   ms=a.getMilliseconds(); 
      var da=y+m+d+h +x+s+ms
    return da+number;
} 
function RndNum(n)
{
    var rnd="";
    for(var i=0;i<n;i++)
        rnd+=Math.floor(Math.random()*10);
    return rnd;
}
//全部选中checkbox
function CheckAll(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;
    }
 }
 
 //RepeaterJavascript实现全选效果：ruant!=server
function  RepeaterHeaderCheckAll(e,itemname){
    var obj=document.getElementsByName(itemname);
    if(obj==undefined) return;
    for (var i=0; i<obj.length; i++)obj[i].checked = e.checked;
} 

//Repeater Javascript实现全选效果：ruant=server
function FormSelectAll(formID,EleName,e)  //formID：目标复选框组所在的form表单的ID属性；Elename：目标复选框组共同的Name属性；e：用于标识是否全选的复选框自身,用户判断是“全选”还是“全不选”
{

    var Elements = document.getElementById(formID).elements;  //获取目标复选框组所在的Form表单
    for (var i = 0; i < Elements.length;i++)
    {
        if (Elements[i].type == "checkbox" && Elements[i].name.indexOf(EleName) >= 0)   //根据对象类型和对象的name属性判断是否为目标复选框
        {
            Elements[i].checked =e.checked;   //根据用于控制的复选框的选中情况判断是否选中目标复选框
        }
    }
}


//公共JS函数
var CRORKINGCommonHandlers={   
//获取URL参数中的一个参数对象的值
requesturlParas:function (paras){ 
    var url = location.href; 
    var paraString = url.substring(url.indexOf("?")+1,url.length).split("&"); 
    var paraObj = {} 
    for (i=0; j=paraString[i]; i++){ 
    paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length); 
    } 
    var returnValue = paraObj[paras.toLowerCase()]; 
    if(typeof(returnValue)=="undefined"){ 
    return ""; 
    }else{ 
    return returnValue; 
    } 
},
// Private: buildParamString takes the name/value pairs in the post_params setting object
// and joins them up in to a string formatted "name=value&amp;name=value"
buildParamString:function (obj) {
	var postParams = obj; 
	var paramStringPairs = [];

	if (typeof(postParams) === "object") {
		for (var name in postParams) {
			if (postParams.hasOwnProperty(name)) {
				paramStringPairs.push(name.toString() + "=" + postParams[name].toString());
			}
		}
	}

	return paramStringPairs.join("&");
},
//更新本页中已有参数值 如果不存在则生成 返回URL和参数
//---------------------------------------      
//函数名：UpdateLocaltionUrlParasValue     
//功能介绍：更新已有URL中已有参数值 如果不存在则生成 返回URL和参数
//参数说明：obj:需要更新或者生成的参数及值 以对象方式传递
//返回值：返回URL和参数  
UpdateLocaltionUrlParasValue:function (obj) { 
    var url = window.location.protocol + '//' + window.location.host + window.location.pathname;
	var args= window.location.search;
	var postParams = obj; 
	if (typeof(postParams) === "object") {
		for (var name in postParams) {
			if (postParams.hasOwnProperty(name)) {			
				  var reg = new RegExp('([\?&]?)' + name + '=[^&]*[&$]?', 'gi');
	                args = args.replace(reg,'$1');
	                if (args == '' || args == null) {
		                args += '?' + name + '=' + postParams[name].toString();
	                } else if (args.substr(args.length - 1,1) == '?' || args.substr(args.length - 1,1) == '&') {
			                args += name + '=' + postParams[name].toString();
	                } else {
			                args += '&' + name + '=' + postParams[name].toString();
	                }
			}
		}
	}	
	return url + args;
},
//更新本页中已有参数值 如果不存在则生成 转向URL
//---------------------------------------      
//函数名：UpdateLocaltionUrlParasValue     
//功能介绍：更新已有URL中已有参数值 如果不存在则生成 返回URL和参数
//参数说明：obj:需要更新或者生成的参数及值 以对象方式传递
//返回值：返回URL和参数  
UpdateAutoLocaltionUrlParasValue:function (obj) {
    var url = window.location.protocol + '//' + window.location.host + window.location.pathname;
	var args= window.location.search;
	var postParams = obj; 
	if (typeof(postParams) === "object") {
		for (var name in postParams) {
			if (postParams.hasOwnProperty(name)) {			
				  var reg = new RegExp('([\?&]?)' + name + '=[^&]*[&$]?', 'gi');
	                args = args.replace(reg,'$1');
	                if (args == '' || args == null) {
		                args += '?' + name + '=' + postParams[name].toString();
	                } else if (args.substr(args.length - 1,1) == '?' || args.substr(args.length - 1,1) == '&') {
			                args += name + '=' + postParams[name].toString();
	                } else {
			                args += '&' + name + '=' + postParams[name].toString();
	                }
			}
		}
	}	
	window.location=url + args;
},
//更新Toplocaltion中已有参数值 如果不存在则生成 返回URL和参数
//---------------------------------------      
//函数名：UpdateToplocaltionUrlParasValue     
//功能介绍：更新已有URL中已有参数值 如果不存在则生成 返回URL和参数
//参数说明：obj:需要更新或者生成的参数及值 以对象方式传递
//返回值：返回URL和参数  
UpdateToplocaltionUrlParasValue:function (obj) { 
    var url = top.window.location.protocol + '//' + top.window.location.host + top.window.location.pathname;
	var args= top.window.location.search;
	var postParams = obj; 
	if (typeof(postParams) === "object") {
		for (var name in postParams) {
			if (postParams.hasOwnProperty(name)) {			
				  var reg = new RegExp('([\?&]?)' + name + '=[^&]*[&$]?', 'gi');
	                args = args.replace(reg,'$1');
	                if (args == '' || args == null) {
		                args += '?' + name + '=' + postParams[name].toString();
	                } else if (args.substr(args.length - 1,1) == '?' || args.substr(args.length - 1,1) == '&') {
			                args += name + '=' + postParams[name].toString();
	                } else {
			                args += '&' + name + '=' + postParams[name].toString();
	                }
			}
		}
	}	
	return url + args;
},
//更新已有URL中已有参数值 如果不存在则生成 返回参数
//---------------------------------------      
//函数名：UpdateUrlParasValue     
//功能介绍：更新已有URL中已有参数值 如果不存在则生成 返回URL和参数
//参数说明：parms:已有URL中的参数;obj:需要更新或者生成的参数及值 以对象方式传递
//返回值：返回参数  
UpdateUrlParasValue:function (parms,obj) {
	//var url = location.protocol + '//' + location.host + location.pathname;
	var args = parms;
	var postParams = obj; 
	if (typeof(postParams) === "object") {
		for (var name in postParams) {
			if (postParams.hasOwnProperty(name)) {			
				  var reg = new RegExp('([\?&]?)' + name + '=[^&]*[&$]?', 'gi');
	                args = args.replace(reg,'$1');
	                if (args == '' || args == null) {
		                args += '?' + name + '=' + postParams[name].toString();
	                } else if (args.substr(args.length - 1,1) == '?' || args.substr(args.length - 1,1) == '&') {
			                args += name + '=' + postParams[name].toString();
	                } else {
			                args += '&' + name + '=' + postParams[name].toString();
	                }
			}
		}
	}
	
	
	return args;
},
//更新已有URL中已有参数值 如果不存在则生成 返回URL和参数
//---------------------------------------      
//函数名：UpdateUrlHerfParasValue     
//功能介绍：更新已有URL中已有参数值 如果不存在则生成 返回URL和参数
//参数说明：ur:l要返回的url不带参数;parms:已有URL中的参数;obj:需要更新或者生成的参数及值 以对象方式传递
//返回值：返回URL和参数  
UpdateUrlHerfParasValue:function (geturl,parms,obj) { 
	var url =geturl;
	var args =parms;
	var postParams = obj; 
	if (typeof(postParams) === "object") {
		for (var name in postParams) {
			if (postParams.hasOwnProperty(name)) {			
				  var reg = new RegExp('([\?&]?)' + name + '=[^&]*[&$]?', 'gi');
	                args = args.replace(reg,'$1');
	                if (args == '' || args == null) {
		                args += '?' + name + '=' + postParams[name].toString();
	                } else if (args.substr(args.length - 1,1) == '?' || args.substr(args.length - 1,1) == '&') {
			                args += name + '=' + postParams[name].toString();
	                } else {
			                args += '&' + name + '=' + postParams[name].toString();
	                }
			}
		}
	}	
	return url + args;
},
//换回选择的Chcckbox的value值
ReturnFormCheckboxIds:function(formID,EleName)
{
   var ids="";
  var Elements = document.getElementById(formID).elements;  //获取目标复选框组所在的Form表单
    for (var i = 0; i < Elements.length;i++)
    {
        if (Elements[i].type == "checkbox" && Elements[i].name.indexOf(EleName) >= 0)   //根据对象类型和对象的name属性判断是否为目标复选框
        {
            if(Elements[i].checked==true)   //根据用于控制的复选框的选中情况判断是否选中目标复选框
            {
            if(ids=="")
            {
             ids=Elements[i].value;
            }else{
              ids+=","+Elements[i].value;
              }
            }
        }
    }
    
    return ids;
},
//换回选择的Chcckbox的value值和隐藏控件的值
ReturnFormCheckboxIdsParms:function(formID,EleName,parmname)
{
   var ids="";
  var Elements = document.getElementById(formID).elements;  //获取目标复选框组所在的Form表单
    for (var i = 1; i < Elements.length;i++)
    {
        if (Elements[i].type == "checkbox" && Elements[i].name.indexOf(EleName) >= 0)   //根据对象类型和对象的name属性判断是否为目标复选框
        {

            if(Elements[i].checked==true)   //根据用于控制的复选框的选中情况判断是否选中目标复选框
            {
                if(ids=="")
                {
                   ids=Elements[i].value+","+this.trim(document.getElementById(parmname+"_"+Elements[i].value).value);
                }else{
                  ids+=";"+Elements[i].value+","+this.trim(document.getElementById(parmname+"_"+Elements[i].value).value);
                  }
            }
        }
    }
    
    return ids;
},
//截取字符串数组 sp:分割号；l要截取的数组长度
  CutStrArray:function(Arr,sp,l)
      {
         var arrs=Arr.split(sp);
          var rstr="";
         for(var i=0;i<l;i++)
         {
          if(rstr=="")
          {
            rstr=arrs[i];
          }
          else
          {
            rstr+=","+arrs[i];
          }
         }    
         
     return  rstr;    
  },
 //去除字符串空格
  trim:function(s)
  {            
     return s.replace(/(^\s+)|(\s+$)/g,"");
   }
   
};
//表单验证范方法
var CRORKINGCommonValidate={
 //去除字符串空格
  trim:function(s)
  {            
     return s.replace(/(^\s+)|(\s+$)/g,"");
  },
//判断是否超过长度
 IsOutLength:function(v,l)
 {
   if(v.length>l)
   {
    return false;
   }
   return true;
 },
//判断输入的字符是否为整数 
  isInteger:function (str){ 
    var reg=/^[-+]?\d*$/;     
    var matchArray=str.match(reg); 
    if(matchArray!=null){ 
     return true; 
    } else { 
     return false; 
    }   
   },
//+---------------------------------------------------   
//| 日期时间检查   
//| 格式为：YYYY-MM-DD HH:MM:SS   
//+---------------------------------------------------     
  IsDateTime:function(str){    
    if(str.length!=0){    
        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; //请将“日期”改成你需要验证的属性名称!
        else 
        var   d=new Date(r[1],r[3]-1,r[4],r[5],r[6],r[7]);  
        if(d.getFullYear()!=r[1])return false;    
        if(d.getMonth()!=r[3]-1)return false;    
        if(d.getDate()!=r[4])return false;    
        if(d.getHours()!=r[5])return false;    
        if(d.getMinutes()!=r[6])return false;    
        if(d.getSeconds()!=r[7])return false;
         
        return true; 
    }    
},
/*
//电话号码格式验证    
//---------------------------------------      
//函数名：fucCheckTEL     
//功能介绍：检查是否为电话号码     
//参数说明：要检查的字符串     
//返回值：true为是合法，false为不合法
  \d         代表一个数字   
  \d{7,8}     代表7－8位数字（表示电话号码）   
  \d{3,}       代表分机号码   
  0\d{2,3}   代表区号   
  [0\+]\d{2,3}   代表国际区号   
  如果使用减号连接，完整的应该是   
  /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/   
*/
 IsTEL:function(TEL)     
 {    
     var filter=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
      return filter.test(this.trim(TEL));    
  },
 //手机格式验证
 IsMobile:function(mobile)     
 {    
     var reg0=/^13\d{5,9}$/;   //130--139。至少7位
     var reg1=/^153\d{4,8}$/;  //联通153。至少7位
     var reg2=/^159\d{4,8}$/;  //移动159。至少7位
     var my=false;
     if (reg0.test(mobile))my=true;
     if (reg1.test(mobile))my=true;
     if (reg2.test(mobile))my=true;     
     return my;
  },
 //EMAIL格式验证
 IsEmail:function(strEmail)     
 {    
   var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; 
   if( emailReg.test(strEmail) ){ return true; }else{ return false; } 
  },
   //网址格式验证
 IsWeb:function(str_url)     
 {    
    var strRegex = "^((https|http|ftp|rtsp|mms)://)"
    + "(([0-9a-z_!~*’().&=+$%-]+: )?[0-9a-z_!~*’().&=+$%-]+@)?" //ftp的user@
    + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
    + "|" // 允许IP和DOMAIN（域名）
    + "([0-9a-z_!~*’()-]+\.)*" // 域名- www.
    + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
    + "[a-z]{2,6})" // first level domain- .com or .museum
    + "(:[0-9]{1,4})?" // 端口- :80

    var re=new RegExp(strRegex);

    if (re.test(this.trim(str_url))){
    return (true);
    }else{
    return (false);
    }

  },
  //邮编格式验证
  IsPost:function(post)
  {
    post=this.trim(post);
    var result=post.match(/[1-9]\d{5}(?!\d)/);   
    if(result==null) return false;   
    return true;   

  },
  IsFloat:function(obj)
  {
    var regTextFloat = /^(-)?(\d)*(\.)?(\d)*$/;
    return regTextFloat.test(obj);
  }
}


function newWindow() 
  	{ 
       var w_width=300; //窗体宽度
       var w_height=200;//窗体的高度
       var w_top=(window.screen.height-w_height)/2;
       var w_left=(window.screen.width-w_width)/2;
       window.showModalDialog("newWindow.html",window,"dialogHeight: "
+w_height+"px; dialogWidth: "+w_width+"px;dialogTop: "+w_top+
"; dialogLeft: "+w_left+"; resizable: no; status: no;scroll:no");
  	} 

