/** MESSAGE常量*/
var ERROR_STARTDATE = "开始日期不是有效的时间日期";
var END_STARTDATE = "结束日期不是有效的时间日期";
var INVALID_DATE = "结束日期不能早于开始日期";
var MESSAGE_SELECT = "必须选择一个订单";

function isIE() {
	return (navigator.appName == "Microsoft Internet Explorer");
}
//去掉指定字符
function replaceChar( str,replaceStr ) {
	var regExp = new RegExp(replaceStr,"g"); 
	return str.replace(regExp,"");
}
//去掉左侧空格
function trimL(str){
  var nLoop = 0;
  var strReturn = str;
  while (nLoop < str.length){
    if (strReturn.substring(0, 1) == " "){
      strReturn = str.substring(nLoop + 1, str.length);
    } else {
      break;
    }
    nLoop++;
  }
  return strReturn;
}
//去掉右侧空格
function trimR(str) {
  var nLoop = 0;
  var strReturn = str;
  while (nLoop < str.length) {
    if (strReturn.substring(strReturn.length - 1, strReturn.length) == " ") {
      strReturn = str.substring(0, str.length - (nLoop + 1));
    } else {
      break;
    }
    nLoop++;
  }
  return strReturn;
}

function trim(str){
  var strl = trimL(str);
  var strRet = trimR(strl);
  return strRet;
}

//trim属性


String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

//数字和英文

function checkNumEng(str,name){
	if(trim(str)==""){
		return true;
	}
	if(trim(str).match(/^\w+$/g)==null){
		return false;
	}else{
		return true;
	}
}
//非负整数
function checkIntPlus(str,name){
	if(trim(str)==""){
		return true;
	}
	if(trim(str).match(/^\d+$/g)==null){
		return false;
	}else{
		return true;
	}
}
//浮点数

function checkFloat(str,name){
	if(trim(str)==""){
		return true;
	}
	if(trim(str).match(/^(-?\d+)(\.\d+)?$/g)==null){
		return false;
	}else{
		return true;
	}
}
//Email
function checkEmail(str,name){
	if(trim(str)==""){
		return true;
	}
	if(trim(str).match(/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/g)==null){
		return false;
	}else{
		return true;
	}
}

//必须输入
function checkInput(str,name){
	if(str==null || trim(str)==""){
		return false;
	}else{
		return true;
	}
}
//必须为汉字

function checkCharacter(str,name){
	if(trim(str)==""){
		return true;
	}
	if(trim(str).match(/^[\u4E00-\u9FA5]+$/g)==null){
		return false;
	}else{
		return true;
	}
}
//计算字符串长度//英文名称check
function checkEngName(str,name) {
	var halfChar = "()-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	for(var i=0;i<str.length;i++){
	    if(halfChar.indexOf(str.charAt(i))<0){
			return false;
	    }
	}
	return true;
}

function checkLength(strTemp){
	 var i,sum;
	 sum=0;
	 for(i=0;i<strTemp.length;i++)
	 {
	  if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
	   sum=sum+1;
	  else
	   sum=sum+3;
	 }
	 return sum;
}


/**
将字符串(YYYY-MM-DD)解析成时间Date
*/
function parseDate(sDate) 
{
	var year, month, day
	var iaDate = new Array(3)
	
	iaDate = trim(sDate.toString()).split("-")
	year = parseFloat(iaDate[0])
	month = parseFloat(iaDate[1]) - 1
	day=parseFloat(iaDate[2])
	return (new Date(year,month,day))
}
/** 
比较时间
*/
function compareDate(date1,date2)
{
	return (parseDate(date1) - parseDate(date2));	
}

//时间check 格式"hhmmss"
function checkTimeNoSplit(str) {
	if(trim(str)==""){
		return true;
	}
    if ( !trim(str).match(/^(\d\d)(\d\d)(\d\d)$/) ) {
     return(false);
    }
    var hour = RegExp.$1;
    var min = RegExp.$2;
    var sec = RegExp.$3;
    return validTime(hour,min,sec);
}
//时间check 格式"hh:mm"
function checkTimeSplitByColon(str) {
	if(trim(str)==""){
		return true;
	}
    if ( !trim(str).match(/^(\d\d):(\d\d)$/) ) {
     return(false);
    }
    var hour = RegExp.$1;
    var min = RegExp.$2;
    var sec = 0;
    return validTime(hour,min,sec);
}

