// comFace.js
// select tool for analysis
/************************************************************************************************
 ************************************** CommonFunctions ****************************************
 ***********************************************************************************************/

function getObjValue(elementId){	//获取指定id的form组件的值
	if(getObject(elementId).value!=undefined)
		return getObject(elementId).value.Trim();
	else
		return "";
} 
function   checkCal()   
  {   
   var frm = document.forms["form1"];
   var f = strToDate(frm.startDate.value);
   var t = strToDate(frm.endDate.value);
    if (frm.startDate.value != "" && frm.endDate.value != "") {
	    if (t.getTime() < f.getTime()) { 
		   alert("起始日期不能大于截至日期！");
	 	   return   false;   
	    } 
	  }  
  return   true ;  
  }   


function strToDate(source) {
	var tar = source.replace('-','/');
	return new Date(tar);
}

function isInteger(str) {
   	var reg = /^\d+$/;
   	if(arr = str.match(reg)) {
    	return true;
   	} else {
      	return false;
    }  	
}

function isFloat(str) {
   	var reg = /^-?\d*(\.)?\d+$/;
   	if(arr = str.match(reg)) {
        return true;     	    
   	} else {
        return false;
    }    
}

function isYear(str) {
    var reg = /^\d{4}$/;
    return str.match(reg); 
}

function isNumeric(str) {
    var reg = /^\d+$/;
    return str.match(reg);
}

function isDigit(str) {
    var s = "+-0123456789.";
    if (str == '')
        return false;
    for (var i = 0 ;i < str.length; i ++ ) {
        var d = str.charAt(i);
        if (s.indexOf(d) == -1 ) {
             return false;	
        }
    }    
    return true;
}

function isEmail(str) {
   	var reg = /^(\w+)@(\w+)((\.\w+)+)$/;
   	if(arr=str.match(reg))
  	    return true;
   	else
   	    return false;
}

function isTelephone(str) {
    var reg = /^(\d+)((-*)(\d+))+$/;
    if(arr=str.match(reg))
       return true;
    else
       return false;
}

function isLongLat(degree,miniute,second) { 
     if (degree == "" || miniute == "" || second == "")
          return (false);
     if (!isDigit(degree) || !isNumeric(miniute) || !isNumeric(second)) 
          return (false);
     var d = parseInt(degree);
     if (d < -180 || d > 180)
          return (false);
     d = parseInt(miniute);
     if (d < 0 || d > 60)
          return (false);
     d = parseInt(second);   
     if (d < 0 || d > 60)
          return (false);
     return (true);     
}

//leap year
function isLeapYear(year) {
    return (((year % 400) == 0 ) || ((year % 4 == 0) && (year % 100 != 0)))
}

function isVaildChars(source) {
	var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890_"
    if (source == "")
        return false;
    for (var i = 0 ;i < source.length; i ++ ) {
        var d = source.charAt(i);
        if (chars.indexOf(d) == -1 ) {
             return false;	
        }
    }    
    return true;
}

//trim space
function trim(source) {
	var word = source;
    if (word == null)
        return "";
    while(word != "" && word.charAt(0) == ' ')
        word = word.substring(1,word.length - 1);
    while(word != "" && word.charAt(word.length - 1) == ' ')
        word = word.substring(0,word.length - 1);
    return word;
}

// is date
function isDate(source) {
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
    var r = source.match(reg); 
    if(r == null)
        return false; 
    var d = new Date(r[1], r[3]-1,r[4]); 
    var tar = d.getFullYear() + r[2] + (d.getMonth() + 1) + r[2] + d.getDate();
    return (tar == source);
}

// is datetime
function isDatetime(source) {
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
    var r = source.match(reg); 
    if(r == null)
        return false; 
    var d = new Date(r[1], r[3] - 1,r[4],r[5],r[6],r[7]); 
    var tar = d.getFullYear() + r[2] + (d.getMonth()+1) + r[2] + 
              d.getDate() + " "+d.getHours() + ":" + 
              d.getMinutes() + ":" + d.getSeconds(); 
    return (tar==source);
} 

function compareDateTo(first,second) {
	var b = 0;
    if (isDate(first) && isDate(first)) {
        var startDate = new Date(frm.first.value);
        var endDate = new Date(frm.second.value);
        if (startDate.getTime() > endDate.getTime()) {
            b = 1;
        } else if (startDate.getTime() < endDate.getTime()) {
            b = -1;
        }
    }
    return b;	
}

function chkSelectAll() {
   if (window.checkedRow) {
       var target = window.checkedRow;
       if (target.length) {
           for (var i = 0; i < target.length; i ++)
              target[i].checked = window.chkAll.checked;
       } else {
           target.checked = window.chkAll.checked;
       }
   }
}

function chkHotRecord(targetURL,action,furl,hotFlag){
   if (window.checkedRow) {
       var theValue = "";
       var target = window.checkedRow;
       if (target.length) {
           for (var i = 0; i < target.length; i ++) {
              if (target[i].checked) {
                  if (theValue == "")
                      theValue = target[i].value;
                  else
                      theValue += "," + target[i].value;
              }        
           }                  
       } else {
           if (target.checked)
               theValue = target.value;
       }       
       if (theValue == "") {
           alert("您没有选择记录！");
           return;
       }               
       var theHotFlag = "0";
       if (hotFlag == "1")
           theHotFlag = "1";
       if (targetURL.indexOf("?") > -1) 
           targetURL += "&hotFlag="+theHotFlag;
       else
       	   targetURL += "?hotFlag="+theHotFlag;   
       postRequest(targetURL,action,theValue,furl);
   }	
}

