//检查字符串的长度（中文的为2）
String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}
//去除字符串两边的空格
String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

String.prototype.toFix=function(len){
	return toFix(this,len);
}

function round(sValue,sPointNum,nouse) {
	var dblValue=parseFloat(sValue)+0.0000001;//解决一些特别的数字不能四舍五入的问题:3483.75*0.18;
	if (isNaN(dblValue)) return sValue
	var iPointNum=parseInt(sPointNum)
	if (isNaN(iPointNum)) iPointNum=0
	if (iPointNum>9) iPointNum=9
	var dbl1=Math.round(dblValue*Math.pow(10,iPointNum))/Math.pow(10,iPointNum)
	var s1=dbl1.toString()
	if (s1.indexOf(".") == -1) {
		var s2="000000000000000"
		s1=s1+"."+s2.substring(0,iPointNum)
	}
	if (right(s1,1)==".")
		s1=s1.substring(s1.length-1,s1.length)
	return s1
}

function SetFocus(SetFocus_obj){
	switch(SetFocus_obj.tagName.toUpperCase()){
		case "TEXTAREA":
		case "INPUT":
			switch(SetFocus_obj.type.toUpperCase()){
				case "BUTTON":
					SetFocus_obj.focus();
					break;
				case "HIDDEN":
					break;
				case "TEXT":
					SetFocus_obj.focus();
					SetFocus_obj.select();
					break;
			}
			//SetFocus_obj.focus();
			//SetFocus_obj.select();
			break;
		case "SELECT":
			SetFocus_obj.focus();
			break;
		
	}
}
function PressGo(obj){
	if (window.event.keyCode==13){
		window.event.keyCode=0;
		SetFocus(obj);		
	}
}

function OpenFullWindow(sURL,wName)
{
  var iWidth = 0 ;
  var iHeight = 0 ;
  //iWidth=screen.availWidth;
  //iHeight=screen.availHeight;
  var szFeatures = "" ;
  szFeatures =	"fullscreen=yes;resizable=no,status=no,scrollbars=no,menubar=no,top=0,left=0";
  var curWin=window.open(sURL,wName,szFeatures);
  //var x=Math.round((screen.availWidth)/2);
  //var y=Math.round((screen.availHeight)/2);
  //curWin.moveTo(x,y);
  curWin.focus();
}
function OpenWindow(sURL,wName,width,height)
{
  var iWidth = 0 ;
  var iHeight = 0 ;
  iWidth=width;
  iHeight=height;
  var szFeatures = "" ;
  szFeatures =	"resizable=no,status=no,scrollbars=no,menubar=no,width=" + 
				iWidth + ",height=" + iHeight + ",top=0,left=0";
  var curWin=window.open(sURL,wName,szFeatures);
  var x=Math.round((screen.availWidth-iWidth)/2);
  var y=Math.round((screen.availHeight-iHeight)/2);
  curWin.moveTo(x,y);
  curWin.focus();
}
function OpenWindowEx(sURL,wName,w,h)
{
  var iWidth = 0 ;
  var iHeight = 0 ;
  iWidth=window.screen.availWidth-10;
  iHeight=window.screen.availHeight-50;
  var szFeatures = "" ;
  szFeatures =	"resizable=yes,status=yes,menubar=no,width=" + 
				iWidth*w + ",height=" + iHeight*h + ",top=0,left=0";
 // window.open(sURL,wName,szFeatures)
  var curWin=window.open(sURL,wName,szFeatures);
  //var x=Math.round((screen.availWidth-iWidth)/2);
  //var y=Math.round((screen.availHeight-iHeight)/2);
  //curWin.moveTo(x,y);
  curWin.focus();
}