//时间check 格式"yyyyMMdd"
function checkDateNoSplit(str) {
	if(trim(str)==""){
		return true;
	}
    if ( !trim(str).match(/^(\d\d\d\d)(\d\d)(\d\d)$/) ) {
     	return(false);
    }
    var year = RegExp.$1;
    var month = RegExp.$2;
    var date = RegExp.$3;
    return validDate(year,month,date);
}
//时间check 格式"yyyy-MM-dd"
function checkDateSplitByDash(str){
	if(trim(str)==""){
		return true;
	}
	if ( !trim(str).match(/^(\d\d\d\d)-(\d\d)-(\d\d)$/) ) {
	   return(false);
	}
	var year = RegExp.$1;
	var month = RegExp.$2;
	var date = RegExp.$3;
	return validDate(year,month,date);
}

//判定是否合法日期
function validDate(year,month,date){

    var validDate=new Date(year,month-1,date);
    
    if (isIE()&&(parseInt(year) < 2000)) {
    	year = year.substr(2,2);
    }
		if(!isIE()&&(parseInt(year) < 2000)){
    	year = year.substr(2,2);
    }
    if(!isIE()&&(parseInt(year)>= 2000)){
    	year = "1"+year.substr(2,2);
    }

    if((parseFloat(year)==parseFloat(validDate.getYear()))
    && (parseFloat(month)==parseFloat((validDate.getMonth()+1)))
    && (parseFloat(date)==parseFloat(validDate.getDate()))){
	    return true;
    }else{
    	return false;
    }
}
//判断时间是否合法
function validTime(hour,min,sec){
	if ( hour > 23 || hour < 0 || min < 0 || min > 59 || sec < 0 || sec > 59 ) {
    	return(false);
    }else{
  		return(true);
  	}
}
/**
使选择框设为只读

selectObj 目标选择框

readVal 筛选下拉列表的条件值

*/
function selectReadOnly(selectObj,readVal){
	if(selectObj==null || readVal==null || 
	selectObj.length=="undefined" || selectObj.type!="select-one"){
		return false;
	}
	var obj=document.createElement("option");
	for(var i=0;i<selectObj.length;i++){
		if(selectObj[i].value==readVal){
			obj.text  = selectObj[i].text;
			obj.value = selectObj[i].value;
			obj.id = selectObj[i].id;
		}
	}
	selectObj.length=0;
	selectObj.options.add(obj);
}
//生成OPTION
//返回一个OPTION
function selectMakeOption(textVal,valueVal){
	var obj=document.createElement("option");
	obj.text  = textVal;
	obj.value = valueVal;
	return obj;
}
/**
生成OPTIONS
selectObj 目标选择框

tempObj 临时值存储选择框，一般隐藏在页面
tempVal 筛选下拉列表的条件值

*/
function copyMakeOptions(selectObj,tempObj){
	if(selectObj==null || tempObj==null 
	|| selectObj.length=="undefined" || tempObj.length=="undefined" ){
		return false;
	}
	if(selectObj.type!="select-one" || tempObj.type!="select-one"){
		return false;
	}
	selectObj.length=0;
	for(var i=0;i<tempObj.length;i++){		
			var obj   = document.createElement("option");
			obj.text  = tempObj[i].text;
			obj.value = tempObj[i].value;
			selectObj.options.add(obj);
		
	}
}


/**
生成OPTIONS
selectObj 目标选择框


tempObj 临时值存储选择框，一般隐藏在页面
tempVal 筛选下拉列表的条件值


*/
function selectMakeOptions(selectObj,tempObj,tempVal){
	if(selectObj==null || tempObj==null || tempVal==null 
	|| selectObj.length=="undefined" || tempObj.length=="undefined" ){
		return false;
	}
	if(selectObj.type!="select-one" || tempObj.type!="select-one"){
		return false;
	}
	selectObj.length=0;
	for(var i=0;i<tempObj.length;i++){
		if(tempObj[i].id==tempVal){
			var obj   = document.createElement("option");
			obj.text  = tempObj[i].text;
			obj.value = tempObj[i].value;
			selectObj.options.add(obj);
		}
	}
}

