OpenLayers.Util.BORDERHACK = 2;
OpenLayers.Util.BORDERWIDTH = [0,0];

OpenLayers.Util.pointerX = function(event) {
	return event.pageX || (event.clientX +
      (document.documentElement.scrollLeft || document.body.scrollLeft));
},

OpenLayers.Util.pointerY = function(event) {
	return event.pageY || (event.clientY +
      (document.documentElement.scrollTop || document.body.scrollTop));
},

OpenLayers.Util.pagePosition = function(forElement) {
    var valueT = 0, valueL = 0;

    var element = forElement;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;

      // Safari fix
      if (element.offsetParent==document.body)
        if (OpenLayers.Element.getStyle(element,'position')=='absolute') break;

    } while (element = element.offsetParent);

    element = forElement;
    do {
      valueT -= element.scrollTop  || 0;
      valueL -= element.scrollLeft || 0;
    } while (element = element.parentNode);


	if (/MSIE/.test(navigator.userAgent)) {
		valueT += OpenLayers.Util.BORDERHACK;
		valueL +=OpenLayers.Util.BORDERHACK;
		valueT += OpenLayers.Util.BORDERWIDTH[0];
		valueL += OpenLayers.Util.BORDERWIDTH[1];
	}
	else {
		valueT += 2*OpenLayers.Util.BORDERWIDTH[0];
		valueL += 2*OpenLayers.Util.BORDERWIDTH[1];
	}
	return [valueL, valueT];
}

OpenLayers.Util.getContentAsString = function( parentNode ) {
      return parentNode.xml != undefined ? 
         OpenLayers.Util.getContentAsStringIE(parentNode) :
         OpenLayers.Util.getContentAsStringMozilla(parentNode);
}
   
OpenLayers.Util.getContentAsStringIE = function(parentNode) {
     var contentStr = "";
     for ( var i = 0 ; i < parentNode.childNodes.length ; i++ ) {
         var n = parentNode.childNodes[i];
         if (n.nodeType == 4) {
             contentStr += n.nodeValue;
         }
         else {
           contentStr += n.xml;
       }
     }
     return contentStr;
}

OpenLayers.Util.getContentAsStringMozilla = function(parentNode) {
     var xmlSerializer = new XMLSerializer();
     var contentStr = "";
     for ( var i = 0 ; i < parentNode.childNodes.length ; i++ ) {
          var n = parentNode.childNodes[i];
          if (n.nodeType == 4) { // CDATA node
              contentStr += n.nodeValue;
          }
          else {
            contentStr += xmlSerializer.serializeToString(n);
        }
     }
     return contentStr;
}





