// 检验列表中是否选中,获取主键
    function checkSelect(){
       var returnStr="";
        var objRstable=document.all("rstable");
        var objBody=objRstable.getElementsByTagName("tbody");
        var objNodes=objBody.item(0).childNodes;
        var allxArr = document.getElementsByName("radiobox");
        for(var i=0; i<allxArr.length; i++){
              if(allxArr[i].checked){
                      returnStr=objNodes.item(i).childNodes.item(1).innerText;
              }
        }
        return returnStr;
    }

    function getElem(index){
       var returnStr="";
        var objRstable=document.all("rstable");
        var objBody=objRstable.getElementsByTagName("tbody");
        var objNodes=objBody.item(0).childNodes;
        var allxArr = document.getElementsByName("radiobox");
        for(var i=0; i<allxArr.length; i++){
              if(allxArr[i].checked){
                      returnStr=objNodes.item(i).childNodes.item(index).innerText;
              }
        }
        return returnStr;
    }
    
// 检查日期
function checkNullDate(asDate){
	if(asDate.length == 0){
		return true;
	}
	var lsDate  = asDate + "";
	var loDate  = lsDate.split("-");
	if (loDate.length!=3){
		alert("日期格式不正确，请输入格式为YYYY-MM-DD格式的日期！");
		return false;
	}
	var liYear  = parseInt(loDate[0],10);
	var liMonth = parseInt(loDate[1],10);
	var liDay   = parseInt(loDate[2],10);
	if ((loDate[0].length>4)||(loDate[1].length>2)||(loDate[2].length>2)){
		alert("日期格式不正确，请输入格式为YYYY-MM-DD格式的日期！");
		return false;
	}
	if (isNaN(liYear)||isNaN(liMonth)||isNaN(liDay)){
		alert("日期格式不正确，请输入格式为YYYY-MM-DD格式的日期！");
		return false;
	}
	if ((liYear<1900)||(liYear>3000)){
		alert("日期格式不正确，年份应介于1900和3000之间！");
		return false;
	}
	if ((liMonth>12)||(liMonth<=0)){
		alert("日期格式不正确，月份应介于01和12之间！");
		return false;
	}
	if (Date_getDay(liYear,liMonth)<liDay){
		alert("日期格式不正确，天数应介于1和"+Date_getDay(liYear,liMonth)+"之间！");
		return false;
	}
	return !isNaN(Date.UTC(liYear,liMonth,liDay));
}

// 检查日期
function checkNullDateAlert(asDate,theAlart){
	if(asDate.value.length == 0){
		return true;
	}
	var lsDate  = asDate.value + "";
	var loDate  = lsDate.split("-");

	if (loDate.length!=3){
		alert(theAlart+"格式不正确，请输入格式为YYYY-MM-DD格式的日期！");
		return false;
	}
	var liYear  = parseInt(loDate[0],10);
	var liMonth = parseInt(loDate[1],10);
	var liDay   = parseInt(loDate[2],10);
	if ((loDate[0].length!=4)||(loDate[1].length!=2)||(loDate[2].length!=2)){
		alert(theAlart+"格式不正确，请输入格式为YYYY-MM-DD格式的日期！");
		return false;
	}
	if (isNaN(liYear)||isNaN(liMonth)||isNaN(liDay)){
		alert(theAlart+"格式不正确，请输入格式为YYYY-MM-DD格式的日期！");
		return false;
	}
	if ((liYear<1900)||(liYear>3000)){
		alert(theAlart+"格式不正确，年份应介于1900和3000之间！");
		return false;
	}
	if ((liMonth>12)||(liMonth<=0)){
		alert(theAlart+"格式不正确，月份应介于01和12之间！");
		return false;
	}
	if (Date_getDay(liYear,liMonth)<liDay){
		alert(theAlart+"格式不正确，天数应介于1和"+Date_getDay(liYear,liMonth)+"之间！");
		return false;
	}
	return !isNaN(Date.UTC(liYear,liMonth,liDay));
}
//********************************************************************************************************** 
//功能：返回某年某月的天数
//返回值：月的天数
function Date_getDay(aiYear,aiMonth){
	var loDay = [0,31,28,31,30,31,30,31,31,30,31,30,31];
	if (aiYear%4==0) 
	{
		loDay[2] = 29;
	}
	return loDay[aiMonth];
}

