var TabDataGrid=Class.create();TabDataGrid.prototype={initialize:function(a){this.contentPaneArray=$A();this.createGrids=$H();this.dataGrids=$H();this.responseCompleteCount=0;this.responseTabSize=0;this.setOptions(a)},setOptions:function(a){this.options={portalThemeName:"default",responseIndicatorId:"response_indicator_id",responseWrapperPanelId:"response_wrapper_id",startCategorizationUrl:"/data_grid/data_grid/start_categorization",tmpDivTabContainerId:"tmp_div_container_id",tabContainerId:"tdg_container_id",tabContentPanePrefixId:"tdg_content_pane_",throbberContentPanePrefixId:"throbber_content_pane_",throbberContentPaneClass:"throbber_content_pane_class",wrapperContentPanePrefixId:"wrapper_content_pane_",dataGridPrefixId:"data_grid_",tabGridUrl:"/data_grid/data_grid/tab_list_resources",pagerCountPrefixId:"data_grid_pager_count_id_",};this.options.throbberImgSrc="/images/general/"+this.options.portalThemeName+"/indicator.gif";Object.extend(this.options,a||{})},setOptionsGrid:function(c,b){var a=this.options.dataGridPrefixId+c;Object.extend(this.dataGrids[a].options,b||{})},startThinkingGrid:function(a,c,b){this.dataGrids[a].startThinking(c,b)},onStartRefreshGrid:function(a){this.dataGrids[a].onStartRefreshGrid()},stopThinkingGrid:function(a){this.dataGrids[a].stopThinking()},onStopRefreshGrid:function(a){this.dataGrids[a].onStopRefreshGrid()},toggleSelectedGrid:function(a,b){this.dataGrids[a].toggleSelected(b)},getVisibleRowsAsStringGrid:function(a){this.dataGrids[a].getVisibleRowsAsString()},selectAllVisibleRowsGrid:function(a){this.dataGrids[a].selectAllVisibleRows()},deselectAllVisibleRowsGrid:function(a){this.dataGrids[a].deselectAllVisibleRows()},deselectAllRowsGrid:function(a){this.dataGrids[a].deselectAllRows()},selectAllRowsGrid:function(a,b){this.dataGrids[a].selectAllRows(b)},switchCoordinatesFormatGrid:function(b,a,c){this.dataGrids[b].switchCoordinatesFormatTo(a,c)},addSelectedRowsToCartGrid:function(a){this.dataGrids[a].addSelectedRowsToCart()},viewSelectedRowsInVOPlotGrid:function(a,b,c){this.dataGrids[a].viewSelectedRowsInVOPlot(b,c)},querySiapPopupGrid:function(a,b){this.dataGrids[a].querySiapPopup(b)},stringToId:function(a){return a.toString().toLowerCase().replace(/\s+/g,"_").replace(/[\(\)\[\]\{\}]/g,"")},startThinking:function(a){$(a).show()},stopThinking:function(a){$(a).hide()},stopQueriesThinking:function(){this.responseCompleteCount++;if(this.responseCompleteCount==this.responseTabSize){var a=dojo.query(this.options.throbberContentPaneClass);for(i=0;i<a.length;i++){this.stopThinking(a[i])}}},removeAllDataGrid:function(){var b=this.dataGrids.keys();for(var a=0;a<b.length;a++){this.dataGrids[b[a]]=null;delete (this.dataGrids[b[a]])}this.dataGrids=$H();this.createGrids=$H()},destroyAllContentPane:function(){for(var a=0;a<this.contentPaneArray.length;a++){dijit.byId(this.contentPaneArray[a]).destroy()}this.contentPaneArray=$A()},destroyTabDataGrid:function(){this.removeAllDataGrid();this.destroyAllContentPane();try{dijit.byId(this.options.tabContainerId).destroyRecursive()}catch(a){}},getCurrentTabDataGridId:function(){try{var a=dijit.byId(this.options.tabContainerId);if(a!=undefined&&a!=null){return this.options.dataGridPrefixId+this.stringToId(a.selectedChildWidget.title)}else{return null}}catch(b){return null}},startCategorization:function(a){new Ajax.Request(this.options.startCategorizationUrl,{method:"post",evalScripts:true,parameters:a,onLoading:function(b){$(this.options.responseWrapperPanelId).innerHTML="";$(this.options.responseIndicatorId).show()}.bind(this),onFailure:function(b){$(this.options.responseIndicatorId).hide()}.bind(this),onSuccess:function(b){var c=b.responseText.split("||");var e=c[0].split(",");var d=c[1];if(e!=undefined&&e.length>0){this.createCategorization(e,d);$(this.options.responseIndicatorId).hide()}else{alert("Not possible create categorization for your selection.")}}.bind(this)})},createCategorization:function(h,a){this.responseCompleteCount=0;this.responseTabSize=0;this.destroyTabDataGrid();var j=document.createElement("div");j.setAttribute("id",this.options.tmpDivTabContainerId);$(this.options.responseWrapperPanelId).appendChild(j);var e=new dijit.layout.TabContainer({id:this.options.tabContainerId,layoutAlign:"top",style:"border:0px;height:500px;overflow:hidden;"},this.options.tmpDivTabContainerId);for(var d=0;d<h.length;d++){var k=h[d];if(k!=undefined&&k!=""){var c=this.stringToId(k);var b=this.options.tabContentPanePrefixId+c;this.contentPaneArray.push(b);e.addChild(new dijit.layout.ContentPane({id:b,title:""+k+"",style:"padding:10px 10px 10px 10px;"},document.createElement("div")));this.responseTabSize++;var f=document.createElement("div");f.setAttribute("id",this.options.throbberContentPanePrefixId+c);f.setAttribute("class",this.options.throbberContentPaneClass);f.setAttribute("style","display:none");f.innerHTML='<img alt="indicator" src="'+this.options.throbberImgSrc+'" /><em>&nbsp;Working...</em>';$(this.options.tabContentPanePrefixId+c).appendChild(f);var g=document.createElement("div");g.setAttribute("id",this.options.wrapperContentPanePrefixId+c);$(this.options.tabContentPanePrefixId+c).appendChild(g);this.createGrids[k]=a}}e.postCreate=new function(){dojo.connect(e,"selectChild",function(l){tab_datagrid.createGridByTitle(l.title)})};e.startup();this.createGridByTitle(e.selectedChildWidget.title)},createGridByTitle:function(e){if(this.createGrids[e]!=undefined||this.createGrids[e]!=null){var d=e;var b=this.stringToId(d);var c=this.createGrids[d];var a=this.options.dataGridPrefixId+b;this.dataGrids[a]=new DataGrid(a,null,{hoverRowColour:grid.options.hoverRowColour,lowerPanelId:this.options.wrapperContentPanePrefixId+b,pagerCountId:this.options.pagerCountPrefixId+b,gridUrl:this.options.tabGridUrl,selectAllRowsUrl:grid.options.selectAllRowsUrl,voplotUrl:grid.options.voplotUrl+"?kind_of_query="+b,getSelectedRowsSizeUrl:grid.options.getSelectedRowsSizeUrl+"?kind_of_query="+b,deselectAllRowsUrl:grid.options.deselectAllRowsUrl+"?kind_of_query="+b,addToCartUrl:grid.options.addToCartUrl+"?kind_of_query="+b});new Ajax.Updater(this.options.wrapperContentPanePrefixId+b,this.options.tabGridUrl,{method:"post",evalScripts:true,parameters:c+"&kind_of_query="+b+"&categorize_value="+d,onLoading:function(f){$(this.options.throbberContentPanePrefixId+b).show();$(this.options.wrapperContentPanePrefixId+b).innerHTML='<em style="font-size:14px;">It will take a while. Please wait for a response</em>'}.bind(this),onFailure:function(f){$(this.options.throbberContentPanePrefixId+b).hide();$(this.options.wrapperContentPanePrefixId+b).innerHTML="Error: "+f;this.createGrids[d]=null;delete (this.createGrids[d])}.bind(this),onSuccess:function(f){$(this.options.throbberContentPanePrefixId+b).hide();this.createGrids[d]=null;delete (this.createGrids[d])}.bind(this)})}}};tab_datagrid=new TabDataGrid();