function selectMakeOptionsDeck(selectObj,tempObj,tempVal){
	if(selectObj==null || tempObj==null || tempVal==null 
	|| selectObj.length=="undefined" || tempObj.length=="undefined" ){
		return false;
	}
	if(selectObj.type!="select-one" || tempObj.type!="select-one"){
		return false;
	}
	selectObj.length=0;
	
	
			
	for(var i=0;i<tempObj.length;i++){
	
		if(tempObj[i].id==tempVal){
			var obj   = document.createElement("option");
			obj.text  = tempObj[i].text;
			obj.value = tempObj[i].value;
			selectObj.options.add(obj);
		}
	}
}






/**
生成OPTIONS
selectObj 目标选择框


tempObj 临时值存储选择框，一般隐藏在页面
tempVal 筛选下拉列表的条件值


*/
function selectMakeOptionsConSpac(selectObj,tempObj,tempVal){
	if(selectObj==null || tempObj==null || tempVal==null 
	|| selectObj.length=="undefined" || tempObj.length=="undefined" ){
		return false;
	}
	if(selectObj.type!="select-one" || tempObj.type!="select-one"){
		return false;
	}
	selectObj.length=0;
	
	obj   = document.createElement("option");
	obj.text  = "";
	obj.value = "";
	selectObj.options.add(obj);
			
	for(var i=0;i<tempObj.length;i++){
		if(tempObj[i].id==tempVal){
			var obj   = document.createElement("option");
			obj.text  = tempObj[i].text;
			obj.value = tempObj[i].value;
			selectObj.options.add(obj);
		}
	}
}

/**
以下利用messageList将check信息存储
然后调用showMessage方法将check信息一次性显示给用户
*/


//err-msg
var messageList = new Array();
/** 
MESSAGE常量
*/
	
//清除错误msg
function clearMessage() {
	 messageList = new Array();
}
//添加一条错误msg
function setMessage(str) {
	  messageList.push(str);
}
//显示错误msg
function showMessage() {
	  var i = 0;  
	  var str = "";
	  if(messageList.length==0){
	  	return true;
	  }else{
	      for (i = 0; i < messageList.length; i++) {
	        if( i == 0) {
	              str = messageList[i];
	        } else{
	          str =  str + "\n" + messageList[i];
	        }
	      }
	  alert(str);
	  clearMessage();
	  return false;
	  }
	
}




//长度check
function funCheckLength( obj, len, name) {
	var str=obj.value;
	if(str=="undefined"){
		alert(name+"值非法！");
		obj.focus();
		return false;
	}
    var msg =  name + "最多可输入" + len + "个字符！";
    if( str.length > len ) {
	    alert(msg);
	    obj.focus();
	    return(false);
  	}
  	return(true);
}

//byte长度check 用于数据库插入
function funCheckLengthByte( obj, len, name ) {
	var str=obj.value;
	if(str=="undefined"){
		alert(name+"值非法！");
		obj.focus();
		return false;
	}
  	var msg = name + "最多可输入" + len + "个数字和字母或者 "+Math.floor(len/3)+"个汉字！";
  	var i = 0;
	var j = 0;

	for ( i = 0; i < str.length; i++ ) {
    	if ( escape(str.charAt(i)).length >= 4 ) {
      	j = j + 3;
    	} else {
      	j = j + 1;
    	}
  	}
  	if (j > len) {
    	alert(msg);
    	obj.focus();
    	return(false);
  	}
  return(true);
}

//数字和英文

function funCheckNumEng(obj,name){
	var str=obj.value;
	if(trim(str)==""){
		return true;
	}
	if(str=="undefined" || str.match(/^\w+$/g)==null){
		alert(name+"必须为字符、数字或下划线！");
		obj.focus();
		return false;
	}else{
		return true;
	}
}
//非负整数
function funCheckIntPlus(obj,name){
	var str=obj.value;
	if(trim(str)==""){
		return true;
	}
	if(str=="undefined"  || trim(str).match(/^\d+$/g)==null){
		alert(name+"必须为非负整数！");
		obj.focus();
		return false;
	}else{
		return true;
	}
}
//浮点数

function funCheckFloat(obj,name){
	var str=obj.value;
	if(trim(str)==""){
		return true;
	}
	if(str=="undefined"  || trim(str).match(/^(-?\d+)(\.\d+)?$/g)==null){
		alert(name+"必须为浮点数！");
		obj.focus();
		return false;
	}else{
		return true;
	}
}
//Email
function funCheckEmail(obj,name){
	var str=obj.value;
	if(trim(str)==""){
		return true;
	}
	if(str=="undefined"  || trim(str).match(/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/g)==null){
		alert(name+"Email 格式不正确！");
		obj.focus();
		return false;
	}else{
		return true;
	}
}

