//-----------------------------------------------------------------------
// Copyright (C) Moneysupermarket. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxFix.js
// With thanks to Bertrand Le Roy (http://weblogs.asp.net/bleroy/)

if(typeof(Sys) !== 'undefined') {
  if(Sys.Browser.agent == Sys.Browser.InternetExplorer) {
    Sys.UI.DomElement.getLocation = function(element) {
        if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0);
        var clientRect = element.getBoundingClientRect();
        if (!clientRect) {
            return new Sys.UI.Point(0,0);
        }
        var ownerDocument = element.document.documentElement;
        var offsetX = clientRect.left - 2 + ownerDocument.scrollLeft,
            offsetY = clientRect.top - 2 + ownerDocument.scrollTop;

        try {
            var f = element.ownerDocument.parentWindow.frameElement || null;
            if (f) {
                var offset = 2 - (f.frameBorder || 1) * 2;
                offsetX += offset;
                offsetY += offset;
            }
        }
        catch(ex) {
        }    
        
        return new Sys.UI.Point(offsetX, offsetY);
    }
  }
}

