﻿//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// WebParts.js
/*var __wpm=null;
function Point(a,b){this.x=a;this.y=b}
function __getOffset(e,a){if(a.offsetY&&a.offsetY)return {x:a.offsetX,y:a.offsetY};var b=Sys.UI.DomElement.getLocation(e),c=window.pageXOffset+a.clientX-b.x,d=window.pageYOffset+a.clientY-b.y;return {x:c,y:d}}
function cancelEvent(a){if(a.preventDefault&&a.stopPropagation){a.preventDefault();a.stopPropagation()}else if(window.event){window.event.returnValue=false;window.event.cancelBubble=true}}
function __wpTranslateOffset(b,c,a,e,f){while(typeof a!="undefined"&&a!=null&&a!=e){b+=a.offsetLeft;c+=a.offsetTop;var d=a.tagName;if(d!="TABLE"&&d!="BODY"){if(a.clientLeft)b+=a.clientLeft;if(a.clientTop)c+=a.clientTop}if(f&&d!="BODY"){b-=a.scrollLeft;c-=a.scrollTop}a=a.offsetParent}return new Point(b,c)}
function __wpGetPageEventLocation(a,c){if(typeof a=="undefined"||a==null)a=window._event;var b=__getOffset(a.target,a.rawEvent);return __wpTranslateOffset(b.x,b.y,a.target,null,c)}
function WebPart(b,a,e,d,c){this.webPartElement=b;this.allowZoneChange=c;this.zone=e;this.zoneIndex=d;this.title=typeof a!="undefined"&&a!=null?a.innerText:"";b.__webPart=this;if(typeof a!="undefined"&&a!=null)a.style.cursor="move";this.UpdatePosition=WebPart_UpdatePosition;this.Dispose=WebPart_Dispose}
function WebPart_Dispose(){this.webPartElement.__webPart=null}
function WebPart_UpdatePosition(){var a=__wpTranslateOffset(0,0,this.webPartElement,null,false);this.middleX=a.x+this.webPartElement.offsetWidth/2;this.middleY=a.y+this.webPartElement.offsetHeight/2}
function Zone(c,h,i,d,f,g){var b=null;if(c.rows.length==1)webPartTableContainer=c.rows[0].cells[0];else webPartTableContainer=c.rows[1].cells[0];var a;for(a=0;a<webPartTableContainer.childNodes.length;a++){var e=webPartTableContainer.childNodes[a];if(e.tagName=="TABLE"){b=e;break}}this.zoneElement=c;this.zoneIndex=h;this.webParts=[];this.uniqueID=i;this.isVertical=d;this.allowLayoutChange=f;this.allowDrop=false;this.webPartTable=b;this.highlightColor=g;this.savedBorderColor=b!=null?b.style.borderColor:null;this.dropCueElements=[];if(b!=null)if(d)for(a=0;a<b.rows.length;a+=2)this.dropCueElements[a/2]=b.rows[a].cells[0].childNodes[0];else for(a=0;a<b.rows[0].cells.length;a+=2)this.dropCueElements[a/2]=b.rows[0].cells[a].childNodes[0];this.AddWebPart=Zone_AddWebPart;this.GetWebPartIndex=Zone_GetWebPartIndex;this.ToggleDropCues=Zone_ToggleDropCues;this.UpdatePosition=Zone_UpdatePosition;this.Dispose=Zone_Dispose;b.__zone=this}
function Zone_Dispose(){for(var a=0;a<this.webParts.length;a++)this.webParts[a].Dispose();this.webPartTable.__zone=null}
function Zone_AddWebPart(d,e,c){var a=null,b=this.webParts.length;if(this.allowLayoutChange&&__wpm.IsDragDropEnabled())a=new WebPart(d,e,this,b,c);else a=new WebPart(d,null,this,b,c);this.webParts[b]=a;return a}
function Zone_ToggleDropCues(g,f,h){if(h==false)this.webPartTable.style.borderColor=g?this.highlightColor:this.savedBorderColor;if(f==-1)return;var a=this.dropCueElements[f];if(a&&a.style){if(a.style.height=="100%"&&!a.webPartZoneHorizontalCueResized){var c=a.parentNode.clientHeight,e=c-10;a.style.height=e+"px";var b=a.getElementsByTagName("DIV")[0];if(b&&b.style){b.style.height=a.style.height;var d=a.parentNode.clientHeight-c;if(d){a.style.height=e-d+"px";b.style.height=a.style.height}}a.webPartZoneHorizontalCueResized=true}
    var menuBar = $get('menuBar');
    var menuBarBounds = new Sys.UI.Bounds(0,0,0,0);
    if(menuBar){menuBarBounds = Sys.UI.DomElement.getBounds(menuBar);}
    
    var arrowL = $get('dropCueArrowL');
    var arrowR = $get('dropCueArrowR');
    var aBounds = Sys.UI.DomElement.getBounds(a);
    arrowL.style.top = (aBounds.y - menuBarBounds.height) + 'px';
    arrowL.style.left = (aBounds.x - 10) + 'px';
    arrowL.style.position = 'absolute';
    arrowL.style.zIndex = '20000';
    arrowL.style.display = g ? 'block' : 'none';
    
    arrowR.style.top = (aBounds.y - menuBarBounds.height) + 'px'
    arrowR.style.left = (aBounds.x + aBounds.width + 3) + 'px';
    arrowR.style.position = 'absolute';
    arrowR.style.zIndex = '20000';
    arrowR.style.display = g ? 'block' : 'none';
    a.style.visibility = g ? 'visible' : 'hidden';
    
    var wrap = $get('wrapper');
    alert(wrap.parentNode.scrollTop);
    
    
}}
function Zone_GetWebPartIndex(e){var b=e.x,c=e.y;if(b<this.webPartTableLeft||b>this.webPartTableRight||c<this.webPartTableTop||c>this.webPartTableBottom)return -1;var h=this.isVertical,f=this.webParts,d=f.length;for(var a=0;a<d;a++){var g=f[a];if(h){if(c<g.middleY)return a}else if(b<g.middleX)return a}return d}
function Zone_UpdatePosition(){var a=__wpTranslateOffset(0,0,this.webPartTable,null,false);this.webPartTableLeft=a.x;this.webPartTableTop=a.y;this.webPartTableRight=this.webPartTable!=null?a.x+this.webPartTable.offsetWidth:a.x;this.webPartTableBottom=this.webPartTable!=null?a.y+this.webPartTable.offsetHeight:a.y;for(var b=0;b<this.webParts.length;b++)this.webParts[b].UpdatePosition()}
function WebPartMenu(b,a,c){this.menuLabelElement=b;this.menuDropDownElement=a;this.menuElement=c;this.menuLabelElement.__menu=this;this.menuLabelElement.attachEvent("onclick",WebPartMenu_OnClick);this.menuLabelElement.attachEvent("onkeypress",WebPartMenu_OnKeyPress);this.menuLabelElement.attachEvent("onmouseenter",WebPartMenu_OnMouseEnter);this.menuLabelElement.attachEvent("onmouseleave",WebPartMenu_OnMouseLeave);if(typeof this.menuDropDownElement!="undefined"&&this.menuDropDownElement!=null)this.menuDropDownElement.__menu=this;this.menuItemStyle="";this.menuItemHoverStyle="";this.popup=null;this.hoverClassName="";this.hoverColor="";this.oldColor=this.menuLabelElement.style.color;this.oldTextDecoration=this.menuLabelElement.style.textDecoration;this.oldClassName=this.menuLabelElement.className;this.Show=WebPartMenu_Show;this.Hide=WebPartMenu_Hide;this.Hover=WebPartMenu_Hover;this.Unhover=WebPartMenu_Unhover;this.Dispose=WebPartMenu_Dispose;var d=this;Sys.Application.add_unload(function(){d.Dispose()})}
function WebPartMenu_Dispose(){this.menuLabelElement.__menu=null;this.menuDropDownElement.__menu=null}
function WebPartMenu_Show(){if(typeof __wpm.menu!="undefined"&&__wpm.menu!=null)__wpm.menu.Hide();var e="<html><head><style>"+"a.menuItem, a.menuItem:Link { display: block; padding: 1px; text-decoration: none; "+this.itemStyle+" }"+"a.menuItem:Hover { "+this.itemHoverStyle+" }"+'</style><body scroll="no" style="border: none; margin: 0; padding: 0;" ondragstart="window.event.returnValue=false;" onclick="popup.hide()">'+this.menuElement.innerHTML+"<body></html>",b=16,c=16;this.popup=window.createPopup();__wpm.menu=this;var d=this.popup.document;d.write(e);this.popup.show(0,0,b,c);var a=d.body;b=a.scrollWidth;c=a.scrollHeight;if(b<this.menuLabelElement.offsetWidth)b=this.menuLabelElement.offsetWidth+16;if(this.menuElement.innerHTML.indexOf("progid:DXImageTransform.Microsoft.Shadow")!=-1)a.style.paddingRight="4px";a.__wpm=__wpm;a.__wpmDeleteWarning=__wpmDeleteWarning;a.__wpmCloseProviderWarning=__wpmCloseProviderWarning;a.popup=this.popup;this.popup.hide();this.popup.show(0,this.menuLabelElement.offsetHeight,b,c,this.menuLabelElement)}
function WebPartMenu_Hide(){if(__wpm.menu==this){__wpm.menu=null;if(typeof this.popup!="undefined"&&this.popup!=null){this.popup.hide();this.popup=null}}}
function WebPartMenu_Hover(){if(this.labelHoverClassName!="")this.menuLabelElement.className=this.menuLabelElement.className+" "+this.labelHoverClassName;if(this.labelHoverColor!="")this.menuLabelElement.style.color=this.labelHoverColor}
function WebPartMenu_Unhover(){if(this.labelHoverClassName!=""){this.menuLabelElement.style.textDecoration=this.oldTextDecoration;this.menuLabelElement.className=this.oldClassName}if(this.labelHoverColor!="")this.menuLabelElement.style.color=this.oldColor}
function WebPartMenu_OnClick(){var a=window.event.srcElement.__menu;if(typeof a!="undefined"&&a!=null){cancelEvent(window.event);a.Show()}}
function WebPartMenu_OnKeyPress(){if(window.event.keyCode==13){var a=window.event.srcElement.__menu;if(typeof a!="undefined"&&a!=null){cancelEvent(window.event);a.Show()}}}
function WebPartMenu_OnMouseEnter(){var a=window.event.srcElement.__menu;if(typeof a!="undefined"&&a!=null)a.Hover()}
function WebPartMenu_OnMouseLeave(){var a=window.event.srcElement.__menu;if(typeof a!="undefined"&&a!=null)a.Unhover()}
function WebPartManager(){this.overlayContainerElement=null;this.zones=[];this.menu=null;this.draggedWebPart=null;this.AddZone=WebPartManager_AddZone;this.IsDragDropEnabled=WebPartManager_IsDragDropEnabled;this.ShowHelp=WebPartManager_ShowHelp;this.Execute=WebPartManager_Execute;this.SubmitPage=WebPartManager_SubmitPage;this.UpdatePositions=WebPartManager_UpdatePositions;Sys.Application.add_unload(WebPartManager_Dispose)}
function WebPartManager_Dispose(){for(var a=0;a<__wpm.zones.length;a++)__wpm.zones[a].Dispose()}
function WebPartManager_AddZone(e,g,f,c,d){var a=this.zones.length,b=new Zone(e,a,g,f,c,d);this.zones[a]=b;return b}
function WebPartManager_IsDragDropEnabled(){return typeof this.overlayContainerElement!="undefined"&&this.overlayContainerElement!=null}
function WebPartManager_Execute(b){if(this.menu)this.menu.Hide();var a=new Function(b);return a()!=false}
function WebPartManager_ShowHelp(b,a){if(typeof this.menu!="undefined"&&this.menu!=null)this.menu.Hide();if(a==0||a==1)if(a==0){var c="edge: Sunken; center: yes; help: no; resizable: yes; status: no";window.showModalDialog(b,null,c)}else window.open(b,null,"scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no");else if(a==2)window.location=b}
function WebPartManager_UpdatePositions(){for(var a=0;a<this.zones.length;a++)this.zones[a].UpdatePosition()}
function WebPartManager_SubmitPage(b,a){if(typeof this.menu!="undefined"&&this.menu!=null)this.menu.Hide();__doPostBack(b,a)};
*/
//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// WebParts.js

