/*----------------------------------------------------------------------------\
|                       MTEAF R1 中增加的新的ajax支持功能                     |
|-----------------------------------------------------------------------------|
|                          Created by offsider                                |
|-----------------------------------------------------------------------------|
|                   Copyright (c) 2004 - 2008 PUDA Software                   |
\----------------------------------------------------------------------------*/

var Class = {
//创建类
  create : function () {
    return function () {
      this.initialize.apply(this, arguments);
    };
  }
};

var $A = function (a) {
//转换数组
  return a ? Array.apply(null, a) : new Array;
}; 

var $ = function (id, srcObj) {
  //获取对象
  if(!id){
    return;
  }
  
  var findFrom = null;
  if(srcObj){
    findFrom = srcObj
  }
  else{
    findFrom = document;
  }
  
  if(id.substring(0,1)=='.'){  //通过CSS得到所有对象，返回一个数组
    var ret = [];
    var tmp = [];
    ret = findFrom.getElementsByTagName("*");
    for(var i=0; ret[i]; i++){  //对所有进行循环
      var pass = (" " + ret[i].className + " ").indexOf( " "+id.substring(1)+" " ) >= 0;
      if(pass){
      	tmp.push( ret[i] );
      }
    }
    return tmp;
  }
  if(findFrom.getElementsByName(id)){
    var items = findFrom.getElementsByName(id);
    if(items.length>1){
      return items;
    }
  }
  if(findFrom.getElementById(id)){
    if(findFrom.getElementById(id).recordNumber){
      return findFrom.getElementsByName(id);
    }
    else{
      return findFrom.getElementById(id);
    }
  }
  else{
    if(top.indexmainframe){
      if(top.indexmainframe.workareaFrame){
        if(top.indexmainframe.workareaFrame.mainFrame){
          return top.indexmainframe.workareaFrame.mainFrame.document.getElementById(id);
        }
      }
    }
  }
};

var Try = {
//检测异常
  these : function () {
    var returnValue, arg = arguments, lambda, i;
  
    for (i = 0 ; i < arg.length ; i ++) {
      lambda = arg[i];
      try {
        returnValue = lambda();
        break;
      } catch (exp) {}
    }
  
    return returnValue;
  }
  
};

String.prototype.replaceAll  = function(s1,s2){    return this.replace(new RegExp(s1,"gm"),s2);    }

Object.extend = function (a, b) {
  //追加方法
  for (var i in b) a[i] = b[i];
  return a;
};

Object.extend(Object, {

  addEvent : function (a, b, c, d) {
  //添加函数
    if (a.attachEvent) a.attachEvent(b[0], c);
    else a.addEventListener(b[1] || b[0].replace(/^on/, ""), c, d || false);
    return c;
  },
  
  delEvent : function (a, b, c, d) {
    if (a.detachEvent) a.detachEvent(b[0], c);
    else a.removeEventListener(b[1] || b[0].replace(/^on/, ""), c, d || false);
    return c;
  },
  
  reEvent : function () {
    //获取Event
    return window.event ? window.event : (function (o) {
      do {
        o = o.caller;
      } while (o && !/^\[object[ A-Za-z]*Event\]$/.test(o.arguments[0]));
      return o.arguments[0];
    })(this.reEvent);
  },
  
  findChild : function(a, b){
    if(a){
      var ret = a.getElementsByTagName("*");
      for(var i=0; ret[i]; i++){
        if(ret[i].id==b){
          return ret[i];
        }
      }
    }
  },
  
  findParent : function(a, b){  //a=son b=parent
    if(b){
      var ret = b.getElementsByTagName("*");
      for(var i=0; ret[i]; i++){
        if(ret[i]==a){
          return true;
        }
      }
    }
    return false;
  },
  

  getEventSrc : function(){
    return MTEAF.IE?Object.reEvent().srcElement:Object.reEvent().target;
  },
  
  getElement : function(id, srcObj){
    //获取对象
    if(!id){
      return;
    }
    
    var findFrom = null;
    if(srcObj){
      findFrom = srcObj
    }
    else{
      findFrom = document;
    }
    
    if(id.substring(0,1)=='.'){  //通过CSS得到所有对象，返回一个数组
      var ret = [];
      var tmp = [];
      ret = findFrom.getElementsByTagName("*");
      for(var i=0; ret[i]; i++){  //对所有进行循环
        var pass = (" " + ret[i].className + " ").indexOf( " "+id.substring(1)+" " ) >= 0;
        if(pass){
        	tmp.push( ret[i] );
        }
      }
      return tmp;
    }
    if(findFrom.getElementsByName(id)){
      var items = findFrom.getElementsByName(id);
      if(items.length>1){
        return items;
      }
    }
    if(findFrom.getElementById(id)){
      if(findFrom.getElementById(id).recordNumber){
        return findFrom.getElementsByName(id);
      }
      else{
        return findFrom.getElementById(id);
      }
    }
    else{
      if(top.indexmainframe){
        if(top.indexmainframe.workareaFrame){
          if(top.indexmainframe.workareaFrame.mainFrame){
            return top.indexmainframe.workareaFrame.mainFrame.document.getElementById(id);
          }
        }
      }
    }
  }
});

Function.prototype.bind = function () {
  //绑定事件
  var wc = this, a = $A(arguments), o = a.shift();
  
  return function () {
    wc.apply(o, a.concat($A(arguments)));
  };
};

Function.prototype.bindx = function () {
  //绑定事件
  var wc = this, a = $A(arguments), o = a.shift();
  
  return function () {
    wc.apply(o, a.concat($A(arguments)));
  };
};

/*--------------------------------------------------------------------------*/

var MTEAF = Class.create();

MTEAF.IE = /MSIE/.test(window.navigator.userAgent);

MTEAF.load = function (obj_string, func, time) {
   //加载对象
  var index = 0, timer = window.setInterval(function () {
    try {
      if (eval(obj_string + ".loaded")) {
        window.clearInterval(timer);
        func(eval("new " + obj_string));
      }
    } catch (exp) {}

    if (++ index == 20) window.clearInterval(timer);
  }, time + index * 3);
};

//mteaf.ajax
MTEAF.Ajax = Class.create();

Object.extend(MTEAF.Ajax, {

  getTransport: function() {
    return Try.these(
      function () { return new ActiveXObject('Msxml2.XMLHTTP') },
      function () { return new ActiveXObject('Microsoft.XMLHTTP') },
      function () { return new XMLHttpRequest() }
    ) || false;
  }
  
});