function chkDeleteRecord(targetURL,action,furl) {
   if (window.checkedRow) {
       var theValue = "";
       var target = window.checkedRow;
       if (target.length) {
           for (var i = 0; i < target.length; i ++) {
              if (target[i].checked) {
                  if (i == 0)
                      theValue = target[i].value;
                  else
                      theValue += "," + target[i].value;
              }        
           }                  
       } else {
           if (target.checked)
               theValue = target.value;
       }     
      
       if (theValue == "") {
           alert("您没有选择记录！");
           return;
       }               
       if (!confirm("删除记录吗？"))
          return;
       postRequest(targetURL,action,theValue,furl);
   }     
}


function DeleteRecord(targetURL,action,furl) {
      var theValue = "";
       if (!confirm("删除记录吗？"))
          return;
       postRequest(targetURL,action,theValue,furl);
   }     

function sinkRecord(targetURL,action,furl) {
   if (window.checkedRow) {
       var theValue = "";
       var target = window.checkedRow;
       if (target.length) {
           for (var i = 0; i < target.length; i ++) {
              if (target[i].checked) {
                  if (i == 0)
                      theValue = target[i].value;
                  else
                      theValue += "," + target[i].value;
              }        
           }                  
       } else {
           if (target.checked)
               theValue = target.value;
       }       
       if (theValue == "") {
           alert("您没有选择记录！");
           return;
       }               
       if (!confirm("确定签发吗？"))
          return;
       postRequest(targetURL,action,theValue,furl);
   }     
}   

function authRecord(targetURL,action,furl) {
   if (window.checkedRow) {
       var theValue = "";
       var target = window.checkedRow;
       if (target.length) {
           for (var i = 0; i < target.length; i ++) {
              if (target[i].checked) {
                  if (i == 0)
                      theValue = target[i].value;
                  else
                      theValue += "," + target[i].value;
              }        
           }                  
       } else {
           if (target.checked)
               theValue = target.value;
       }       
       if (theValue == "") {
           alert("您没有选择记录！");
           return;
       }               
       if (!confirm("确定审核吗？"))
          return;
       postRequest(targetURL,action,theValue,furl);
   }     
}
   
function captureKeydown() {
   if (event.keyCode == 116 || (event.ctrlKey && event.keyCode == 78)) {
      event.keyCode = 0;
      event.returnValue = false;
   }
}
  
function captureContextmenu() {
    return false;
}
      
// post form request action
function postRequest(postURL,operate,theData,furl) {		
	var frm = document.requestForm;	
	frm.action = postURL;
	//frm.setAttribute("action",postURL);
	frm.operate.value = operate;	
	frm.furl.value = furl;	
	frm.param.value = theData;			
	frm.submit();
} 

// post form request top
function postRequestTop(postURL,operate,theData,furl) {		
	var frm = document.forms["requestTopForm"];
	frm.action = postURL;
	//frm.setAttribute("action",postURL);
	frm.operatetop.value = operate;	
	frm.furltop.value = furl;	
	frm.paramtop.value = theData;			
	frm.submit();
} 

// post form request action
function postSheetRequest(postURL,operate,data,sheetType) {	
	var frm = document.forms["requestForm"];
	frm.action = postURL;
	frm.elements["operate"].value = operate;	
	frm.elements["ID"].value = data;
	frm.elements["sheetType"].value = sheetType;
	frm.submit();
}  
/*******************************************************************************
 ********************* check form methods **************************************
 *******************************************************************************/
 
<!-- 输入串是否为空-->
function checkEmpty(str)
{
   	var reg = /^\s+$/;
   	if((arr=str.match(reg)) || str == "")
   	{
	    alert("输入串不能为空");
      	return false;
   	}
   	else
   	{    
	   return true;
   	}
}

<!-- 输入串中是否是合法字符 -->
function checkEnglish(str)
{
   	var reg = /^\w+$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("输入串为空或包含有非法字符");
      		return false;
   	}
}

<!-- 输入串中是否是汉字 -->
function checkChinese(str)
{
   	var reg = /^[\u4E00-\u9FA5]+$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("输入串为空或不全是汉字");
      		return false;
   	}
}
<!-- 输入串中是否有非法字符(可以是汉字)-->
function checkString(str)
{
	var reg = /^\s+$/;
   	if((arr=str.match(reg)) || str == "")
   	{
	    alert("输入串不能为空");
      	return false;
   	}
   	else
   	{    
	   return true;
   	}
/** 
        var reg = /^(\w|[\u4E00-\u9FA5])+$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("输入串为空或包含有非法字符");
      		return false;
   	}
*/
}

<!-- 输入串是否全是数字 -->

function checkInteger(str)
{
   	var reg = /^\d+$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("输入串为空或不全是数字");
      		return false;
   	}
}

<!-- 输入串是否是浮点型数字 -->

function checkFloat(str)
{
   	//var reg = /^-?\d*(\.)?\d+$/;
   	var reg = /^\d*(\.)?\d+$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("输入串为空或非法浮点数");
      		return false;
   	}
}

