| 989 | | do { |
|---|
| 990 | | valueT += element.offsetTop || 0; |
|---|
| 991 | | valueL += element.offsetLeft || 0; |
|---|
| 992 | | |
|---|
| 993 | | // Safari fix |
|---|
| 994 | | if (element.offsetParent==document.body) |
|---|
| 995 | | if (OpenLayers.Element.getStyle(element,'position')=='absolute') break; |
|---|
| 996 | | |
|---|
| 997 | | } while (element = element.offsetParent); |
|---|
| | 989 | var child = forElement; |
|---|
| | 990 | while(element) { |
|---|
| | 991 | |
|---|
| | 992 | if(element == document.body) { |
|---|
| | 993 | if(OpenLayers.Element.getStyle(child, 'position') == 'absolute') { |
|---|
| | 994 | break; |
|---|
| | 995 | } |
|---|
| | 996 | } |
|---|
| | 997 | |
|---|
| | 998 | valueT += element.offsetTop || 0; |
|---|
| | 999 | valueL += element.offsetLeft || 0; |
|---|
| | 1000 | |
|---|
| | 1001 | child = element; |
|---|
| | 1002 | try { |
|---|
| | 1003 | // wrapping this in a try/catch because IE chokes on the offsetParent |
|---|
| | 1004 | element = element.offsetParent; |
|---|
| | 1005 | } catch(e) { |
|---|
| | 1006 | OpenLayers.Console.error( |
|---|
| | 1007 | "OpenLayers.Util.pagePosition failed: element with id " + |
|---|
| | 1008 | element.id + " may be misplaced." |
|---|
| | 1009 | ); |
|---|
| | 1010 | break; |
|---|
| | 1011 | } |
|---|
| | 1012 | } |
|---|