﻿//Member.aspx.js

function voidDoOnPageLoad() {
  if (document.getElementById("imgMember")) {
    g_sGoMapUrl = document.getElementById("imgMember").parentNode.attributes.getNamedItem("href").value;
  
    if ("" != g_sPicture && 16 < g_sPicture.length) {
      voidPlayPicAndMap();
      window.setInterval("voidPlayPicAndMap()", 4000);
    }
  }
  
  if (null == g_oUnitCatalogXmlDoc) {
    return;
  }
  else if (window.ActiveXObject) {
    g_oUnitCatalogXmlDoc.async = false;
    g_oUnitCatalogXmlDoc.load("../Map/tree/tree.xml");
    handler();
  }
  else {
    g_oUnitCatalogXmlDoc.onload = handler;
    g_oUnitCatalogXmlDoc.load("../Map/tree/tree.xml");
  }
}

function handler() {
  voidSetCatalog(document.getElementById("sltSearchCatalog1"), g_oUnitCatalogXmlDoc.documentElement, "", "　");
  voidSetCatalog(document.getElementById("sltSearchCatalog2"), g_oUnitCatalogXmlDoc.documentElement, "", "　");
  
  /*if (document.getElementById("sltSearchCatalog").options.length > 1) {
    document.getElementById("sltSearchCatalog").options[1].selected = true;
  }*/
}

function voidPlayPicAndMap() { 
  if (g_iIndex) {
    document.all.imgMember.src = g_sSketchMap;
    document.all.imgMember.alt = "点击进入电子地图";
    document.all.imgMember.parentNode.href = g_sGoMapUrl;
    
    g_iIndex = 0;
  }
  else {
    document.all.imgMember.src = g_sPicture;
    document.all.imgMember.alt = "点击查看大图";
    document.all.imgMember.parentNode.href = g_sPicture;
    
    g_iIndex = 1;
  }
}

function blnCheckArrive(oForm) {
  var sKey = oForm.txtStart.value;
  if ("请输入搜索关键字" == sKey) {
    sKey = "";
    oForm.txtStart.value = sKey;
  }
  
  if ("" == sKey) {
    window.alert("请输入起始地点！");
    return false;
  }
  else if (!sKey.testSqlInput())
  {
    window.alert("您输入的查询关键字包含非法字符，请重新输入！");
    return false;
  }
  
  return true;
}

function blnCheckAround(oForm) {
  var sRange = oForm.txtSearchRange.value;
  var sName = oForm.txtSearchName.value;
  
  if (sRange == "" || isNaN(sRange))
  {
  　window.alert("请正确输入查找范围！");
  　return false;
  }
  
  if ("请输入搜索关键字" == sName) {
    sName = "";
    oForm.txtSearchName.value = sName;
  }
  else if (!sName.testSqlInput())
  {
    window.alert("您输入的查询关键字包含非法字符，请重新输入！");
    return false;
  }
  
  var sCatalogs = "";
  if (document.forms[1].sltSearchCatalog) {
    var sCatalog = document.forms[1].sltSearchCatalog.options[document.forms[1].sltSearchCatalog.selectedIndex].value;
    if (-1 != sCatalog.indexOf(";"))
      sCatalogs += sCatalog.split(";")[1] + ",";
  }
  sCatalogs = sCatalogs.replace(/,+$/, "");
  
  document.forms[3].id.value = document.forms[1].endid.value;
  document.forms[3].key.value = "";
  document.forms[3].range.value = sRange;
  document.forms[3].name.value = sName;
  document.forms[3].cata.value = sCatalogs;
    
  document.forms[3].submit();
  
  return false;
}

