/* --------------------------------------------------------------------------------------
 * mapcontrol.js
 * @20100208
-------------------------------------------------------------------------------------- */
document.write('<script type="text/javascript" src="/control/js/mapinfo.js"></script>');
var changeMapImage;
VCOMN.ObserveDOMLoaded(initMapControl);

function initMapControl() {
  var MENU_CLASS = 'areaList';
  var LIST_PROVINCE_CLASS = 'show';
  var MENU_ID_PREFIX = 'area-';
  var map = document.getElementsByTagName('MAP');
  if (!map || !map.length) {
    return;
  }
  map = map[0];
  var mapOnMouse = false;
  var menuOnMouse = false;
  var _mapMenus = {};
  var hideMenuAll = function () {
    if (mapOnMouse || menuOnMouse) {
      return;
    }
    for (var n in _mapMenus) {
      _mapMenus[n].style.display = 'none';
    }
  };
  for (var i = 0; i < menuInfo.length; i++) {
    var menu = document.createElement('UL');
    var info = menuInfo[i];
    menu.id = MENU_ID_PREFIX + menuInfo[i].id;
    menu.className = MENU_CLASS;
    for (var j = 0; j < menuInfo[i].menu.length; j++) {
      var atagInfo = menuInfo[i].menu[j];
      var li = document.createElement('LI');
      var atag = document.createElement('A');
      atag.href = atagInfo.href;
      if (atagInfo.target) {
        atag.target = atagInfo.target;
      }
      atag.appendChild(document.createTextNode(atagInfo.label));
      li.appendChild(atag);
      if (j == 0 && menuInfo[i].menu.length > 1) {
        li.className = LIST_PROVINCE_CLASS;
      }
      menu.appendChild(li);
    }
    map.parentNode.insertBefore(menu, map.nextSibling);
    menu.style.left = menuInfo[i].left + 'px';
    menu.style.top = menuInfo[i].top + 'px';
    menu.style.width = menuInfo[i].width + 'px';
    menu.style.display = 'none';
    menu.onmouseover = function () {
      menuOnMouse = true;
    };
    menu.onmouseout = function () {
      menuOnMouse = false;
      setTimeout(hideMenuAll, 200);
    };
    _mapMenus[menuInfo[i].id] = menu;
  }
  changeMapImage = function (url) {
    document.getElementById('map').src = url;
    var srcParts = url.split('/');
    var test = url.match(/map(\d+)\.gif$/);
    if (test && test.length > 1) {
      mapOnMouse = true;
      var menuId = test[1];
      for (var n in _mapMenus) {
        _mapMenus[n].style.display = n == menuId ? '' : 'none';
      }
    } else {
      mapOnMouse = false;
      setTimeout(hideMenuAll, 200);
    }
  }
}


