  function initPage() {
    fldLng = document.getElementById("long");
    fldLat = document.getElementById("lat");
    crosshairDIV = document.getElementById("myCrosshair");
    googleDIV    = document.getElementById("myGoogle");
    resultDIV    = document.getElementById("div_result");
    mapDIV       = document.getElementById("map");
    routeDIV     = document.getElementById("route");

    mapPos       = q_getOffsetXY(mapDIV);

    setCrosshair();
  }

 function wopen2(url,wname,flags,w,h) {
    var par='';
    var left = Math.floor( (screen.width - w) / 2);
    var top = Math.floor( (screen.height - h) / 2);
    if(flags&1)  { par+='scrollbars=1,';  } else { par+='scrollbars=0,';  }
    if(flags&2)  { par+='status=1,';      } else { par+='status=0,';      }
    if(flags&4)  { par+='resizable=1,';   } else { par+='resizable=0,';   }
    if(flags&8)  { par+='toolbar=1,';     } else { par+='toolbar=0,';     }
    if(flags&16) { par+='location=1,';    } else { par+='location=0,';    }
    if(flags&32) { par+='menubar=1,';     } else { par+='menubar=0,';     }
    if(flags&64) { par+='directories=1,'; } else { par+='directories=0,'; }
    win  = window.open(url,wname,'width=' + w + ', height=' + h + ',' + par + 'top=' + top + ',left=' + left);
    win.focus();
  }

  function q_moveTo(obj, x, y) {
    // moves 'obj' to x/y coordinates
    obj.style.left = x + "px";
    obj.style.top = y + "px";
  }

  function q_getOffsetX(obj) {
    // returns 'x' coordinate of 'obj'
    var yPos = obj.offsetTop;
    var parent = obj.offsetParent;
    while (parent != null) {
      xPos += parent.offsetTop;
      parent = parent.offsetParent;
    }
    return xPos;
  }

  function q_getOffsetY(obj) {
    // returns 'y' coordinate of 'obj'
    var yPos = obj.offsetTop;
    var parent = obj.offsetParent;
    while (parent != null) {
      yPos += parent.offsetTop;
      parent = parent.offsetParent;
    }
    return yPos;
  }

  function q_getOffsetXY(obj, findID) {
    // returns an object with both '.x' and '.y' offsets of 'obj' relative to 'findID' (or page if 'findID' doesn't exist)
    // usage: "var point = q_getOffsetXY(obj); var left=point.x; var top=point.y;"
    var xPos = obj.offsetLeft;
    var yPos = obj.offsetTop;
    var parent = obj.offsetParent;
    if (typeof findID == 'undefined') findID = '!@#$%^&*()';
    while ((parent != null) && (parent.id != findID)) {
      xPos += parent.offsetLeft;
      yPos += parent.offsetTop;
      parent = parent.offsetParent;
    }
    return new q_Point(xPos, yPos);
  }

  function q_Point(x, y) {
    // returns a "Point" object with '.x' and '.y' properties
    this.x = x;
    this.y = y;
  }

