PageSourceSearch

https://www.natureweb.net/Scripts/WebForms/WebParts.js

js natureweb.net collected 2026-09-24 10:14:29 UTC 27,246 bytes, 647 lines download raw bytes

1//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5.1/1/WebParts.js
2var __wpm = null;
3function Point(x, y) {
4    this.x = x;
5    this.y = y;
6}
7function __wpTranslateOffset(x, y, offsetElement, relativeToElement, includeScroll) {
8    while ((typeof(offsetElement) != "undefined") && (offsetElement != null) && (offsetElement != relativeToElement)) {
9        x += offsetElement.offsetLeft;
10        y += offsetElement.offsetTop;
11        var tagName = offsetElement.tagName;
12        if ((tagName != "TABLE") && (tagName != "BODY")) {
13            x += offsetElement.clientLeft;
14            y += offsetElement.clientTop;
15        }
16        if (includeScroll && (tagName != "BODY")) {
17            x -= offsetElement.scrollLeft;
18            y -= offsetElement.scrollTop;
19        }
20        offsetElement = offsetElement.offsetParent;
21    }
22    return new Point(x, y);
23}
24function __wpGetPageEventLocation(event, includeScroll) {
25    if ((typeof(event) == "undefined") || (event == null)) {
26        event = window.event;
27    }
28    return __wpTranslateOffset(event.offsetX, event.offsetY, event.srcElement, null, includeScroll);
29}
30function __wpClearSelection() {
31    document.selection.empty();
32}
33function WebPart(webPartElement, webPartTitleElement, zone, zoneIndex, allowZoneChange) {
34    this.webPartElement = webPartElement;
35    this.allowZoneChange = allowZoneChange;
36    this.zone = zone;
37    this.zoneIndex = zoneIndex;
38    this.title = ((typeof(webPartTitleElement) != "undefined") && (webPartTitleElement != null)) ?
39        webPartTitleElement.innerText : "";
40    webPartElement.__webPart = this;
41    if ((typeof(webPartTitleElement) != "undefined") && (webPartTitleElement != null)) {
42        webPartTitleElement.style.cursor = "move";
43        webPartTitleElement.attachEvent("onmousedown", WebPart_OnMouseDown);
44        webPartElement.attachEvent("ondragstart", WebPart_OnDragStart);
45        webPartElement.attachEvent("ondrag", WebPart_OnDrag);
46        webPartElement.attachEvent("ondragend", WebPart_OnDragEnd);
47    }
48    this.UpdatePosition = WebPart_UpdatePosition;
49    this.Dispose = WebPart_Dispose;
50}
51function WebPart_Dispose() {
52    this.webPartElement.__webPart = null    
53}
54function WebPart_OnMouseDown() {
55    var currentEvent = window.event;
56    var draggedWebPart = WebPart_GetParentWebPartElement(currentEvent.srcElement);
57    if ((typeof(draggedWebPart) == "undefined") || (draggedWebPart == null)) {
58        return;
59    }
60    document.selection.empty();
61    try {
62        __wpm.draggedWebPart = draggedWebPart;
63        __wpm.DragDrop();
64    }
65    catch (e) {
66        __wpm.draggedWebPart = draggedWebPart;
67        window.setTimeout("__wpm.DragDrop()", 0);
68    }
69    currentEvent.returnValue = false;
70    currentEvent.cancelBubble = true;
71}
72function WebPart_OnDragStart() {
73    var currentEvent = window.event;
74    var webPartElement = currentEvent.srcElement;
75    if ((typeof(webPartElement.__webPart) == "undefined") || (webPartElement.__webPart == null)) {
76        currentEvent.returnValue = false;
77        currentEvent.cancelBubble = true;
78        return;
79    }
80    var dataObject = currentEvent.dataTransfer;
81    dataObject.effectAllowed = __wpm.InitiateWebPartDragDrop(webPartElement);
82}
83function WebPart_OnDrag() {
84    __wpm.ContinueWebPartDragDrop();
85}
86function WebPart_OnDragEnd() {
87    __wpm.CompleteWebPartDragDrop();
88}
89function WebPart_GetParentWebPartElement(containedElement) {
90    var elem = containedElement;
91    while ((typeof(elem.__webPart) == "undefined") || (elem.__webPart == null)) {
92        elem = elem.parentElement;
93        if ((typeof(elem) == "undefined") || (elem == null)) {
94            break;
95        }
96    }
97    return elem;
98}
99function WebPart_UpdatePosition() {
100    var location = __wpTranslateOffset(0, 0, this.webPartElement, null, false);
101    this.middleX = location.x + this.webPartElement.offsetWidth / 2;
102    this.middleY = location.y + this.webPartElement.offsetHeight / 2;
103}
104function Zone(zoneElement, zoneIndex, uniqueID, isVertical, allowLayoutChange, highlightColor) {
105    var webPartTable = null;
106    if (zoneElement.rows.length == 1) {
107        webPartTableContainer = zoneElement.rows[0].cells[0];
108    }
109    else {
110        webPartTableContainer = zoneElement.rows[1].cells[0];
111    }
112    var i;
113    for (i = 0; i < webPartTableContainer.childNodes.length; i++) {
114        var node = webPartTableContainer.childNodes[i];
115        if (node.tagName == "TABLE") {
116            webPartTable = node;
117            break;
118        }
119    }
120    this.zoneElement = zoneElement;
121    this.zoneIndex = zoneIndex;
122    this.webParts = new Array();
123    this.uniqueID = uniqueID;
124    this.isVertical = isVertical;
125    this.allowLayoutChange = allowLayoutChange;
126    this.allowDrop = false;
127    this.webPartTable = webPartTable;
128    this.highlightColor = highlightColor;
129    this.savedBorderColor = (webPartTable != null) ? webPartTable.style.borderColor : null;
130    this.dropCueElements = new Array();
131    if (webPartTable != null) {
132        if (isVertical) {
133            for (i = 0; i < webPartTable.rows.length; i += 2) {
134                this.dropCueElements[i / 2] = webPartTable.rows[i].cells[0].childNodes[0];
135            }
136        }
137        else {
138            for (i = 0; i < webPartTable.rows[0].cells.length; i += 2) {
139                this.dropCueElements[i / 2] = webPartTable.rows[0].cells[i].childNodes[0];
140            }
141        }
142    }
143    this.AddWebPart = Zone_AddWebPart;
144    this.GetWebPartIndex = Zone_GetWebPartIndex;
145    this.ToggleDropCues = Zone_ToggleDropCues;
146    this.UpdatePosition = Zone_UpdatePosition;
147    this.Dispose = Zone_Dispose;
148    webPartTable.__zone = this;
149    webPartTable.attachEvent("ondragenter", Zone_OnDragEnter);
150    webPartTable.attachEvent("ondrop", Zone_OnDrop);
151}
152function Zone_Dispose() {
153    for (var i = 0; i < this.webParts.length; i++) {
154        this.webParts[i].Dispose();
155    }
156    this.webPartTable.__zone = null;
157}
158function Zone_OnDragEnter() {
159    var handled = __wpm.ProcessWebPartDragEnter();
160    var currentEvent = window.event;
161    if (handled) {
162        currentEvent.returnValue = false;
163        currentEvent.cancelBubble = true;
164    }
165}
166function Zone_OnDragOver() {
167    var handled = __wpm.ProcessWebPartDragOver();
168    var currentEvent = window.event;
169    if (handled) {
170        currentEvent.returnValue = false;
171        currentEvent.cancelBubble = true;
172    }
173}
174function Zone_OnDrop() {
175    var handled = __wpm.ProcessWebPartDrop();
176    var currentEvent = window.event;
177    if (handled) {
178        currentEvent.returnValue = false;
179        currentEvent.cancelBubble = true;
180    }
181}
182function Zone_GetParentZoneElement(containedElement) {
183    var elem = containedElement;
184    while ((typeof(elem.__zone) == "undefined") || (elem.__zone == null)) {
185        elem = elem.parentElement;
186        if ((typeof(elem) == "undefined") || (elem == null)) {
187            break;
188        }
189    }
190    return elem;
191}
192function Zone_AddWebPart(webPartElement, webPartTitleElement, allowZoneChange) {
193    var webPart = null;
194    var zoneIndex = this.webParts.length;
195    if (this.allowLayoutChange && __wpm.IsDragDropEnabled()) {
196        webPart = new WebPart(webPartElement, webPartTitleElement, this, zoneIndex, allowZoneChange);
197    }
198    else {
199        webPart = new WebPart(webPartElement, null, this, zoneIndex, allowZoneChange);
200    }
201    this.webParts[zoneIndex] = webPart;
202    return webPart;
203}
204function Zone_ToggleDropCues(show, index, ignoreOutline) {
205    if (ignoreOutline == false) {
206        this.webPartTable.style.borderColor = (show ? this.highlightColor : this.savedBorderColor);
207    }
208    if (index == -1) {
209        return;
210    }
211    var dropCue = this.dropCueElements[index];
212    if (dropCue && dropCue.style) {
213        if (dropCue.style.height == "100%" && !dropCue.webPartZoneHorizontalCueResized) {
214            var oldParentHeight = dropCue.parentElement.clientHeight;
215            var realHeight = oldParentHeight - 10;
216            dropCue.style.height = realHeight + "px";
217            var dropCueVerticalBar = dropCue.getElementsByTagName("DIV")[0];
218            if (dropCueVerticalBar && dropCueVerticalBar.style) {
219                dropCueVerticalBar.style.height = dropCue.style.height;
220                var heightDiff = (dropCue.parentElement.clientHeight - oldParentHeight);
221                if (heightDiff) {
222                    dropCue.style.height = (realHeight - heightDiff) + "px";
223                    dropCueVerticalBar.style.height = dropCue.style.height;
224                }
225            }
226            dropCue.webPartZoneHorizontalCueResized = true;
227        }
228        dropCue.style.visibility = (show ? "visible" : "hidden");
229    }
230}
231function Zone_GetWebPartIndex(location) {
232    var x = location.x;
233    var y = location.y;
234    if ((x < this.webPartTableLeft) || (x > this.webPartTableRight) ||
235        (y < this.webPartTableTop) || (y > this.webPartTableBottom)) {
236        return -1;
237    }
238    var vertical = this.isVertical;
239    var webParts = this.webParts;
240    var webPartsCount = webParts.length;
241    for (var i = 0; i < webPartsCount; i++) {
242        var webPart = webParts[i];
243        if (vertical) {
244            if (y < webPart.middleY) {
245                return i;
246            }
247        }
248        else {
249            if (x < webPart.middleX) {
250                return i;
251            }
252        }
253    }
254    return webPartsCount;
255}
256function Zone_UpdatePosition() {
257    var topLeft = __wpTranslateOffset(0, 0, this.webPartTable, null, false);
258    this.webPartTableLeft = topLeft.x;
259    this.webPartTableTop = topLeft.y;
260    this.webPartTableRight = (this.webPartTable != null) ? topLeft.x + this.webPartTable.offsetWidth : topLeft.x;
261    this.webPartTableBottom = (this.webPartTable != null) ? topLeft.y + this.webPartTable.offsetHeight : topLeft.y;
262    for (var i = 0; i < this.webParts.length; i++) {
263        this.webParts[i].UpdatePosition();
264    }
265}
266function WebPartDragState(webPartElement, effect) {
267    this.webPartElement = webPartElement;
268    this.dropZoneElement = null;
269    this.dropIndex = -1;
270    this.effect = effect;
271    this.dropped = false;
272}
273function WebPartMenu(menuLabelElement, menuDropDownElement, menuElement) {
274    this.menuLabelElement = menuLabelElement;
275    this.menuDropDownElement = menuDropDownElement;
276    this.menuElement = menuElement;
277    this.menuLabelElement.__menu = this;
278    this.menuLabelElement.attachEvent('onclick', WebPartMenu_OnClick);
279    this.menuLabelElement.attachEvent('onkeypress', WebPartMenu_OnKeyPress);
280    this.menuLabelElement.attachEvent('onmouseenter', WebPartMenu_OnMouseEnter);
281    this.menuLabelElement.attachEvent('onmouseleave', WebPartMenu_OnMouseLeave);
282    if ((typeof(this.menuDropDownElement) != "undefined") && (this.menuDropDownElement != null)) {
283        this.menuDropDownElement.__menu = this;
284    }
285    this.menuItemStyle = "";
286    this.menuItemHoverStyle = "";
287    this.popup = null;
288    this.hoverClassName = "";
289    this.hoverColor = "";
290    this.oldColor = this.menuLabelElement.style.color;
291    this.oldTextDecoration = this.menuLabelElement.style.textDecoration;
292    this.oldClassName = this.menuLabelElement.className;
293    this.Show = WebPartMenu_Show;
294    this.Hide = WebPartMenu_Hide;
295    this.Hover = WebPartMenu_Hover;
296    this.Unhover = WebPartMenu_Unhover;
297    this.Dispose = WebPartMenu_Dispose;
298    var menu = this;
299    this.disposeDelegate = function() { menu.Dispose(); };
300    window.attachEvent('onunload', this.disposeDelegate);
301}
302function WebPartMenu_Dispose() {
303    this.menuLabelElement.__menu = null;
304    this.menuDropDownElement.__menu = null;
305    window.detachEvent('onunload', this.disposeDelegate);
306}
307function WebPartMenu_Show() {
308    if ((typeof(__wpm.menu) != "undefined") && (__wpm.menu != null)) {
309        __wpm.menu.Hide();
310    }
311    var menuHTML =
312        "<html><head><style>" +
313        "a.menuItem, a.menuItem:Link { display: block; padding: 1px; text-decoration: none; " + this.itemStyle + " }" +
314        "a.menuItem:Hover { " + this.itemHoverStyle + " }" +
315        "</style><body scroll=\"no\" style=\"border: none; margin: 0; padding: 0;\" ondragstart=\"window.event.returnValue=false;\" onclick=\"popup.hide()\">" +
316        this.menuElement.innerHTML +
317        "</body></html>";
318    var width = 16;
319    var height = 16;
320    this.popup = window.createPopup();
321    __wpm.menu = this;
322    var popupDocument = this.popup.document;
323    popupDocument.write(menuHTML);
324    this.popup.show(0, 0, width, height);
325    var popupBody = popupDocument.body;
326    width = popupBody.scrollWidth;
327    height = popupBody.scrollHeight;
328    if (width < this.menuLabelElement.offsetWidth) {
329        width = this.menuLabelElement.offsetWidth + 16;
330    }
331    if (this.menuElement.innerHTML.indexOf("progid:DXImageTransform.Microsoft.Shadow") != -1) {
332        popupBody.style.paddingRight = "4px";
333    }
334    popupBody.__wpm = __wpm;
335    popupBody.__wpmDeleteWarning = __wpmDeleteWarning;
336    popupBody.__wpmCloseProviderWarning = __wpmCloseProviderWarning;
337    popupBody.popup = this.popup;
338    this.popup.hide();
339    this.popup.show(0, this.menuLabelElement.offsetHeight, width, height, this.menuLabelElement);
340}
341function WebPartMenu_Hide() {
342    if (__wpm.menu == this) {
343        __wpm.menu = null;
344        if ((typeof(this.popup) != "undefined") && (this.popup != null)) {
345            this.popup.hide();
346            this.popup = null;
347        }
348    }
349}
350function WebPartMenu_Hover() {
351    if (this.labelHoverClassName != "") {
352        this.menuLabelElement.className = this.menuLabelElement.className + " " + this.labelHoverClassName;
353    }
354    if (this.labelHoverColor != "") {
355        this.menuLabelElement.style.color = this.labelHoverColor;
356    }
357}
358function WebPartMenu_Unhover() {
359    if (this.labelHoverClassName != "") {
360        this.menuLabelElement.style.textDecoration = this.oldTextDecoration;
361        this.menuLabelElement.className = this.oldClassName;
362    }
363    if (this.labelHoverColor != "") {
364        this.menuLabelElement.style.color = this.oldColor;
365    }
366}
367function WebPartMenu_OnClick() {
368    var menu = window.event.srcElement.__menu;
369    if ((typeof(menu) != "undefined") && (menu != null)) {
370        window.event.returnValue = false;
371        window.event.cancelBubble = true;
372        menu.Show();
373    }
374}
375function WebPartMenu_OnKeyPress() {
376    if (window.event.keyCode == 13) {
377        var menu = window.event.srcElement.__menu;
378        if ((typeof(menu) != "undefined") && (menu != null)) {
379            window.event.returnValue = false;
380            window.event.cancelBubble = true;
381            menu.Show();
382        }
383    }
384}
385function WebPartMenu_OnMouseEnter() {
386    var menu = window.event.srcElement.__menu;
387    if ((typeof(menu) != "undefined") && (menu != null)) {
388        menu.Hover();
389    }
390}
391function WebPartMenu_OnMouseLeave() {
392    var menu = window.event.srcElement.__menu;
393    if ((typeof(menu) != "undefined") && (menu != null)) {
394        menu.Unhover();
395    }
396}
397function WebPartManager() {
398    this.overlayContainerElement = null;
399    this.zones = new Array();
400    this.dragState = null;
401    this.menu = null;
402    this.draggedWebPart = null;
403    this.AddZone = WebPartManager_AddZone;
404    this.IsDragDropEnabled = WebPartManager_IsDragDropEnabled;
405    this.DragDrop = WebPartManager_DragDrop;
406    this.InitiateWebPartDragDrop = WebPartManager_InitiateWebPartDragDrop;
407    this.CompleteWebPartDragDrop = WebPartManager_CompleteWebPartDragDrop;
408    this.ContinueWebPartDragDrop = WebPartManager_ContinueWebPartDragDrop;
409    this.ProcessWebPartDragEnter = WebPartManager_ProcessWebPartDragEnter;
410    this.ProcessWebPartDragOver = WebPartManager_ProcessWebPartDragOver;
411    this.ProcessWebPartDrop = WebPartManager_ProcessWebPartDrop;
412    this.ShowHelp = WebPartManager_ShowHelp;
413    this.ExportWebPart = WebPartManager_ExportWebPart;
414    this.Execute = WebPartManager_Execute;
415    this.SubmitPage = WebPartManager_SubmitPage;
416    this.UpdatePositions = WebPartManager_UpdatePositions;
417    window.attachEvent("onunload", WebPartManager_Dispose);
418}
419function WebPartManager_Dispose() {
420    for (var i = 0;
420 i < __wpm.zones.length; i++) {
421        __wpm.zones[i].Dispose();
422    }
423    window.detachEvent("onunload", WebPartManager_Dispose);
424}
425function WebPartManager_AddZone(zoneElement, uniqueID, isVertical, allowLayoutChange, highlightColor) {
426    var zoneIndex = this.zones.length;
427    var zone = new Zone(zoneElement, zoneIndex, uniqueID, isVertical, allowLayoutChange, highlightColor);
428    this.zones[zoneIndex] = zone;
429    return zone;
430}
431function WebPartManager_IsDragDropEnabled() {
432    return ((typeof(this.overlayContainerElement) != "undefined") && (this.overlayContainerElement != null));
433}
434function WebPartManager_DragDrop() {
435    if ((typeof(this.draggedWebPart) != "undefined") && (this.draggedWebPart != null)) {
436        var tempWebPart = this.draggedWebPart;
437        this.draggedWebPart = null;
438        tempWebPart.dragDrop();
439        window.setTimeout("__wpClearSelection()", 0);
440    }
441}
442function WebPartManager_InitiateWebPartDragDrop(webPartElement) {
443    var webPart = webPartElement.__webPart;
444    this.UpdatePositions();
445    this.dragState = new WebPartDragState(webPartElement, "move");
446    var location = __wpGetPageEventLocation(window.event, true);
447    var overlayContainerElement = this.overlayContainerElement;
448    overlayContainerElement.style.left = location.x - webPartElement.offsetWidth / 2;
449    overlayContainerElement.style.top = location.y + 4 + (webPartElement.clientTop ? webPartElement.clientTop : 0);
450    overlayContainerElement.style.display = "block";
451    overlayContainerElement.style.width = webPartElement.offsetWidth;
452    overlayContainerElement.style.height = webPartElement.offsetHeight;
453    overlayContainerElement.appendChild(webPartElement.cloneNode(true));
454    if (webPart.allowZoneChange == false) {
455        webPart.zone.allowDrop = true;
456    }
457    else {
458        for (var i = 0; i < __wpm.zones.length; i++) {
459            var zone = __wpm.zones[i];
460            if (zone.allowLayoutChange) {
461                zone.allowDrop = true;
462            }
463        }
464    }
465    document.body.attachEvent("ondragover", Zone_OnDragOver);
466    return "move";
467}
468function WebPartManager_CompleteWebPartDragDrop() {
469    var dragState = this.dragState;
470    this.dragState = null;
471    if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
472        dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
473    }
474    document.body.detachEvent("ondragover", Zone_OnDragOver);
475    for (var i = 0; i < __wpm.zones.length; i++) {
476        __wpm.zones[i].allowDrop = false;
477    }
478    this.overlayContainerElement.removeChild(this.overlayContainerElement.firstChild);
479    this.overlayContainerElement.style.display = "none";
480    if ((typeof(dragState) != "undefined") && (dragState != null) && (dragState.dropped == true)) {
481        var currentZone = dragState.webPartElement.__webPart.zone;
482        var currentZoneIndex = dragState.webPartElement.__webPart.zoneIndex;
483        if ((currentZone != dragState.dropZoneElement.__zone) ||
484            ((currentZoneIndex != dragState.dropIndex) &&
485             (currentZoneIndex != (dragState.dropIndex - 1)))) {
486            var eventTarget = dragState.dropZoneElement.__zone.uniqueID;
487            var eventArgument = "Drag:" + dragState.webPartElement.id + ":" + dragState.dropIndex;
488            this.SubmitPage(eventTarget, eventArgument);
489        }
490    }
491}
492function WebPartManager_ContinueWebPartDragDrop() {
493    var dragState = this.dragState;
494    if ((typeof(dragState) != "undefined") && (dragState != null)) {
495        var style = this.overlayContainerElement.style;
496        var location = __wpGetPageEventLocation(window.event, true);
497        style.left = location.x - dragState.webPartElement.offsetWidth / 2;
498        style.top = location.y + 4 + (dragState.webPartElement.clientTop ? dragState.webPartElement.clientTop : 0);
499    }
500}
501function WebPartManager_Execute(script) {
502    if (this.menu) {
503        this.menu.Hide();
504    }
505    var scriptReference = new Function(script);
506    return (scriptReference() != false);
507}
508function WebPartManager_ProcessWebPartDragEnter() {
509    var dragState = __wpm.dragState;
510    if ((typeof(dragState) != "undefined") && (dragState != null)) {
511        var currentEvent = window.event;
512        var newDropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
513        if ((typeof(newDropZoneElement.__zone) == "undefined") || (newDropZoneElement.__zone == null) ||
514            (newDropZoneElement.__zone.allowDrop == false)) {
515            newDropZoneElement = null;
516        }
517        var newDropIndex = -1;
518        if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
519            newDropIndex = newDropZoneElement.__zone.GetWebPartIndex(__wpGetPageEventLocation(currentEvent, false));
520            if (newDropIndex == -1) {
521                newDropZoneElement = null;
522            }
523        }
524        if (dragState.dropZoneElement != newDropZoneElement) {
525            if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
526                dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
527            }
528            dragState.dropZoneElement = newDropZoneElement;
529            dragState.dropIndex = newDropIndex;
530            if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
531                newDropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
532            }
533        }
534        else if (dragState.dropIndex != newDropIndex) {
535            if (dragState.dropIndex != -1) {
536                dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
537            }
538            dragState.dropIndex = newDropIndex;
539            if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
540                newDropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
541            }
542        }
543        if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
544            currentEvent.dataTransfer.effectAllowed = dragState.effect;
545        }
546        return true;
547    }
548    return false;
549}
550function WebPartManager_ProcessWebPartDragOver() {
551    var dragState = __wpm.dragState;
552    var currentEvent = window.event;
553    var handled = false;
554    if ((typeof(dragState) != "undefined") && (dragState != null) &&
555        (typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
556        var dropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
557        if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dropZoneElement.__zone.allowDrop == false)) {
558            dropZoneElement = null;
559        }
560        if (((typeof(dropZoneElement) == "undefined") || (dropZoneElement == null)) &&
561            (typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
562            dragState.dropZoneElement.__zone.ToggleDropCues(false, __wpm.dragState.dropIndex, false);
563            dragState.dropZoneElement = null;
564            dragState.dropIndex = -1;
565        }
566        else if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null)) {
567            var location = __wpGetPageEventLocation(currentEvent, false);
568            var newDropIndex = dropZoneElement.__zone.GetWebPartIndex(location);
569            if (newDropIndex == -1) {
570                dropZoneElement = null;
571            }
572            if (dragState.dropZoneElement != dropZoneElement) {
573                if ((dragState.dropIndex != -1) || (typeof(dropZoneElement) == "undefined") || (dropZoneElement == null)) {
574                    dragState.dropZoneElement.__zone.ToggleDropCues(false, __wpm.dragState.dropIndex, false);
575                }
576                dragState.dropZoneElement = dropZoneElement;
577            }
578            else {
579                dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, true);
580            }
581            dragState.dropIndex = newDropIndex;
582            if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null)) {
583                dropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
584            }
585        }
586        handled = true;
587    }
588    if ((typeof(dragState) == "undefined") || (dragState == null) ||
589        (typeof(dragState.dropZoneElement) == "undefined") || (dragState.dropZoneElement == null)) {
590        currentEvent.dataTransfer.effectAllowed = "none";
591    }
592    return handled;
593}
594function WebPartManager_ProcessWebPartDrop() {
595    var dragState = this.dragState;
596    if ((typeof(dragState) != "undefined") && (dragState != null)) {
597        var currentEvent = window.event;
598        var dropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
599        if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dropZoneElement.__zone.allowDrop == false)) {
600            dropZoneElement = null;
601        }
602        if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dragState.dropZoneElement == dropZoneElement)) {
603            dragState.dropped = true;
604        }
605        return true;
606    }
607    return false;
608}
609function WebPartManager_ShowHelp(helpUrl, helpMode) {
610    if ((typeof(this.menu) != "undefined") && (this.menu != null)) {
611        this.menu.Hide();
612    }
613    if (helpMode == 0 || helpMode == 1) {
614        if (helpMode == 0) {
615            var dialogInfo = "edge: Sunken; center: yes; help: no; resizable: yes; status: no";
616            window.showModalDialog(helpUrl, null, dialogInfo);
617        }
618        else {
619            window.open(helpUrl, null, "scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no");
620        }
621    }
622    else if (helpMode == 2) {
623        window.location = helpUrl;
624    }
625}
626function WebPartManager_ExportWebPart(exportUrl, warn, confirmOnly) {
627    if (warn == true && __wpmExportWarning.length > 0 && this.personalizationScopeShared != true) {
628        if (confirm(__wpmExportWarning) == false) {
629            return false;
630        }
631    }
632    if (confirmOnly == false) {
633        window.location = exportUrl;
634    }
635    return true;
636}
637function WebPartManager_UpdatePositions() {
638    for (var i = 0; i < this.zones.length; i++) {
639        this.zones[i].UpdatePosition();
640    }
641}
642function WebPartManager_SubmitPage(eventTarget, eventArgument) {
643    if ((typeof(this.menu) != "undefined") && (this.menu != null)) {
644        this.menu.Hide();
645    }
646    __doPostBack(eventTarget, eventArgument);
647}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.