XMLParser = Class.create();
Object.extend(XMLParser.prototype, {
  initialize: function(xmlObj) {
    this.xmlObj = xmlObj;
    this.root = xmlObj.documentElement;
  },

  list: function(value) {
    var result = this.root.getElementsByTagName(value);
    return result;
  },

  get: function (node, value) {
    if(typeof value == 'undefined' || !node)
      return '';

    if((node.getElementsByTagName(value)).length == 0)
      return '';

    return this.text(node.getElementsByTagName(value).item(0));
  },

  getArray: function (node, value, arr) {
	    if(typeof value == 'undefined' || !node)
	      return '';

	    if((node.getElementsByTagName(value)).length == 0)
	      return '';

	    return this.text(node.getElementsByTagName(value).item(arr));
	  },

  toArray: function(value) {
    var list = this.list(value);
    var nodeValues = new Array();
    for (var i = 0; i < list.length; i++) {
      nodeValues.push(this.get(list[i]));
    }

    return nodeValues;
  },

  text: function (node) {
    if (typeof node.textContent != 'undefined') {
      return node.textContent;
    } else if (typeof node.innerText != 'undefined') {
      return node.innerText;
    } else if (typeof node.text != 'undefined') {
      return node.text;
    } else {
      switch(node.nodeType) {
        case 3:
        case 4:
          return node.nodeValue;
          break;
        case 1:
        case 11:
          var innerText = '';
          for (var i = 0; i < node.childNodes.length; i++) {
            innerText += text(node.childNodes[i]);
          }
          return innerText;
          break;
        default:
          return '';
      }
    }
  },
  setXmlValue: function(node, el,form){
    var arg = el.split(',');
    for(i=0;i<arg.length;i++){
      $(arg[i]).value = this.get(node, arg[i]);
    }
  },
  pageBar: function(pageId,curPage){
    var node = this.list("pageBar");
    pageId.update(this.get(node[0],"pageHTML"));
    curPage.value = this.get(node[0],"curPage");
  }

});

XMLParser.nodeType = [
    "",
    "ELEMENT_NODE",                 // 1
    "ATTRIBUTE_NODE",               // 2
    "TEXT_NODE",                    // 3
    "CDATA_SECTION_NODE",           // 4
    "ENTITY_REFERENCE_NODE",        // 5
    "ENTITY_NODE",                  // 6
    "PROCESSING_INSTRUCTION_NODE",  // 7
    "COMMENT_NODE",                 // 8
    "DOCUMENT_NODE",                // 9
    "DOCUMENT_TYPE_NODE",           // 10
    "DOCUMENT_FRAGMENT_NODE",       // 11
    "NOTATION_NODE"                 // 12
];

function dispCombo(originalRequest) {
  var xmlParser = new XMLParser(originalRequest.responseXML);
  var nodes = xmlParser.list("row");
  var selInfo = xmlParser.list("selInfo");
  var combo_id = xmlParser.get(selInfo[0],"selId");
  var gubun = xmlParser.get(selInfo[0],"gubun");
  var addr = xmlParser.get(selInfo[0],"addr");
  var IE = false ;
  if (window.navigator.appName.indexOf("Explorer") !=-1){ IE = true;}

  $(combo_id).innerHTML = "";
  if(gubun == 'all'){
    var opt = document.createElement("option");
    opt.value = '';
    opt.text = '전체';
    $(combo_id).options.add(opt);
  }else if(gubun == 'opt'){
    var opt = document.createElement("option");
    opt.value = '';
    opt.text = '선택';
    $(combo_id).options.add(opt);
  }
  for(var i = 0; i < nodes.length; i++) {
    var opt = document.createElement("option");
    if(IE){
      opt.value = xmlParser.text(nodes[i].childNodes[0]);
      opt.text = xmlParser.text(nodes[i].childNodes[1])+(addr=='1'?'('+toTel2(xmlParser.text(nodes[i].childNodes[0]))+')':'');
    }else{
      opt.value = xmlParser.text(nodes[i].childNodes[1]);
      opt.text = xmlParser.text(nodes[i].childNodes[3])+(addr=='1'?'('+toTel2(xmlParser.text(nodes[i].childNodes[1]))+')':'');
    }
    $(combo_id).options.add(opt);
  }
}
function dispCheck(originalRequest) {
  var xmlParser = new XMLParser(originalRequest.responseXML);
  var nodes = xmlParser.list("row");
  var selInfo = xmlParser.list("selInfo");
  var combo_id = xmlParser.get(selInfo[0],"selId");
  var gubun = xmlParser.get(selInfo[0],"gubun");
  var oId = xmlParser.get(selInfo[0],"oId");
  var IE = false ;
  if (window.navigator.appName.indexOf("Explorer") !=-1){ IE = true;}

  $(combo_id).innerHTML = "";
  var str = "";
  var value = "";
  var text = "";
  for(var i = 0; i < nodes.length; i++) {
    if(IE){
      value = xmlParser.text(nodes[i].childNodes[0]);
      text = xmlParser.text(nodes[i].childNodes[1]);
    }else{
      value = xmlParser.text(nodes[i].childNodes[1]);
      text = xmlParser.text(nodes[i].childNodes[3]);
    }

    str += "<input type='checkbox' name='"+oId+"' id='"+oId+value+"' value='"+value+"' class='checkbox'>";
    str += "<label for='"+oId+value+"'>"+text+"</label><br>";
  }
  $(combo_id).innerHTML = str;
}
