﻿var ui = {};
ui.$ = function(e){
  var o = document.getElementById(e);
  if(o) return o;
  o = document.getElementsByName(e);
  if(o.tagName == undefined) return null;
  return o;
}
ui.$xml = function(){
  try{
    return new ActiveXObject("MSXML2.DOMDOCUMENT");
  }catch(e){
    return null;
  }
}
ui.ajax = function(url,method,content,async){
  var rper = false;
  var hper = this;
  try{
    rper = new XMLHttpRequest;
  }catch(e){
    try{
      rper = new ActiveXObject("MSXML2.XMLHTTP");
    }catch(e2){
      try{
        rper = new ActiveXObject("Microsoft.XMLHTTP");
      }catch(e3){
        rper = false;
      }
    }
  }
  if(!rper) return false;
  this.method = method || "GET";
  this.url = url || "";
  this.async = async || true;
  this.content = content || "";
  this.onload = function(rxer){return;}
  this.doload = function(){
    if(!this.method||!this.url||!this.async) return false;
    rper.open(this.method,this.url,this.async);
    if(this.method=="POST") rper.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    rper.onreadystatechange = function(){
      if(rper.readyState==4){
        if(rper.status==200){
          hper.onload(rper);
        }
      }
    }
    if(this.method=="POST") rper.send(this.content);
    else rper.send(null);
  }
}
ui.li = function(name,dxml,icon){
  var li = this;
  li.name = name || "uili";
  li.icon = icon || "../html/manager/images/li/";
  li.imer = [];
  li.dxml = dxml || null;
  li.dset = ["//Channel","0","频道目录","Id","Parent","Name",null,null];
  li.onid = "0";
  li.allex = false;
  li.liid = function(liid){
    return (li.name + "_li_" + liid).replace(/,/g,"_");
  }
  li.lier = function(lier){
    return li.name + "." + lier;
  }
  li.dnpr = function(liid){
    return "[@" + li.dset[4] + "='" + liid + "']";
  }
  li.rnpr = function(liid){
    var tmp = li.dset[0] + "[@" + li.dset[3] + "='" + liid + "']";
    var nor = dxml.selectSingleNode(tmp);
    if(nor!=null){
      return li.lixr(nor,li.dset[4]);
    }else{
      return "";
    }
  }
  li.lnxr = function(liid){
      if(liid==null) liid = li.onid;
      if(liid=="0"){
          return null;
      }else{
          var tmp = li.dset[0] + "[@" + li.dset[3] + "='" + liid + "']";
          return dxml.selectSingleNode(tmp);
      }
  }
  li.lnlr = function(liid){
      if(liid==null) liid = li.onid;
      if(liid=="0"){
          var temp = dxml.selectNodes(li.dset[0] + "[@" + li.dset[4] + "='0']");
          return temp[temp.length-1];
      }else{
          var tmp = li.lixr(li.lnxr(liid),li.dset[4]) + "," + liid;
          var temp = dxml.selectNodes(li.dset[0] + "[@" + li.dset[4] + "='" + tmp + "']");
          return temp[temp.length-1];
      }
  }
  li.lixr = function(xn,nm){
    if(xn==null){
        return "";
    }else{
        return xn.getAttributeNode(nm).text;
    }
  }
  li.lihr = function(liid){
    if(dxml.selectNodes(li.dset[0] + li.dnpr(liid)).length>0){
      return true;
    }else{
      return false;
    }
  }
  li.apppar = function(liid){
    var liml = "";
    var dnor = dxml.selectNodes(li.dset[0] + li.dnpr(liid));
    if(dnor.length>0){
      if(liid!="0"&&li.allex==true){
          liml += "<div id='" + li.liid(liid) + "' style='display:none'>";
      }else{
          liml += "<div id='" + li.liid(liid) + "'>";
      }
      for(var i=0;i<dnor.length;i++){
        var dner = dnor[i];
        var dnpr = li.lixr(dner,li.dset[4]) + "," + li.lixr(dner,li.dset[3]);
        liml += "<div>";
        liml += "<div>";
        liml += "<table border='0' cellpadding='0' cellspacing='0' width='100%'><tbody><tr>";
        var pler = li.lixr(dner,li.dset[4]).split(",").length;
        if(pler>1){
          for(var j=1;j<pler;j++){
            liml += "<td><div style='width:18px;height:18px'></div></td>"; //<td><img src='" + li.imer[2].src + "'/></td>
          }
        }
        var cker = "";
        if(li.lihr(dnpr)==false){
          liml += "<td style='cursor:hand'><img src='" + li.imer[0].src + "'/></td>";
          liml += "<td style='cursor:hand'><img id='" + li.liid(dnpr + "_imger") + "' src='" + li.imer[3].src + "'/></td>";
          cker = "onclick='" + li.lier("change(\"" + li.lixr(dner,li.dset[3]) + "\")") + "'";
        }else{
          if(li.allex==true){
              liml += "<td style='cursor:hand' onclick='" + li.lier("display(\"" + li.liid(dnpr) + "\")") + "'><img id='" + li.liid(dnpr + "_cmder") + "' src='" + li.imer[1].src + "'/></td>";
          }else{
              liml += "<td style='cursor:hand' onclick='" + li.lier("display(\"" + li.liid(dnpr) + "\")") + "'><img id='" + li.liid(dnpr + "_cmder") + "' src='" + li.imer[0].src + "'/></td>"
          }
          liml += "<td style='cursor:hand' onclick='" + li.lier("display(\"" + li.liid(dnpr) + "\")") + "'><img id='" + li.liid(dnpr + "_imger") + "' src='" + li.imer[3].src + "'/></td>";
          cker = "onclick='" + li.lier("display(\"" + li.liid(dnpr) + "\",true);") + li.lier("change(\"" + li.lixr(dner,li.dset[3]) + "\")") + "'";
        }
        if(li.dset[6]!=null){
          for(var l=0;l<li.dset[6].length;l++){
            liml += "<td><input onfocus='this.blur()' title='" + li.dset[6][l] + "' type='checkbox' id='" + li.liid(dnpr + "_chker_" + (l+1)) + "'></td>";
          }
        }
        liml += "<td width='100%' valign='bottom' style='padding-left:2px'>";
        liml += "<nobr style='cursor:hand' onmouseover='this.style.textDecoration=\"underline\"'";
        liml += " onmouseout='this.style.textDecoration=\"\"'";
        liml += " " + cker;
        liml += ">" + li.lixr(dner,li.dset[5]);
        liml += "</nobr></td>";
        liml += "</tr></tbody></table>";
        liml += "</div>";
        liml += li.apppar(dnpr);
        liml += "</div>";
      }
      liml += "</div>";
    }
    return liml;
  }
  li.toString = function(){
    //loadimage
    li.imer[0] = new Image(); li.imer[0].src = li.icon + "none.gif";
    li.imer[1] = new Image(); li.imer[1].src = li.icon + "have.gif";
    li.imer[2] = new Image(); li.imer[2].src = li.icon + "null.gif";
    li.imer[3] = new Image(); li.imer[3].src = li.icon + "folder.gif";
    li.imer[4] = new Image(); li.imer[4].src = li.icon + "opened.gif";
    //loadimage
    var liml = "";
    liml += "<div>";
    liml += "<div>";
    liml += "<table border='0' cellpadding='0' cellspacing='0' width='100%'><tbody><tr>";
    liml += "<td><img id='" + li.liid("root_imger") + "' src='" + li.icon + "root.gif'/></td>";
    liml += "<td width='100%' valign='bottom' style='padding-left:2px'>";
    liml += "<nobr style='cursor:hand' onmouseover='this.style.textDecoration=\"underline\"'";
    liml += " onmouseout='this.style.textDecoration=\"\"'";
    liml += " onclick = '" + li.lier("change(\"0\")") + "'";
    liml += ">" + li.dset[2] + "</nobr></td>";
    liml += "</tr></tbody></table>";
    liml += "</div>";
    liml += li.apppar("0");
    liml += "</div>";
    li.onload();
    return liml;
  }
  li.dopower = function(){
    if(li.dset[7]!=null){
      var dpr = li.dset[7].split("#");
      for(var i=0;i<dpr.length;i++){
        var der = dpr[i].split("@");
          var liid = der[0];
          liid = li.liid(li.rnpr(liid) + "," + liid + "_chker_");
        for(var j=1;j<der.length;j++){
          if(ui.$(liid + j)!=null){
            ui.$(liid + j).checked = der[j]=="1" ? true : false;
          }
        }
      }
    }
  }
  li.power = function(liid){
    if(li.dset[6]!=null){
      if(liid==null){
        return li.power("0");
      }else{
        var power = "";
        var dnor = dxml.selectNodes(li.dset[0] + li.dnpr(liid));
        if(dnor.length>0){
          for(var i=0;i<dnor.length;i++){
            var dner = dnor[i];
            var dnpr = li.lixr(dner,li.dset[4]) + "," + li.lixr(dner,li.dset[3]);
            var dnid = li.liid(dnpr + "_chker_");
            var temp = li.lixr(dner,li.dset[3]);
            var bool = false;
            for(var l=0;l<li.dset[6].length;l++){
              if(ui.$(dnid + (l+1))!=null){
                if(ui.$(dnid + (l+1)).checked==true){
                  bool = true;
                  temp += "@1";
                }else{
                  temp += "@0";
                }
              }
            }
            if(bool==true){
              if(power==""){
                power = temp;
              }else{
                power += "#" + temp;
              }
            }
            if(power==""){
              power = li.power(dnpr);
            }else{
              var tmper = li.power(dnpr);
              if(tmper!=""){
                power += "#" + tmper; 
              }
            }
          }
        }
        return power;
      }
    }else{
      return "";
    }
  }
  li.display = function(liid,display){
      //alert(liid);
      if(display!=true){
        if(ui.$(liid).style.display!="none"){
          ui.$(liid).style.display = "none";
          ui.$(liid + "_cmder").src = li.imer[1].src;
        }else{
          ui.$(liid).style.display = "block";
          ui.$(liid + "_cmder").src = li.imer[0].src;
        }
      }else{
        ui.$(liid).style.display = "block";
        ui.$(liid + "_cmder").src = li.imer[0].src;
      }
  }
  li.onload = function(){}
  li.changed = function(node){}
  li.change = function(liid){
    if(li.onid!="0"){
      var onpr = li.lixr(dxml.selectSingleNode(li.dset[0] + "[@" + li.dset[3] + "='" + li.onid + "']"),li.dset[4]);
      ui.$(li.liid(onpr + "_" + li.onid + "_imger")).src = li.imer[3].src;
    }else{
      if(ui.$(li.liid("root_imger"))!=null){
          ui.$(li.liid("root_imger")).src = li.icon + "root.gif";
      }
    }
    if(liid!="0"){
      var nddr = dxml.selectSingleNode(li.dset[0] + "[@" + li.dset[3] + "='" + liid + "']");
      var onpr = li.lixr(nddr,li.dset[4]);
      ui.$(li.liid(onpr + "_" + liid + "_imger")).src = li.imer[4].src;
      li.onid = liid;
      li.changed(nddr);
    }else{
      if(ui.$(li.liid("root_imger"))!=null){
          ui.$(li.liid("root_imger")).src = li.icon + "onroot.gif";
      }
      li.onid = liid;
      li.changed(null);
    }
  }
  li.lipi = function(liid){
    if(liid==null) liid = li.onid;
    if(liid=="0"){
      return "0";
    }else{
      var nddr = dxml.selectSingleNode(li.dset[0] + "[@" + li.dset[3] + "='" + liid + "']");
      var onpr = li.lixr(nddr,li.dset[4]) + "," + liid;
      return onpr;
    }
  }
  li.lipr = function(liid){
    if(liid==null) liid = li.onid;
    if(liid=="0"){
      return li.dset[2] + "://";
    }else{
      var nddr = dxml.selectSingleNode(li.dset[0] + "[@" + li.dset[3] + "='" + liid + "']");
      var onpr = li.lixr(nddr,li.dset[4]).split(",");
      var lipr = "";
      for(var i=0;i<onpr.length;i++){
        if(i==0){
          lipr = li.dset[2] + "://";
        }else{
          var nder = dxml.selectSingleNode(li.dset[0] + "[@" + li.dset[3] + "='" + onpr[i] + "']");
          lipr += li.lixr(nder,li.dset[5]) + "/";
        }
      }
      lipr += li.lixr(nddr,li.dset[5]) + "/";
      return lipr;
    }
  }
}
ui.tb = function(lb,ln){
    for(var i=0;i<lb.length;i++){
        if((i+1)==ln){
            ui.$(lb[i][0]).className = "TabOnnler";
            ui.$(lb[i][0]).style.padding = "5px 8px 2px 8px";
            ui.$(lb[i][1]).style.display = "block";
        }else if((i+1)>ln){
            ui.$(lb[i][0]).className = "TabOutler";
            ui.$(lb[i][0]).style.padding = "5px 0px 2px 8px";
            ui.$(lb[i][1]).style.display = "none";
        }else if((i+1)<ln){
            ui.$(lb[i][0]).className = "TabOutler";
            ui.$(lb[i][0]).style.padding = "5px 8px 2px 0px";
            ui.$(lb[i][1]).style.display = "none";
        }
    }
}
ui.command = function(i){
  var ifolder = i || "../html/manager/images/icon/";
  var o = document.getElementsByTagName("button");
  for(var i=0;i<o.length;i++){
    var e = o[i];
    if(e.kuan!=null){
      e.style.width = e.kuan;
    }else{
      e.style.width = "74px";
    }
    if(e.className==null||e.className==""){
      e.style.border = "0px";
    }
      e.style.cursor = "default";
      var m =  '<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">';
          m += '<tr>';
      if(e.icon!=null){
          m += '<td width="20"><p align="right">';
          m += '<img border="0" src="' + ifolder + e.icon + '" width="16" height="16"></td>';
          m += '<td width="3"></td>';
      }
      m += '<td valign="bottom">' + e.innerHTML + '</td></tr></table>';
      e.innerHTML = m;
      if(e.yong!=null){
        var yonger = true;
        if(e.yong=="false"){
          yonger = false;
        }else{
          yonger = true;
        }
        ui.enabled(e,yonger)
      }
  }
}
ui.enabled = function(element,enabled){
  element.disabled = (enabled == false);
  try{
    var forimger = element.getElementsByTagName("img")[0];
    if(enabled==true){
      forimger.style.cssText = "";
    }else{
      forimger.style.cssText = "FILTER:alpha(opacity=50) DropShadow(Color=#ffffff,OffX=1, OffY=1, Positive=1); ";
    }
  }catch(e){
  }
}
ui.explorer = function(parser){
    var par = parser.split("@");
    if(par.length==2){
        var url = par[0];
        var ser = par[1];
        var xyx = ser.split(".");
        if(xyx.length==2){
            var wer = parseInt(xyx[0]);
            var her = parseInt(xyx[1]);
            ui.exopener("childexplorer",url,wer,her);
        }
    }
    if(par.length==3){
        var mer = par[0];
        var url = par[1];
        var ser = par[2];
        var xyx = ser.split(".");
        if(xyx.length==2){
            var wer = parseInt(xyx[0]);
            var her = parseInt(xyx[1]);
            ui.exopener(mer,url,wer,her);
        }
    }
}
ui.exopener = function(ner,uer,ker,ger){
    var cer =  "width=1,"
        cer += "height=1,";
        cer += "toolbar=no,";
        cer += "location=no,";
        cer += "status=no,";
        cer += "menubar=no,";
        cer += "scrollbars=no,";
        cer += "resizable=yes";
    //var exper = window.open("about:blank",ner,cer);
    //    exper.document.body.style.margin = "0px";
    //var e = exper.document.createElement("div");
    //    e.style.width = "100%";
    //    e.style.height = "100%";
    //    exper.document.body.appendChild(e);
    //    exper.resizeTo(ker,ger);
    //    var kor = exper.document.body.childNodes[0].offsetWidth;
    //    var gor = exper.document.body.childNodes[0].offsetHeight;
    //ker += ker - kor;
    //ger += ger - gor;
    var exper = window.open(uer,ner,cer);
    exper.resizeTo(ker,ger);
    exper.moveTo((screen.width-ker)/2,(screen.height-ger)/2-10);
    //exper.location.href(uer);
}
ui.urlruner = function(parser){
    var par = parser.split("@");
    if(par.length==2){
        var url = par[0];
        var ser = par[1];
        var xyx = ser.split(".");
        if(xyx.length==2){
            var wer = parseInt(xyx[0]);
            var her = parseInt(xyx[1]);
            ui.exugotor(url,wer,her);
        }
    }else{
        window.location.href(parser);
    }
}
ui.exugotor = function(url,ker,ger){
    location.href("about:blank");
    var e = document.createElement("div");
        e.style.width = "100%";
        e.style.height = "100%";
        document.body.appendChild(e);
        window.resizeTo(ker,ger);
    var kor = document.body.childNodes[0].offsetWidth;
    var gor = document.body.childNodes[0].offsetHeight;
        ker += ker - kor;
        ger += ger - gor;
    window.resizeTo(ker,ger);
    window.moveTo((screen.width-ker)/2,(screen.height-ger)/2-10);
    window.location.href(url);
}
ui.docloser = function(){
    window.opener = null;
    window.close();
}
ui.exquitor = function(){
    if(window.name=="explorer"){
        location.href("loginer.html");
    }else{
        opener.location.href("loginer.html");
        ui.docloser();
    }
} 