<!-- 身份证件号码 -->
function checkCertificate(str)
{
  var reg = /^((\d{15})|((\d){17}(\d|X){1}))$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("身份证位数或格式不对");
      		return false;
   	}
}

<!-- Email格式是否正确 -->

function checkEmail(str)
{
   	var reg = /^(\w+)@(\w+)((\.\w+)+)$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("Email 格式错误");
      		return false;
   	}
}

<!-- 日期格式是否正确 -->
function checkDate(source) {
	
    var msg = "日期格式不正确";
    var r = /^(\d{1,4})(-|\/)(\d{0,2})\2(\d{0,2})$/; 
    var validate = (source.match(r) != null);
    if (validate) {
        var tar = source;
        tar.replace("/","-");
        var arr = tar.split("-");
        if (arr.length != 3) {
           validate = false;        	
        }
        var dt;
        try {
        	dt = new Date(arr[0],arr[1],arr[2]);
        } catch (exception) {
        	validate = false;
        }
    }
    if (!validate)
        alert(msg);
    return validate; 
}

<!-- 年格式是否正确 -->

function checkYear(str)
{
   	var reg = /^[2][0]\d{2}$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("年份必须是四位数字");
      		return false;
   	}
}

<!-- 月格式是否正确 -->

function checkMonth(str)
{
   	var reg = /^((0?[1-9])|(1[0-2]))$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("月份必须是(0)1到12");
      		return false;
   	}
}

<!-- 日格式是否正确 -->

function checkDay(str)
{
   	var reg = /^((0?[1-9])|((1|2)[0-9])|(3(0|1)))$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("日必须是(0)1到31");
      		return false;
   	}
}
 <!-- 电话号码 -->
function checkTelephone(str)
{
    var reg = /^(\d+)((-*)(\d+))+$/;
    if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("电话号码格式不对");
      		return false;
   	}
}


<!-- 数值型校验 -->
function checkNumericalValue(str)
{
  return true;
}
<!-- 网址 -->
function checkHttp(str)
{
  return true;
}
<!-- 百分比 -->
function checkPercent(str)
{
 	var reg = /^\d*(\.)?\d+$/;
   	if(arr=str.match(reg)&&str<=100)
   	{
      		return true;
   	}
   	else
   	{
     		alert("非法百分比");
      		return false;
   	}
}

<!-- 邮编 -->
function checkZipcode (str)
{
	var reg = /^\d{6}$/;
   	if(arr=str.match(reg))
   	{
      		return true;
   	}
   	else
   	{
     		alert("非法邮编");
      		return false;
   	}
}
<!-- select是否选择了值 -->
function checkSelect(selectedIndex)
{
	if (selectedIndex < 0)
	{
		alert("下拉列表框没有选择");
		return false;
	}
	return true;
}

function checkUID(source) {
	if (!isVaildChars(source)) {
	    alert("输入内容中含有无效字符");	
	    return false;
    }
    if (source.length < 4) {
	    alert("输入内容中至少4个字符");	
	    return false;    	
    }
    return true;
}

function checkPWD(source) {
	if (!isVaildChars(source)) {
	    alert("输入内容中含有无效字符");	
	    return false;
    }
    if (source.length < 4) {
	    alert("输入内容中至少4个字符");	
	    return false;    	
    }
    return true;
}

