oboutGrid.prototype.initGroupingRelatedProperties=function(){this.DetailsBtnOpen=new Image;this.DetailsBtnOpen.src=this.ImagesURL.GroupingBtnOpen;this.DetailsBtnClose=new Image;this.DetailsBtnClose.src=this.ImagesURL.GroupingBtnClose;this.GroupDraggingColumn=null;this.GroupDraggingColumnVisible=false;this.GroupingArea=this.getGroupingAreaInnerContainer();this.RemovableDOMObjects.push("GroupingArea");this.GroupingDestinationArrowTop=null;this.GroupingDestinationArrowBottom=null;this.GroupingDestinationArrowTopHeight=0;this.GroupingDestinationArrowBottomHeight=0;this.GroupingDestinationArrowTopWidth=0;this.GroupingDestinationArrowBottomWidth=0;this.GroupingDestinationArrowsCreated=false;this.ArrGroupingDestinationsCoords=null;this.GroupingAreaDraggingColumn=null;this.GroupingAreaDraggingColumnVisible=false;this.GroupingAreaColumnIndex=null;this.CachedCssClassForHeaderColumnWhenGroupingApplied=null;this.HighlightForHeaderColumnWhenGroupingApplied=false;this.HighlightForGroupingAreaColumnWhenDraggingApplied=false;this.BodyMarginLeft=0;this.BodyMarginRight=0;this.GroupingDestinationArrowOffsetX=0;this.GroupingDestinationArrowOffsetY=0;this.GroupingAreaColumnMoved=false;if(this.GridHeaderContainer!=null){this.GridHeaderContainer.oncontextmenu=function(){return false};this.attachEventsToGroupingAreaColumns()}};oboutGrid.prototype.attachEventsToGroupingAreaColumns=function(){if(this.GroupingArea.childNodes[0].className!=this.CSSGroupingAreaDefaultColumn)for(var a=0;a<this.GroupingArea.childNodes.length;a+=2)this.addDragAndDropFunctionalityToGroupingAreaColumn(this.GroupingArea.childNodes[a])};oboutGrid.prototype.addDragAndDropFunctionalityToHeaders=function(){if(this.GridHeaderContainer==null)return;for(var d=this,c=this.getHeaderRow(),a=0;a<this.ColumnsCollection.length;a++)if(this.ColumnsCollection[a].DataField!=""&&this.ColumnsCollection[a].AllowGroupBy==true){var b=c.childNodes[a];b.onmousedown=function(a){d.initColumnDragging(a,this);return false}}};oboutGrid.prototype.initColumnDragging=function(d,a){var b=this;if(this.checkRightClick(d)==true)return;var c=this.getElementIndex(a);if(this.ColumnsCollection[c].GroupBy==true)return;this.PreviousMouseMoveEventHandler=document.onmousemove;this.PreviousMouseUpEventHandler=document.onmouseup;this.PreviousOnSelectStartEventHandler=document.onselectstart;this.GroupDraggingColumn==null&&this.createGroupDraggingColumn(a);this.GroupingDestinationArrowsCreated==false&&this.createGroupingDestinationArrows();document.onmousemove=function(c){b.updateColumnDragging(c,a)};document.onselectstart=function(){return false};document.onmouseup=function(){b.finishColumnDragging(a)}};oboutGrid.prototype.createGroupDraggingColumn=function(b){var a=document.createElement("DIV");a.innerHTML=this.getHeaderCellInnerContainer(b).innerHTML;a.className=this.CSSGroupDraggingColumn;a.style.width=b.offsetWidth+"px";this.GroupDraggingColumn=document.body.appendChild(a);this.GroupDraggingColumn.style.filter="alpha(style=0, opacity=80)";try{this.GroupDraggingColumn.style.MozOpacity=.8;this.GroupDraggingColumn.style.opacity=.8}catch(c){}this.GroupDraggingColumn.style.display="none"};oboutGrid.prototype.updateColumnDragging=function(e,d){if(document.onmousemove==this.PreviousMouseMoveEventHandler)return;var a=this.getMouseCoords(e),b=a[0],c=a[1];this.GroupDraggingColumn.style.left=b-7+"px";this.GroupDraggingColumn.style.top=c-7+"px";if(this.GroupDraggingColumnVisible==false){this.GroupDraggingColumn.style.display="";this.GroupDraggingColumnVisible=true}if(this.PreviousMouseCursor==null){this.PreviousMouseCursor=this.getStyle(document.body,"cursor");document.body.style.cursor="move"}this.ArrGroupingDestinationsCoords==null&&this.getGroupingDestinationsCoords();this.highlightGroupingAreaDestination(b,c);this.HighlightForHeaderColumnWhenGroupingApplied==false&&this.highlightHeaderColumnWhenGrouping(d)};oboutGrid.prototype.highlightHeaderColumnWhenGrouping=function(a){this.CachedCssClassForHeaderColumnWhenGroupingApplied=a.className;a.className=a.className+" "+this.CSSHeaderColumnHighlightedWhenGrouping;this.HighlightForHeaderColumnWhenGroupingApplied=true};oboutGrid.prototype.removeHeaderColumnHighlightingAfterGrouping=function(a){if(this.CachedCssClassForHeaderColumnWhenGroupingApplied){a.className=a.className.replace(" "+this.CSSHeaderColumnHighlightedWhenGrouping,"");this.CachedCssClassForHeaderColumnWhenGroupingApplied=null}this.HighlightForHeaderColumnWhenGroupingApplied=false};oboutGrid.prototype.getGroupingDestinationsCoords=function(){this.ArrGroupingDestinationsCoords=[];var c=0,d=0;if(this.isIE&&!this.isIE8)document.documentElement&&document.documentElement.clientWidth;else if(this.isSafari){c=this.getStyle(document.body,"margin-left");d=this.getStyle(document.body,"margin-top")}for(var a=0;a<this.GroupingArea.childNodes.length;a++)if(this.GroupingArea.childNodes[a].className!=this.CSSGroupingAreaColumnSpacer){var b={};b.x=this.getLeft(this.GroupingArea.childNodes[a])+parseInt(c);b.y=this.getTop(this.GroupingArea.childNodes[a])+parseInt(d);b.height=this.GroupingArea.childNodes[a].offsetHeight;b.width=this.GroupingArea.childNodes[a].offsetWidth;b.columnIndex=a;if(this.GroupingArea.childNodes[a].className==this.CSSGroupingAreaDefaultColumn)b.defaultColumn=true;else b.defaultColumn=false;this.ArrGroupingDestinationsCoords.push(b)}};oboutGrid.prototype.highlightGroupingAreaDestination=function(c,d,b){if(this.GroupDraggingColumn!=null&&this.checkDraggedColumnOverGroupingArea()==false||this.GroupingAreaDraggingColumn!=null&&this.checkGroupingAreaDraggedColumnOutsideGroupingArea()==true){this.GroupingDestinationArrowTop.style.display="none";this.GroupingDestinationArrowBottom.style.display="none"}else{var a=this.getGroupingAreaColumnForHighlightingCoords(c,b);if(a!=null){this.GroupingDestinationArrowTop.style.left=a.x-this.GroupingDestinationArrowTopWidth/2+this.GroupingDestinationArrowOffsetX+"px";this.GroupingDestinationArrowTop.style.top=a.y-this.GroupingDestinationArrowTopHeight+this.GroupingDestinationArrowOffsetY+"px";this.GroupingDestinationArrowBottom.style.left=a.x-this.GroupingDestinationArrowTopWidth/2+this.GroupingDestinationArrowOffsetX+"px";this.GroupingDestinationArrowBottom.style.top=a.y+a.height+this.GroupingDestinationArrowOffsetY+"px";this.GroupingDestinationArrowTop.style.display="";this.GroupingDestinationArrowBottom.style.display=""}else{this.GroupingDestinationArrowTop.style.display="none";this.GroupingDestinationArrowBottom.style.display="none"}}};oboutGrid.prototype.getGroupingAreaColumnForHighlightingCoords=function(e,c){for(var d=this.ArrGroupingDestinationsCoords.length-1;d>=0;d--){var a=this.ArrGroupingDestinationsCoords[d];if(a.defaultColumn==true){var b={};b.x=a.x;b.y=a.y;b.height=a.height;b.width=a.width;b.columnIndex=a.columnIndex;return c==null||a.columnIndex!=c&&a.columnIndex!=c-2?b:null}else if(e>a.x+a.width){var b={};b.x=a.x+a.width;b.y=a.y;b.height=a.height;b.width=a.width;b.columnIndex=a.columnIndex;return c==null||a.columnIndex!=c&&a.columnIndex!=c-2?b:null}}if(c==null||c!=0){var a=this.ArrGroupingDestinationsCoords[0],b={};b.x=a.x;b.y=a.y;b.height=a.height;b.width=a.width;b.columnIndex=-1;return b}return null};oboutGrid.prototype.finishColumnDragging=function(a){if(document.onmousemove==this.PreviousMouseMoveEventHandler)return;var c=false,e=this.getLeft(this.GroupDraggingColumn);if(this.checkDraggedColumnOverGroupingArea()==true)c=true;this.GroupingDestinationArrowTop.style.display="none";this.GroupingDestinationArrowBottom.style.display="none";document.body.removeChild(this.GroupDraggingColumn);this.GroupDraggingColumn=null;this.GroupDraggingColumnVisible=false;if(this.PreviousMouseCursor!=null){document.body.style.cursor=this.PreviousMouseCursor;this.PreviousMouseCursor=null}document.onmousemove=this.PreviousMouseMoveEventHandler;document.onselectstart=this.PreviousOnSelectStartEventHandler;document.onmouseup=this.PreviousMouseUpEventHandler;if(c==true){var b=this.getElementIndex(a)-this.getFirstColumnIndex(),d=this.appendDraggedColumnToGroupingArea(a,b,e);this.initiateGrouping(b,d)}this.ArrGroupingDestinationsCoords=null;this.removeHeaderColumnHighlightingAfterGrouping(a)};oboutGrid.prototype.checkDraggedColumnOverGroupingArea=function(){var a=this.getGroupingAreaInnerContainer(),b=this.getLeft(a)+this.BodyMarginLeft,f=b+this.BodyMarginLeft+(this.isSafari==false?a.offsetWidth:this.GridGroupingAreaContainer.offsetWidth),c=this.getTop(a)+this.BodyMarginRight,g=c+this.BodyMarginRight+(this.isSafari==false?a.offsetHeight:this.GridGroupingAreaContainer.offsetHeight/2),d=this.getLeft(this.GroupDraggingColumn),e=this.getTop(this.GroupDraggingColumn);return d>=b&&d<=f&&(e>=c&&e<=g)?true:false};oboutGrid.prototype.appendDraggedColumnToGroupingArea=function(m,j,l){var a=document.createElement("DIV"),g=document.createElement("DIV"),h=document.createElement("DIV"),i=document.createElement("DIV"),f=document.createElement("DIV");a.className=this.CSSGroupingAreaColumn;g.className=this.CSSGroupingAreaColumnLeft;h.className=this.CSSGroupingAreaColumnContent;f.className=this.CSSGroupingAreaColumnRight;g.innerHTML="&#160;";h.innerHTML=this.ColumnsCollection[j].HeaderText;i.className=this.CSSData;i.innerHTML=this.ColumnsCollection[j].DataField;f.innerHTML="&#160;";a.appendChild(g);a.appendChild(h);a.appendChild(i);a.appendChild(f);var k=0,d,b=null;if(this.GroupingArea.firstChild.className==this.CSSGroupingAreaDefaultColumn)this.GroupingArea.removeChild(this.GroupingArea.firstChild);else{var c=this.getGroupingAreaColumnForHighlightingCoords(l);if(c.columnIndex>=0){b=this.GroupingArea.childNodes[c.columnIndex].nextSibling;k=c.columnIndex/2+1}else b=this.GroupingArea.childNodes[0];var e=document.createElement("DIV");e.className=this.CSSGroupingAreaColumnSpacer;this.GroupingArea.insertBefore(e,b);if(c.columnIndex<0)b=e}if(!b)d=this.GroupingArea.appendChild(a);else d=this.GroupingArea.insertBefore(a,b);this.addDragAndDropFunctionalityToGroupingAreaColumn(d);return k};oboutGrid.prototype.checkRemovePreviousColumnsFromGroupingArea=function(){var a=this.GroupingArea.firstChild;return a.firstChild.nodeName=="#text"?true:false};oboutGrid.prototype.addDragAndDropFunctionalityToGroupingAreaColumn=function(a){var b=this;a.onmousedown=function(a){b.initGroupingAreaColumnDragging(a,this);return false}};oboutGrid.prototype.initGroupingAreaColumnDragging=function(d,a){if(this.checkRightClick(d)){var c=a.childNodes[2].innerHTML;this.removeColumnFromGroupingArea(a);this.removeColumnFromGroupByExpression(c);return}this.PreviousMouseMoveEventHandler=document.onmousemove;this.PreviousMouseUpEventHandler=document.onmouseup;this.PreviousOnSelectStartEventHandler=document.onselectstart;this.GroupingAreaDraggingColumn==null&&this.createGroupingAreaDraggingColumn(a);this.GroupingDestinationArrowsCreated==false&&this.createGroupingDestinationArrows();this.GroupingAreaColumnIndex=this.getElementIndex(a);var b=this;document.onmousemove=function(c){b.updateGroupingAreaColumnDragging(c,a)};document.onselectstart=function(){return false};document.onmouseup=function(c){b.finishGroupingAreaColumnDragging(c,a)}};oboutGrid.prototype.createGroupingAreaDraggingColumn=function(b){var a=document.createElement("DIV");a.className="ob_gGDC2";a.innerHTML=b.innerHTML;a.style.width=b.offsetWidth+"px";this.GroupingAreaDraggingColumn=document.body.appendChild(a);this.GroupingAreaDraggingColumn.style.filter="alpha(style=0, opacity=80)";try{this.GroupingAreaDraggingColumn.style.MozOpacity=.8;this.GroupingAreaDraggingColumn.style.opacity=.8}catch(c){}this.GroupingAreaDraggingColumn.style.display="none"};oboutGrid.prototype.updateGroupingAreaColumnDragging=function(e,d){var a=this.getMouseCoords(e),b=a[0],c=a[1];this.GroupingAreaDraggingColumn.style.left=b-7+"px";this.GroupingAreaDraggingColumn.style.top=c-7+"px";if(this.GroupingAreaDraggingColumnVisible==false){this.GroupingAreaDraggingColumn.style.display="";this.GroupingAreaDraggingColumnVisible=true}if(this.PreviousMouseCursor==null){this.PreviousMouseCursor=this.getStyle(document.body,"cursor");document.body.style.cursor="move"}this.ArrGroupingDestinationsCoords==null&&this.getGroupingDestinationsCoords();this.highlightGroupingAreaDestination(b,c,this.GroupingAreaColumnIndex);this.HighlightForGroupingAreaColumnWhenDraggingApplied==false&&this.highlightGroupingAreaColumnWhenDragging(d);if(this.GroupingAreaColumnMoved==false)this.GroupingAreaColumnMoved=true};oboutGrid.prototype.finishGroupingAreaColumnDragging=function(f,a){var b=false,c=this.getMouseCoords(f),e=c[0];if(this.checkGroupingAreaDraggedColumnOutsideGroupingArea()==true)b=true;this.GroupingDestinationArrowTop.style.display="none";this.GroupingDestinationArrowBottom.style.display="none";document.body.removeChild(this.GroupingAreaDraggingColumn);this.GroupingAreaDraggingColumn=null;this.GroupingAreaDraggingColumnVisible=false;if(this.PreviousMouseCursor!=null){document.body.style.cursor=this.PreviousMouseCursor;this.PreviousMouseCursor=null}document.onmousemove=this.PreviousMouseMoveEventHandler;document.onselectstart=this.PreviousOnSelectStartEventHandler;document.onmouseup=this.PreviousMouseUpEventHandler;this.removeGroupingAreaColumnHighlightingAfterDragging(a);if(this.GroupingAreaColumnMoved==true)if(b==true){var d=a.childNodes[2].innerHTML;this.removeColumnFromGroupingArea(a);this.removeColumnFromGroupByExpression(d)}else this.updateDragingAreaColumnsOrder(e,a);this.ArrGroupingDestinationsCoords=null;this.GroupingAreaColumnMoved=false};oboutGrid.prototype.updateDragingAreaColumnsOrder=function(d,a){var c=this.getGroupingAreaColumnForHighlightingCoords(d);if(c.columnIndex>this.GroupingAreaColumnIndex||c.columnIndex+2<this.GroupingAreaColumnIndex){var b;if(a.previousSibling!=null)b=a.previousSibling;else b=a.nextSibling;b=this.GroupingArea.removeChild(b);a=this.GroupingArea.removeChild(a);if(c.columnIndex==-1){this.GroupingArea.insertBefore(b,this.GroupingArea.firstChild);this.GroupingArea.insertBefore(a,this.GroupingArea.firstChild)}else if(this.GroupingArea.childNodes[c.columnIndex]!=null&&this.GroupingArea.childNodes[c.columnIndex].nextSibling!=null){this.GroupingArea.insertBefore(a,this.GroupingArea.childNodes[c.columnIndex].nextSibling);this.GroupingArea.insertBefore(b,this.GroupingArea.childNodes[c.columnIndex].nextSibling)}else{this.GroupingArea.appendChild(b);this.GroupingArea.appendChild(a)}this.recalculateGroupByExpression();this.initiateCallback()}};oboutGrid.prototype.checkGroupingAreaDraggedColumnOutsideGroupingArea=function(){var a=this.getGroupingAreaInnerContainer(),b=this.getLeft(a)+this.BodyMarginLeft,f=b+this.BodyMarginLeft+(this.isSafari==false?a.offsetWidth:a.parentNode.parentNode.offsetWidth),c=this.getTop(a)+this.BodyMarginRight,g=c+this.BodyMarginRight+(this.isSafari==false?a.offsetHeight:a.parentNode.parentNode.offsetHeight/2),d=this.getLeft(this.GroupingAreaDraggingColumn),e=this.getTop(this.GroupingAreaDraggingColumn);return d>=b&&d<=f&&(e>=c&&e<=g)?false:true};oboutGrid.prototype.createGroupingDestinationArrows=function(){var b=document.createElement("DIV");b.className=this.CSSGroupingAreaTopArrow;var a=document.createElement("DIV");a.className=this.CSSGroupingAreaBottomArrow;this.GroupingDestinationArrowTop=document.body.appendChild(b);this.GroupingDestinationArrowBottom=document.body.appendChild(a);this.GroupingDestinationArrowTop.style.zIndex=0;this.GroupingDestinationArrowBottom.style.zIndex=0;this.GroupingDestinationArrowTop.style.position="absolute";this.GroupingDestinationArrowBottom.style.position="absolute";this.GroupingDestinationArrowTop.style.display="none";this.GroupingDestinationArrowBottom.style.display="none";this.GroupingDestinationArrowTopHeight=parseInt(this.getStyle(this.GroupingDestinationArrowTop,"height"));this.GroupingDestinationArrowBottomHeight=parseInt(this.getStyle(this.GroupingDestinationArrowBottom,"height"));this.GroupingDestinationArrowTopWidth=parseInt(this.getStyle(this.GroupingDestinationArrowTop,"width"));this.GroupingDestinationArrowBottomWidth=parseInt(this.getStyle(this.GroupingDestinationArrowBottom,"width"));this.GroupingDestinationArrowsCreated=true};oboutGrid.prototype.removeColumnFromGroupingArea=function(a){var b=null;if(a.previousSibling!=null)var b=a.previousSibling;else if(a.nextSibling!=null)var b=a.nextSibling;this.GroupingArea.removeChild(a);b!=null&&this.GroupingArea.removeChild(b);this.GroupingArea.childNodes.length==0&&this.createGroupingAreaDefaultColumn()};oboutGrid.prototype.createGroupingAreaDefaultColumn=function(){var a=document.createElement("DIV");a.className=this.CSSGroupingAreaDefaultColumn;a.innerHTML=this.Localization_Grouping_GroupingAreaText;this.GroupingArea.appendChild(a)};oboutGrid.prototype.highlightGroupingAreaColumnWhenDragging=function(){this.HighlightForGroupingAreaColumnWhenDraggingApplied=true};oboutGrid.prototype.removeGroupingAreaColumnHighlightingAfterDragging=function(){this.HighlightForGroupingAreaColumnWhenDraggingApplied=false};oboutGrid.prototype.initiateGrouping=function(a,b){this.incrementPreviousGroupByPriorities(b);this.ColumnsCollection[a].GroupByPriority=b;this.ColumnsCollection[a].GroupBy=true;this.HideColumnsWhenGrouping&&this.hideColumn(a);this.initiateCallback()};oboutGrid.prototype.incrementPreviousGroupByPriorities=function(b){for(var a=0;a<this.ColumnsCollection.length;a++)if(this.ColumnsCollection[a].GroupBy==true&&this.ColumnsCollection[a].GroupByPriority>=b)this.ColumnsCollection[a].GroupByPriority++};oboutGrid.prototype.removeColumnFromGroupByExpression=function(d){for(var b=0,c=0,a=0;a<this.ColumnsCollection.length;a++)if(this.ColumnsCollection[a].DataField==d){b=this.ColumnsCollection[a].GroupByPriority;this.ColumnsCollection[a].GroupBy=false;this.ColumnsCollection[a].GroupByPriority=0;c=a;break}for(var a=0;a<this.ColumnsCollection.length;a++)if(this.ColumnsCollection[a].GroupBy==true&&this.ColumnsCollection[a].GroupByPriority>b)this.ColumnsCollection[a].GroupByPriority--;this.HideColumnsWhenGrouping&&this.showColumn(c);this.initiateCallback()};oboutGrid.prototype.recalculateGroupByExpression=function(){var a=this.GroupingArea.firstChild,c=0;while(a!=null){for(var d=a.childNodes[2].innerHTML,b=0;b<this.ColumnsCollection.length;b++)if(d==this.ColumnsCollection[b].DataField){this.ColumnsCollection[b].GroupBy=true;this.ColumnsCollection[b].GroupByPriority=c;break}c++;a=a.nextSibling;if(a!=null)a=a.nextSibling}};oboutGrid.prototype.resetGroupByExpression=function(){for(var a=0;a<this.ColumnsCollection.length;a++)if(this.ColumnsCollection[a].DataField!=""&&this.ColumnsCollection[a].GroupBy==true){this.ColumnsCollection[a].GroupBy=false;this.ColumnsCollection[a].GroupByPriority=0}};oboutGrid.prototype.manageGroupExpandCollapse=function(b,e){var c="";if(e==true)b=b.previousSibling.firstChild;if(b.src.toString()==this.DetailsBtnClose.src.toString()){c="none";b.src=this.DetailsBtnOpen.src}else{c="";b.src=this.DetailsBtnClose.src}var a=b.parentNode.parentNode.parentNode.parentNode,d=this.getRecordGroupHeaderLevel(a),f=[];while(a.nextSibling!=null){if(a.nextSibling.className==this.CSSRecordGroupHeader)if(this.getRecordGroupHeaderLevel(a.nextSibling)<=d)break;a=a.nextSibling;if(c=="none"||c==""&&this.getGroupExpandedState(a)==true)a.style.display=c}};oboutGrid.prototype.getGroupExpandedState=function(a){var b=false;if(a.className==this.CSSRecordGroupHeader){b=true;var c=this.getRecordGroupHeaderLevel(a)}a=a.previousSibling;while(a!=null&&(b==false&&a.className!=this.CSSRecordGroupHeader||b==true&&(a.className!=this.CSSRecordGroupHeader||this.getRecordGroupHeaderLevel(a)>=c)))a=a.previousSibling;if(a!=null){if(a.style.display=="none")return false;var d=a.firstChild.firstChild.lastChild.previousSibling.previousSibling.firstChild;return d.src==this.DetailsBtnClose.src?true:false}};oboutGrid.prototype.getRecordGroupHeaderLevel=function(a){return a.firstChild.firstChild.childNodes.length-2};oboutGrid.prototype.getRecordGroupLevel=function(d){var b=0,c=d.firstChild,a=c.firstChild.firstChild;while(a!=null&&a.nodeName=="DIV"){a=a.nextSibling;b++}return b};oboutGrid.prototype.getRecordGroupHeaderState=function(b){var a=b.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild,c=a.childNodes[a.childNodes.length-1].firstChild;return c.src==this.DetailsBtnOpen.src?false:true};var oboutGridGRJSLoaded=true;try{if(Sys)Sys.Application&&Sys.Application.notifyScriptLoaded()}catch(ex){};