/// <reference name="MicrosoftAjax.debug.js" />
/// <reference name="MicrosoftAjaxTimer.debug.js" />
/// <reference name="MicrosoftAjaxWebForms.debug.js" />

var __wpm = null;
function Point(x, y) {
    this.x = x;
    this.y = y;
}
function __getOffset(el, ev) {
    //el = the current webpart that is being dragged...
    if (ev.offsetY && ev.offsetY) {
        return { x: ev.offsetX, y: ev.offsetY };
    }
    var location = Sys.UI.DomElement.getLocation(el);
    var offsetX = window.pageXOffset + ev.clientX - location.x;
    var offsetY = window.pageYOffset + ev.clientY - location.y;
    return { x: offsetX, y: offsetY };
}
function cancelEvent(e) {
    if (e.preventDefault && e.stopPropagation) {
        e.preventDefault();
        e.stopPropagation();
    }
    else if (window.event) {
        window.event.returnValue = false;
        window.event.cancelBubble = true;
    }
    //e.stopPropagation();
    //e.preventDefault();
}
function __wpTranslateOffset(x, y, offsetElement, relativeToElement, includeScroll) {
    while ((typeof(offsetElement) != "undefined") && (offsetElement != null) && (offsetElement != relativeToElement)) {
        x += offsetElement.offsetLeft;
        y += offsetElement.offsetTop;

        // This is to workaround 2 known bugs in IE.  The first bug is that <table> and
        // <td> have strange behavior with offsetLeft/offsetTop and clientLeft/clientTop.
        // Say you have the following html: <table style="border-width:25px"><tr><td></table>
        // The offsetLeft and offsetTop for the <td> will be 25, but the clientLeft and
        // clientTop for the <table> will also be 25.  So if you count the clientLeft and
        // clientTop for the <table>, you will be double-counting the table border.
        // The second bug is that the <body> element sometimes has bogus clientLeft and
        // clientTop.  I think this only happens in IE quirks mode, but I'm not positive.
        var tagName = offsetElement.tagName;
        if ((tagName != "TABLE") && (tagName != "BODY")) {
            // PATCH: clientLeft not defined in FireFox
            if (offsetElement.clientLeft) {
                x += offsetElement.clientLeft;
            }
            // PATCH: clientTop not defined in FireFox
            if (offsetElement.clientTop) {
                y += offsetElement.clientTop;
            }
        }

        // In IE quirks mode, the <body> element has bogus values for scrollLeft and scrollTop.
        // So we do not use the scrollLeft and scrollTop for the <body> element.  This does not
        // break the standards mode behavior. (VSWhidbey 426176)
        if (includeScroll && (tagName != "BODY")) {
            x -= offsetElement.scrollLeft;
            y -= offsetElement.scrollTop;
        }

        offsetElement = offsetElement.offsetParent;
    }
    return new Point(x, y);
}
// note: event param changed from rawEvent to DomEvent.
function __wpGetPageEventLocation(event, includeScroll) {
    if ((typeof(event) == "undefined") || (event == null)) {
        event = window._event;
    }
    var offset = __getOffset(event.target, event.rawEvent);
    return __wpTranslateOffset(offset.x, offset.y, event.target, null, includeScroll);
}
/*function __wpClearSelection() {
    document.selection.empty();
}*/
function WebPart(webPartElement, webPartTitleElement, zone, zoneIndex, allowZoneChange) {
    this.webPartElement = webPartElement;
    this.allowZoneChange = allowZoneChange;
    this.zone = zone;
    this.zoneIndex = zoneIndex;
    this.title = ((typeof(webPartTitleElement) != "undefined") && (webPartTitleElement != null)) ?
        webPartTitleElement.innerText : "";
    webPartElement.__webPart = this;
    if ((typeof(webPartTitleElement) != "undefined") && (webPartTitleElement != null)) {
        webPartTitleElement.style.cursor = "move";
        // These get removed by Atlas webparts.
        //webPartTitleElement.attachEvent("onmousedown", WebPart_OnMouseDown);
        //webPartElement.attachEvent("ondragstart", WebPart_OnDragStart);
        //webPartElement.attachEvent("ondrag", WebPart_OnDrag);
        //webPartElement.attachEvent("ondragend", WebPart_OnDragEnd);
    }
    this.UpdatePosition = WebPart_UpdatePosition;
    this.Dispose = WebPart_Dispose;
}
function WebPart_Dispose() {
    this.webPartElement.__webPart = null    
}
/*function WebPart_OnMouseDown(source, domEvent) {
    var currentEvent = window.event;
    var draggedWebPart = WebPart_GetParentWebPartElement(currentEvent.srcElement);
    if ((typeof(draggedWebPart) == "undefined") || (draggedWebPart == null)) {
        return;
    }
    document.selection.empty();
    try {
        __wpm.draggedWebPart = draggedWebPart;
        __wpm.DragDrop();
    }
    catch (e) {
        __wpm.draggedWebPart = draggedWebPart;
        window.setTimeout("__wpm.DragDrop()", 0);
    }
    cancelEvent(currentEvent);
}
function WebPart_OnDragStart() {
    var currentEvent = window.event;
    var webPartElement = currentEvent.srcElement;
    if ((typeof(webPartElement.__webPart) == "undefined") || (webPartElement.__webPart == null)) {
        cancelEvent(currentEvent);
        return;
    }
    var dataObject = currentEvent.dataTransfer;
    dataObject.effectAllowed = __wpm.InitiateWebPartDragDrop(webPartElement);
}
function WebPart_OnDrag() {
    __wpm.ContinueWebPartDragDrop();
}
function WebPart_OnDragEnd() {
    __wpm.CompleteWebPartDragDrop();
}
function WebPart_GetParentWebPartElement(containedElement) {
    var elem = containedElement;
    while ((typeof(elem.__webPart) == "undefined") || (elem.__webPart == null)) {
        elem = elem.parentElement;
        if ((typeof(elem) == "undefined") || (elem == null)) {
            break;
        }
    }
    return elem;
}*/
function WebPart_UpdatePosition() {
    var location = __wpTranslateOffset(0, 0, this.webPartElement, null, false);
    this.middleX = location.x + this.webPartElement.offsetWidth / 2;
    this.middleY = location.y + this.webPartElement.offsetHeight / 2;
}
function Zone(zoneElement, zoneIndex, uniqueID, isVertical, allowLayoutChange, highlightColor) {
    var webPartTable = null;
    if (zoneElement.rows.length == 1) {
        webPartTableContainer = zoneElement.rows[0].cells[0];
    }
    else {
        webPartTableContainer = zoneElement.rows[1].cells[0];
    }
    var i;
    for (i = 0; i < webPartTableContainer.childNodes.length; i++) {
        var node = webPartTableContainer.childNodes[i];
        if (node.tagName == "TABLE") {
            webPartTable = node;
            break;
        }
    }
    this.zoneElement = zoneElement;
    this.zoneIndex = zoneIndex;
    this.webParts = new Array();
    this.uniqueID = uniqueID;
    this.isVertical = isVertical;
    this.allowLayoutChange = allowLayoutChange;
    this.allowDrop = false;
    this.webPartTable = webPartTable;
    this.highlightColor = highlightColor;
    this.savedBorderColor = (webPartTable != null) ? webPartTable.style.borderColor : null;
    this.dropCueElements = new Array();
    if (webPartTable != null) {
        if (isVertical) {
            for (i = 0; i < webPartTable.rows.length; i += 2) {
                this.dropCueElements[i / 2] = webPartTable.rows[i].cells[0].childNodes[0];
            }
        }
        else {
            for (i = 0; i < webPartTable.rows[0].cells.length; i += 2) {
                this.dropCueElements[i / 2] = webPartTable.rows[0].cells[i].childNodes[0];
            }
        }
    }
    this.AddWebPart = Zone_AddWebPart;
    this.GetWebPartIndex = Zone_GetWebPartIndex;
    this.ToggleDropCues = Zone_ToggleDropCues;
    this.UpdatePosition = Zone_UpdatePosition;
    this.Dispose = Zone_Dispose;
    webPartTable.__zone = this;
    //webPartTable.attachEvent("ondragenter", Zone_OnDragEnter);
    //webPartTable.attachEvent("ondrop", Zone_OnDrop);
}
function Zone_Dispose() {
    for (var i = 0; i < this.webParts.length; i++) {
        this.webParts[i].Dispose();
    }
    this.webPartTable.__zone = null;
}
/*function Zone_OnDragEnter() {
    var handled = __wpm.ProcessWebPartDragEnter();
    var currentEvent = window.event;
    if (handled) {
        cancelEvent(currentEvent);
    }
}
function Zone_OnDragOver() {
    var handled = __wpm.ProcessWebPartDragOver();
    var currentEvent = window.event;
    if (handled) {
        cancelEvent(currentEvent);
    }
}
function Zone_OnDrop() {
    var handled = __wpm.ProcessWebPartDrop();
    var currentEvent = window.event;
    if (handled) {
        cancelEvent(currentEvent);
    }
}
function Zone_GetParentZoneElement(containedElement) {
    var elem = containedElement;
    while ((typeof(elem.__zone) == "undefined") || (elem.__zone == null)) {
        elem = elem.parentElement;
        if ((typeof(elem) == "undefined") || (elem == null)) {
            break;
        }
    }
    return elem;
}*/
function Zone_AddWebPart(webPartElement, webPartTitleElement, allowZoneChange) {
    var webPart = null;
    var zoneIndex = this.webParts.length;
    if (this.allowLayoutChange && __wpm.IsDragDropEnabled()) {
        webPart = new WebPart(webPartElement, webPartTitleElement, this, zoneIndex, allowZoneChange);
    }
    else {
        webPart = new WebPart(webPartElement, null, this, zoneIndex, allowZoneChange);
    }
    this.webParts[zoneIndex] = webPart;
    return webPart;
}
function Zone_ToggleDropCues(show, index, ignoreOutline) {
    if (ignoreOutline == false) {
        this.webPartTable.style.borderColor = (show ? this.highlightColor : this.savedBorderColor);
    }

    if (index == -1) {
        return;
    }
    var dropCue = this.dropCueElements[index];
        if (dropCue && dropCue.style) {
        if (dropCue.style.height == "100%" && !dropCue.webPartZoneHorizontalCueResized) {
            // 10px is the total margin and border width that we have to substract
            // (2*2px for the margin, 2*3px for the border)
            // Places to touch if we want to change the rendering of the cues:
            // WebParts.js (Zone_ToggleDropCues)
            // WebPartZoneBase.RenderDropCueIBar
            
            // PATCH: parentElement not defined in FireFox
            // var oldParentHeight = dropCue.parentElement.clientHeight;
            var oldParentHeight = dropCue.parentNode.clientHeight;
            
            var realHeight = oldParentHeight - 10;
            dropCue.style.height = realHeight + "px";
            var dropCueVerticalBar = dropCue.getElementsByTagName("DIV")[0];
            if (dropCueVerticalBar && dropCueVerticalBar.style) {
                dropCueVerticalBar.style.height = dropCue.style.height;

                // PATCH: parentElement not defined in FireFox
                // var heightDiff = (dropCue.parentElement.clientHeight - oldParentHeight);
                var heightDiff = (dropCue.parentNode.clientHeight - oldParentHeight);

                if (heightDiff) {
                    dropCue.style.height = (realHeight - heightDiff) + "px";
                    dropCueVerticalBar.style.height = dropCue.style.height;
                }
            }
            dropCue.webPartZoneHorizontalCueResized = true;
        }
        
        var wrap = $get('outerWrapper');
        var menuBar = $get('menuBar');
        var menuBarBounds = new Sys.UI.Bounds(0,0,0,0);
        if(menuBar){menuBarBounds = Sys.UI.DomElement.getBounds(menuBar);}
        
        var arrowL = $get('dropCueArrowL');
        var arrowR = $get('dropCueArrowR');
        var aBounds = Sys.UI.DomElement.getBounds(dropCue);
        var arrowTop = (aBounds.y - (menuBarBounds.height + 4) + wrap.scrollTop);
        
        arrowL.style.top = arrowTop + 'px';
        arrowL.style.left = (aBounds.x - 10) + 'px';
        arrowL.style.position = 'absolute';
        arrowL.style.zIndex = '20000';
        arrowL.style.display = show ? 'block' : 'none';
        
        arrowR.style.top = arrowTop + 'px';
        arrowR.style.left = (aBounds.x + aBounds.width + 3) + 'px';
        arrowR.style.position = 'absolute';
        arrowR.style.zIndex = '20000';
        arrowR.style.display = show ? 'block' : 'none';
        dropCue.style.visibility = show ? 'visible' : 'hidden';
    }
}
function Zone_GetWebPartIndex(location) {
    var x = location.x;
    var y = location.y;
    if ((x < this.webPartTableLeft) || (x > this.webPartTableRight) ||
        (y < this.webPartTableTop) || (y > this.webPartTableBottom)) {
        return -1;
    }
    var vertical = this.isVertical;
    var webParts = this.webParts;
    var webPartsCount = webParts.length;
    for (var i = 0; i < webPartsCount; i++) {
        var webPart = webParts[i];
        if (vertical) {
            if (y < webPart.middleY) {
                return i;
            }
        }
        else {
            if (x < webPart.middleX) {
                return i;
            }
        }
    }
    return webPartsCount;
}
function Zone_UpdatePosition() {
    var topLeft = __wpTranslateOffset(0, 0, this.webPartTable, null, false);
    this.webPartTableLeft = topLeft.x;
    this.webPartTableTop = topLeft.y;
    this.webPartTableRight = (this.webPartTable != null) ? topLeft.x + this.webPartTable.offsetWidth : topLeft.x;
    this.webPartTableBottom = (this.webPartTable != null) ? topLeft.y + this.webPartTable.offsetHeight : topLeft.y;
    for (var i = 0; i < this.webParts.length; i++) {
        this.webParts[i].UpdatePosition();
    }
}
/*function WebPartDragState(webPartElement, effect) {
    this.webPartElement = webPartElement;
    this.dropZoneElement = null;
    this.dropIndex = -1;
    this.effect = effect;
    this.dropped = false;
}*/
function WebPartMenu(menuLabelElement, menuDropDownElement, menuElement) {
    this.menuLabelElement = menuLabelElement;
    this.menuDropDownElement = menuDropDownElement;
    this.menuElement = menuElement;
    this.menuLabelElement.__menu = this;
    this.menuLabelElement.attachEvent('onclick', WebPartMenu_OnClick);
    this.menuLabelElement.attachEvent('onkeypress', WebPartMenu_OnKeyPress);
    this.menuLabelElement.attachEvent('onmouseenter', WebPartMenu_OnMouseEnter);
    this.menuLabelElement.attachEvent('onmouseleave', WebPartMenu_OnMouseLeave);
    if ((typeof(this.menuDropDownElement) != "undefined") && (this.menuDropDownElement != null)) {
        this.menuDropDownElement.__menu = this;
    }
    this.menuItemStyle = "";
    this.menuItemHoverStyle = "";
    this.popup = null;
    this.hoverClassName = "";
    this.hoverColor = "";
    this.oldColor = this.menuLabelElement.style.color;
    this.oldTextDecoration = this.menuLabelElement.style.textDecoration;
    this.oldClassName = this.menuLabelElement.className;
    this.Show = WebPartMenu_Show;
    this.Hide = WebPartMenu_Hide;
    this.Hover = WebPartMenu_Hover;
    this.Unhover = WebPartMenu_Unhover;
    this.Dispose = WebPartMenu_Dispose;
    var menu = this;
    Sys.Application.add_unload(function() {menu.Dispose();});
    //window.attachEvent('onunload', function() { menu.Dispose(); });
}
function WebPartMenu_Dispose() {
    this.menuLabelElement.__menu = null;
    this.menuDropDownElement.__menu = null;
}
function WebPartMenu_Show() {
    if ((typeof(__wpm.menu) != "undefined") && (__wpm.menu != null)) {
        __wpm.menu.Hide();
    }
    var menuHTML =
        "<html><head><style>" +
        "a.menuItem, a.menuItem:Link { display: block; padding: 1px; text-decoration: none; " + this.itemStyle + " }" +
        "a.menuItem:Hover { " + this.itemHoverStyle + " }" +
        "</style><body scroll=\"no\" style=\"border: none; margin: 0; padding: 0;\" ondragstart=\"window.event.returnValue=false;\" onclick=\"popup.hide()\">" +
        this.menuElement.innerHTML +
        "<body></html>";
    var width = 16;
    var height = 16;
    this.popup = window.createPopup();
    __wpm.menu = this;
    var popupDocument = this.popup.document;
    popupDocument.write(menuHTML);
    this.popup.show(0, 0, width, height);
    var popupBody = popupDocument.body;
    width = popupBody.scrollWidth;
    height = popupBody.scrollHeight;
    if (width < this.menuLabelElement.offsetWidth) {
        width = this.menuLabelElement.offsetWidth + 16;
    }
    if (this.menuElement.innerHTML.indexOf("progid:DXImageTransform.Microsoft.Shadow") != -1) {
        popupBody.style.paddingRight = "4px";
    }
    popupBody.__wpm = __wpm;
    popupBody.__wpmDeleteWarning = __wpmDeleteWarning;
    popupBody.__wpmCloseProviderWarning = __wpmCloseProviderWarning;
    popupBody.popup = this.popup;
    this.popup.hide();
    this.popup.show(0, this.menuLabelElement.offsetHeight, width, height, this.menuLabelElement);
}
function WebPartMenu_Hide() {
    if (__wpm.menu == this) {
        __wpm.menu = null;
        if ((typeof(this.popup) != "undefined") && (this.popup != null)) {
            this.popup.hide();
            this.popup = null;
        }
    }
}
function WebPartMenu_Hover() {
    if (this.labelHoverClassName != "") {
        this.menuLabelElement.className = this.menuLabelElement.className + " " + this.labelHoverClassName;
    }
    if (this.labelHoverColor != "") {
        this.menuLabelElement.style.color = this.labelHoverColor;
    }
}
function WebPartMenu_Unhover() {
    if (this.labelHoverClassName != "") {
        this.menuLabelElement.style.textDecoration = this.oldTextDecoration;
        this.menuLabelElement.className = this.oldClassName;
    }
    if (this.labelHoverColor != "") {
        this.menuLabelElement.style.color = this.oldColor;
    }
}
function WebPartMenu_OnClick() {
    var menu = window.event.srcElement.__menu;
    if ((typeof(menu) != "undefined") && (menu != null)) {
        cancelEvent(window.event);
        menu.Show();
    }
}
function WebPartMenu_OnKeyPress() {
    if (window.event.keyCode == 13) {
        var menu = window.event.srcElement.__menu;
        if ((typeof(menu) != "undefined") && (menu != null)) {
            cancelEvent(window.event);
            menu.Show();
        }
    }
}
function WebPartMenu_OnMouseEnter() {
    var menu = window.event.srcElement.__menu;
    if ((typeof(menu) != "undefined") && (menu != null)) {
        menu.Hover();
    }
}
function WebPartMenu_OnMouseLeave() {
    var menu = window.event.srcElement.__menu;
    if ((typeof(menu) != "undefined") && (menu != null)) {
        menu.Unhover();
    }
}
function WebPartManager() {
    this.overlayContainerElement = null;
    this.zones = new Array();
    //this.dragState = null;
    this.menu = null;
    this.draggedWebPart = null;
    this.AddZone = WebPartManager_AddZone;
    this.IsDragDropEnabled = WebPartManager_IsDragDropEnabled;
    //this.DragDrop = WebPartManager_DragDrop;
    //this.InitiateWebPartDragDrop = WebPartManager_InitiateWebPartDragDrop;
    //this.CompleteWebPartDragDrop = WebPartManager_CompleteWebPartDragDrop;
    //this.ContinueWebPartDragDrop = WebPartManager_ContinueWebPartDragDrop;
    //this.ProcessWebPartDragEnter = WebPartManager_ProcessWebPartDragEnter;
    //this.ProcessWebPartDragOver = WebPartManager_ProcessWebPartDragOver;
    //this.ProcessWebPartDrop = WebPartManager_ProcessWebPartDrop;
    this.ShowHelp = WebPartManager_ShowHelp;
    //this.ExportWebPart = WebPartManager_ExportWebPart;
    this.Execute = WebPartManager_Execute;
    this.SubmitPage = WebPartManager_SubmitPage;
    this.UpdatePositions = WebPartManager_UpdatePositions;
    Sys.Application.add_unload(WebPartManager_Dispose);
    //window.attachEvent("onunload", WebPartManager_Dispose);
}
function WebPartManager_Dispose() {
    for (var i = 0; i < __wpm.zones.length; i++) {
        __wpm.zones[i].Dispose();
    }
}
function WebPartManager_AddZone(zoneElement, uniqueID, isVertical, allowLayoutChange, highlightColor) {
    var zoneIndex = this.zones.length;
    var zone = new Zone(zoneElement, zoneIndex, uniqueID, isVertical, allowLayoutChange, highlightColor);
    this.zones[zoneIndex] = zone;
    return zone;
}
function WebPartManager_IsDragDropEnabled() {
    return ((typeof(this.overlayContainerElement) != "undefined") && (this.overlayContainerElement != null));
}
/*function WebPartManager_DragDrop() {
    if ((typeof(this.draggedWebPart) != "undefined") && (this.draggedWebPart != null)) {
        var tempWebPart = this.draggedWebPart;
        this.draggedWebPart = null;
        tempWebPart.dragDrop();
        window.setTimeout("__wpClearSelection()", 0);
    }
}*/
/*function WebPartManager_InitiateWebPartDragDrop(webPartElement) {
    var webPart = webPartElement.__webPart;
    this.UpdatePositions();
    this.dragState = new WebPartDragState(webPartElement, "move");
    var location = __wpGetPageEventLocation(window.event, true);
    var overlayContainerElement = this.overlayContainerElement;
    overlayContainerElement.style.left = location.x - webPartElement.offsetWidth / 2;
    overlayContainerElement.style.top = location.y + 4 + (webPartElement.clientTop ? webPartElement.clientTop : 0);
    overlayContainerElement.style.display = "block";
    overlayContainerElement.style.width = webPartElement.offsetWidth;
    overlayContainerElement.style.height = webPartElement.offsetHeight;
    overlayContainerElement.appendChild(webPartElement.cloneNode(true));
    if (webPart.allowZoneChange == false) {
        webPart.zone.allowDrop = true;
    }
    else {
        for (var i = 0; i < __wpm.zones.length; i++) {
            var zone = __wpm.zones[i];
            if (zone.allowLayoutChange) {
                zone.allowDrop = true;
            }
        }
    }
    Sys.UI.DomEvent.addHandler(document.body, "dragover", Zone_OnDragOver);
    //document.body.attachEvent("ondragover", Zone_OnDragOver);
    return "move";
}
function WebPartManager_CompleteWebPartDragDrop() {
    var dragState = this.dragState;
    this.dragState = null;
    if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
        dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
    }
    Sys.UI.DomEvent.removeHandler(document.body, "dragover", Zone_OnDragOver);
    //document.body.detachEvent("ondragover", Zone_OnDragOver);
    for (var i = 0; i < __wpm.zones.length; i++) {
        __wpm.zones[i].allowDrop = false;
    }
    this.overlayContainerElement.removeChild(this.overlayContainerElement.firstChild);
    this.overlayContainerElement.style.display = "none";
    if ((typeof(dragState) != "undefined") && (dragState != null) && (dragState.dropped == true)) {
        var currentZone = dragState.webPartElement.__webPart.zone;
        var currentZoneIndex = dragState.webPartElement.__webPart.zoneIndex;
        if ((currentZone != dragState.dropZoneElement.__zone) ||
            ((currentZoneIndex != dragState.dropIndex) &&
             (currentZoneIndex != (dragState.dropIndex - 1)))) {
            var eventTarget = dragState.dropZoneElement.__zone.uniqueID;
            var eventArgument = "Drag:" + dragState.webPartElement.id + ":" + dragState.dropIndex;
            this.SubmitPage(eventTarget, eventArgument);
        }
    }
}
function WebPartManager_ContinueWebPartDragDrop() {
    var dragState = this.dragState;
    if ((typeof(dragState) != "undefined") && (dragState != null)) {
        var style = this.overlayContainerElement.style;
        var location = __wpGetPageEventLocation(window.event, true);
        style.left = location.x - dragState.webPartElement.offsetWidth / 2;
        style.top = location.y + 4 + (dragState.webPartElement.clientTop ? dragState.webPartElement.clientTop : 0);
    }
}*/
function WebPartManager_Execute(script) {
    if (this.menu) {
        this.menu.Hide();
    }
    var scriptReference = new Function(script);
    return (scriptReference() != false);
}
/*function WebPartManager_ProcessWebPartDragEnter() {
    var dragState = __wpm.dragState;
    if ((typeof(dragState) != "undefined") && (dragState != null)) {
        var currentEvent = window.event;
        var newDropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
        if ((typeof(newDropZoneElement.__zone) == "undefined") || (newDropZoneElement.__zone == null) ||
            (newDropZoneElement.__zone.allowDrop == false)) {
            newDropZoneElement = null;
        }
        var newDropIndex = -1;
        if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
            newDropIndex = newDropZoneElement.__zone.GetWebPartIndex(__wpGetPageEventLocation(currentEvent, false));
            if (newDropIndex == -1) {
                newDropZoneElement = null;
            }
        }
        if (dragState.dropZoneElement != newDropZoneElement) {
            if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
                dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
            }
            dragState.dropZoneElement = newDropZoneElement;
            dragState.dropIndex = newDropIndex;
            if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
                newDropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
            }
        }
        else if (dragState.dropIndex != newDropIndex) {
            if (dragState.dropIndex != -1) {
                dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
            }
            dragState.dropIndex = newDropIndex;
            if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
                newDropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
            }
        }
        if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
            currentEvent.dataTransfer.effectAllowed = dragState.effect;
        }
        return true;
    }
    return false;
}
function WebPartManager_ProcessWebPartDragOver() {
    var dragState = __wpm.dragState;
    var currentEvent = window.event;
    var handled = false;
    if ((typeof(dragState) != "undefined") && (dragState != null) &&
        (typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
        var dropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
        if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dropZoneElement.__zone.allowDrop == false)) {
            dropZoneElement = null;
        }
        if (((typeof(dropZoneElement) == "undefined") || (dropZoneElement == null)) &&
            (typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
            dragState.dropZoneElement.__zone.ToggleDropCues(false, __wpm.dragState.dropIndex, false);
            dragState.dropZoneElement = null;
            dragState.dropIndex = -1;
        }
        else if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null)) {
            var location = __wpGetPageEventLocation(currentEvent, false);
            var newDropIndex = dropZoneElement.__zone.GetWebPartIndex(location);
            if (newDropIndex == -1) {
                dropZoneElement = null;
            }
            if (dragState.dropZoneElement != dropZoneElement) {
                if ((dragState.dropIndex != -1) || (typeof(dropZoneElement) == "undefined") || (dropZoneElement == null)) {
                    dragState.dropZoneElement.__zone.ToggleDropCues(false, __wpm.dragState.dropIndex, false);
                }
                dragState.dropZoneElement = dropZoneElement;
            }
            else {
                dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, true);
            }
            dragState.dropIndex = newDropIndex;
            if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null)) {
                dropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
            }
        }
        handled = true;
    }
    if ((typeof(dragState) == "undefined") || (dragState == null) ||
        (typeof(dragState.dropZoneElement) == "undefined") || (dragState.dropZoneElement == null)) {
        currentEvent.dataTransfer.effectAllowed = "none";
    }
    return handled;
}
function WebPartManager_ProcessWebPartDrop() {
    var dragState = this.dragState;
    if ((typeof(dragState) != "undefined") && (dragState != null)) {
        var currentEvent = window.event;
        var dropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
        if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dropZoneElement.__zone.allowDrop == false)) {
            dropZoneElement = null;
        }
        if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dragState.dropZoneElement == dropZoneElement)) {
            dragState.dropped = true;
        }
        return true;
    }
    return false;
}*/
function WebPartManager_ShowHelp(helpUrl, helpMode) {
    if ((typeof(this.menu) != "undefined") && (this.menu != null)) {
        this.menu.Hide();
    }
    if (helpMode == 0 || helpMode == 1) {
        if (helpMode == 0) {
            var dialogInfo = "edge: Sunken; center: yes; help: no; resizable: yes; status: no";
            window.showModalDialog(helpUrl, null, dialogInfo);
        }
        else {
            window.open(helpUrl, null, "scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no");
        }
    }
    else if (helpMode == 2) {
        window.location = helpUrl;
    }
}
/*function WebPartManager_ExportWebPart(exportUrl, warn, confirmOnly) {
    if (warn == true && __wpmExportWarning.length > 0 && this.personalizationScopeShared != true) {
        if (confirm(__wpmExportWarning) == false) {
            return false;
        }
    }
    if (confirmOnly == false) {
        window.location = exportUrl;
    }
    return true;
}*/
function WebPartManager_UpdatePositions() {
    for (var i = 0; i < this.zones.length; i++) {
        this.zones[i].UpdatePosition();
    }
}
function WebPartManager_SubmitPage(eventTarget, eventArgument) {
    if ((typeof(this.menu) != "undefined") && (this.menu != null)) {
        this.menu.Hide();
    }
    __doPostBack(eventTarget, eventArgument);
}

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();