function MetafusePortalControlContainer(clientID,uniqueID,columnCount){this.ClientID=clientID;this.UniqueID=uniqueID;this.ColumnCount=columnCount;this.RowDragObject=null;this.RowDragTable=null;this.RowDragTableShim=null;this.AfterControlMoved=function(){};};MetafusePortalControlContainer.prototype.DragPortalControl=MetafusePortalControlContainer_DragPortalControl;function MetafusePortalControlContainer_DragPortalControl(localEvent,element,controlName){var parentNode=element.parentNode;var rowToMove=this.GetRowContainingElement(element);var portalContainerRowToMove=null;if(rowToMove==null){return;}else{var parentNode=rowToMove;while(parentNode!=null){if(parentNode.nodeName=="TR"&&parentNode.id.indexOf(this.ClientID)>=0&&parentNode.id.indexOf("_Row")>0){portalContainerRowToMove=parentNode;break;}parentNode=parentNode.parentNode;}}if(portalContainerRowToMove==null){return;}if(this.RowDragObject==null){this.RowDragObject=new MetafuseGenericDragObject();}if(this.RowDragTable==null){var tblId=this.ClientID+"_DragTable";var tbl='<table id="'+tblId+'" style="table-layout:fixed;width:0px;z-index:500;display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.DropShadow(color=#999999,offx=2, offy=2); filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,Direction=135, Strength=2);" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td></td></tr></table>';InsertHTML(tbl);this.RowDragTable=GetElementById(tblId);this.RowDragTableShim=null;if(BrowserTools.IsInternetExplorer()){this.RowDragTableShim=UITools.GetIFrameForShim(tblId+"_shim");}}var tBody=this.RowDragTable.getElementsByTagName("TBODY");var tBody=tBody[0];var rows=tBody.getElementsByTagName("TR");for(var i=0;i<rows.length;i++){tBody.removeChild(rows[i]);}var clone=rowToMove.cloneNode(true);clone.id="";tBody.appendChild(clone);UITools.DisableElement(clone);this.RowDragTable.style.width=UITools.GetElementWidth(rowToMove);var cells=rowToMove.getElementsByTagName("TD");var cloneCells=clone.getElementsByTagName("TD");var disableChildNodes=true;for(var i=0;i<cells.length;i++){var cloneTD=cloneCells[i];var rowTD=cells[i];if(disableChildNodes){for(var ii=0;ii<cloneTD.childNodes.length;ii++){var childNode=cloneTD.childNodes[ii];UITools.DisableElement(childNode);if(childNode.tagName=="A"){if(childNode.childNodes&&childNode.childNodes.length>0&&childNode.childNodes[0].tagName=="IMG"){var img=childNode.childNodes[0];var onmouseover=img.getAttribute("onmouseover");if(onmouseover&&onmouseover!=null&&onmouseover!=""){img.setAttribute("onmouseover","return false;");}}}}}}var y;var x=UITools.GetPageXCoordinate(rowToMove);if(BrowserTools.IsSafari()){y=UITools.GetPageYCoordinate(element);}else{y=UITools.GetPageYCoordinate(rowToMove);}var self=this;var rowDragObject=this.RowDragObject;this.RowDragObject.OnAfterStopDrag=function(rowDragObject){UITools.HideDivAndIFrame(self.RowDragTable,self.RowDragTableShim);var tableOver=null;var column=null;for(var i=0;i<self.ColumnCount;i++){var t=GetElementById(self.ClientID+"_"+i);if(this.IsMouseOverElement(t)){tableOver=t;column=i;break;}}if(tableOver){var tBodies=tableOver.getElementsByTagName("TBODY");var tBody=tBodies[0];var rowOver=null;var rowNumber=null;for(var i=0;i<tBody.childNodes.length;i++){var row=tBody.childNodes[i];if(this.IsMouseOverElement(row)){rowOver=row;rowNumber=i;break;}}var insertBeforeRow=null;if(rowOver){if(rowOver==portalContainerRowToMove){return;}var rowOverYT=UITools.GetPageYCoordinate(rowOver);var rowOverYB=rowOverYT+(rowOver.offsetHeight/2);if(this.MousePageYCoordinate<rowOverYB){insertBeforeRow=rowOver;}else{insertBeforeRow=rowOver.nextSibling;}}if(insertBeforeRow){if(insertBeforeRow==portalContainerRowToMove){return;}portalContainerRowToMove.parentNode.removeChild(portalContainerRowToMove);tBody.insertBefore(portalContainerRowToMove,insertBeforeRow);}else{portalContainerRowToMove.parentNode.removeChild(portalContainerRowToMove);tBody.appendChild(portalContainerRowToMove);}var hiddenValue="";var prefix=self.ClientID+"_Row_";for(var i=0;i<self.ColumnCount;i++){if(hiddenValue!=""){hiddenValue!="|";}var controlOrder="";var table=GetElementById(self.ClientID+"_"+i);tBodies=table.getElementsByTagName("TBODY");tBody=tBodies[0];for(var ii=0;ii<tBody.childNodes.length;ii++){var row=tBody.childNodes[ii];if(row.id.indexOf(prefix)>=0){if(controlOrder!=""){controlOrder+=",";}controlOrder+=row.id.substring(prefix.length);}}if(controlOrder!=""){hiddenValue+=controlOrder;}}FormTools.SetFormElementValue(self.ClientID+"l",hiddenValue);self.AfterControlMoved();Ajax.DoAjaxPostBack(self.UniqueID,"move:"+hiddenValue,false,null,"",false,false,null);}};UITools.ShowDivAndIFrameAtXY(x,y,this.RowDragTable,this.RowDragTableShim,0,0,false,true);this.RowDragObject.StartDrag(localEvent,this.RowDragTable,this.RowDragTableShim);return false;};MetafusePortalControlContainer.prototype.AddControl=MetafusePortalControlContainer_AddControl;function MetafusePortalControlContainer_AddControl(element,id,requiresPostBack){var row=GetElementById(id+"_ControlRow");if(row){if(row.style.display=="none"){var tBody=row.parentNode;tBody.removeChild(row);var lt=GetElementById("lt");var tBodies=lt.getElementsByTagName("TBODY");tBody=tBodies[0];tBody.appendChild(row);UITools.ToggleDisplay(row,false);Ajax.DoAjaxPostBack("addControl","false|"+id,false,null,"",false,false,null);}else{alert("The control you selected is already on the page.");}}else{if(!requiresPostBack&&!disableAjaxPostBackOnAddControl){var ts=new Date().valueOf().toString();var serverResponse=new MetafuseAjaxPostBackObjectServerResponse();serverResponse.OnAfterExecuteSuccessfulResponse=function(){AddControlToPage(id,ts);};var tmpTableString="<table id=\""+ts+"\" style=\"display:none;\"></table>";InsertHTML(tmpTableString);Ajax.DoAjaxPostBack("addControl","true|"+id+"|"+ts,false,element,"Processing...",false,true,serverResponse);}else{__doPostBack("addControl","true|"+id);}}};MetafusePortalControlContainer.prototype.AddControlToPage=MetafusePortalControlContainer_AddControlToPage;function MetafusePortalControlContainer_AddControlToPage(id,ts){var table=GetElementById(ts);var row=GetElementById(id+"_ControlRow");row.parentNode.removeChild(row);var lt=GetElementById("lt");var tBodies=lt.getElementsByTagName("TBODY");var tBody=tBodies[0];tBody.appendChild(row);document.forms[0].removeChild(table);};MetafusePortalControlContainer.prototype.RemoveControl=MetafusePortalControlContainer_RemoveControl;function MetafusePortalControlContainer_RemoveControl(id){var row=GetElementById(id+"_ControlRow");UITools.ToggleDisplay(row,true);Ajax.DoAjaxPostBack("removeControl",id,false,null,"",false,false,null);};MetafusePortalControlContainer.prototype.GetRowContainingElement=MetafusePortalControlContainer_GetRowContainingElement;function MetafusePortalControlContainer_GetRowContainingElement(element,dontAlertWhenCannotFindElementOrParent){element=GetElementById(element);if(element){var parentNode=element;while(parentNode!=null){if(parentNode.nodeName=="TR"){return parentNode;}parentNode=parentNode.parentNode;}if(!dontAlertWhenCannotFindElementOrParent){alert("Unable to find the row the supplied element "+element.toString()+" is located in.");}}else{if(!dontAlertWhenCannotFindElementOrParent){alert("Unable to find the row the supplied element, because the supplied element is null is located in.");}}};