// wabbit mini-mapping

// http://www.dustindiaz.com/getelementsbyclass

function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
        return classElements;
}


function unMap() {

    var ins = document.getElementsByTagName("div");

    var cand = null;

    for (var i = 0; i < ins.length; i++) {
        cand = ins[i];
        if(cand.className=='map-box') {
            cand.parentNode.removeChild(cand);
        }
    }

}

function popMap(e) {

  var a = this.rel.split(','); var y = a[0]; var x = a[1];

  unMap();

 if (GBrowserIsCompatible()) {

  var box = document.createElement('div');

  box.className = 'map-box';

  box.style.border = '3px solid #f3f';
  box.style.position = 'absolute';
  box.style.top = '-242px';
  box.style.height = '240px';
  box.style.width = '300px';

  var box2 = document.createElement('div');
  box2.id = 'map-map';

  box2.style.height = '100%';
  box2.style.width = '100%';

  box.appendChild(box2);

  var box3 = document.createElement('div');
  box3.id = 'map-unmap';
  box3.onclick = unMap;

  box3.style.background = '#f3f';
  box3.style.color = '#fff';
  box3.style.cursor = 'pointer';
  box3.style.height = '24px';
  box3.style.lineHeight = '24px';
  box3.style.position = 'absolute';
  box3.style.right = '-24px';
  box3.style.textAlign = 'center';
  box3.style.textDecoration = 'none';
  box3.style.top = '218px';//0 | -2px
  box3.style.width = '24px';

  box2 = document.createTextNode('x');
  box3.appendChild(box2);
  box.appendChild(box3);

  this.appendChild(box);


  var chart = document.getElementById('map-map');

     var map = new GMap2(chart);

     map.enableContinuousZoom();
    // map.enableScrollWheelZoom();

     map.setCenter(new GLatLng(y, x), 12);//13

 var icon = new GIcon();

icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);

    var ll = new GPoint(x, y); // longitude, latitude

     var marker = new GMarker(ll, icon);
      map.addOverlay(marker);

 }


  if(e.preventDefault) { e.preventDefault(); e.stopPropagation(); }

  return false;

}

function mapPrep() {

    var cand = getElementsByClass('map-lnk', null, 'a');
    YAHOO.util.Event.addListener(cand, "click", popMap); // allows IE to understand "this"
   // YAHOO.util.Event.addListener(cand, "mouseover", popMap);
   // YAHOO.util.Event.addListener(cand, "mouseout", unMap);

    var l = cand.length;
    for (var i = 0; i < l; i++) {
      cand[i].style.position = 'relative';
    }

}

YAHOO.util.Event.addListener(window, 'load', mapPrep);