MTEAF.Ajax.prototype = {

  initialize : function (url) {
  //初始化
    var wc = this;
    wc.ajax = MTEAF.Ajax.getTransport();
    wc.mask = new MTEAF.Mask;
    //wc.messagePane = new MTEAF.MessagePane;
  },
  
  load : function (funca, funcb, intervalid, mask) {
    var wc = this, ajax = wc.ajax;
    
    if (ajax.readyState == 1 ){
      //var sobj = document.getElementById(obj);
      //if(sobj){  //生成一个mask+loading
      wc.mask.show();
      //}
    }

    if (ajax.readyState == 4 && ajax.status == 200){
      
      var maskctl = this.afterSend(ajax.responseText, funca, funcb);
      
      if(!maskctl){
        maskctl = '0';
      }

      if(wc.mask&&maskctl=='0'){
        wc.mask.hide();
      }
      
      if(intervalid){
      	clearInterval(intervalid);
      	//隐藏左下角进度条
        if(top.indexmainframe){
          if(top.indexmainframe.leftFrame){
    	    if(top.indexmainframe.leftFrame.leftBottomFrame){
              top.indexmainframe.leftFrame.leftBottomFrame.hideProgress();
            }
          }
        }
      }
      
      mt.getProcessStatus;

    }
    else if(ajax.readyState == 4 && ajax.status == 404){
      mt.showAlert('404未找到指定的页面！');
      if(intervalid){
      	clearInterval(intervalid);
      }
    }
    else if(ajax.readyState == 4 && ajax.status == 500){
      mt.showAlert('500页面内部错误！');
      if(intervalid){
      	clearInterval(intervalid);
      }
    }
  },
  
  send : function (url, funca, funcb, intervalid, mask) {
    var wc = this, ajax = wc.ajax, querys;
    
    querys = encodeURI(url);
    /*
    if(url.indexOf('?')>=0){
      querys = encodeURI(url) + "&random=" + new Date().getTime() + (10000 + parseInt(Math.random() * 10000));
    }
    else{
      querys = encodeURI(url)+ "?random=" + new Date().getTime() + (10000 + parseInt(Math.random() * 10000));
    }
    */
    //alert(querys);
    if(querys.indexOf("?")<0){
      querys = querys+"?";
    }

    ajax.open("post", querys.substring(0,querys.indexOf("?")), true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=gb2312");
    ajax.onreadystatechange = wc.load.bind(wc, funca, funcb, intervalid, mask);
    ajax.send(querys.substring(querys.indexOf("?")+1)+'&ajax=true');
  },
  
  load2 : function (funca, funcb, intervalid) {

    var wc = this, ajax = wc.ajax;
    
    if (ajax.readyState == 1 ){
    }
    if (ajax.readyState == 4 && ajax.status == 200){
      
      this.afterSend(ajax.responseText, funca, funcb);
      
      if(intervalid){
      	clearInterval(intervalid);
      	//隐藏左下角进度条
        if(top.indexmainframe){
          if(top.indexmainframe.leftFrame){
    	    if(top.indexmainframe.leftFrame.leftBottomFrame){
              top.indexmainframe.leftFrame.leftBottomFrame.hideProgress();
            }
          }
        }
      }
      
      mt.getProcessStatus;
    }
    else if(ajax.readyState == 4 && ajax.status == 404){
      mt.showAlert('404未找到指定的页面！');
      if(intervalid){
      	clearInterval(intervalid);
      }
    }
    else if(ajax.readyState == 4 && ajax.status == 500){
      mt.showAlert('500页面内部错误！');
      if(intervalid){
      	clearInterval(intervalid);
      }
    }
  },
  
  //不带mask的ajax请求
  send2 : function (url, funca, funcb, intervalid) {
    
    var wc = this, ajax = wc.ajax, querys;
    
    querys = encodeURI(url);
    
    /*
    if(url.indexOf('?')>=0){
      querys = encodeURI(url) + "&" + new Date().getTime() + (10000 + parseInt(Math.random() * 10000));
    }
    else{
      querys = encodeURI(url) + "?" + new Date().getTime() + (10000 + parseInt(Math.random() * 10000));
    }
    */
    
    if(querys.indexOf("?")<0){
      querys = querys+"?";
    }

    ajax.open("post", querys.substring(0,querys.indexOf("?")), true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=gb2312");
    ajax.onreadystatechange = wc.load2.bind(wc, funca, funcb, intervalid);
    ajax.send(querys.substring(querys.indexOf("?")+1)+'&ajax=true');
  },
  
  afterSend : function(){
    var wc = this;
    var successflag ;
    var msg ;
    var eventResponse ;
    var mask = arguments[3];
    
    if(arguments[0]){
      if(arguments[0].substring(0,1)=="{"){  //返回是json串
        eval("eventResponse = ("+arguments[0]+")");
      }
      else{  //返回是网页html
        msg = arguments[0];
      }
    }
    
    if(arguments[0].substring(0,1)!="{"){  //返回网页内容
      if(typeof(arguments[1]) == 'function'){
        if(arguments[2]&&typeof(arguments[2])!='function'){
          arguments[1](msg,arguments[2]);
        }
        else{
          arguments[1](msg);  //增加mask是为了能够在messagePane中隐藏mask
        }
      }
      else if(typeof(arguments[1])=='object'){
        if(arguments[1].tagName){
          if(arguments[1].tagName == 'DIV'||arguments[1].tagName=='SPAN'||arguments[1].tagName=='TD'){
            arguments[1].innerHTML = msg;
          }
        }
      }
      else{
        var sobj = document.getElementById(arguments[1]);
        if(sobj){
          sobj.innerHTML = msg ;
        } 
      }
    }
    else if(eventResponse.success == 'true'){  //返回json串成功
      if(typeof(arguments[1]) == 'function'){
        if(arguments[2]&&typeof(arguments[2])!='function'){
          arguments[1](eventResponse,arguments[2]);
        }
        else{
           //alert(eventResponse.returnvalue.percent);
           return arguments[1](eventResponse);
        }
      }
      else{
        var sobj = document.getElementById(arguments[1]);
        if(sobj){
          sobj.innerHTML = eventResponse.returnvalue ;
        } 
      }      
    }
    else if(eventResponse.success == 'false'){
      if(typeof(arguments[2]) == 'function'){  //执行对失败处理的函数
      	return arguments[2](eventResponse.errormessage, wc.mask);
      }
      else{
        var sobj = document.getElementById(arguments[2]);
        if(sobj){
          sobj.innerHTML = eventResponse.errormessage;
        } 
      }
    }
    else{  //直接执行回调函数
      if(arguments[1]){
        return arguments[1](arguments[0]);
      }
    }
    return '0';
  }
  
};  //end of mteaf.ajax

/*--------------------------------------------------------------------------*/

//mteaf mask
MTEAF.Mask = Class.create();

MTEAF.Mask.prototype = {
  
  initialize : function(){
    var wc = this;
    wc.status = 'hide';
    wc.maskDiv = top.document.createElement("div"); //创建mask的div
    wc.processDiv = top.document.createElement("div");
    //此处可修改为显示内容为自定义样式
    wc.maskDiv.id = "div_mask";
    wc.processDiv.id = "div_process";
    wc.processDiv.innerHTML = "正在载入...";
    wc.maskDiv.className = "el-static-mask";
    wc.processDiv.className = "el-process";
  },
  
  show : function(parent){
    var wc = this;
    if(wc.status == 'show'){
      return false;
    }
    if($(parent)){ //在指定的object上面覆盖上mask
      
    }
    else{  //在最上层覆盖mask
      wc.maskHandler = top.document.body;
      
      if(Object.findChild(wc.maskHandler,wc.maskDiv.id)){  //已经有一个mask
      	return;
      }
      //确定mask div的位置，全屏
      wc.maskDiv.style.top  = 0;
      wc.maskDiv.style.left = 0;
      wc.maskDiv.style.width = wc.maskHandler.scrollWidth>document.body.clientWidth?wc.maskHandler.scrollWidth:document.body.clientWidth + "px";
      wc.maskDiv.style.height = wc.maskHandler.scrollHeight>document.body.clientHeight?wc.maskHandler.scrollHeight:document.body.clientHeight + "px";      

      //确定process div的位置，屏幕居中
      wc.processDiv.style.top = parseInt((wc.maskHandler.offsetHeight - 30)/2)+document.body.scrollTop;
      wc.processDiv.style.left = parseInt((wc.maskHandler.offsetWidth - 110)/2)+document.body.scrollLeft;
      
      wc.maskHandler.appendChild(wc.maskDiv);
      wc.maskHandler.appendChild(wc.processDiv);
      
    }
    wc.status = 'show';
  },
  
  hide : function(){
    var wc = this;
    
    if(wc.status == 'show'){
      if(wc.maskHandler){
        //wc.maskHandler.removeChild(wc.processDiv); 
        //wc.maskHandler.removeChild(wc.maskDiv);
        wc.maskHandler.removeChild(Object.findChild(wc.maskHandler,'div_process')); 
        wc.maskHandler.removeChild(Object.findChild(wc.maskHandler,'div_mask'));
      }
    }
    wc.status = 'hide';
  },
  
  //强制关闭
  forcedHide : function(){
    var wc = this;
    
    if(wc.maskHandler){
      try{
        wc.maskHandler.removeChild(wc.processDiv);
        wc.maskHandler.removeChild(wc.maskDiv);
      }catch(E){
      	try{
          wc.maskHandler.removeChild(Object.findChild(wc.maskHandler,"div_process"));
          wc.maskHandler.removeChild(Object.findChild(wc.maskHandler,"div_mask"));
        }catch(E){}
      }
    }

    wc.status = 'hide';
  },
  
  setMessage : function(){
    var wc = this;
    var statusJson ;
    
    if(typeof(arguments[0])=='object'){
      statusJson = arguments[0];
    }
    else{
      eval("statusJson = ("+arguments[0]+")");
    }
    
    //在左下脚显示进度
    if(top.indexmainframe){
      if(top.indexmainframe.leftFrame){
      	if(top.indexmainframe.leftFrame.leftBottomFrame){
          top.indexmainframe.leftFrame.leftBottomFrame.refreshProgress(arguments[0]);
        }
      }
    }
    
    //在mask上显示进度
    if(arguments[0]){
      //top.document.getElementById('div_process').innerHTML = "<img src=\"../images/mteaf/grid-loading.gif\" style=\"vertical-align:middle;\"/>"+arguments[0];
    }
  }

};

/*--------------------------------------------------------------------------*/

MTEAF.prototype = {
  
  initialize : function () {
  //初始化成员
    var wc = this;
    wc.iFunc = wc.eFunc = null;
    
    //container处理
    wc.ajax = new MTEAF.Ajax; //建立ajax对象
    wc.ajax2 = new MTEAF.Ajax; //负责获取状态的ajax对象
    wc.mask = new MTEAF.Mask; //建立mask
    wc.modifyPane = new MTEAF.ModifyPane; //建立修改托盘
    wc.messagePane = new MTEAF.MessagePane; //建立消息托盘
    wc.serverUrl = 'MainServlet.action';
    wc.requestUrl = '';
    
    wc.tipJson = '';     //淡入淡出提示json串
    wc.colors=new Array
("FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","F9F9F9","F1F1F1","E9E9E9","E1E1E1","D9D9D9","D1D1D1","C9C9C9","C1C1C1","B9B9B9","B1B1B1","A9A9A9","A1A1A1","999999","919191","898989","818181","797979","717171","696969","616161","595959","515151","494949","414141","393939","313131","292929","212121","191919","111111","090909","000000");
//淡入淡出颜色
    wc.tipSrcSet = [];   //已经增加过事件的对象
    wc.showNumber = 0;   //控制淡入的数值
    wc.hideNumber = 38;  //控制淡出的数值
    
    wc.maskHandler = null;
    
    //初始化需要用到的控件
    wc.flatMessage = new MTEAF.FlatMessage;
    wc.snapMessage = new MTEAF.SnapMessage;
    wc.popupWin    = new MTEAF.PopupWin;
    wc.popupMenu   = null;
  },
  
  get_cookie : function () {
  //获取COOKIE
    return (/MTEAF=([^;]+)(?:;|$)/.exec(document.cookie) || [,])[1];
  },
  
  set_cookie : function () {
  //设置COOKIE
    var wc = this, date = new Date;
    date.setDate(date.getDate() + 1);
    document.cookie = "MTEAF=" + wc.create_json() + ";expires=" + date.toGMTString();
    //wc.ajax.send(wc.serverUrl+"?fcode=F001&tabid=<%=tabid%>&uds="+wc.create_json(),alert,"");
  },
  
  del_cookie : function () {
  //删除COOKIE
    var wc = this, cookie = wc.get_cookie(), date;
    if (cookie) {
      date = new Date;
      date.setTime(date.getTime() - 1);
      document.cookie = "MTEAF=" + cookie + ";expires=" + date.toGMTString();
    }
  },
  
  doAjaxRequest : function(theurl, funca, funcb){
    var wc = this;

    wc.ajax.send(encodeURI(theurl), funca, funcb);
    
  },
  
  doAjaxRequestNoMask : function(theurl, funca, funcb){
    var wc = this;
    
    wc.ajax2.send2(encodeURI(theurl), funca, funcb);
  },
  
  doAjaxDisplay : function(formObject, spanObject){
    var wc = this;
    
    fobj = document.getElementById(formObject);
    
    if(fobj.action){
      wc.serverUrl = fobj.action;
    }
    wc.requestUrl = '';
    //拼出url
    if(fobj){
      for(i=0; i<fobj.elements.length; i++){
        //alert(fobj.elements[i].type);
        if((fobj.elements[i].tagName == 'INPUT'&&fobj.elements[i].type != 'button'&&fobj.elements[i].type != 'submit'&&fobj.elements[i].type != 'reset')||fobj.elements[i].tagName == 'SELECT'||fobj.elements[i].tagName=="TEXTAREA"){
          var thevalue = fobj.elements[i].value;
          if(fobj.elements[i].tagName=='INPUT'&&fobj.elements[i].type=='checkbox'){
            if(!fobj.elements[i].checked){
              thevalue = (fobj.elements[i].uncheckedvalue)?fobj.elements[i].uncheckedvalue:'';
            }
          }
          wc.requestUrl = wc.requestUrl + fobj.elements[i].name + "=" + encodeURIComponent(thevalue.replaceAll('%','％')) + "&";
        }
      }
      wc.requestUrl = wc.serverUrl+"?"+wc.requestUrl;
    }
    //console.info(wc.serverUrl+"?"+wc.requestUrl);
    
    var periodicalExe=new PeriodicalExecuter(mt.getProcessStatus.bind(wc),0.5);
    
    wc.ajax.send(wc.requestUrl, displayResult, spanObject, periodicalExe.intervalid);
    
    //wc.ajax.send(wc.serverUrl+"?"+wc.requestUrl, displayResult, spanObject);
    
  },

  doAjaxDisplayNoMask : function(formObject, spanObject){
    var wc = this;
    
    fobj = document.getElementById(formObject);
    
    if(fobj.action){
      wc.serverUrl = fobj.action;
    }
    wc.requestUrl = '';
    //拼出url
    if(fobj){
      for(i=0; i<fobj.elements.length; i++){
        //alert(fobj.elements[i].type);
        if((fobj.elements[i].tagName == 'INPUT'&&fobj.elements[i].type != 'button'&&fobj.elements[i].type != 'submit'&&fobj.elements[i].type != 'reset')||fobj.elements[i].tagName == 'SELECT'||fobj.elements[i].tagName=="TEXTAREA"){
          var thevalue = fobj.elements[i].value;
          if(fobj.elements[i].tagName=='INPUT'&&fobj.elements[i].type=='checkbox'){
            if(!fobj.elements[i].checked){
              thevalue = (fobj.elements[i].uncheckedvalue)?fobj.elements[i].uncheckedvalue:'';
            }
          }
          wc.requestUrl = wc.requestUrl + fobj.elements[i].name + "=" + encodeURIComponent(thevalue.replaceAll('%','％')) + "&";
        }
      }
      wc.requestUrl = wc.serverUrl+"?"+wc.requestUrl;
    }
    //console.info(wc.serverUrl+"?"+wc.requestUrl);
    
    var periodicalExe=new PeriodicalExecuter(mt.getProcessStatus.bind(wc),0.5);
    
    wc.ajax.send2(wc.requestUrl, displayResult, spanObject, periodicalExe.intervalid);
    
    //wc.ajax.send(wc.serverUrl+"?"+wc.requestUrl, displayResult, spanObject);
    
  },
    
  doAjaxSubmit : function(formObject, funca, funcb){
    var wc = this;
    
    fobj = document.getElementById(formObject);
    
    if(fobj.action){
      wc.serverUrl = fobj.action;
    }
    wc.requestUrl = '';
    //拼出url
    if(fobj){
      for(i=0; i<fobj.elements.length; i++){
        if((fobj.elements[i].tagName == 'INPUT'&&fobj.elements[i].type != 'button'&&fobj.elements[i].type != 'submit'&&fobj.elements[i].type != 'reset')||fobj.elements[i].tagName == 'SELECT'||fobj.elements[i].tagName=="TEXTAREA"){
          var thevalue = fobj.elements[i].value;
          if(fobj.elements[i].tagName=='INPUT'&&fobj.elements[i].type=='checkbox'){
            if(!fobj.elements[i].checked){
              thevalue = (fobj.elements[i].uncheckedvalue)?fobj.elements[i].uncheckedvalue:'';
            }
          }
          wc.requestUrl = wc.requestUrl + fobj.elements[i].name + "=" + encodeURIComponent(thevalue.replaceAll('%','％'))+ "&";
        }
      }
      wc.requestUrl = wc.serverUrl+"?"+wc.requestUrl;
    }
    
    //console.info(wc.serverUrl+"?"+wc.requestUrl);
    
    //var periodicalExe=new PeriodicalExecuter(this.getProcessStatus.bind(wc),0.5);
    
    //wc.ajax.send(wc.requestUrl, funca, funcb, periodicalExe.intervalid);
    
    wc.ajax.send(wc.requestUrl, funca, funcb);
        
  },
  
  doAjaxSubmitNoMask : function(formObject, funca, funcb){
    var wc = this;
    
    fobj = document.getElementById(formObject);
    
    if(fobj.action){
      wc.serverUrl = fobj.action;
    }
    wc.requestUrl = '';
    //拼出url
    if(fobj){
      for(i=0; i<fobj.elements.length; i++){
        if((fobj.elements[i].tagName == 'INPUT'&&fobj.elements[i].type != 'button'&&fobj.elements[i].type != 'submit'&&fobj.elements[i].type != 'reset')||fobj.elements[i].tagName == 'SELECT'||fobj.elements[i].tagName=="TEXTAREA"){
          var thevalue = fobj.elements[i].value;
          if(fobj.elements[i].tagName=='INPUT'&&fobj.elements[i].type=='checkbox'){
            if(!fobj.elements[i].checked){
              thevalue = (fobj.elements[i].uncheckedvalue)?fobj.elements[i].uncheckedvalue:'';
            }
          }
          wc.requestUrl = wc.requestUrl + fobj.elements[i].name + "=" + encodeURIComponent(thevalue.replace('%','％'))+ "&";
        }
      }
      wc.requestUrl = wc.serverUrl+"?"+wc.requestUrl;
    }
    
    //console.info(wc.serverUrl+"?"+wc.requestUrl);
    
    //var periodicalExe=new PeriodicalExecuter(this.getProcessStatus.bind(wc),0.5);
    
    //wc.ajax.send(wc.requestUrl, funca, funcb, periodicalExe.intervalid);
    
    wc.ajax.send2(wc.requestUrl, funca, funcb);
        
  },
  
  doRefresh : function(theurl, spanObject){
    var wc = this;

    var periodicalExe=new PeriodicalExecuter(this.getProcessStatus.bind(wc),0.5);
    
    wc.ajax.send(wc.serverUrl+"?"+encodeURI(theurl), displayResult, spanObject, periodicalExe.intervalid);
    
  },
  
  doRefreshNoMask : function(theurl, spanObject){
    var wc = this;

    var periodicalExe=new PeriodicalExecuter(this.getProcessStatus.bind(wc),0.5);
    
    wc.ajax.send2(wc.serverUrl+"?"+encodeURI(theurl), displayResult, spanObject, periodicalExe.intervalid);
    
  },
  
  doJump : function(theurl, page, spanObject){
    var wc = this;
    
    if(page==null||page==""){
      return;
    }
    
    theurl = theurl + '&page='+page;
    
    wc.doRefresh(theurl, spanObject);
   
  },
  
  showMessage : function(msg, mask){
    var wc = this;
    if(!mask){
      mask = wc.mask;
    }
    if(mt.messagePane){
      mt.messagePane.hide(mask);
    }
    
    if(mask.status=='hide'){
      mask.show();
    } 

    mt.messagePane = new MTEAF.MessagePane;

    mt.messagePane.show(msg, 'alert', mask);
    return '1';
  },
  
  getProcessStatus : function(){
    var wc = this;
    wc.ajax2.send2(wc.serverUrl+"?processStatus=true",wc.mask.setMessage);
  },
  
  //显示一个messagePane，按照类型(alert/confirm/popwin)区分
  showWindow : function(msg, wintype, title, funca, buttonctl, funcb, winheight){
    var wc = this;
    if(!wintype){
      wintype = 'alert';
    }
    if(wc.messagePane){
      wc.messagePane.clearEvent();
      wc.messagePane.hide(wc.mask);
    }
    wc.mask.show();
    wc.messagePane = new MTEAF.MessagePane; //建立消息托盘
    top.messagePane = wc.messagePane;
    top.mask = wc.mask;
    
    return wc.messagePane.show(msg, wintype, wc.mask, title, funca, buttonctl, funcb, winheight);
  },
  
  //显示一个alert
  showAlert : function(msg,title){
    var wc = this;
    wc.showWindow(msg,'alert',title);
  },
  
  showConfirm : function(msg, funca, funcb, props){  //funca 为confirm函数, funcb为否函数
    var wc = this;
    var propset ;
    if(props){
      propset = props.split(',');
    }
    wc.showWindow(msg, 'confirm', propset?propset[0]:'提示', funca, propset?propset[1]:'',funcb);
    
    return '1';
  },
  
  showPopwin : function(theurl, title){
    var wc = this;
    wc.showWindow(theurl, 'popwin', title);
  },
  
  showCustomwin : function(theurl, props){
    var wc = this;
    
    if(props){
      propset = props.split(',');
    }
    wc.showWindow(theurl, 'popwin', propset[0], null, propset[1], null, propset[2]);
  },
  
  showLov : function(srcObject){
    var wc = this;
    wc.lov = new MTEAF.Lov;
    wc.lov.show(srcObject, 'custom');
    
  },
  
  showLovSimple : function(srcObject){
    var wc = this;
    wc.lov = new MTEAF.Lov;
    wc.lov.show(srcObject, 'simple');
  },

  showLevel2 : function(srcObject){
    var wc = this;
    wc.lov = new MTEAF.Lov;
    wc.lov.show(srcObject, 'level2');
  },
  
  showSuggest : function(srcObject){
    var wc = this;
    wc.lov = new MTEAF.Lov;
    wc.lov.show(srcObject, 'suggest');
    
  },
  
  //add by wangjian
  showSuggest_width : function(srcObject){
    var wc = this;
    wc.lov = new MTEAF.Lov;
    wc.lov.show(srcObject, 'suggest_width');
    
  },
  
  showSelect : function(srcObject){
    var wc = this;
    wc.lov = new MTEAF.Lov;
    wc.lov.showSelect(srcObject);
  },
  
  //add by wangjian
  showSltName : function(srcObject){
    var wc = this;
    wc.lov = new MTEAF.Lov;
    wc.lov.showSltName(srcObject);
	
  },
  
  showFree : function(srcObject){
    var wc = this;
    wc.lov = new MTEAF.Lov;
    wc.lov.show(srcObject,'free');
  },
  
  //初始化渐变提示
  initTips : function(theTipJson){
    var wc = this;
        
    if(theTipJson&&theTipJson!=''){
      this.tipJson = theTipJson;
    }
    
    for(i=0; i<this.tipJson.length; i++){
      subTipJson = this.tipJson[i];
      if($(subTipJson.tipsrc)){
      	if(wc.tipSrcSet.join().indexOf(subTipJson.tipsrc)>=0){
      	  continue;
      	}
        Object.addEvent($(subTipJson.tipsrc), ["onmouseover"], wc.showTip.bind(wc, subTipJson.tippane, subTipJson.tipmsg));
        Object.addEvent($(subTipJson.tipsrc), ["onmouseout"], wc.hideTip.bind(wc,subTipJson.tippane));
        wc.tipSrcSet.push(subTipJson.tipsrc);
      }
    }
    
    //alert(wc.tipSrcSet.length);
    
  },
  
  showTip : function(tippane, tipmsg){
    var wc = this;
    wc.showNumber=0;
    if(wc.periodicalExeHide){
      clearInterval(wc.periodicalExeHide.intervalid);
    }

    wc.periodicalExeShow=new PeriodicalExecuter(wc.changeColor.bind(wc,tippane,'show'),0.010);
    if($(tippane)&&tipmsg!=''){
      ($(tippane).tagName=='INPUT'||$(tippane).tagName=='TEXTAREA')?$(tippane).value=tipmsg:$(tippane).innerHTML = tipmsg;
    }
  },
  
  showTipDirect : function(srcObject){
    var wc = this;
    this.showTip(srcObject.tippane, srcObject.tipmsg);
  },
  
  hideTip : function(tippane){
    var wc = this;
    wc.hideNumber = 38;
    if(wc.periodicalExeShow){
      clearInterval(wc.periodicalExeShow.intervalid);
    }
    wc.periodicalExeHide=new PeriodicalExecuter(wc.changeColor.bind(wc,tippane,'hide'),0.010);
  },
  
  hideTipDirect : function(srcObject){
    var wc = this;
    this.hideTip(srcObject.tippane);
  },
  
  changeColor : function(tippane,tiptype){
    var wc = this;
    
    color=wc.colors[tiptype=='show'?wc.showNumber:wc.hideNumber];
    
    if($(tippane)){
      $(tippane).style.color = color;
    }
    
    if(tiptype=='show'){
      wc.showNumber = wc.showNumber+1;
    }
    else{
      wc.hideNumber = wc.hideNumber-1;
    }
    
    if(wc.showNumber==38){
      if(wc.periodicalExeShow){
        clearInterval(wc.periodicalExeShow.intervalid);
      }
    }
    if(wc.hideNumber==0){
      if(wc.periodicalExeHide){
        clearInterval(wc.periodicalExeHide.intervalid);
      }
    }
  },
    
  attr : function(obj, attrname, attrvalue){
    if(obj instanceof Array){ //是数组
      for(var i=0; obj[i]; i++){
      	if(attrname.toLowerCase()=="classname"){
          this.addClass(obj[i],attrvalue);
        }
        if(attrname.toLowerCase()=="value"){
          this.addValue(obj[i],attrvalue);
        }
      }
    }
    else{
      if(typeof obj == "string"){
        alert("string");
      }
      else{
        if(attrname.toLowerCase()=="classname"){
          this.addClass(obj,attrvalue);
        }
        if(attrname.toLowerCase()=="value"){
          this.addValue(obj,attrvalue);
        }
      }
    }	
  },
  
  removeAttr : function(obj, attrname, attrvalue){
    if(obj instanceof Array){ //是数组
      for(var i=0; obj[i]; i++){
      	if(attrname.toLowerCase()=="classname"){
          this.removeClass(obj[i],attrvalue);
        }
        if(attrname.toLowerCase()=="value"){
          this.removeValue(obj[i],attrvalue);
        }
      }
    }
    else{
      if(typeof obj == "string"){
        alert("string");
      }
      else{
        if(attrname.toLowerCase()=="classname"){
          this.removeClass(obj,attrvalue);
        }
        if(attrname.toLowerCase()=="value"){
          this.removeValue(obj,attrvalue);
        }
      }
    }
  },
  
  addClass : function(obj, newclass){
    if(obj){
      if(!this.hasClass(obj, newclass)){  //没有这个css
      	var newclassArray = newclass.split(/\s+/);
      	var classArray = (obj.className?obj.className.split(/\s+/):[]).concat(newclassArray);
      	obj.className = "";
      	for(var i=0; i<classArray.length; i++){
      	  obj.className += (obj.className ? " " : "") + classArray[i];
      	}
      }
    }
  },
  
  removeClass : function(obj, newclass){
    if(obj){
      if(this.hasClass(obj, newclass)){
      	var newclassArray = newclass.split(/\s+/);
      	var classArray = obj.className?obj.className.split(/\s+/):[];
      	obj.className = "";
      	for(var i=0; i<classArray.length; i++){
      	  if(this.inArray(classArray[i],newclassArray)==-1){
      	    obj.className += (obj.className ? " " : "") + classArray[i];
      	  }
        }
      }
    }
  },
  
  hasClass : function(obj, newclass){
    return this.inArray(newclass,obj.className.split(/\s+/)) > -1;
  },
  
  //一个对象是否在一个数组里
  inArray: function( elem, array ) {
    for ( var i = 0, length = array.length; i < length; i++ )
      if ( array[ i ] == elem )
	return i;

    return -1;
  },
	
  addValue : function(obj, newvalue){
    if(obj){
      if(obj.value){
        obj.value = newvalue;
      }
    }
  },
  
  //弹出页面顶部提示消息
  showHeadMessage : function(msg){
    var wc = this;
    wc.headMessage = new MTEAF.HeadMessage;
    wc.headMessage.show(msg);
  },
  
  //显示日期控件
  setDate : function(srcObject){
    var wc = this;
    
    wc.mtdate.show(srcObject);
    
  },
  
  showFlat : function(msg, handler, keys, yn){
    var wc = this;

    
    wc.flatMessage.show(msg, handler, keys, yn);
  },
  
  showFlatSuccess : function(msg, handler, keys){
    var wc = this;
    wc.showFlat(msg, handler, keys, 'success');
  },
  
  showFlatFault : function(msg, handler, keys){
    var wc = this;
    wc.showFlat(msg, handler, keys, 'fault');
  },
  
  showFlatCaution : function(msg, handler, keys){
    var wc = this;
    wc.showFlat(msg, handler, keys, 'caution');
  },
  
  showSnap : function(message, handler){
    var wc = this;
    wc.snapMessage.show(message, handler);
  },
  
  showSnapX : function(message){
    var wc = this;
    mt.showSnap(message, mt.snapHandler);
  },
  
  showSnapUrl : function(theurl ,handler){
    var wc = this;
    mt.snapHandler = handler;
    wc.ajax.send2(theurl, wc.showSnapX);
  },
  
  showPopup : function(srcObject){
    var wc = this;
    mt.popupWin.show(srcObject);
  },
  
  //载入数字
  loadingNumber : function(){
    var wc = this;
    var container = null;
    if(!window.portal){ //不是在portal里面，才执行此方法
      if(arguments[0]){
        container = arguments[0];
        
        if(container.tagName && (container.tagName == 'SPAN'||container.tagName == 'DIV')){
          //去掉container的loading图标
          mt.removeClass(container,"numberloading");
          mt.addClass(container,"numberloading_complete");
          var numberJson = eval("("+arguments[1]+")");
          if(numberJson.returnvalue){
            container.innerHTML = numberJson.returnvalue;
          }
          else{
            container.innerHTML = arguments[1];
          }
        }
    
      }

      var internalArray = Object.getElement(".ajaxload", container);
      if(internalArray&&internalArray.length>0){
        for(var i=0; i<internalArray.length; i++){
          if(internalArray[i].pagesrc){
            indajax = new MTEAF.Ajax; //建立ajax对象
            indajax.send2(internalArray[i].pagesrc, wc.loadingNumber.bind(wc, internalArray[i]));
          }
        }
      }
    }
  },
  
  //自动载入页面
  loadingPage : function(){
    var wc = this;
    var container = null;
    
    if(!window.portal){ //不在portal里，才执行此方法
      if(arguments[0]){
        container = arguments[0];
        if(container.tagName && (container.tagName == 'SPAN'||container.tagName == 'DIV')){
          container.innerHTML = arguments[1];
        }
      }
    
      var internalArray = Object.getElement(".ajaxload", container);
    
      if(internalArray&&internalArray.length>0){
        for(var i=0; i<internalArray.length; i++){
          if(internalArray[i].pagesrc){
            indajax = new MTEAF.Ajax; //建立ajax对象
            indajax.send2(internalArray[i].pagesrc, wc.loadingPage.bind(wc, internalArray[i]));
          }
        }
      }
    }
  },
  
  //弹出菜单
  showMenu : function(obj, menuurl){
    var mp = mouseCoords(window.event);
    if(mt.popupMenu){
      mt.popupMenu.destroy();
    }
    
    mt.popupMenu = new Menu();
    mt.popupMenu.mousePosition = mp;
    var ldItem = new MenuLoading();
    mt.popupMenu.add(ldItem);
    
    //document.title = "mp.y = "+mp.y;
    mt.popupMenu.showX(mp.x, mp.y, null, null, document.body, "up");
    
    if(obj&&typeof obj == "string" ){
      mt.popupMenu.preJsonstr = obj;
    }

    if(menuurl){
      this.doAjaxRequestNoMask(menuurl, mt.popupMenu.addFromJson.bind(this, mt.popupMenu));
    }
    else{
      mt.popupMenu.addFromJson(mt.popupMenu);
    }
    
  }
  
};

/*----------------------------end of mteaf prototype-------------------------------*/

//单项修改模式托盘
MTEAF.ModifyPane = Class.create();

MTEAF.ModifyPane.prototype = {
  
  initialize : function(){
    var wc = this;
    wc.modifyPane = null;        //托盘整体
    wc.modifyPaneLeft = null;    //左侧托盘（放显示内容）
    wc.modifyPaneHidden = null;  //隐藏托盘（放修改时的内容）
    wc.modifyPaneRight = null;   //右侧托盘（放修改放弃按钮）
    wc.modifyPaneModify = null;
    wc.modifyPaneSave = document.createElement("div");
    wc.modifyPaneCancel = document.createElement("div");
    wc.modifyPaneFlag = 'hide';
  },
  
  preModify : function(column_div, tablename, wherestring, functionid, columnset, displaycolumn){
    var wc = this;
    
    if(wc.modifyPaneFlag=='show'){
      this.cancelModify();
    }
    wc.modifyPane = $(column_div);
    wc.modifyPane.column_div = column_div;
    wc.modifyPane.tablename = tablename;
    wc.modifyPane.wherestring = wherestring;
    wc.modifyPane.columnset = columnset;
    wc.modifyPane.functionid = functionid;
    wc.modifyPane.displaycolumn = displaycolumn;
    for(i=0; i<wc.modifyPane.childNodes.length; i++){
      if(wc.modifyPane.childNodes[i].tagName=='DIV'){
        if(wc.modifyPane.childNodes[i].className=='div_left'){
          wc.modifyPaneLeft = wc.modifyPane.childNodes[i];
        }
        else if(wc.modifyPane.childNodes[i].className=='div_hidden'){
          wc.modifyPaneHidden = wc.modifyPane.childNodes[i];
        }
        else if(wc.modifyPane.childNodes[i].className=='div_right'){
          wc.modifyPaneRight = wc.modifyPane.childNodes[i];
          for(j=0; j<wc.modifyPaneRight.childNodes.length; j++){
            if(wc.modifyPaneRight.childNodes[j].tagName=='DIV'){
              wc.modifyPaneModify = wc.modifyPaneRight.childNodes[j];
            }
          }
        }
      }
    }
    if(wc.modifyPaneHidden.childNodes[0].type!='checkbox'){  //不是checkbox的时候重设宽度
      wc.modifyPaneHidden.childNodes[0].style.width = getCurrentStyle(wc.modifyPaneLeft,"width");
    }
    wc.modifyPaneRight.removeChild(wc.modifyPaneModify);
    wc.modifyPaneSave.innerHTML = "保存";
    wc.modifyPaneCancel.innerHTML = "取消";
    wc.modifyPaneSave.className = "div_right_save";
    wc.modifyPaneCancel.className = "div_right_cancel";
    wc.modifyPaneRight.appendChild(wc.modifyPaneSave);
    wc.modifyPaneRight.appendChild(wc.modifyPaneCancel);
    
    wc.mp_sFunc = Object.addEvent(wc.modifyPaneSave, ["onclick"], wc.doModify.bind(wc));
    wc.mp_cFunc = Object.addEvent(wc.modifyPaneCancel, ["onclick"], wc.cancelModify.bind(wc));

    wc.modifyPaneLeft.style.display = 'none';
    wc.modifyPaneHidden.style.display = 'block';
    
    wc.modifyPaneFlag = 'show';
  },
  
  doModify : function(){
    var wc = this;
    wc.ajax = new MTEAF.Ajax;
    wc.requestUrl = 'fid='+((wc.modifyPane.functionid)?wc.modifyPane.functionid:'')+
                    '&tablename='+((wc.modifyPane.tablename)?wc.modifyPane.tablename:'')+
                    '&wherestring='+((wc.modifyPane.wherestring)?wc.modifyPane.wherestring:'')+
                    '&columnset='+((wc.modifyPane.columnset)?wc.modifyPane.columnset:'')+
                    '&displaycolumn='+((wc.modifyPane.displaycolumn)?wc.modifyPane.displaycolumn:'');
    
    //对显示出来的框子做循环，得出要修改的参数
    for(i=0; i<wc.modifyPaneHidden.childNodes.length; i++){
      if(wc.modifyPaneHidden.childNodes[i].name&&wc.modifyPaneHidden.childNodes[i].value){
        var thevalue = wc.modifyPaneHidden.childNodes[i].value;
        if(wc.modifyPaneHidden.childNodes[i].tagName=='INPUT'&&wc.modifyPaneHidden.childNodes[i].type=='checkbox'){
          if(!wc.modifyPaneHidden.childNodes[i].checked){
            thevalue = (wc.modifyPaneHidden.childNodes[i].uncheckedvalue)?wc.modifyPaneHidden.childNodes[i].uncheckedvalue:'';
          }
        }
        wc.requestUrl = wc.requestUrl+'&'+wc.modifyPaneHidden.childNodes[i].name+'='+thevalue;
      }
    }
    
    wc.ajax.send("MainServlet.action"+"?"+wc.requestUrl, wc.afterModify.bind(wc), wc.modifyPane);;
    
  },
  
  cancelModify : function(){
    var wc = this;
    
    if(wc.mp_sFunc){
      Object.delEvent(wc.modifyPaneSave, ["onclick"], wc.mp_sFunc);
    }
    if(wc.mp_cFunc){
      Object.delEvent(wc.modifyPaneCancel, ["onclick"], wc.mp_cFunc);
    }
    
    if(wc.modifyPaneRight){
      wc.modifyPaneRight.removeChild(wc.modifyPaneSave);
    }
    if(wc.modifyPaneRight){
      wc.modifyPaneRight.removeChild(wc.modifyPaneCancel);
      wc.modifyPaneRight.appendChild(wc.modifyPaneModify);
    }
    if(wc.modifyPaneLeft){
      wc.modifyPaneLeft.style.display = 'block';
    }
    if(wc.modifyPaneHidden){
      wc.modifyPaneHidden.style.display = 'none';
    }
    if(arguments[0]){
      if(typeof(arguments[0])=='string'){
        if(wc.modifyPaneLeft){
          wc.modifyPaneLeft.innerHTML = arguments[0];
        }
      }
    }
    
    wc.modifyPaneFlag = 'hide';
  },
  
  afterModify : function(){  //用于将页面恢复原状
    var wc = this;
    wc.cancelModify(arguments[0]);
  }
  
};

/*--------------------------------------------------------------------------*/
//消息内容显示托盘
MTEAF.MessagePane = Class.create();

MTEAF.MessagePane.prototype = {
  
  //初始化	
  initialize : function(){
    var wc = this;
    wc.MPaneHandler = null;
    wc.MPaneRoot = top.document.createElement("div");  //根
    wc.MPaneRoot.innerHTML = "<table width=\"100%\" class=\"popTabBorder\"><tr><td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td class=\"popTdTitleBg\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td id=\"msg_td_title\" class=\"popTdTitle\">提示</td><td id=\"msg_td_close\" align=\"right\" class=\"popTdClose\"><div class=\"popClose\"></div></td></tr></table></td></tr><tr><td class=\"popAlignCenter\"><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"popTabBorderMedial\"><tr><td><div id=\"msg_span_content\" class=\"popTabContent\">确认成功！</div></td></tr></table></td></tr><tr><td id=\"msg_td_button\" class=\"popButtonC\"><input id=\"msg_btn_ok\" name=\"btnok\" type=\"button\" class=\"popButton\" value=\"确定\" />&nbsp;<input id=\"msg_btn_no\" name=\"btnno\" type=\"button\" class=\"popButton\" value=\"否\">&nbsp;<input id=\"msg_btn_cancel\" name=\"btncancel\" type=\"button\" class=\"popButtonCancel\" value=\"取消\"></td></tr></table></td></tr></table>";
    wc.MPaneRoot.className = "message_pane";
    
    wc.MPaneTitleC       = Object.findChild(wc.MPaneRoot,'msg_td_title');   //标题托盘
    wc.MPaneCloseC       = Object.findChild(wc.MPaneRoot,'msg_td_close');   //关闭按钮托盘
    wc.MPaneContentC     = Object.findChild(wc.MPaneRoot,'msg_span_content'); //内容托盘
    wc.MPaneButtonC      = Object.findChild(wc.MPaneRoot,'msg_td_button');  //按钮托盘
    wc.MPaneButtonOk     = Object.findChild(wc.MPaneRoot,'msg_btn_ok');    //确定按钮
    wc.MPaneButtonNo     = Object.findChild(wc.MPaneRoot,'msg_btn_no');    //否按钮
    wc.MPaneButtonCancel = Object.findChild(wc.MPaneRoot,'msg_btn_cancel');    //取消按钮
       
    wc.MPaneButtonOk.value = '确定';
    
    wc.MPaneTitle = '提示';
    
    wc.window = window;
  },
  
  //显示
  show : function(message, wintype, mask, title, func, buttonctl, funcb, winheight){  //func是confirm确定时的回调函数, funcb是否按钮按下时的回调函数
    var wc = this;
    wc.MPaneHandler = top.document.body;
    if(wintype!='popwin_next'){
      wc.curMask = mask;
      wc.curMPaneTitle = title;
      wc.curButtonctl = buttonctl;
      wc.winheight = null;
      wc.MPaneContentC.style.height = "";
    }
    
    if(title){
      wc.MPaneTitle = title;
    }
    else{
      wc.MPaneTitle = '提示';
    }
    
    if(!wintype||wintype==''){
      wintype = 'alert';
    }
    
    //按钮先隐藏
    wc.MPaneButtonOk.style.display = 'none'; //不能写block，否则button会换行
    wc.MPaneButtonNo.style.display = 'none'; //不能写block，否则button会换行
    wc.MPaneButtonCancel.style.display = 'none';
      
    if(wintype.toLowerCase() == 'alert'){  //提示窗口
      wc.MPaneContentC.innerHTML = message;
      
      wc.MPaneRoot.style.width = '240px';
      
      //提示窗口只显示确定按钮
      wc.MPaneButtonOk.style.display = ''; //不能写block，否则button会换行
      wc.MPaneButtonCancel.style.display = 'none';
      
      //给按钮增加事件
      wc.mp_okFun = Object.addEvent(wc.MPaneButtonOk, ["onclick"], wc.hide.bind(wc, wc.curMask));
      wc.mp_closeFun = Object.addEvent(wc.MPaneCloseC, ["onclick"], wc.hide.bind(wc, wc.curMask));
    }
    else if(wintype.toLowerCase() == 'confirm'){ //确认窗口
      
      wc.MPaneContentC.innerHTML = message;
      
      wc.MPaneRoot.style.width = '240px';
      
      wc.mp_okFun = Object.addEvent(wc.MPaneButtonOk, ["onclick"], wc.hide.bind(wc, mask, func));
      wc.mp_NoFun = Object.addEvent(wc.MPaneButtonNo, ["onclick"], wc.hide.bind(wc, mask, funcb));
      wc.mp_cancelFun = Object.addEvent(wc.MPaneButtonCancel, ["onclick"], wc.hide.bind(wc, mask));
      wc.mp_closeFun = Object.addEvent(wc.MPaneCloseC, ["onclick"], wc.hide.bind(wc, mask));
      
      //判断button显示的设置
      if(wc.curButtonctl){
      	if(wc.curButtonctl.substring(0,1) == '0'){
          wc.MPaneButtonOk.style.display = '';
        }
        if(wc.curButtonctl.substring(1,2) == '0'){
          wc.MPaneButtonNo.style.display = '';
          wc.MPaneButtonOk.value = '是';
        }
        if(wc.curButtonctl.substring(2,3) == '0'){
          wc.MPaneButtonCancel.style.display = '';
        }
        
        if(wc.curButtonctl == '111'){ //都不显示
          wc.MPaneButtonC.style.display = 'none';
        }
        else{
          wc.MPaneButtonC.style.display = '';
        }

      }
      else{  //默认显示ok和cancel
        wc.MPaneButtonOk.style.display = ''; 
        wc.MPaneButtonCancel.style.display = '';
      }
    }
    else if(wintype.toLowerCase() == 'popwin'){ //弹出窗口
      wc.winheight = winheight;
      mt.doAjaxRequestNoMask(message,wc.showPopwinNext.bind(wc), null, null, mask);
      return;
    }
    else if(wintype.toLowerCase() == 'popwin_next'){ //处理弹出窗口
      if(wc.curMPaneTitle){
      	wc.MPaneTitle = wc.curMPaneTitle;
      }
      else{
        wc.MPaneTitle = '查询条件';
      }
      
      wc.MPaneContentC.innerHTML = message;
      
      wc.btn_query = Object.findChild(wc.MPaneContentC,'cw_btn_query');
      
      if(MTEAF.IE){
        if(wc.MPaneContentC.childNodes[0]){
          wc.MPaneRoot.style.width = wc.MPaneContentC.childNodes[0].style.width;
        }
      }
      else{
        if(wc.MPaneContentC.childNodes[1]){
          wc.MPaneRoot.style.width = wc.MPaneContentC.childNodes[1].style.width;
        }
      }
      
      //alert(wc.MPaneContentC.childNodes[0].clientHeight);
      
      if(wc.winheight){
      	wc.MPaneRoot.style.height = wc.winheight + "px";
        wc.MPaneContentC.style.height = wc.winheight + "px";
        wc.MPaneContentC.style.overflowX = 'auto';
        wc.MPaneContentC.style.overflow = 'scroll';
      }
      
      //给按钮增加事件
      wc.mp_okFun = Object.addEvent(wc.MPaneButtonOk, ["onclick"],wc.submitForm.bind(wc, wc.curMask));
      wc.mp_NoFun = Object.addEvent(wc.MPaneButtonNo, ["onclick"], wc.hide.bind(wc, wc.curMask));
      wc.mp_cancelFun = Object.addEvent(wc.MPaneButtonCancel, ["onclick"], wc.hide.bind(wc, wc.curMask));
      wc.mp_closeFun = Object.addEvent(wc.MPaneCloseC, ["onclick"], wc.hide.bind(wc, wc.curMask));
      
      //判断button显示的设置
      if(wc.curButtonctl){
        if(wc.curButtonctl.substring(0,1) == '0'){
          wc.MPaneButtonOk.style.display = '';
        }
        if(wc.curButtonctl.substring(1,2) == '0'){
          wc.MPaneButtonNo.style.display = '';
          wc.MPaneButtonOk.value = '是';
        }
        if(wc.curButtonctl.substring(2,3) == '0'){
          wc.MPaneButtonCancel.style.display = '';
        }
        if(wc.curButtonctl == '111'){ //都不显示
          wc.MPaneButtonC.style.display = 'none';
        }
        else{
          wc.MPaneButtonC.style.display = '';
        }

      }
      else{  //默认显示ok和cancel
        wc.MPaneButtonOk.style.display = ''; 
        wc.MPaneButtonCancel.style.display = '';
      }
      
    }
    
    //增加对esc按键的响应
    wc.mp_escFun = Object.addEvent(wc.MPaneHandler, ["onkeydown"],wc.doEscStart.bind(wc));
    
    wc.MPaneRoot.style.top  = 0;
    wc.MPaneRoot.style.left = 0;
    
    wc.MPaneTitleC.innerHTML = wc.MPaneTitle;

    wc.MPaneHandler.appendChild(wc.MPaneRoot);
    
    //调整显示的位置为窗口居中
    wc.MPaneRoot.style.top = parseInt((wc.MPaneHandler.offsetHeight - wc.MPaneRoot.offsetHeight-40)/2)+top.document.body.scrollTop;
    wc.MPaneRoot.style.left = parseInt((wc.MPaneHandler.offsetWidth - wc.MPaneRoot.offsetWidth)/2)+top.document.body.scrollLeft;
    
    wc.MPaneRoot.style.display = 'block';
    
    //设定默认焦点
    if(wintype=='confirm'){
      if(wc.MPaneButtonNo.style.display != 'none'){
        wc.MPaneButtonNo.focus();
      }
    }
    else{
      if(wc.MPaneButtonOk.style.display != 'none'){
        wc.MPaneButtonOk.focus();
      }
    }
    
    if(wc.btn_query){
      wc.MPaneButtonOk.disabled = wc.btn_query.disabled;
      wc.btn_query.fireEvent("onclick");
    }
    else{
      wc.MPaneButtonOk.disabled = false;
    }
  },
  
  setButtonDisabled : function(btn,stat){
    var wc = this;
    if(btn == 'ok'){
      wc.MPaneButtonOk.disabled = stat;
    }
    if(btn == 'no'){
      wc.MPaneButtonNo.disabled = stat;
    }
    if(btn == 'cancel'){
      wc.MPaneButtonCancel.disabled = stat;
    }
  },
  
  showPopwinNext : function(){
    var wc = this;
    
    wc.show(arguments[0],'popwin_next');
    
  },
  
  //提交读入的form
  submitForm : function(){
    var wc = this;
    //var child = MTEAF.IE?wc.MPaneContentC.childNodes:wc.MPaneContentC.childNodes;
    var child = wc.MPaneContentC.getElementsByTagName("INPUT");
    for(i=0 ; i<child.length; i++){
      //alert(child[i].innerHTML);
      if(child[i].tagName == 'INPUT'&&child[i].type == 'button'){
      	child[i].fireEvent('onclick');
        break;
      }
    }
    
    //关闭
    wc.MPaneCloseC.fireEvent('onClick');
  },
  
  clearEvent : function(){
    var wc = this;
    
    if(wc.mp_okFun){
      Object.delEvent(wc.MPaneButtonOk, ["onclick"], wc.mp_okFun);
    }
    
    if(wc.mp_cancelFun){
      Object.delEvent(wc.MPaneButtonCancel, ["onclick"], wc.mp_cancelFun);
    }
    
    if(wc.mp_closeFun){
      Object.delEvent(wc.MPaneCloseC, ["onclick"], wc.mp_closeFun);
    }
    
    if(wc.mp_NoFun){
      Object.delEvent(wc.MPaneButtonNo, ["onclick"], wc.mp_NoFun);
    }
    
    if(wc.mp_escFun){
      Object.delEvent(wc.MPaneHandler, ["onkeydown"], wc.mp_escFun);
    }
  },
  
  //响应ESC按键
  doEscStart : function(a){
    var wc = this;
    
  },
  
  //隐藏
  hide : function(mask){
    var wc = this;
    
    wc.clearEvent();
    
    //alert("1="+arguments[1]+"/2="+arguments[2]);
    if(wc.MPaneHandler){
      if(wc.MPaneRoot){
        wc.MPaneHandler.removeChild(wc.MPaneRoot);
        delete wc.MPaneRoot;
      }
    }
    
    if(mask){
      mask.forcedHide();
    }
    
    if(arguments[1]&&typeof(arguments[1])=='function'){
      arguments[1]();
    }
  }
};

/*--------------------------------------------------------------------------*/


//消息内容显示托盘
MTEAF.Lov = Class.create();

MTEAF.Lov.prototype = {
  
  //初始化	
  initialize : function(){
    var wc = this;
    wc.ajax = null;
    wc.lovHandler = null;
    wc.obj = { on : { a : null, b : "" }, row : null, left : 0, top : 0 };
    wc.lovRoot = null;
  },
  
  //三个条件：位置，内容，样式。srcObject决定位置，srcObject的自定义属性决定内容，lovtype决定样式
  show : function(srcObject,lovtype){
    var wc = this;
    
    wc.lovRoot = document.createElement("div");  //根
    wc.lovHandler = document.body;
    
    wc.lovRoot.innerHTML = "<table width=\"150px\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"lovTabBorder\"><tr><td align=\"center\"><div id=\"lov_content\" class=\"lovContent\"><img src=\"../../images/mteaf/large-loading.gif\" style=\"vertical-align:middle;display:none\"/></div></td></tr></table>";
    wc.lovRoot.className = "lov_pane";
    wc.lovContent = Object.findChild(wc.lovRoot,"lov_content");
    
    wc.lovtype = lovtype;
    wc.srcObject = srcObject;
    
    //alert(event.srcElement.tagName);
    
    wc.lovRoot.style.top  = 0;
    wc.lovRoot.style.left = 0;
    
    //获得srcElement的绝对位置
    var l=srcObject.offsetLeft;
    var t=srcObject.offsetTop;
      
    while(srcObject=srcObject.offsetParent){
      l += srcObject.offsetLeft;
      t += srcObject.offsetTop;
    }
    //e.clientHeight;
    if(!lovtype||lovtype == ''||lovtype == 'suggest'){   //suggest模式下获得lov的位置，custom模式下显示在窗口中央
      
      wc.lovRoot.style.width = (Object.getEventSrc().clientWidth+2) + "px";
      
      wc.lovRoot.style.left =l+"px";
      wc.lovRoot.style.top = (t+Object.getEventSrc().clientHeight+3) + "px";
      //给handler绑定事件，在body上其他位置点击时隐藏
      wc.lov_hideFun = Object.addEvent(wc.lovHandler, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      
      //调整高度-add by wangjian
	  wc.lovContent.style.height = 'auto';
      wc.lovContent.style.overflowX = 'auto';
      wc.lovContent.style.overflow = 'scroll';
	  
    }
    else if(lovtype == 'suggest_width'){   //add by wangjian
      wc.lovRoot.style.width = (Object.getEventSrc().clientWidth+2) + "px";
      
      wc.lovRoot.style.left =l+"px";
      wc.lovRoot.style.top = (t+Object.getEventSrc().clientHeight+3) + "px";
      //给handler绑定事件，在body上其他位置点击时隐藏
      wc.lov_hideFun = Object.addEvent(wc.lovHandler, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      //调整高度-add by wangjian
	  
      wc.lovContent.style.height = "200";
      wc.lovContent.style.overflowX = 'auto';
      wc.lovContent.style.overflow = 'scroll';
    }
    else if(lovtype == 'free'){  //free模式，根据srcObject确定位置，根据lovurl确定大小，例如网站地图
      //wc.lovRoot.style.width = (event.srcElement.clientWidth+2) + "px";
      wc.lovContent.style.height = "50px";
      //wc.lovContent.style.width = "50px";
      wc.lovRoot.style.left =l+"px";
      wc.lovRoot.style.top = (t+Object.getEventSrc().clientHeight+15) + "px";
      //给handler绑定事件，在body上其他位置点击时隐藏
      wc.lov_hideFun = Object.addEvent(wc.lovHandler, ["onclick"], wc.hide.bind(wc, wc.srcObject));
    }
    else if(lovtype == 'level2'){
      wc.lovRoot.innerHTML = "<table width=\"270\" height=\"400\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"lovTabBorder\"><tr><td valign=\"top\" height=\"10px\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td class=\"lovTdTitleBg\" id=\"lov_title\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td id=\"lov_td_title\" class=\"lovTdTitle\">值列表</td><td id=\"lov_td_close\" class=\"lovTdClose\" width=\"10px\"><img src=\"../../images/mteaf/popClose.gif\" width=\"13\" height=\"13\"/></td></tr></table></td></tr></table></td></tr><tr><td align=\"center\" valign=\"top\"><div id=\"lov_content\" class=\"lovContent\"><img src=\"../../images/mteaf/large-loading.gif\" style=\"vertical-align:middle;display:none\"/></div></td></tr></table>";
      wc.lovContent = Object.findChild(wc.lovRoot,"lov_content");
      wc.lovClose   = Object.findChild(wc.lovRoot,"lov_td_close");
      wc.lovTitle   = Object.findChild(wc.lovRoot,"lov_td_title");
      
      //custom lov的大小和位置是固定的
      wc.lovRoot.style.top = parseInt((wc.lovHandler.clientHeight - 350)/2)+document.body.scrollTop-50;
      wc.lovRoot.style.left = parseInt((wc.lovHandler.clientWidth - 270)/2)+document.body.scrollLeft;
      
      wc.lov_closeFun = Object.addEvent(wc.lovClose, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      //wc.lov_hideContentFun = Object.addEvent(wc.lovContent, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      wc.lov_sMoveFun = Object.addEvent(wc.lovTitle, ["onmousedown"], wc.sMove.bind(wc));
    }
    else if(lovtype == 'simple'){
      wc.lovRoot.innerHTML = "<table width=\"270\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"lovTabBorder\" style=\"border : 1px solid\"><tr><td valign=\"top\" height=\"10px\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td class=\"lovTdTitleBg\" id=\"lov_title\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td id=\"lov_td_title\" class=\"lovTdTitle\">值列表</td><td id=\"lov_td_close\" class=\"lovTdClose\" width=\"10px\"><img src=\"../../images/mteaf/popClose.gif\" width=\"13\" height=\"13\"/></td></tr></table></td></tr></table></td></tr><tr><td align=\"center\" valign=\"top\"><div id=\"lov_content\" class=\"lovContent\"><img src=\"../../images/mteaf/large-loading.gif\" style=\"vertical-align:middle;display:none\"/></div></td></tr></table>";
      wc.lovContent = Object.findChild(wc.lovRoot,"lov_content");
      wc.lovClose   = Object.findChild(wc.lovRoot,"lov_td_close");
      wc.lovTitle   = Object.findChild(wc.lovRoot,"lov_td_title");

      wc.lovContent.innerHTML = wc.srcObject.outerHTML;
      
    }
    else{  //处理custom模式
      wc.lovRoot.innerHTML = "<table width=\"270\" height=\"350\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"lovTabBorder\"><tr><td valign=\"top\" height=\"10px\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td class=\"lovTdTitleBg\" id=\"lov_title\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td id=\"lov_td_title\" class=\"lovTdTitle\">值列表</td><td id=\"lov_td_close\" class=\"lovTdClose\" width=\"10px\"><img src=\"../../images/mteaf/popClose.gif\" width=\"13\" height=\"13\"/></td></tr></table></td></tr></table></td></tr><tr><td align=\"center\" valign=\"top\"><div id=\"lov_content\" class=\"lovContent\"><img src=\"../../images/mteaf/large-loading.gif\" style=\"vertical-align:middle;display:none\"/></div></td></tr></table>";
      wc.lovContent = Object.findChild(wc.lovRoot,"lov_content");
      wc.lovClose   = Object.findChild(wc.lovRoot,"lov_td_close");
      wc.lovTitle   = Object.findChild(wc.lovRoot,"lov_td_title");
      
      //custom lov的大小和位置是固定的
      wc.lovRoot.style.top = parseInt((wc.lovHandler.clientHeight - 350)/2)+document.body.scrollTop;
      wc.lovRoot.style.left = parseInt((wc.lovHandler.clientWidth - 270)/2)+document.body.scrollLeft;
      
      wc.lov_closeFun = Object.addEvent(wc.lovClose, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      //wc.lov_hideContentFun = Object.addEvent(wc.lovContent, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      wc.lov_sMoveFun = Object.addEvent(wc.lovTitle, ["onmousedown"], wc.sMove.bind(wc));
    }
    
    //设定Lov的titile，通过wc.srcObject.lovtitle
    if(wc.srcObject.lovtitle){
      wc.lovTitle.innerHTML = wc.srcObject.lovtitle;
    }
    
    wc.lovHandler.appendChild(wc.lovRoot);
    
    wc.lovRoot.style.display = 'block';
    
    if(wc.lovtype == 'simple'){
      
      wc.lovContent.firstChild.style.display = 'block';
      
      wc.lovContent.style.background = "";
      //调整大小和位置
      wc.lovContent.style.width = wc.srcObject.style.width;
      wc.lovContent.style.height = wc.srcObject.style.height;
      
      wc.lovRoot.style.top = parseInt((wc.lovHandler.clientHeight - wc.lovRoot.clientHeight)/2)+document.body.scrollTop-10;
      wc.lovRoot.style.left = parseInt((wc.lovHandler.clientWidth - wc.lovRoot.clientWidth)/2)+document.body.scrollLeft;
      
      //是否显示mask
      if(wc.srcObject.mask&&wc.srcObject.mask == 'true'&&document==top.document){
      	wc.mask = new MTEAF.Mask;
      	wc.mask.show();
      }

      wc.lov_closeFun = Object.addEvent(wc.lovClose, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      //wc.lov_hideContentFun = Object.addEvent(wc.lovContent, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      wc.lov_sMoveFun = Object.addEvent(wc.lovTitle, ["onmousedown"], wc.sMove.bind(wc));
      
      return;
    }
    //获取内容
    //alert(wc.srcObject.lovurl);
    wc.ajax = new MTEAF.Ajax;
    
    if(wc.srcObject.recordNumber){  //是多行录入情况
      if(wc.srcObject.lovurl.indexOf("?")<0){
        wc.srcObject.lovurl =  wc.srcObject.lovurl + "?rn="+wc.srcObject.recordNumber;
      }
      else{
        wc.srcObject.lovurl =  wc.srcObject.lovurl + "&rn="+wc.srcObject.recordNumber;
      }
    }
    
    wc.ajax.send2(encodeURI(wc.srcObject.lovurl), wc.getContent.bind(wc));
  },
  
  //得到下拉列表
  showSelect : function(srcObject){
    var wc = this;
    
    wc.srcObject = srcObject;
    
    if(document.getElementById('lov_table_key')){
      return;
    }
    
    wc.lovRoot = document.createElement("div");  //根
    wc.lovRoot.innerHTML = "<table width=\"150px\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"lovTabBorder\"><tr><td align=\"center\"><div id=\"lov_content\" class=\"lovContent\"><img src=\"../../images/mteaf/large-loading.gif\" style=\"vertical-align:middle;display:none\"/></div></td></tr></table>";
    wc.lovRoot.className = "lov_pane";
    wc.lovContent = Object.findChild(wc.lovRoot,"lov_content");
    
    wc.oldvalue = srcObject.value;
    
    wc.lovHandler = document.body;
    
    var valuejson = null;
    
    var itemset = new Array;
    
    if(srcObject.toitem){
      itemset = srcObject.toitem.split(',');
    }
    else{
      itemset[0] = srcObject.id;
    }
    
    if(srcObject.valuejson!=""){
      eval(" valuejson = "+srcObject.valuejson);
    }
    else{
      valuejson = {};
    }
    
    var tempstr = "<table id=\"lov_table_key\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" class=\"lovTabBorderMedial\">";
    
    var m = 0;
    
    if(srcObject.isMulti&&srcObject.isMulti=="true"){  //多选
      for(var i in valuejson){
        tdclass = (m%2==0)?"lovTdBgLightblue":"lovTdBgGray";
        tempstr = tempstr + "<tr>"
        tempstr = tempstr + "<td width=\"5px\" class=\""+tdclass+"\"><input id=\"lov_checkbox_"+m+"\" type=\"checkBox\" class=\"chkSelect\" value=\""+valuejson[i]+"\" valuedm=\""+i+"\"></td>"
        tempstr = tempstr + "<td class=\""+tdclass+"\">"+valuejson[i]+"</td>";
        m++;
      }
    }
    else{
      for (var i in valuejson){
        tdclass = (m%2==0)?"lovTdBgLightblue":"lovTdBgGray";
        if(itemset.length>1){
          if(srcObject.recordNumber){  //多行录入的情况
            tempstr = tempstr + "<tr onClick=document.getElementById(\""+itemset[0]+"\")["+(parseInt(srcObject.recordNumber)-1)+"].value='"+i+"';document.getElementById(\""+itemset[1]+"\")["+(parseInt(srcObject.recordNumber)-1)+"].value='"+valuejson[i]+"'>";
          }
          else{
            tempstr = tempstr + "<tr onClick=document.getElementById(\""+itemset[0]+"\").value='"+i+"';document.getElementById(\""+itemset[1]+"\").value='"+valuejson[i]+"'>";
          }
        }
        else{
          if(srcObject.recordNumber){  //多行录入的情况
            tempstr = tempstr + "<tr onClick=document.getElementById(\""+itemset[0]+"\")["+(parseInt(srcObject.recordNumber)-1)+"].value='"+valuejson[i]+"';>";
          }
          else{
            tempstr = tempstr + "<tr onClick=document.getElementById(\""+itemset[0]+"\").value='"+valuejson[i]+"';>";
          }
        }
        //增加是否显示代码的控制
        if(srcObject.isDm&&srcObject.isDm=='true'){
          tempstr = tempstr + "<td class=\""+tdclass+"\">"+i+"</td><td class=\""+tdclass+"\">"+valuejson[i]+"</td>";
        }
        else{
          tempstr = tempstr + "<td class=\""+tdclass+"\">"+valuejson[i]+"</td>";
        }
        tempstr = tempstr + "</tr>";
        m++;
      }
    }
    tempstr = tempstr+"</table>";
    
    //是否可以选择“无” srcObject.canNull="true"
    if(!srcObject.canNull||srcObject.canNull=='true'){
      if(!srcObject.isMulti||(srcObject.isMulti&&srcObject.isMulti=='false')){
        tempstr = tempstr+"<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" class=\"lovTabBorderMedial\"><tr id=\"lov_null_tr\"><td class=\"lovTdBgGray\">(无...)</td></tr></table>";
      }
    }
    else if(srcObject.canNull=='false'){
    }
    
    //是否可以选择“更多” srcObject.canMore="true"
    if(srcObject.canMore&&srcObject.canMore=='true'){
      tempstr = tempstr+"<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" class=\"lovTabBorderMedial\"><tr id=\"lov_more_tr\"><td class=\"lovTdBgGray\">(更多...)</td></tr></table>";
    }
    
    if(srcObject.isMulti&&srcObject.isMulti=="true"){  //多选增加关闭选项，上面和下面都增加
      tempstr = tempstr+"<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" class=\"lovTabBorderMedial\"><tr><td id=\"lov_select_td\" class=\"lovTdBgGray\">全选</td><td id=\"lov_unselect_td\" class=\"lovTdBgGray\">全不选</td><td id=\"lov_close_table\" class=\"lovTdBgGray\">关闭</td></tr></table>";
      tempstr = "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" class=\"lovTabBorderMedial\"><tr><td id=\"lov_select_td_1\" class=\"lovTdBgGray\">全选</td><td id=\"lov_unselect_td_1\" class=\"lovTdBgGray\">全不选</td><td id=\"lov_close_table_1\" class=\"lovTdBgGray\">关闭</td></tr></table>"+tempstr;
    }
    //alert(tempstr);
    
    wc.lovContent.innerHTML = tempstr;
    
    //处理"无"和"更多"的事件
    wc.lovNullTr = Object.findChild(wc.lovContent,"lov_null_tr");
    wc.lovMoreTr = Object.findChild(wc.lovContent,"lov_more_tr");
    wc.lovCloseTable = Object.findChild(wc.lovContent,"lov_close_table");
    wc.lovSelectTd = Object.findChild(wc.lovContent,"lov_select_td");
    wc.lovUnselectTd = Object.findChild(wc.lovContent,"lov_unselect_td");
    
    wc.lovCloseTable_1 = Object.findChild(wc.lovContent,"lov_close_table_1");
    wc.lovSelectTd_1 = Object.findChild(wc.lovContent,"lov_select_td_1");
    wc.lovUnselectTd_1 = Object.findChild(wc.lovContent,"lov_unselect_td_1");
    
    if(wc.lovNullTr){
      wc.lov_NullTrFun = Object.addEvent(wc.lovNullTr, ["onclick"], wc.selectNull.bind(wc, wc.srcObject));
    }
    if(wc.lovMoreTr){
      wc.lov_MoreTrFun = Object.addEvent(wc.lovMoreTr, ["onclick"], wc.selectMore.bind(wc, wc.srcObject));
    }
    if(wc.lovCloseTable){
      wc.lov_hideFun = Object.addEvent(wc.lovCloseTable, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      wc.lov_hideFun_1 = Object.addEvent(wc.lovCloseTable_1, ["onclick"], wc.hide.bind(wc, wc.srcObject));
    }
    if(wc.lovSelectTd){
      wc.lov_selectFun = Object.addEvent(wc.lovSelectTd, ["onclick"], wc.selectAll.bind(wc, wc.srcObject));
      wc.lov_selectFun_1 = Object.addEvent(wc.lovSelectTd_1, ["onclick"], wc.selectAll.bind(wc, wc.srcObject));
    }
    if(wc.lovUnselectTd){
      wc.lov_unselectFun = Object.addEvent(wc.lovUnselectTd, ["onclick"], wc.unselectAll.bind(wc, wc.srcObject));
      wc.lov_unselectFun_1 = Object.addEvent(wc.lovUnselectTd_1, ["onclick"], wc.unselectAll.bind(wc, wc.srcObject));
    }
    
    //获得srcElement的绝对位置
    var l=srcObject.offsetLeft;
    var t=srcObject.offsetTop;
      
    while(srcObject=srcObject.offsetParent){
      l += srcObject.offsetLeft;
      t += srcObject.offsetTop;
    }
    
    wc.lovRoot.style.width = (Object.getEventSrc().clientWidth+2) + "px";
    
    wc.lovRoot.style.left =l+"px";
    wc.lovRoot.style.top = (t+Object.getEventSrc().clientHeight+3) + "px";
    
    //调整宽度
    wc.lovRoot.firstChild.style.width = '100%';
    
    //给handler绑定事件，在body上其他位置点击时隐藏
    if(wc.srcObject.isMulti&&wc.srcObject.isMulti=="true"){  //多选
      wc.lov_checkFun = Object.addEvent(wc.lovContent, ["onclick"], wc.doCheck.bind(wc, wc.srcObject));
    }
    else{
      wc.lov_hideFun = Object.addEvent(wc.lovHandler, ["onclick"], wc.hide.bind(wc, wc.srcObject));
    }
    
    //调整高度
    wc.lovContent.style.height = '0px';
    if(wc.lovContent.childNodes[0].scrollHeight>350||wc.srcObject.lovHeight){
      if(wc.srcObject.lovHeight){
        wc.lovContent.style.height=wc.srcObject.lovHeight.indexOf('px')>=0?wc.srcObject.lovHeight:wc.srcObject.lovHeight+"px";
      }
      wc.lovContent.style.overflowX = 'auto';
      wc.lovContent.style.overflow = 'scroll';
    }
    
    wc.lovHandler.appendChild(wc.lovRoot);
    
    wc.initMulti(wc.srcObject);

    wc.lovRoot.style.display = 'block';

  },
  
  //选中复选框的操作
  doCheck : function(srcObject){
    var wc = this;
    
    if(srcObject.toitem){
      itemset = srcObject.toitem.split(',');
    }
    else{
      itemset[0] = srcObject.id;
    }
    
    var dmstr = "";
    var valuestr = "";
    
    var chkboxs = document.getElementsByTagName("INPUT");
    
    for(var i=0; i<chkboxs.length; i++){
      if(chkboxs[i].type=="checkbox"){
      	if(chkboxs[i].id&&chkboxs[i].id.indexOf("lov_checkbox_")>=0){
          if(chkboxs[i].checked){
            dmstr = dmstr + chkboxs[i].valuedm + ",";
            valuestr = valuestr + chkboxs[i].value+ ",";
          }
        }
      }
    }
    
    if(dmstr.length > 1){
      dmstr = dmstr.substring(0, dmstr.length-1);
    }
    if(valuestr.length > 1){
      valuestr = valuestr.substring(0, valuestr.length-1);
    }
    
    if(itemset.length>1){
      if(srcObject.recordNumber){
      	$(itemset[0])[(parseInt(srcObject.recordNumber)-1)].value = dmstr;
      	$(itemset[1])[(parseInt(srcObject.recordNumber)-1)].value = valuestr;
      }
      else{
        $(itemset[0]).value = dmstr;
        $(itemset[1]).value = valuestr;
      }
    }
    else{
      if(srcObject.recordNumber){
      	$(itemset[0])[(parseInt(srcObject.recordNumber)-1)].value = dmstr;
      }
      else{
        $(itemset[0]).value = valuestr;
      }    
    }
    
  },
  
  initMulti : function(srcObject){
    var wc = this;
    
    var itemset = new Array;
    
    if(srcObject.toitem){
      itemset = srcObject.toitem.split(',');
    }
    else{
      itemset[0] = srcObject.id;
    }
    
    if(srcObject.recordNumber){  
      if($(itemset[0])[(parseInt(srcObject.recordNumber)-1)].value==""){
        if(itemset.length>1){
          $(itemset[1])[(parseInt(srcObject.recordNumber)-1)].value="";
        }
        return;
      }
    }
    else{
      if($(itemset[0]).value==""){
        if(itemset.length>1){
          $(itemset[1]).value="";
        }
        return;
      }
    }
    
    var chkboxs = document.getElementsByTagName("INPUT");
    
    for(var i=0; i<chkboxs.length; i++){
      if(chkboxs[i].type=="checkbox"){
      	if(chkboxs[i].id&&chkboxs[i].id.indexOf("lov_checkbox_")>=0){
      	  if(srcObject.recordNumber){
      	    if($(itemset[0])[(parseInt(srcObject.recordNumber)-1)].value.indexOf(chkboxs[i].valuedm)>=0||$(itemset[0])[(parseInt(srcObject.recordNumber)-1)].value.indexOf(chkboxs[i].value)>=0){
              chkboxs[i].checked = true;
            }
          }
      	  else{
            if($(itemset[0]).value.indexOf(chkboxs[i].valuedm)>=0||$(itemset[0]).value.indexOf(chkboxs[i].value)>=0){
              chkboxs[i].checked = true;
            }
          }
        }
      }
    }
    
  },
  
  selectAll : function(srcObject){
    var wc = this;
    var chkboxs = document.getElementsByTagName("INPUT");
    
    for(var i=0; i<chkboxs.length; i++){
      if(chkboxs[i].type=="checkbox"){
      	if(chkboxs[i].id&&chkboxs[i].id.indexOf("lov_checkbox_")>=0){
          chkboxs[i].checked = true;
        }
      }
    }
  },
  
  unselectAll : function(srcObject){
    var wc = this;
    var chkboxs = document.getElementsByTagName("INPUT");
    
    for(var i=0; i<chkboxs.length; i++){
      if(chkboxs[i].type=="checkbox"){
      	if(chkboxs[i].id&&chkboxs[i].id.indexOf("lov_checkbox_")>=0){
          chkboxs[i].checked = false;
        }
      }
    }
  },
  
  //选择"无"时，清空所有已选的值
  selectNull : function(srcObject){
    var itemset = new Array;
    if(srcObject.toitem){
      itemset = srcObject.toitem.split(',');
    }
    else{
      itemset[0] = srcObject.id;
    }  	
    
    for(var i=0; i<itemset.length; i++){
      if(srcObject.recordNumber){
        $(itemset[i])[(parseInt(srcObject.recordNumber)-1)].value = "";
      }
      else{
        $(itemset[i]).value = "";
      }
    }
  },
  
  //选择"更多"时
  selectMore : function(srcObject){
  },
  
  //得到下拉列表名称-add by wangjian
  showSltName : function(srcObject){
    var wc = this;
    
    wc.srcObject = srcObject;
    
    wc.lovHandler = document.body;
    
    var valuejson = null;
    
    var itemset = new Array;
    
    if(srcObject.toitem){
      itemset = srcObject.toitem.split(',');
    }
    else{
      itemset[0] = srcObject.id;
    }
    
    eval(" valuejson = "+srcObject.valuejson);
    
    var tempstr = "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" class=\"lovTabBorderMedial\">";
    
    var m = 0;
    for (var i in valuejson){
      tdclass = (m%2==0)?"lovTdBgLightblue":"lovTdBgGray";
      if(itemset.length>1){
        tempstr = tempstr + "<tr onClick=$(\""+itemset[0]+"\").value='"+i+"';$(\""+itemset[1]+"\").value='"+valuejson[i]+"'>";
      }
      else{
        tempstr = tempstr + "<tr onClick=$(\""+itemset[0]+"\").value='"+valuejson[i]+"';>";
      }
      tempstr = tempstr + "<td class=\""+tdclass+"\">"+valuejson[i]+"</td>";
      tempstr = tempstr + "</tr>";
      m++;
    }
    
    wc.lovContent.innerHTML = tempstr;
    
    //获得srcElement的绝对位置
    var l=srcObject.offsetLeft;
    var t=srcObject.offsetTop;
      
    while(srcObject=srcObject.offsetParent){
      l += srcObject.offsetLeft;
      t += srcObject.offsetTop;
    }
    
    wc.lovRoot.style.width = (Object.getEventSrc().clientWidth+2) + "px";
      
    wc.lovRoot.style.left =l+"px";
    wc.lovRoot.style.top = (t+Object.getEventSrc().clientHeight+3) + "px";
    
    //调整宽度
    wc.lovRoot.firstChild.style.width = '100%';
    
    //给handler绑定事件，在body上其他位置点击时隐藏
    wc.lov_hideFun = Object.addEvent(wc.lovHandler, ["onclick"], wc.hide.bind(wc, wc.srcObject));
    
    //调整高度
    wc.lovContent.style.height = '0px';
        
    wc.lovHandler.appendChild(wc.lovRoot);
    
    wc.lovRoot.style.display = 'block';
	
    if(wc.lovContent.childNodes[0].scrollHeight>350){
      wc.lovContent.style.height = "300px";
      wc.lovContent.style.overflowX = 'auto';
      wc.lovContent.style.overflow = 'scroll';
    }
  },
  
  hide : function(srcObject, ltype){
    var wc = this;
    
    if(Object.getEventSrc() == srcObject||Object.getEventSrc() == wc.lovRoot){
      return;
    }
    
    if(wc.lov_hideFun){
      Object.delEvent(wc.lovHandler, ["onclick"], wc.lov_hideFun);
    }
    
    if(wc.lov_checkFun){
      Object.delEvent(wc.lovContent, ["onclick"], wc.lov_checkFun);
    }
     
    if(wc.lov_hideFun_1){
      Object.delEvent(wc.lovCloseTable_1, ["onclick"], wc.lov_hideFun_1);
    }
    
    if(wc.lov_closeFun){
      Object.delEvent(wc.lovClose, ["onclick"], wc.lov_closeFun);
    }
    
    if(wc.lov_hideContentFun){
      Object.delEvent(wc.lovRoot, ["onclick"], wc.lov_hideContentFun);
    }
    
    if(wc.lov_sMoveFun){
      Object.delEvent(wc.lovTitle, ["onmousedown"], wc.lov_sMoveFun);
    }
    
    if(wc.lov_iMoveFunc){
      Object.delEvent(document, ["onmousemove"], wc.lov_iMoveFunc);
    }
    
    if(wc.lov_eMoveFunc){
      Object.delEvent(document, ["onmouseup"], wc.lov_eMoveFunc);
    }
    
    if(wc.lov_NullTrFun){
      Object.delEvent(wc.lovNullTr, ["onclick"], wc.lov_NullTrFun);
    }
    if(wc.lov_MoreTrFun){
      Object.delEvent(wc.lovMoreTr, ["onclick"], wc.lov_MoreTrFun);
    }
    
    if(wc.lov_selectFun){
      Object.delEvent(wc.lovSelectTd, ["onclick"], wc.lov_selectFun);
      Object.delEvent(wc.lovSelectTd_1, ["onclick"], wc.lov_selectFun_1);
    }
    if(wc.lov_unselectFun){
      Object.delEvent(wc.lovUnselectTd, ["onclick"], wc.lov_unselectFun);
      Object.delEvent(wc.lovUnselectTd_1, ["onclick"], wc.lov_unselectFun_1);
    }
    
    if(wc.lov_listspan_fun){
      Object.delEvent(wc.listspan, ["onclick"], wc.lov_listspan_fun);
    }
      
    if(wc.lov_selecteddiv_fun){
      Object.delEvent(wc.selecteddiv, ["onclick"], wc.lov_selecteddiv_fun);
    }
    
    if(srcObject){
      if(srcObject.value!=wc.oldvalue){
        try{
          srcObject.fireEvent("onchange");
          srcObject.focus();
        }
        catch(E){}
      }
    }
    
    if(wc.mask){
      wc.mask.hide();
    }

    wc.lovHandler.removeChild(wc.lovRoot);

    delete wc;
    
  },
  
  resize : function(){
  },
  
  getContent : function(){
    var wc = this;
    
    wc.lovContent.innerHTML = arguments[0];

    //调整窗口大小，处理滚动条的显示与否
    if(!wc.lovtype||wc.lovtype == ''||wc.lovtype == 'suggest'){
      if(wc.lovContent.childNodes[0].scrollHeight>350){
        wc.lovContent.style.overflowX = 'auto';
        wc.lovContent.style.overflow = 'scroll';
      }
    }
    else if(wc.lovtype == 'free'){  //free类型的按照内容高度和大小，调整高度，如果右侧超过屏幕宽度，调整位置
      wc.lovContent.style.background = "";
      if(wc.srcObject.position){
        wc.position = eval("("+wc.srcObject.position+")");
        if(wc.position.left == 0){
          if(wc.lovRoot.offsetLeft + wc.lovContent.childNodes[0].scrollWidth > document.body.clientWidth){
        	wc.lovRoot.style.left = (document.body.clientWidth - wc.lovContent.childNodes[0].scrollWidth - 20)>0? (document.body.clientWidth - wc.lovContent.childNodes[0].scrollWidth - 20):0;
          }
        }
        else{
          wc.lovRoot.style.left = wc.position.left;
        }
        
        if(wc.position.top == 0){
        }
        else{
          wc.lovRoot.style.top = wc.position.top;
        }

        wc.lovRoot.style.width = wc.position.width==0?(wc.lovContent.childNodes[0].scrollWidth + 'px'):wc.position.width; 
        wc.lovRoot.style.height = wc.position.heigth==0?(wc.lovContent.childNodes[0].scrollHeight + 'px'):wc.position.height;
        
        wc.lovContent.style.width = wc.lovRoot.style.width;
        wc.lovContent.style.height = wc.lovRoot.style.height;
      }
      else{
      
        wc.lovRoot.style.width = wc.lovContent.childNodes[0].scrollWidth + 'px';
        wc.lovRoot.style.height = wc.lovContent.childNodes[0].scrollHeight + 'px';
      
        //调整位置
        if(wc.lovRoot.offsetLeft + wc.lovContent.childNodes[0].scrollWidth > document.body.clientWidth){
        	wc.lovRoot.style.left = (document.body.clientWidth - wc.lovContent.childNodes[0].scrollWidth - 20)>0? (document.body.clientWidth - wc.lovContent.childNodes[0].scrollWidth - 20):0;
        }
      }
    }
    else if(wc.lovtype == 'level2'){
    
    }
    else{
      wc.lovContent.style.background = "";
      if(wc.lovContent.childNodes[0].scrollHeight>(wc.lovRoot.childNodes[0].height)){ //内容高度大于容器高度
        wc.lovContent.style.overflowX = 'auto';
        wc.lovContent.style.overflow = 'scroll';
      }
    }
    
    //调整窗口的宽度
    if(MTEAF.IE){
      if(wc.lovContent.childNodes[0]){
      	if(wc.lovContent.childNodes[0].style.width){
          wc.lovRoot.style.width = wc.lovContent.childNodes[0].style.width;
        }
      }
    }
    else{
      if(wc.lovContent.childNodes[1]){
      	if(wc.lovContent.childNodes[1].style.width){
          wc.lovRoot.style.width = wc.lovContent.childNodes[1].style.width;
        }
      }
    }
    //如果是custom类型，调整位置
    if(wc.lovtype == 'custom'||wc.lovtype == 'level2'){
      wc.lovRoot.style.left = parseInt((wc.lovHandler.clientWidth - wc.lovRoot.clientWidth)/2)+document.body.scrollLeft;
    }
    
    wc.listspan = Object.findChild(wc.lovContent,'lovlistspan');
    wc.btn_query = Object.findChild(wc.lovContent,'lov_btn_query');
    
    if(wc.listspan&&wc.lovtype != 'level2'){  //listspan上点击会关闭
      wc.lov_hideContentFun = Object.addEvent(wc.listspan, ["onclick"], wc.hide.bind(wc, wc.srcObject));
      wc.listspan.style.height="350px"
      wc.listspan.style.overflowX = 'auto';
      wc.listspan.style.overflow = 'scroll';
    }
    else if(wc.listspan&&wc.lovtype == 'level2'){    //level2要设定单独的事件
      //listspan选中
      wc.lov_listspan_fun = Object.addEvent(wc.listspan, ["onclick"], wc.level2_listClick.bind(wc, wc.srcObject));
            
      //selecteddiv选中
      wc.selecteddiv = Object.findChild(wc.lovContent,'lovselecteddiv');
            
      wc.lov_selecteddiv_fun = Object.addEvent(wc.selecteddiv, ["onclick"], wc.level2_selectedClick.bind(wc, wc.srcObject));

      wc.initLevel2(wc.srcObject); //初始化已选中的项
      
      wc.listspan.style.height="350px"
      wc.listspan.style.overflowX = 'auto';
      wc.listspan.style.overflow = 'scroll';
    }
    else{  //整个content区域点击会关闭
      wc.lov_hideContentFun = Object.addEvent(wc.lovContent, ["onclick"], wc.hide.bind(wc, wc.srcObject));
    }
    
    if(wc.btn_query){
      wc.btn_query.fireEvent("onclick");
    }

  },
  
  initLevel2 : function(srcObject){
    var wc = this;
    
    var itemset = new Array;
    
    if(srcObject.toitem){
      itemset = srcObject.toitem.split(',');
    }
    else{
      itemset[0] = srcObject.id;
    }
    
    var initval = $(itemset[0]).value;
    
    if(initval.value != ""){
      var chkitems = document.getElementsByTagName("INPUT");
      for(var i=0; i<chkitems.length; i++){
        if(chkitems[i].type=='checkbox'){
          if((initval+",").indexOf(chkitems[i].value+",")>=0){
            chkitems[i].checked = true;
          }
        }
      }
      wc.level2_buildChecked(srcObject);
    }
    
  },
  
  level2_buildChecked : function(srcObject){
    var wc = this;
    
    var lov_td_checked = Object.findChild(wc.selecteddiv,"lov_td_checked");
    lov_td_checked.innerHTML = "&nbsp;";
    
    var itemset = new Array;
    
    if(srcObject.toitem){
      itemset = srcObject.toitem.split(',');
    }
    else{
      itemset[0] = srcObject.id;
    }
    
    var dmstr = "";
    var valuestr = "";
    
    var temphtml = "<table width=\"100%\" border=\"0\" cellspacing=\"0\"  cellpadding=\"0\"><tr class=\"tr-query\">";
    var chkitems = document.getElementsByTagName("INPUT");
    var j = 0;
    for(var i=0; i<chkitems.length; i++){
      if(chkitems[i].type=='checkbox'&&chkitems[i].checked){
        temphtml = temphtml + "<td width=\"200px\"><input name=\"Checkbox\" type=\"Checkbox\" class=\"chkSelect\" checked value=\""+chkitems[i].value+"\"/>"+chkitems[i].mc+"</td>";
        j++;
        if(j>0&&j%4==0){
          temphtml = temphtml + "</tr><tr>";
        }
        
        dmstr = dmstr + chkitems[i].mc + ",";
        valuestr = valuestr + chkitems[i].value+ ",";
      }
    }

    if(j>0&&j%4!=0){
      for(m=0; m<4-j%4; m++){
        temphtml = temphtml + "<td width=\"200px\">&nbsp;</td>";
      }
      temphtml = temphtml + "</tr>";
    }
    temphtml = temphtml+"</table>";
    
    if(j>0){
      lov_td_checked.innerHTML = temphtml;
    }
    
    
    if(dmstr.length > 1){
      dmstr = dmstr.substring(0, dmstr.length-1);
    }
    if(valuestr.length > 1){
      valuestr = valuestr.substring(0, valuestr.length-1);
    }
    
    if(itemset.length>1){
      $(itemset[1]).value = dmstr;
      $(itemset[0]).value = valuestr;
    }
    else{
      $(itemset[0]).value = valuestr;
    }
      
  },
  
  level2_listClick : function(srcObject){
    var wc = this;
    var clickitem = Object.getEventSrc();
    var i=0;
    var themask = (srcObject.mask?srcObject.mask:"1100");
    if(clickitem.tagName=='INPUT'&&clickitem.type=='checkbox'){
      if(clickitem.checked){  //选中一个，对所有选中的做循环
      	chkitems = document.getElementsByTagName("INPUT");
      	for(var i=0; i<chkitems.length; i++){
      	  if(chkitems[i].type=='checkbox'&&chkitems[i].checked){
      	    i++;
      	  }
      	}
      }
    }
    
    if(clickitem.tagName=='SPAN'&&clickitem.checked){
      chkitems = document.getElementsByTagName("INPUT");
      for(var i=0; i<chkitems.length; i++){
        var theval = chkitems[i].value;
        if(chkitems[i].type=='checkbox'){
          var mask_2 = themask.substring(themask.indexOf('0'));
          if(theval.substring(0,themask.indexOf(mask_2))+mask_2 == clickitem.value&&theval!=clickitem.value){
            chkitems[i].checked = clickitem.checked=="false"?true:false;
          }
        }
      }
      clickitem.innerHTML = clickitem.checked=="false"?"[取消全选本类]":"[全选本类]";
      clickitem.checked = clickitem.checked=="false"?"true":"false";
    }
    
    wc.level2_buildChecked(srcObject);

  },
  
  level2_selectedClick : function(srcObject){
    var wc = this;
    var clickitem = Object.getEventSrc();
    if(clickitem.tagName=='INPUT'&&clickitem.type=='checkbox'){
      if(!clickitem.checked){
        $('chkbox_'+clickitem.value).checked = false;
        wc.level2_buildChecked(srcObject);
      }
    }
  },
  
  //开始移动
  sMove : function(){
    var wc = this;
    var mouse = wc.reMouse(), position = wc.rePosition(wc.lovRoot), obj = wc.obj;
 
    obj.left = mouse.x - position.x;
    obj.top = mouse.y - position.y;
    
    wc.lov_iMoveFunc = Object.addEvent(document, ["onmousemove"], wc.iMove.bind(wc));
    wc.lov_eMoveFunc = Object.addEvent(document, ["onmouseup"], wc.eMove.bind(wc));
    
    wc.lovRoot.setCapture();
    
    document.onselectstart = new Function("return false");
    
  },
  
  //移动中
  iMove : function(){
    var wc = this, obj = wc.obj;
    mouse = wc.reMouse()
    
    with (wc.lovRoot.style) {
      left = mouse.x - obj.left + "px";
      top = mouse.y - obj.top + "px";
    }
  },
  
  //结束移动
  eMove : function(){
    var wc = this;
    mouse = wc.reMouse();
    
    if(mouse.x<0||mouse.y<0){
      with (wc.lovRoot.style) {
        left = mouse.x<0?0:mouse.x + "px";
        top  = mouse.y<0?0:mouse.y + "px";
      }
    }
    
    //alert(wc.lovRoot.offsetTop+":"+document.body.clientHeight);
     
    if(wc.lovRoot.offsetLeft>document.body.clientWidth-5||wc.lovRoot.offsetTop>document.body.clientHeight-5){
   
      with (wc.lovRoot.style) {
        left = wc.lovRoot.offsetLeft > document.body.clientWidth?document.body.clientWidth-25:wc.lovRoot.offsetLeft+ "px";
        top  = wc.lovRoot.offsetTop >  document.body.clientHeight?document.body.clientHeight-25:wc.lovRoot.offsetTop + "px";
      }
    }
    
    Object.delEvent(document, ["onmousemove"], wc.lov_iMoveFunc);
    Object.delEvent(document, ["onmouseup"], wc.lov_eMoveFunc);
    
    wc.lovRoot.releaseCapture();
    
    document.onselectstart = wc.lov_iMoveFunc = wc.lov_eMoveFunc = null;
  },
  
  reMouse : function (a) {
  //获取鼠标位置
    var e = Object.reEvent();
    
    return {
      x : document.documentElement.scrollLeft + e.clientX,
      y : document.documentElement.scrollTop + e.clientY
    };
  },
  
  rePosition : function (o) {
  //获取元素绝对位置
    var $x = $y = 0;
    do {
      $x += o.offsetLeft;
      $y += o.offsetTop;
    } 
    while ((o = o.offsetParent)); // && o.tagName != "BODY"
    return { x : $x, y : $y };
  }
  
};

/*----------------- end of lov ---------------------------*/

//顶部弹出的msg
MTEAF.HeadMessage = Class.create();

MTEAF.HeadMessage.prototype = {
  
  //初始化	
  initialize : function(){
    var wc = this;
    wc.headHandler = null;
    wc.obj = { on : { a : null, b : "" }, row : null, left : 0, top : 0 };
    wc.headRoot = document.createElement("div");  //根
    wc.headRoot.innerHTML = "<table id=\"table_head_close\" width=\"20\" height=\"20\" border=\"0\" align=\"right\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=\"tipsClose\"></td></tr></table><span id=\"span_head_message\">提示信息文字参保人员基本信息</span>";
    wc.headRoot.className = "tipsHead";
    wc.headContent = Object.findChild(wc.headRoot,"span_head_message");
    wc.closeTable = Object.findChild(wc.headRoot,"table_head_close");
  },
  
  show : function(msgJson){
    var wc = this;

    wc.headHandler = document.body;
    //wc.headHandler.appendChild(wc.headRoot);
    var msgcontent = "";
    
    for(var i=0; i<msgJson.length; i++){
      if(i>0){
        msgcontent = msgcontent+"<br>";
      }
      msgcontent = msgcontent+msgJson[i].msgcontent+" "+(msgJson[i].msgtime?msgJson[i].msgtime:"");
      if(msgJson[i].msgurl&&msgJson[i].msgurl!=""){
         msgcontent = msgcontent +" 不再提示<input type=checkbox class=checkbox>";
      }
      if(i==2){
        break;
      }
    }
    
    wc.headContent.innerHTML = msgcontent;
    
    wc.head_closeF = Object.addEvent(wc.closeTable, ["onclick"], wc.hide.bind(wc));
    
    wc.headHandler.insertBefore(wc.headRoot,wc.headHandler.firstChild);

    wc.headRoot.style.display = 'block';
    
    wc.headRoot.style.top = '-'+wc.headRoot.offsetHeight;
        
    if(wc.periodicalExe){
      clearInterval(wc.periodicalExe.intervalid);
    }
    
    wc.periodicalExe=new PeriodicalExecuter(wc.changeHeight.bind(wc),0.020);
    //alert(wc.headRoot.style.paddingto);

  },
  
  hide : function(){
    var wc = this;
    if(wc.periodicalExe){
      clearInterval(wc.periodicalExe.intervalid);
    }
    Object.delEvent(wc.closeTable, ["onclick"], wc.head_closeF);
    wc.headHandler.removeChild(wc.headRoot);
  },
  
  changeHeight : function(){
    var wc = this;
    
    wc.headRoot.style.top = parseInt(wc.headRoot.style.top.replace('px','')) + 1;
    
    if(parseInt(wc.headRoot.style.top.replace('px',''))>=0){
      if(wc.periodicalExe){
        clearInterval(wc.periodicalExe.intervalid);
      }
    }
  }
}
/*------------- end of headmessage ----------------*/


//不需确认的平的提示
MTEAF.FlatMessage = Class.create();

MTEAF.FlatMessage.prototype = {
  
  //初始化	
  initialize : function(){
    var wc = this;
    wc.flatHandler = null;
    wc.flatRoot = null;  //根
    wc.closemode = 'auto';
    wc.yn = 'success';
    wc.eventSrc = null;
  },
  
  //key=success/fault/caution等
  show : function(message, handler, keys, yn){
    var wc = this;

    if($('flat_div_root')){ //已经显示
      wc.hide();
    }
    
    try{
      wc.eventSrc = Object.getEventSrc();
    }
    catch(o){
    }
    
    wc.yn = 'success';
    wc.closemode = 'auto';
    
    if(wc.periodicalExe){
      clearInterval(wc.periodicalExe.intervalid);
    }
    
    wc.flatRoot = document.createElement("DIV");
    
    if(handler){
      wc.flatHandler = handler;
    }
    else{
      wc.flatHandler = document.body;
      //未指定handler时，显示在窗口上端中央
      //custom lov的大小和位置是固定的
      //wc.flatRoot.style.top = parseInt((wc.flatHandler.clientHeight - 350)/2)+document.body.scrollTop-50;
      //wc.flatRoot.style.left = parseInt((wc.flatHandler.clientWidth - 270)/2)+document.body.scrollLeft;
      wc.flatRoot.style.position = "absolute";
      wc.flatRoot.style.top = document.body.scrollTop;
      wc.flatRoot.style.left = parseInt((wc.flatHandler.clientWidth - 678)/2)+document.body.scrollLeft;
    }
    
    wc.flatRoot.innerHTML = "<DIV id=\"flat_div_root\" class=\"flat_tsk mb10 mt10\"><DIV class=\"flat_container f14 mb5\" style=\"float:left\"><span id=\"flat_span_success\" class=\"flat_span_suc\">&nbsp;操作成功！</span><BR><div id=\"flat_div_content\" class=\"flat_div_content ml20 f12\">此条消息包含的所有会话同时被删除。此操作大约2分钟后生效，请耐心等待。<br>此条消息包含的所有会话同时被删除。此操作大约2分钟后生效，请耐心等待。</div></DIV><div style=\"float:right\"><span id=\"flat_span_close\" class=\"flat_span_close\">&nbsp;</span></div></DIV>";
    
    wc.flat_span_suc = Object.findChild(wc.flatRoot,'flat_span_success');
    wc.flat_div_content = Object.findChild(wc.flatRoot,'flat_div_content');
    wc.flat_span_close = Object.findChild(wc.flatRoot,'flat_span_close');
    
    if(yn){
      wc.yn = yn;
    }
    
    if(!keys){
      keys = "success";
    }
    
    var keyset = keys.split(',');
    
    if(!yn){  //提示类型是成功还是失败
      wc.yn = keyset[0];    	
    }
    if(keyset.length==2){  //关闭模式是自动还是手动还是不关闭
      wc.closemode = keyset[1];
    }
    
    if(wc.yn=='success'){
      wc.flat_span_suc.innerHTML = "&nbsp;操作成功！";
      wc.flat_span_suc.className = 'flat_span_suc';
    }
    else if(wc.yn=='fault'){
      wc.flat_span_suc.innerHTML = "&nbsp;操作失败！";
      wc.flat_span_suc.className = 'flat_span_fau';
    }
    else if(wc.yn=='caution'){
      wc.flat_span_suc.innerHTML = "&nbsp;温馨提醒";
      wc.flat_span_suc.className = 'flat_span_cau';
    }

    wc.flat_div_content.innerHTML = message;

    //设定关闭模式，默认自动
    if(wc.closemode == 'auto'){
      wc.periodicalExe = new PeriodicalExecuter(wc.hide.bind(wc),3);
    }
    else if(wc.closemode == 'manual'){  //手动关闭
      
      wc.flat_hideFun = Object.addEvent(wc.flat_span_close, ["onclick"], wc.hide.bind(wc));
      
      wc.flat_changeImgFun = Object.addEvent(wc.flat_span_close, ["onmouseover"], wc.changeImg.bind(wc, 'in'));
      wc.flat_changeImgFun_out = Object.addEvent(wc.flat_span_close, ["onmouseout"], wc.changeImg.bind(wc, 'out'));
      
      wc.flat_span_close.style.display = 'block';
    }
    else if(wc.closemode == 'noclose'){
      
    }

    wc.flatHandler.appendChild(wc.flatRoot);
    
  },
  
  hide : function(){
    var wc = this;
    if(wc.periodicalExe){
      clearInterval(wc.periodicalExe.intervalid);
    }
    
    if(wc.flat_hideFun){
      Object.delEvent(wc.flat_span_close, ["onclick"], wc.flat_hideFun);
    }
    
    if(wc.flat_changeImgFun){
      Object.delEvent(wc.flat_span_close, ["onmouseover"], wc.flat_changeImgFun);
    }
    
    if(wc.flat_changeImgFun_out){
      Object.delEvent(wc.flat_span_close, ["onmouseout"], wc.flat_changeImgFun);
    }
    
    wc.eventSrc = null;
    
    wc.flatHandler.removeChild(wc.flatRoot);
    
  },
  
  changeImg : function(inorout){
    var wc = this;
    
    if(inorout == 'in'){
      wc.flat_span_close.className = 'flat_span_close_over';
    }
    else{
      wc.flat_span_close.className = 'flat_span_close';
    }
  }
};

//不弹出的popup窗口
MTEAF.PopupWin = Class.create();

MTEAF.PopupWin.prototype = {
  
  //初始化	
  initialize : function(){
    var wc = this;
    wc.popHandler = null;
    wc.popRoot = null;  //根
  },
  
  //show确定位置、内容。位置根据点击的item位置确定，内容通过url或者字符串
  show : function(srcObject){
    var wc = this;
    if($('popup_window_div')){
      wc.hide();
    }
    
    wc.srcObject = srcObject;
    
    wc.popHandler = document.body;
    
    wc.popRoot = document.createElement("DIV");
    
    wc.popRoot.innerHTML = "<div id=\"popup_window_div\" class=\"generic_dialog report_dialog contextual_dialog\" style=\"display : block\"><div class=\"generic_dialog_popup\"><div class=\"contextual_dialog_content\"><div id=\"popup_close_div\" class=\"dialog_close\"></div><div id=\"popup_content_div\" class=\"dialog_content\"></div></div><div class=\"contextual_arrow\" style=\"background-position: 10px 50%;\"><span>^_^keke1</span></div></div></div>";
    
    wc.popup_window_div = Object.findChild(wc.popRoot,'popup_window_div');
    //wc.popup_title_span = Object.findChild(wc.popRoot,'popup_title_span');
    wc.popup_content_div = Object.findChild(wc.popRoot,'popup_content_div');
    wc.popup_close_div = Object.findChild(wc.popRoot,'popup_close_div');
    //wc.popup_body_div = Object.findChild(wc.popRoot,'popup_body_div');
    //wc.popup_body_more_div = Object.findChild(wc.popRoot,'popup_body_more_div');
    
    //绑定事件
    wc.popup_close_fun = Object.addEvent(wc.popup_close_div, ["onclick"], wc.hide.bind(wc));
    
    wc.pop_changeImgFun = Object.addEvent(wc.popup_close_div, ["onmouseover"], wc.changeImg.bind(wc, 'in'));
    wc.pop_changeImgFun_out = Object.addEvent(wc.popup_close_div, ["onmouseout"], wc.changeImg.bind(wc, 'out'));
    
    //调整位置
    wc.popup_window_div.firstChild.style.top = mouseCoords(window.event).y - 195;
    wc.popup_window_div.firstChild.style.left = mouseCoords(window.event).x;
    
    wc.popHandler.appendChild(wc.popRoot);
    
    //通过ajax获得内容
    if(wc.srcObject.contenturl){
      wc.ajax = new MTEAF.Ajax;
    
      wc.ajax.send2(encodeURI(wc.srcObject.contenturl), wc.getContent.bind(wc));
    }
    
  },
  
  hide : function(){
    var wc = this;
    
    if(wc.popup_close_fun){
      Object.delEvent(wc.popup_close_div, ["onclick"], wc.popup_close_fun);
    }
    
    if(wc.pop_changeImgFun){
      Object.delEvent(wc.popup_close_div, ["onmouseover"], wc.pop_changeImgFun);
    }
    
    if(wc.pop_changeImgFun_out){
      Object.delEvent(wc.popup_close_div, ["onmouseout"], wc.pop_changeImgFun_out);
    }

    wc.popHandler.removeChild(wc.popRoot);
  },
  
  changeImg : function(inorout){
    var wc = this;
    
    if(inorout == 'in'){
      wc.popup_close_div.className = 'dialog_close_over';
    }
    else{
      wc.popup_close_div.className = 'dialog_close';
    }
  },
  
  getContent : function(){
    var wc = this;
    wc.popup_content_div.style.background = "";
    wc.popup_content_div.innerHTML = arguments[0];
  }
};

MTEAF.SnapMessage = Class.create();

MTEAF.SnapMessage.prototype = {
  
  //初始化	
  initialize : function(){
    var wc = this;
    wc.snapHandler = null;
    wc.snapRoot = null;  //根
    wc.status = 'close';  //close openmax openmin
  },
  
  show : function(message, handler){
    var wc = this;
    if($('snap_message_div')){
      wc.hide();
    }
    
    wc.snapRoot = document.createElement("DIV");
    
    if(handler){
      wc.snapHandler = handler;
    }
    else{  //没有handler不显示
      return;
    }
    
    wc.snapRoot.innerHTML = "<div id=\"snap_message_div\" class=\"ind_msg x-resizable-pinned\" style=\"position: relative;\"><div id=\"snap_message_div_east\" class=\"x-resizable-handle x-resizable-handle-east x-unselectable\" style=\"-moz-user-select: none;\"></div></div>";
    
    wc.snap_message_div = Object.findChild(wc.snapRoot,'snap_message_div');
    wc.snapEast = Object.findChild(wc.snapRoot,'snap_message_div_east');
    
    wc.messageContainer = document.createElement("DIV");
    wc.messageContainer.className = 'x-resizable-container';
    wc.messageContainer.innerHTML = message;
    
    wc.snap_message_div.insertBefore(wc.messageContainer,wc.snap_message_div.firstChild);
    
    //绑定事件
    wc.snap_fun = Object.addEvent(wc.snapEast, ["onclick"], wc.doSnap.bind(wc));
    
    wc.status = 'openmax';
    
    wc.snapHandler.appendChild(wc.snapRoot);
    
    
  },
  
  hide : function(){
    var wc = this;
    
    if(wc.snap_fun){
      Object.delEvent(wc.snapEast, ["onclick"], wc.snap_fun);
    }
    
    wc.snapHandler.removeChild(wc.snapRoot);
    
  },
  
  //收缩或展开
  doSnap : function(snaptype){
    var wc = this;

    if(wc.snap_message_div.style.width != '8px'){
      wc.realSize = wc.snap_message_div.currentStyle.width;
      wc.snap_message_div.style.width = '8px';
      wc.status = 'openmin';
    }
    else{
      wc.snap_message_div.style.width = wc.realSize;
      wc.status = 'openmax';
    }
  }
  
};


var PeriodicalExecuter = Class.create();
PeriodicalExecuter.prototype = {
  initialize: function(callback, frequency) {
    this.callback = callback;
    this.frequency = frequency;
    this.currentlyExecuting = false;

    this.registerCallback();
  },

  registerCallback: function() {
    this.intervalid = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  },

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting = true;
        this.callback();
      } finally {
        this.currentlyExecuting = false;
      }
    }
  }
}
/*--------------------------------------------------------------------------*/

//兼容ie和ff的currentStyle方法
function getCurrentStyle (obj, prop) { 
    if (obj.currentStyle) { 
        return obj.currentStyle[prop]; 
    } 
    else if (window.getComputedStyle) { 
        prop = prop.replace (/([A-Z])/g, "-$1"); 
        prop = prop.toLowerCase (); 
        return window.getComputedStyle (obj, "").getPropertyValue(prop); 
    } 
    return null; 
}

var mt = new MTEAF;

//在指定的object中显示结果内容
function displayResult(responseText, spanObject){
  //var sobj = document.getElementById(spanObject);
  var sobj = $(spanObject);
  if(sobj){
    sobj.innerHTML = responseText ;
    //判断拖拽表格
    var dragDiv = Object.findChild(sobj,'draglistDiv');
    if(dragDiv){
      if(dragDiv.className.search(/\bdragtable\b/)!=-1){
        var draglist = new Draglist;
        draglist.makeDragtable(dragDiv);
      }
    }
  }
 
  /*
  else{ //如果没有在top中找到，则去workareaFrame里找
    if(top.indexmainframe){
      if(top.indexmainframe.workareaFrame){
      	if(top.indexmainframe.workareaFrame.mainFrame){
          sobj = top.indexmainframe.workareaFrame.mainFrame.document.getElementById(spanObject);

        }
      }
    }
    if(sobj){
      sobj.innerHTML = responseText ;
    }
  }
  */
}
  
//执行查询所用的方法
function doQuery(formObject, spanObject){
  
  mt.doAjaxDisplay(formObject, spanObject);
 
}

function doQueryNoMask(formObject, spanObject){

  mt.doAjaxDisplayNoMask(formObject, spanObject);
 
}

//刷新列表用的方法（分页）
function doRefresh(theurl, spanObject){
  
  mt.doRefresh(theurl, spanObject);
  
}

//刷新列表用的方法（分页）
function doRefreshNoMask(theurl, spanObject){
  
  mt.doRefreshNoMask(theurl, spanObject);
  
}

//刷新列表用的方法（分页）
function doJump(theurl, page, spanObject){
  
  mt.doJump(theurl, page, spanObject);
  
}
//执行form提交
function doSubmit(formObject, funca, funcb){

  mt.doAjaxSubmit(formObject, funca, funcb);
  
}

function doSubmitNoMask(formObject, funca, funcb){

  mt.doAjaxSubmitNoMask(formObject, funca, funcb);
  
}

//显示popup提示框，在onmousemove中使用
function showPopupdiv(content){
  var popdiv ;
  if(!$('popupdiv')){
	popdiv = document.createElement('div');
	popdiv.id = 'popupdiv';
	popdiv.className = 'div_popup';
	if(document){
	  document.body.appendChild(popdiv);
	}
  }
  else{
	popdiv = $('popupdiv');
  }
  popdiv.innerHTML = content;
  
  xpos	=	0;
  ypos	=	0;

  var top_tmp	=	mouseCoords(window.event).y;
  var left_tmp	=	mouseCoords(window.event).x;

  left_tmp	+=	xpos;
  top_tmp	+=	ypos - 35;
  
  popdiv.style.left = left_tmp + 'px';
  popdiv.style.top = top_tmp + 'px';
  popdiv.style.display = 'block';
}

//隐藏popup提示框
function hidePopupdiv(){
  if($('popupdiv')){
   $('popupdiv').style.display = 'none';
  }
}

function mouseCoords(ev){
  if(ev.pageX || ev.pageY){
    return {x:ev.pageX, y:ev.pageY};
  }
  return {
    x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
    y:ev.clientY + document.body.scrollTop  - document.body.clientTop
  };
}

function elemCoords(elem){
  //获得Element的绝对位置
  var l=elem.offsetLeft;
  var t=elem.offsetTop;
      
  while(elem=elem.offsetParent){
    l += elem.offsetLeft;
    t += elem.offsetTop;
  }
  
  return{
    x : l,
    y : t
  }
}

function doDelete(theurl, funca, funcb){
  if(confirm('确定要删除该记录吗？')=='0'){
    return;
  }
  mt.doAjaxRequest(theurl, funca, funcb);

}

//默认的请求失败处理函数，在wc.ajax.afterSend方法中自动调用
function doFault(msg){
  mt.showWindow(msg,'alert','提示');
  return '1';  //return 1可控制mask不关闭
}

/**可以自动创建新的ajax对象的请求方式**/
function sendRequest(theurl, funca,funcb){
  var nmt =new MTEAF;
  nmt.doAjaxRequest(theurl, funca, funcb);
}

/**可以自动创建新的ajax对象的form提交方式**/
function sendSubmit(formObject, funca, funcb){
  var nmt =new MTEAF;
  nmt.doAjaxSubmit(formObject, funca, funcb);
}

/**可以自动创建新的ajax对象的form提交方式**/
function sendSubmitNoMask(formObject, funca, funcb){
  var nmt =new MTEAF;
  nmt.doAjaxSubmitNoMask(formObject, funca, funcb);
}

function rePosition(o) {
  //获取元素绝对位置
  var $x = $y = 0;
  do {
    $x += o.offsetLeft;
    $y += o.offsetTop;
  } 
  while ((o = o.offsetParent)); // && o.tagName != "BODY"
  return { x : $x, y : $y };
}

/******* window.onload中初始化 *******/


Object.addEvent(window, ["onload"], function () {
  if(mt.tipJson&&mt.tipJson!=''){
    mt.initTips();
  }
  mt.loadingNumber();
  //mt.loadingPage();
});

/*
Object.addEvent(document, ["onclick"], function () {
  if($('flat_div_root')){
    if(Object.getEventSrc()!=mt.flatMessage.eventSrc&&Object.findParent(Object.getEventSrc(),document)){
      mt.flatMessage.hide();
    }
  }
});
*/
