var arm=new Array();
var porm=new Array();
var endarm=0;
var nimgm=new Array();
var metrom=new Array();
var hrm=new Function("e","efm(this.getAttribute('num'),0,0,0)");
var selImgm = document.createElement("IMG");
var delimm = "\n";
var resObjm = 'StationText';
var formNameM = 'MetroForm';
var indm = 0;
selImgm.src= '/prv/vigvam.ru/img/metro/pp.gif'
selImgm.style.position="absolute";
selImgm.style.zIndex = "1000";
selImgm.style.cursor="pointer";
selImgm.width = 11;
selImgm.height = 11;
selImgm.onclick=function(){efm(this.getAttribute('num'),0,0,0);};
metrFieldm = document.createElement('INPUT');
metrFieldm.name = 'stids[]';
metrFieldm.type = 'hidden';

function rXm(which) {
  var ret = 0;
  if (nnn) {
    return document.layers[which].pageX;
  } else {
    var elem = (nnn)? document.getElementById(which) : document.all[which];
    var pos = elem.offsetLeft;
    while (elem.offsetParent != null) {
      elem = elem.offsetParent;
      pos += elem.offsetLeft;
      if (elem.tagName == 'BODY') break;
    } 
	ret = pos;
  }
  var s = parseInt(document.body.scrollLeft);
  if (!isNaN(s)) ret += s;
  return ret;
}

var nnn=document.layers;

function rYm(which) {
  var ret = 0;
  if (nnn) {
    return document.layers[which].pageY;
  } else {
    var elem = (nnn)? document.getElementById(which) : document.all[which];
    var pos = elem.offsetTop;
    while (elem.offsetParent != null) {
      elem = elem.offsetParent;
      pos += elem.offsetTop;
      if (elem.tagName == 'BODY') break;
    } 
 	ret = pos;
  }
  var s = parseInt(document.body.scrollTop);
  if (!isNaN(s)) ret += s;
  return ret;
}

function efm(num,x,y,pr)
{
   if (!porm[indm][num]) {
      lightStationm(num, x, y);
	  if (!porm[indm]) porm[indm] = new Array();
      porm[indm][num] = 1;
	  /*
      var stat = metrFieldm.cloneNode(true);
      stat.id = 'station_' + num;
      stat.value = metrom[num][3];
      document.getElementById(formNameM).appendChild(stat);
	  */
   } else if (nimgm[indm][num] && porm[indm][num]) {
      $('mapprom').removeChild(nimgm[indm][num]);
      porm[indm][num]=0;
      nimgm[indm][num] = null;
      //document.getElementById(formNameM).removeChild(document.getElementById('station_' + num));
   }
   return false;
}

function lightStationm(num, x, y)
{
   nimgm[indm][num]=selImgm.cloneNode(true);
   nimgm[indm][num].style.left = (parseInt(x)/* + rXm('mapprom') */ - (window.ActiveXObject?2:3)) + 'px';
   nimgm[indm][num].style.top = (parseInt(y)/* + rYm('mapprom')*/ - 0) + 'px';
   nimgm[indm][num].setAttribute('num', num);
   nimgm[indm][num].onclick = function() {efm(this.getAttribute('num'),0,0,0);};
   nimgm[indm][num] = $('mapprom').appendChild(nimgm[indm][num]);
}

function resetMap()
{
   for (var i in porm[indm]) {
      if (porm[indm][i] && porm[indm][i] == 1) efm(i);
   }
   return true;
}

function showMap(r, f, i)
{
   var url = '/prv/vigvam.ru/mod/metromap.php';
   if (r) {
	   resObjm = r;
	   formNameM = f;
	   indm = i;
   }
   if (!porm[indm]) porm[indm] = new Array();
   if (!nimgm[indm]) nimgm[indm] = new Array();
   Modalbox.show(url, {'method': 'post', 'width': 700, 'height': 600, 'title': 'Выберите станции', 'closeString': 'Закрыть', 'overlayDuration': 0, 'slideDownDuration': 0, 'slideUpDuration': 0, 'resizeDuration': 0, 'afterLoad': loadMap, 'afterHide': hideMap, 'overlayOpacity': .20});
}

function hideMap()
{
   var txt = '';
   for (var i in porm[indm]) {
      if (porm[indm][i] && porm[indm][i] == 1) {
         txt += metrom[i][0] + delimm;
         if ($('mapprom')) $('mapprom').removeChild(nimgm[indm][i]);
         nimgm[indm][i] = null;
      }
   }
   $(resObjm).value = txt;
}

function loadMap()
{
   if (!$('mapprom')) {
      Modalbox.hide();
      return;
   }
   for (var i in porm[indm]) {
      if (porm[indm][i] && porm[indm][i] == 1) lightStationm(i, metrom[i][1], metrom[i][2]);
   }
}

function clearMap()
{
   for (var i in porm[indm]) {
      if (porm[indm][i] && porm[indm][i] == 1) {
         porm[indm][i]=0;
         nimgm[indm][i] = null;
         //document.getElementById(formNameM).removeChild(document.getElementById('station_' + i));
      }
   }
   $(formNameM).value = '';
}