function checkForm(formname) 
{	
	var e =document.getElementById(formname);
	for (var i=0 ; i < e.all.length ; i++ )
	{
		if (e.all[i].name != null)
		{
			if (e.all[i].checktype != null)
			{
			  var checkContent= new Array();
			  var str=e.all[i].checktype.toLowerCase();
			  var checkAccount = 0;
			  checkContent = str.split(";");	
			  checkAccount = checkContent.length;
			  var temp=checkContent[0];
			  if(temp == "null" && e.all[i].value == "") {
			      continue;
			  }       
			   // for and next   
			   for(j=0;j<checkAccount;j++) {
                 
				if (checkContent[j] == "english")
				{
					if (!checkEnglish(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
 				}
                if (checkContent[j] == "chinese")
				{
					if (!checkChinese(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                if (checkContent[j] == "uid")
				{
					if (!checkUID(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}				
                if (checkContent[j] == "pwd")
				{
					if (!checkPWD(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}				
				if (checkContent[j] == "required")
				{
					if (!checkString(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
				
                 if (checkContent[j] == "num")
				{
					if (!checkInteger(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}

                 if (checkContent[j] == "int")
				{
					if (!checkInteger(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "float")
				{
					if (!checkFloat(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "certificate")
				{
					if (!checkCertificate(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "email")
				{
					if (!checkEmail(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "year") 
				{
					if (!checkYear(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "month")
				{
					if (!checkMonth(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "day") 
				{
					if (!checkDay(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "telephone")
				{
					if (!checkTelephone(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "numericalValue")
				{
					if (!checkNumericalValue(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "http")
				{
					if (!checkHttp(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                if (checkContent[j] == "percent")
				{
					if (!checkPercent(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                 if (checkContent[j] == "zipcode")
				{
					if (!checkZipcode(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                    if (checkContent[j] == "empty")
				{
					if (!checkEmpty(e.all[i].value))
					{ 
						e.all[i].focus();e.all[i].select();
						return false;
					}
				}
                    if (checkContent[j] == "select")
				{
					if (!checkSelect(e.all[i].selectedIndex))
					{ 
						e.all[i].focus();
						return false;
					}
				}
                if(checkContent[j] == "selempty")
                {
                   if(!checkEmpty(e.all[i].value))
                   {
                      e.all[i].focus();
                      return false;
                   }
                }				
                if(checkContent[j] == "date")
                {
                   if(!checkDate(e.all[i].value))
                   {
                      e.all[i].focus();
                      return false;
                   }
                }	
                if(checkContent[j] == "validatedate"){
					    if (strToDate(e.endDate.value).getTime() < strToDate(e.startDate.value).getTime()) { 
						   alert("起始日期不能大于截至日期！");
					 	   return   false;   
					  }  	
				  }		
		    }//end for
	     }
	  }
   }
   return true;
}


function checkDateAhead(year1,month1,day1,year2,month2,day2)
{
	var aheadYear =new Number(year1);
	var curDate = new Date();
	var backYear = year2 ? new Number(year2) : curDate.getYear();
	if (aheadYear < backYear)
	{
		return true;
	}
	if (aheadYear > backYear)
	{
		return false;
	}
	var aheadMonth = new Number(month1);
	var backMonth = month2 ? new Number(month2) : curDate.getMonth() +1;
	if (aheadMonth < backMonth)
	{
		return true;
	}
	if (aheadMonth > backMonth)
	{
		return false;
	}
	var aheadDay = new Number(day1);
	var backDay = day2? new Number(day2) : curDate.getDay()+ 1;
	if (aheadDay < backDay)
	{
		return true;
	}
	if (aheadDay > backDay)
	{
		return false;
	}
	return false;
}

function getDateInterval(year1,month1,day1,year2,month2,day2)
{
	var aheadYear = new Number(year1);
	var aheadMonth = new Number (month1);
	var aheadDay = new Number(day1);
	var curDate = new Date();
	var backYear = year2 ? new Number(year2) : curDate.getYear();
	var backMonth = month2 ? new Number (month2) :curDate.getMonth() +1;
	var backDay = day2 ? new Number(day2) : curDate.getDay() +1 ;
	var retInterval =Date.UTC(backYear,backMonth,backDay) - Date.UTC(aheadYear,aheadMonth,aheadDay);
	return retInterval;
}

//////////////////////////////以下AJAX部分///////////////////////////////
function _pageCheck(submitStr) { //页面转向
 		var failed = false; 
 		var num;
 		var pageTotal;
 		 try {
 		    
 		 	num=parseInt(getObject("pageCount").value);
 		 	pageTotal=parseInt(getObject("pageTotal").value);
 		}catch(e){
 			failed=true;
 		}
 		 if (failed) {
 		 alert('页码无效！');
 		 getObject("pageCount").focus();
 		 return;
 		 }
 		 if (num>pageTotal) {
 		  alert("输入的页码超过最大页数，页码范围[ 1 - " + pageTotal +"]");
 		  getObject("pageCount").focus();
 		  return;
 		 }
 		getList(submitStr+num);		
}
function Trim(){
	return this.replace(/\s+$|^\s+/g,"");
}
String.prototype.Trim=Trim;	//è¿æ»¤ä¸¤ç«¯ç©ºæ ¼

function getObject(elementId) { 	//è·åæå®idçobject
	if (document.getElementById) { 
		return document.getElementById(elementId); 
	} else if (document.all) { 
		return document.all[elementId]; 
	} else if (document.layers) { 
		return document.layers[elementId]; 
	} 
}
//gfg19
function getObjValue(elementId){	//è·åæå®idçformç»ä»¶çå¼
	if(getObject(elementId).value!=undefined)
		return getObject(elementId).value.Trim();
	else
		return "";
}

function XHR(){	//åå»ºXMLHttpRequestå¯¹è±¡
	var xhr;
	try{
		xhr=new XMLHttpRequest();
	}catch(e){
    		var a=['MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','MICROSOFT.XMLHTTP.1.0','MICROSOFT.XMLHTTP.1','MICROSOFT.XMLHTTP'];
    		for (var i=0;i<a.length;i++){
      			try{
        			xhr = new ActiveXObject(a[i]);
        			break;
      			}catch(e){}
    		}
  	}
	return xhr;
}


<!--
document.write("<div id=meizzCalendarLayer style='position: absolute; z-index: 9999; width: 144; height: 193; display: none'>");
document.write("<iframe name=meizzCalendarIframe scrolling=no frameborder=0 width=100% height=100%></iframe></div>");
function writeIframe()
{
    var strIframe = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><style>"+
    "*{font-size: 12px; font-family: 宋体}"+
    ".bg{  color: "+ WebCalendar.lightColor +"; cursor: default; background-color: "+ WebCalendar.darkColor +";}"+
    "table#tableMain{ width: 142; height: 180;}"+
    "table#tableWeek td{ color: "+ WebCalendar.lightColor +";}"+
    "table#tableDay  td{ font-weight: bold;}"+
    "td#meizzYearHead, td#meizzYearMonth{color: "+ WebCalendar.wordColor +"}"+
    ".out { text-align: center; border-top: 1px solid "+ WebCalendar.DarkBorder +"; border-left: 1px solid "+ WebCalendar.DarkBorder +";"+
    "border-right: 1px solid "+ WebCalendar.lightColor +"; border-bottom: 1px solid "+ WebCalendar.lightColor +";}"+
    ".over{ text-align: center; border-top: 1px solid #FFFFFF; border-left: 1px solid #FFFFFF;"+
    "border-bottom: 1px solid "+ WebCalendar.DarkBorder +"; border-right: 1px solid "+ WebCalendar.DarkBorder +"}"+
    "input{ border: 1px solid "+ WebCalendar.darkColor +"; padding-top: 1px; height: 18; cursor: hand;"+
    "       color:"+ WebCalendar.wordColor +"; background-color: "+ WebCalendar.btnBgColor +"}"+
    "</style></head><body onselectstart='return false' style='margin: 0px' oncontextmenu='return false'><form name=meizz>";

    if (WebCalendar.drag){ strIframe += "<scr"+"ipt language=javascript>"+
    "var drag=false, cx=0, cy=0, o = parent.WebCalendar.calendar; function document.onmousemove(){"+
    "if(parent.WebCalendar.drag && drag){if(o.style.left=='')o.style.left=0; if(o.style.top=='')o.style.top=0;"+
    "o.style.left = parseInt(o.style.left) + window.event.clientX-cx;"+
    "o.style.top  = parseInt(o.style.top)  + window.event.clientY-cy;}}"+
    "function document.onkeydown(){ switch(window.event.keyCode){  case 27 : parent.hiddenCalendar(); break;"+
    "case 37 : parent.prevM(); break; case 38 : parent.prevY(); break; case 39 : parent.nextM(); break; case 40 : parent.nextY(); break;"+
    "case 84 : document.forms[0].today.click(); break;} window.event.keyCode = 0; window.event.returnValue= false;}"+
    "function dragStart(){cx=window.event.clientX; cy=window.event.clientY; drag=true;}</scr"+"ipt>"}

    strIframe += "<select name=tmpYearSelect  onblur='parent.hiddenSelect(this)' style='z-index:1;position:absolute;top:3;left:18;display:none'"+
    " onchange='parent.WebCalendar.thisYear =this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+
    "<select name=tmpMonthSelect onblur='parent.hiddenSelect(this)' style='z-index:1; position:absolute;top:3;left:74;display:none'"+
    " onchange='parent.WebCalendar.thisMonth=this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+

    "<table id=tableMain class=bg border=0 cellspacing=2 cellpadding=0>"+
    "<tr><td width=140 height=19 bgcolor='"+ WebCalendar.lightColor +"'>"+
    "    <table width=140 id=tableHead border=0 cellspacing=1 cellpadding=0><tr align=center>"+
    "    <td width=15 height=19 class=bg title='向前翻 1 月&#13;快捷键：←' style='cursor: hand' onclick='parent.prevM()'><b>&lt;</b></td>"+
    "    <td width=60 id=meizzYearHead  title='点击此处选择年份' onclick='parent.funYearSelect(parseInt(this.innerText, 10))'"+
    "        onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+
    "        onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+
    "    <td width=50 id=meizzYearMonth title='点击此处选择月份' onclick='parent.funMonthSelect(parseInt(this.innerText, 10))'"+
    "        onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+
    "        onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+
    "    <td width=15 class=bg title='向后翻 1 月&#13;快捷键：→' onclick='parent.nextM()' style='cursor: hand'><b>&gt;</b></td></tr></table>"+
    "</td></tr><tr><td height=20><table id=tableWeek border=1 width=140 cellpadding=0 cellspacing=0 ";
    if(WebCalendar.drag){strIframe += "onmousedown='dragStart()' onmouseup='drag=false' onmouseout='drag=false'";}
    strIframe += " borderColorLight='"+ WebCalendar.darkColor +"' borderColorDark='"+ WebCalendar.lightColor +"'>"+
    "    <tr align=center><td height=20>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr></table>"+
    "</td></tr><tr><td valign=top width=140 bgcolor='"+ WebCalendar.lightColor +"'>"+
    "    <table id=tableDay height=120 width=140 border=0 cellspacing=1 cellpadding=0>";
         for(var x=0; x<5; x++){ strIframe += "<tr>";
         for(var y=0; y<7; y++)  strIframe += "<td class=out id='meizzDay"+ (x*7+y) +"'></td>"; strIframe += "</tr>";}
         strIframe += "<tr>";
         for(var x=35; x<39; x++) strIframe += "<td class=out id='meizzDay"+ x +"'></td>";
         strIframe +="<td colspan=3 class=out title='"+ WebCalendar.regInfo +"'><input style=' background-color: "+
         WebCalendar.btnBgColor +";cursor: hand; padding-top: 4px; width: 100%; height: 100%; border: 0' onfocus='this.blur()'"+
         " type=button value='&nbsp; &nbsp; 关闭' onclick='parent.hiddenCalendar()'></td></tr></table>"+
    "</td></tr><tr><td height=20 width=140 bgcolor='"+ WebCalendar.lightColor +"'>"+
    "    <table border=0 cellpadding=1 cellspacing=0 width=140>"+
    "    <tr><td><input name=prevYear title='向前翻 1 年&#13;快捷键：↑' onclick='parent.prevY()' type=button value='&lt;&lt;'"+
    "    onfocus='this.blur()' style='meizz:expression(this.disabled=parent.WebCalendar.thisYear==1000)'><input"+
    "    onfocus='this.blur()' name=prevMonth title='向前翻 1 月&#13;快捷键：←' onclick='parent.prevM()' type=button value='&lt;&nbsp;'>"+
    "    </td><td align=center><input name=today type=button value='今天' onfocus='this.blur()' style='width: 50' title='当前日期&#13;快捷键：T'"+
    "    onclick=\"parent.returnDate(new Date().getDate() +'/'+ (new Date().getMonth() +1) +'/'+ new Date().getFullYear())\">"+
    "    </td><td align=right><input title='向后翻 1 月&#13;快捷键：→' name=nextMonth onclick='parent.nextM()' type=button value='&nbsp;&gt;'"+
    "    onfocus='this.blur()'><input name=nextYear title='向后翻 1 年&#13;快捷键：↓' onclick='parent.nextY()' type=button value='&gt;&gt;'"+
    "    onfocus='this.blur()' style='meizz:expression(this.disabled=parent.WebCalendar.thisYear==9999)'></td></tr></table>"+
    "</td></tr><table></form></body></html>";
    with(WebCalendar.iframe)
    {
        document.writeln(strIframe); document.close();
        for(var i=0; i<39; i++)
        {
            WebCalendar.dayObj[i] = eval("meizzDay"+ i);
            WebCalendar.dayObj[i].onmouseover = dayMouseOver;
            WebCalendar.dayObj[i].onmouseout  = dayMouseOut;
            WebCalendar.dayObj[i].onclick     = returnDate;
        }
    }
}
function TWebCalendar() //初始化日历的设置
{
    this.regInfo    = "WEB Calendar ver 3.0&#13;作者：meizz(梅花雪疏影横斜)&#13;网站：http://www.meizz.com/&#13;关闭的快捷键：[Esc]";
    this.regInfo   += "&#13;&#13;Ver 2.0：walkingpoison(水晶龙)&#13;Ver 1.0：meizz(梅花雪疏影横斜)";
    this.daysMonth  = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    this.day        = new Array(39);            //定义日历展示用的数组
    this.dayObj     = new Array(39);            //定义日期展示控件数组
    this.dateStyle  = null;                     //保存格式化后日期数组
    this.objExport  = null;                     //日历回传的显示控件
    this.eventSrc   = null;                     //日历显示的触发控件
    this.inputDate  = null;                     //转化外的输入的日期(d/m/yyyy)
    this.thisYear   = new Date().getFullYear(); //定义年的变量的初始值
    this.thisMonth  = new Date().getMonth()+ 1; //定义月的变量的初始值
    this.thisDay    = new Date().getDate();     //定义日的变量的初始值
    this.today      = this.thisDay +"/"+ this.thisMonth +"/"+ this.thisYear;   //今天(d/m/yyyy)
    this.iframe     = window.frames("meizzCalendarIframe"); //日历的 iframe 载体
    this.calendar   = getObjectById("meizzCalendarLayer");  //日历的层
    this.dateReg    = "";           //日历格式验证的正则式

   this.yearFall   = 50;           //定义年下拉框的年差值
    this.format     = "yyyy-mm-dd"; //回传日期的格式
    this.timeShow   = false;        //是否返回时间
    this.drag       = true;         //是否允许拖动
    this.darkColor  = "#3670C2";    //控件的暗色
    this.lightColor = "#FFFFFF";    //控件的亮色
    this.btnBgColor = "#FFFFF5";    //控件的按钮背景色
    this.wordColor  = "#000080";    //控件的文字颜色
    this.wordDark   = "#DCDCDC";    //控件的暗文字颜色
    this.dayBgColor = "#E6E6FA";    //日期数字背景色
    this.todayColor = "#FF0000";    //今天在日历上的标示背景色
    this.DarkBorder = "#D4D0C8";    //日期显示的立体表达色
}   var WebCalendar = new TWebCalendar();

function calendar() //主调函数
{
    var e = window.event.srcElement;   writeIframe();
    var o = WebCalendar.calendar.style; WebCalendar.eventSrc = e;
	if (arguments.length == 0) WebCalendar.objExport = e;
    else WebCalendar.objExport = eval(arguments[0]);

    WebCalendar.iframe.tableWeek.style.cursor = WebCalendar.drag ? "move" : "default";
	var t = e.offsetTop,  h = e.clientHeight, l = e.offsetLeft, p = e.type;
	while (e = e.offsetParent){t += e.offsetTop; l += e.offsetLeft;}
    o.display = ""; WebCalendar.iframe.document.body.focus();
    var cw = WebCalendar.calendar.clientWidth, ch = WebCalendar.calendar.clientHeight;
    var dw = document.body.clientWidth, dl = document.body.scrollLeft, dt = document.body.scrollTop;
    
    if (document.body.clientHeight + dt - t - h >= ch) o.top = (p=="image")? t + h : t + h + 6;
    else o.top  = (t - dt < ch) ? ((p=="image")? t + h : t + h + 6) : t - ch;
    if (dw + dl - l >= cw) o.left = l; else o.left = (dw >= cw) ? dw - cw + dl : dl;

    if  (!WebCalendar.timeShow) WebCalendar.dateReg = /^(\d{1,4})(-|\/|.)(\d{1,2})\2(\d{1,2})$/;
    else WebCalendar.dateReg = /^(\d{1,4})(-|\/|.)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;

    try{
        if (WebCalendar.objExport.value.trim() != ""){
            WebCalendar.dateStyle = WebCalendar.objExport.value.trim().match(WebCalendar.dateReg);
            if (WebCalendar.dateStyle == null)
            {
                WebCalendar.thisYear   = new Date().getFullYear();
                WebCalendar.thisMonth  = new Date().getMonth()+ 1;
                WebCalendar.thisDay    = new Date().getDate();
                alert("原文本框里的日期有错误！\n可能与你定义的显示时分秒有冲突！");
                writeCalendar(); return false;
            }
            else
            {
                WebCalendar.thisYear   = parseInt(WebCalendar.dateStyle[1], 10);
                WebCalendar.thisMonth  = parseInt(WebCalendar.dateStyle[3], 10);
                WebCalendar.thisDay    = parseInt(WebCalendar.dateStyle[4], 10);
                WebCalendar.inputDate  = parseInt(WebCalendar.thisDay, 10) +"/"+ parseInt(WebCalendar.thisMonth, 10) +"/"+ 
                parseInt(WebCalendar.thisYear, 10); writeCalendar();
            }
        }  else writeCalendar();
    }  catch(e){writeCalendar();}
}
function funMonthSelect() //月份的下拉框
{
    var m = isNaN(parseInt(WebCalendar.thisMonth, 10)) ? new Date().getMonth() + 1 : parseInt(WebCalendar.thisMonth);
    var e = WebCalendar.iframe.document.forms[0].tmpMonthSelect;
    for (var i=1; i<13; i++) e.options.add(new Option(i +"月", i));
    e.style.display = ""; e.value = m; e.focus(); window.status = e.style.top;
}
function funYearSelect() //年份的下拉框
{
    var n = WebCalendar.yearFall;
    var e = WebCalendar.iframe.document.forms[0].tmpYearSelect;
    var y = isNaN(parseInt(WebCalendar.thisYear, 10)) ? new Date().getFullYear() : parseInt(WebCalendar.thisYear);
        y = (y <= 1000)? 1000 : ((y >= 9999)? 9999 : y);
    var min = (y - n >= 1000) ? y - n : 1000;
    var max = (y + n <= 9999) ? y + n : 9999;
        min = (max == 9999) ? max-n*2 : min;
        max = (min == 1000) ? min+n*2 : max;
    for (var i=min; i<=max; i++)
    {
      //alert(e.options.length);
      e.options[e.options.length] = new Option(i +"年", i+"", true, true);//e.options.add(new Option(i +"年", i));
    }
    e.style.display = "";
    e.value = y; e.focus();
}
function prevM()  //往前翻月份
{
    WebCalendar.thisDay = 1;
    if (WebCalendar.thisMonth==1)
    {
        WebCalendar.thisYear--;
        WebCalendar.thisMonth=13;
    }
    WebCalendar.thisMonth--; writeCalendar();
}
function nextM()  //往后翻月份
{
    WebCalendar.thisDay = 1;
    if (WebCalendar.thisMonth==12)
    {
        WebCalendar.thisYear++;
        WebCalendar.thisMonth=0;
    }
    WebCalendar.thisMonth++; writeCalendar();
}
function prevY(){WebCalendar.thisDay = 1; WebCalendar.thisYear--; writeCalendar();}//往前翻 Year
function nextY(){WebCalendar.thisDay = 1; WebCalendar.thisYear++; writeCalendar();}//往后翻 Year
function hiddenSelect(e){for(var i=e.options.length; i>-1; i--)e.options.remove(i); e.style.display="none";}
function getObjectById(id){ if(document.all) return(eval("document.all."+ id)); return(eval(id)); }
function hiddenCalendar(){getObjectById("meizzCalendarLayer").style.display = "none";};
function appendZero(n){return(("00"+ n).substr(("00"+ n).length-2));}//日期自动补零程序
function trim(){return this.replace(/(^\s*)|(\s*$)/,"");}
function dayMouseOver()
{
    this.className = "over";
    this.style.backgroundColor = WebCalendar.darkColor;
    if(WebCalendar.day[this.id.substr(8)].split("/")[1] == WebCalendar.thisMonth)
    this.style.color = WebCalendar.lightColor;
}
function dayMouseOut()
{
    this.className = "out"; var d = WebCalendar.day[this.id.substr(8)], a = d.split("/");
    this.style.removeAttribute('backgroundColor');
    if(a[1] == WebCalendar.thisMonth && d != WebCalendar.today)
    {
        if(WebCalendar.dateStyle && a[0] == parseInt(WebCalendar.dateStyle[4], 10))
        this.style.color = WebCalendar.lightColor;
        this.style.color = WebCalendar.wordColor;
    }
}
function writeCalendar() //对日历显示的数据的处理程序
{
    var y = WebCalendar.thisYear;
    var m = WebCalendar.thisMonth; 
    var d = WebCalendar.thisDay;
    WebCalendar.daysMonth[1] = (0==y%4 && (y%100!=0 || y%400==0)) ? 29 : 28;
    if (!(y<=9999 && y >= 1000 && parseInt(m, 10)>0 && parseInt(m, 10)<13 && parseInt(d, 10)>0)){
        alert("对不起，你输入了错误的日期！");
        WebCalendar.thisYear   = new Date().getFullYear();
        WebCalendar.thisMonth  = new Date().getMonth()+ 1;
        WebCalendar.thisDay    = new Date().getDate(); }
    y = WebCalendar.thisYear;
    m = WebCalendar.thisMonth;
    d = WebCalendar.thisDay;
    WebCalendar.iframe.meizzYearHead.innerText  = y +" 年";
    WebCalendar.iframe.meizzYearMonth.innerText = parseInt(m, 10) +" 月";
    WebCalendar.daysMonth[1] = (0==y%4 && (y%100!=0 || y%400==0)) ? 29 : 28; //闰年二月为29天
    var w = new Date(y, m-1, 1).getDay();
    var prevDays = m==1  ? WebCalendar.daysMonth[11] : WebCalendar.daysMonth[m-2];
    for(var i=(w-1); i>=0; i--) //这三个 for 循环为日历赋数据源（数组 WebCalendar.day）格式是 d/m/yyyy
    {
        WebCalendar.day[i] = prevDays +"/"+ (parseInt(m, 10)-1) +"/"+ y;
        if(m==1) WebCalendar.day[i] = prevDays +"/"+ 12 +"/"+ (parseInt(y, 10)-1);
        prevDays--;
    }
    for(var i=1; i<=WebCalendar.daysMonth[m-1]; i++) WebCalendar.day[i+w-1] = i +"/"+ m +"/"+ y;
    for(var i=1; i<39-w-WebCalendar.daysMonth[m-1]+1; i++)
    {
        WebCalendar.day[WebCalendar.daysMonth[m-1]+w-1+i] = i +"/"+ (parseInt(m, 10)+1) +"/"+ y;
        if(m==12) WebCalendar.day[WebCalendar.daysMonth[m-1]+w-1+i] = i +"/"+ 1 +"/"+ (parseInt(y, 10)+1);
    }
    for(var i=0; i<39; i++)    //这个循环是根据源数组写到日历里显示
    {
        var a = WebCalendar.day[i].split("/");
        WebCalendar.dayObj[i].innerText    = a[0];
        WebCalendar.dayObj[i].title        = a[2] +"-"+ appendZero(a[1]) +"-"+ appendZero(a[0]);
        WebCalendar.dayObj[i].bgColor      = WebCalendar.dayBgColor;
        WebCalendar.dayObj[i].style.color  = WebCalendar.wordColor;
        if ((i<10 && parseInt(WebCalendar.day[i], 10)>20) || (i>27 && parseInt(WebCalendar.day[i], 10)<12))
            WebCalendar.dayObj[i].style.color = WebCalendar.wordDark;
        if (WebCalendar.inputDate==WebCalendar.day[i])    //设置输入框里的日期在日历上的颜色
        {WebCalendar.dayObj[i].bgColor = WebCalendar.darkColor; WebCalendar.dayObj[i].style.color = WebCalendar.lightColor;}
        if (WebCalendar.day[i] == WebCalendar.today)      //设置今天在日历上反应出来的颜色
        {WebCalendar.dayObj[i].bgColor = WebCalendar.todayColor; WebCalendar.dayObj[i].style.color = WebCalendar.lightColor;}
    }
}
function returnDate() //根据日期格式等返回用户选定的日期
{
    if(WebCalendar.objExport)
    {
        var returnValue;
        var a = (arguments.length==0) ? WebCalendar.day[this.id.substr(8)].split("/") : arguments[0].split("/");
        var d = WebCalendar.format.match(/^(\w{4})(-|\/|.|)(\w{1,2})\2(\w{1,2})$/);
        if(d==null){alert("你设定的日期输出格式不对！\r\n\r\n请重新定义 WebCalendar.format ！"); return false;}
        var flag = d[3].length==2 || d[4].length==2; //判断返回的日期格式是否要补零
        returnValue = flag ? a[2] +d[2]+ appendZero(a[1]) +d[2]+ appendZero(a[0]) : a[2] +d[2]+ a[1] +d[2]+ a[0];
        if(WebCalendar.timeShow)
        {
            var h = new Date().getHours(), m = new Date().getMinutes(), s = new Date().getSeconds();
            returnValue += flag ? " "+ appendZero(h) +":"+ appendZero(m) +":"+ appendZero(s) : " "+  h  +":"+ m +":"+ s;
        }
        WebCalendar.objExport.value = returnValue;
        hiddenCalendar();
    }
}
function onclick()
{
  if(WebCalendar.eventSrc != window.event.srcElement){hiddenCalendar();}
}
function onclick()
{
  if(WebCalendar.eventSrc != window.event.srcElement){hiddenCalendar();}
}

 function  chkNewKindid(targetURL,action,furl){

  if(document.formKind.selectkindid.value=="0"){
  alert("请选择类型!");   
  document.formKind.selectkindid.focus();   
  return   false;   
  }else{  
  
  if (window.checkedRow) {
       var theValue = "";
       var target = window.checkedRow;
       if (target.length) {
           for (var i = 0; i < target.length; i ++) {
              if (target[i].checked) {
                  if (theValue == "")
                      theValue = target[i].value;
                  else
                      theValue += "," + target[i].value;
              }        
           }                  
       } else {
           if (target.checked)
               theValue = target.value;
       }       
       if (theValue=="") {
           alert("未选择行");
          return;
       }      
       var id = document.formKind.selectkindid.value;
       if (targetURL.indexOf("?") > -1) 
           targetURL += "&idSetKind="+id;
       else
       	   targetURL += "?idSetKind="+id;   
       postRequest(targetURL,action,theValue,furl);        
      
   
   }
  }	
 return true;
}
//-->