function blnCheckNear(oForm) {
  var sName = oForm.txtSearchName.value;
  
  if ("请输入搜索关键字" == sName) {
    sName = "";
    oForm.txtSearchName.value = sName;
  }
  else if (!sName.testSqlInput()) {
    window.alert("您输入的查询关键字包含非法字符，请重新输入！");
    return false;
  }
  
  var sCatalogs = "";
  if (document.forms[2].sltSearchCatalog) {
    var sCatalog = document.forms[2].sltSearchCatalog.options[document.forms[2].sltSearchCatalog.selectedIndex].value;
    if (-1 != sCatalog.indexOf(";"))
      sCatalogs += sCatalog.split(";")[1] + ",";
  }
  sCatalogs = sCatalogs.replace(/,+$/, "");
  
  document.forms[4].id.value = document.forms[2].endid.value;
  document.forms[4].key.value = "";
  document.forms[4].name.value = sName;
  document.forms[4].cata.value = sCatalogs;
    
  document.forms[4].submit();
  return false;
}

function voidAppendChild(oSelect, oCatalogXmlElement, sChildText) {
  var sVal = (arguments.length > 3) ? arguments[3] : oSelect.options[oSelect.selectedIndex].value;
  var asVal = sVal.split(";");
  
  var bShowTips = false;
  var sText = (arguments.length > 4) ? arguments[4] : oSelect.options[oSelect.selectedIndex].text;
  var sText2 = sText.replace(/^[ |　]+/, "");
  if (sText2.indexOf("＋") != 0 && sText2.indexOf("[") != 0) {
    window.status = sText.replace(/^　+/, "").trim().replace("－", "");
    return;
  }
  
  var asValus = sVal.split(";");
  var sLevelFlag = asValus[0];
  oSelect.innerHTML = "";
  if (sLevelFlag.length > 0) {
    if (asValus.length == 2) {
      if (2 == sLevelFlag.length && oSelect == document.getElementById("sltRange"))
        ;
      else
        voidInsetOptions(oSelect, sLevelFlag.substring(0, sLevelFlag.length - 2) + ";" + asValus[1], "[返回上一层" + sChildText + "..]");
    }
    else
      voidInsetOptions(oSelect, sLevelFlag.substring(0, sLevelFlag.length - 2), "[返回上一层" + sChildText + "..]");
    
    if (sText.indexOf("[") != -1) {
      var asCataInfo = sGetCatalogText(oCatalogXmlElement, sLevelFlag, "").split(";");
      
      if ("分类" == sChildText && 2 == sLevelFlag.length) {
        voidInsetOptions(oSelect, sLevelFlag + ";" + asCataInfo[1], "　" + asCataInfo[0]);
      }
      else {
        voidInsetOptions(oSelect, sLevelFlag + ";" + asCataInfo[1], asCataInfo[0]);
      }
    }
    else { 
      voidInsetOptions(oSelect, sVal, sText.replace("＋", "－"));

      bShowTips = true;
    }
    
    if (oSelect.options[1])
      oSelect.options[1].selected = true;
  }
  else if ("分类" == sChildText) {
    voidInsetOptions(oSelect, "所有类别", "－所有类别");
  }
  
  voidSetCatalog(oSelect, oCatalogXmlElement, sLevelFlag, "　");
  
  bShowTips = (false == arguments[5]) ? false : bShowTips;
  if (bShowTips) {
    window.status = "您可以再选择“" + sText.replace(/^　+/, "").trim().replace("＋", "") + "”的子" + sChildText;
    var aiPosn = aryGetElmtPosn(oSelect);
    aiPosn[0] += 2;
    aiPosn[1] -= (oSelect.offsetHeight + document.body.scrollTop - 4);
    window.setTimeout("voidShowPopup(" + aiPosn[0] + "," + aiPosn[1] + ",176,18,'您还可以再选择该" + sChildText + "的子" + sChildText + "')", 1);
  }
}

function voidShowPopup(iX, iY, iWidth, iHeight, sMsg) {
  if (!window.createPopup) {
    return;
  }
  
  var oPopup = window.createPopup();
  var oPopBody = oPopup.document.body;
  oPopBody.style.backgroundColor = "lightyellow";
  oPopBody.style.border = "solid black 1px";
  oPopBody.style.padding = "2px";
  oPopBody.innerHTML = "<span style='color:#ff0000;font-size:12px'>" + sMsg + "</span>";
  oPopup.show(iX, iY, iWidth, iHeight, document.body);
}