//必须输入
function funCheckInput(obj,name){
	var str=obj.value;
	if(str==null || str=="undefined" || trim(str)==""){
		alert(name+"必须输入！");
		obj.focus();
		return false;
	}else{
		return true;
	}
}
//必须为汉字

function funCheckCharacter(obj,name){
	var str=obj.value;
	if(trim(str)==""){
		return true;
	}
	if(str=="undefined" || trim(str).match(/^[\u4E00-\u9FA5]+$/g)==null){
		alert(name+"必须为汉字！");
		obj.focus();
		return false;
	}else{
		return true;
	}
}
//电话号码check
function checkTel(obj,name){
    var strTemplate="0123456789-";
    for(var i=0;i<obj.value.length;i++){
      if(strTemplate.indexOf(obj.value.substring(i,i+1))==-1){
      	 alert(name+"只能由数字和中划线组成！");
      	 obj.focus();
         return false;
      }
    }
    return true;
  }
//时间 hh:mm
function funCheckTimeSplitByColon(obj,name) {
	var str=obj.value;
	if(trim(str)==""){
		return true;
	}
    if (!checkTimeSplitByColon(str)) {
      	 alert(name+"时间格式不正确！\n"+"请输入hh:mm格式的时间！");
      	 obj.focus();
         return false;
    }else{
    	return true;
    }
}

//英文名称check
function funCheckEngName(obj,name) {
	var str=obj.value;
	if(trim(str)==""){
		return true;
	}
	var halfChar = "()-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	for(var i=0;i<str.length;i++){
	    if(halfChar.indexOf(str.charAt(i))<0){
	        alert(name+"必须是半角字母、数字、小括号或中划线！");
      	 	obj.focus();
			return false;
	    }
	}
	return true;
}

//复选框删除选中check
function funCheckCheckedList(obj,name) {
	var isChecked=false;
	if(obj==null || obj=='undefined'){
		alert(name+"没有可删除的记录！");
		return false;
	}
	var count = obj.length;
	if ( count!=null && count!='undefined') {
		for(var i=0; i<count;i++) {
		  	if(obj[i].checked) {
		  		isChecked=true;
		  	}
		}
	} else {
		if(obj.checked) {
		  	isChecked=true;
		}
	}
	if(isChecked){
		return true;
	}else{
		alert(name+"必须选中一条记录！");
		return false;
	}
}

//使所有输入控件不可用
function disableAllitems() {
	for (var i = 0; i < document.all.tags("INPUT").length; i++) {
		if (document.all.tags("INPUT")(i).type == "text") {
			document.all.tags("INPUT")(i).disabled = true;
		}
		if (document.all.tags("INPUT")(i).type == "checkbox") {
			document.all.tags("INPUT")(i).disabled = true;
		}
		if (document.all.tags("INPUT")(i).type == "radio") {
			document.all.tags("INPUT")(i).disabled = true;
		}
		if (document.all.tags("INPUT")(i).type == "button") {
			document.all.tags("INPUT")(i).disabled = true;
		}
	}
	for (var i = 0; i < document.all.tags("SELECT").length; i++) {
		document.all.tags("SELECT")(i).disabled = true;
	}
	for (var i = 0; i < document.all.tags("TEXTAREA").length; i++) {
		document.all.tags("TEXTAREA")(i).disabled = true;
	}
	for (var i = 0; i < document.all.tags("A").length; i++) {
		document.all.tags("A")(i).href = "#";
		document.all.tags("A")(i).onclick = null;
	}
}
//使所有输入控件可用

function unDisableAllitems() {
	for (var i = 0; i < document.all.tags("INPUT").length; i++) {
		if (document.all.tags("INPUT")(i).type == "text") {
			document.all.tags("INPUT")(i).disabled = false;
		}
		if (document.all.tags("INPUT")(i).type == "checkbox") {
			document.all.tags("INPUT")(i).disabled = false ;
		}
		if (document.all.tags("INPUT")(i).type == "radio") {
			document.all.tags("INPUT")(i).disabled = false;
		}
		if (document.all.tags("INPUT")(i).type == "button") {
			document.all.tags("INPUT")(i).disabled = false;
		}
	}
	for (var i = 0; i < document.all.tags("SELECT").length; i++) {
		document.all.tags("SELECT")(i).disabled = false;
	}
	for (var i = 0; i < document.all.tags("TEXTAREA").length; i++) {
		document.all.tags("TEXTAREA")(i).disabled = false;
	}
}