// 检查日期
function checkFormForSql(formname){
  var idx;
  var check=/['">]/;
  var xmlid = new Array();
  for (idx=0;idx<formname.elements.length;idx++){
    var oItem = formname.elements(idx);
	if(oItem.type == "text" ||(oItem.type == "textarea" && oItem.check == "true")){
		var value = oItem.value;
		if(check.test(value)){
			alert("输入的内容中存在不能保存的特殊字符，请去除特殊字符！");
			oItem.focus();
			return false;
		}
	}
  }
  return true;
}
function trim(theValue){
	var retn = theValue;
	retn = retn.replace(/^\s*/g,"");
	retn = retn.replace(/\s*$/g,"");
	return retn;
}
function checkMail(theField,theAlart){
  theField.value = trim(theField.value);
  var theValue = theField.value;
  if(theValue != ""){
    var re = /^\w.+@\w+\..+$/;
    if (theValue != re.exec(theValue)){
      alert(theAlart+"输入不准确，请按\"名称@邮件服务器域名\"格式输入。\n如：XXX@163.com")
      theField.select();
      return false;
    }
  }
  return true;
}
//校验年度
function checkYear(theField){
	var Yea=theField.value;
	if(isNaN(Yea)){
		alert("年度应该为数字,请重新输入！");
		return false;
	}
	var liYear=parseInt(Yea);
	if ((liYear<1900)||(liYear>3000)){
		alert("年度号应介于1900和3000之间，请重新输入！");
		return false;
	}
	return true;
}
//校验文本十分输入
function checkTextIsNull(theField,theAlart){
	var theValue = trim(theField.value);
	if (0 == theValue.length){
		alert(theAlart + "不能为空，请重新输入！");
		try {theField.select()} catch (exception){}
		return false;
	}
	return true;
}
//校验整数,不可为空
function checkInt(theField,theAlert){
	var theValue = trim(theField.value);
	if(theValue.length>0){
		var theInt = parseInt(theValue);
		if (isNaN(theInt)){
			alert(theAlert + "输入不准确，请输入有效的数字。");
			theField.select();
			return false;
		}
		theField.value = theInt;
	}else{
		alert(theAlert+"不能为空，请重新输入！");
		return false;
	}
	return true;
}
 //检查是否是整数，可以为空
function checkNullInt(field,info){
    var v=parseInt(field.value);
    if(field.value.length>0){
    	if(isNaN(v)){
	     alert(info+'输入了不合法的数字');
         field.focus();
	     return false;
	    }
	    if(field.value!=v){
	      alert('请检查'+info+'输入的数字是否合法');
          field.focus();
	      return false;
        }
    }
    return true;
 }
//校验radio输入框
function checkRadio(theField,theAlart){
	var b=false;
	for(var i=0;i<theField.length;i++){
        if(theField[i].checked){
            b=true;
		}
	}
	if(!b) alert("请选择"+theAlart);
	return b;
}
//字符串的字节长度
function xusLen(sText){
  var idx,len=0;
  for (idx=0;idx<sText.length;idx++){
    var cd = sText.charCodeAt(idx);
    if (cd < 256)
      len += 1;
    else
      len += 2;
  }
  return len;
}
function formatString(sText,len){
  if (xusLen(sText) > len) return sText;
  var idx,ret = len - xusLen(sText);
  for (idx=0;idx<ret;idx++)  {
    sText += " ";
  }
  return sText;
}
//发送HTTP请求
function SendHttp(sAspFile,sSend)
{
  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.Open("POST",sAspFile,false);
  try
  {
    xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
    xmlhttp.Send(URLEncoding(sSend));
  }
  catch (exception)
  {
    alert(xmlhttp.responseText)
    return "";
  }

  try
  {
    var str11=bytes2BSTR(xmlhttp.responseBody)
  }
  catch (exception)
  {
      str11=""
  }
  return str11
}

//显示系统提示
function hint_show(title,text)
{
  div_hint_title.innerText=title;
  div_hint_text.innerHTML=text;
  document.all("div_hint_main").style.left=event.clientX + 5;
  document.all("div_hint_main").style.top=event.clientY + 5;
  document.all("div_hint_main").style.display="block";
}

//隐藏系统提示
function hint_hide()
{
  document.all("div_hint_main").style.display="none";
}

//打开弹出式窗口
function pop_url(addr,name,size)
{
  window.open(addr,name,"status=no,toolbar=no,width=450,height=250,titlebar=no,menubar=no,scrollbars=no,resizable=" + size);
}

//导出到电子表格
function export_table(tid)
{
  var excel,sheet,table,row,col;
  table = document.all(tid);
  excel = new ActiveXObject("excel.application");

  rows = table.rows.length;
  cols = table.rows(0).cells.length;
  excel.visible=true;
  excel.Workbooks.Add();
  sheet = excel.ActiveSheet;

  for (row=0; row < rows; row++)
  {
    for (col=0; col < cols; col++)
    {
      sheet.cells(row+1,col+1).value = table.rows(row).cells(col).innerText;
    }
  }
}

//检查IP
function check_ip(theField){
	var ip=trim(theField.value);
	var val=ip.split('.');
	if(val.length==4 && val[3] != ""){
		for(var i=0;i<val.length;i++){
			if(isNaN(val[i]) || val[i]<0 || val[i]>255){
				alert("ip地址非法");
				theField.select();
				return false;
			}
		}
	}else{
		alert("ip地址格式不正确，请按xxx.xxx.xxx.xxx格式输入");
		theField.select();
		return false;
	}
	return true;
}

//检查日期类型
function check_date(theField,theAlert)
{
  theField.value = trim(theField.value);
  var theValue = theField.value;

  var re = /^\d\d\d\d-\d\d-\d\d$/;

  if (theValue != re.exec(theValue))
  {
    alert(theAlert + "输入不准确，请以格式“yyyy-mm-dd”输入日期，如2001-09-05。")
    theField.select();
    return false;
  }

  if (false == is_date(theValue))
  {
    alert(theAlert + "输入不准确，请输入有效的日期。");
    theField.select();
    return false;
  }

  return true;
}

//检查整数类型
function check_int(theField,theAlert)
{
  theField.value = trim(theField.value);
  var theValue = theField.value;
  var theInt = parseInt(theValue);
  if (isNaN(theInt))
  {
    alert(theAlert + "输入不准确，请输入有效的数字。");
    theField.select();
    return false;
  }

  theField.value = theInt;
  return true;
}

//检查文本类型
function check_text(theField,theAlart)
{
  var theValue = theField.value;

  if (0 == theValue.length)
  {
    alert(theAlart + "不能为空。");
    try {theField.select()} catch (exception){}
    return false;
  }

  return true;
}

//检查邮件地址
function check_mail(theForm,theField)
{
  var tField = theForm.elements(theField);
  tField.value = trim(tField.value);
  var theValue = tField.value;

  var re=/^(\w|\-|\.)+@(\w|\-)+(\.(\w)+)+$/;
  if (!re.test(theValue))
  {
    alert("请输入正确的邮件地址")
    tField.select();
    return false;
  }

  return true;
}

//取表单中的多值以::分隔
function form_get_values(theForm,theField)
{
  var txt = "";
  for (var i=0;i<theForm.elements.length;i++)
  {
    var e = theForm.elements[i];
    if (e.name == theField && e.checked)
    {
      if (txt == "")
        txt = e.value;
      else
        txt = txt + "::" + e.value;
    }
  }

  return txt;
}

//设置文档的初始事件
//document.oncontextmenu=fn_menu;
//document.onkeydown=fn_key;

//检查表单的右键菜单
function fn_menu()
{
  var theClass = event.srcElement.tagName.toUpperCase();
  if ("INPUT" == theClass || "TEXTAREA" == theClass)
    return true;
  else
    return false;
}

//检查表单的按键操作
function fn_key()
{
  var code = event.keyCode;
  //检查是F5及F11
  if (116 == code || 122 == code || 114 == code || 117 == code)
  {
    event.keyCode = 0;
    return false;
  }

  //检查是否为回退键
  if (8 == code)
  {
    var theClas = event.srcElement.tagName.toUpperCase();
    if ("INPUT" == theClas)
    {
      var theType = event.srcElement.type.toUpperCase();
      if ("TEXT" == theType || "PASSWORD" == theType || "FILE" == theType) return true;
    }

    if ("TEXTAREA" == theClas) return true;
    event.keyCode = 0;
    return false;
  }

  //检查是否为回车键
  if (13 == code)
  {
    var theClas = event.srcElement.tagName.toUpperCase();

    if ("SELECT" == theClas)
    {
      event.keyCode = 9;
      return true;
    }

    if ("INPUT" == theClas)
    {
      var theType = event.srcElement.type.toUpperCase();
      if ("SUBMIT" == theType || "BUTTON" == theType)
      {
      }
      else if ("FILE" == theType)
        return false;
      else
        event.keyCode = 9;
    }
  }
}

//删除字符串首尾的空格
function trim(theValue)
{
  var retn = theValue;
  retn = retn.replace(/^\s*/g,"");
  retn = retn.replace(/\s*$/g,"");
  return retn;
}

//在一个列表框中加入一个项目
function list_add_item(theList,theText,theValue)
{
  var oNew = new Option(theText,theValue);
  theList.options.add(oNew);
}

//编辑列表框中选择中的一个项目
function list_edit_item(oList,theText,theValue)
{
  var cnt,idx;
  cnt = oList.options.length;
  for (idx = cnt - 1; idx >= 0; idx --)
  {
    oItem = oList.options[idx];
    if (oItem.selected)
    {
      oItem.text = theText;
      oItem.value= theValue;
      oItem.selected = true;
      break;
    }
  }
}

//判断列表中是否已经存在一个值
function list_exist_value(oList,theValue)
{
  var idx;

  for (idx = 0; idx < oList.options.length; idx ++)
  {
    var oItem = oList.options[idx];
    if (oItem.value == theValue) return true;
  }

  return false;
}

//取列表框中的所有值，以xxxxx分隔
function list_get_values(oList)
{
  var idx,values = "";

  for (idx = 0; idx < oList.options.length; idx ++)
  {
    var oItem = oList.options[idx];
    if (values == "")
      values += oItem.value;
    else
      values += "xxxxx" + oItem.value;
  }

  return values;
}

//取列表框中的所有值，以指定的字符分隔
function list_get_all_value(oList,sep)
{
  var idx,values = "";

  for (idx = 0; idx < oList.options.length; idx ++)
  {
    var oItem = oList.options[idx];
    if (values == "")
      values += oItem.value;
    else
      values += sep + oItem.value;
  }

  return values;
}

//在一个列表框中加入另一个列表框中的所有的值
function list_add_all_from(oList,oFrom)
{
  var idx,cnt,found;

  for (idx = 0; idx < oFrom.options.length; idx ++)
  {
    var oItem = oFrom.options[idx];
    found = false;
    for (cnt = 0; cnt < oList.options.length; cnt ++)
    {
      if (oItem.text == oList.options[cnt].text &&
          oItem.value== oList.options[cnt].value)
      {
        found = true;
        break;
      }
    }
    if (false == found)
    {
      var oNew = new Option(oItem.text,oItem.value);
      oList.options.add(oNew);
    }
  }
}
//复制一个列表框中的所有项到另一个列表框
function list_clis_all_to(oList,oTo)
{
  var idx,cnt,found;

  for (idx = 0; idx < oList.options.length; idx ++)
  {
    var oItem = oList.options[idx];
    found = false;
    for (cnt = 0; cnt < oTo.options.length; cnt ++)
    {
      if (oItem.text == oTo.options[cnt].text &&
          oItem.value== oTo.options[cnt].value)
      {
        found = true;
        break;
      }
    }
    if (false == found)
    {
      var oNew = new Option(oItem.text,oItem.text);
      oTo.options.add(oNew);
    }
  }


}

//在一个列表框中加入另一个列表框中的选中的值
function list_add_sel_from(oList,oFrom)
{
  var idx,cnt,found;

  for (idx = 0; idx < oFrom.options.length; idx ++)
  {
    var oItem = oFrom.options[idx];
    if (false == oItem.selected) continue;
    found = false;
    for (cnt = 0; cnt < oList.options.length; cnt ++)
    {
      if (oItem.text == oList.options[cnt].text &&
          oItem.value== oList.options[cnt].value)
      {
        found = true;
        break;
      }
    }
    if (false == found)
    {
      var oNew = new Option(oItem.text,oItem.value);
      oList.options.add(oNew);
    }
  }
}

//移动一个列表框中的所有项到另一个列表框
function list_remove_all_to(oList,oTo)
{
  var idx,cnt,found;

  for (idx = 0; idx < oList.options.length; idx ++)
  {
    var oItem = oList.options[idx];
    found = false;
    for (cnt = 0; cnt < oTo.options.length; cnt ++)
    {
      if (oItem.text == oTo.options[cnt].text &&
          oItem.value== oTo.options[cnt].value)
      {
        found = true;
        break;
      }
    }
    if (false == found)
    {
      var oNew = new Option(oItem.text,oItem.value);
      oTo.options.add(oNew);
    }
  }

  oList.options.length=0;
}

//移动一个列表框中选中的项到另一个列表框
function list_remove_sel_to(oList,oTo)
{
  var idx,cnt,found;

  for (idx = 0; idx < oList.options.length; idx ++)
  {
    var oItem = oList.options[idx];
    if (false == oItem.selected) continue;
    found = false;
    for (cnt = 0; cnt < oTo.options.length; cnt ++)
    {
      if (oItem.text == oTo.options[cnt].text &&
          oItem.value== oTo.options[cnt].value)
      {
        found = true;
        break;
      }
    }
    if (false == found)
    {
      var oNew = new Option(oItem.text,oItem.value);
      oTo.options.add(oNew);
    }
  }

  cnt = oList.options.length;
  for (idx = cnt - 1; idx >= 0; idx --)
  {
    oItem = oList.options[idx];
    if (oItem.selected) oList.options[idx] = null;
  }
}

//清除列表框
function list_clear(oList)
{
  oList.options.length = 0;
}

//在列表框中删除选中的项
function list_remove_sel(oList)
{
  var cnt,idx;
  cnt = oList.options.length;
  for (idx = cnt - 1; idx >= 0; idx --)
  {
    oItem = oList.options[idx];
    if (oItem.selected) oList.options[idx] = null;
  }
}

//返回列表框中选中的项目
function list_get_sel_item(oList)
{
  var cnt,idx;
  cnt = oList.options.length;
  for (idx = cnt - 1; idx >= 0; idx --)
  {
    oItem = oList.options[idx];
    if (oItem.selected) return oItem;
  }
}

//在列表框中删除选中的项
function list_del_sel(oList)
{
  list_remove_sel(oList);
}

//列表框中选中的个数
function list_sel_count(oList)
{
  var cnt,idx,count=0;
  cnt = oList.options.length;
  for (idx = cnt - 1; idx >= 0; idx --)
  {
    oItem = oList.options[idx];
    if (oItem.selected) count ++;
  }

  return count;
}

//在列表框中选中所有的项
function list_sel_all(oList)
{
  var idx;
  for (idx = 0; idx < oList.options.length; idx ++)
  {
    oList.options[idx].selected = true;
  }
}

//删除在另一个列表框中存在的项
function list_remove_by(oList,oBy)
{
  var idx,cnt;
  for (idx = 0;idx < oBy.options.length; idx++)
  {
    for (cnt = 0;cnt < oList.options.length; cnt ++)
    {
      var oItem = oList.options[cnt];
      var oItBy = oBy.options[idx];
      if (oItBy.value == oItem.value && oItBy.text == oItem.text) oList.options[cnt] = null;
    }
  }
}

//自动关闭窗口
function close_window()
{
  idclosewin.Click();
}

//最大化窗口
function max_window()
{
  //
}

//字符串或数字比较
function table_sort_comp(theFrom,theTo)
{
  //数字
  if (!isNaN(parseFloat(theFrom)) && !isNaN(parseFloat(theTo)))
  {
    if (parseFloat(theFrom) < parseFloat(theTo))
      return -1;
    else
      return 1;
  }
  else
  {
    //字符串
    if (theFrom < theTo)
      return -1;
    else
      return 1;
  }
}

//表格排序
function table_sort(idname,startrow,col)
{
  var idx,idy,temp;
  var sortby = event.srcElement.sortby;
  if (sortby == "D")
  {
    event.srcElement.sortby = "A";
    event.srcElement.style.cursor="n-resize";
  }
  else
  {
    event.srcElement.sortby = "D";
    event.srcElement.style.cursor="s-resize";
  }

  //保存表格头部定义于headhtml
  temp = document.all(idname).outerHTML.split("<TBODY>");
  headhtml = temp[0];
  for (idx = 0;idx < startrow;idx++)
  {
    headhtml += document.all(idname).rows(idx).outerHTML;
  }
  //alert(headhtml)

  //取出要排序的数据
  var itemtd,itemtr;
  itemtd = new Array();
  itemtr = new Array();
  for (idx = startrow;idx < document.all(idname).rows.length;idx ++)
  {
    itemtr[idx] = document.all(idname).rows(idx).outerHTML;
    itemtd[idx] = document.all(idname).rows(idx).cells(col).innerText;
  }

  //进行排序
  for (idx = startrow;idx < itemtd.length;idx++)
  {
    for (idy = startrow;idy < itemtd.length-1;idy++)
    {
      if (sortby == 'D')
      {
        if (table_sort_comp(itemtd[idy],itemtd[idy+1]) < 0)
        {
          temp = itemtd[idy];
          itemtd[idy] = itemtd[idy+1];
          itemtd[idy+1] = temp;

          temp = itemtr[idy];
          itemtr[idy] = itemtr[idy+1];
          itemtr[idy+1] = temp;
        }
      }
      else
      {
        if (table_sort_comp(itemtd[idy],itemtd[idy+1]) > 0)
        {
          temp = itemtd[idy];
          itemtd[idy] = itemtd[idy+1];
          itemtd[idy+1] = temp;

          temp = itemtr[idy];
          itemtr[idy] = itemtr[idy+1];
          itemtr[idy+1] = temp;
        }
      }
    }
  }

  //重新生成表格
  for (idx = startrow;idx < itemtr.length;idx ++)
  {
    headhtml += itemtr[idx];
  }
  document.all(idname).outerHTML = headhtml + "</table>";
}

////////日历控件
var cal_zindex = 100;
function cal_init()
{
  this.draw();
  var obj_f = eval(this.form + "." + this.ffld);
  var obj_d = eval(this.name + "_div_cal");
  var nTop,nLft;
  nTop = obj_f.offsetTop + obj_f.offsetHeight;
  nLft = obj_f.offsetLeft;

  obj_f = obj_f.parentElement;
  while (obj_f.tagName != "BODY")
  {
    if (obj_f.tagName == "TD" || obj_f.tagName == "TABLE")
    {
      nTop += obj_f.offsetTop;
      nLft += obj_f.offsetLeft;
    }
    obj_f = obj_f.parentElement;
  }

  obj_d.style.posTop  = nTop;
  obj_d.style.posLeft = nLft;
  this.stat = "hide";
}

function cal_show()
{
  var obj = eval(this.name + "_div_cal").style;
  if (this.stat == "show")
  {
    this.stat = "hide";
    obj.visibility = "hidden";
  }
  else
  {
    this.stat = "show";
    cal_zindex ++;
    obj.zIndex = cal_zindex;
    obj.visibility = "visible";
  }
}

function cal_hide()
{
  this.show();
}

function cal_down(evt)
{
  var yy,mm,dd;
  var obj=evt.srcElement;
  yy = this.yy;
  mm = this.mm;
  dd = obj.innerText;
  this.dd = dd;
  if (mm < 10) mm = "0" + mm;
  if (dd < 10) dd = "0" + dd;
  if (parseInt(dd,10) == 0) return;

  var val = yy + "-" + mm + "-" + dd;
  var opt = eval(this.form + "." + this.ffld + ".options[0]");
  opt.value = val;
  opt.text  = val;

  this.hide();
}

//月中的天数
function cal_dinm(iMonth, iYear)
{
	var dPrevDate = new Date(iYear, iMonth, 0);
	return dPrevDate.getDate();
}

function cal_make()
{
	var aMonth= new Array();
	aMonth[0] = new Array(7);
	aMonth[1] = new Array(7);
	aMonth[2] = new Array(7);
	aMonth[3] = new Array(7);
	aMonth[4] = new Array(7);
	aMonth[5] = new Array(7);
	aMonth[6] = new Array(7);

	var dCalDate = new Date(this.yy, this.mm-1, 1);
	var iDayOfFirst = dCalDate.getDay();
	var iDaysInMonth = this.dinm(this.mm,this.yy);
	var iVarDate = 1;
	var i, d, w;

	aMonth[0][0] = "星期日";
	aMonth[0][1] = "星期一";
	aMonth[0][2] = "星期二";
	aMonth[0][3] = "星期三";
	aMonth[0][4] = "星期四";
	aMonth[0][5] = "星期五";
	aMonth[0][6] = "星期六";

	for (d = iDayOfFirst; d < 7; d++)
	{
		aMonth[1][d] = iVarDate;
		iVarDate++;
	}

	for (w = 2; w < 7; w++)
	{
		for (d = 0; d < 7; d++)
		{
			if (iVarDate <= iDaysInMonth)
			{
				aMonth[w][d] = iVarDate;
				iVarDate++;
			}
		}
	}
	return aMonth;
}

function cal_draw()
{
	var myMonth = this.make();
  var doc,syy="",smm="",dyy,step=50;
  var amm = new Array("","一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");

  for (dyy=parseInt(this.yy,10)-step;dyy<=parseInt(this.yy,10)+step;dyy++)
  {
    if (dyy == this.yy)
      syy += '<option value="' + dyy + '" selected>' + dyy + '</option>';
    else
      syy += '<option value="' + dyy + '">' + dyy + '</option>';
  }

  for (dyy=1;dyy<=12;dyy++)
  {
    if (dyy == this.mm)
      smm += '<option value="' + dyy + '" selected>' + amm[dyy] + '</option>';
    else
      smm += '<option value="' + dyy + '">' + amm[dyy] + '</option>';
  }

	document.writeln("<DIV id='" + this.name + "_div_cal' style='visibility:hidden;position:absolute;left:0;top:100;width:270;height:140;z-index:0'>");
	document.writeln("<iframe name='" + this.name + "_doc_cal' id='" + this.name + "_doc_cal' width='100%' height='100%' frameborder=1 scrolling='no' style='z-index:0'></iframe>");
	document.writeln("</div>");

  doc = eval(this.name + "_doc_cal").document; this.doc = doc;

  doc.writeln("<style>");
  doc.writeln("  body{font-family:宋体;font-size:9pt;text-decoration:none;margin:0px;padding:0px;}");
  doc.writeln("  select{font-family:宋体;font-size:9pt}");
  doc.writeln("</style>");
  doc.writeln("<body oncontextmenu='return false'>");

  //输出日历
	doc.writeln("<table style='font-size:9pt' border='0' cellspacing='0' cellpadding='0' width='100%'>");
	doc.writeln("  <tr>");
	doc.writeln("    <td bgcolor='#D4D0C8' align='center' height='22' width='100%'>");
	doc.writeln("      <form style='margin-bottom:0;margin-top:0'>");
	doc.writeln("        年份：<select onchange='parent." + this.name + ".move_yy(this.value)'>" + syy + "</select> &nbsp;&nbsp;");
	doc.writeln("        月份：<select onchange='parent." + this.name + ".move_mm(this.value)'>" + smm + "</select>");
	doc.writeln("      </form>");
	doc.writeln("    </td>");
	doc.writeln("  </tr>");
	doc.writeln("</table>");
	doc.writeln("<table style='font-size:9pt' border='0' cellspacing='0' cellpadding='0' bgcolor='white' style='border-top: 1 solid #808080' width='100%'>");
	doc.writeln("  <tr>");
	doc.writeln("    <td align='center' nowrap height='17' style='border-bottom: 1 solid #808080;color:red'>" + myMonth[0][0] + "</td>");
	doc.writeln("    <td align='center' nowrap height='17' style='border-bottom: 1 solid #808080'>" + myMonth[0][1] + "</td>");
	doc.writeln("    <td align='center' nowrap height='17' style='border-bottom: 1 solid #808080'>" + myMonth[0][2] + "</td>");
	doc.writeln("    <td align='center' nowrap height='17' style='border-bottom: 1 solid #808080'>" + myMonth[0][3] + "</td>");
	doc.writeln("    <td align='center' nowrap height='17' style='border-bottom: 1 solid #808080'>" + myMonth[0][4] + "</td>");
	doc.writeln("    <td align='center' nowrap height='17' style='border-bottom: 1 solid #808080'>" + myMonth[0][5] + "</td>");
	doc.writeln("    <td align='center' nowrap height='17' style='border-bottom: 1 solid #808080;color:red'>" + myMonth[0][6] + "</td>");
	doc.writeln("  </tr>");

	for (w = 1; w < 7; w++)
	{
	  var cal_color;
		doc.write("<tr>");
		for (d = 0; d < 7; d++)
		{
		  cal_color = "";
		  if (d == 0 || d == 6)
		  {
		    cal_color = "style='color:red'";
		  }

			doc.write("<td align='middle' style='cursor:Hand' id=calCell onclick='parent." + this.name + ".down(event)' onmouseover=this.style.background='#a5cbf7' onmouseout=this.style.background=''>");
			doc.write("<table style='font-size:9pt' border='0' cellpadding='0' cellspacing='0' width='20'><tr><td " + cal_color + "><p style='margin-top: 2px' align='center'>");

			if (! isNaN(myMonth[w][d]))
				doc.write("<font id='" + this.name + "_calDateText' style='CURSOR:Hand'>" + myMonth[w][d] + "</font></p></td></tr></table>");
			else
				doc.write("<font id='" + this.name + "_calDateText' style='CURSOR:Hand'>&nbsp;</font></p></td></tr></table>");

			doc.write("</td>");
		}
		doc.write("</tr>");
	}
	doc.write("</table>");
  doc.writeln("</body>");
  doc.close();
}

function cal_move_yy(yy)
{
  this.yy = yy;
  this.updt();
}

function cal_move_mm(mm)
{
  this.mm = mm;
  this.updt();
}

function cal_updt()
{
	var myMonth = this.make();
	for (w = 1; w < 7; w++)
	{
		for (d = 0; d < 7; d++)
		{
			if (!isNaN(myMonth[w][d]))
			{
				eval(this.name + "_doc_cal." + this.name + "_calDateText[((7*w)+d)-7]").innerText = myMonth[w][d];
			}
			else
			{
				eval(this.name + "_doc_cal." + this.name + "_calDateText[((7*w)+d)-7]").innerText = "";
      }
    }
  }
}

function Cal_Date(frm,fld,val,nam)
{
  this.form = frm;
  this.ffld = fld;
  this.fval = val;
  this.name = nam;

  var  dDate = new Date();
  this.dCurDayOfMonth = dDate.getDate();

  this.draw = cal_draw;
  this.down = cal_down;
  this.make = cal_make;
  this.updt = cal_updt;
  this.hide = cal_hide;
  this.show = cal_show;
  this.init = cal_init;
  this.dinm = cal_dinm;
  this.move_yy = cal_move_yy;
  this.move_mm = cal_move_mm;

  var  tm = val.split("-");
  this.yy = tm[0];
  this.mm = parseInt(tm[1],10);
  this.dd = parseInt(tm[2],10);
}

//Word 报表
function word_report(wordfile,formname,tableid)
{
  var idx;
  var fld = "fieldlist checkbox hidden password radio text textarea select-one select-multiple";

  //启动Word字处理软件
  var oWord,oDoc;
  try
  {
    oWord = new ActiveXObject("Word.application");
    oWord.visible=true;
    oDoc = oWord.documents.open(wordfile,false,true,false);
    oWord.WindowState = 1;
    oWord.Activate();
    oWord.ActiveWindow.View.ShowBookmarks = false;
  }
  catch(e)
  {
    alert(e.description);
    return;
  }

  //打印模模板内容
  for (idx=0;idx<formname.elements.length;idx++)
  {
    var oItem = formname.elements(idx);
    if (fld.indexOf(oItem.type) != -1)
    {
      try
      {
        if (oItem.type == "select-one")
        {
          var text = oItem.options[oItem.selectedIndex].text
          oDoc.bookmarks.item(oItem.name).range.text = trim(text);
        }
        else if (oItem.type == "select-multiple")
        {
          var text = "",ndx=0;
          for (ndx=0;ndx < oItem.options.length;ndx++)
          {
            var oObj = oItem.options[ndx];
            if (text != "") text += "\n";
            text += trim(oObj.text);
          }
          oDoc.bookmarks.item(oItem.name).range.text = text;
        }
        else
        {
          if (oItem.value != "　") oDoc.bookmarks.item(oItem.name).range.text = trim(oItem.value);
        }
      }
      catch(e)
      {
      }
    }
  }

  //打印表格
  if ("undefined" != typeof(tableid))
  {
    try
    {
      var rows = tableid.rows.length;
      var cols = tableid.rows(0).cells.length;
      var row,col,oTab,oRng;

      oWord.Selection.EndKey(6);
      oRng = oWord.Selection.Range;
      oTab = oDoc.Tables.Add(oRng, rows, cols)

      for (row=0; row < rows; row++)
      {
        for (col=0; col < cols; col++)
        {
          oTab.Rows.Item(row+1).Cells.Item(col+1).Range.InsertAfter(tableid.rows(row).cells(col).innerText);
        }
      }
    }
    catch(e)
    {
      alert(e.description);
    }
  }

  //打印预览
  try
  {
    oDoc.protect(2,false,"xxwwordreport");
    oDoc.saveas("c:\\报表.doc");
  }
  catch(e)
  {
  }
  oWord.ShowMe();
  oDoc.PrintPreview();
  oWord.ActiveWindow.ActivePane.View.Zoom.Percentage = 75;
  oWord.Activate();
}

//根据（yyyy-mm-dd）格式的日期转换为（二OO五年十二月二十七日）格式的日期
function buildTimeStr(str){
  var returnValue = "";
  var strArray = str.split("-");
  var yf = strArray[1];
  var day = strArray[2];
  var array = new Array();
  var middle_str = "";
  var timeArray =  new Array("O","一","二","三","四","五","六","七","八","九");
  for(var i=0;i<strArray.length;i++){
    array = strArray[i].split("");
    middle_str="";
    for(var j=0;j<array.length;j++){
      middle_str =middle_str+ timeArray[array[j]];
    }
   strArray[i] =  middle_str;
  }
  if(parseInt(yf)>10){
    strArray[1] = "十"+timeArray[yf.substr(1)];
  }else if(parseInt(yf)==10){
    strArray[1] = "十";
  }else if(parseInt(yf)<10){
    strArray[1] = timeArray[yf.substr(1)];
  }

  if(parseInt(day)==10){
    strArray[2]="十";
  }else if(parseInt(day)>10 && parseInt(day)<20){
    strArray[2] = "十"+timeArray[day.substr(1)];
  }else if(parseInt(day)==20 || parseInt(day)==30){
    strArray[2] = timeArray[day.substr(0,1)]+"十";
  }else if(parseInt(day)>20 && parseInt(day)<30 ||parseInt(day)==31){
    strArray[2] = timeArray[day.substr(0,1)]+"十"+timeArray[day.substr(1)];
  }else if(parseInt(day)<10){
    strArray[2] = timeArray[day.substr(1)];
  }
  returnValue = strArray[0]+"年"+strArray[1]+"月"+strArray[2]+"日";
  return returnValue;
}

/*
	修改时间：2007-7-4
    修改人：liucy
    用处：下拉框可输可选用到，即editSelBox.js用到
*/
//判断字符串是否由字母组成
function isLetter(sText){
    var reg = /^[a-zA-Z]*$/;
    if(reg.test(sText)) {
        return true;
    } else {
        return false;
	}
}

/*
	修改时间：2007-7-4
    修改人：liucy
    用处：下拉框可输可选用到，即editSelBox.js用到
*/
//将value和text加入到下拉框中,doc:document; selEle:下拉框元素
function addOption(doc,selEle,value,text,defVal,defMC){
	var oOption = null;
	if(selEle.options.length > 0) { //已经有节点了
		oOption = (selEle.options[0]).cloneNode(true);
		selEle.appendChild(oOption);
	} else {
		oOption = doc.createElement("OPTION");
		selEle.options.add(oOption);
	}
	oOption.value = value;
	oOption.innerText = text;
	if(defVal!=undefined && defVal==value) {
		oOption.selected = true;
	} else {
		oOption.selected = false;
	}
	if(defMC!=undefined && defMC==text) {
		oOption.selected = true;
	} else {
		oOption.selected = false;
	}
}

/*
	修改时间：2007-7-4
    修改人：liucy
    用处：下拉框可输可选用到，即editSelBox.js用到
*/
//得到汉字拼音的首字母的大写，若是字母或标点，则返回原字符
function getpychar(str){
	var result = str;

	var tmp = 65536 + getAsc(str.substr(0,1));
	if(tmp>=45217&&tmp<=45252) {
		result= "A"
	}else if(tmp>=45253&&tmp<=45760) {
		result= "B"
	}else if(tmp>=45761&&tmp<=46317) {
		result= "C"
	}else if(tmp>=46318&&tmp<=46825) {
		result= "D"
	}else if(tmp>=46826&&tmp<=47009) {
		result= "E"
	}else if(tmp>=47010&&tmp<=47296) {
		result= "F"
	}else if(tmp>=47297&&tmp<=47613) {
		result= "G"
	}else if(tmp>=47614&&tmp<=48118) {
		result= "H"
	}else if(tmp>=48119&&tmp<=49061) {
		result= "J"
	}else if(tmp>=49062&&tmp<=49323) {
		result= "K"
	}else if(tmp>=49324&&tmp<=49895) {
		result= "L"
	}else if(tmp>=49896&&tmp<=50370) {
		result= "M"
	}else if(tmp>=50371&&tmp<=50613) {
		result= "N"
	}else if(tmp>=50614&&tmp<=50621) {
		result= "O"
	}else if(tmp>=50622&&tmp<=50905) {
		result= "P"
	}else if(tmp>=50906&&tmp<=51386) {
		result= "Q"
	}else if(tmp>=51387&&tmp<=51445) {
		result= "R"
	}else if(tmp>=51446&&tmp<=52217) {
		result= "S"
	}else if(tmp>=52218&&tmp<=52697) {
		result= "T"
	}else if(tmp>=52698&&tmp<=52979) {
		result= "W"
	}else if(tmp>=52980&&tmp<=53688) {
		result= "X"
	}else if(tmp>=53689&&tmp<=54480) {
		result= "Y"
	}else if(tmp>=54481&&tmp<=55289) {
		result= "Z"
	}

	return result;
}

/*
	修改时间：2007-7-4
    修改人：liucy
    用处：下拉框可输可选用到，即editSelBox.js用到
*/
//得到汉字字符串的拼音的首字母的字符串
function getpy(str) {
	var tempStr = "";
	for(var i=0; i<str.length; i++) {
		var ch = str.charAt(i);
		var escapeCode = escape(ch);
		if(escapeCode.indexOf("%u") != -1) { //累加拼音声母
			tempStr += getpychar(ch);
		} else { //字母和符号原样保留
			tempStr += ch;
		}
	}
	return tempStr;
}

/*
	修改时间：2007-7-4
    修改人：liucy
    用处：下拉框可输可选用到，即editSelBox.js用到
*/
//得到字符的asc码,包括汉字
document.write("<script language=\"vbscript\">"
		+ "Function getAsc(str)"
		+ "	 getAsc=asc(str)"
		+ "End Function"
		+ "<\/script>");
		
		
function changeFontSize(size)
{
	
	var gjnr=document.getElementById("gjnr_id");
	var title=document.getElementById("title_id");
	var ftitle=document.getElementById("ftitle_id");
	//alert(ftitle);
	if(size=="3")
	{
		gjnr.className="xxnr_big";
		if(ftitle!=null)
		{
			ftitle.className="ftitle_big";
		}
		title.className="title_big";
		var Obj = document.all.tags("font");
		 for(var j=0;j<Obj.length;j++){
            if(Obj[j].id == "font3"){
              document.all("font3").style.color="red";
		    }
		    //else{
		      //Obj[j].style.color="black";
		   // }
		}
		document.all("font1").style.color="black";
		document.all("font2").style.color="black";
	}
	if(size=="2")
	{
		gjnr.className="xxnr_middle";
		if(ftitle!=null)
		{
			ftitle.className="ftitle_middle";
		}
		title.className="title_middle";
		var Obj = document.all.tags("font");
		 for(var j=0;j<Obj.length;j++){
            if(Obj[j].id == "font2"){
              document.all("font2").style.color="red";
		    }
		    //else{
		     // Obj[j].style.color="black";
		    //}
		}
		document.all("font1").style.color="black";
		document.all("font3").style.color="black";
	}
	if(size=="1")
	{
		gjnr.className="xxnr_small";
		if(ftitle!=null)
		{
			ftitle.className="ftitle_small";
		}
		title.className="title_small";
		var Obj = document.all.tags("font");
		 for(var j=0;j<Obj.length;j++){
            if(Obj[j].id == "font1"){
              document.all("font1").style.color="red";
		    }
		    //else{
		    //  Obj[j].style.color="black";
		   // }
		}
		document.all("font3").style.color="black";
		document.all("font2").style.color="black";
	}
}
function calculatePOS(height,width){
    var screenWidth = screen.width;
    var screenHeight = screen.height;
    var top = 0;
    var left = 0;
    if (height < screenHeight) {
        top = parseInt((screenHeight - height) / 3);
        left = parseInt((screenWidth - width) / 2);
    } else {
        top = 0;
        left = 0;
    }
    return {Y_POS:top,X_POS:left};
}