CDrag.Add = Class.create();
CDrag.Add.prototype = {
 
 initialize : function (parent) {
 //初始化参数
  var wc = this;
  wc.div = document.createElement("div"); //最外层div
  wc.iframe = document.createElement("iframe"); //协助wc.div盖select的iframe
  wc.node = document.createElement("div"); //内容底层div
  wc.content = document.createElement("div"); //内容层div
  wc.button = document.createElement("button"); //内容处理按钮
  wc.parent = parent;
  wc.json = null;
  
  wc.button.onclick = wc.execute.bind(wc, wc.content); //向按钮指向方法
  wc.init_element();
 },
 
 init_element : function () {
 //初始化元素
  var wc = this;
  wc.div.setAttribute(CDrag.IE ? "className" : "class", "Dall_screen");
  wc.iframe.setAttribute(CDrag.IE ? "className" : "class", "Iall_screen");
  wc.node.setAttribute(CDrag.IE ? "className" : "class", "Nall_screen");
  wc.content.setAttribute(CDrag.IE ? "className" : "class", "Call_screen");
  wc.button.innerHTML = "执行";
  wc.node.appendChild(wc.content);
  wc.node.appendChild(wc.button);
 },
 
 init_json : function () {
 //初始化原始数据信息串
  var wc = this, parent = wc.parent,
   cols = parent.table.items, new_json = {}, init_json = CDrag.database.json, r, i, j;
   
  for (i = 0 ; i < init_json.length ; i ++) //便利原始数据
   new_json[init_json[i].id] = { id : init_json[i].id, row : null, title : init_json[i].title };
   
  for (i = 0 ; i < cols.length ; i ++) //便利修改生成的串的属性
   for (r = cols[i].items, j = 0 ; j < r.length ; j ++)
    new_json[r[j].root_id].row = r[j];
  return new_json;
 },
 
 init_node : function () {
 //初始化内容层div的数据
  var wc = this, json = wc.json = wc.init_json(), boxary = [], i;
  for (i in json)
//  alert(json);
   boxary[boxary.length] = [
    '<input type="checkbox"', json[i].row ? 'checked="checked"' : "",
    ' value="', json[i].id, '" />  ', json[i].title, '<br \/>'
   ].join("");
  wc.content.innerHTML = boxary.join(""); //写入内容层
 },
 
 execute : function (div) {
 //处理table类结构
  var wc = this, parent = wc.parent, json = wc.json, items = div.getElementsByTagName("input"), row, c, i;
  
  try {
  
   for (i = 0 ; i < items.length ; i ++) {
   
    if (items[i].type != "checkbox") continue;
    row = json[items[i].value];
    
    if ((!!row.row) != items[i].checked) {
     if (row.row) parent.remove(row.row); //删除
     else parent.add(parent.table.items[0].add(row.id, 1, false)); //向第一行追加数据
     c = true;
    }
    
   }
   
   div.innerHTML = "";
   if (c) parent.set_cookie();
   
  } catch (exp) {}
  wc.close();
 },
 
 add : function () {
 //添加数据
  var wc = this, div = wc.div, iframe = wc.iframe;
  wc.init_node();
  div.style.height = iframe.style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.offsetHeight) + "px";
  div.style.width = iframe.style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.offsetWidth) + "px";
  document.getElementsByTagName("html")[0].style.overflow = "hidden";
  document.body.appendChild(iframe);
  document.body.appendChild(div);
  document.body.appendChild(wc.node);
 },
 
 close : function () {
 //关闭添加框
  var wc = this, div = wc.div, iframe = wc.iframe;
  document.getElementsByTagName("html")[0].style.overflow = CDrag.IE ? "" : "auto";
  document.body.removeChild(iframe);
  document.body.removeChild(div);
  document.body.removeChild(wc.node);
 }
 
};
