var Table = {

  /**
   * 初始化表格的样式和js
   * @param tableID
   */
  initStyle:function(tableID) {
    var table = document.getElementById(tableID);
    var pageForm = table.getAttribute("pageForm");
    var rowLen = table.rows.length;
    table.cellSpacing = 1;
    table.cellPadding = 0;
    var isSort=false;
    for (var i = 0; i < rowLen; i++) {
      var row = table.rows[i];
      if (row.className == 'title') {
        if (pageForm == null || !pageForm) continue;
        var form = document.getElementById(pageForm);
        if (form == null || form.tagName != "FORM") continue;
        var sortField = form.elements['sortField'];
        if (!sortField) continue;
        var sortOrder = form.elements['sortOrder'];
        if (!sortOrder) continue;
        var cellLen = row.cells.length;
        for (var j = 0; j < cellLen; j++) {
          var cell = row.cells[j];
          var field = cell.getAttribute("field");
          if (!field) continue;
          var order = cell.getAttribute("order");
          var sort = cell.getAttribute("sort");
          var fieldSort = sort!=null?sort:field;
          var img;
          img = document.createElement("IMG");
          if (fieldSort == sortField.value && !isSort) {
            order = order==null?"asc":order;
            order = order=="desc"?"desc":"asc";
            sortOrder.value=order;
            img.src = (sortOrder.value == "desc") ? "/images/desc.gif" : "/images/asc.gif";
            isSort = true;
            table.setAttribute("sortCell",cell);
          }
          else {
            img.src = "/images/blank.gif";
          }
          img.width = 9;
          img.height = 8;
          cell.appendChild(img);
          cell.style.cursor="pointer";
          cell.onmousedown=function(){ Table.sortCol(this) };
        }
      }
      else if (row.className == 'mouseout') {
        row.onmouseover = function() {
          Table.mouseOver(this)
        };
        row.onmousedown = function() {
          Table.mouseDown(this)
        };
        row.onmouseout = function() {
          Table.mouseOut(this)
        };
      }
    }
  },

  /**
   * 鼠标点击行
   */
  mouseDown:function(object) {
    var table = Table.getTable(object);
    var selectedIndex = table.getAttribute("selectedIndex");
    if (object.rowIndex != selectedIndex) {
      var row = table.rows[selectedIndex];
      if (row) row.className = "mouseout";
      object.className = "mousedown";
      table.setAttribute("selectedIndex", object.rowIndex);
    }
  },

  /**
   * 鼠标移动到行
   */
  mouseOver:function(object) {
    if (object.className != "mousedown") {
      object.className = "mouseover";
    }
  },

  /**
   * 鼠标离开行
   */
  mouseOut:function(object) {
    if (object.className != "mousedown") {
      object.className = "mouseout";
    }
  } ,

  /**
   * 获得表格
   * @param object 表格中的元素
   */
  getTable:function(object) {
    var tmp = object;
    while (tmp.tagName != "TABLE") {
      tmp = tmp.parentNode;
    }
    return tmp;
  },

  /**
   * 列排序
   */
  sortCol:function(object){
    var table = Table.getTable(object);
    var pageForm = table.getAttribute("pageForm");
    if (pageForm==null || !pageForm) return;
    var form = document.getElementById(pageForm);
    var sortField = form.elements['sortField'];
    var sortOrder = form.elements['sortOrder'];
    var sortCell = table.getAttribute("sortCell");
    var field = object.getAttribute("field");
    var order = object.getAttribute("order");
    var sort = object.getAttribute("sort");
    var fieldSort = sort!=null ? sort : field;
    if(sortCell&&sortCell.tagName=="TD"){
      if(sortCell==object){
        if(sortOrder.value=='asc'){
          sortOrder.value="desc";
          object.getElementsByTagName("IMG")[0].src="/images/desc.gif";
        }
        else{
          sortOrder.value="asc";
          object.getElementsByTagName("IMG")[0].src="/images/asc.gif";
        }
      }
      else{
        sortField.value = fieldSort;
        order = order==null?"asc":order;
        order = order=="desc"?"desc":"asc";
        sortOrder.value=order;
        sortCell.getElementsByTagName("IMG")[0].src="/images/blank.gif";
        object.getElementsByTagName("IMG")[0].src = (sortOrder.value == "desc") ? "/images/desc.gif" : "/images/asc.gif";
        table.setAttribute("sortCell",object);
      }
    }
    else{
      sortField.value = fieldSort;
      order = order==null?"asc":order;
        order = order=="desc"?"desc":"asc";
      sortOrder.value=order;
      object.getElementsByTagName("IMG")[0].src = (sortOrder.value == "desc") ? "/images/desc.gif" : "/images/asc.gif";
      table.setAttribute("sortCell",object);
    }
    PageQuery.search(pageForm);
  }


}