// ----------------------使每一个表格只读---------------------- // 
function setTableReadOnly(paraTable){
	var objTable=initTable(paraTable);
	//如果不是表格对象，返回
	if(objTable.rows==null || objTable.rows=="undefined"){
		alert("请确认传入表格对象！");
		return ;
	}
	//循环每一个单元格
	for(var i=0;i<objTable.rows.length;i++){
		for(var j=0;j<objTable.rows[i].cells.length;j++){
			var paraCell=objTable.rows(i).cells(j);
			recursionTable(paraCell);
		}
	}
  }
// ----------------------递归所有的表格---------------------- // 
function recursionTable(orderCell){
  	//递归所有的表格
	var childTableList=orderCell.getElementsByTagName("TABLE");
	if(childTableList.length!=0){
		for(var i=0;i<childTableList.length;i++){
			setTableReadOnly(childTableList[i]);
		}
	}else{
		setTdReadOnly(orderCell);
	}
}
// ----------------------使每一个单元格只读---------------------- // 
function setTdReadOnly(orderCell){
	//设置支持的标签 
	var A_TAG_NAME = new Array("INPUT","TEXTAREA","SELECT"); 
	var objTagList; 
	var strTagName;
	for(var m = 0;m < A_TAG_NAME.length;m++) 
	{ 
		objTagList = orderCell.getElementsByTagName(A_TAG_NAME[m]); 
		if( objTagList.length != 0 ) 
		{ 
		strTagName = A_TAG_NAME[m]; 
		break; 
		} 
	}
	for( var m = 0; m < objTagList.length;m++ ) 
	{ 
	switch(strTagName) 
	{ 
		case "INPUT" : 
		var strInputType = objTagList[m].type; 
		if( strInputType == "text" ) 
		orderCell.innerText=objTagList[m].value;
		else if( strInputType == "radio" ||strInputType == "checkbox") 
		objTagList[m].setAttribute("disabled",true);
		else if(strInputType=="button"){
			orderCell.innerText="";
		}
		else if( strInputType == "hidden" &&  objTagList[m].value=='cancelButton'){
			orderCell.innerText="";
			orderCell.insertAdjacentHTML("afterBegin","<INPUT  type=\"button\"  class=\"button001\" value=\"关闭\"  onclick=\"window.close();\" >");
		}
		break; 
		case "TEXTAREA" : 
		orderCell.innerText=objTagList[m].value;
		break; 
		case "SELECT" : 
		if(objTagList[m].length>0){
			orderCell.innerText=objTagList[m].options[objTagList[m].selectedIndex].text;
		}else{
			orderCell.innerText="";
		}
		break; 
	}//end switch 
	}//end for 
  }

 function fAllItemSelect(currObj,checkboxname){
	
	var blIsChk = currObj.checked;
	var intRowLength;
	
	var checkbox=document.getElementsByName(checkboxname);
	    
	if(checkbox.length){
		intRowLength = checkbox.length;
		for(var i=0; i<intRowLength; i++) {
		
		    if(checkbox[i].disabled){
			 continue;
			}
			checkbox[i].checked = blIsChk;
		}
	}else{
			if(checkbox.disabled){
			 return;
			}
		checkbox.checked = blIsChk;
	}
  }

// ----------------------设置表格---------------------- // 
function setTable(paraTable){
	var objTable;
  	if(typeof(paraTable) == "string"){
		objTable = document.getElementById(paraTable);
	}else if(typeof(paraTable) == "object"){
		objTable = paraTable; 
	}
	return objTable;
}
// ----------------------初始化表格---------------------- // 

function initTable(paraTable) {
	if( typeof(paraTable) == "undefined" ) 
	{ 
	alert("请传入参数：表格对象或表格id！"); 
	return; 
	} 
	return setTable(paraTable); 
}//end initTable(paraTable) 
//text的onKeyPress事件调用，如果输入小写字母，转化成大写
function toUpper(){
    if (event.keyCode >= 97 && event.keyCode <= 122) event.keyCode = event.keyCode - 32;
}