function tab(obj,frm_str){//处理回车跳格
	if (window.event.keyCode==13){
		var form=document.getElementById(frm_str);
		
		for(i=0;i<form.elements.length;i++){
			if (form.elements[i]==obj){
				for(j=i+1;j<form.elements.length;j++){
					if(form.elements[j].readOnly==false&&form.elements[j].type!="hidden"&&form.elements[j].style.display!="none"&&form.elements[j].type!="file"){
						form.elements[j].focus();
						form.elements[j].select();
						window.event.keyCode=0;
						break;
					}
				}
				break;
			}
		}
	}
}
//限制用户输入字符类型
//tab回车换焦点   int只能录入整型字符   float录入浮点型字符
function key(_key_type){
	switch (_key_type){
		case "none"://不输入任何字符
			if (window.event.keyCode!=13 ){
				return window.event.keyCode=0;
			}else{
				return window.event.keyCode=9;
			}
			break;
		case "tab"://回车转焦点
		    if(window.event.keyCode == 13) {
				return window.event.keyCode=9;
   			}
			break;
		case "int_1"://只录入数字
			if (((window.event.keyCode>=48)&&(window.event.keyCode>=48)&&(window.event.keyCode<=57))||(window.event.keyCode==13)){
				return window.event.keyCode;
			}			
			return window.event.keyCode=0;
			break;
		case "float_1"://录入数字或点
			if (((window.event.keyCode>=48)&&(window.event.keyCode<=57))||(window.event.keyCode==46)||(window.event.keyCode==13)){
				return window.event.keyCode;
			}else{
				return window.event.keyCode=0;
			}
			break;
						
		case "int"://只录入数字
			if (((window.event.keyCode>=48)&&(window.event.keyCode>=48)&&(window.event.keyCode<=57))||(window.event.keyCode==13)||(window.event.keyCode==45)){
				return window.event.keyCode;
			}			
			return window.event.keyCode=0;
			break;
		case "float"://录入数字或点
		if (((window.event.keyCode>=48)&&(window.event.keyCode<=57))||(window.event.keyCode==46)||(window.event.keyCode==13)||(window.event.keyCode==45)){
				return window.event.keyCode;
			}else{
				return window.event.keyCode=0;
			}
			break;
		case "ascii"://录入数字或字母
			bool1=(window.event.keyCode>=48)&&(window.event.keyCode<=57);
			bool2=(window.event.keyCode>=65)&&(window.event.keyCode<=90);
			bool3=(window.event.keyCode>=97)&&(window.event.keyCode<=122);
			bool4=(window.event.keyCode==13)			
			if (bool1||bool2||bool3||bool4){
				return window.event.keyCode;
			}else{
				return window.event.keyCode=0;
			}
			break;
		case "letter"://只能输入字母
			bool1=(window.event.keyCode>=65)&&(window.event.keyCode<=90);
			bool2=(window.event.keyCode>=97)&&(window.event.keyCode<=122);
			bool3=(window.event.keyCode==13)
			if (bool1||bool2||bool3){
				return window.event.keyCode;
			}else{
				return window.event.keyCode=0;
			}
			break;
	}
}

//function   check_isnum()   
//  {   
//  if((window.event.keyCode>95&&window.event.keyCode<106)   
//  ||(window.event.keyCode>47&&window.event.keyCode<59)   
//  ||window.event.keyCode==8   
//  ||window.event.keyCode==46   
//  ||window.event.keyCode==37   
//  ||window.event.keyCode==39)   
//  {   
//  }   
//  else   {   
//  //alert("请您输入0-9之间的数字！");   
//  return   false;   
//  }   
//    
//  } 
//  
//  function DBC2SBC(str,flag) { 
//var i; 
//var result=''; 
//if (str.length<=0) {alert('字符串参数出错');return false;} 
//for(i=0;i<str.length;i++) 
//{ str1=str.charCodeAt(i); 
//if(str1<125&&!flag) 
//result+=String.fromCharCode(str.charCodeAt(i)+65248); 
//else 
//result+=String.fromCharCode(str.charCodeAt(i)-65248); 
//} 
//return result; 
//} 
  