function sGetCatalogId(oCatalogXmlElement, sCata) {
  var sId = "";
  var oNode, oAttrib, sText, sVal;
  
  for(var i=0; i<oCatalogXmlElement.childNodes.length; i++) {
    oNode = oCatalogXmlElement.childNodes[i];
    if (1 != oNode.nodeType) {
      continue;
    }
        
    oAttrib = oNode.attributes;
    sVal = oAttrib.getNamedItem("NodeValue").value;
    if (sVal == sCata) {
      sId = oAttrib.getNamedItem("NodeId").value;
      break;
    }
    else if (oCatalogXmlElement.childNodes[i].hasChildNodes && 1 < oCatalogXmlElement.childNodes[i].childNodes.length) {
      sId = sGetCatalogId(oCatalogXmlElement.childNodes[i], sCata);
      if ("" != sId) {
        break;
      }
    }
  }
  
  return sId;
}

function sGetCatalogText(oCatalogXmlElement, sLevelFlag, sBlankChar) {
  var oNode, oAttrib, sText, sVal;
  
  if (null == sLevelFlag || sLevelFlag.length <= 2) {
    if (sLevelFlag.length == 2) {
      for(var i=0; i<oCatalogXmlElement.childNodes.length; i++) {
        oNode = oCatalogXmlElement.childNodes[i];
        if (1 != oNode.nodeType) {
          continue;
        }
        
        oAttrib = oNode.attributes;
        sVal = oAttrib.getNamedItem("NodeId").value;
        if(sVal.substring(sVal.length-2, sVal.length) == sLevelFlag.substring(0, 2)) {
          return sBlankChar + "－" + oAttrib.getNamedItem("Title").value + ";" + oAttrib.getNamedItem("NodeValue").value;
        }
      }
    }
    
    return "";
  }
  else {
    for(var i=0; i<oCatalogXmlElement.childNodes.length; i++) {
      oNode = oCatalogXmlElement.childNodes[i];
      if (1 != oNode.nodeType) {
        continue;
      }
        
      oAttrib = oNode.attributes;
      sVal = oCatalogXmlElement.childNodes[i].attributes.getNamedItem("NodeId").value;
      if (sVal.substring(sVal.length-2, sVal.length) == sLevelFlag.substring(0, 2)) {
        return sGetCatalogText(oCatalogXmlElement.childNodes[i], sLevelFlag.substring(2, sLevelFlag.length), sBlankChar + "　");
        break;
      }
    }
  }
}

function voidSetCatalog(oSelect, oCatalogXmlElement, sLevelFlag, sBlankChar) {
  var oNode, oAttrib, sText, sVal;
  
  if (null == sLevelFlag || sLevelFlag.length < 2) {
    for(var i=0; i<oCatalogXmlElement.childNodes.length; i++) {
      oNode = oCatalogXmlElement.childNodes[i];
      if (1 != oNode.nodeType) {
        continue;
      }
      
      oAttrib = oNode.attributes;      
      sText = oAttrib.getNamedItem("Title").value;
      
      if(oCatalogXmlElement.childNodes[i].hasChildNodes && 1 < oCatalogXmlElement.childNodes[i].childNodes.length)
        sText = "＋" + sText;
      else
        sText = "－" + sText;
      sText = sBlankChar + sText;
        
      var sVal = oAttrib.getNamedItem("NodeId").value;
      if (oAttrib.getNamedItem("NodeValue"))
        sVal += ";" + oAttrib.getNamedItem("NodeValue").value;
        
      voidInsetOptions(oSelect, sVal, sText);
    }
  }
  else {
    for(var i=0; i<oCatalogXmlElement.childNodes.length; i++) {
      oNode = oCatalogXmlElement.childNodes[i];
      if (1 != oNode.nodeType) {
        continue;
      }
      
      oAttrib = oNode.attributes;
      sVal = oAttrib.getNamedItem("NodeId").value;
      if (sVal.substring(sVal.length-2, sVal.length) == sLevelFlag.substring(0, 2)) {
        voidSetCatalog(oSelect, oCatalogXmlElement.childNodes[i], sLevelFlag.substring(2, sLevelFlag.length), sBlankChar + "　");
        break;
      }
    }
  }
}