//限制用户输入字符类型
//tab回车换焦点   int只能录入整型字符   float录入浮点型字符
function Key(_key_type){
	switch (_key_type){
		case "none"://不输入任何字符
			if (window.event.keyCode!=13 ){
				return window.event.keyCode=0;
			}else{
				return window.event.keyCode=9;
			}
			break;
		case "int"://只录入数字
			if (((window.event.keyCode>=48)&&(window.event.keyCode>=48)&&(window.event.keyCode<=57))||(window.event.keyCode==45)){
				return window.event.keyCode;
			}
			if(window.event.keyCode==13){
				return window.event.keyCode=9;
			}
			return window.event.keyCode=0;
			break;
		case "float"://录入数字或点

			if (((window.event.keyCode>=48)&&(window.event.keyCode<=57))||(window.event.keyCode==46)||(window.event.keyCode==45)){
				return window.event.keyCode;
			}
			if(window.event.keyCode==13){
				return window.event.keyCode=9;
			}
			return window.event.keyCode=0;
			break;
		case "ascii"://录入数字或字母
			bool1=(window.event.keyCode>=48)&&(window.event.keyCode<=57);
			bool2=(window.event.keyCode>=65)&&(window.event.keyCode<=90);
			bool3=(window.event.keyCode>=97)&&(window.event.keyCode<=122);
			bool4=(window.event.keyCode==13)			
			if (bool1||bool2||bool3){
				return window.event.keyCode;
			}
			if(window.event.keyCode==13){
				return window.event.keyCode=9;
			}
			return window.event.keyCode=0;
			break;
		case "letter"://只能输入字母
			bool1=(window.event.keyCode>=65)&&(window.event.keyCode<=90);
			bool2=(window.event.keyCode>=97)&&(window.event.keyCode<=122);
			if (bool1||bool2){
				return window.event.keyCode;
			}
			if(window.event.keyCode==13){
				return window.event.keyCode=9;
			}
			return window.event.keyCode=0;			
			break;
		case "all"://所有			
			if(window.event.keyCode==13){
				return window.event.keyCode=9;
			}
			break;
	}
}
function SetSelectDefault(objStr,value){
	var obj=document.getElementById(objStr);
	for(SetSelectDefault_i=0;SetSelectDefault_i<obj.options.length;SetSelectDefault_i++){
		if (obj.options[SetSelectDefault_i].value==value){
			obj.options[SetSelectDefault_i].selected=true;
			break;
		}
	}
}
function SetSelectDefaultByObj(obj,value){
	for(SetSelectDefaultByObj_i=0;SetSelectDefaultByObj_i<obj.options.length;SetSelectDefaultByObj_i++){
		if (obj.options[SetSelectDefaultByObj_i].value==value){
			obj.options[SetSelectDefaultByObj_i].selected=true;
			break;
		}
	}
}
function goUrl(url){
	window.location=url;
}
function DeleteConfirm(url){
	var bool=confirm("确认删除请按“确定”，否则请按“取消”");
	if (bool){
		window.location=url;
	}
}
function ModifyConfirm(url){
	var bool=confirm("确认修改请按“确定”，否则请按“取消”");
	if (bool){
		window.location=url;
	}
}
function toFix(toFixSrc,toFixLen){
	toFixSrc=parseFloat(toFixSrc);
	if(isNaN(toFixSrc))
	{ 
		var ret="";
		for(toFixI=0;toFixI<toFixLen;toFixI++){
			ret=ret+"0";
		}
		if (ret.length>0){
			return "0."+ret;
		}else{
			return "0";
		}
		
	}
	//取整
	if (parseInt(toFixLen)==0) return Math.round(toFixSrc);
	

	var toFixArray=toFixSrc.toString().split(".");
	if (toFixArray.length<=1){//要转化的数为整数，补零
		var toFixZero="";
		for(toFixI=0;toFixI<toFixLen;toFixI++){
			toFixZero+="0";
		}
		return toFixSrc+"."+toFixZero;
	}
	if (toFixArray[1].length<=toFixLen){//原先的小数位不大于要截取的小数位数
		var toFix_Len=toFixArray[1].length;
		for(toFixI=0;toFixI<toFixLen-toFix_Len;toFixI++){
			toFixArray[1]=toFixArray[1]+"0";
		}
		return toFixArray[0]+"."+toFixArray[1];
	}
	toFixSrc=Math.round(toFixSrc*Math.pow(10,toFixLen))*Math.pow(10,-1*toFixLen)
	var toFixArray=toFixSrc.toString().split(".");

	if (toFixArray.length<=1){//要转化的数为整数，补零
		var toFixZero="";
		for(toFixI=0;toFixI<toFixLen;toFixI++){
			toFixZero+="0";
		}
		return toFixSrc+"."+toFixZero;
	}
	if (toFixArray[1].length<=toFixLen){//原先的小数位不大于要截取的小数位数
		var toFix_Len=toFixArray[1].length;
		for(toFixI=0;toFixI<toFixLen-toFix_Len;toFixI++){
			toFixArray[1]=toFixArray[1]+"0";
		}
		return toFixArray[0]+"."+toFixArray[1];
	}
	var toFixArray=toFixSrc.toString().split(".");
	if (toFixArray[1].length>=toFixLen){
		toFixArray[1]=toFixArray[1].substring(0,toFixLen);
	}else{//补零
		var toFix_Len=toFixArray[1].length;
		for(toFixI=0;toFixI<toFixLen-toFix_Len;toFixI++){
			toFixArray[1]=toFixArray[1]+"0";
		}
	}
	return toFixArray[0]+"."+toFixArray[1];
}
function Valid(){
 	/** 整形表达式 */
	this.intRegex = "^[+|-]?[\\d]+$";
	/** 浮点型表达式 */
	this.floatRegex = "^[-|+]?\\d+(\.\\d+)?$";
	/** 不大于两位小数点浮点型表达式 */
	this.float2Regex = "^[-|+]?\\d+(\.\\d{1,2})?$"; 
	/** 日期表达式YYYY-mm-dd */
	this.dataARegex="[\\d]{4}-[\\d]{2}-[\\d]{2}$";
	/** 日期表达式YYYY.mm.dd */
	this.dataBRegex="^\\d{4}\\.\\d{2}\\.\\d{2}$";
	this.emailRegex="^\\w\+([\-\+\.]\\w+)\*\@\\w\+([\-\.]\\w\+)\*\\.\\w+([\-\.]\\w\+)\*$";
	this.zipRegex="^[1-9]\\d{5}$";
}
Valid.prototype.isInt=function(src){
	return new RegExp(this.intRegex,"g").test(src);
}
Valid.prototype.isFloat=function(src){
	return new RegExp(this.floatRegex,"g").test(src);
}
Valid.prototype.isFloat2=function(src){
	return new RegExp(this.float2Regex,"g").test(src);
}
Valid.prototype.isEmail=function(src){
	return new RegExp(this.emailRegex,"g").test(src);
}
Valid.prototype.isZip=function(src){
	return new RegExp(this.zipRegex,"g").test(src);
}
Valid.prototype.isDateA=function(src){
	var isDateA_bool=false;
	var isDateA_year=src.substring(0,4);
	var isDateA_month=parseFloat(src.substring(5,7));
	var isDateA_day=parseFloat(src.substring(8,10));
	//alert(isDateA_year+":"+isDateA_month+":"+isDateA_day);
	isDateA_bool=new RegExp(this.dataARegex,"g").test(src);
	if(!isDateA_bool){
		return false;
	}
	if (parseInt(isDateA_year)<1000){
		return false;
	}
	if(isDateA_month>12||isDateA_month<1){
		return false;
	}
	if(getDaysOfMonth(parseInt(isDateA_year),isDateA_month)<isDateA_day){
		return false;
	}
	return true;
}
Valid.prototype.isDateB=function(src){
	var isDateB_bool=false;
	var isDateB_year=src.substring(0,4);
	var isDateB_month=parseFloat(src.substring(5,7));
	var isDateB_day=parseFloat(src.substring(8,10));
	//alert(isDateB_year+":"+isDateB_month+":"+isDateB_day);
	isDateB_bool=new RegExp(this.dataBRegex,"img").test(src);
	if(!isDateB_bool){
		return false;
	}
	if (parseInt(isDateB_year)<1000){
		return false;
	}
	if(isDateB_month>12||isDateB_month<1){
		return false;
	}
	if(getDaysOfMonth(parseInt(isDateB_year),isDateB_month)<isDateB_day){
		return false;
	}
	return true
}
function validate(obj,type,required,msg,arrays){
	var validate_bool=true;
	//var validate_list=type.split("_");
	switch(type){
		case "int"://整数
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				obj.value=toFix(obj.value.trim(),0);
				if (arrays!=null){
					if (arrays.length<=1){
						if (obj.value<arrays[0]){
							validate_bool=false;
						}
					}else{
						if(obj.value<arrays[0]||obj.value>arrays[1]){
							validate_bool=false;
						}
					}
				}
			}
			break;
		case "float":
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				obj.value=toFix(obj.value.trim(),2);
				if (arrays!=null){
					if (arrays.length<=1){
						if (obj.value<arrays[0]){
							validate_bool=false;
						}
					}else{
						if(obj.value<arrays[0]||obj.value>arrays[1]){
							validate_bool=false;
						}
					}
				}
			}
			break;
		case "float4":
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				obj.value=toFix(obj.value.trim(),4);
				if (arrays!=null){
					if (arrays.length<=1){
						if (obj.value<arrays[0]){
							validate_bool=false;
						}
					}else{
						if(obj.value<arrays[0]||obj.value>arrays[1]){
							validate_bool=false;
						}
					}
				}
			}
			break;			
		case "float6":
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				obj.value=toFix(obj.value.trim(),6);
				if (arrays!=null){
					if (arrays.length<=1){
						if (obj.value<arrays[0]){
							validate_bool=false;
						}
					}else{
						if(obj.value<arrays[0]||obj.value>arrays[1]){
							validate_bool=false;
						}
					}
				}
			}
			break;			
		case "string":
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				if (arrays!=null){
					if (arrays.length<=1){
						if (obj.value.len()<arrays[0]){
							validate_bool=false;
						}
					}else{
						if(obj.value.len()<arrays[0]||obj.value.len()>arrays[1]){
							validate_bool=false;
						}
					}
				}
			}
			break;
		case "dateA":
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				valid=new Valid();
				if(!valid.isDateA(obj.value)){
					validate_bool=false;
				}
			}
			break;
		case "dateB":
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				valid=new Valid();
				if(!valid.isDateB(obj.value)){
					validate_bool=false;
				}
			}
			break;
		case "email":
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				valid=new Valid();
				if(!valid.isEmail(obj.value)){
					validate_bool=false;
				}
			}			
			break;
		case "zip":
			obj.value=obj.value.trim();
			if (required||(required==false&&obj.value.length>0)){
				valid=new Valid();
				if(!valid.isZip(obj.value)){
					validate_bool=false;
				}
			}		
			break;
		default:
	}
	if 	(!validate_bool){
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}
//获取文件类型　返回文件类型的小写字母
function getExt(url){
	var getExt_arrays=url.split("\.");
	return getExt_arrays[getExt_arrays.length-1].toLowerCase();	
}
//判断是否为闰年
function isLeapYear(year){
	if(year%4==0&&year%100!=0){//闰年
			return true;
	}
	if (year%400 == 0) { // 闰年
		return true;
	}
	return false;
}
//获取当前年、月的天数
function getDaysOfMonth(year,month){
	var  getDaysOfMonth_days = 0;
	switch (parseInt(month)) {
		case 1:
			getDaysOfMonth_days = 31;
			break;
		case 2:
			if (isLeapYear(year)) {
				getDaysOfMonth_days = 29;
			} else {
				getDaysOfMonth_days = 28;
			}
			break;
		case 3:
			getDaysOfMonth_days = 31;
			break;
		case 4:
			getDaysOfMonth_days = 30;
			break;
		case 5:
			getDaysOfMonth_days = 31;
			break;
		case 6:
			getDaysOfMonth_days = 30;
			break;
		case 7:
			getDaysOfMonth_days = 31;
			break;
		case 8:
			getDaysOfMonth_days = 31;
			break;
		case 9:
			getDaysOfMonth_days = 30;
			break;
		case 10:
			getDaysOfMonth_days = 31;
			break;
		case 11:
			getDaysOfMonth_days = 30;
			break;
		case 12:
			getDaysOfMonth_days = 31;
			break;
	}
	//alert("sss=="+year+":"+month+":"+getDaysOfMonth_days);
	return getDaysOfMonth_days;
}
function savediv(id,fName)
{
  try
  {
    var pWindow = window.open("","_blank","width=0,height=0");
    var s = "<html>\r\n";
    s += "<head>";
	s +="<style>";
    s +=".borderTable {BACKGROUND-COLOR: #ffffff;COLOR: #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;	border-bottom: 1px solid #000000;border-left: 1px solid #000000;}\n";
	s +=".borderCell {BACKGROUND-COLOR: #ffffff;COLOR: #000000;line-height: 18px;border-top: 1px solid #000000;border-right: 0px solid #000000;	border-bottom: 0px solid #000000;	border-left: 1px solid #000000;}\n";
	s +=".borderCellLine {BACKGROUND-COLOR: #ffffff;COLOR: #000000;line-height: 18px;border-top: 0px solid #000000;border-right: 0px solid #000000;	border-bottom: 1px solid #000000;	border-left: 0px solid #000000;}\n";
	s+=".borderTableNoBottom { BACKGROUND-COLOR: #ffffff;COLOR: #000000;border-top: 1px solid #000000;border-right: 2px solid #000000;border-bottom: 0px solid #000000;border-left: 1px solid #000000;}\n";
	s+=".borderTableNoTop {BACKGROUND-COLOR: #ffffff;COLOR: #000000;border-top: 0px solid #000000;border-right: 2px solid #000000;border-bottom: 2px solid #000000;border-left: 1px solid #000000;}\n";
	s +=".doubleLineHead {	line-height: 30px;}\n";
	s +=".underLine {	text-decoration: underline;}\n";
	s +="body,td,div,p,span {font-size: 9pt;}\n";
	s +="</style>\n";
	//s += "<LINK href='../images/meizz.css' type='text/css' rel='stylesheet'>";
    s += "<meta http-equiv='Content-Type' content='text/html; charset=gbk'>\n";
    s += "</head>\n";
    s += "<body><center><br/>\n";
    s += "<div align=center style='width:96%'>\n";
    s += eval(id).outerHTML;
    s += "</div>\n";
    s += "</center></body>\n";
    s += "</html>";
    pWindow.document.write(s);
    pWindow.document.close();
    var d=new Date();
    hash=d.getHours()+''+d.getMinutes()+d.getSeconds()+d.getMilliseconds();
	fName=fName+hash+'.htm';
    pWindow.document.execCommand('Saveas',true,fName);
    pWindow.close();
  }
  catch(e)
  {
    alert("您的浏览器版本太低，请升级您的浏览器！");
  }
}

function ts(){
	strts='请您在此处一次性打印好所需的份数（或另存为\nHTM文件以供日后打印），否则退出后将无法打印。\n注意：请用A4纸打印！';
	alert(strts);
}

