JS2.OO.createClass("Grid0.Main");Grid0.Main.oo('extends',JS2.Main);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','components',['Schema','Dimension','Data','Util','Selected','Messenger','Header','ColumnMenu','ColumnNavigator','Sorter','QuickFilter','DataFormat','Body','Scroller','Resizer','MainHeader','MainFooter','MainLeft','Actions','BodyEventHandler','GridMenu','ToggleFields','AddSubject','DataImprover','Filter','Aggregation','AddField','DeleteField','Pagination','BulkImport','Clone','SearchDatasets','DownCSV','Join','ExplorerPayload','ExplorerHelper','ExpandedCell','CellOptions','CellForm','FactExplorer','SubjectExplorer','InitiateJoin','JoinDetails','HideColumn','VotePresentation','Merger','Admin','CellClipboard','SaveGridState','FirstRunTip','Tooltip','Search','Authentication','BigTableGuide','Caution','FieldEditor','JsapiPreview','ReorderFields','TablePermissions','TableDetails','RemoveTable','Reference']);K.oo('member','core',['Schema','Dimension','Data','Util','Actions']);K.oo('member','dependencies',"notifier schema messenger");K.oo('method',"classList",function(){return _super(this);});K.oo('method',"e_start",function(){this.view.initHTML();this.assign('dim',this.dimension);this.assign('jqMain',this.view.jqMain);this.assign('jqUniverse',this.view.jqUniverse);this.assign('jqGrid',this.view.jqGrid);this.assign('jqGridLoading',this.view.jqGridLoading);this.assign('auth',sci.auth);this.messenger.initHTML();this.notify('loadData');});K.oo('method',"clearAllFilters",function(){this.actions.clearAllFilters();});K.oo('method',"applyFilters",function(summaryFilters,voteFilters,options){summaryFilters=summaryFilters||[];voteFilters=voteFilters||[];this.actions.setFilters(summaryFilters,voteFilters,options);});K.oo('method',"applySearchQueries",function(queries){queries=queries||[];this.actions.setSearchQueries(queries);});K.oo('method',"initGeoFunction",function(geoFunction){this.actions.initGeoFunction(geoFunction);});K.oo('method',"applyGeoFunction",function(geoFunction){this.actions.setGeoFunction(geoFunction);});K.oo('method',"setReference",function(reference){this.actions.setReference(reference);});K.oo('method',"columns",function(){return this.data.columns();});K.oo('method',"column",function(idx){return this.data.column(idx);});K.oo('method',"columnIdxById",function(id){return this.schema.columnIdxById(id);});K.oo('method',"rowFilters",function(){return this.actions.rowFilters();});K.oo('method',"voteFilters",function(){return this.actions.voteFilters();});K.oo('method',"exclusions",function(){return this.actions.exclusions();});K.oo('method',"searchQueries",function(){return this.actions.searchQueries();});K.oo('method',"geoFunction",function(){return this.actions.geoFunction();});K.oo('method',"isGeoStateReady",function(){return this.data.isGeoStateReady();});K.oo('method',"openCell",function(colIdx,rowIdx){this.notify('openCell',colIdx,rowIdx);});K.oo('method',"focusCell",function(colIdx,rowIdx){this.notify('focusCell',{colIdx:colIdx,rowIdx:rowIdx});});K.oo('method',"state",function(){return this.data.state();});K.oo('method',"isSimple",function(){return this.actions.isSimple();});K.oo('method',"refresh",function(url,params){this.data.refresh(url,params);});K.oo('method',"editField",function(fieldId){this.notify('editField',fieldId);});K.oo('method',"resize",function(dim){if(dim.width&&dim.height){this.notify('resize',dim);}else if(dim.height){this.notify('resizeHeight',dim.height);}else if(dim.width){this.notify('resizeWidth',dim.width);}});K.oo('method',"autoResize",function(){this.notify('autoResize');});K.oo('method',"e_autoResize",function(){this.resize({width:this.dim.getPageWidth(),height:this.dim.getPageHeight()});});K.oo('method',"refreshData",function(){this.notify('loadData');});K.oo('method',"refreshColumns",function(cols){this.notify('initCols',cols);});K.oo('method',"addClass",function(className){this.view.jqMain.addClass(className);});K.oo('method',"registerObserver",function(obj){this.register(obj);});K.oo('method',"registerOutsideCallBacks",function(eventType,func){this.notifier.registerOutside(eventType,func);});K.oo('method',"reloadScroll",function(){this.notify('reloadScroll');});K.oo('method',"e_bigData",function(bigData,unlisted){this.bigData=bigData;this.assign('bigData',bigData);this.assign('unlisted',unlisted);});})(Grid0.Main,Grid0);JS2.OO.createClass("Grid0.MainView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.addClassName=options.addClassName;});K.oo('method',"e_loadData",function(){this.jqMain.hide();this.notify('alert','Data Loading...');});K.oo('method',"e_dataLoaded",function(){this.notify('alert');});K.oo('method',"e_tableUnCached",function(cacheState){this.jqMain.first('tr').siblings().css('visibility','hidden');});K.oo('method',"initHTML",function(){this.jqParent=this.seed.jq;this.jqParent.append(this.htmlCache.container());this.jqUniverse=this.jqParent.find('>.universe');this.jqMain=this.jqUniverse.find('>.mainGrid');this.jqGridLoading=this.jqUniverse.find('>.gridLoading');this.jqGrid=this.jqMain.first('td>.grid');this.jqMainFooter=this.jqMain.first('td>.mainFooter');this.jqMainHeader=this.jqMain.first('td>.mainHeader');this.jqMain.addClass('mainGrid0');});K.oo('method',"e_resized",function(){this.jqGrid.css(this.dim.grid);this.jqMain.css({height:this.dim.height,width:this.dim.width});});})(Grid0.MainView,Grid0);Grid0.dialogs={};Grid0.MainView.oo('setHTMLCache',{"container":function(){return"<div class='universe'><table class='mainGrid'><tr><td colspan='2'><div class='mainHeader'><div class='gridMenu'><\/div><\/div><\/td><\/tr><tr><td><div class='mainLeft'><\/div><\/td><td><div class='grid'><div class='scroller'><div class='filler'><\/div><\/div><div class='bMask'><div class='body'><\/div><\/div><div class='jMask hidden'><div class='joinIndicator'><\/div><\/div><div class='hMask'><div class='showFields' title='Show or Hide Fields'><\/div><a class='columnNavigatorIcon'><\/a><div class='header'><\/div><\/div><div class='resizerLine'><\/div><div class='cellOptions'><\/div><div class='expandedCell'><\/div><div class='bodyEventHandler'><div class='highlights'><div class='col'><\/div><div class='row'><\/div><div class='cell'><\/div><div class='input'><\/div><\/div><div class='cellForm'><\/div><\/div><\/div><\/td><td><div class='mainRight'><\/div><\/td><\/tr><tr><td colspan='2'><div class='mainFooter'><\/div><\/td><\/tr><\/table><div class='filterLayer'><\/div><div class='gridLoading'><div class='message'><\/div><div class='error'><\/div><\/div><\/div>"}});JS2.OO.createClass("Grid0.MainFooter");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth body');K.oo('method',"e_initHTML",function(){this.jq=this.jqMain.first('td>.mainFooter').html('');this.add(this.htmlCache.main());this.baseUrl=this.data.baseUrl();this.jqContent=this.addControl(this.htmlCache.controls());this.jqListContainer=this.jqContent.find('ul.mainFooterContainer');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"maincontainer",this.jqListContainer,null);this.jqTotalRows=this.jq.find('.totalRows').hide();this.jqRowCount=this.jqTotalRows.first('.rowCount');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Total Rows",this.jqRowCount,null);this.jqCalRowCount=this.jqTotalRows.first('.calRowCount');this.jqSortsInfo=this.jq.find('.sortsInfo');this.jqSortsFields=this.jqSortsInfo.find('.fieldNames');this.addRowButton=this.jq.find('.addRowButton');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"addrow",this.addRowButton,null);this.registerEvents();this.controlList=new Sci.JqList(this.jqListContainer,{alreadyBuilt:true});});K.oo('method',"e_dataLoaded",function(){var p=this.actions.pagination();this.showRowCount(p.totalRows);this.showSorts();});K.oo('method',"showSorts",function(){var fieldNames=this.actions.sortedFieldNames();if(fieldNames.length>0){this.jqSortsFields.html(fieldNames.join(', '));}else{this.jqSortsFields.html(this.schema.column(0).name);}});K.oo('method',"e_totalPagesLoaded",function(p){this.showRowCount(parseInt(p));});K.oo('method',"e_loadingTotalPages",function(){this.jqCalRowCount.addClass('disabled');});K.oo('method',"showRowCount",function(rowCount){if(rowCount>-1){var rs=rowCount==1?'row':'rows';this.jqRowCount.html(rowCount+' '+rs).show();this.jqCalRowCount.hide();}else{this.jqRowCount.hide();this.jqCalRowCount.show().removeClass('disabled');}
this.jqTotalRows.show();});K.oo('method',"e_bigData",function(bigData,unlisted){this.bigData=bigData;this.unlisted=unlisted;});K.oo('method',"add",function(html){var jq=$(this.jq.append(html)[0].lastChild);return jq;});K.oo('method',"addMenuItem",function(name,html){this.controlList.add(name,html);return this.controlList.get(name);});K.oo('method',"registerEvents",function(){var self=this;this.addRowButton.click(function(){className="addRow";self.notify(className+'MenuClicked',className,$(this));});this.jqCalRowCount.click((function(self){return function(){if($(this).hasClass('disabled'))return;self.data.getTotalPages();}})(this));});K.oo('method',"addControl",function(html){this.jqContainer=this.jq.find('.mainFooterContent');var jq=this.jqContainer.append(html);return jq;});})(Grid0.MainFooter,Grid0);Grid0.MainFooter.oo('setHTMLCache',{"controls":function(){return"<ul class='mainFooterContainer'><li class='addRowButton'><span class='fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Add Row      <\/a>    <\/span>  <\/span><\/span><\/li><li class='totalRows'><a class='calRowCount'>Calculate row count<\/a><span class='rowCount'><\/span><span class='sortsInfo'>, sorted by<span class='fieldNames'><\/span><\/span><\/li><\/ul>"},"main":function(){return"<div class='lowerControls'><div class='mainFooterContent'><\/div><\/div>"}});JS2.OO.createClass("Grid0.MainHeader");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.jqParent=this.jqMain.first('td>.mainHeader');this.jq=this.jqMain.first('td>.mainHeader .gridMenu').html('');});K.oo('method',"prependMain",function(html){var jq=$(this.jqParent.prepend(html)[0].firstChild);return jq;});K.oo('method',"add",function(html){var jq=$(this.jq.append(html)[0].lastChild);return jq;});K.oo('method',"prepend",function(html){var jq=$(this.jq.prepend(html)[0].firstChild);return jq;});K.oo('method',"addJoinHeader",function(html){this.joinHeading=this.jqParent.append(html).children(':last-child');return this.joinHeading;});K.oo('method',"getJoinHeaderHeight",function(){return this.joinHeading.height();});K.oo('method',"e_tableUnCached",function(){this.jqParent.addClass('tableUnCached');});K.oo('method',"e_appErrorOccurred",function(){this.jqParent.addClass('quartzError');});})(Grid0.MainHeader,Grid0);JS2.OO.createClass("Grid0.MainLeft");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.jq=this.jqMain.first('td>.mainLeft').html('');this.mode=new Sci.JqMode(this.jq);this.show();});K.oo('method',"e_resizing",function(){this.setDimensions();});K.oo('method',"show",function(){this.jq.show();});K.oo('method',"setDimensions",function(){if(this.jq)this.jq.css(this.dim.main.left);});})(Grid0.MainLeft,Grid0);JS2.OO.createClass("Grid0.Selected");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('accessor',['columnParams']);K.oo('accessor',['rowParams']);K.oo('accessor',['headerColumnParams']);K.oo('accessor',['dblClkCell']);K.oo('accessor',['clkCell']);})(Grid0.Selected,Grid0);JS2.OO.createClass("Grid0.Data");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('accessor',['unsaved']);K.oo('accessor',['payload']);K.oo('accessor',['columns']);K.oo('method',"initialize",function(options){this.options=options;this.dataset=options.dataset;this.payload(options.payload);this.columns(options.columns);this.payloadCallBacks={};this.firstTime=true;this.buildPayloadCallBacks();this.payload().registerCallBacks(this.payloadCallBacks);});K.oo('method',"e_sortAscending",function(params){this.notify('alert','Sorting (ascending)...');this.actions.sort('asc',params.modifier,params.colIdx);this.dim.resetRowOffset();this.loadData();});K.oo('method',"e_sortDescending",function(params){this.notify('alert','Sorting (descending)...');this.actions.sort('desc',params.modifier,params.colIdx);this.dim.resetRowOffset();this.loadData();});K.oo('method',"e_setExclusions",function(exclusions){var exs=[];for(var it37=0,ex,it37__arr=exclusions,it37__len=it37__arr.length;(ex=it37__arr[it37])||it37<it37__len;it37++){var exc={};exc.type='table';exc.fieldId=0;exc.attribute=ex.attribute;exc.operator=ex.operator;exc.value=ex.value;exc.disabled=ex.disabled;exc.scope=ex.scope;exs.push(exc);}
this.payload().setExclusions(exs);this.loadData();});K.oo('method',"e_consensusChange",function(){this.notify('alert','Loading...');this.loadData();});K.oo('method',"editable",function(){return this.options.editable();});K.oo('method',"reorderable",function(){return(this.options.isOwner()||this.options.isAdmin());});K.oo('method',"downloadable",function(){if(this.auth.isAdmin())return'FULLY';var count=0;var datasets=this.schema.datasets();for(var dsId in datasets){var d=datasets[dsId];if(this.auth.userId()==d.ownerId||(d.downloadable&&!d.openSquare))count++;}
if(count==datasets.length)return'FULLY';if(count==0)return'FALSE';return'PARTLY';});K.oo('method',"ownerId",function(){return this.options.ownerId();});K.oo('method',"ownerName",function(){return this.options.ownerName();});K.oo('method',"isOwner",function(){return this.options.isOwner();});K.oo('method',"datasetCountdown",function(){return this.options.datasetCountdown();});K.oo('method',"hideFirstRunTip",function(){return this.options.user.preferences.hideFirstRunTip;});K.oo('method',"deletable",function(){return this.options.deletable();});K.oo('method',"primarySortField",function(){return this.actions.primarySortField();});K.oo('method',"ast",function(){return this.payload().ast;});K.oo('method',"primaryDatasetId",function(){return this.actions.primaryDatasetId();});K.oo('method',"state",function(){return this.payload().state();});K.oo('method',"richState",function(){return this.payload().richGridJson();});K.oo('method',"leftColumns",function(){var cols=this.columns();var datasetId=cols[0].field.datasetId;var leftColumns=[];for(var it38=0,col,it38__arr=cols,it38__len=it38__arr.length;(col=it38__arr[it38])||it38<it38__len;it38++){if(col.field.datasetId==datasetId)leftColumns.push(col);}
return leftColumns;});K.oo('method',"baseColumns",function(){var baseColumns=[];var cols=this.columns();var baseDatasetId=this.dataset.id;for(var it39=0,col,it39__arr=cols,it39__len=it39__arr.length;(col=it39__arr[it39])||it39<it39__len;it39++){if(col.field.datasetId==baseDatasetId)baseColumns.push(col);}
return baseColumns;});K.oo('method',"isEmptyCell",function(context){if(context.col.isPrimary)return false;var colIdx=context.colIdx;var absRowIdx=context.absRowIdx;var val=this.getCell(colIdx,absRowIdx).val;return(val===null||val===undefined||((val instanceof Array)&&(val.length==0)));});K.oo('method',"isPksCompound",function(){return(this.pks().length>1);});K.oo('method',"pks",function(){if(!this._realPks){var pks=[];var cols=this.columns();for(var it40=0,col,it40__arr=cols,it40__len=it40__arr.length;(col=it40__arr[it40])||it40<it40__len;it40++){if(col.field.datasetId!=this.primaryDatasetId())break;if(col.field.isPrimary){pks.push(col);}}
this._realPks=pks;}
return this._realPks;});K.oo('method',"datasetPkColIds",function(colIdx){var cols=this.columns();var datasetId=cols[colIdx].field.datasetId;if(!this._dsPkColIds)this._dsPkColIds={};if(!this._dsPkColIds[datasetId]){this._dsPkColIds[datasetId]=[];for(var i=0,col;col=cols[i];i++){if(col.field.datasetId!=datasetId)continue;if(col.field.isPrimary)this._dsPkColIds[datasetId].push(i);}}
if(this._dsPkColIds[datasetId].length==0){for(var i=0,col;col=cols[i];i++){if(!col.field.isPrimary)return this._dsPkColIds[datasetId];this._dsPkColIds[datasetId].push(i);}}
return this._dsPkColIds[datasetId];});K.oo('method',"datasetPkIds",function(){if(!this._pkIds){var pkIds=[];var cols=this.columns();for(var it41=0,col,it41__arr=cols,it41__len=it41__arr.length;(col=it41__arr[it41])||it41<it41__len;it41++){if(col.field.datasetId!=this.primaryDatasetId())break;if(col.field.isPrimary){pkIds.push(col.field.id);}}
this._pkIds=pkIds;}
return this._pkIds;});K.oo('method',"datasetPkPairs",function(colIdx,absRowIdx){var ids=this.datasetPkColIds(colIdx);var cols=this.columns();var row=this.getRow(absRowIdx);var pairs=[];for(var it42=0,id,it42__arr=ids,it42__len=it42__arr.length;(id=it42__arr[it42])||it42<it42__len;it42++){pairs.push([cols[id].name,row[id].val,cols[id].datatype]);}
return pairs;});K.oo('method',"addRow",function(datasetId,pkeys,values,sharedProps){var self=this;sharedProps['field_ids[]']=this.datasetPkIds();var callBack=function(){self.notify('subjectAdded');self.dataLoaded();}
this.payload().addRow(datasetId,pkeys,values,sharedProps,callBack);this.notify('rowAdding');});K.oo('method',"addField",function(field_hash){this.notify('alert','Adding Field...');var callBack=(function(self){return function(){self.dataLoaded();self.notify('viewModified');self.notify('jumpToLastColumn');}})(this);var onError=(function(self){return function(){self.notify('alert');}})(this);this.payload().addField(field_hash,callBack,onError);});K.oo('method',"reorderFields",function(orders){this.notify('alert','Reordering Fields...');var callBack=(function(self){return function(){self.dataLoaded();self.notify('viewModified');}})(this)
this.payload().reorderFields(orders,callBack);});K.oo('method',"submitTableDetails",function(params,callBack){this.payload().submitTableDetails(params,callBack);});K.oo('method',"storeRevision",function(callBack){this.payload().storeRevision(callBack);});K.oo('method',"removeTable",function(){this.payload().removeTable();});K.oo('method',"advSearchFields",function(search_dataset_id){var self=this;this.payload().advSearchFields(search_dataset_id,function(data){self.notify('searchFieldResultsLoaded',data);});});K.oo('method',"searchFields",function(params){var self=this;this.payload().searchFields(params,function(data){self.notify('searchFieldResultsLoaded',data);});});K.oo('method',"loadImportPreview",function(){var self=this;this.payload().loadImportPreview(function(data){self.notify('importPreviewLoaded',data);});});K.oo('method',"submitImport",function(params){var self=this;this.payload().submitImport(params,function(data){self.notify('importSubmitted',data);});});K.oo('method',"publish",function(params){this.payload().publish(params);});K.oo('method',"saveView",function(params){this.payload().saveView(params);});K.oo('method',"saveMerge",function(params){this.payload().saveMerge(params);});K.oo('method',"submitClone",function(params){var self=this;this.payload().submitClone(params,function(data){self.notify('cloneSubmitted',data);});});K.oo('method',"setPermissions",function(permissions){this.payload().setPermissions(permissions);});K.oo('method',"share_state",function(fun){return this.payload().share_state(fun);});K.oo('method',"getTinyUrl",function(fun){return this.payload().getTinyUrl(fun);});K.oo('method',"setCacheTtl",function(ttl,fun){return this.payload().setCacheTtl(ttl,(function(self,fun){return function(p){self.dataset.cacheTtl=parseInt(p);fun(p);}})(this,fun));});K.oo('method',"getTotalPages",function(){this.notify('loadingTotalPages');return this.payload().getTotalPages((function(self){return function(p){self.notify('totalPagesLoaded',p);}})(this));});K.oo('method',"loadData",function(options){options=options||{};var self=this;if(!this.payload().actions){this.payload().actions=this.actions;this.payload().schema=this.schema;}
var callBack=function(){self.dataLoaded();};options.onError=function(obj){self.notify('appErrorOccurred',obj);}
this.payload().loadData(callBack,options);});K.oo('method',"pagination",function(){return this.payload().pagination();});K.oo('method',"paginate",function(page,limit){this.notify('alert','Paginating...');this.payload().paginate(page,limit);this.dim.resetRowOffset();this.loadData();});K.oo('method',"setAggregation",function(fieldId,aggregationMethod){this.notify('alert','Changing Aggregation...');this.payload().setAggregation(fieldId,aggregationMethod);var options={};options._event='SetFieldConsensus';options._event_params=JSON.stringify({field_id:fieldId,aggregation_method:aggregationMethod});if(grid.bigData){this.notify('saveGridState',(function(self,options){return function(){self.loadData(options);}})(this,options));}else{this.loadData(options);}
this.notify('actionsModified');});K.oo('method',"revertRevision",function(d){this.actions.setRevision(d);this.loadData();});K.oo('method',"clearFunction",function(){this.notify('alert','Clearing Last Function...');var callBack=(function(self){return function(){self.dataLoaded();}})(this);this.payload().clearFunction(callBack);});K.oo('method',"buildPayloadCallBacks",function(){var self=this;this.payloadCallBacks.loadData=function(){self.dataLoaded();}
this.payloadCallBacks.paginateAlert=function(){self.notify('alert','Loading...');}
this.payloadCallBacks.rescueLoadData=function(error){self.notify('alert',null);}});K.oo('method',"toggleGarbage",function(state){var message=(state)?'Showing':'Hiding';message+=" rows flagged as 'garbage'...";this.notify('alert',message);var self=this;var callBack=function(){self.dataLoaded();}
this.payload().toggleGarbage(state,callBack);this.notify('actionsModified');});K.oo('method',"getRowIdx",function(rowHash){var rowHashes=this.data.rowHashes();for(var i=0,rh;rh=rowHashes[i];i++){if(rh==rowHash)return i;}
return-1;});K.oo('method',"getHash",function(absRowIdx){return this.data.rowHashes()[absRowIdx];});K.oo('method',"markGarbage",function(absRowIds){var params={};var rows=[];for(var absRowId in absRowIds){rows.push({hash:this.payload().getHash(absRowId),values:this.getPkValHash(absRowId)});}
var self=this;params['rows']=rows;params['field_ids[]']=this.datasetPkIds();var callBack=function(){self.dataLoaded();}
this.payload().markGarbage(params,callBack);this.notify('garbageVoting');});K.oo('method',"suggestAlternative",function(rowIdx,voteHash){var self=this;voteHash['field_ids[]']=this.datasetPkIds();var callBack=function(){self.dataLoaded();}
this.payload().suggestAlternative(rowIdx,voteHash,callBack);this.notify('subjectVoting');});K.oo('method',"vote",function(colIdx,rowIdx,voteHash){var callBack={};var self=this;callBack.checkBigData=function(){self.checkBigData();};callBack.paginate=function(){self.paginate();};callBack.loadData=function(){self.dataLoaded();};callBack.refreshCell=function(absRowIdx,colIdx){self.notify('cellRefreshed',absRowIdx,colIdx);};this.payload().vote(colIdx,rowIdx,voteHash,callBack);this.notify('factVoting');});K.oo('method',"checkBigData",function(){if(this.bigData){WEBSITE.appendMessage("You may not see it immediately, but you can always find it by double clicking on the cell and examining the cell's history.");}});K.oo('method',"join",function(joinOn,fields,datasetsHash){this.notify('alert','Joining...');var joins=this.actions.join(joinOn,fields,datasetsHash);var self=this;var callBack=function(){self.unSaved=true;self.dataLoaded();};this.payload().join(joins,callBack);});K.oo('method',"refresh",function(url,params){var self=this;params=params||{};var callBack=function(){self.unSaved=true;self.dataLoaded();};this.payload().refresh(url,params,callBack);});K.oo('method',"isShowingDelta",function(){return this.actions.usingDelta();});K.oo('method',"merge",function(params){var self=this;var controls=params.controls;var callBack=function(){self.unSaved=true;self.dataLoaded();controls.merged();};this.payload().merge(params,callBack);});K.oo('method',"removeRowFilter",function(filter){this.notify('alert','Removing Filter...');var ret=this.payload().removeRowFilter(filter);this.loadData();return ret;});K.oo('method',"columnById",function(id){return this.schema.columnById(id);});K.oo('method',"reportAbuser",function(userId){this.payload().reportAbuser(userId);});K.oo('method',"addToWhiteList",function(userId){this.payload().addToWhiteList(userId);});K.oo('method',"addToBlackList",function(userId,reason){var self=this;this.payload().addToBlackList(userId,reason,function(){self.loadData();});});K.oo('method',"saveDefaultReference",function(reference,callback){this.payload().saveDefaultReference(reference,callback);});K.oo('method',"guessColumnWidths",function(){this.payload().guessColumnWidths();this.notify('resizeWidth');this.notify('viewModified');});K.oo('method',"dataLoaded",function(){var columns=this.schema.columns();if(this.firstTime||this.resetting){if(this.firstTime)this.notify('initHTML');if(columns)this.notify('initCols');this.resetting=false;}
if(this.tempNRows!=this.rows().length){this.notify('initRows');this.tempNRows=this.rows().length;}
this.jqMain.show();this.bigData=this.payload().isBigData();this.cacheState=this.payload().getCacheState();this.notify('bigData',this.bigData,this.payload().isUnlisted());this.notify('dataLoaded',this.firstTime);this.firstTime=false;this.notify('resize');if(this.bigData)this.notify('cacheStateLoaded',this.cacheState);controller.resizeMainPage();if(this.payload().hasQuartzError())this.notify('appErrorOccurred');if(this.needDisableGeoFunction)this.disableGeoFunction();});K.oo('method',"isBigData",function(){return this.payload().isBigData();});K.oo('method',"getCacheState",function(){return this.payload().getCacheState();});K.oo('method',"isFirstLoad",function(){return this.firstTime;});K.oo('method',"grid",function(){return this.payload().grid;});K.oo('method',"gridType",function(){return this.grid().gridType;});K.oo('method',"gridJson",function(){return this.payload().gridJson();});K.oo('method',"getPkHash",function(absRowIdx){var pks=this.pks();var hash={};for(var i=0,p;p=pks[i];i++){var value=this.getCell(i,absRowIdx).val;if(value==null)value="";hash[p.field.id]=value;}
return hash;});K.oo('method',"getPkValHash",function(absRowIdx){var hash={};var pks=this.pks();for(var i=0,p;p=pks[i];i++){var value=this.getCell(i,absRowIdx).val;if(p.field.datatype=='Date')value=DISPLAY.datatype('Date',value);if(value==null)value="";hash[p.field.id]=value;}
return hash;});K.oo('method',"isLeftCol",function(colIdx){return(this.datasetPkColIds(colIdx)[0]==0);});K.oo('method',"getPkVals",function(colIdx,absRowIdx){var pkVals=[];var row=this.getRow(absRowIdx);var pkColIds=this.datasetPkColIds(colIdx);for(var it43=0,i,it43__arr=pkColIds,it43__len=it43__arr.length;(i=it43__arr[it43])||it43<it43__len;it43++){pkVals.push(row[i].val);}
return pkVals;});K.oo('method',"tableVotable",function(){var col=this.columns()[0];var field=col.field;return(field.isVotable&&col.editable());});K.oo('method',"rowHash",function(rowIdx){return this.payload().rowHash[rowIdx];});K.oo('method',"rowHashes",function(){return this._payload.rowHashes();});K.oo('method',"columns",function(){return this._payload.columns();});K.oo('method',"baseUrl",function(){return this.payload().url;});K.oo('method',"getUserAction",function(colIdx,rowIdx){return this._payload.getUserAction(colIdx,rowIdx);});K.oo('method',"noUserAction",function(ua){return(!ua||ua==USER_ACTION.NOT_VOTE||ua==USER_ACTION.NO_USER)});K.oo('method',"hasUserValue",function(uv){return(uv||uv===0);});K.oo('method',"includeGarbage",function(){return this.payload().includeGarbage();});K.oo('method',"getUrl",function(){return this.payload.url;});K.oo('method',"e_setPoiFilter",function(apply){this.notify('alert',(apply?'Apply':'Removing')+' POI Filter...');this.notify('viewModified');this.actions.setPoiFilter(apply);this.loadData();});K.oo('method',"e_loadData",function(){this.loadData();});K.oo('method',"reloadGrid",function(){this.notify('alert','Reloading...');var callBack=(function(self){return function(){self.dataLoaded();self.notify('viewModified');}})(this);this.payload().reloadGrid(callBack);});K.oo('method',"column",function(colIdx){return this.columns()[colIdx];});K.oo('method',"datatype",function(colIdx){var dtName=this.column(colIdx).datatype;return sci.constants.datatypes[dtName];});K.oo('method',"nRows",function(){if(this.firstTime==true)return 0;return this.payload().rows().length;});K.oo('method',"getCell",function(colIdx,absRowIdx){return this.payload().getCell(colIdx,absRowIdx);});K.oo('method',"getRow",function(absRowIdx){return this.rows()[absRowIdx];});K.oo('method',"rows",function(){return this._payload.rows();});K.oo('method',"sortByColumn",function(colIdx,desc){this.payload().sort(colIdx,desc);});K.oo('method',"changeVotePresentMode",function(mode){this.actions.changeVotePresentMode(mode);this.dataLoaded();});K.oo('method',"votePresentMode",function(){return this.actions.votePresentMode();});K.oo('method',"isShowOriginal",function(){return this.dataset.defaultReference=='ORIGINAL';});K.oo('method',"isGeoStateReady",function(){return this.bigData&&this.cacheState=='CACHED'&&this.actions.verifyGeoFunction();});K.oo('method',"quickFilter",function(operator,fieldId,value){this.notify('alert','Applying Quick Filter...');var callBack=(function(self){return function(){self.dataLoaded();}})(this);var onError=(function(self){return function(obj){self.notify('appErrorOccurred',obj);}})(this)
this.payload().quickFilter(operator,fieldId,value,callBack,onError);});K.oo('method',"e_requestForceCache",function(){sci.common.postToUrl('/contact',{description:'Dear Factual. Please cache the Big Table - '+
this.data.dataset.key+', '+
this.data.dataset.name+' for me. Thank you!'});});K.oo('method',"confirmForDisableGeoFunction",function(){if(!this.actions.verifyGeoFunction())return true;if(confirm("This change will require disabling geo features on this table. Are you sure you want to do this?")){this.needDisableGeoFunction=true;return true;}else{return false;}});K.oo('method',"disableGeoFunction",function(){this.needDisableGeoFunction=false;this.actions.disableGeoFunction();this.notify('alert','Setting...');this.notify('forceCache');});})(Grid0.Data,Grid0);JS2.OO.createClass("Grid0.Schema");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('accessor',['columns']);K.oo('accessor',['datasets']);K.oo('method',"initialize",function(options){this.options=options;this._columns=[];});K.oo('method',"pkFieldIds",function(){var pkIds=[];var pks=this.primaryDataset.pks();for(var it15=0,col,it15__arr=pks,it15__len=it15__arr.length;(col=it15__arr[it15])||it15<it15__len;it15++){var pk=col.field;pkIds.push(pk.id);for(var it16=0,mField,it16__arr=pk.mergeFields,it16__len=it16__arr.length;(mField=it16__arr[it16])||it16<it16__len;it16++){pkIds.push(mField.id);}}
return pkIds;});K.oo('method',"columnById",function(id){id=parseInt(id);for(var i=0,c;c=this._columns[i];i++){if(c.id==id){return c;}}});K.oo('method',"joinedColumnIdxs",function(){var ret=[];for(var i=0,c;c=this._columns[i];i++){if(c.field.isJoin){ret.push(i);}}
return ret;});K.oo('method',"columnIdxById",function(id){id=parseInt(id);for(var i=0,c;c=this._columns[i];i++){if(c.id==id){return i;}}});K.oo('method',"isNumericCol",function(col){return col.datatype=='Double'||col.datatype=='Numeric'||col.datatype=='Integer';});K.oo('method',"getFieldInfo",function(fieldId){return this.fieldLookup[fieldId];});K.oo('method',"getDatasetInfo",function(datasetId){return this.datasetLookup[datasetId];});K.oo('method',"dataset",function(dsId){return this._datasets[dsId];});K.oo('method',"column",function(colIdx){return this._columns[colIdx];});K.oo('method',"viewDatasets",function(){if(!this.viewDss){this.viewDss={};var dss=this._datasets;for(var id in dss){var ds=dss[id];if(ds.viewColumns().length>0)this.viewDss[id]=ds;}}
return this.viewDss;});K.oo('method',"setSchema",function(immutable,view){this.view=view;this.immutable=immutable;this.generateLookups();this.data.resetting=true;});K.oo('method',"columnIdxById",function(id){id=parseInt(id);var cols=this.columns();for(var i=0,c;c=cols[i];i++){if(c.id==id){return i;}}});K.oo('method',"field",function(id){return this._fields[id];});K.oo('method',"generateLookups",function(){this._columns=[];var datasets=this.immutable.datasets;this.datasetLookup={};for(var it17=0,dataset,it17__arr=datasets,it17__len=it17__arr.length;(dataset=it17__arr[it17])||it17<it17__len;it17++)this.datasetLookup[dataset.id]=dataset;var fields=this.immutable.fields;this.fieldLookup={};for(var it18=0,field,it18__arr=fields,it18__len=it18__arr.length;(field=it18__arr[it18])||it18<it18__len;it18++)this.fieldLookup[field.id]=field;var cols=this.view.columns;this.colLookup={};for(var it19=0,col,it19__arr=cols,it19__len=it19__arr.length;(col=it19__arr[it19])||it19<it19__len;it19++){this.colLookup[col.id]=col;col.field=this.fieldLookup[col.id];col.name=col.field.name;col.datatype=col.field.datatype;col.qid=col.field.qfield_id;col.datasetId=col.field.datasetId;col.isPrimary=col.field.isPrimary;col.aggregation=col.aggregationMethod||col.field.aggregation;var datasetOwnerId=this.datasetLookup[col.datasetId].ownerId;col.editable=(function(self,col,datasetOwnerId){return function(){return(!col.field.isStatic||(datasetOwnerId==self.options.userId())||self.options.isAdmin());}})(this,col,datasetOwnerId);this._columns.push(col);}
this.processColumns();this._fields={};for(var it20=0,f,it20__arr=this.immutable.fields,it20__len=it20__arr.length;(f=it20__arr[it20])||it20<it20__len;it20++){this.processField(f);}
this.viewDss=null;});K.oo('method',"processColumns",function(){var datasets={};var order=[];var isLeft=true;var col_lookup={};var allFields=[];for(var i=0,c;c=this._columns[i];i++){c.colIdx=i;var field=c.field;col_lookup[field.id]=c;field.colIdx=i;allFields.push(field);for(var it21=0,f,it21__arr=field.mergeFields,it21__len=it21__arr.length;(f=it21__arr[it21])||it21<it21__len;it21++){f.colIdx=i;if(f.id!=field.id)f.inMerge=true;allFields.push(f);col_lookup[f.id]=c;}}
for(var it22=0,f,it22__arr=allFields,it22__len=it22__arr.length;(f=it22__arr[it22])||it22<it22__len;it22++){var ds=datasets[f.datasetId];if(!ds){var info=this.datasetLookup[f.datasetId];ds=new Grid0.Dataset(f.datasetId,this.data,isLeft);datasets[f.datasetId]=ds;ds.name=info.name;ds.id=info.id;ds.ownerId=info.ownerId;ds.openSquare=info.openSquare;ds.downloadable=info.downloadable;ds.showOriginal=info.showOriginal;isLeft=false;order.push(ds);}
if(!f.inMerge)ds.viewColumns().push(col_lookup[f.id]);if(f.isPrimary)ds.pks().push(col_lookup[f.id]);ds.columns().push(col_lookup[f.id]);}
var primaryDataset=null;for(var it23=0,ds,it23__arr=order,it23__len=it23__arr.length;(ds=it23__arr[it23])||it23<it23__len;it23++){if(!primaryDataset)primaryDataset=ds;if(ds.pks().length==0){ds.pks(primaryDataset.pks());}}
this._datasets=datasets;this.primaryDataset=primaryDataset;});K.oo('method',"processField",function(f){this._fields[f.id]=f;for(var it24=0,child,it24__arr=f.mergeFields,it24__len=it24__arr.length;(child=it24__arr[it24])||it24<it24__len;it24++){this.processField(child);}});K.oo('method',"currentDataset",function(){return this._datasets[this.data.dataset.id];});K.oo('method',"getPkDefaultValues",function(){var pkDefaultValues={};var defaultValues=this.immutable.fieldDefaultValues;for(var i=0,f;f=this.immutable.fields[i];i++){var fieldId=f.id;if(defaultValues[fieldId]!=undefined&&defaultValues[fieldId]!=null){pkDefaultValues[fieldId]=defaultValues[fieldId];}}
return pkDefaultValues;});})(Grid0.Schema,Grid0);JS2.OO.createClass("Grid0.Dataset");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('accessor',['pks']);K.oo('accessor',['columns']);K.oo('accessor',['viewColumns']);K.oo('method',"initialize",function(dsId,data,isLeft){this.datasetId=dsId;this.data=data;this._pks=[];this._columns=[];this._viewColumns=[];this.isLeft=isLeft;});K.oo('method',"pkTable",function(absRowIdx){var table=[];for(var it12=0,pk,it12__arr=this._pks,it12__len=it12__arr.length;(pk=it12__arr[it12])||it12<it12__len;it12++){var val=this.data.getCell(pk.colIdx,absRowIdx).val;val=DISPLAY.datatype(pk.datatype,val);var name=pk.name;table.push([name,val]);}
return table;});K.oo('method',"pkVals",function(absRowIdx){var ret=[];for(var it13=0,pk,it13__arr=this._pks,it13__len=it13__arr.length;(pk=it13__arr[it13])||it13<it13__len;it13++){var val=this.data.getCell(pk.colIdx,absRowIdx).val;ret.push(val);}
return ret;});K.oo('method',"rowHash",function(absRowIdx){if(this.isLeft)return this.data.payload().getHash(absRowIdx);return this.pkVals(absRowIdx);});})(Grid0.Dataset,Grid0);var USER_ACTION={NOT_VOTE:0,AGREE:1,DISAGREE:-1,NO_USER:2};JS2.OO.createClass("Grid0.Payload");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('accessor',['columns']);K.oo('accessor',['rows']);K.oo('method',"initialize",function(options){this.datasetKey=options.dataset.key;this.datasetId=options.dataset.id;this.url='/tables/'+this.datasetKey;this.mainUrl='/tables/main/'+this.datasetKey;this.voteUrl='/tables/vote/'+this.datasetKey;this.metaUrl='/tables/metadata/'+this.datasetKey;this.gridStateId=options.grid.gridStateId;this.apiMode=options.grid.apiMode;this.unsubscribe=options.grid.unsubscribe;this.grid={};this.view={};this.view.columns=[];this.immutable={};this.immutable.fields=[];this.first=true;});K.oo('method',"share_state",function(fun){var url='/tables/main/share_state';var grid=this.richGridJson();var params={grid:grid};sci.ajax.post(url,params,function(id){fun(id);});});K.oo('method',"getTinyUrl",function(fun){var url='/tables/main/create_state';var grid=this.richGridJson();var params={grid:grid};sci.ajax.post(url,params,function(id){fun(id);});});K.oo('method',"setCacheTtl",function(ttl,fun){var url=this.metaUrl+'/update_cache_ttl';var params={cacheTtl:ttl};sci.ajax.post(url,params,function(p){fun(p);});});K.oo('method',"getTotalPages",function(fun){var url='/tables/main/get_row_count';var params={grid:this.gridJson()};sci.ajax.post(url,params,function(p){fun(p);});});K.oo('method',"setExclusions",function(exs){this.exclusions=exs;this.inUpdateExclusions=true});K.oo('method',"isBigData",function(){return this.grid.summary['big-data'];});K.oo('method',"hasQuartzError",function(){return this.grid.summary['has-quartz-error'];});K.oo('method',"isUnlisted",function(){return this.grid.summary['unlisted'];});K.oo('method',"getCacheState",function(){return this.grid.summary['cache-state'];});K.oo('method',"loadData",function(callBack,options){if(options==null)options={};var self=this;var params={};var url=this.url+'/summary.js';var urlParams=[];if(this.unsubscribe)urlParams.push("unsubscribe=true");if(this.apiMode)urlParams.push('api_mode=true');if(urlParams.length)url+='?'+urlParams.join('&');if(!this.first){params.grid=this.richGridJson();}else{if(this.gridStateId){params.grid_state_id=this.gridStateId;}else{var grid=$('#gridState').text();if(grid)params.grid=grid;}}
var changesSince=$('#changesSince').val();if(changesSince){if(this.isBigData())params.api_mode=true;params.filter_changes_since=changesSince;}
this.actions.setConsensusDelta(!!changesSince);if(this.inUpdateExclusions){params.exclusions=JSON.stringify(this.exclusions);this.inUpdateExclusions=false;}
params.onError=options.onError;if(options.force_cache){params.force_cache=true}
if(options._event){params._event=options._event;params._event_params=options._event_params;}else{params._event='SummaryRequest';params._event_params=JSON.stringify({page_size:this.actions.pageSize(),page_number:this.actions.pageNumber()});}
this.first=false;sci.ajax.post(url,params,function(p){self._loadedData(p,callBack)});});K.oo('method',"reloadGrid",function(callBack){this.first=true;this.loadData(callBack);});K.oo('method',"state",function(){return this.gridJson();});K.oo('method',"richGridJson",function(){var grid={};grid.actions=this.actions.raw();grid.view=this.view;var ret=JSON.stringify(grid);return ret;});K.oo('method',"gridJson",function(){var grid={};grid.actions=this.actions.raw();var fields=[];for(var i=0,c;c=this.view.columns[i++];){fields.push(c.field);c.field=null;}
var ret=JSON.stringify(grid);for(var i=0,c;c=this.view.columns[i];i++){c.field=fields[i];}
return ret;});K.oo('method',"loadRowSummary",function(colIdx,rowIdx,callBack){var params={};var rowHash=this.getHash(rowIdx);var column=this.columns()[colIdx];var field=this.schema.getFieldInfo(column.id);params.row_hash=rowHash;params.field_qid=field.qfieldId;params.field_id=column.id;params.column_dataset_id=column.datasetId;params.grid=this.gridJson(field.id);var url=this.url+'/row_summary.js';var self=this;sci.ajax.post(url,params,function(p){self._loadRowSummary(p,callBack)});});K.oo('method',"_loadRowSummary",function(s,callBack){var summary=new Grid0.SummaryParser(s,this.columns());if(callBack){callBack(summary);}});K.oo('method',"advSearchFields",function(search_dataset_or_id,callBack){var self=this;var params={};params.dataset_id=this.datasetId;params.search_dataset_or_id=search_dataset_or_id;var url='/search/advanced_find_fields.js';sci.ajax.post(url,params,function(p){callBack(p);});});K.oo('method',"searchFields",function(params,callBack){var self=this;switch(params.join_on){case'pk_pk':params.dataset_id=this.datasetId;case'pk_fk':params.dataset_id=this.datasetId;case'fk_pk':params.dataset_id=this.datasetId;}
params._event='JoinabilitySearch';params._event_params=JSON.stringify({table_id:params.dataset_id,field_id:parseInt(params.field_id)});var url='/search/find_fields.js';sci.ajax.post(url,params,function(p){callBack(p);});});K.oo('method',"_loadedData",function(grid,callBack){if(grid){this.grid=grid;this.qlisp=grid.qlisp;this.actions.setActions(grid.actions,grid.summary);if(grid.immutable){if(grid.immutable.fields.length<1||grid.view.columns.length<1){sci.website.error('No data to show in this table');return;}
this.immutable=grid.immutable;this.view=grid.view;this.schema.setSchema(this.immutable,this.view);}
this.restoreFieldWidths();this.summary=new Grid0.SummaryParser('dataset',grid.summary,this.schema.columns());}
if(callBack)callBack();});K.oo('method',"addRow",function(datasetId,pkeys,values,sharedProps,callBack){var params=sharedProps;var payload={pkeys:pkeys,values:values,datasetId:datasetId};params.payload=JSON.stringify(payload);params.column_dataset_id=payload.datasetId;params.grid=this.richGridJson();params._event='AddNewRow';var pk_values=$.map(values,function(v){return v.value;});var values_csv=JSON.stringify(pk_values);values_csv=values_csv.substr(1,values_csv.length-2);params._event_params=JSON.stringify({values:values_csv,comment:params.comments,source:params.source,weight:params.weight,confidence:params.confidence});var url=this.voteUrl+'/add_row.js';var self=this;sci.ajax.post(url,params,function(p){self._loadedData(p,callBack);});});K.oo('method',"refresh",function(url,params,callBack){var self=this;if(params.includState)params.grid=this.gridJson();sci.ajax.post(url,params,function(p){self._loadedData(p,callBack);});});K.oo('method',"join",function(joins,callBack){var self=this;var url=this.improveUrl('join')+'/join';var params={};params.joins=JSON.stringify(joins);params.grid=this.richGridJson();var firstJoin=joins[0];params._event='JoinTables';params._event_params=JSON.stringify({field_id1:firstJoin.left_field_id,field_id2:firstJoin.right_field_id,table_id1:this.datasetId,table_id2:firstJoin.right_dataset_id});sci.ajax.post(url,params,function(p){self._loadedData(p,callBack);});});K.oo('method',"merge",function(params,callBack){var par={};var url=this.improveUrl('merge')+'/merge';par['field_mapping']=JSON.stringify(params.mapping);par['add_columns']=JSON.stringify(params.addColumns);par['from_dataset_id']=params.datasetId;par['add_rows']=params.addRows;par.grid=this.richGridJson();par._event='MergeTables';par._event_params=JSON.stringify({merge_target_table_id:this.actions.primaryDatasetId(),merge_source_table_id:par.from_dataset_id});var self=this;sci.ajax.post(url,par,function(p){self._loadedData(p,callBack);});});K.oo('method',"addField",function(field_hash,callBack,onError){var self=this;var url=this.mainUrl+'/add_field';var params={};params.field=JSON.stringify(field_hash);params.grid=this.gridJson();params._event='AddField';params._event_params=JSON.stringify({table_id:this.datasetId,field_name:field_hash['name'],datatype:field_hash['datatype']});params.onError=onError;this.fieldWidths=this.getFieldWidths();sci.ajax.post(url,params,function(p){self._loadedData(p,callBack);});});K.oo('method',"reorderFields",function(orders,callBack){var url='/tables/fields/'+this.datasetKey+'/reorder.js';var params={fieldsOrder:JSON.stringify(orders),onError:function(){}};params.grid=this.richGridJson();sci.ajax.post(url,params,(function(self){return function(p){self._loadedData(p,callBack);}})(this));});K.oo('method',"submitTableDetails",function(params,callBack){var url=this.metaUrl+'/details.js';sci.ajax.post(url,params,callBack);});K.oo('method',"storeRevision",function(callBack){var url=this.mainUrl+'/store_revision';sci.ajax.post(url,{},callBack);});K.oo('method',"removeTable",function(){var url=this.mainUrl+'/delete';sci.ajax.post(url,{});});K.oo('method',"getFieldWidths",function(){var cols=this.columns();var widths={};for(var it62=0,c,it62__arr=cols,it62__len=it62__arr.length;(c=it62__arr[it62])||it62<it62__len;it62++){widths[c.id]=c.width;}
return widths;});K.oo('method',"restoreFieldWidths",function(){if(!this.fieldWidths)return;var cols=this.columns();for(var it63=0,c,it63__arr=cols,it63__len=it63__arr.length;(c=it63__arr[it63])||it63<it63__len;it63++){if(this.fieldWidths[c.id])c.width=this.fieldWidths[c.id];}
this.fieldWidths=null;});K.oo('method',"vote",function(colIdx,absRowIdx,voteHash,callBack){var params=voteHash;var column=this.columns()[colIdx];var field=this.field(colIdx);params.row_hash=this.getHash(absRowIdx);params.pk=[];params.field_qid=field.qfieldId;params.field_id=column.id;params.column_dataset_id=column.datasetId;params['field_ids[]']=[field.id];params.grid=this.richGridJson();params._event='SubmitVote';params._event_params=JSON.stringify({value:params.value,field_id:params.field_id,row_hash:params.row_hash,comment:params.comments,source:params.source,weight:params.weight,confidence:params.confidence});var url=this.voteUrl+'/vote.js';if(this.unsubscribe)url+="?unsubscribe=true";var self=this;sci.ajax.post(url,params,function(p){self._vote(p,absRowIdx,colIdx,callBack)});});K.oo('method',"_vote",function(p,absRowIdx,colIdx,callBack){callBack.checkBigData();var cardinality=p["row-count-set"];if(cardinality==0){if((p["row-count-limited"]-1)%this.pagination.limit==0){callBack.paginate();}else{this.summary.removeRow(absRowIdx);callBack.loadData();}}else{var rowSummary=new Grid0.SummaryParser('row',p,this.columns());this.summary.rows[absRowIdx][colIdx]=rowSummary.rows[0][colIdx];callBack.refreshCell(absRowIdx,colIdx);}});K.oo('method',"suggestAlternative",function(absRowIdx,voteHash,callBack){var column=this.columns()[0];var params=voteHash;params.row_hash=this.getHash(absRowIdx);params.pk=[];params.column_dataset_id=column.field.datasetId;params._event=(params.weight<0)?'MarkRowGarbage':'SuggestAlternativeRow';var values_csv=JSON.stringify(params.pk_values);values_csv=values_csv.substr(1,values_csv.length-2);params._event_params=JSON.stringify({row_hash:params.row_hash,values:values_csv,comment:params.comments,source:params.source,weight:params.weight,confidence:params.confidence});var url=this.voteUrl+'/suggest_alternative.js';var self=this;sci.ajax.post(url,params,function(p){self.loadData(callBack);});});K.oo('method',"guessColumnWidths",function(){if(!this.summary)return;this.summary.guessColumnWidths();});K.oo('method',"getCell",function(colIdx,absRowIdx){return this.summary.get(colIdx,absRowIdx);});K.oo('method',"getHash",function(absRowIdx){return this.summary.getHash(absRowIdx);});K.oo('method',"col",function(colIdx){return this.view.columns[colIdx];});K.oo('method',"rowHashes",function(){return this.summary.rowHashes;});K.oo('method',"rowHash",function(rowIdx){return this.summary.rowHashes[rowIdx];});K.oo('method',"columns",function(){return this.view.columns;});K.oo('method',"field",function(colIdx){return this.schema.getFieldInfo(this.view.columns[colIdx].id);});K.oo('method',"datasets",function(){return this.immutable.datasets;});K.oo('method',"dataset",function(id){return this.datasetLookup[id];});K.oo('method',"rows",function(){return this.summary.rows;});K.oo('method',"pagination",function(){var ret=this.ast.pagination();var rowCount=this.grid.summary['row-count-limited'];var totalPages=(rowCount<0)?-1:Math.ceil(rowCount/ret.limit);totalPages=(totalPages==0)?1:totalPages;ret['totalPages']=totalPages;return ret;});K.oo('method',"paginate",function(page,limit){this.actions.paginate(page,limit);});K.oo('method',"setAggregation",function(colIdx,agg){this.columns()[colIdx].aggregationMethod=agg;});K.oo('method',"markGarbage",function(params,callBack){var params=params;var column=this.columns()[0];params.rows=JSON.stringify(params.rows);params.column_dataset_id=column.field.datasetId;params._event='MarkRowGarbage';params._event_params=JSON.stringify({row_hash:params.row_hash});var url=this.voteUrl+'/mark_garbage.js';var self=this;sci.ajax.post(url,params,function(p){self.loadData(callBack);});});K.oo('method',"toggleGarbage",function(state,callBack){this.actions.garbage(state);var options={};options._event='SetGarbageRowVisibility';options._event_params=JSON.stringify({should_show_garbage_rows:state});this.loadData(callBack,options);});K.oo('method',"includeGarbage",function(){return this.actions.getGarbageState();});K.oo('method',"registerCallBacks",function(functHash){});K.oo('method',"submitImport",function(params,callback){var url=this.improveUrl('import')+'/submit';var self=this;sci.ajax.post(url,params,function(p){self._submitImport(p,callback);});});K.oo('method',"_submitImport",function(data,callback){callback(data);});K.oo('method',"submitClone",function(params,callback){var url=this.mainUrl+'/clone_dataset';var self=this;params.grid=this.gridJson();sci.ajax.post(url,params,function(p){self._submitClone(p,callback);});});K.oo('method',"_submitClone",function(data,callback){callback(data);});K.oo('method',"setPermissions",function(permissions,callBack){var url=this.metaUrl+'/sharing';sci.ajax.post(url,permissions,(function(self){return function(p){self.refreshCurrentPage();}})(this))});K.oo('method',"refreshCurrentPage",function(){window.location.href=window.location.href;});K.oo('method',"loadDatasetTitle",function(permissions){var jqDsTitle=$('.dsType');jqDsTitle.attr('class','dsType '+permissions.datasetClass);jqDsTitle.attr('title',permissions.datasetDesc);});K.oo('method',"loadPermissions",function(permissions,callBack){this.data=grid.data;this.data.dataset.isStatic=permissions.isStatic;this.data.dataset.subscribe=permissions.subscribe;this.data.dataset.unlisted=permissions.unlisted;this.data.dataset.isPrivate=permissions.isPrivate;if(callBack)callBack();});K.oo('method',"publish",function(params){this.addOpenSquareParam(params);params.grid=this.richGridJson();var url=this.mainUrl+'/publish';sci.ajax.post(url,params);});K.oo('method',"saveView",function(params){this.addOpenSquareParam(params);params.grid=this.richGridJson();var url=this.mainUrl+'/save_view';sci.ajax.post(url,params,function(){});});K.oo('method',"saveMerge",function(params){this.addOpenSquareParam(params);params.grid=this.richGridJson();var url=this.mainUrl+'/save_merge';sci.ajax.post(url,params,function(){});});K.oo('method',"addOpenSquareParam",function(params){var openSquare=false;for(var it64=0,ds,it64__arr=this.datasets(),it64__len=it64__arr.length;(ds=it64__arr[it64])||it64<it64__len;it64++){if(ds.openSquare){openSquare=true;break;}}
params.openSquare=openSquare;});K.oo('method',"getUserAction",function(colIdx,rowIdx){return this.summary.rows[rowIdx][colIdx].userAction;});K.oo('method',"sort",function(colIdx,desc){if(this._rows.length<2)return;var operator=desc?'>=':'<=';var func=function(a,b){function chunkify(row){eval("var v = row["+colIdx+"].val;");var t=(v)?v.toString().toLowerCase():'';var tz=new Array();var x=0,y=-1,n=0,i,j;while(i=(j=t.charAt(x++)).charCodeAt(0)){var m=(i==46||(i>=48&&i<=57));if(m!==n){tz[++y]="";n=m;}
tz[y]+=j;}
return tz;}
function direction(ret){eval("if ("+desc+") ret = -ret;");return ret;}
var aa=chunkify(a);var bb=chunkify(b);for(x=0;aa[x]&&bb[x];x++){if(aa[x]!==bb[x]){var c=Number(aa[x]),d=Number(bb[x]);if(c==aa[x]&&d==bb[x]){return direction(c-d);}else return direction((aa[x]>bb[x])?1:-1);}}
return direction(aa.length-bb.length);}
this._rows.sort(func);this.callBacks.loadData();});K.oo('method',"improveUrl",function(action){return'/tables/'+action+'/'+this.datasetKey;});K.oo('method',"reportAbuser",function(userId){var url='/spam/report_abuser'
AJAX.post(url,{userId:userId});});K.oo('method',"addToWhiteList",function(userId){var url='/spam/add_to_whitelist'
AJAX.post(url,{userId:userId});});K.oo('method',"addToBlackList",function(userId,reason,callback){var url='/spam/add_to_blacklist'
AJAX.post(url,{userId:userId,reason:reason},callback);});K.oo('method',"saveDefaultReference",function(reference,callback){var url=this.mainUrl+'/save_default_reference';AJAX.post(url,{reference:reference},callback);});K.oo('method',"quickFilter",function(operator,fieldId,value,callBack,onError){var url=this.url+'/quick_filter';var params={};params.grid=this.richGridJson();params.operator=operator;params.fieldId=fieldId;params.value=value;params.onError=onError;AJAX.post(url,params,(function(self,callBack){return function(p){self._loadedData(p,callBack);}})(this,callBack));});K.oo('method',"clearFunction",function(callBack){var url=this.mainUrl+'/clear_function';sci.ajax.post(url,{},(function(self,callBack){return function(p){self._loadedData(p,callBack);}})(this,callBack));});})(Grid0.Payload,Grid0);JS2.OO.createClass("Grid0.SummaryParser");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','maxWidth',350);K.oo('member','minWidth',50);K.oo('member','defWidth',120);K.oo('member','padding',15);K.oo('method',"initialize",function(summaryType,payload,columns){this.summaryType=summaryType;this.rowHashes=[];this._processPayload(payload,columns);});K.oo('method',"getCellById",function(colId,absRowIdx){var row=this.rows[absRowIdx];if(row){for(var it29=0,cell,it29__arr=row,it29__len=it29__arr.length;(cell=it29__arr[it29])||it29<it29__len;it29++){if(cell.colId==colId)return cell;}}
return{};});K.oo('method',"get",function(colIdx,absRowIdx){return this.rows[absRowIdx]?this.rows[absRowIdx][colIdx]:{}});K.oo('method',"removeRow",function(absRowIdx){this.rows.splice(absRowIdx,1);this.rowHashes.splice(absRowIdx,1);});K.oo('method',"getHash",function(absRowIdx){return this.rows[absRowIdx].rowHash;});K.oo('method',"_processPayload",function(payload,columns){this.header=payload.header;this.columns=columns;var rows=payload.rows;this.rows=[];var columnWidths=[];var isDataset=this.summaryType=='dataset'?true:false;var autoWidth=true;for(var i=0,c;c=this.columns[i];i++){if(c.width!=this.defWidth){autoWidth=false;break;}}
for(var i=0,r;r=rows[i];i++){if(typeof(r)=="string")r=JSON.parse(JSON.stringify('['+r+']'));var row=[];for(var cIdx=0,c;c=this.columns[cIdx];cIdx++){var lookup=this.header[c.id];var cell={};if(lookup){var vals=(r[lookup.consensus_val]instanceof Array)?$.map(r[lookup.consensus_val],function(v){return v.val}):r[lookup.consensus_val];cell.colId=c.id;cell.val=vals;cell.valList=r[lookup.consensus_val];cell.userVal=r[lookup.user_vote];cell.consensus=r[lookup.strength];cell.userAction=r[lookup.user_action];cell.numVotes=r[lookup.unique_votes];cell.oldVal=r[lookup.consensus_val_old];cell.valChanged=r[lookup.consensus_val_changed]=="true"?true:false;if(autoWidth||c.width==0){if(!columnWidths[cIdx])columnWidths[cIdx]=[];if(isDataset&&cell.val)columnWidths[cIdx].push([i,cell.val.toString().length]);}}
row.push(cell);}
row.rowHash=r[0];this.rowHashes.push(row.rowHash);this.rows.push(row);}
if(isDataset&&rows.length>0&&columnWidths.length>0){for(var i=0,len=this.columns.length;i<len;i++){if(!columnWidths[i])continue;var hasValueCellSize=columnWidths[i].length;if(hasValueCellSize){var widthIndex=Math.ceil(hasValueCellSize*0.9)-1;columnWidths[i].sort(function(a,b){return a[1]>b[1]?1:-1;});this.columns[i].width=this._getWidth(columnWidths[i][widthIndex][0],i);}}}
for(var i=0,c;c=this.columns[i];i++){if(!c.width)c.width=this.minWidth;}});K.oo('method',"guessColumnWidths",function(){var columnWidths=[];for(var i=0,r;r=this.rows[i];i++){for(var cIdx=0,len=this.columns.length;cIdx<len;cIdx++){if(!columnWidths[cIdx])columnWidths[cIdx]=[];if(r[cIdx].val)columnWidths[cIdx].push([i,r[cIdx].val.toString().length]);}}
for(var i=0,c;c=this.columns[i];i++){var hasValueCellSize=columnWidths[i].length;if(hasValueCellSize){var widthIndex=Math.ceil(hasValueCellSize*0.9)-1;columnWidths[i].sort(function(a,b){return a[1]>b[1]?1:-1;});c.width=this._getWidth(columnWidths[i][widthIndex][0],i);}}});K.oo('method',"_getWidth",function(rowIdx,colIdx){var len=DISPLAY.getCharWidth(this.rows[rowIdx][colIdx].val)+this.padding;if(len<this.minWidth)len=this.minWidth;if(len>this.maxWidth)len=this.maxWidth;return len;});})(Grid0.SummaryParser,Grid0);JS2.OO.createClass("Grid0.SuggestionsParser");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(payload){this._parse(payload);});K.oo('method',"_parse",function(payload){this.list=[];for(var it30=0,p,it30__arr=payload,it30__len=it30__arr.length;(p=it30__arr[it30])||it30<it30__len;it30++){this.list.push({value:p[0],count:p[1]});}});})(Grid0.SuggestionsParser,Grid0);JS2.OO.createClass("Grid0.BallotParser");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(payload){this._parse(payload);});K.oo('method',"_parse",function(payload){var metaData=payload.shift();this.voteCount=metaData[0];this.totalWeight=metaData[1];var list=[];for(var it31=0,p,it31__arr=payload,it31__len=it31__arr.length;(p=it31__arr[it31])||it31<it31__len;it31++){list.push(p);}
this.list=list;});})(Grid0.BallotParser,Grid0);JS2.OO.createClass("Grid0.VotesParser");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(payload){this.votes=[];this._parse(payload);});K.oo('method',"_parse",function(payload){this.voteCount=payload.shift();var payloadVotes=payload;for(var it32=0,vote,it32__arr=payloadVotes,it32__len=it32__arr.length;(vote=it32__arr[it32])||it32<it32__len;it32++){this.votes.push(new Grid0.VoteParser(vote));}});})(Grid0.VotesParser,Grid0);JS2.OO.createClass("Grid0.VoteParser");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(payload){this._parse(payload);});K.oo('method',"_parse",function(payload){if(!payload||payload.length==0)return;this.weight=payload[1];this.voterName=payload[12];this.value=payload[2];this.rawValue=payload[3];this.comment=payload[9];this.source=payload[5];this.sourceDataset=payload[6];this.voterId=payload[0];this.counted=payload[11];this.submitted=payload[7];});})(Grid0.VoteParser,Grid0);JS2.OO.createClass("Grid0.Actions");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"raw",function(){return this.actions;});K.oo('method',"pageSize",function(){return this.actions.limit||200;});K.oo('method',"pageNumber",function(){return this.actions.page||1;});K.oo('method',"isSimple",function(){return this.actions.collection.length==1;});K.oo('method',"sort",function(type,modifier,colIdx){var col=this.schema.column(colIdx);var field=col.field;var sort={};sort.fieldId=field.id;sort.offset=field.offset;sort.asc=type=='asc';sort.attribute=modifier=='consensus-value'?'consensus-val':modifier;this.actions.rowSorts.unshift(sort);if(this.actions.rowSorts.length>1&&this.actions.rowSorts[0].fieldId==this.actions.rowSorts[1].fieldId){this.actions.rowSorts.splice(1,1);}
this.actions.rowSorts=this.actions.rowSorts.slice(0,2);});K.oo('method',"sortedFieldNames",function(){var fieldNames=[];for(var it4=0,sort,it4__arr=this.actions.rowSorts,it4__len=it4__arr.length;(sort=it4__arr[it4])||it4<it4__len;it4++){var f=this.schema.getFieldInfo(sort.fieldId);fieldNames.push(f.name);}
return fieldNames.slice(0,2);});K.oo('method',"primarySortField",function(){return this.actions.rowSorts[0];});K.oo('method',"clearAllFilters",function(){this.actions.rowFilters=[];this.actions.voteFilters=[];this.actions.search.queries=[];this.actions.geoFunction=[];this.actions.page=1;this.dim.resetRowOffset();this.data.loadData();});K.oo('method',"setFilters",function(rowFilters,voteFilters,options){this.setRowFilters(rowFilters);this.setVoteFilters(voteFilters);this.actions.page=1;this.dim.resetRowOffset();this.data.loadData(options);});K.oo('method',"setSearchQueries",function(queries){this.actions.search.queries=queries;this.actions.page=1;this.dim.resetRowOffset();this.data.loadData();});K.oo('method',"verifyGeoFunction",function(){if(this.actions.geoFunction&&this.actions.geoFunction.latFieldId&&this.actions.geoFunction.lngFieldId){return true;}else{return false;}});K.oo('method',"initGeoFunction",function(lat,lng){this.actions.geoFunction={_rclass:"Qlisp::Action::GeoFunction",latFieldId:lat,lngFieldId:lng,geoSort:null,geoFilters:[]};});K.oo('method',"disableGeoFunction",function(){this.actions.geoFunction=null;});K.oo('method',"setGeoFunction",function(geoFunction){this.actions.geoFunction=geoFunction;this.actions.page=1;this.dim.resetRowOffset();this.data.loadData();});K.oo('method',"isGeoUseField",function(id){return this.actions.geoFunction&&(this.actions.geoFunction.latFieldId==id||this.actions.geoFunction.lngFieldId==id);});K.oo('method',"getPoiFilterHash",function(){return this.actions.poiFilterHash||{};});K.oo('method',"setPoiFilterHash",function(hash){this.actions.poiFilterHash=hash;this.data.loadData();});K.oo('method',"getPoiFilter",function(){return this.actions.poiFilter;});K.oo('method',"setPoiFilter",function(apply){this.actions.poiFilter=!!apply;});K.oo('method',"isPoiFilterHashReady",function(){var ready=false;for(key in this.actions.poiFilterHash){ready=true;break;}
return ready;});K.oo('method',"setActions",function(actions,summary){this.actions=actions;this.actions.jumpToRow='';this.summary=summary;this.collection=this.actions.collection;this.last=this.collection[0];});K.oo('method',"setConsensusDelta",function(useDelta){this.consensusDelta=useDelta;});K.oo('method',"usingDelta",function(){return this.consensusDelta;});K.oo('method',"paginate",function(page,limit){if(page)this.actions.page=parseInt(page);if(limit)this.actions.limit=parseInt(limit);});K.oo('method',"primaryDatasetId",function(){for(var i=this.collection.length;i>=0;i--){var action=this.collection;if(action.datasetId){return action.datasetId;}}
return 0;});K.oo('method',"getJoinFieldsInfo",function(){var infos=[];for(var i=this.collection.length-1;i>=0;i--){var action=this.collection[i];if(action._rclass.match(/Qlisp::Action::Join/)){var rightSummary=action.rightActions.collection[0];var datasetInfo={};datasetInfo.datasetId=rightSummary.datasetId;datasetInfo.joinType=action.joinType;datasetInfo.leftFieldId=action.leftFieldId;datasetInfo.rightFieldId=action.rightFieldId;for(var it5=0,fId,it5__arr=rightSummary.fieldIds,it5__len=it5__arr.length;(fId=it5__arr[it5])||it5<it5__len;it5++){if(fId==0)continue;var field={};field.datasetId=rightSummary.datasetId;field.datasetName=this.schema.dataset(field.datasetId).name;field.fieldId=fId;field.fieldName=this.schema.field(fId).name;field.rightFieldId=action.rightFieldId;var info={};info.field=field;info.datasetInfo=datasetInfo;infos.push(info);}}}
return infos;});K.oo('method',"join",function(joinOn,fields,datasetsHash){for(var it6=0,f,it6__arr=fields,it6__len=it6__arr.length;(f=it6__arr[it6])||it6<it6__len;it6++){datasetInfo=datasetsHash[f.datasetId];if(datasetInfo.fieldIds==null)datasetInfo.fieldIds=[];datasetInfo.fieldIds.push(f.qfieldId);}
var joins=[];for(var datasetId in datasetsHash){var datasetInfo=datasetsHash[datasetId];var join={right_dataset_id:datasetId,join_type:datasetInfo.joinType,field_ids:datasetInfo.fieldIds};join.right_field_id=datasetInfo.rightFieldId;join.left_field_id=datasetInfo.leftFieldId;joins.push(join);}
return joins;});K.oo('method',"isPkFkJoin",function(){for(var i=this.collection.length-1;i>=0;i--){var action=this.collection[i];if(action._rclass.match(/Qlisp::Action::Join/)){var leftPrimary=false;var rightPrimary=false;if(action.leftFieldId===null){leftPrimary=true;}
if(action.rightFieldId===null){rightPrimary=true;}
return!(leftPrimary&&rightPrimary);}}
return false});K.oo('method',"topAction",function(){return this.collection[this.collection.length-1];});K.oo('method',"containsJoin",function(){for(var it7=0,action,it7__arr=this.collection,it7__len=it7__arr.length;(action=it7__arr[it7])||it7<it7__len;it7++){if(action._rclass.match(/Qlisp::Action::Join/))return true;}
return false;});K.oo('method',"isTempJoin",function(){return(this.topAction()._rclass.match(/Qlisp::Action::Join/));});K.oo('method',"isTempMerge",function(){return(this.topAction()._rclass.match(/Qlisp::Action::Merge/));});K.oo('method',"isChainedJoin",function(){return(this.collection.length>2);});K.oo('method',"getGarbageState",function(){return!!this.actions.includeGarbage;});K.oo('method',"garbage",function(state){this.actions.includeGarbage=state;});K.oo('method',"getJoinFieldIds",function(){if(!this.isPkFkJoin())return[];});K.oo('method',"pagination",function(){if(this.summary['row-count-dbcache']!=null)this.summary['row-count-limited']=this.summary['row-count-dbcache'];if(this.summary['row-count-limited']==null)this.summary['row-count-limited']=this.summary['row-count-total'];var rowCount=this.summary['row-count-limited'];var total=(rowCount<0)?-1:Math.ceil(rowCount/this.actions.limit);total=(total==0)?1:total;return{limit:this.pageSize(),page:this.getRowOffset()>=0?this.summary['page-offset']+1:this.pageNumber(),totalPages:total,totalRows:rowCount};});K.oo('method',"getRowOffset",function(){return this.summary['row-offset'];});K.oo('method',"isLimited",function(){if(!this.summary['row-count-limited'])return false;return this.summary['row-count-limited']==this.summary['row-count-total'];});K.oo('method',"primaryDatasetId",function(){for(var i=(this.collection.length-1);i>=0;i--){var action=this.collection[i];if(action.datasetId){return action.datasetId;}}});K.oo('method',"changeVotePresentMode",function(m){this.consensusDelta=false;this.actions.votePresentation=m;});K.oo('method',"votePresentMode",function(){return this.actions.votePresentation;});K.oo('method',"setRevision",function(d){this.actions.revision=d;});K.oo('method',"setRowFilters",function(filters){this.actions.rowFilters=filters;});K.oo('method',"setVoteFilters",function(filters){this.actions.voteFilters=filters;});K.oo('method',"rowFilters",function(){return this.actions.rowFilters;});K.oo('method',"voteFilters",function(){return this.actions.voteFilters;});K.oo('method',"exclusions",function(){return this.actions.exclusions;});K.oo('method',"searchQueries",function(){return this.actions.search.queries;});K.oo('method',"geoFunction",function(){return this.actions.geoFunction;});K.oo('method',"setTableVoteFilters",function(filters){this.actions.voteFilters=filters;});K.oo('method',"nRowFilters",function(){return this.rowFilters().length;});K.oo('method',"nVoteFilters",function(){return this.voteFilters().length;});K.oo('method',"nFilters",function(){return this.nRowFilters()+this.nVoteFilters();});K.oo('method',"getReference",function(){return this.actions.reference;});K.oo('method',"setReference",function(reference){this.actions.reference=reference;if(this.data.bigData){this.data.getTinyUrl((function(self){return function(){self.data.loadData();}})(this));}else{this.data.loadData();}});K.oo('method',"hasFilterOnField",function(id){for(var it8=0,f,it8__arr=this.actions.rowFilters,it8__len=it8__arr.length;(f=it8__arr[it8])||it8<it8__len;it8++){if(f.fieldId==id)return true}
for(var it9=0,f,it9__arr=this.actions.voteFilters,it9__len=it9__arr.length;(f=it9__arr[it9])||it9<it9__len;it9++){if(f.fieldId==id)return true}
return false;});K.oo('method',"clearAllFiltersOnField",function(id){var rowFilters=[],voteFilters=[];for(var it10=0,f,it10__arr=this.actions.rowFilters,it10__len=it10__arr.length;(f=it10__arr[it10])||it10<it10__len;it10++){if(f.fieldId!=id)rowFilters.push(f);}
for(var it11=0,f,it11__arr=this.actions.voteFilters,it11__len=it11__arr.length;(f=it11__arr[it11])||it11<it11__len;it11++){if(f.fieldId!=id)voteFilters.push(f);}
this.actions.rowFilters=rowFilters;this.actions.voteFilters=voteFilters;});})(Grid0.Actions,Grid0);JS2.OO.createClass("Grid0.Dimension");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"data");K.oo('member','explorerOffsetLeft',100);K.oo('method',"initialize",function(options){this.virtual={};this.visual={};this.actual={};this.main={};this.orig={};this.orig.width=options.width?options.width:900;this.orig.height=options.height?options.height:300;this.hScrollOffset=0;this.hExtendScrollOffset=0;this.rowOffset=0;this.minRowsNum=2;this.headerHeight=19;this.rowHeight=24;this.extendWidth=0;this.columnMinWidth=10;this.mainLeftWidth=0;this.row={height:this.rowHeight};this.scrollBar={width:16,height:15};this.firstTime=true;this.extendWidth=0;});K.oo('method',"e_resizeWidth",function(width){if(width)this.orig.width=width;this.resize();});K.oo('method',"e_resizeHeight",function(height){this.orig.height=height;this.resize();});K.oo('method',"e_resize",function(dim){if(dim){this.orig.height=dim.height;this.orig.width=dim.width;}
this.resize();});K.oo('method',"resize",function(){if(this.firstTime){this.doResize();return;}
if(this.resizeTimeout)clearTimeout(this.resizeTimeout);this.resizeTimeout=setTimeout((function(self){return function(){self.doResize();}})(this),300);});K.oo('method',"doResize",function(){this.reset();this.notify('resizing',this);this.notify('resized',this);this.jqBodyOffset=this.jqGrid.first('.bMask').offset();this.jqBodyOffset.top=this.jqMain.offset().top+this.jqMain.first('.mainHeader').height()+this.jqGrid.first('.hMask').height();});K.oo('method',"e_vScroll",function(params){var y=params.top;this.rowOffset=Math.floor(y/this.row.height);});K.oo('method',"e_hScroll",function(params){this.hScrollOffset=0-params.left;});K.oo('method',"e_extendHScroll",function(left){this.hScrollOffset+=left;});K.oo('method',"e_showCell",function(context){if(context)this.showCell(context);});K.oo('method',"getContextFromEvent",function(e,matrix,oldCo){oldCo=oldCo||[];var pageX=e.pageX?e.pageX:e.clientX+document.documentElement.scrollLeft;var pageY=e.pageY?e.pageY:e.clientY+document.documentElement.scrollTop;return this.getContext(pageX,pageY,matrix,oldCo)});K.oo('method',"setGridOffset",function(){var uOffset=this.jqUniverse.offset();this.grid.offset={left:uOffset.left+this.main.left.width,top:uOffset.top+this.main.header.height};if(this.grid.offset.left<this.grid.left)this.grid.offset.left+=this.grid.left;});K.oo('method',"getContextFromCell",function(colIdx,rowIdx,matrix,oldCo){if(!matrix)return false;oldCo=oldCo||[];var total=this.hScrollOffset;var cols=this.schema.columns();if(colIdx==oldCo[0]&&rowIdx==oldCo[1])return false;var col=cols[colIdx];for(var i=0,c;c=cols[i];i++){if(c.hidden)continue;total+=c.width;if(i>colIdx)break;}
var colEle=matrix[colIdx];if(!colEle)return false;var ele=colEle[rowIdx];if(!ele)return false;var context={};context.colIdx=colIdx;context.rowIdx=rowIdx;context.absRowIdx=this.absRowIdx(rowIdx);var offset=$(ele).offset();context.pageX=offset.left;context.pageY=offset.top;context.col=col;context.ele=ele;context.cell=context.ele;context.rowTop=this.rowHeight*rowIdx;context.cellLeft=total-col.width+1;return context;});K.oo('method',"getContext",function(pageX,pageY,matrix,oldCo){if(!matrix)return false;oldCo=oldCo||[];var total=this.hScrollOffset;var colIdx=0;var col=false;var cols=this.schema.columns();var offset=this.jqBodyOffset;var x=pageX-offset.left;var y=pageY-offset.top;var rowIdx=Math.floor(y/this.rowHeight);for(var i=0,c;c=cols[i];i++){if(c.hidden)continue;col=c;colIdx=i;total+=c.width;if(total>x)break;}
if(!col)return false;if(colIdx==oldCo[0]&&rowIdx==oldCo[1])return false;var colEle=matrix[colIdx];if(!colEle)return false;var ele=colEle[rowIdx];if(!ele)return false;var context={};context.colIdx=colIdx;context.rowIdx=rowIdx;context.absRowIdx=this.absRowIdx(rowIdx);context.pageX=pageX;context.pageY=pageY;context.col=col;context.ele=ele;context.cell=context.ele;context.rowTop=this.rowHeight*rowIdx;context.cellLeft=total-col.width+1;return context;});K.oo('method',"changeContext",function(oldContext,matrix,direction){if(!matrix)return false;var total=this.hScrollOffset;var cols=this.schema.columns();var colIdx=oldContext.colIdx+direction.x;for(var i=colIdx,col;col=cols[i];){if(col.hidden){i+=direction.x;continue;}
colIdx=i;break;}
var rowIdx=oldContext.rowIdx+direction.y;var col=cols[colIdx];var colEle=matrix[colIdx];if(!colEle)return false;var ele=colEle[rowIdx];if(!ele)return false;var context={};context.colIdx=colIdx;context.rowIdx=rowIdx;context.absRowIdx=this.absRowIdx(rowIdx);context.col=col;context.ele=ele;context.cell=context.ele;context.rowTop=this.rowHeight*rowIdx-1;for(var i=0,c;c=cols[i];i++){if(c.hidden)continue;if(i>=context.colIdx)break;total+=c.width;}
context.cellLeft=total+1;return context;});K.oo('method',"reset",function(){if(this.firstTime){this.main={};this.main.jqHeader=this.jqMain.first('.mainHeader');this.main.jqFooter=this.jqMain.first('.mainFooter');this.main.jqLeft=this.jqMain.first('.mainLeft');this.main.jqRight=this.jqMain.first('.mainRight');this.firstTime=false;}
this.main.header={height:this.main.jqHeader.height()};this.main.footer={height:this.main.jqFooter.height()};this.main.left={left:0,width:this.mainLeftWidth};this.main.right={width:0};this.setPageOffset();var mainHeightDiff=this.main.header.height+this.main.footer.height;var bodyHeight=this.orig.height-mainHeightDiff-this.scrollBar.height-this.headerHeight;var minBodyHeight=this.minRowsNum*this.rowHeight;if(bodyHeight<minBodyHeight){this.orig.height=mainHeightDiff+this.scrollBar.height+this.headerHeight+minBodyHeight;bodyHeight=minBodyHeight;}
var nRowsFromView=Math.ceil(bodyHeight/this.rowHeight);this.virtual.nRows=nRowsFromView;this.visual.nRows=Math.min(nRowsFromView,this.data.nRows());this.height=(this.virtual.nRows*this.rowHeight)+mainHeightDiff+this.scrollBar.height+this.headerHeight;this.width=this.orig.width-2;var gridWidth=this.width-this.main.left.width-this.main.right.width;this.grid={left:0,height:this.height-mainHeightDiff,width:gridWidth};this.setGridOffset();this.main.left.height=this.grid.height;this.header={top:0,left:0,width:this.grid.width,height:this.headerHeight};this.scroller={top:this.header.top+this.header.height,left:0,width:gridWidth,height:this.grid.height-this.header.height};this.body={top:this.header.top+this.header.height,left:0,height:this.scroller.height-this.scrollBar.height,width:this.scroller.width-this.scrollBar.width}
this.resetVirtualDim();this.filler={top:0,left:0,height:this.virtual.height,width:this.virtual.width};this.widget={top:0,left:0,height:this.height,width:this.width};this.resizerLine={top:this.header.top,height:this.grid.height-this.scrollBar.height};this.mainContainer={left:0,top:0};this.filter={};this.filter.layer={left:0,top:0,width:this.width,height:this.height};this.filter.menu={top:0,left:0,width:this.filter.layer.width,height:this.main.header.height};this.filter.footer={top:this.height-this.main.footer.height,left:0,width:this.filter.layer.width,height:this.main.footer.height};this.filter.baffle={top:this.filter.menu.height,left:0,width:this.main.left.width,height:this.scroller.height+this.header.height};this.filter.tray={top:this.filter.menu.height+this.header.height,left:this.main.left.width,height:this.scroller.height,width:this.scroller.width};this.filter.voteFilterTray={height:this.rowHeight,width:this.filter.tray.width};this.filter.rowFilterTray={height:this.filter.tray.height-this.filter.voteFilterTray.height,width:this.filter.tray.width};this.filter.rowFilterHeader={top:this.filter.voteFilterTray.height-2,left:0,height:this.rowHeight,width:this.filter.tray.width};this.filter.rowFilterScroller={top:this.filter.voteFilterTray.height+this.filter.rowFilterHeader.height,left:0,height:this.filter.rowFilterTray.height-this.rowHeight,width:this.scroller.width};});K.oo('method',"getRowFilterDialogPosition",function(colIdx,jqDialog,offsets){offsets=offsets||{vert:0,horz:0};var t=this.filter.tray.top+this.filter.voteFilterTray.height+this.filter.rowFilterHeader.height+this.rowHeight;var w=jqDialog.width();var l=this.dim.leftOfColumn(colIdx)+this.dim.hScrollOffset+this.schema.columns()[colIdx].width/2-w/2;l=Math.max(this.main.left.width,l);l=Math.min(this.body.width+this.main.left.width-w,l);return{top:t+offsets.vert,left:l+offsets.horz};});K.oo('method',"getVoteFilterDialogPosition",function(jqDialog){return{left:(this.body.width-jqDialog.width())/2+this.grid.left,top:this.filter.tray.top+this.filter.voteFilterTray.height-2};});K.oo('method',"isCellVisible",function(context,lPadding){var rowIdx=context.absRowIdx;if(rowIdx<this.rowOffset||rowIdx>=this.rowOffset+this.visual.nRows)return false;var left=-this.hScrollOffset;var right=left+this.body.width;var cols=this.schema.columns();var colIdx=context.colIdx;var h=0;for(var i=0;i<=colIdx;i++){var col=cols[i];if(col.hidden)continue;h+=col.width;}
h-=lPadding;if(h<left||h>right)return false;return true;});K.oo('method',"isCellLeftHidden",function(context){var rowIdx=context.absRowIdx;if(rowIdx<this.rowOffset||rowIdx>=this.rowOffset+this.visual.nRows)return true;var left=this.hScrollOffset;var colIdx=context.colIdx;var cols=this.schema.columns();var h=0;for(var i=0;i<colIdx;i++){var col=cols[i];if(col.hidden)continue;h+=col.width;}
left+=h;if(left<0||left>this.body.width-this.scrollBar.width)return true;return false;});K.oo('method',"getCellPosition",function(context){var top=(context.absRowIdx-this.rowOffset)*this.rowHeight;var left=0;var cols=this.schema.columns();var colIdx=context.colIdx;for(var i=0;i<colIdx;i++){var col=cols[i];if(col.hidden)continue;left+=col.width;}
left+=this.hScrollOffset;return{top:top,left:left};});K.oo('method',"getCellAbsolutePosition",function(context){var top=context.absRowIdx*this.rowHeight;var left=0;var cols=this.schema.columns();var colIdx=context.colIdx;for(var i=0;i<colIdx;i++){var col=cols[i];if(col.hidden)continue;left+=col.width;}
return{top:top,left:left};});K.oo('method',"getFirstRunTipPosition",function(){var rowCount=this.actions.summary['row-count-total'];if(rowCount==0)return false;var firstFactColIdx=-1;var left=0;var columns=this.schema.columns();for(var i=0,c;c=columns[i];i++){if(!c.hidden){if(!c.isPrimary){firstFactColIdx=i;break;}
left+=c.width;}}
if(firstFactColIdx==-1)return false;var top=this.main.header.height+this.header.height;return{top:top,left:left};});K.oo('method',"absRowIdx",function(rowIdx){return this.rowOffset+parseInt(rowIdx);});K.oo('method',"rowIdx",function(absRowIdx){return absRowIdx-this.rowOffset;});K.oo('method',"setPageOffset",function(){this.pageOffset=this.jqMain.offset();});K.oo('method',"resetVirtualDim",function(){var cols=this.schema.columns();this.virtual.width=0;var total=0
for(var it2=0,c,it2__arr=cols,it2__len=it2__arr.length;(c=it2__arr[it2])||it2<it2__len;it2++){if(!c.hidden)total+=c.width;}
this.virtual.width=total+this.extendWidth;this.virtual.height=this.data.nRows()*this.row.height;});K.oo('method',"showCell",function(context){var left=context.cellLeft;var width=context.col.width;var gridWidth=this.dim.body.width+1;if(left<0){this.hScrollOffset-=left;this.notify('factInputHScroll',0-this.hScrollOffset);}else if((left+width)>gridWidth){var l=context.cellLeft;if(width<gridWidth){l=0-this.hScrollOffset+left+width-gridWidth;}
this.hScrollOffset=0-l;this.notify('factInputHScroll',l);}});K.oo('method',"getScrollTopOffset",function(){var nRows=this.data.nRows();if(this.rowOffset+this.virtual.nRows>nRows)this.rowOffset=nRows-this.virtual.nRows;if(this.rowOffset<0)this.rowOffset=0;return this.rowOffset*this.rowHeight;});K.oo('method',"resetRowOffset",function(){this.rowOffset=0;});K.oo('method',"leftOfColumn",function(colIdx){var cols=this.schema.columns();var left=this.grid.left;for(var i=0;i<colIdx;i++){var c=cols[i];if(!c)break;if(c.hidden)continue;left+=c.width;}
return left;});K.oo('method',"topOfRow",function(rowIdx){var top=this.grid.offset.top+this.headerHeight;top+=rowIdx*this.rowHeight;return top;});K.oo('method',"getPageWidth",function(){var ele=$('#page-width');var paddingLeft=parseInt(ele.css("paddingLeft").match(/\d*/));var paddingRight=parseInt(ele.css("paddingLeft").match(/\d*/));var width=ele.innerWidth()-(paddingLeft+paddingRight);return width;});K.oo('method',"getPageHeight",function(){var eles=['#page-header'];var occupiedHeight=0;for(var it3=0,ele,it3__arr=eles,it3__len=it3__arr.length;(ele=it3__arr[it3])||it3<it3__len;it3++){occupiedHeight+=$(ele).height();}
occupiedHeight+=36;occupiedHeight+=80;return $(window).height()-occupiedHeight;});})(Grid0.Dimension,Grid0);JS2.OO.createClass("Grid0.Sorter");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','columnMenu header');K.oo('method',"e_initHTML",function(){var listHtml=this.htmlCache.listItem();var secondMenuHtml=this.htmlCache.menu();this.columnMenu.addItem('basic:','title');this.jqMenu=this.columnMenu.addItem(listHtml,'sortByItem',{secondaryMenu:secondMenuHtml});this.jqSecondaryMenuContainer=this.jqMenu.first('.dialogShadow');this.jqSecondaryMenu=this.jqSecondaryMenuContainer.first('ul');this.jqItems=this.jqSecondaryMenu.find('>li');this.registerEvents();});K.oo('method',"registerEvents",function(){var self=this;this.jqMenu.hover(function(){self.showSecondaryMenu();},function(){self.hideSecondaryMenu();});this.jqItems.click(function(){self.sort(this);});});K.oo('method',"showSecondaryMenu",function(){this.jqSecondaryMenuContainer.show();});K.oo('method',"hideSecondaryMenu",function(){this.jqSecondaryMenuContainer.hide();});K.oo('method',"e_showColumnMenu",function(){var context=this.header.contexts.click;var col=context.col;var dtName=col.datatype;var datatype=sci.constants.datatypes[dtName];var smin=datatype.sortDescMin;var smax=datatype.sortDescMax;(function(self,min,max){return function(){self.jqItems.find('span.sortDescMin').html(min);self.jqItems.find('span.sortDescMax').html(max);};})(this,smin,smax)();if(col.isPrimary){this.jqSecondaryMenu.find('li.unique-votes').hide();this.jqSecondaryMenu.find('li.strength').hide();}else{this.jqSecondaryMenu.find('li.unique-votes').show();this.jqSecondaryMenu.find('li.strength').show();}
this.highlightSelect();});K.oo('method',"sort",function(e){var jq=$(e);var colIdx=this.header.contexts.click.colIdx;this.notify(jq.attr('sort'),{modifier:jq.attr('modifier'),colIdx:colIdx});this.notify('viewModified');});K.oo('method',"highlightSelect",function(){var primarySortField=this.actions.primarySortField();this.jqItems.removeClass('checked');if(!primarySortField){var cols=this.schema.columns();var pkColId=cols[0].field.id;var colId=this.header.contexts.click.col.id;if(pkColId==colId){var queryString='.consensus-val.ascending';var checkedItem=this.jqSecondaryMenu.find(queryString);checkedItem.addClass('checked')}}else{var sortFieldId=primarySortField.fieldId;var sortName=primarySortField.attribute;var sortType=primarySortField.asc?'ascending':'descending';var colId=this.header.contexts.click.col.id;if(sortFieldId==colId){var queryString='.'+sortName+'.'+sortType;var checkedItem=this.jqSecondaryMenu.find(queryString);checkedItem.addClass('checked')}}});})(Grid0.Sorter,Grid0);Grid0.Sorter.oo('setHTMLCache',{"menu":function(){return"<div class='dialogShadow'><div class='content'><ul class='sortByList'><li class='consensus-val ascending' modifier='consensus-val' sort='sortAscending'><strong>Displayed value&nbsp;<\/strong>(<span class='sortDescMin'>A<\/span> -> <span class='sortDescMax'>Z<\/span>)<\/li><li class='consensus-val descending' modifier='consensus-val' sort='sortDescending'><strong>Displayed value&nbsp;<\/strong>(<span class='sortDescMax'>Z<\/span> -> <span class='sortDescMin'>A<\/span>)<\/li><li class='unique-votes descending' modifier='unique-votes' sort='sortDescending'><strong>Counted inputs&nbsp;<\/strong>(most -> least)<\/li><li class='unique-votes ascending' modifier='unique-votes' sort='sortAscending'><strong>Counted inputs&nbsp;<\/strong>(least -> most)<\/li><li class='strength ascending' modifier='strength' sort='sortAscending'><strong>Debated&nbsp;<\/strong>(most -> least)<\/li><li class='strength descending' modifier='strength' sort='sortDescending'><strong>Debated&nbsp;<\/strong>(least -> most)<\/li><\/ul><\/div><\/div>"},"listItem":function(){return"Sort by:<span class='rightArrow'><\/span>"}});JS2.OO.createClass("Grid0.ScrollerController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();var self=this;var scrollFunc=function(evt){self.scroll(evt);return false;};sci.domEvent.add(this.view.jq,'scroll',scrollFunc,true);this.sTop=0;this.sLeft=0;this.wheelRows=3;});K.oo('method',"e_dataLoaded",function(firstTime){this.view.jq[0].scrollTop=this.dim.getScrollTopOffset();});K.oo('method',"e_gotoRow",function(absRowIdx){this.dim.rowOffset=absRowIdx;this.view.jq[0].scrollTop=this.dim.getScrollTopOffset();});K.oo('method',"e_resizing",function(){this.view.setDimensions();});K.oo('method',"e_filterHScroll",function(sLeft){this.hScroll(sLeft);});K.oo('method',"e_factInputHScroll",function(sLeft){this.hScroll(sLeft);});K.oo('method',"e_columnNavigatorHScroll",function(sLeft){this.hScroll(sLeft);});K.oo('method',"e_deltaScroll",function(delta){if(delta.left)this.view.jq[0].scrollLeft+=delta.left;if(delta.top)this.view.jq[0].scrollTop+=delta.top;this.scroll();});K.oo('method',"hScroll",function(sLeft){this.view.jq[0].scrollLeft=sLeft;});K.oo('method',"e_reloadScroll",function(){this.scroll();});K.oo('method',"scroll",function(evt){var sTop=this.view.jq[0].scrollTop;var sLeft=this.view.jq[0].scrollLeft;if(this.sTop!=sTop){this.sTop=sTop;this.notify('beforeScroll','vScroll');this.notify('vScroll',{top:sTop});}else if(this.sLeft!=sLeft){this.sLeft=sLeft;this.notify('hScroll',{left:sLeft});}});K.oo('method',"e_extendHScroll",function(left){this.view.jq[0].scrollLeft+=left;this.hExtendScrollOffset=left;});K.oo('method',"e_cancelExtendHScroll",function(){if(this.hExtendScrollOffset)this.view.jq[0].scrollLeft-=this.hExtendScrollOffset;this.hExtendScrollOffset=0;});K.oo('method',"vScroll",function(moved){var y=this.view.jq[0].scrollTop;var delta=this.wheelRows*this.dim.row.height;if(moved<0){y+=delta}else{y-=delta}
if(y<0){this.view.jq[0].scrollTop=0;}else{var h=this.view.jqFiller.height();this.view.jq[0].scrollTop=y>h?h:y;}});K.oo('method',"vScrollByDiff",function(diff){var y=this.view.jq[0].scrollTop;var rowHeight=this.dim.row.height;y+=diff;if(y<0){this.view.jq[0].scrollTop=0;}else{var h=this.view.jq[0].scrollHeight;this.view.jq[0].scrollTop=y>h?h:y;}});K.oo('method',"e_resizeScroller",function(w,h){this.view.jqFiller.css({width:Math.max(w,this.dim.filler.width),height:Math.max(h,this.dim.filler.height)});this.scroll();});})(Grid0.ScrollerController,Grid0);JS2.OO.createClass("Grid0.ScrollerView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"bodyView");K.oo('method',"initHTML",function(){this.jq=this.jqGrid.find('>.scroller');this.jqFiller=this.jq.find('>.filler');});K.oo('method',"setDimensions",function(){if(!this.jq)return;this.jq.css(this.dim.scroller);this.jqFiller.css(this.dim.filler);if($.browser.msie&&this.jq[0].scrollLeft>0)this.jq[0].scrollLeft-=1;});})(Grid0.ScrollerView,Grid0);JS2.OO.createClass("Grid0.Resizer");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"headerController");K.oo('method',"e_initCols",function(){this.initHTML();});K.oo('method',"e_resizing",function(){this.setResizeLineHeight();});K.oo('method',"initHTML",function(){this.jqResizers=this.headerController.jqResizers();this.jqResizerLine=this.jqGrid.find('>.resizerLine');this.jqContent=this.headerController.jqContent();this.mouseDowned=false;this.colParams=false;this.jqResizers.mousedown((function(self){return function(e){$(this).disableSelection()
self.colParams=self.util.getColumnParams(e.target.parentNode.parentNode);self.mouseDowned=true;self.mouseDown(e);}})(this));this.headerController.view.jq.mousemove((function(self){return function(e){if(self.mouseDowned){self.mouseMove(e);}}})(this));$(document).mouseup((function(self){return function(e){if(self.mouseDowned){self.jqResizers.enableSelection();self.mouseDowned=false;self.mouseUp(e);}}})(this));});K.oo('method',"setResizeLineHeight",function(){if(this.jqResizerLine&&this.jqResizerLine[0])this.jqResizerLine.css(this.dim.resizerLine);});K.oo('method',"mouseMove",function(e){document.body.style.cursor=e.pageX-this.startPageX>=0?'e-resize':'w-resize';this.jqResizerLine[0].style.left=(e.pageX-this.dim.grid.offset.left)+'px';});K.oo('method',"mouseDown",function(e){document.body.style.cursor='e-resize';this.startPageX=e.pageX;this.dim.setPageOffset();this.jqResizerLine[0].style.left=(e.pageX-this.dim.grid.offset.left)+'px';this.jqResizerLine.show();});K.oo('method',"mouseUp",function(e){document.body.style.cursor='auto';var delta=e.pageX-this.startPageX;this.jqResizerLine.hide();var col=this.colParams.col;if(col.width+delta>this.dim.columnMinWidth){col.width+=delta;}else{col.width=this.dim.columnMinWidth;}
this.notify('resizeWidth');this.notify('viewModified');});})(Grid0.Resizer,Grid0);JS2.OO.createClass("Grid0.HeaderController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(){this.contexts={};this.contexts.click={};this.contexts.dClick={};this.contexts.hover={};this.colClicked=[];this.initialized=false;});K.oo('method',"initHTML",function(){this.view.initHTML();this.registerEvents();});K.oo('method',"e_dataLoaded",function(firstTime){this.view.adjustColumns();this.view.adjustWidths();this.view.showSorts();this.view.populateColumnContents();});K.oo('method',"e_displayMenuClicked",function(name,jq){if(name=='display > fieldRefs'){this.view.showFieldRefs=jq.is(':checked');this.view.populateColumnContents();}});K.oo('method',"registerEvents",function(){var self=this;this.view.jqColumns.dblclick(function(evt){self.dblClickHeader(this);});this.view.jqHide.click(function(evt){self.hideColumn(evt);});this.view.jqCells.hover(function(evt){self.hoverOverContent(evt);},function(evt){self.hoverOutContent(evt);});this.view.jqContent.click(function(evt){setTimeout(function(){self.clickDropDown(evt);},10);});this.view.jqShowFields.click(function(){self.notify('showFields');});});K.oo('method',"hideColumn",function(evt){this.setContext(evt);this.contexts.click.col.hidden=true;this.notify('resizeWidth');this.notify('viewModified');});K.oo('method',"clickDropDown",function(evt){this.view.highlightColumn($(evt.target).parents('.column:first'),'selected');this.setContext(evt);this.notify('showColumnMenu');this.notify('columnMenuShown');});K.oo('method',"e_columnMenuHidden",function(){this.view.highlightColumn(null,'selected');});K.oo('method',"setContext",function(evt,type){type=type||'click';var ele=$(evt.target).parents('.column:first')[0];var context=this.contexts[type];context.colIdx=parseInt(ele.getAttribute('colIdx'));context.ele=ele;context.jqEle=$(ele);context.target=evt.target;context.col=this.schema.column(context.colIdx);});K.oo('method',"hoverOverContent",function(evt){this.view.highlightColumn($(evt.target).parents('.column:first'));this.tooltipTimeout=setTimeout((function(self,evt){return function(){self.setContext(evt,'hover');self.notify('showTooltip');}})(this,evt),1500);});K.oo('method',"hoverOutContent",function(evt){clearTimeout(this.tooltipTimeout);this.view.highlightColumn();this.notify('hideTooltip');});K.oo('method',"disableDropDown",function(yes){yes?this.view.jq.addClass('disabled'):this.view.jq.removeClass('disabled');});K.oo('method',"e_initCols",function(){this.initHTML();this.initialized=true;});K.oo('method',"e_resizing",function(){if(!this.initialized)return;this.view.adjustWidths();this.view.setDimensions();});K.oo('method',"getColumnEle",function(colIdx){return this.view.getColumnEle(colIdx);});K.oo('method',"dblClickHeader",function(ele){this.view.toggleColumnWidth(parseInt(ele.getAttribute('colIdx')));});K.oo('method',"e_hScroll",function(params){this.view.hScroll(params.left);});K.oo('method',"jqResizers",function(){return this.view.jqResizers;});K.oo('method',"jqContent",function(){return this.view.jqContent;});})(Grid0.HeaderController,Grid0);JS2.OO.createClass("Grid0.HeaderView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','gridMenu');K.oo('method',"initHTML",function(){this.jqMask=this.jqGrid.find(">.hMask");this.jq=this.jqMask.find(">.header");this.jqShowFields=this.jqMask.find(">.showFields");var cols=this.schema.columns();this.buildColumns(cols);this.jqResizers=this.jqColumns.find('.resizer');this.jqContent=this.jqColumns.find('.content');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"content",this.jqContent,null);this.jqHide=this.jqColumns.find('.hide');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"hide",this.jqHide,null);});K.oo('method',"markJoinKey",function(){var colIdxs=this.schema.joinedColumnIdxs();for(var it78=0,idx,it78__arr=colIdxs,it78__len=it78__arr.length;(idx=it78__arr[it78])||it78<it78__len;it78++){var jqContent=this.jqColumns.eq(idx).find('.content');jqContent.html(DISPLAY.html(jqContent.text()));jqContent.wrapInner('<span class="joinKeyText" />');}});K.oo('method',"populateColumnContents",function(){var fieldRefs=this.schema.getDatasetInfo(this.data.dataset.id).fieldRefs;for(var i=0,col,i__arr=this.schema.columns(),i__len=i__arr.length;(col=i__arr[i])||i<i__len;i++){var colName='';if(this.showFieldRefs){colName=sci.common.htmlDisplay(fieldRefs[col.field.id]);}else{colName=sci.common.htmlDisplay(col.name);}
this.jqContent.eq(i).html(colName);}
this.markJoinKey();});K.oo('method',"setDimensions",function(){this.jqMask.css(this.dim.header);});K.oo('method',"getColumnEle",function(colIdx){return this.jqColumns[colIdx];});K.oo('method',"toggleColumnWidth",function(colIdx){var maxWidth=this.dim.body.width;var column=this.schema.column(colIdx);column.width=column.width>=maxWidth?this.defaultWidths[colIdx]:maxWidth;this.notify('resizeWidth');});K.oo('method',"buildColumns",function(cols){this.notify('buildColumns',cols);this.defaultWidths=[];var html='';for(var i=0,col;col=cols[i];i++){html+=this.columnHTML(col,i);this.defaultWidths.push(col.width);}
this.jq.html(html);this.jqColumns=this.jq.find('>.column');this.jqCells=this.jqColumns.find('>.cell');});K.oo('method',"columnHTML",function(col,idx){var pkClass='';if(col.isPrimary){pkClass='primaryColumn';if(col.datasetId!=this.data.primaryDatasetId())pkClass+=' joinedPK';}
var colName=sci.common.htmlDisplay(col.name);return this.htmlCache.column(pkClass,idx,'Votes',colName);});K.oo('method',"adjustColumns",function(){var cols=this.schema.columns();if(cols.length!=this.jqColumns.length){this.buildColumns(cols);}});K.oo('method',"showSorts",function(){var sortField=this.data.primarySortField();var cols=this.schema.columns();for(var i=0,len=cols.length;i<len;i++){var sort='noSort';if(sortField&&cols[i].field.id==sortField.fieldId){sort=sortField.asc?'sortAsc':'sortDesc';}else if(!sortField&&i==0){sort='sortAsc';}
this.jqCells[i].className='cell '+sort;}});K.oo('method',"adjustWidths",function(){var cols=this.schema.columns();var total=0;for(var i=0,c;c=cols[i];i++){var ele=this.jqColumns[i];if(c.hidden){ele.style.display='none'}else{ele.style.display='block'
ele.style.width=c.width+'px';total+=c.width;}}
this.jq.css('width',total);});K.oo('method',"hScroll",function(left){this.jq[0].style.left='-'+left+'px';});K.oo('method',"highlightColumn",function($column,type){type=type||'hover';this.jqColumns.removeClass(type);if($column)$column.addClass(type);});})(Grid0.HeaderView,Grid0);Grid0.HeaderView.oo('setHTMLCache',{"column":function(){return"<div class='"+arguments[0]+" column' colIdx='"+arguments[1]+"'><div class='cell'><div class='sortIndicator'><\/div><div class='resizer'><\/div><div class='content'>"+arguments[2]+"<\/div><div class='hide'><\/div><\/div><\/div>"}});JS2.OO.createClass("Grid0.BodyController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"scrollerController factExplorerView subjectExplorerView");K.oo('method',"initialize",function(){this.contexts={};});K.oo('method',"e_dataLoaded",function(firstTime){this.initHTML();if(firstTime){this.initCallbacks();this.bindKeyEvents();}});K.oo('method',"e_resized",function(){this.gotoRow();});K.oo('method',"gotoRow",function(){var absRowIdx=this.actions.getRowOffset();if(absRowIdx&&absRowIdx>=0){this.notify('gotoRow',absRowIdx);var context=this.dim.getContextFromCell(0,absRowIdx-this.dim.rowOffset,this.view.matrix);this.notify('highlightCell',context);}});K.oo('method',"initHTML",function(){this.view.initHTML();});K.oo('method',"bindKeyEvents",function(){var self=this;var funcKey=function(e){self.handleKeyDown(e);}
var funcMouse=function(e){self.handleClick(e);}
sci.domEvent.add(document,'keydown',funcKey,true);sci.domEvent.add(document,'click',funcMouse,true);});K.oo('method',"handleKeyDown",function(e){if(this.keyEventValid()){var key=e.keyCode;if(KEYCODE.isDirectionKey(key)){this.moveCellHighLight(key);}else if(key==KEYCODE.ENTER&&!this.isFocusOnLink()){this.notify('dblClkCell',this.contexts.click);}else if(KEYCODE.isCharacterKey(key)&&!e.ctrlKey){this.notify('showCellInput',this.contexts.click);}else if(key==KEYCODE.ESC){this.notify('highlightCell');this.notify('blurCell');}}});K.oo('method',"handleClick",function(e){if(this.keyEventValid()){var tar=e.target||e.srcElement;var skipJqEles=0;skipJqEles+=$(tar).parents('.bodyEventHandler').length;skipJqEles+=$(tar).parents('.ui-dialog').length;skipJqEles+=$(tar).parents('.cellForm').length;skipJqEles+=$(tar).parents('.cellOptions').length;skipJqEles+=$(tar).parents('.expandedCell').length;skipJqEles+=this.isGridBydyScroll(tar)?1:0;if(skipJqEles==0){this.notify('highlightCell');this.notify('blurCell');}}});K.oo('method',"isGridBydyScroll",function(target){var tar=$(target);return tar.is('div#grid.Grid0 div.universe table.mainGrid div.grid div.scroller')?true:false;});K.oo('method',"moveCellHighLight",function(key){var context=false;var maxRowIdx=this.dim.virtual.nRows-1;switch(key){case KEYCODE.LEFT:context=this.dim.changeContext(this.contexts.click,this.view.matrix,{x:-1,y:0});break;case KEYCODE.UP:context=this.dim.changeContext(this.contexts.click,this.view.matrix,{x:0,y:-1});if(this.contexts.click.rowIdx==0){this.scrollerController.vScrollByDiff(0-this.dim.rowHeight);context=this.contexts.click;context.absRowIdx-=1;context.rowIdx=0;context.cell=this.view.matrix[context.colIdx][0];}
if(context.absRowIdx<0)context=false;break;case KEYCODE.RIGHT:context=this.dim.changeContext(this.contexts.click,this.view.matrix,{x:1,y:0});break;case KEYCODE.DOWN:context=this.dim.changeContext(this.contexts.click,this.view.matrix,{x:0,y:1});if(this.contexts.click.rowIdx==maxRowIdx){this.scrollerController.vScrollByDiff(this.dim.rowHeight);context=this.contexts.click;context.absRowIdx+=1;context.rowIdx=maxRowIdx;context.cell=this.view.matrix[context.colIdx][maxRowIdx];}
if(context.absRowIdx>=this.data.nRows())context=false;break;}
if(context){this.notify('showCell',context);this.notify('highlightCell',context);this.notify('changeRow',context);}});K.oo('method',"e_vScroll",function(){this.view.populate();if(this.contexts.click){this.view.unHighLightCell(this.contexts.click);var newRowIdx=this.contexts.click.absRowIdx-this.dim.rowOffset;this.contexts.click.rowTop=newRowIdx*this.dim.rowHeight;if(newRowIdx>=0&&newRowIdx<this.dim.virtual.nRows){this.contexts.click.rowIdx=newRowIdx;this.contexts.click.cell=this.view.matrix[this.contexts.click.colIdx][newRowIdx];this.notify('highlightCell',this.contexts.click);}
this.notify('changeRow',this.contexts.click);}});K.oo('method',"e_dblClkCell",function(context){if(this.contexts.dblClick){$(this.contexts.dblClick.cell).removeClass('dblClicked');}
$(context.cell).addClass('dblClicked');this.contexts.dblClick=context;});K.oo('method',"e_highlightCell",function(context){if(this.contexts.click){this.view.unHighLightCell(this.contexts.click);}
if(context){this.view.highLightCell(context);}
this.contexts.click=context;});K.oo('method',"e_initRows",function(){if(this.data.isFirstLoad())return;this.initHTML();});K.oo('method',"e_resizing",function(){this.view.initHTML();this.view.adjustWidths();this.view.setDimensions();this.view.populate();});K.oo('method',"e_hScroll",function(params){this.view.hScroll(params.left);});K.oo('method',"e_factInputHScroll",function(sLeft){this.view.hScroll(sLeft);});K.oo('method',"e_initCols",function(){if(this.data.isFirstLoad())return;this.initHTML();});K.oo('method',"e_refreshCells",function(){this.initHTML();this.view.populate();});K.oo('method',"handleWheel",function(delta,e){var target=e.target||e.srcElement;if(this.view.inBody(target)){this.scrollerController.vScroll(delta);return true;}
return false;});K.oo('method',"e_rowRefreshed",function(absRowIdx){var rowIdx=this.dim.rowIdx(absRowIdx);if(this.view.matrix[0][rowIdx]){this.view.populateRow(rowIdx);}});K.oo('method',"e_cellRefreshed",function(absRowIdx,colIdx){var rowIdx=this.dim.rowIdx(absRowIdx);if(this.view.matrix[0][rowIdx]){var col=this.schema.columns()[colIdx];var cell=this.view.matrix[colIdx][rowIdx];var data=this.data.getCell(colIdx,absRowIdx);this.view.populateCell(col,cell,data);}});K.oo('method',"keyEventValid",function(){if(!this.contexts.click)return false;if(this.jqGridLoading.css('display')!='none')return false;if(this.isFocusOnFormElement())return false;if(this.isLoginMaskShown())return false;return true;});K.oo('method',"isLoginMaskShown",function(){return this.auth.isShown();});K.oo('method',"isFocusOnFormElement",function(){var jqActiveElement=$(document.activeElement);if(!jqActiveElement.is(':visible'))return false;if(jqActiveElement.is('#clipboardTextarea'))return false;if(jqActiveElement.is('input[type=text]')||jqActiveElement.is('textarea')||jqActiveElement.is('select')){return true;}else{return false;}});K.oo('method',"isFocusOnLink",function(){var jqActiveElement=$(document.activeElement);if(jqActiveElement.is('a')){return true;}else{return false;}});K.oo('method',"isCellOverflow",function(colIdx,absRowIdx,datatype){if(this.data.column(colIdx).width<=this.dim.columnMinWidth){return true;}
var rowIdx=this.dim.rowIdx(absRowIdx);var domCell=this.view.matrix[colIdx][rowIdx];var jqData=$(domCell).first('.data');var extWidth=0;if(datatype=='Integer'||datatype=='Double'){extWidth=10;}
return(jqData.width()+extWidth<jqData[0].scrollWidth)||(jqData.height()>23);});K.oo('method',"initCallbacks",function(){sci.inputHandler.wheel(this);});})(Grid0.BodyController,Grid0);JS2.OO.createClass("Grid0.BodyView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"data");K.oo('method',"initialize",function(){});K.oo('method',"initHTML",function(){this.jqMask=this.jqGrid.find('>.bMask');this.jq=this.jqMask.find('>.body');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"body",this.jq,null);this.hOffset=0;var html=[];this.matrix=[];var rows=this.dim.visual.nRows;var cols=this.schema.columns();for(var i=0,c;c=cols[i];i++){var cells=[];for(var j=0;j<rows;j++){cells.push(this.htmlCache.cell());}
var primaryCol=c.isPrimary?'primaryCol':''
html.push(this.htmlCache.column(primaryCol,cells.join('')));}
this.jq[0].innerHTML=html.join('');this.jqMain.attr('factoryId',this.main.factoryId);this.jqCols=this.jq.find('>.column');for(var i=0,ele;ele=this.jqCols[i];i++){var col=cols[i];var jqElem=$(ele);jqElem.addClass(col.datatype);this.matrix[i]=jqElem.find('.cell');for(var j=0,cell;cell=this.matrix[i][j];j++){cell.setAttribute('rowIdx',j);cell.setAttribute('colIdx',i);}}
this.adjustWidths();this.jqDatasetPane=this.jq.parents('.dataset');});K.oo('method',"populate",function(){if(!this.matrix[0])return;this.calculateViewableCols();this.votePresent=this.actions.votePresentMode();var nRows=this.matrix[0].length;for(var i=0;i<nRows;i++){this.populateRow(i);}});K.oo('method',"calculateViewableCols",function(){var cols=this.schema.columns();this.viewableColumnIdxs=[];var onGoingWidth=0;var viewableStart=this.hOffset||0;var viewableEnd=viewableStart+this.dim.body.width;for(var i=0,col,i__arr=cols,i__len=i__arr.length;(col=i__arr[i])||i<i__len;i++){this.viewableColumnIdxs.push(i);}});K.oo('method',"populateCell",function(col,cell,data){cell.childNodes[0].innerHTML=this.presentVote(col,data);});K.oo('method',"setConsensus",function(cell,data){var consensusNum=(!data.numVotes||data.numVotes<2)?0:data.consensus;if(consensusNum<0.7&&consensusNum>0){if(!cell.className.match(/contentious/))cell.className+=' contentious';}else{cell.className=cell.className.replace(' contentious','');}});K.oo('method',"populatePkCell",function(col,cell,data,absRowIdx){cell.childNodes[0].innerHTML=this.presentVote(col,data);if(this.data.includeGarbage()){this.markGarbage(col,cell,absRowIdx);}});K.oo('method',"presentVote",function(col,data){var html='';var datatype=sci.constants.datatypes[col.datatype];if(col.aggregation=="top-values"&&(data.valList instanceof Array)){var noNumericComma=this.schema.isNumericCol(col)?true:false;return $.map(data.valList,function(v){var value=v["matches_user_vote"]?"<strong>"+sci.common.getDisplay(datatype,v.val,col.displayMethod)+"</strong>":sci.common.getDisplay(datatype,v.val,col.displayMethod);return noNumericComma?value.toString().replace(/,/g,''):value;}).join(', ');}
var uv=data.userVal==null?'':data.userVal===''?'<em>[blank]</em>':sci.common.getDisplay(datatype,data.userVal,col.displayMethod);var cv=data.val==null?'':data.val===''?'<em>[blank]</em>':sci.common.getDisplay(datatype,data.val,col.displayMethod);if(this.data.isShowingDelta()){var cvo=(data.oldVal||data.oldVal===0)?sci.common.getDisplay(datatype,data.oldVal,col.displayMethod):''
return data.valChanged?cv+' ('+cvo+')':cv;}
if(this.votePresent=='uvo'){html=this.data.noUserAction(data.userAction)?cv:'<strong>'+uv+'</strong>';}else if(this.votePresent=='cvo'){html=cv;}else if(this.votePresent=='uvf'){html=(this.data.hasUserValue(uv)&&data.userVal!==data.val)?'<strong>'+uv+'</strong>'+(cv?' ('+cv+')':''):uv?'<strong>'+uv+'</strong>':cv;}else{html=(this.data.hasUserValue(uv)&&data.userVal!==data.val)?cv+'<strong> ('+uv+') </strong>':((this.data.hasUserValue(uv)&&data.userVal===data.val)?'<strong>'+uv+'</strong>':cv);}
return html;});K.oo('method',"markGarbage",function(col,cell,absRowIdx){if(col.field.offset>0)return;var pkCell=this.data.rows()[absRowIdx][0];var isDisagreeRow=(pkCell.userAction==-1);var isLowStrenghRow=(pkCell.consensus<0.3);var isGarbageRow=(isDisagreeRow||isLowStrenghRow);if(isGarbageRow){if(!cell.className.match(/garbageIcon/))
cell.className=cell.className+' garbageIcon';}else{cell.className=cell.className.replace(/\s*garbageIcon/,'');}});K.oo('method',"activateSubColumn",function(colIdx){var cells=this.matrix[colIdx];for(var i=0,cell;cell=cells[i];i++){cell.childNodes[2].style.display='block';}});K.oo('method',"blankCell",function(ele){ele.childNodes[0].innerHTML='';});K.oo('method',"highLightCell",function(context){if(context.col.isPrimary){this.highLightPks(context.colIdx,context.rowIdx);}else{$(context.cell).parent().addClass('CellSelected');}});K.oo('method',"unHighLightCell",function(context){if(context.col.isPrimary){this.unHighLightPks(context.colIdx,context.rowIdx);}else{$(context.cell).parent().removeClass('CellSelected');}});K.oo('method',"highLightPks",function(colIdx,rowIdx){var pkCells=this.getPkCells(colIdx,rowIdx);var len=pkCells.length;for(var i=0;i<len;i++){var jq=$(pkCells[i]);if(i==0){jq.addClass('pkHighLightLeft');}
if(i==len-1){jq.addClass('pkHighLightRight');}
jq.addClass('pkHighLight');}});K.oo('method',"unHighLightPks",function(colIdx,rowIdx){var pkCells=this.getPkCells(colIdx,rowIdx);var len=pkCells.length;for(var i=0;i<len;i++){var jq=$(pkCells[i]);if(i==0){jq.removeClass('pkHighLightLeft');}
if(i==len-1){jq.removeClass('pkHighLightRight');}
jq.removeClass('pkHighLight');}});K.oo('method',"getPkCells",function(colIdx,rowIdx){var pkIds=this.data.datasetPkColIds(colIdx);var columns=this.data.columns();var cells=[];for(var i=0,len=pkIds.length;i<len;i++){if(columns[pkIds[i]].hidden)continue;cells.push(this.matrix[pkIds[i]][rowIdx]);}
return cells;});K.oo('method',"adjustWidths",function(){var cols=this.schema.columns();var total=0;for(var i=0,c;c=cols[i];i++){var ele=this.jqCols[i];if(c.hidden){ele.style.display='none';}else{ele.style.display='block';this.jqCols[i].style.width=c.width+'px';total+=c.width;}}
this.jq.width(total);});K.oo('method',"setDimensions",function(){this.jqMask.css(this.dim.body);});K.oo('method',"populateRow",function(rowIdx){var cols=this.schema.columns();var nRows=this.data.nRows();var absRowIdx=this.dim.absRowIdx(rowIdx);for(var it79=0,i,it79__arr=this.viewableColumnIdxs,it79__len=it79__arr.length;(i=it79__arr[it79])||it79<it79__len;it79++){var col=cols[i];var cell=this.matrix[i][rowIdx];if(col.hidden)continue;if(absRowIdx>=nRows){cell.style.display="none";this.blankCell(cell);}else{cell.style.display="block";var data=this.data.getCell(i,absRowIdx);if(col.isPrimary){this.populatePkCell(col,cell,data,absRowIdx);}else{this.populateCell(col,cell,data);}}}});K.oo('method',"hScroll",function(left){this.jq[0].style.left='-'+left+'px';this.hOffset=left;this.populate();});K.oo('method',"inBody",function(ele){var threshold=10;var body=ele;var factoryId=this.main.factoryId.toString();for(var i=0;i<threshold;i++){if(body&&(body.getAttribute&&body.getAttribute('factoryId')==factoryId)){return true;}
if(body==null)return false;body=body.parentNode;}
return false;});K.oo('method',"styleSelectedRow",function(ele){var selectedRowStyle='border-top: 1px dashed #666;'+'border-bottom: 1px dashed #666;'
ele.setAttribute('style',selectedRowStyle);});K.oo('method',"styleSelectedCell",function(ele){var selectedCellStyle='border: 1px solid #2291c8;'+'background-image: url(/images/grid0/cell_plus.gif);'+'background-repeat: no-repeat;'+'background-position: top right;';ele.setAttribute('style',selectedCellStyle);});K.oo('method',"getRow",function(rowIdx){var row=[];for(var it80=0,col,it80__arr=this.matrix,it80__len=it80__arr.length;(col=it80__arr[it80])||it80<it80__len;it80++){var ele=col[rowIdx];row.push(ele);}
return row;});K.oo('method',"isCell",function(a,b){return(a.getAttribute('colIdx')==b.getAttribute('colIdx')&&a.getAttribute('rowIdx')==b.getAttribute('rowIdx'));});K.oo('method',"getCellHTML",function(context){return this.matrix[context.colIdx][context.rowIdx].childNodes[0].innerHTML;});})(Grid0.BodyView,Grid0);Grid0.BodyView.oo('setHTMLCache',{"cell":function(){return"<div class='cell' colIdx='' rowIdx=''><div class='data'><\/div><div class='consensus'><\/div><\/div>"},"column":function(){return"<div class='"+arguments[0]+" column'>"+arguments[1]+"<\/div>"}});JS2.OO.createClass("Grid0.BodyEventHandler");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"bodyView cellForm");K.oo('method',"initialize",function(){this.viewOffset={left:0};});K.oo('method',"e_initHTML",function(){this.jq=this.jqGrid.find('>.bodyEventHandler');this.jqHighlights=this.jq.find('>.highlights');this.cell=this.jqHighlights.first('.cell');this.row=this.jqHighlights.first('.row');this.row.hide();this.registerEvents();});K.oo('method',"e_resizing",function(){if(!this.jq)return;this.hideCol();this.setDimensions();});K.oo('method',"e_hScroll",function(params){this.hideCol();});K.oo('method',"e_extendHScroll",function(params){this.hideCol();});K.oo('method',"e_vScroll",function(params){this.hideCol();});K.oo('method',"hideCol",function(){if(this.cell)this.cell.hide();this.oldCo=null;});K.oo('method',"mouseOver",function(context){var width=context.col.width;var left=context.cellLeft;if(context.col.isPrimary){var ids=this.data.datasetPkColIds(context.colIdx);var cols=this.data.columns();for(var it71=0,id,it71__arr=ids,it71__len=it71__arr.length;(id=it71__arr[it71])||it71<it71__len;it71++){if(cols[id].hidden)continue;if(id!=context.colIdx)width+=cols[id].width;if(id<context.colIdx)left-=cols[id].width;}}
var cellStyle=this.cell[0].style;cellStyle.top=context.rowTop+'px';cellStyle.left=left+'px';cellStyle.width=(width-2)+'px';});K.oo('method',"mouseMove",function(e){var pl=e.pageX?e.pageX:e.clientX+document.documentElement.scrollLeft;var pr=e.pageY?e.pageY:e.clientY+document.documentElement.scrollTop;var context=this.dim.getContext(pl,pr,this.bodyView.matrix,this.oldCo);if(!context)return;this.currentContext=context;this.mouseOver(this.currentContext);if(!this.oldCo){this.cell.show();this.jqHighlights.show();}
this.oldCo=[context.colIdx,context.rowIdx];});K.oo('method',"focusCell",function(e){if(e.rowIdx||e.rowIdx==0){var params=e;var matrix=this.bodyView.matrix;var ele=matrix[params.colIdx][params.rowIdx];var context=this.dim.getContextFromCell(params.colIdx,params.rowIdx,matrix);this.currentContext=context;this.click();}else{this.mouseMove(e);}});K.oo('method',"e_focusCell",function(e){this.focusCell(e);});K.oo('method',"e_blurCell",function(e){if(this.row)this.row.hide();});K.oo('method',"e_changeRow",function(e){this.row[0].style.top=e.rowTop+'px';});K.oo('method',"registerEvents",function(){var self=this;sci.inputHandler.wheel(self.bodyView);this.oldCo=null;sci.domEvent.add(this.jq,'mousemove',function(e){self.mouseMove(e);},true);this.jqHighlights.click((function(self){return function(){var context=self.currentContext
this.clickTimeout=setTimeout(function(){self.click(context);},300);}})(this));this.jqHighlights.dblclick(function(){self.dblClick();});if($.browser.msie){this.jq.scroll(function(e){this.scrollLeft=0;});}});K.oo('method',"e_openCell",function(colIdx,rowIdx){this.focusCell({colIdx:colIdx,rowIdx:rowIdx});this.dblClick();});K.oo('method',"dblClick",function(){if(this.clickTimeout)clearTimeout(this.clickTimeout);if(this.currentContext){this.notify('dblClkCell',this.currentContext);if($.browser.msie)this.jq[0].scrollLeft=0;}});K.oo('method',"click",function(context){context=context||this.currentContext;if(context){this.notify('highlightCell',context);this.row[0].style.top=context.rowTop+'px';this.row.show();}});K.oo('method',"setDimensions",function(){this.hideCol();this.row.hide();this.cell.css({height:this.dim.rowHeight-1});this.row.css({height:this.dim.rowHeight-1,left:0,width:'100%'});this.jq.css(this.dim.body);});})(Grid0.BodyEventHandler,Grid0);JS2.OO.createClass("Grid0.Messenger");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initHTML",function(){this.jqMessage=this.jqGridLoading.find('>.message');this.jqError=this.jqGridLoading.find('>.error');this.jqGridLoading.hide();this.jqMessage.hide();this.jqError.hide();});K.oo('method',"e_loadData",function(){this.show('Loading Data');});K.oo('method',"e_dataLoaded",function(){this.show();});K.oo('method',"e_alert",function(msg){this.show(msg);});K.oo('method',"e_resizing",function(){this.setDimensions();});K.oo('method',"e_appErrorOccurred",function(obj){WEBSITE.hideErrorsImmediately();this.jqMessage.hide();if(obj&&obj.errors&&obj.errors[0].match(/CACHING/)){this.jqError.html(obj.errors[0]).show();}else{this.jqError.html(this.htmlCache.appError()).show();}
this.jqGridLoading.show();});K.oo('method',"e_tableUnCached",function(cacheState){this.jqMessage.hide();this.jqError.html(cacheState).show();this.jqError.first('.here').click((function(self){return function(){self.notify('requestForceCache');}})(this));this.jqGridLoading.show();});K.oo('method',"show",function(msg){if(!this.jqMessage)return
if(msg){this.jqError.hide();this.jqMessage.html(msg).show();this.jqGridLoading.show();}else{this.jqError.hide();this.jqMessage.hide();this.jqGridLoading.hide();}});K.oo('method',"setDimensions",function(){this.jqGridLoading.css(this.dim.widget);});})(Grid0.Messenger,Grid0);Grid0.Messenger.oo('setHTMLCache',{"appError":function(){return"<div class='appError'>There was an error retrieving your data...<br \/>The factual development team has been notified.<br \/>Sorry for the inconvenience.<br \/>You can also try&nbsp;<a onClick='window.location.reload()'>reloading the page<\/a>.<\/div>"}});JS2.OO.createClass("Grid0.Util");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"mainHeader");K.oo('method',"getColumnParams",function(ele){var colIdx=parseInt(ele.getAttribute('colIdx'));return{ele:ele,colIdx:colIdx,col:this.schema.columns()[colIdx]};});K.oo('method',"styleTab",function(jq){jq.removeClass('ui-widget-content');var list=jq.find('>ul:first,>ol:first');list.removeClass('ui-widget-header');list.addClass('ui-inner-tabs');});K.oo('method',"addDialogHeaderClass",function(jqDialog,className){jqDialog.parents('>.ui-dialog').find('>.ui-dialog-titlebar').addClass(className);});K.oo('method',"buildDialog",function(name,html,options){var dialog=Grid0.dialogs[name];if(!dialog){this.jqGrid.append(html);var jq=$(this.jqGrid[0].lastChild);jq.dialog(options);Grid0.dialogs[name]=jq;dialog=jq;}
return dialog;});K.oo('method',"addHeaderButton",function(html){return this.mainHeader.add(html);});})(Grid0.Util,Grid0);JS2.OO.createClass("Grid0.ColumnMenu");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"header");K.oo('method',"e_initHTML",function(){this.initHTML();this.secondaryMenus=[];});K.oo('method',"initHTML",function(){this.jq=$(this.htmlCache.main()).hide().appendTo(this.jqGrid);;var self=this;this.jq.clickoff(function(){self.hide();});this.jqList=this.jq.find('ul');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"menu",this.jqList,null);this.jqList.click(function(){self.hide();});var jqAsc=this.jqList.find('li.ascending');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"asc",jqAsc,null);});K.oo('method',"hide",function(){this.jq.hide();this.notify('columnMenuHidden');});K.oo('method',"addItem",function(html,klass,options){options=options||{};options.submenu=options.submenu||':first'
jqUL=this.jq.find('ul'+options.submenu).append(this.htmlCache.item(klass,html));jqItem=jqUL.find('.'+klass);if(options.secondaryMenu){this.createSecondaryMenu(options.secondaryMenu,jqItem);}
return jqItem;});K.oo('method',"addLabel",function(html){this.addItem(html,'label');});K.oo('method',"addSeperator",function(){this.jq.first('ul').append('<hr/>')});K.oo('method',"createSecondaryMenu",function(html,jqItem){var secondMenu=jqItem.append(html).children(':last-child');secondMenu.hide();this.secondaryMenus.push(secondMenu);});K.oo('method',"e_showColumnMenu",function(){this.context=this.header.contexts.click;if(this.context.col.isPrimary){this.jq.addClass('primaryMenu');}else{this.jq.removeClass('primaryMenu');}
this.jq.show();this.positionWidget();});K.oo('method',"e_columnMenuShown",function(){this.positionSecondMenu();});K.oo('method',"positionWidget",function(){var gridLeftMargin=3;if(this.context){var jqColMenu=this.context.jqEle;var colWidth=jqColMenu.width();var colOffset=jqColMenu.offset();this.left=colOffset.left-gridLeftMargin;this.colMenuWidth=this.jq.width();var bodyWidth=this.dim.body.width;var right=this.left+this.colMenuWidth;if(this.left>=bodyWidth-this.colMenuWidth){this.left=bodyWidth-this.colMenuWidth;}
this.jq[0].style.left=this.left+2+'px';}
this.jq[0].style.top=this.dim.scroller.top-1+'px';});K.oo('method',"positionSecondMenu",function(){var left=this.jqList.width();var bodyWidth=this.dim.body.width;for(var it1=0,smenu,it1__arr=this.secondaryMenus,it1__len=it1__arr.length;(smenu=it1__arr[it1])||it1<it1__len;it1++){var computedLeft=left;if(this.left+left+smenu.width()>=bodyWidth){computedLeft=-(smenu.width()+5)+'px';}else{computedLeft-=1}
smenu.css({position:'absolute',left:computedLeft,top:'0px'});}});K.oo('method',"column",function(){return this.schema.column(this.header.contexts.click.colIdx);});K.oo('method',"e_hScroll",function(){this.hide();});K.oo('method',"e_vScroll",function(){this.hide();});})(Grid0.ColumnMenu,Grid0);Grid0.ColumnMenu.oo('setHTMLCache',{"main":function(){return"<div class='columnMenu'><div class='dialogShadow'><div class='content'><ul class='menu'><\/ul><\/div><\/div><\/div>"},"item":function(){return"<li class='"+arguments[0]+"'><span class='icon'><\/span>"+arguments[1]+"<\/li>"}});JS2.OO.createClass("Grid0.GridMenuController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.menus={};this.options=options;});K.oo('method',"addMenu",function(className,html){var li=this.view.addMenu(className,html);var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.appendVal(TMP_SEL_MARKER.getRealClassScope(this),"Menu Item",li,null);this.menus[className]=li;return li;});K.oo('method',"getMenu",function(menuName){return this.view.lookup[menuName];});K.oo('method',"addMenuItem",function(menu,html){var menuItem=this.view.lookup[menu];var subMenu=menuItem.submenu;if(subMenu.length==0){subMenu=$('<ul class="subMenu"></ul>');menuItem.jq.append(subMenu);}
subMenu.append('<li>'+html+'</li>');});K.oo('method',"showMenu",function(menuName){this.view.lookup[menuName].jq.show();});K.oo('method',"hideMenu",function(menuName){this.view.lookup[menuName].jq.hide();});K.oo('method',"hideSubMenu",function(path){this.view.hideSubMenu(path);});K.oo('method',"disableMenuItem",function(path){this.view.modifyMenuItem(path,'disable');});K.oo('method',"enableMenuItem",function(path){this.view.modifyMenuItem(path,'enable');});K.oo('method',"showMenuItem",function(path){this.view.modifyMenuItem(path,'show');});K.oo('method',"hideMenuItem",function(path){this.view.modifyMenuItem(path,'hide');});K.oo('method',"getMenuItem",function(path){var paths=$.map(path.split('>'),$.trim);var menu=this.view.lookup[paths[0]];var submenu=menu.submenu;return submenu.find("a[name='"+paths[1]+"']");});K.oo('method',"appendToMenuBar",function(html){return $(html).appendTo(this.view.jq);});})(Grid0.GridMenuController,Grid0);JS2.OO.createClass("Grid0.GridMenuView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"auth mainHeader");K.oo('method',"initHTML",function(){this.jq=this.mainHeader.add(this.htmlCache.main());var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Menu",this.jq,null);this.lookup={};this.jqMagic=this.jq.first('.magic');this.menu=new Sci.JqList(this.jq,{alreadyBuilt:true});this.jqMenuHeaders=this.jq.find('>li');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Menu Headers",this.jqMenuHeaders,null);this.initJqObjects();this.processMenus();this.registerEvents();this.checkLogin();});K.oo('method',"initJqObjects",function(){this.jqObjects={};this.jqObjects.display={};this.jqObjects.display.cellValueFormatSetting=this.jq.first('li.display li.cellValueFormatSetting');this.jqObjects.filters={};this.jqObjects.filters.votes=this.jq.first('li.filters li.filterVotes');this.jqObjects.filters.applyPoi=this.jq.first('li.filters li.poiFilter a[name=applyPoi]');this.jqObjects.file={};this.jqObjects.file.saveAs=this.jq.first('li.file li.saveAs');this.jqObjects.file.download=this.jq.first('li.file li.download a:first');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"download csv",this.jqObjects.file.download,null);this.jqObjects.file.downloadDev=this.jq.first('li.file li.downloadDev a:first');this.jqObjects.file.downloadVotes=this.jq.first('li.file li.downloadVotes a:first');});K.oo('method',"checkLogin",function(){this.auth.isAdmin()?this.jqMagic.show():this.jqMagic.hide();if(this.auth.loggedIn()&&!this.bigData){this.jqObjects.display.cellValueFormatSetting.show();}else{this.jqObjects.display.cellValueFormatSetting.hide();}
if(this.bigData&&!this.auth.isAdmin()&&this.controller.openSquare){this.jqObjects.file.saveAs.hide();}else{this.jqObjects.file.saveAs.show();}
if(this.bigData&&!this.auth.isAdmin()&&!this.unlisted){this.jqObjects.filters.votes.hide();}else{this.jqObjects.filters.votes.show();}
if(this.auth.isAdmin()&&!grid.actions.containsJoin()){this.jqObjects.file.downloadVotes.show();}else{this.jqObjects.file.downloadVotes.hide();}});K.oo('method',"processMenus",function(){var lis=this.jq.find('>li');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Menu Toggles",lis,null);var className='';for(var i=0,li;li=lis[i];i++){className=li.className||i.toString();className=className.split(' ')[0];this.lookup[className]={jq:$(li),submenu:$(li).find('.subMenu:first'),link:$(li).find('a:first')}}});K.oo('method',"getSubMenus",function(){return this.jq.find('.subMenu');});K.oo('method',"hideSubMenu",function(name){this.hide(this.lookup[name].jq);});K.oo('method',"registerEvents",function(){var self=this;var menus=this.lookup;$.each(menus,function(className,menu){menu.jq.clickoff(function(){self.hide(menu.jq);});menu.jq.click(function(e){self.toggle($(this),$(e.target));});self.clickEvents(className,menu);});});K.oo('method',"toggle",function(jqEle,jqTarget){if(jqEle.hasClass('selected')&&jqTarget.is('a')){this.hide($(jqEle));}else{jqEle.addClass('selected');}});K.oo('method',"hide",function(jqEle){jqEle.removeClass('selected');});K.oo('method',"addMenu",function(className,html){return this.menu.add(className,html);});K.oo('method',"clickEvents",function(className,menu){var self=this;var submenu=menu.submenu;var clickables=submenu.find('a, :checkbox').click(function(){var jq=$(this);self.notify(className+'MenuClicked',className+' > '+jq.attr('name'),jq);});clickables;var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.appendVal(TMP_SEL_MARKER.getRealClassScope(this),"Sub Menus",clickables,null);submenu.find(':radio').click(function(){var jq=$(this);self.notify(className+'MenuClicked',className+' > '+jq.val(),jq);});});K.oo('method',"modifyMenuItem",function(path,action){var paths=$.map(path.split('>'),$.trim);var menu=this.lookup[paths[0]];var submenu=menu.submenu;var modifyFunc=function(){var jq=$(this);if(jq.attr('name')==paths[1]){switch(action){case'disable':jq.parent().addClass('disabled');break;case'enable':jq.parent().removeClass('disabled');break;case'hide':jq.parent().hide();break;case'show':jq.parent().show();break;}}};submenu.find('a').each(modifyFunc);submenu.find('input').each(modifyFunc);});K.oo('method',"e_fileMenuClicked",function(name){if(name=='file > new_table'){window.location='/tables/create';}
this.checkLogin();});K.oo('method',"e_displayMenuClicked",function(name,jqObject){if(name=='display > garbageDisplay'){if(jqObject.attr("checked")==true){this.data.toggleGarbage(false);}else{this.data.toggleGarbage(true);}}else if(name=='display > guessColumnWidths'){this.data.guessColumnWidths();}});K.oo('method',"setBigData",function(bigData,unlisted){this.bigData=bigData;this.unlisted=unlisted;this.checkLogin();});K.oo('method',"showPoiExplain",function(){if(!this.poiExplain){this.poiExplain=$(this.htmlCache.poiExplain()).dialog({autoOpen:false,title:'Explanation',modal:true,resizable:false,width:320,height:240});}
this.poiExplain.dialog('open');});K.oo('method',"togglePoi",function(){if(this.actions.isPoiFilterHashReady()){this.controller.showMenuItem('filters > applyPoi')
if(this.actions.getPoiFilter()){this.controller.disableMenuItem('filters > applyPoi')}else{this.controller.enableMenuItem('filters > applyPoi')}}else{this.controller.hideMenuItem('filters > applyPoi')}});})(Grid0.GridMenuView,Grid0);JS2.OO.createClass("Grid0.GridMenuEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();});K.oo('method',"e_userLoggedIn",function(){this.view.checkLogin();});K.oo('method',"e_bigData",function(bigData,unlisted){this.view.setBigData(bigData,unlisted);});K.oo('method',"e_showPoiExplain",function(){this.view.showPoiExplain();});K.oo('method',"e_dataLoaded",function(){this.view.togglePoi();});})(Grid0.GridMenuEvents,Grid0);Grid0.GridMenuView.oo('setHTMLCache',{"subMenu":function(){return"<ul class='subMenu'><\/ul>"},"poiExplain":function(){return"<div class='poiExplain'>The<strong> Factual Qualified rows filter <\/strong>is a default input filter that we apply to all POI datasets that requires the there are at least two inputs for the important fields from factualstaff before a record is shown.  This helps maintain a level of quality.  You can also always turn it off, which will give you more data but more false positives.  Note that it is only applied to factualstaff inputs, so inputs from other userIDs will not require 2 inputs to be shown.<\/div>"},"main":function(){return"<ul class='menu'><li class='file alwaysShow'><a href='javascript:void(0);'>File<span class='smallDownArrow'><\/span><\/a><ul class='subMenu'><li class='disabled save'><a href='javascript:void(0);' name='saveGridState'>Save<\/a><div>save current view state as the default for this grid<\/div><\/li><li class='disabled saveAs'><a href='javascript:void(0);' name='saveAs'>Save as...<\/a><div>save what you see as a new table<\/div><\/li><li class='download'><a href='javascript:void(0);' name='download'>Download as CSV<\/a><span class='openSquareLink'>&nbsp;-&nbsp;<a>Why can't I download this?<\/a><\/span><\/li><li class='downloadDev'><a href='javascript:void(0);' name='downloadDev'>Download Developer CSV<\/a><\/li><li class='downloadVotes'><a href='javascript:void(0);' name='downloadVotes'>Download Votes CSV<\/a><\/li><li class='alwaysShow'><a href='javascript:void(0);' name='new_table'>Create new Table<\/a><\/li><li class='alwaysShow'><a href='javascript:void(0);' name='tablePermissions'>License and Permissions<\/a><\/li><li class='alwaysShow'><a href='javascript:void(0);' name='removeTable'>Remove this Table<\/a><\/li><\/ul><\/li><li class='display'><a href='javascript:void(0);'>Display<span class='smallDownArrow'><\/span><\/a><ul class='subMenu'><li class='garbageSetting'><label><input checked='checked' class='checkBox' name='garbageDisplay' type='checkbox' value='hideGarbageRows' \/><strong>Hide<\/strong>&nbsp;all rows Factual has deemed to be&nbsp;<strong>\"garbage\"<\/strong><\/label><\/li><li class='expandCell'><label><input checked='checked' class='checkBox' name='expandCell' type='checkbox' \/>Auto&nbsp;<strong>expand<\/strong>&nbsp;any clicked on cell to show any clipped data<\/label><\/li><li class='fieldRefs'><label><input class='checkBox' name='fieldRefs' type='checkbox' \/>Show field API&nbsp;<strong>reference names<\/strong>&nbsp;instead of&nbsp;<strong>names<\/strong><\/label><\/li><li class='cellValueFormatSetting'><label>When your value differs from the current consensus value, show:<\/label><label><input class='radioButton' name='defaultView' type='radio' value='uvo' \/><strong>your value only!<\/strong><\/label><label><input class='radioButton' name='defaultView' type='radio' value='cvo' \/>Consensus value only<\/label><label><input class='radioButton' name='defaultView' type='radio' value='uvf' \/><strong>Your value<\/strong>&nbsp;(Consensus Value)<\/label><label><input checked='checked' class='radioButton' name='defaultView' type='radio' value='cvf' \/>Consensus Value<strong>(Your value)<\/strong><\/label><\/li><li class='showHideFieldsSetting'><a href='javascript:void(0)' name='showFields'>Show or Hide Fields<\/a>(<em>will not permanently affect table<\/em>)<\/li><li class='autoColumnWidth'><a href='javascript:void(0)' name='guessColumnWidths'>Best guess column widths<\/a><\/li><\/ul><\/li><li class='filters'><a href='javascript:void(0);'>Filters<span class='smallDownArrow'><\/span><\/a><ul class='subMenu'><!-- <li><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='facts'>Find Facts<\/a><\/li><li><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='subjects'>Find Subjects<\/a><\/li>--><li class='filterRows'><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='rows'>Show only rows where...<\/a><\/li><li class='filterVotes'><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='votes'>Filter input data from this table<\/a><\/li><li class='poiFilter'><a class='right' href='javascript:void(0);' name='poiExplain'>[?]<\/a><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='applyPoi'>Show only Factual Qualified rows<\/a><\/li><\/ul><\/li><li class='fields'><a href='javascript:void(0);'>Fields<span class='smallDownArrow'><\/span><\/a><ul class='subMenu'><li><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='addField'>Add New Field<\/a><\/li><li><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='showFields'>Show or Hide Fields<\/a><\/li><li><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='reorderFields'>Reorder Fields<\/a><\/li><\/ul><\/li><li class='improve'><a href='javascript:void(0);'>Improve<span class='smallDownArrow'><\/span><\/a><ul class='subMenu'><li><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='joinDataset'>Join other tables to this table<\/a><\/li><li><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='bulkImport'>Import data from files or other tables<\/a><\/li><li><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='merge'>Merge other tables into this table<\/a><\/li><li class='magic'><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='improve'>Attempt to fill in empty cells with data from Factual or the Internet<\/a><span class='magicIcon'><\/span><\/li><\/ul><\/li><li class='admin'><a href='javascript:void(0);'>Admin<span class='smallDownArrow'><\/span><\/a><ul class='subMenu'><li class='alwaysShow cacheState'><\/li><li class='alwaysShow forceCache'><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='forceCache'>Force Cache<\/a><\/li><li class='alwaysShow cacheTtl'><\/li><li class='alwaysShow setCacheTtl'><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='setCacheTtl'>Set API TTL<\/a><\/li><li class='alwaysShow geoState'><\/li><li class='alwaysShow setGeo'><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='setGeo'>Geo Settings<\/a><\/li><li class='alwaysShow poiState'><\/li><li class='alwaysShow poiFilter'><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='setPoi'>Poi Settings<\/a><\/li><li class='alwaysShow clearFunction'><span class='smallIndicator'><\/span><a href='javascript:void(0);' name='clearFunction'>Clear out the last presummary function<\/a><\/li><\/ul><\/li><\/ul>"}});JS2.OO.createClass("Grid0.DataImproverController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"registerEvents",function(){var view=this.view;var self=this;view.jqStart.click(function(){self.improve();});view.jqCancel.click(function(){self.cancel();});view.jqApply.click(function(){self.apply();});view.jqStop.click(function(){self.stop();});});K.oo('method',"cancel",function(){this.view.cancel();this.cancelPoll();this.cancelTask();});K.oo('method',"apply",function(){var url='/tables/improver/goto/'+this.taskId;var params={add_columns:this.view.jqAddColumns[0].checked,add_rows:this.view.jqAddRows[0].checked};this.cancelPoll();this.data.refresh(url,params,function(){});});K.oo('method',"stop",function(){var url='/tables/improver/stop/'+this.taskId;sci.ajax.post(url,{});this.toApply=true;});K.oo('method',"cancelPoll",function(){if(this.pollInterval)clearInterval(this.pollInterval);this.pollInterval=null;});K.oo('method',"cancelTask",function(){if(this.taskId)sci.ajax.post('/tables/improver/cancel/'+this.taskId,{});this.taskId=null;});K.oo('method',"improve",function(){var self=this;this.found=0;this.view.start();var url='/tables/improver/initiate';var params={grid:this.data.state(),ext_search:this.view.jqExtSearch[0].checked};sci.ajax.post(url,params,function(obj){self._improve(obj);});});K.oo('method',"poll",function(){var self=this;var url='/tables/improver/poll';var params={task_id:this.taskId};sci.ajax.post(url,params,function(obj){self._poll(obj)});});K.oo('method',"_improve",function(id){var self=this;this.taskId=id;this.poll();this.pollInterval=setInterval(function(){self.poll()},5000);});K.oo('method',"_poll",function(obj){this.view.setStatus(obj);if(obj.status=='Completed'||obj.status=='Failed'||obj.status=='Stopped'){if(this.toApply){this.apply();this.toApply=null;this.view.jqStop.hide();this.view.jqApply.hide();}else{if(this.found>0)this.view.jqApply.show();}
this.cancelPoll();}
if(obj.status=='Stopping'){this.view.jqStop.hide();this.view.jqCancel.show();}
if(obj.status=='Completed'){this.view.jqStop.hide();this.view.jqCancel.hide();}
if(obj.status=='Failed'){this.view.jqStop.hide();if(this.found>0)this.view.jqApply.show();WEBSITE.error('This process has failed');}});})(Grid0.DataImproverController,Grid0);JS2.OO.createClass("Grid0.DataImproverView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"gridMenu");K.oo('member','gridMenuName','improve > improve');K.oo('method',"initHTML",function(){this.buildDialog();this.initJqObjects();});K.oo('method',"buildDialog",function(){var self=this;var dialogOptions={title:'Improve this Dataset',modal:true,autoOpen:false,resizable:'se',width:400,close:function(){self.controller.cancel();}};this.jqDialog=this.util.buildDialog('dataImprover',this.htmlCache.main(),dialogOptions);});K.oo('method',"initJqObjects",function(){this.jqStatusInfo=this.jqDialog.first('.statusInfo');this.jqTablesSearched=this.jqStatusInfo.first('.tablesSearched');this.jqTablesFound=this.jqStatusInfo.first('.tablesFound');this.jqStatus=this.jqStatusInfo.first('.statusText');this.jqIntro=this.jqDialog.first('.intro');var jqControls=this.jqDialog.first('.controls');this.jqAddColumns=jqControls.first('.addColumns');this.jqAddColumnsLi=this.jqAddColumns.parent();this.jqAddRows=jqControls.first('.addRows');this.jqAddRowsLi=this.jqAddRows.parent();this.jqExtSearch=jqControls.first('.extSearch');this.jqExtSearchLi=this.jqExtSearch.parent();this.jqExtDesc=jqControls.first('.description');this.jqStart=this.jqDialog.first('.start');this.jqStop=this.jqDialog.first('.stopAndApply');this.jqCancel=this.jqDialog.first('.cancel');this.jqApply=this.jqDialog.first('.apply');});K.oo('method',"toggleMenuButton",function(){if(this.actions.isSimple()){this.gridMenu.enableMenuItem(this.gridMenuName);}else{this.gridMenu.disableMenuItem(this.gridMenuName);}});K.oo('method',"open",function(){this.jqDialog.dialog('open');this.jqStart.show();this.jqStop.hide();this.jqStatusInfo.hide();this.jqIntro.show();this.jqAddColumnsLi.hide();this.jqAddRowsLi.hide();this.jqExtSearchLi.show();this.jqExtDesc.show();this.jqStatus.show();this.jqStop.hide();this.jqCancel.hide();this.jqApply.hide();});K.oo('method',"setStatus",function(params){var status=params.status;var searched=params.tables_examined;var found=params.tables_found;this.jqStatus.html(status);this.jqTablesSearched.html(searched);this.jqTablesFound.html(found);if(found>0){this.controller.found=found;this.jqStop.show();}});K.oo('method',"start",function(){if(this.auth.requireLogin(this))return;this.jqStatusInfo.show();this.jqIntro.hide();this.jqAddColumnsLi.show();this.jqAddRowsLi.show();this.jqExtSearchLi.hide();this.jqExtDesc.hide();this.jqStart.hide();this.jqCancel.show();this.jqStatus.html('Pending...');this.jqTablesSearched.html(0);this.jqTablesFound.html(0);});K.oo('method',"cancel",function(){this.jqStatusInfo.hide();this.jqIntro.show();this.jqAddColumnsLi.hide();this.jqAddRowsLi.hide();this.jqExtSearchLi.show();this.jqExtDesc.show();this.jqStart.show();this.jqApply.hide();this.jqCancel.hide();});})(Grid0.DataImproverView,Grid0);JS2.OO.createClass("Grid0.DataImproverEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_dataLoaded",function(){this.view.toggleMenuButton();});K.oo('method',"e_improveMenuClicked",function(name,jqObject){if(name=='improve > improve'&&!jqObject.parent().hasClass('disabled')){this.view.open();}});})(Grid0.DataImproverEvents,Grid0);Grid0.DataImproverView.oo('setHTMLCache',{"main":function(){return"<div class='dataImprover'><div class='statusInfo'><p>Factual is searching through its data repository and out on the web to find more data to add to this table.<\/p><p>Status:&nbsp;<span class='statusText'><\/span><\/p><p>Searched through&nbsp;<span class='tablesSearched'>0<\/span>&nbsp;data sources<\/p><p style='margin-bottom: 8px'>Found&nbsp;<span class='tablesFound'>0<\/span>&nbsp;matches for your table<\/p><\/div><p class='intro'>The data finder searches for tables containing data that can be added to your table.  The longer you wait, the better your results may be.<\/p><div class='controls'><ul><li><input checked='true' class='addColumns' type='checkbox' value='add_columns' \/>Include newly discovered columns?<\/li><li><input checked='true' class='addRows' type='checkbox' value='add_rows' \/>Include newly discovered rows?<\/li><li><input class='extSearch' type='checkbox' value='extended_search' \/>* Do an extended search?<\/li><\/ul><div class='description'>* An extended search might take a very long time. Go grab a coffee!<\/div><\/div><div class='buttons'><span class='start fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Start      <\/a>    <\/span>  <\/span><\/span><span class='stopAndApply fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Stop and Apply      <\/a>    <\/span>  <\/span><\/span><span class='apply fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Apply      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/div><\/div>"}});JS2.OO.createClass("Grid0.ColumnNavigatorController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"registerEvents",function(){var self=this;var view=this.view;view.jqIcon.click(function(){view.show();return false;});view.jqColumns.click(function(e){self.handleClick(e);});});K.oo('method',"handleClick",function(e){var jqTarget=$(e.target);if(jqTarget.is('.column')){var colIdx=jqTarget.attr('colIdx');this.view.scrollToColumn(colIdx);}});K.oo('method',"jumpToLastColumn",function(){var colIdx=this.data.columns().length-1;this.view.scrollToColumn(colIdx);});})(Grid0.ColumnNavigatorController,Grid0);JS2.OO.createClass("Grid0.ColumnNavigatorView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initHTML",function(){this.jqIcon=this.jqGrid.first('>.hMask>.columnNavigatorIcon');this.jq=$(this.htmlCache.main()).hide();this.jqGrid.append(this.jq);var self=this;this.jq.clickoff(function(){self.hide();});this.jqColumns=this.jq.first('ul.columns');});K.oo('method',"buildColumns",function(){var htmlColumns='';var columns=this.data.columns();for(var i=0,c;c=columns[i];i++){htmlColumns+=this.htmlCache.column({colIdx:i,name:DISPLAY.html(c.name)});}
this.jqColumns.html(htmlColumns);this.builded=true;});K.oo('method',"toggleIcon",function(){if(!this.jqIcon)return;var diff=this.dim.filler.width-this.dim.body.width;if(diff>0){this.jqIcon.show();}else{this.jqIcon.hide();}});K.oo('method',"show",function(){if(!this.builded)this.buildColumns();this.jq.show();this.setMaxHeight();});K.oo('method',"hide",function(){this.jq.hide();});K.oo('method',"scrollToColumn",function(colIdx){var scrollLeft=0;var column=this.data.column(colIdx);if(column.hidden){var show=confirm(this.htmlCache.hiddenMessage());if(show){column.hidden=false;this.notify('resizeWidth');this.notify('viewModified');}else{this.hide();return;}}
for(var i=0;i<colIdx;i++){var col=this.data.column(i);if(col.hidden)continue;scrollLeft+=col.width;}
this.hide();this.notify('columnNavigatorHScroll',scrollLeft);});K.oo('method',"setMaxHeight",function(){if(this.jqColumns){var maxHeight=this.dim.body.height-22;this.jqColumns.css('max-height',maxHeight);}});})(Grid0.ColumnNavigatorView,Grid0);JS2.OO.createClass("Grid0.ColumnNavigatorEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_resizing",function(){this.view.setMaxHeight();this.view.toggleIcon();});K.oo('method',"e_jumpToLastColumn",function(){this.controller.jumpToLastColumn();});})(Grid0.ColumnNavigatorEvents,Grid0);Grid0.ColumnNavigatorView.oo('setHTMLCache',{"hiddenMessage":function(){return"You have chosen to jump to a column that is currently hidden. Do you want to make this column visible and jump to it?"},"column":function(col){return"<li class='column' colIdx='"+col.colIdx+"' title='"+col.name+"'>"+col.name+"<\/li>"},"main":function(){return"<div class='columnNavigator'><div class='content'><div class='header'><strong>Jump to Column:<\/strong><\/div><ul class='columns'><\/ul><\/div><\/div>"}});JS2.OO.createClass("Grid0.BigTableGuide");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"mainHeader auth");K.oo('method',"initialize",function(){this.KEY_MAPPING={UNCACHED:'uncached',WRITING:'caching',CACHED:'cached',CACHED_MISMATCHED:'cached',CACHED_BUFFERING:'caching'};});K.oo('method',"initHTML",function(){this.jq=this.mainHeader.add(this.htmlCache.main());});K.oo('method',"change",function(isBigData){if(isBigData){this.buildCachedGuide();this.jq.show();}else{this.jq.hide();}});K.oo('method',"buildCachedGuide",function(){this.buildCachedDialog();this.buildCachedLink();});K.oo('method',"buildCachedDialog",function(){var name='cachedBigTableGuide';var html='<div class="'+name+'">'+
this.htmlCache.cachedMessage()+'</div>';var options={title:this.htmlCache.cachedTitle(),width:700,height:400,autoOpen:false,resizable:false,modal:true};this.jqDialog=this.util.buildDialog(name,html,options);});K.oo('method',"buildCachedLink",function(){var self=this;this.jq.html(this.htmlCache.cachedLink());this.jq.find('a').click(function(){self.jqDialog.dialog('open');});});K.oo('method',"cacheStateLoaded",function(cacheState){if(!cacheState)return;var key=this.KEY_MAPPING[cacheState];this.handleMismatch(cacheState);if(key=='cached')return;this.notify('tableUnCached',this.htmlCache[key+'Message']({key:this.data.dataset.key,title:this.data.dataset.name}));});K.oo('method',"handleMismatch",function(cacheState){if(cacheState=='CACHED_MISMATCHED'&&this.auth.isAdmin()){WEBSITE.message(this.htmlCache.cachedMismatched());}});})(Grid0.BigTableGuide,Grid0);JS2.OO.createClass("Grid0.BigTableGuideEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.controller.initHTML();});K.oo('method',"e_bigData",function(isBigData){this.controller.change(isBigData);});K.oo('method',"e_cacheStateLoaded",function(cacheState){this.controller.cacheStateLoaded(cacheState);});})(Grid0.BigTableGuideEvents,Grid0);Grid0.BigTableGuide.oo('setHTMLCache',{"uncachedMessage":function(){return"<div class='uncachedTable'><p>This is a<strong> very large table <\/strong>and requires being cached on our servers before it can be accessed.<\/p><p>It is currently off-line.<\/p><br \/><p><strong>Click <\/strong><a class='here'>here<\/a>&nbsp;if you would like<strong> to request that this data be brought on-line.<\/strong><\/p><\/div>"},"cachedMismatched":function(){return"this table is cached so some functions like adding vote filters and changing the aggregation function may have unexpected results."},"cachedTitle":function(){return"Feature restrictions on very large tables"},"cachedMessage":function(){return"<p>While we are making every attempt to make working with Factual tables easy and flexible, we still have some growing pains on some of the very largest tables.<\/p><p>In particular,<strong> the following features are currently disabled:<\/strong><ul><li>searching across the entire table (you can still filter as many fields as you'd like)<\/li><li>creating filters that use the<em>&nbsp;contains&nbsp;<\/em>clause<\/li><li>using more than one column to sort your data<\/li><\/ul><\/p><p>We hope to have all of these features working soon in the future!<\/p>"},"main":function(){return"<div class='bigTableGuide'><\/div>"},"cachingMessage":function(){return"<div class='uncachedTable'><p>This is a<strong> very large table <\/strong>and requires being cached on our servers before it can be accessed.<\/p><p>We are currently in the process of doing so.<\/p><\/div>"},"cachedLink":function(){return"This is a<strong> very large table. <\/strong><a>Some features are disabled<\/a>"}});JS2.OO.createClass("Grid0.Caution");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth');K.oo('method',"initHTML",function(){this.jq=$('.caution');});K.oo('method',"registerEvents",function(){this.jq.delegate('a','click',(function(self){return function(){self.handleClick();}})(this));});K.oo('method',"handleClick",function(){if(!this.data.isBigData())return;if(this.auth.isAdmin()){this.notify('forceCache');}else{this.notify('requestForceCache');}});K.oo('method',"populate",function(){this.jq.show();if(this.data.isBigData()&&this.data.getCacheState()=='CACHED_MISMATCHED'){if(this.auth.isAdmin()){this.jq.html(this.htmlCache.cacheMismatchAdmin());}else{this.jq.html(this.htmlCache.cacheMismatchNormal());}}else if(this.auth.isAdmin()){this.jq.html(this.htmlCache.admin());}else{this.jq.hide();}});})(Grid0.Caution,Grid0);JS2.OO.createClass("Grid0.CautionEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.controller.initHTML();this.controller.registerEvents();});K.oo('method',"e_dataLoaded",function(){this.controller.populate();});K.oo('method',"e_userLoggedIn",function(){this.controller.populate();});})(Grid0.CautionEvents,Grid0);Grid0.Caution.oo('setHTMLCache',{"cacheMismatchAdmin":function(){return"<span class='icon'><\/span>This is an older version of this dataset. Click [<a>here<\/a>] to update the cache."},"admin":function(){return"<span class='icon'><\/span>You are logged in as an<strong> administrator. <\/strong>Please use<strong> caution!<\/strong>"},"cacheMismatchNormal":function(){return"<span class='icon'><\/span>This is an older version of this dataset. Click [<a>here<\/a>] to request that the cache be updated."}});JS2.OO.createClass("Grid0.FieldEditorController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth');K.oo('method',"isEditable",function(){if(!this.field)return false;var fieldOwner=this.col.creatorId==this.auth.userId()&&this.col.deletableBy=='CREATOR';var isVirtual=(this.col.datasetId!=this.data.dataset.id);return((this.data.isOwner()||fieldOwner||this.auth.isAdmin())&&!isVirtual);});K.oo('method',"e_editField",function(fieldId){this.col=this.data.columnById(fieldId);this.field=this.col.field;this.loadDialog('edit');});K.oo('method',"registerEvents",function(){this.view.jqEditMenu.click((function(self){return function(){self.loadDialog('edit');}})(this));this.view.jqViewMenu.click((function(self){return function(){self.loadDialog('view');}})(this));this.view.dialog.onSubmit((function(self){return function(){self.submit()}})(this));this.view.dialog.jqForm.find('.datatype').change((function(self){return function(){self.datatypeChanged();}})(this));});K.oo('method',"datatypeChanged",function(){if(this.bigData&&!confirm(this.htmlCache.bigDataConfirmMessage())){this.view.dialog.f.datatype.control.setValue(this.field.datatype);return;}
if(this.actions.isGeoUseField(this.field.id)&&!this.data.confirmForDisableGeoFunction()){this.view.dialog.f.datatype.control.setValue(this.field.datatype);return;}});K.oo('method',"submit",function(){var url='/tables/'+this.data.dataset.key+'/fields/'+this.field.id+'/edit.js';var params=this.loadParams();sci.ajax.post(url,params,(function(self){return function(p){self._submit(p);}})(this));this.notify('alert','Updating...');});K.oo('method',"_submit",function(p){if(p.summary){this.data.payload()._loadedData(p);this.data.dataLoaded();this.notify('fieldEdited',this.field.id);}else{this.field.presummaryFunction=this.fieldHash.presummary;this.field.computedFunction=this.fieldHash.computed;this.loadDialog('edit');alert(p.error);}});K.oo('method',"isDatatypeChanged",function(){return this.view.dialog.f.datatype.control.getValue()!=this.field.datatype;});K.oo('method',"loadParams",function(){if(this.isDatatypeChanged()&&this.actions.hasFilterOnField(this.field.id)){if(confirm(this.htmlCache.removeFilterConfirmMessage())){this.actions.clearAllFiltersOnField(this.field.id)}else{return;}}
this.fieldHash=this.view.dialog.save();var params={fieldInfo:JSON.stringify(this.fieldHash),grid:this.data.richState()};eventParams={table_id:this.data.dataset.id,field_id:this.field.id,agg_function:this.fieldHash.agg,hidden:this.fieldHash.visible=='hidden',name:this.fieldHash.name,default_value:this.fieldHash['default']};params._event='UpdateFieldMetadata';params._event_params=JSON.stringify(eventParams);return params;});K.oo('method',"loadDialog",function(mode){this.view.dialog.setup(mode,this.field.isPrimary,this.auth);var data=$.extend(false,{},this.field);data.aggregation=this.field.aggregation||this.col.aggregation;data.defaultValue=this.schema.immutable.fieldDefaultValues[this.field.id];data.fieldId=this.field.id;data.creatorId=this.col.creatorId||this.data.ownerId();data.creator=this.col.creatorName||this.data.ownerName();data.createdAt=this.col.dateCreated;data.fieldRefs=this.schema.getDatasetInfo(this.data.dataset.id).fieldRefs[this.field.id];data.sourceTables=new Array();for(var it14=0,f,it14__arr=data.mergeFields,it14__len=it14__arr.length;(f=it14__arr[it14])||it14<it14__len;it14++){var dataset=this.schema.getDatasetInfo(f.datasetId);data.sourceTables.push([dataset.id,dataset.name,dataset.urlName]);}
this.view.dialog.load(data);});})(Grid0.FieldEditorController,Grid0);JS2.OO.createClass("Grid0.FieldEditorView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','columnMenu');K.oo('method',"initHTML",function(){this.jqEditMenu=this.columnMenu.addItem('Edit this Field','fieldEditor');this.jqViewMenu=this.columnMenu.addItem('View Field Details','fieldViewer');this.dialog=new Sci.FieldDialog();});})(Grid0.FieldEditorView,Grid0);JS2.OO.createClass("Grid0.FieldEditorEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','header');K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_showColumnMenu",function(){this.controller.col=this.header.contexts.click.col;this.controller.field=this.controller.col.field;this.view.jqViewMenu.hide();if(this.controller.isEditable()){this.view.jqEditMenu.show();}else{this.view.jqEditMenu.hide();}});})(Grid0.FieldEditorEvents,Grid0);Grid0.FieldEditorController.oo('setHTMLCache',{"removeFilterConfirmMessage":function(){return"The change required removing filters formerly applied to the field you modified."},"bigDataConfirmMessage":function(){return"Changing the data type of this field will require re-caching this table.  Because of the size of the table, it may take a few hours before the table is available again.  Are you sure this is what you want to do?"}});JS2.OO.createClass("Grid0.QuickFilter");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','columnMenu header');K.oo('method',"initHTML",function(){this.$item=this.columnMenu.addItem(this.htmlCache.listItem(),'quickFilter',{secondaryMenu:this.htmlCache.menu()});this.$menu=this.$item.first('.dialogShadow');this.$list=this.$menu.first('.enumerationList');this.$up=this.$menu.first('.up');this.$down=this.$menu.first('.down');this.buildDialog();sci.inputHandler.wheel(this);});K.oo('method',"buildDialog",function(){this.$dialog=$(this.htmlCache.dialog()).dialog({autoOpen:false,title:'Quick Filter',resizable:false,modal:true});this.$fieldName=this.$dialog.first('.fieldName');this.$value=this.$dialog.first('input');this.$submit=this.$dialog.first('.submit');this.validator=Sci.validate(this.$value,'String',{notNull:true,trimValue:true,callback:(function(self){return function(valid){if(valid){self.$submit.removeClass('disabled');}else{self.$submit.addClass('disabled');}}})(this)});});K.oo('method',"registerEvents",function(){this.$item.hover((function(self){return function(){self.showMenu();}})(this),(function(self){return function(){self.hideMenu();}})(this));this.$item.click((function(self){return function(){self.openDialog();}})(this));this.$list.delegate('li','click',(function(self){return function(){self.findIn($(this));}})(this));this.$up.click((function(self){return function(e){self.smartUp($(e.target));return false;}})(this));this.$down.click((function(self){return function(e){self.smartDown($(e.target));return false;}})(this));this.$value.keydown((function(self){return function(e){if(e.keyCode==KEYCODE.ENTER)self.find();}})(this));this.$submit.click((function(self){return function(){if($(this).is('.disabled'))return;self.find();}})(this));});K.oo('method',"openDialog",function(){if(this.field.isEnumerated)return;this.populateDialog();this.$dialog.dialog('open');this.$value.focus();});K.oo('method',"closeDialog",function(){this.$dialog.dialog('close');});K.oo('method',"showMenu",function(){if(this.field.isEnumerated)this.$menu.show();});K.oo('method',"hideMenu",function(){this.$menu.hide();});K.oo('method',"showColumnMenu",function(){this.field=this.header.contexts.click.col.field;if(this.field.isEnumerated){this.$item.addClass('isEnumerated');this.populateMenu();}else{this.$item.removeClass('isEnumerated');}});K.oo('method',"populateDialog",function(){this.$fieldName.html(DISPLAY.html(this.field.name));this.$value.val('');this.validator.setDatatype(this.field.datatype);this.validator.validate();});K.oo('method',"populateMenu",function(){var html=[];for(var it58=0,v,it58__arr=this.field.enumerationList,it58__len=it58__arr.length;(v=it58__arr[it58])||it58<it58__len;it58++){html.push(this.htmlCache.menuItem(v));}
this.$list.html(html.join(''));if(this.field.enumerationList.length>10){this.$up.show();this.$down.show();}else{this.$up.hide();this.$down.hide();}});K.oo('method',"getOperator",function(datatype,defaultOperator){datatype=datatype.toLowerCase();if(datatype=='date'){return'on';}else if(datatype=='double'||datatype=='integer'||datatype=='lat'||datatype=='lng'){return'eq';}else{return defaultOperator;}});K.oo('method',"find",function(){this.data.quickFilter(this.getOperator(this.field.datatype,'starts'),this.field.id,this.$value.val());this.closeDialog();});K.oo('method',"findIn",function($li){var index=$li.prevAll().length;var value=this.field.enumerationList[index];this.data.quickFilter(this.getOperator(this.field.datatype,'eqp'),this.field.id,value);});K.oo('method',"handleWheel",function(delta,e){if(!this.field||!this.field.isEnumerated)return;var $target=$(e.target||e.srcElement);if($target.closest('.quickFilter').length==0)return;this.$list[0].scrollTop-=delta*22;});K.oo('method',"smartUp",function($target){if($target.is('.arrow'))$target=$target.parent();if(!$target.is('li'))return;if($target.is('.one')){this.$list[0].scrollTop-=22;}else{if(this.field.enumerationList.length>100){var length=parseInt(this.field.enumerationList.length/10);this.$list[0].scrollTop-=length*22;}else{this.$list[0].scrollTop=0;}}});K.oo('method',"smartDown",function($target){if($target.is('.arrow'))$target=$target.parent();if(!$target.is('li'))return;if($target.is('.one')){this.$list[0].scrollTop+=22;}else{if(this.field.enumerationList.length>100){var length=parseInt(this.field.enumerationList.length/10);this.$list[0].scrollTop+=length*22;}else{this.$list[0].scrollTop=this.$list[0].scrollHeight;}}});})(Grid0.QuickFilter,Grid0);JS2.OO.createClass("Grid0.QuickFilterEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.controller.initHTML();this.controller.registerEvents();});K.oo('method',"e_showColumnMenu",function(){this.controller.showColumnMenu();});})(Grid0.QuickFilterEvents,Grid0);Grid0.QuickFilter.oo('setHTMLCache',{"menuItem":function(value){return"<li>"+value+"<\/li>"},"menu":function(){return"<div class='dialogShadow'><div class='content'><ul class='up'><li class='smart'><div class='arrow'><\/div><\/li><li class='one'><div class='arrow'><\/div><\/li><\/ul><ul class='enumerationList'><\/ul><ul class='down'><li class='one'><div class='arrow'><\/div><\/li><li class='smart'><div class='arrow'><\/div><\/li><\/ul><\/div><\/div>"},"dialog":function(){return"<div class='quickFilterDialog'>Find&nbsp;<span class='fieldName'><\/span>:<input class='textField' \/><div class='buttons'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Find      <\/a>    <\/span>  <\/span><\/span><\/div><\/div>"},"listItem":function(){return"Find<span class='rightArrow'><\/span>"}});JS2.OO.createClass("Grid0.TablePermissionsController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth gridMenu');K.oo('member','dialogName','License and Permissions');K.oo('method',"e_initHTML",function(){this.buildDialog();this.registerEvents();});K.oo('method',"e_fileMenuClicked",function(name){if((name=='file > tablePermissions')&&(this.auth.loggedIn())){this.showDialog();}});K.oo('method',"buildDialog",function(){var options={modal:true,autoOpen:false,width:500,minWidth:500,title:this.dialogName,resizable:false};this.jq=this.util.buildDialog(this.dialogName,this.htmlCache.main(),options);this.jqDialog=this.jq.parent();var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"permission",this.jqDialog,null);this.jqApply=this.jqDialog.first('.apply');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"apply",this.jqApply,null);this.jqCancel=this.jqDialog.first('.cancel');this.jqUnlisted=this.jqDialog.find('input.unlisted');this.jqSubscriptions=this.jqDialog.find('input.subscription');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"subscribe",this.jqSubscriptions,null);this.whiteListLink=this.jqDialog.find('.whiteListLink');});K.oo('method',"registerEvents",function(){this.jqApply.click((function(self){return function(){self.setPermissions();self.hideDialog();}})(this));this.jqCancel.click((function(self){return function(){self.hideDialog();}})(this));});K.oo('method',"populate",function(){var isStatic=this.data.dataset.isStatic;var subscribe=this.data.dataset.subscribe;var unlisted=this.data.dataset.unlisted;var isPrivate=this.data.dataset.isPrivate;this.jqSubscriptions.val([subscribe]);this.jqUnlisted[0].checked=!unlisted;if(this.isShowWhiteListLink()){this.whiteListLink.html(this.htmlCache.whiteListLink());}else{this.whiteListLink.html('white list');}});K.oo('method',"setPermissions",function(){var permissions={subscription:this.jqDialog.find('.subscription:checked').val(),unlisted:!this.jqUnlisted[0].checked};this.data.setPermissions(permissions);});K.oo('method',"showDialog",function(){this.populate();this.jq.dialog('open');});K.oo('method',"hideDialog",function(){this.jq.dialog('close');});K.oo('method',"isShowWhiteListLink",function(){return(this.auth.isDev()||this.auth.isAdmin());});K.oo('method',"e_dataLoaded",function(){this.toggleMenu();});K.oo('method',"e_userLoggedIn",function(){this.toggleMenu();});K.oo('method',"toggleMenu",function(){if(this.data.isOwner()||this.auth.isAdmin()){this.gridMenu.showMenuItem('file > tablePermissions');}else{this.gridMenu.hideMenuItem('file > tablePermissions');}});})(Grid0.TablePermissionsController,Grid0);Grid0.TablePermissionsController.oo('setHTMLCache',{"whiteListLink":function(){return"<a href='\/account\/data?tab=2'>white list<\/a>"},"main":function(){return"<div class='tablePermissionDialog'><ul><li><div class='key'>Abuse\/Spam<\/div><div class='input'><ul><li><input class='radioButton subscription' id='sub_blacklist' name='subscription' type='radio' value='BLACKLIST' \/><label for='sub_blacklist'>This table removes data from known spammers<\/label><\/li><li><input class='radioButton subscription' id='sub_whitelist' name='subscription' type='radio' value='WHITELIST' \/><label for='sub_whitelist'>This table only contains data from myself and users on my approved&nbsp;<span class='whiteListLink'>white list<\/span><\/label><\/li><li><input class='radioButton subscription' id='sub_none' name='subscription' type='radio' value='NONE' \/><label id='sub_none'>This table accepts corrections and new rows from anyone<\/label><\/li><\/ul><\/div><\/li><li><div class='key'>Show this table in search results?<\/div><div class='input'><input class='checkBox unlisted' type='checkbox' \/><span>this table will be shown in search results.<\/span><\/div><\/li><div class='buttons'><span class='apply fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Apply      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/div><\/ul><\/div>"}});JS2.OO.createClass("Grid0.RemoveTableController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth gridMenu');K.oo('method',"showCountdown",function(){var countdown=this.data.datasetCountdown();if(!countdown)return;if(this.data.isOwner()){sci.website.message(this.htmlCache.deletable(countdown));$('.messages #showOwnerHelp').click((function(self){return function(){self.showHelpDialog();}})(this));}else{sci.website.message(this.htmlCache.countdown(countdown));}});K.oo('method',"showHelpDialog",function(){if(!this.helpDialog){var options={modal:true};this.helpDialog=this.util.buildDialog('ownerHelp',this.htmlCache.help(),options);}
this.helpDialog.dialog('open');});K.oo('method',"e_initHTML",function(){this.showCountdown();this.buildDialog();});K.oo('method',"buildDialog",function(){var options={title:'Remove this Table?',modal:true,autoOpen:false,width:300,minWidth:250,resizable:false,buttons:{'Cancel':(function(self){return function(){self.hideDialog();}})(this),'Ok':(function(self){return function(){self.removeTable();self.hideDialog();}})(this)}};this.jq=this.util.buildDialog(this.dialogName,this.htmlCache.main(),options);});K.oo('method',"showDialog",function(){this.jq.dialog('open');});K.oo('method',"hideDialog",function(){this.jq.dialog('close');});K.oo('method',"e_fileMenuClicked",function(name){if(!this.data.deletable())return;if((name=='file > removeTable')){this.showDialog();}});K.oo('method',"removeTable",function(){this.data.removeTable();});K.oo('method',"e_dataLoaded",function(){this.toggleMenu();});K.oo('method',"toggleMenu",function(){if(this.data.deletable()){this.gridMenu.showMenuItem('file > removeTable');}else{this.gridMenu.hideMenuItem('file > removeTable');}});K.oo('method',"e_userLoggedIn",function(){this.showCountdown();this.toggleMenu();});})(Grid0.RemoveTableController,Grid0);Grid0.RemoveTableController.oo('setHTMLCache',{"help":function(){return"<div>* To remove this table, use&nbsp;<i>File -> Remove this Table<\/i><br \/>* To change the licensing terms of this table, use&nbsp;<i>File -> License\/Permissions<\/i><\/div>"},"deletable":function(countdown){return"You may<strong>&nbsp;remove this table&nbsp;<\/strong>or<strong>&nbsp;change its licensing terms&nbsp;<\/strong>within the next&nbsp;<span class='countdown'>"+countdown+"<\/span>.&nbsp;<a id='showOwnerHelp'>How do I do this?<\/a>"},"main":function(){return"<div class='removeTable-dialogAre'>You sure you want to delete this table? This action cannot be undone.<\/div>"},"countdown":function(countdown){return"This is a new table. The owner of this table has the right to<strong>&nbsp;delete&nbsp;<\/strong>or<strong>&nbsp;change the licensing terms&nbsp;<\/strong>for this table for next&nbsp;<span class='countdown'>"+countdown+"<\/span>"}});JS2.OO.createClass("Grid0.AddField");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth gridMenu');K.oo('method',"e_initHTML",function(){this.dialog=new Sci.FieldDialog();this.dialog.onSubmit((function(self){return function(data){self.data.addField(data)}})(this));});K.oo('method',"e_fieldsMenuClicked",function(name){if(name=='fields > addField'){this.loadForm();}});K.oo('method',"loadForm",function(){if(this.auth.requireLogin(this))return;var defaultData={datatype:'string',agg:'mode',isHidden:!this.isEditable()};this.dialog.setup('create',false,this.auth);this.dialog.load(defaultData);if(!this.isEditable()){this.dialog.f.visible.control.jqRadios.attr('disabled',true);}});K.oo('method',"isEditable",function(){return(this.data.isOwner()||this.auth.isAdmin());});K.oo('method',"e_dataLoaded",function(){this.toggleMenu();});K.oo('method',"e_userLoggedIn",function(){this.toggleMenu();});K.oo('method',"toggleMenu",function(){if(this.bigData){if(this.isEditable()){this.gridMenu.showMenuItem('fields > addField');}else{this.gridMenu.hideMenuItem('fields > addField');}}else{if(!this.actions.isPkFkJoin()){this.gridMenu.showMenuItem('fields > addField');}else{this.gridMenu.hideMenuItem('fields > addField');}}});})(Grid0.AddField,Grid0);JS2.OO.createClass("Grid0.DeleteField");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','columnMenu header');K.oo('method',"initHTML",function(){this.jqDeleteButton=this.columnMenu.addItem('Delete field','deleteFieldButton');this.jqRemoveButton=this.columnMenu.addItem('Remove field from view','removeFieldFromViewButton');});K.oo('method',"registerEvents",function(){var self=this;this.jqDeleteButton.click(function(){self.deleteField();});this.jqRemoveButton.click(function(){self.removeField();});});K.oo('method',"showColumnMenu",function(){this.col=this.header.contexts.click.col;var deletable=this.fieldsDeletable[this.col.field.id];if(this.col.isPrimary){this.jqRemoveButton.hide();this.jqDeleteButton.hide();return;}
if(this.isView()){this.jqRemoveButton.show();this.jqDeleteButton.hide();}else{if(deletable){this.jqDeleteButton.show();}else{this.jqDeleteButton.hide();}
this.jqRemoveButton.hide();}});K.oo('method',"deleteField",function(){if(!confirm('Are you sure you want to delete "'+this.col.name+'"? This action cannot be undone.'))return;if(this.actions.isGeoUseField(this.col.field.id)&&!this.data.confirmForDisableGeoFunction())return;this.notify('alert','Deleting Field...');var self=this;var url='/tables/main/'+this.col.datasetKey+'/delete_field';var params={'field_id':this.col.id};params._event='DeleteField';params._event_params=JSON.stringify({table_id:this.col.datasetId,field_id:this.col.id});sci.ajax.post(url,params,function(res){self._deleteField(res)});});K.oo('method',"_deleteField",function(res){if(res=='success'){this.data.reloadGrid();}});K.oo('method',"removeField",function(){if(!confirm('Are you sure you want to delete "'+this.col.name+'"? This action cannot be undone.'))return;if(this.actions.isGeoUseField(this.col.field.id)&&!this.data.confirmForDisableGeoFunction())return;var self=this;var url='/tables/main/'+this.data.dataset.key+'/delete_field_from_view';var params={'field_id':this.col.id};sci.ajax.post(url,params,function(res){self._deleteField(res)});});K.oo('method',"buildColumns",function(cols){this.fieldsDeletable={};for(var i=0,c;c=cols[i];i++){this.fieldsDeletable[c.id]=c.field.isDeletable;}});K.oo('method',"isView",function(){if(this.col.datasetId!=this.data.dataset.id){return true;}else{return false;}});})(Grid0.DeleteField,Grid0);JS2.OO.createClass("Grid0.DeleteFieldEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.controller.initHTML();this.controller.registerEvents();});K.oo('method',"e_showColumnMenu",function(){this.controller.showColumnMenu()});K.oo('method',"e_buildColumns",function(cols){this.controller.buildColumns(cols);});})(Grid0.DeleteFieldEvents,Grid0);JS2.OO.createClass("Grid0.ReorderFieldsController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth gridMenu');K.oo('member','dialogName','Reorder Fields');K.oo('method',"e_initHTML",function(){this.buildDialog();this.registerEvents();});K.oo('method',"buildDialog",function(){var options={title:'Reorder Field from this Table',modal:true,autoOpen:false,width:320,height:240,minWidth:320,minHeight:240,resizeStop:(function(self){return function(){self.sizeDragSpace();}})(this)};this.jq=this.util.buildDialog(this.dialogName,this.htmlCache.main(),options);this.jqMsg=this.jq.first('.message');this.jqFields=this.jq.first('ul.reorderableFields');this.jqButtons=this.jq.first('.buttons');this.jqApply=this.jqButtons.first('.apply');this.jqCancel=this.jqButtons.first('.cancel');});K.oo('method',"sizeDragSpace",function(){this.jqFields.height(this.jq.height()-this.jqMsg.height()-this.jqButtons.height()-20);});K.oo('method',"buildReorderableFields",function(){this.jqFields.html('');var fields=this.getReorderFields();if(fields.length>1){for(var i=0,f,i__arr=fields,i__len=i__arr.length;(f=i__arr[i])||i<i__len;i++){var field=$(this.htmlCache.field(f.id,DISPLAY.html(f.name)));this.jqFields.append(field);}
this.jqFields.sortable();}else{var msg='Currently, there are not enough fields to reorder.';this.jqFields.html(msg);}});K.oo('method',"getReorderFields",function(){var fields=[];var columns=this.schema.immutable.fields;for(var it46=0,f,it46__arr=columns,it46__len=it46__arr.length;(f=it46__arr[it46])||it46<it46__len;it46++){if(!f.isPrimary&&!this.isVirtual(f)&&f.isVotable)fields.push(f);}
return fields;});K.oo('method',"isVirtual",function(field){var col=this.data.columnById(field.id);return col.datasetId!=this.data.dataset.id;});K.oo('method',"registerEvents",function(){this.jqApply.click((function(self){return function(){self.applyReorder();self.jq.dialog('close');}})(this));this.jqCancel.click((function(self){return function(){self.jq.dialog('close');}})(this));});K.oo('method',"applyReorder",function(){var orders={};this.jqFields.children().each(function(i,o){orders[$(o).attr("fid")]=i;});this.data.reorderFields(orders);});K.oo('method',"showDialog",function(){this.buildReorderableFields();this.jq.dialog('open');});K.oo('method',"e_fieldsMenuClicked",function(name){if(name=='fields > reorderFields'){if(this.auth.loggedIn()){this.showDialog();}else{location.href='/tables/'+this.data.dataset.key+'/fields/add';}}});K.oo('method',"e_dataLoaded",function(){this.toggleMenu();});K.oo('method',"e_userLoggedIn",function(){this.toggleMenu();});K.oo('method',"toggleMenu",function(){if(this.data.reorderable()&&this.getReorderFields().length>1){this.gridMenu.showMenuItem('fields > reorderFields');}else{this.gridMenu.hideMenuItem('fields > reorderFields');}});})(Grid0.ReorderFieldsController,Grid0);Grid0.ReorderFieldsController.oo('setHTMLCache',{"field":function(id,fieldName){return"<li fid='"+id+"'><span class='reorder-icon'><\/span>"+fieldName+"<\/li>"},"main":function(){return"<div class='reorder-dialog'><p class='message'>Drag the fields into the order that you'd like them to appear in the table.<\/p><div class='reorder-container'><ul class='reorderableFields'><\/ul><\/div><div class='buttons'><span class='apply fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Apply      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/div><\/div>"}});JS2.OO.createClass("Grid0.Filter");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"mainHeader columnMenu firstRunTip gridMenu");K.oo('method',"e_initHTML",function(){this.columnMenu.addItem('advanced:','title');this.filterApp=APP(Grid0Filter,{seed:this.mainHeader.prependMain('<div class="filterUniverse" />'),grid0:this.main,columnMenu:this.columnMenu,firstRunTip:this.firstRunTip,voteFilterButton:this.voteFilterButton});this.filterApp.start();});K.oo('method',"e_addSearchQuery",function(query){this.filterApp.addSearchQuery(query);});K.oo('method',"e_bigData",function(bigData,unlisted){if(!unlisted)this.filterApp.setBigData(bigData,unlisted);});K.oo('method',"e_dataLoaded",function(){this.filterApp.dataLoaded();});K.oo('method',"e_resizing",function(){if(this.filterApp)this.filterApp.resize();});K.oo('method',"e_filtersMenuClicked",function(name,jqObject){switch(name){case'filters > facts':this.filterApp.newFilter('Summary');break;case'filters > subjects':this.filterApp.newFilter('Summary');this.filterApp.notify('selectColumnSb','subject');break;case'filters > rows':this.filterApp.newFilter('Summary');this.filterApp.notify('selectColumnSb','table');break;case'filters > votes':this.filterApp.newFilter('Vote');break;case'filters > applyPoi':if(jqObject.parent().is('.disabled'))break;this.notify('setPoiFilter',true);break;case'filters > poiExplain':this.notify('showPoiExplain');break;}});K.oo('method',"e_highlightCell",function(context){if(context){this.columnIdx=context.col.id;}});K.oo('method',"e_revert_back",function(save_point){this.filterApp.notify('revert_back',save_point);});})(Grid0.Filter,Grid0);JS2.OO.createClass("Grid0Filter.Main");Grid0Filter.Main.oo('extends',JS2.Main);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','components',['Data','Tray','FilterForm','GeoForm','GeoFunctionDialog']);K.oo('member','core',['Data']);K.oo('member','dependencies','tray');K.oo('method',"initialize",function(options){this.grid0=options.grid0;this.columnMenu=options.columnMenu;_super(this);});K.oo('method',"e_start",function(){var dict=new Grid0Filter.Dict();this.assign('dict',dict);this.assign('grid0',this.grid0);this.notify('initHTML');});K.oo('method',"e_initHTML",function(){this.initHTML();this.registerEvents();});K.oo('method',"initHTML",function(){this.jq=$(this.htmlCache.main());this.seed.jq.prepend(this.jq);this.seed.setSeed(this.jq);this.jqLinks=$(this.htmlCache.links());this.jqAddSummaryFilter=this.jqLinks.eq(0);var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Add Summary Filter",this.jqAddSummaryFilter,null);this.jqMenuLi=this.columnMenu.addItem('Filter this field','filter')
var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Menu List",this.jqMenuLi,null);this.jqClearAllFilters=this.jq.first('.clearAll a');});K.oo('method',"registerEvents",function(){var self=this;this.jqAddSummaryFilter.click(function(){self.newFilter('Summary');});this.jqMenuLi.click(function(){self.newFilter('Summary',{fromColumnMenu:true});self.notify('selectColumnSb',self.columnMenu.context.col.id);});this.jqClearAllFilters.click(function(){self.data.clearAllFilters();});});K.oo('method',"newFilter",function(type,options){if(!options)options={};var jqLastFilter=this.tray.view.jqList.find('>li:last');var jqTray=this.tray.view.jq;var position;if(jqLastFilter.length==0){position={top:0,left:0};}else{position=jqLastFilter.position();position.left+=jqLastFilter.width()+10;if(position.left+jqLastFilter.width()>jqTray.width()){position.left=0;position.top+=jqLastFilter.height()+4;}}
this.notify('new'+type+'Filter',position,options);});K.oo('method',"addSearchQuery",function(query){this.data.addSearchQuery(query);});K.oo('method',"dataLoaded",function(){this.notify('dataLoaded');this.toggleClearAllFilters();});K.oo('method',"resize",function(){this.notify('resize');});K.oo('method',"links",function(){return this.jqLinks;});K.oo('method',"e_revert_back",function(save_point){var filter={attribute:'timestamp',caseSensitive:false,fieldId:'fact',filterType:'vote',inclusive:true,operator:'lt',type:'fact',value:save_point}
this.data.addFilter('vote',filter);});K.oo('method',"setBigData",function(bigData,unlisted){this.assign('bigData',bigData);this.assign('unlisted',unlisted);});K.oo('method',"e_newFilter",function(type,options){this.newFilter(type,options);});K.oo('method',"toggleClearAllFilters",function(){if(this.data.hasFilters()){this.jqClearAllFilters.show();}else{this.jqClearAllFilters.hide();}});})(Grid0Filter.Main,Grid0Filter);Grid0Filter.Main.oo('setHTMLCache',{"links":function(){return"<a href='javascript:void(0);'>Filter<\/a>"},"main":function(){return"<div class='filterTrayContainer'><div class='filterTray filterTrayMin'><h2>Filters:<\/h2><ol><\/ol><div class='clearAll'><a>clear all<\/a><\/div><div class='clear'><\/div><a class='min'>Close<\/a><a class='max'>More<\/a><\/div><div class='filterTrayDaemon'><\/div><\/div>"}});JS2.OO.createClass("Grid0Filter.Data");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.schema=options.grid0.schema;this.datatypes=sci.constants.datatypes;this.filterAttrs={summary:sci.constants.rowFilterAttributes,vote:sci.constants.voteFilterAttributes}
this.FILTER_TYPE={"Qlisp::Action::RowFilter":'summary',"Qlisp::Action::VoteFilter":'vote'};this.summaryFilters=[];this.voteFilters=[];this.searchQueries=[];this.geoFunction=null;});K.oo('method',"e_dataLoaded",function(){this.summaryFilters=this.grid0.rowFilters();this.voteFilters=this.grid0.voteFilters();this.searchQueries=this.grid0.searchQueries();this.geoFunction=this.grid0.geoFunction();this.geoSort=null;this.geoFilters=[];if(this.geoFunction){this.geoSort=this.geoFunction.geoSort;this.geoFilters=this.geoFunction.geoFilters||[];}});K.oo('method',"e_alert",function(message){this.grid0.notify('alert',message);});K.oo('method',"hasFilters",function(){return!(this.summaryFilters.length==0&&this.voteFilters.length==0&&this.searchQueries.length==0&&!this.geoSort&&this.geoFilters.length==0&&!(this.grid0.actions.isPoiFilterHashReady()&&this.grid0.actions.getPoiFilter()));});K.oo('method',"applyFilters",function(options){this.grid0.applyFilters(this.summaryFilters,this.voteFilters,options);this.grid0.notify('actionsModified');});K.oo('method',"applySearchQueries",function(){this.grid0.applySearchQueries(this.searchQueries);this.grid0.notify('actionsModified');});K.oo('method',"applyGeoFunction",function(){this.geoFunction.geoSort=this.geoSort;this.geoFunction.geoFilters=this.geoFilters;this.grid0.applyGeoFunction(this.geoFunction);this.grid0.notify('actionsModified');});K.oo('method',"modifyFilter",function(){this.notify('alert','Applying Filter...');this.applyFilters();});K.oo('method',"addSearchQuery",function(query){this.searchQueries.push(query);this.notify('alert','Searching...');this.applySearchQueries();});K.oo('method',"addFilter",function(filterType,filter){var options={};var filterDescription=this.filterDescription(filter);switch(filterType){case'summary':options._event='AddRowFilter';options._event_params=JSON.stringify({filter_description:filterDescription});this.summaryFilters.push(filter);break;case'vote':options._event='AddInputFilter';options._event_params=JSON.stringify({filter_description:filterDescription});this.voteFilters.push(filter);break;default:};this.notify('filterAdded',filterType,filter);this.notify('alert','Applying Filter...');this.applyFilters(options);});K.oo('method',"deletePoiFilter",function(){this.grid0.notify('setPoiFilter',false);});K.oo('method',"deleteFilter",function(filterType,idx){var options={};switch(filterType){case'summary':var filter=this.summaryFilters.splice(idx,1)[0];var filterDescription=this.filterDescription(filter);options._event='RemoveRowFilter';options._event_params=JSON.stringify({filter_description:filterDescription});break;case'vote':var filter=this.voteFilters.splice(idx,1)[0];var filterDescription=this.filterDescription(filter);options._event='RemoveInputFilter';options._event_params=JSON.stringify({filter_description:filterDescription});break;default:};if(this.hasFilters()){this.notify('alert','Removing Filter...');}else{this.notify('alert','Clearing Filter...');}
this.applyFilters(options);});K.oo('method',"deleteSearchQuery",function(idx){this.searchQueries.splice(idx,1);this.applySearchQueries();this.notify('alert','Clearing Search...');});K.oo('method',"deleteGeoSort",function(){this.geoSort=null;this.applyGeoFunction();this.notify('alert','Clearing Geo Filter...');});K.oo('method',"deleteGeoFilter",function(idx){this.geoFilters.splice(idx,1);this.applyGeoFunction();this.notify('alert','Clearing Geo Filter...');});K.oo('method',"filterDescription",function(filter){var options=this.descOptions(filter);var tagRe=new RegExp("<[a-z/]+>","g");var subject=options.name.replace(tagRe,'');var operator=options.operator.replace(tagRe,'');var attribute=options.attribute.replace(tagRe,'');var value=options.value;return subject+' '+attribute+' '+operator+' '+value;});K.oo('method',"descOptions",function(filter){var descHash={};var dt=this.getDatatype(filter);var filterType=filter.filterType||this.FILTER_TYPE[filter._rclass];descHash.filterType=filterType;if(filter.type=='field'){var colIdx=this.schema.columnIdxById(filter.fieldId);descHash.name=this.schema.column(colIdx).name;}else{descHash.name=this.dict[filterType].cols[filter.type];}
var attrs=this.dict[filterType].attrs[filter.type];descHash.attribute=attrs[this.getAttributeVerbiage(filter)];var operator=this.getOperator(filter,dt);descHash.operator=this.dict.datatypes[dt.name][operator.verbiage];descHash.value=DISPLAY.html(this.getFilterValue(filter,operator));return descHash;});K.oo('method',"getDatatype",function(filter){var filterType=filter.filterType||this.FILTER_TYPE[filter._rclass];var attrs=this.filterAttrs[filterType][filter.type];for(var i=0,attr;attr=attrs[i];i++){if(attr.id==filter.attribute){var datatype=attr.datatype;if(!datatype&&filter.type=='subject'){var pks=this.grid0.data.pks();if(pks.length==1)datatype=pks[0].datatype;}
if(!datatype){var colIdx=this.grid0.columnIdxById(filter.fieldId);var column=this.grid0.column(colIdx);datatype=column?column.datatype:'String';}
return this.datatypes[datatype];}}});K.oo('method',"getAttributeVerbiage",function(filter){return filter.attribute.replace(/[\-\_]+(.)?/g,function(match,c){return(c||'').toUpperCase()});});K.oo('method',"getOperator",function(filter,dt){for(var i=0,o;o=dt.operatorOptions[i];i++){if(o.id==filter.operator||o.verbiage==filter.operator)return o;}});K.oo('method',"getFilterValue",function(filter,operator){var value='';if(operator.value||operator.value==0){if(operator.value instanceof Array){for(var i=0,v;v=operator.value[i];i++){if(v.id==filter.value){value=v.viewName.toLowerCase();break;}}}}else{value=filter.value;}
return DISPLAY.trim(value);});K.oo('method',"initGeoFunction",function(lat,lng){this.geoFunction={_rclass:"Qlisp::Action::GeoFunction",latFieldId:lat,lngFieldId:lng,geoSort:null,geoFilters:[]};this.grid0.initGeoFunction(this.geoFunction);});K.oo('method',"setGeoSort",function(geoSort){this.geoSort=geoSort
this.notify('alert','Applying Geo Filter...');this.notify('geoSortSet',geoSort);this.applyGeoFunction();});K.oo('method',"addGeoFilter",function(geoFilter){this.geoFilters.push(geoFilter);this.notify('alert','Applying Geo Filter...');this.notify('geoFilterAdded',geoFilter);this.applyGeoFunction();});K.oo('method',"clearAllFilters",function(){this.notify('alert','Removing All Filters...');this.grid0.clearAllFilters();});K.oo('method',"updateGeoFilter",function(index,geoFilter){this.geoFilters[index]=geoFilter;this.notify('alert','Updating Geo Filter...');this.applyGeoFunction();});})(Grid0Filter.Data,Grid0Filter);JS2.OO.createClass("Grid0Filter.Dict");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(){this.buildDatatypesDict();this.buildSummaryDict();this.buildVoteDict();});K.oo('method',"buildDatatypesDict",function(){this.datatypes={Date:{'is-on':'is <strong>on</strong>','is-not-on':'is <strong>not on</strong>','before':'<strong>before</strong>','after':'<strong>after</strong>'},String:{'contains':'that <strong>contains</strong>','contains-in':'that <strong>contains any of</strong>','eqp':'<strong>equal</strong> to','eqp-in':'<strong>equal</strong> to <strong>any of</strong>','not-equals':'<strong>not equal</strong> to','starts-with':'that <strong>starts with</strong>','starts-within':'that <strong>starts with any of</strong>','ends-with':'that <strong>ends with</strong>','ends-within':'that <strong>ends with any of</strong>','blank':'that is <strong>blank</strong>','not-blank':'that is <strong>not blank</strong>'},Integer:{'equals':'<strong>equal</strong> to','equals-in':'<strong>equal</strong> to <strong>any of</strong>','not-equals':'<strong>not equal</strong> to','smaller-than':'<strong>less</strong> than','bigger-than':'<strong>greater</strong> than'},Numeric:{'equals':'<strong>equal</strong> to','equals-in':'<strong>equal</strong> to <strong>any of</strong>','not-equals':'<strong>not equal</strong> to','smaller-than':'<strong>less</strong> than','bigger-than':'<strong>greater</strong> than','blank':'that is <strong>blank</strong>','not-blank':'that is <strong>not blank</strong>'},Strength:{'debated':'that is <b>debated.</b>','ndebated':'that is <b>not debated.</b>','eq':'<strong>equal</strong> to','neq':'<strong>not equal</strong> to','smaller':'<strong>less</strong> than','bigger':'<strong>greater</strong> than'},GarbageCount:{'more':'by more than','less':'by less than'},IsGarbage:{'eq':'was flagged as Garbage','neq':'was not flagged as Garbage'},Table:{'eq':'<strong>with</strong> the <strong>table ID</strong>','neq':'<strong>without</strong> the <strong>table ID</strong>','from':'came from <strong>this table</strong>','notFrom':'<strong>not</strong> came from <strong>this table</strong>'},Text:{'contains':'that <strong>contains</strong>','notContains':'that <strong>not contains</strong>','blank':'that is <strong>blank</strong>','notBlank':'that is <strong>not blank</strong>'},VotingUser:{'contains':'that <strong>contains</strong>','eq':'<strong>equal</strong> to','neq':'<strong>not equal</strong> to','starts':'that <strong>starts with</strong>','ends':'that <strong>ends with</strong>','me':'is <strong>me</strong>','notMe':'is <strong>not me</strong>','active':'is an <strong>active user</strong>','notActive':'is <strong>no longer an active user</strong>'},Time:{'before':'before timestamp'}};this.datatypes['Link']=this.datatypes['String'];this.datatypes['PhoneNumber']=this.datatypes['String'];this.datatypes['ZipCode']=this.datatypes['String'];this.datatypes['UUID']=this.datatypes['String'];this.datatypes['Lat']=this.datatypes['Numeric'];this.datatypes['Lng']=this.datatypes['Numeric'];});K.oo('method',"buildSummaryDict",function(){this.summary={cols:{fact:"any <strong>fact</strong>",subject:"any <strong>subject</strong>",table:"any <strong>subject</strong> or <strong>fact</strong>",geo:"<strong>geographic location</strong>"},attrs:{fact:{consensusValue:"has a <strong>consensus value</strong>",strength:"has a <strong>level of consensus</strong>",voteCount:"has a <strong>total number of inputs</strong>","!voteCount":"",uniqueVotes:"has a <strong>number of counted inputs</strong>"},subject:{consensusValue:"has a <strong>label</strong>",garbageCount:"was flagged as <strong>garbage</strong>"},table:{consensusValue:"has a <strong>label</strong> or <strong>consensus</strong> value",strength:"has a <strong>level of consensus</strong>",voteCount:"has a <strong>total number of inputs</strong>","!voteCount":"",uniqueVotes:"has a <strong>number of counted inputs</strong>"},field:{consensusValue:"has a <strong>consensus value</strong>",strength:"has a <strong>level of consensus</strong>",voteCount:"has a <strong>total number of inputs</strong>","!voteCount":"",uniqueVotes:"has a <strong>number of counted inputs</strong>"}}};});K.oo('method',"buildVoteDict",function(){var voteBaseAttrs={value:"<strong>input value</strong>",userId:"contributing <strong>username</strong>",comments:"<strong>comment</strong>",source:"source <strong>citation</strong>",date:"<strong>input date</strong>",sourceDataset:"came from <strong>table</strong>",subject:"<strong>input value</strong>",timestamp:"timestamp"};this.vote={cols:{fact:"any <strong>input</strong> to a <strong>fact's</strong>"},attrs:{fact:voteBaseAttrs,field:voteBaseAttrs}};});})(Grid0Filter.Dict,Grid0Filter);JS2.OO.createClass("Grid0Filter.TrayController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','filterForm');K.oo('method',"initialize",function(options){this.grid0=options.grid0;this.firstRunTip=options.firstRunTip;});K.oo('method',"registerEvents",function(){var self=this;var view=this.view;view.jqList.click(function(evt){view.clickList(evt.target);});view.jqMin.click(function(){self.notify('minimize');});view.jqMax.click(function(){self.notify('maximize');});});K.oo('method',"e_newSummaryFilter",function(){this.maximize();});K.oo('method',"e_newVoteFilter",function(){this.maximize();});K.oo('method',"e_newGeoFilter",function(){this.maximize();});K.oo('method',"e_editFilter",function(){this.maximize();});K.oo('method',"dataLoaded",function(){this.view.jqList.html('');if(this.grid0.actions.isPoiFilterHashReady()&&this.grid0.actions.getPoiFilter()){this.view.appendPoiFilter();}
for(var it54=0,f,it54__arr=this.data.voteFilters,it54__len=it54__arr.length;(f=it54__arr[it54])||it54<it54__len;it54++){this.view.appendFilter(f);}
for(var it55=0,f,it55__arr=this.data.summaryFilters,it55__len=it55__arr.length;(f=it55__arr[it55])||it55<it55__len;it55++){this.view.appendFilter(f);}
for(var it56=0,q,it56__arr=this.data.searchQueries,it56__len=it56__arr.length;(q=it56__arr[it56])||it56<it56__len;it56++){this.view.appendQuery(q);}
if(this.data.geoSort)this.view.appendGeo('Sort',this.data.geoSort);for(var it57=0,f,it57__arr=this.data.geoFilters,it57__len=it57__arr.length;(f=it57__arr[it57])||it57<it57__len;it57++){this.view.appendGeo('Filter',f);}
this.view.toggleTray();this.view.checkSize();});K.oo('method',"filterAdded",function(filterType,filter){this.view.appendFilter(filter);});K.oo('method',"geoFilterAdded",function(geoFilter){this.view.appendGeo('Filter',geoFilter);});K.oo('method',"geoSortSet",function(geoSort){this.view.appendGeo('Sort',geoSort);});K.oo('method',"resize",function(){this.view.checkSize();});K.oo('method',"showPoiExplain",function(){this.grid0.notify('showPoiExplain');});K.oo('method',"editFilter",function(jq){var filterInfo=this.view.getFilterInfo(jq);this.notify('editFilter',filterInfo.filterType,filterInfo.index,jq);});K.oo('method',"deleteFilter",function(jq){var filterInfo=this.view.getFilterInfo(jq);if(filterInfo.filterType=='query'){this.data.deleteSearchQuery(filterInfo.index);}else if(filterInfo.filterType=='geoSort'){this.data.deleteGeoSort();}else if(filterInfo.filterType=='geoFilter'){this.data.deleteGeoFilter(filterInfo.index);}else if(filterInfo.filterType=='poiFilter'){this.data.deletePoiFilter();}else{this.data.deleteFilter(filterInfo.filterType,filterInfo.index);}});K.oo('method',"minimize",function(){this.isMaximized=false;this.view.minimize();this.firstRunTip.view.hide();});K.oo('method',"maximize",function(){this.view.jq.show();if(!this.isMaximized){this.isMaximized=true;this.view.maximize();}
this.firstRunTip.view.hide();});})(Grid0Filter.TrayController,Grid0Filter);JS2.OO.createClass("Grid0Filter.TrayView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.schema=options.grid0.schema;this.grid0=options.grid0;});K.oo('method',"initHTML",function(){this.jq=this.seed.first('.filterTray');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Filter Tray",this.jq,null);this.jqDaemon=this.seed.first('.filterTrayDaemon');this.jqList=this.jq.first('ol');this.jqMin=this.jq.first('.min');this.jqMax=this.jq.first('.max');this.jq.hide();this.jqDaemon.hide();});K.oo('method',"clickList",function(ele){var jq=$(ele);if(jq.is('.edit')||jq.parents('.edit').length>0){this.controller.editFilter(jq.parents('li:first'));}
if(jq.is('.delete')){this.controller.deleteFilter(jq.parents('li:first'));}
if(jq.is('.poiExplain')){this.controller.showPoiExplain();}});K.oo('method',"getFilterInfo",function(jq){var filterType;if(jq.hasClass('summary')){filterType='summary';}else if(jq.hasClass('vote')){filterType='vote';}else if(jq.hasClass('query')){filterType='query';}else if(jq.hasClass('geoSort')){filterType='geoSort';}else if(jq.hasClass('geoFilter')){filterType='geoFilter';}else if(jq.hasClass('poi')){filterType='poiFilter';}
var index=this.jqList.find('.'+filterType).index(jq);return{filterType:filterType,index:index};});K.oo('method',"appendFilter",function(filter){try{var jq=this.getItem(filter);this.jqList.append(jq);return jq;}catch(e){}});K.oo('method',"appendQuery",function(query){var params={};params.operator=query.operator;params.value=DISPLAY.html(query.value)
var jq=this.htmlCache.query(params);this.jqList.append(jq);return jq;});K.oo('method',"appendGeo",function(type,geo){this.jqList.append(this.htmlCache['geo'+type](geo));});K.oo('method',"getItem",function(filter){var params=this.data.descOptions(filter);if(filter.attribute=='value'&&params.filterType=='vote'){return $(this.htmlCache.filterDisabledClick(params));}
else{return $(this.htmlCache.filter(params));}});K.oo('method',"appendPoiFilter",function(){this.jqList.append(this.htmlCache.poiFilter());});K.oo('method',"maximize",function(){this.jq.removeClass('filterTrayMin').addClass('filterTrayMax');var h=this.jq.outerHeight()+200;this.jq[0].style.height=h+'px';this.jqMax.hide();this.toggleDaemonTray(true);});K.oo('method',"minimize",function(){this.jq.removeClass('filterTrayMax').addClass('filterTrayMin');this.jq[0].style.height=null;this.checkSize();this.toggleDaemonTray(false);});K.oo('method',"toggleDaemonTray",function(show){if(show){if(this.data.hasFilters()){this.jqDaemon.show();}else{this.jqDaemon.hide();}}else{this.jqDaemon.hide();}});K.oo('method',"toggleTray",function(){if(this.data.hasFilters()){this.jq.show();if(!this.isShowing)this.grid0.autoResize();this.isShowing=true;}else{this.jq.hide();this.jqDaemon.hide();if(this.isShowing)this.grid0.autoResize();this.isShowing=false;}});K.oo('method',"checkSize",function(){if(!this.data.hasFilters())return;var minHeight=this.jq.height();var scrollHeight=this.jq[0].scrollHeight;if(minHeight<scrollHeight&&!this.controller.isMaximized){this.jqMax.show();}else{this.jqMax.hide();}});})(Grid0Filter.TrayView,Grid0Filter);JS2.OO.createClass("Grid0Filter.TrayEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_setFilters",function(filters){this.controller.setFilters(filters);});K.oo('method',"e_maximize",function(){this.controller.maximize();});K.oo('method',"e_minimize",function(){this.controller.minimize();});K.oo('method',"e_cancelFilter",function(){});K.oo('method',"e_dataLoaded",function(){this.controller.dataLoaded();});K.oo('method',"e_filterAdded",function(filterType,filter){this.controller.filterAdded(filterType,filter);});K.oo('method',"e_geoFilterAdded",function(geoFilter){this.controller.geoFilterAdded(geoFilter);});K.oo('method',"e_resizing",function(){this.controller.resize();});K.oo('method',"e_filterFormClosed",function(){this.view.toggleTray();});})(Grid0Filter.TrayEvents,Grid0Filter);Grid0Filter.TrayView.oo('setHTMLCache',{"geoFilter":function(geoFilter){return"<li class='geoFilter geo'><div class='delete'><\/div><div class='attribute'>Geo Filter<\/div><div class='parameters'><a class='edit'>Edit<\/a><\/div><\/li>"},"poiFilter":function(){return"<li class='filter poi'><div class='delete'><\/div><div class='attribute'>show only Factual<strong> qualified rows<\/strong><\/div><div class='parameters'><a class='poiExplain'>explain<\/a><\/div><\/li>"},"filter":function(filter){return"<li class='"+filter.filterType+" filter'><div class='delete'><\/div><div class='attribute'><span class='column'>"+filter.name+"&nbsp;<\/span><span class='attribute'>"+filter.attribute+"<\/span><\/div><div class='parameters'><a class='edit'><span class='operator'>"+filter.operator+"&nbsp;<\/span><span class='value'>"+filter.value+"<\/span><\/a><\/div><\/li>"},"geoSort":function(geoSort){return"<li class='geoSort geo'><div class='delete'><\/div><div class='attribute'>Geo Sort<\/div><div class='parameters'><a class='edit'>Edit<\/a><\/div><\/li>"},"filterDisabledClick":function(filter){return"<li class='"+filter.filterType+" filter'><div class='delete'><\/div><div class='attribute'><span class='column'>"+filter.name+"&nbsp;<\/span><span class='attribute'>"+filter.attribute+"<\/span><\/div><div class='parameters'><span class='operator'>"+filter.operator+"&nbsp;<\/span><span class='value'>"+filter.value+"<\/span><\/div><\/li>"},"query":function(query){return"<li class='query'><div class='delete'><\/div><div class='attribute'>"+query.operator+"<\/div><div class='parameters'>"+query.value+"<\/div><\/li>"}});JS2.OO.createClass("Grid0Filter.FilterFormController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"registerEvents",function(){var self=this;this.view.jqForm.cancel.click(function(){self.cancel();});this.view.jqForm.submit.click(function(){self.submit();});this.view.jqForm.value.keydown(function(e){if(e.keyCode==KEYCODE.ENTER){self.submit();}});});K.oo('method',"showGeoFilterForm",function(filterType,index,jq){var geo=null;if(filterType=='geoFilter'){geo=this.data.geoFilters[index];}else{geo=this.data.geoSort;}
this.showFilterForm('summary',null,jq);this.view.toggleColumnSb(false);this.notify('populateGeoForm',geo,index);});K.oo('method',"showFilterForm",function(filterType,index,jq){this.setFilterType(filterType);try{this.filter=this.data[filterType+'Filters'][index];}catch(err){this.filter=null;}
this.view.populateForm(this.filter,filterType);this.view.show(jq);});K.oo('method',"setFilterType",function(filterType){this.filterType=filterType;this.view.filterType=filterType;});K.oo('method',"submit",function(){if(!this.view.validate()){alert('filter value invalid!');return;}
if(this.filter){this.view.populateFilter(this.filter);this.data.modifyFilter();}else{var filter={filterType:this.filterType}
this.view.populateFilter(filter);this.data.addFilter(this.filterType,filter);}
this.notify('minimize');});K.oo('method',"cancel",function(){this.notify('minimize');});K.oo('method',"newSummaryFilter",function(position,options){if(!options)options={};this.showFilterForm('summary',null,position);this.view.toggleSelectBox(options.fromColumnMenu);});K.oo('method',"newVoteFilter",function(position){this.showFilterForm('vote',null,position);this.view.toggleSelectBox(false);});K.oo('method',"editFilter",function(filterType,index,jq){if(filterType.match(/^geo.*$/)){this.showGeoFilterForm(filterType,index,jq);}else{this.showFilterForm(filterType,index,jq);}
this.view.toggleSelectBox(false);});})(Grid0Filter.FilterFormController,Grid0Filter);JS2.OO.createClass("Grid0Filter.FilterFormView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','tray');K.oo('member','FILTER_HEADERS',{summary:'Include ONLY data where:',vote:'Include ONLY inputs where:'});K.oo('method',"initHTML",function(){this.jq=$(this.htmlCache.main()).hide();var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"form",this.jq,null);this.seed.append(this.jq);this.jqNormal=this.jq.first('.normal');this.jqGeo=this.jq.first('.geo');this.jqForm={column:this.jq.first('.column'),attribute:this.jqNormal.first('.attribute'),operator:this.jqNormal.first('.operator'),value:this.jqNormal.first('.value>input'),searchSuggest:this.jqNormal.first('.searchSuggestContainer'),enums:this.jqNormal.first('.enums'),inclusiveDiv:this.jqNormal.first('.inclusive'),inclusive:this.jqNormal.first('.inclusive>input'),cancel:this.jqNormal.first('.cancel'),submit:this.jqNormal.first('.submit')};var jqFormTitle=this.jq.first('h5');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"title",jqFormTitle,null);var jqFormValue=this.jqForm.value;var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"value",jqFormValue,null);var jqFormSubmit=this.jqForm.submit;var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"submit",jqFormSubmit,null);this.jqForm['column'];var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"column",this.jqForm['column'],null);this.jqForm['attribute'];var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"attribute",this.jqForm['attribute'],null);this.jqForm['operator'];var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"operator",this.jqForm['operator'],null);this.jqForm['value'];var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"value",this.jqForm['value'],null);this.jqForm['submit'];var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"submit",this.jqForm['submit'],null);this.buildSelectBoxs();var jqSelectBox=this.jqForm['inclusive'].find('input.inclusive')
var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"inclusive",jqSelectBox,null);this.jqHeader=this.jq.first('h5');this.initSearchSuggest();});K.oo('method',"buildSelectBoxs",function(){var self=this;this.columnSb=new Sci.SelectBox(this.jqForm.column,{selChangeCallBack:function(){self.columnSbChanged();}});this.attributeSb=new Sci.SelectBox(this.jqForm.attribute,{selChangeCallBack:function(){self.populateOperator();}});this.operatorSb=new Sci.SelectBox(this.jqForm.operator,{selChangeCallBack:function(){self.toggleInclusive();self.toggleValue(this.value());}});this.jqColumn=$('<div class="filterColumn" />')
this.jqForm.column.append(this.jqColumn);});K.oo('method',"columnSbChanged",function(){if(this.columnSb.value()=='geo'){this.jqNormal.hide();this.jqGeo.show();this.notify('geoFormShown');}else{this.jqNormal.show();this.jqGeo.hide();var colIdx=this.grid0.columnIdxById(this.columnSb.value());this.currentColumn=this.grid0.column(colIdx);this.populateAttribute(this.columnSb.value());this.populateSimpleForm(this.columnSb.value());}});K.oo('method',"initSearchSuggest",function(){this.searchSuggest=APP(SearchSuggest,{seed:this.jqForm.searchSuggest,input:this.jqForm.value,button:this.jqForm.submit,baseUrl:'/search/pk_suggest',useCache:false,params:{'field_ids[]':this.grid0.schema.pkFieldIds()}});this.searchSuggest.start();this.searchSuggest.disable();});K.oo('method',"show",function(jq){if(jq){if(jq.jquery){this.jq.css(jq.position());}else{this.jq.css(jq);}}else{this.jq.css({top:0,left:0});}
if(this.filterType=='summary'){this.jq.removeClass('vote');this.jq.addClass('summary');}else{this.jq.removeClass('summary');this.jq.addClass('vote');}
this.jq.show();setTimeout((function(self){return function(){self.jqForm.value.focus();}})(this),0);});K.oo('method',"hide",function(){this.jq.hide();this.notify('filterFormClosed');});K.oo('method',"populateForm",function(filter,filterType){this.populateColumnSelectBox();this.jqHeader.html(this.FILTER_HEADERS[filterType]);if(filter){if(filter.type=='field'){this.columnSb.selectValue(filter.fieldId);}else{if(this.bigData){this.columnSb.selectIndex(0);return;}
this.columnSb.selectValue(filter.type);}
this.attributeSb.selectValue(filter.attribute);this.operatorSb.selectValue(filter.operator);this.jqForm.value.toggleInput('val',filter.value);this.jqForm.submit.first('a').html('Done');}else{this.columnSb.selectIndex(0);this.jqForm.value.toggleInput('val','');this.jqForm.submit.first('a').html('Add');}});K.oo('method',"getDatatype",function(){var attrs=this.data.filterAttrs[this.filterType][this.getFilterSubType()];var idx=this.filterType=='vote'?this.attributeSb.selectedIndex()+1:this.attributeSb.selectedIndex();var datatype=attrs[idx].datatype;if(!datatype&&this.getFilterSubType()=='subject'){var pks=this.grid0.data.pks();if(pks.length==1)datatype=pks[0].datatype;}
if(!datatype){datatype=this.currentColumn?this.currentColumn.datatype:'String';}
return this.data.datatypes[datatype];});K.oo('method',"getFilterSubType",function(){var value=this.columnSb.value();if(value=='fact'||value=='subject'||value=='table'){return value;}
return'field';});K.oo('method',"getItemClass",function(item){if(item.viewName&&item.viewName.match(/^!.*/)){return'hidden';}
if(item.id.match(/^!.*/)){return'disabled';}});K.oo('method',"populateColumnSelectBox",function(){this.columnSb.clear();this.toggleColumnSb(true);var cols=this.dict[this.filterType].cols;if(!this.bigData){if(cols.fact)this.columnSb.addItem('fact',cols.fact);if(cols.subject)this.columnSb.addItem('subject',cols.subject);if(cols.table)this.columnSb.addItem('table',cols.table);}
if(!this.controller.filter&&this.grid0.isGeoStateReady()&&cols.geo)this.columnSb.addItem('geo',cols.geo);var columns=this.grid0.columns();for(var i=0,col;col=columns[i];i++){if(col.hidden)continue;if(col.isPrimary&&this.filterType=='vote')continue;this.columnSb.addItem(col.id,col.name);}
this.columnSb.selectIndex(0);});K.oo('method',"populateAttribute",function(){var attrs=this.data.filterAttrs[this.filterType][this.getFilterSubType()];this.attributeSb.clear();for(var i=0,attr;attr=attrs[i];i++){if(attr.id!='value'){var html=this.dict[this.filterType]['attrs'][this.getFilterSubType()][attr.viewName];var style=this.getItemClass(attr);this.attributeSb.addItem(attr.id,html,style);}}
this.attributeSb.selectIndex(0);});K.oo('method',"populateOperator",function(){var dt=this.getDatatype();var operators=dt.operatorOptions;var noIncludeMe=this.noIncludeMe(dt);this.operatorsHash={};this.operatorSb.clear();for(var i=0,len=operators.length;i<len;i++){var op=operators[i];if(noIncludeMe&&op.value=='me')continue;if(this.bigData&&!this.grid0.auth.isAdmin()&&!this.unlisted){if(op.verbiage=='is-on'||op.verbiage=='is-not-on'||op.verbiage=='ends-with'||op.verbiage=='ends-within'||op.verbiage=='contains'||op.verbiage=='contains-in'){continue;}}
if(this.isValueOnVoteFilter()){if(op.id=='blank'||op.id=='nblank'){continue;}}
if(this.continueByStrength(dt,op))continue;var html=this.dict.datatypes[dt.name][op.verbiage];var style=this.getItemClass(op);if(style=='disabled')continue;this.operatorSb.addItem(operators[i].id,html,style);this.operatorsHash[op.id]=op;}
if(noIncludeMe){this.operatorSb.selectIndex(1);}else{this.operatorSb.selectIndex(0);}
var thisOp=this.operatorSb.value();if(this.operatorsHash[thisOp].inclusive){this.jqForm.inclusive.show();}else{this.jqForm.inclusive.attr('checked',true);this.jqForm.inclusiveDiv.hide();}});K.oo('method',"continueByStrength",function(datatype,operator){if(datatype.name=='Strength'){var isAdmin=this.grid0.auth.isAdmin();var isDev=this.grid0.auth.isDev();if(!(isAdmin||isDev)&&!(operator.id=='debated'||operator.id=='ndebated')){return true;}}
return false;});K.oo('method',"isValueOnVoteFilter",function(){return this.filterType=='vote'&&this.attributeSb.value()=='value';});K.oo('method',"toggleInclusive",function(){var thisOp=this.operatorSb.value();if(this.operatorsHash[thisOp].inclusive){this.jqForm.inclusiveDiv.show();}else{this.jqForm.inclusiveDiv.hide();}});K.oo('method',"noIncludeMe",function(dt){return!this.grid0.auth.loggedIn()&&dt.name=='VotingUser';});K.oo('method',"getOperator",function(dt,operatorName){for(var i=0,op;op=dt.operatorOptions[i];i++){if(op.id==operatorName)return op;}});K.oo('method',"toggleValue",function(operatorName){var dt=this.getDatatype();var dtName=this.getRealDatatype(dt);var operator=this.getOperator(dt,operatorName);this.jqForm.value.toggleInput('resetDefaultValue',this.getToggleMessage(dtName));if(dtName=='Date'){this.enableDatePicker();}else{this.disableDatePicker();}
this.jqForm.enums.hide();if(operator.value||operator.value==0){this.jqForm.value.toggleInput('val',operator.value);this.valueValidator=Sci.validate(this.jqForm.value,'String');this.jqForm.value.hide();}else{this.jqForm.value.show();this.jqForm.value.toggleInput('val','');if($.inArray(dtName,['ZipCode','PhoneNumber','Link','UUID'])>-1&&$.inArray(operatorName,['contains','contains-in','eqp-in','eq-in','starts','starts-in','ends','ends-in'])>-1)dtName='String';this.valueValidator=Sci.validate(this.jqForm.value,dtName,{'notNull':true});}});K.oo('method',"getToggleMessage",function(datatype){var defaultMessages={'String':'Can be any text.','Numeric':'Can be any numeric.','Integer':'Can be any numeric.','Date':'Click for date picker.','ZipCode':'Can be zip code.','PhoneNumber':'Can be phone number','Link':'Can be a web link.','UUID':'Can be uuid.'};if(defaultMessages[datatype]){return defaultMessages[datatype];}else{return defaultMessages['String'];}});K.oo('method',"toggleSuggest",function(){var colVal=this.columnSb.value();var attrVal=this.attributeSb.value();if(this.filterType=='summary'&&(colVal=='table'||colVal=='subject')&&attrVal=='consensus-value'){this.searchSuggest.enable();}else{this.searchSuggest.disable();}});K.oo('method',"getRealDatatype",function(datatype){var dt=datatype.name;switch(dt){case'Table':dt='Integer';break;case'Text':dt='String';break;case'GarbageCount':dt='Integer';break;case'VotingUser':dt='String';break;case'Strength':dt='Integer';break;default:break;}
return dt;});K.oo('method',"populateFilter",function(filter){filter.type=this.getFilterSubType();filter.attribute=this.attributeSb.value();filter.caseSensitive=false;filter.fieldId=this.columnSb.value();filter.operator=this.operatorSb.value();filter.value=DISPLAY.trim(this.jqForm.value.toggleInput('val'));if(filter.operator=='is-me'){filter.operator='is-user';filter.value=this.grid0.auth.username();}else if(filter.operator=='not-me'){filter.operator='is-not-user';filter.value=this.grid0.auth.username();}
if(this.jqForm.inclusiveDiv.is(':visible')){filter.inclusive=this.jqForm.inclusive.is(':checked');}});K.oo('method',"selectColumnSb",function(value){if(this.bigData){if(value=='fact'||value=='subject'||value=='table'){this.columnSb.selectIndex(0);return;}}
if(value)this.columnSb.selectValue(value);});K.oo('method',"disableDatePicker",function(){this.jqForm.value.datepicker('destroy');});K.oo('method',"enableDatePicker",function(){var self=this;this.jqForm.value.datepicker({dateFormat:'yy-mm-dd',onSelect:function(datetext){self.jqForm.value.toggleInput('val',datetext);}});});K.oo('method',"validate",function(){return this.valueValidator.validate();});K.oo('method',"resetPosition",function(){if(this.jq.is(':hidden'))return;var jqLastFilter=this.tray.view.jqList.find('>li:last');var jqTray=this.tray.view.jq;var position;if(jqLastFilter.length==0){position={top:0,left:0};}else{position=jqLastFilter.position();position.left+=jqLastFilter.width()+10;if(position.left+jqLastFilter.width()>jqTray.width()){position.left=0;position.top+=jqLastFilter.height()+4;}}
this.jq.css(position);this.notify('maximize');});K.oo('method',"toggleSelectBox",function(fromColumnMeun){if(fromColumnMeun){this.jqColumn.show();this.columnSb.hide();this.attributeSb.hide();}else{this.jqColumn.hide();this.columnSb.show();this.attributeSb.show();}});K.oo('method',"populateSimpleForm",function(columnId){if(isNaN(columnId))return;var colIdx=this.grid0.columnIdxById(columnId);var column=this.grid0.column(colIdx);this.jqColumn.html(DISPLAY.html(column.name,25));this.jqColumn.attr('title',column.name);});K.oo('method',"toggleColumnSb",function(show){if(show){this.jqForm.column.show();}else{this.jqForm.column.hide();}});})(Grid0Filter.FilterFormView,Grid0Filter);JS2.OO.createClass("Grid0Filter.FilterFormEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_minimize",function(){this.view.hide();});K.oo('method',"e_newSummaryFilter",function(position,options){this.controller.newSummaryFilter(position,options);});K.oo('method',"e_newVoteFilter",function(position){this.controller.newVoteFilter(position);});K.oo('method',"e_selectColumnSb",function(fieldId){this.view.selectColumnSb(fieldId);});K.oo('method',"e_editFilter",function(filterType,index,jq){this.controller.editFilter(filterType,index,jq);});K.oo('method',"e_dataLoaded",function(){this.view.resetPosition();});})(Grid0Filter.FilterFormEvents,Grid0Filter);Grid0Filter.FilterFormView.oo('setHTMLCache',{"main":function(){return"<div class='filterForm'><h5><\/h5><div class='column'><\/div><div class='normal'><div class='attribute'><\/div><div class='operator'><\/div><div class='value'><input class='textField f' \/><div class='searchSuggestContainer'><\/div><div class='enums'><\/div><div class='clear'><\/div><\/div><div class='inclusive'><input type='checkbox' \/>Inclusive?<\/div><div class='buttons'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Add      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/div><\/div><div class='geo'><div class='operator'><\/div><div class='actions'><div class='distance'><input class='distance'>meters from<\/input><br \/><input class='lat'>latitude<\/input><br \/><input class='lng'>longitude<\/input><\/div><div class='bounding'><input class='lat'>latitude 1<\/input><br \/><input class='lng'>longitude 1<\/input><br \/><input class='lat1'>latitude 2<\/input><br \/><input class='lng1'>longitude 2<\/input><\/div><div class='sort'><input class='quantity'>rows<\/input><br \/><input class='lat'>latitude<\/input><br \/><input class='lng'>longitude<\/input><\/div><\/div><div class='buttons'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Add      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/div><\/div><\/div>"}});JS2.OO.createClass("Grid0Filter.GeoFormController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"registerEvents",function(){this.view.jqSubmit.click((function(self){return function(){self.submit();}})(this));this.view.jqCancel.click((function(self){return function(){self.cancel();}})(this));});K.oo('method',"cancel",function(){this.notify('minimize');});K.oo('method',"submit",function(){if(!this.view.validate()){alert('filter value invalid!');return;}
switch(this.view.getOperator()){case"distance":this.applyGeoFilterDistance();break;case"bounding":this.applyGeoFilterBounding();break;case"sortAsc":this.applyGeoSort('asc');break;case"sortDesc":this.applyGeoSort(!'asc');break;}
this.notify('minimize');});K.oo('method',"setGeo",function(geo,index){this.geo=geo;this.index=index;this.changeMode();});K.oo('method',"applyGeoSort",function(asc){this.data.setGeoSort(this.view.getGeoSort(asc));});K.oo('method',"applyGeoFilterDistance",function(){if(this.geo){this.data.updateGeoFilter(this.index,this.view.getGeoFilterDistance());}else{this.data.addGeoFilter(this.view.getGeoFilterDistance());}});K.oo('method',"applyGeoFilterBounding",function(){if(this.geo){this.data.updateGeoFilter(this.index,this.view.getGeoFilterBounding());}else{this.data.addGeoFilter(this.view.getGeoFilterBounding());}});K.oo('method',"populateForm",function(geo,index){this.setGeo(geo,index);switch(geo._rclass){case"Qlisp::Action::GeoSort":this.view.setGeoSort(geo);break;case"Qlisp::Action::GeoFilterBounding":this.view.setGeoFilterBounding(geo);break;case"Qlisp::Action::GeoFilterDistance":this.view.setGeoFilterDistance(geo);break;}
this.view.disableOperatorSb();});K.oo('method',"changeMode",function(){if(this.geo){this.view.jqSubmit.first('a').html('edit');}else{this.view.jqSubmit.first('a').html('add');}});})(Grid0Filter.GeoFormController,Grid0Filter);JS2.OO.createClass("Grid0Filter.GeoFormView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','filterFormView');K.oo('method',"initHTML",function(){this.jq=this.filterFormView.jqGeo;this.jqOperator=this.jq.first('.operator');this.jqDistance=this.jq.first('.distance');this.jqBounding=this.jq.first('.bounding');this.jqSort=this.jq.first('.sort');this.jqSubmit=this.jq.first('.submit');this.jqCancel=this.jq.first('.cancel');this.geoActions={distance:{jq:this.jqDistance,jqDistance:this.jqDistance.first('.distance'),jqLat:this.jqDistance.first('.lat'),jqLng:this.jqDistance.first('.lng')},bounding:{jq:this.jqBounding,jqLat:this.jqBounding.first('.lat'),jqLng:this.jqBounding.first('.lng'),jqLat1:this.jqBounding.first('.lat1'),jqLng1:this.jqBounding.first('.lng1')},sort:{jq:this.jqSort,jqQuantity:this.jqSort.first('.quantity'),jqLat:this.jqSort.first('.lat'),jqLng:this.jqSort.first('.lng')}};var options={notNull:true,trimValue:true};this.geoValidators={distance:{distance:Sci.validate(this.geoActions.distance.jqDistance,'Double',options),lat:Sci.validate(this.geoActions.distance.jqLat,'Lat',options),lng:Sci.validate(this.geoActions.distance.jqLng,'Lng',options)},bounding:{lat:Sci.validate(this.geoActions.bounding.jqLat,'Lat',options),lng:Sci.validate(this.geoActions.bounding.jqLng,'Lng',options),lat1:Sci.validate(this.geoActions.bounding.jqLat1,'Lat',options),lng1:Sci.validate(this.geoActions.bounding.jqLng1,'Lng',options)},sort:{quantity:Sci.validate(this.geoActions.sort.jqQuantity,'Integer',options),lat:Sci.validate(this.geoActions.sort.jqLat,'Lat',options),lng:Sci.validate(this.geoActions.sort.jqLng,'Lng',options)}};this.operatorSb=new Sci.SelectBox(this.jqOperator,{selChangeCallBack:(function(self){return function(){self.operatorChanged();}})(this)});this.operatorSb.addItem('distance','is within');this.operatorSb.addItem('bounding','is bound by');this.operatorSb.addItem('sortAsc','closest');this.operatorSb.addItem('sortDesc','furthest');this.reset();});K.oo('method',"validate",function(){var validators={};for(var key in this.geoValidators){if(this.operator.indexOf(key)>-1){validators=this.geoValidators[key];break;}}
for(var key in validators){if(!validators[key].valid())return false;if(key=='distance'){if(parseFloat(this.geoActions.distance.jqDistance.val())<=0)return false;}}
return true;});K.oo('method',"hide",function(){this.jq.hide();});K.oo('method',"operatorChanged",function(){this.operator=this.getOperator();for(var key in this.geoActions){if(this.operator.indexOf(key)>-1){this.geoActions[key].jq.show();for(var subKey in this.geoActions[key]){if(subKey=='jq')continue;this.geoActions[key][subKey].val('');}}else{this.geoActions[key].jq.hide();}}});K.oo('method',"getGeoFilterDistance",function(){return{_rclass:"Qlisp::Action::GeoFilterDistance",distance:parseFloat(this.geoActions.distance.jqDistance.val()),lat:parseFloat(this.geoActions.distance.jqLat.val()),lng:parseFloat(this.geoActions.distance.jqLng.val())};});K.oo('method',"getGeoFilterBounding",function(){return{_rclass:"Qlisp::Action::GeoFilterBounding",lat:parseFloat(this.geoActions.bounding.jqLat.val()),lng:parseFloat(this.geoActions.bounding.jqLng.val()),lat1:parseFloat(this.geoActions.bounding.jqLat1.val()),lng1:parseFloat(this.geoActions.bounding.jqLng1.val())};});K.oo('method',"getGeoSort",function(asc){return{_rclass:"Qlisp::Action::GeoSort",asc:!!asc,quantity:parseInt(this.geoActions.sort.jqQuantity.val()),lat:parseFloat(this.geoActions.sort.jqLat.val()),lng:parseFloat(this.geoActions.sort.jqLng.val())};});K.oo('method',"getOperator",function(){return this.operatorSb.value();});K.oo('method',"setGeoFilterDistance",function(filter){this.operatorSb.selectValue('distance');this.geoActions.distance.jqDistance.val(filter.distance);this.geoActions.distance.jqLat.val(filter.lat);this.geoActions.distance.jqLng.val(filter.lng);});K.oo('method',"setGeoFilterBounding",function(filter){this.operatorSb.selectValue('bounding');this.geoActions.bounding.jqLat.val(filter.lat);this.geoActions.bounding.jqLng.val(filter.lng);this.geoActions.bounding.jqLat1.val(filter.lat1);this.geoActions.bounding.jqLng1.val(filter.lng1);});K.oo('method',"setGeoSort",function(sort){this.operatorSb.selectValue(sort.asc?'sortAsc':'sortDesc');this.geoActions.sort.jqQuantity.val(sort.quantity);this.geoActions.sort.jqLat.val(sort.lat);this.geoActions.sort.jqLng.val(sort.lng);});K.oo('method',"reset",function(){this.operatorSb.selectIndex(0);for(var key in this.geoActions.distance){this.geoActions.distance[key].val('');}
this.enableOperatorSb();});K.oo('method',"enableOperatorSb",function(){this.operatorSb.setEnable(true);});K.oo('method',"disableOperatorSb",function(){this.operatorSb.setEnable(false);});})(Grid0Filter.GeoFormView,Grid0Filter);JS2.OO.createClass("Grid0Filter.GeoFormEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_populateGeoForm",function(geo,index){this.controller.populateForm(geo,index);});K.oo('method',"e_geoFormShown",function(){this.view.reset();this.controller.setGeo(null);});})(Grid0Filter.GeoFormEvents,Grid0Filter);Grid0Filter.GeoFormView.oo('setHTMLCache',{"main":function(){return"<div class='filterForm geo'><h5>Include ONLY data where:<\/h5><div class='operator'><\/div><div class='actions'><div class='distance'><input class='distance'>meters from<\/input><br \/><input class='lat'>latitude<\/input><br \/><input class='lng'>longitude<\/input><\/div><div class='bounding'><input class='lat'>latitude 1<\/input><br \/><input class='lng'>longitude 1<\/input><br \/><input class='lat1'>latitude 2<\/input><br \/><input class='lng1'>longitude 2<\/input><\/div><div class='sort'><input class='quantity'>rows<\/input><br \/><input class='lat'>latitude<\/input><br \/><input class='lng'>longitude<\/input><\/div><\/div><div class='buttons'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Add      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/div><\/div>"}});JS2.OO.createClass("Grid0.TableDetails");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth gridMenu');K.oo('method',"e_initHTML",function(){this.initHTML();this.populate();this.registerEvents();});K.oo('method',"e_bigData",function(){if(this.data.isGeoStateReady()){this.jqContent.find('.geoState>.value').text('Yes');}else{this.jqContent.find('.geoState>.value').text('No');}});K.oo('method',"e_userLoggedIn",function(){this.checkLogin();});K.oo('method',"initHTML",function(){this.jqDetailsLink=$('.dsDetailsLink');this.jqDialog=$('.dsDetailsDialog');this.jqDialog.dialog({title:"About This Table",autoOpen:false,width:600,modal:true});this.jq=this.jqDialog.find('.dsDetailsContainer');this.jqClose=this.jq.find('.close');this.jqContent=this.jq.find('.dsDetailsContent');this.jqEditLink=this.jq.find('.editLink');this.jqForm=this.jq.find('.dsDetailsForm');this.jqName=this.jqForm.find('input[name=name]');this.jqDescription=this.jqForm.find('textarea[name=description]');this.jqSource=this.jqForm.find('input[name=source]');this.jqTags=this.jqForm.find('.tags');this.jqTagText=this.jqForm.find('input[name=tags]');this.jqSubmit=this.jqForm.find('.submit');this.jqCancel=this.jqForm.find('.cancel');this.checkLogin();});K.oo('method',"checkLogin",function(){if(this.data.isOwner()||this.auth.isAdmin()){this.jqEditLink.show();this.jqTags.show();}else{this.jqEditLink.hide();this.jqTags.hide();}});K.oo('method',"registerEvents",function(){this.jqDetailsLink.click((function(self){return function(){self.toggleDialog();}})(this));this.jqDetailsLink.parent().clickoff((function(self){return function(){}})(this));this.jqClose.click((function(self){return function(){self.toggleDialog();}})(this));this.jqEditLink.click((function(self){return function(){self.jqContent.hide();self.jqEditLink.hide();self.jqForm.show();}})(this));this.jqCancel.click((function(self){return function(){self.jqContent.show();self.jqEditLink.show();self.jqForm.hide();}})(this));this.jqSubmit.click((function(self){return function(){self.submit();}})(this));});K.oo('method',"toggleDialog",function(){if(this.jqDialog.dialog("isOpen")){this.jqDialog.dialog("close");}else{this.jqDialog.dialog("open");}});K.oo('method',"populate",function(){var name=$.trim(this.jqContent.find('.name>.value').text());var desc=$.trim(this.jqContent.find('.desc>.value').text());var source=$.trim(this.jqContent.find('.source>.value').text());var tagLinks=$.trim(this.jqContent.find('.tags .tagLinks').html());var tagText=$.trim(this.jqContent.find('.tags .tagText').text());this.jqName.val(name);this.jqDescription.val(desc);this.jqSource.val(source);this.jqTagText.val(tagText);this.toggleSourceAndDesc(source,desc);});K.oo('method',"toggleSourceAndDesc",function(source,desc){if($.isEmpty(source)){this.jqContent.find('.source').hide();}else{this.jqContent.find('.source>.value').html(DISPLAY.link(source));this.jqContent.find('.source').show();}
if($.isEmpty(desc)){this.jqContent.find('.desc').hide();}else{this.jqContent.find('.desc>.value').text(desc);this.jqContent.find('.desc').show();}});K.oo('method',"submit",function(){var params={name:this.jqName.val(),description:this.jqDescription.val(),source:this.jqSource.val(),tagText:this.jqTagText.val()};var callBack=(function(self){return function(p){self.submited(p);self.jqContent.show();self.jqEditLink.show();self.jqForm.hide();}})(this)
this.data.submitTableDetails(params,callBack);});K.oo('method',"submited",function(params){var name=params.name;var desc=params.description;var source=params.source;var tagLinks=params.tagLinks;var tagText=params.tagText;this.jqName.val(name);this.jqDescription.val(desc);this.jqSource.val(source);this.jqTagText.val(tagText);var noneValue='<span class="noneValue">[none]</span>';tagLinks=$.isEmpty(tagLinks)?noneValue:tagLinks;this.jqContent.find('.name>.value').text(name);this.jqContent.find('.tags .tagLinks').html(tagLinks);this.jqContent.find('.tags .tagText').html(tagText);this.toggleSourceAndDesc(source,desc);});K.oo('method',"hide",function(){this.jqDialog.hide();});K.oo('method',"isTagEditable",function(){return this.auth.isDev();});})(Grid0.TableDetails,Grid0);JS2.OO.createClass("Grid0.Merger");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.openSquare=options.dataset.openSquare;});K.oo('method',"open",function(){this.view.openDialog();});K.oo('method',"submit",function(params){this.data.merge(params);this.notify('actionsModified');});})(Grid0.Merger,Grid0);JS2.OO.createClass("Grid0.MergerView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dialogName','mergeData');K.oo('member','dependencies','gridMenu');K.oo('method',"initDialog",function(){this.dialogInitiated=true;var dialogOptions={title:'Merge or Append Data to this Table',width:800,height:500,modal:true}
this.jq=this.util.buildDialog(this.dialogName,this.htmlCache.main(),dialogOptions);var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Dialog",this.jq,null);this.jqPreviews=this.jq.first('ul.previews');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Preview",this.jqPreviews,null);this.jqSuggests=this.jq.first('.suggests').hide();this.jqMergibilities=this.jq.first('ul.mergibilities');this.jqSearchButton=this.jq.first('.search');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Search submit",this.jqSearchButton,null);this.jqSearchInput=this.jq.first('input[type=text]');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Search input",this.jqSearchInput,null);this.jqMessage=this.jq.first('.error');this.jqSpinner=this.jq.first('.fact-spinner').hide();var self=this;self.jqSearchButton.click(function(){self.searchByInput();});onEnterKey(self.jqSearchInput,function(){self.searchByInput();});checkLoadable(this.jqSearchInput,this.jqSearchButton);this.prepopulate();});K.oo('method',"prepopulate",function(){var self=this;var datasetKey=this.data.dataset.key;this.jqSpinner.html('Retrieving realtime mergeability data...').show();var params={_event:'MergeabilitySearch'};AJAX.post('/tables/merge/'+datasetKey+'/initiate',params,function(data){self.populateMergibility(data);});});K.oo('method',"populateMergibility",function(data){var self=this;this.jqSpinner.hide().html('');this.mergibilities=data;this.jqMergibilities.html('');for(var i=0,d;d=data[i];i++){var params={length:d.mappings_length,name:d.dataset_name,idx:i}
var jqMergible=$(this.htmlCache.mergibility(params));jqMergible.first('.fact-spinner').hide();this.jqMergibilities.append(jqMergible);jqMergible.first('a').click(function(){self.searchByMergibility(this);});if(i==0)this.jqSuggests.show();}});K.oo('method',"searchByInput",function(){if(!this.jqSearchButton.is('.disabled')){this.search(this.jqSearchInput.val());}});K.oo('method',"searchByMergibility",function(link){var jqMergible=$(link.parentNode.parentNode);var idx=parseInt(jqMergible.attr('idx'));jqMergible.first('.info').hide();var mergibility=this.mergibilities[idx];this.search(String('t/'+mergibility.dataset_id),jqMergible);});K.oo('method',"search",function(val,jqMergible){var self=this;var dsId=this.schema.primaryDataset.id;var search=val;var idInfo=sci.common.getIdInfo(search);idType=idInfo.type;searchId=idInfo.id;if(idType!='datasets'){self.showError("Only tables can be merged.");return;}
if(searchId<=0){self.showError("It seems that you have entered an invalid url. Url's must be at the factual.com domain and point to a valid table. You may include or omit the \"http://\" and the \"www\".");return;}
var jqLoading=this.jqSpinner;if(jqMergible)jqLoading=jqMergible.first('.fact-spinner');var datasetId=this.data.dataset.id;if(searchId==datasetId){self.showError("We cannot merge the same table, please try a different search.");}else{jqLoading.show();var params={searchId:searchId,search:search,datasetId:datasetId};AJAX.post('/tables/merge/search',params,function(obj){jqLoading.hide();obj.error?self.showError(obj.error):self.showSearch(obj,jqMergible);});}});K.oo('method',"showSearch",function(results,jqMergible){this.showError('');var cols=this.schema.primaryDataset.columns();var mappings={};var li=$('<li />');var jqPreview=this.jqPreviews;if(jqMergible){var idx=parseInt(jqMergible.attr('idx'));mappings=this.mergibilities[idx].mappings;jqPreview=jqMergible.first('.preview');}
jqPreview.prepend(li);for(var it75=0,result,it75__arr=results,it75__len=it75__arr.length;(result=it75__arr[it75])||it75<it75__len;it75++){var preview=APP(SchemaMatcher,{seed:li,merger:this.controller,mappings:mappings});result.mapColumns=cols;preview.start(result);}});K.oo('method',"showError",function(msg){this.jqMessage.html(msg);});K.oo('method',"performMerge",function(mapping){});K.oo('method',"openDialog",function(){if(!this.dialogInitiated)this.initDialog();this.jq.dialog('open');});K.oo('method',"toggleMenu",function(){if(this.controller.openSquare&&!this.data.isOwner()&&!this.auth.isAdmin()){this.gridMenu.disableMenuItem('improve > merge');}else{this.gridMenu.enableMenuItem('improve > merge');}});})(Grid0.MergerView,Grid0);JS2.OO.createClass("Grid0.MergerEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','gridMenu');K.oo('method',"e_initHTML",function(){this.view.toggleMenu();});K.oo('method',"e_improveMenuClicked",function(name,jqObject){if(name=='improve > merge'){if(jqObject.parent().hasClass('disabled'))return;this.controller.open();}});K.oo('method',"e_userLoggedIn",function(){this.view.toggleMenu();});})(Grid0.MergerEvents,Grid0);Grid0.MergerView.oo('setHTMLCache',{"mergibility":function(params){return"<li class='mergible' idx='"+params.idx+"'><div class='fact-spinner'><\/div><div class='info'>There are <strong>"+params.length+"<\/strong> columns that can be merged from:<br \/><em>\""+params.name+"\"<\/em><br \/>click here to&nbsp;<a>define the merge<\/a>.<\/div><ul class='preview'><\/ul><\/li>"},"main":function(){return"<div style='margin: 4px 0px'>Please enter the URL of the Factual table you'd like to merge:&nbsp;&nbsp;<input class=' textField' onblur='s.blur(this)' onfocus='s.focus(this)' type='text' \/><span class='search fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Search      <\/a>    <\/span>  <\/span><\/span><div><div class='fact-spinner'><\/div><\/div><div class='error' style='margin:5px 0px'><\/div><ul class='previews'><\/ul><fieldset class='suggests'><legend>Suggest Tables<\/legend><ul class='mergibilities'><\/ul><\/fieldset><\/div>"}});JS2.OO.createClass("Grid0.Admin");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"gridMenu auth");K.oo('method',"initHTML",function(){this.jq=this.gridMenu.getMenu('admin').jq;this.jqCacheState=this.jq.first('.cacheState');this.jqCacheTtl=this.jq.first('.cacheTtl');this.jqGeoState=this.jq.first('.geoState');this.buildCacheTtlDialog();this.buildGeoFunctionDialog();this.buildPoiFilterDialog();this.populateCacheTtl(this.data.dataset.cacheTtl);this.checkLogin();});K.oo('method',"buildCacheTtlDialog",function(){this.cacheTtlDialog=$(this.htmlCache.cacheTtlDialog()).dialog({autoOpen:false,title:'API TTL',resizable:false,modal:true,buttons:{"Update":(function(self){return function(){self.setCacheTtl();}})(this)}});this.jqCacheTtlInput=this.cacheTtlDialog.first('input');});K.oo('method',"buildGeoFunctionDialog",function(){this.geoDialog=$(this.htmlCache.geoFunctionDialog()).dialog({autoOpen:false,title:'GEO Settings',resizable:false,modal:true,width:350});this.geoDialog.parent().addClass('overflowVisibleDialog');this.geoDialog.latSb=new Sci.SelectBox(this.geoDialog.first('.lat'))
this.geoDialog.lngSb=new Sci.SelectBox(this.geoDialog.first('.lng'));this.geoDialog.latSb.setWidth(240);this.geoDialog.lngSb.setWidth(240);this.geoDialog.first('.saveGeo').click((function(self){return function(){self.setGeoFunction();}})(this));this.geoDialog.first('.disableGeo').click((function(self){return function(){self.disableGeoFunction();}})(this));});K.oo('method',"buildPoiFilterDialog",function(){this.poiFilterTypes={'name':{label:'Name',regexp:/name/i},'address':{label:'Address',regexp:/address/i},'city':{label:'City',regexp:/city/i},'zip':{label:'Zip',regexp:/zip|zipcode|postcode/i},'latitude':{label:'Latitude',regexp:/lat|latitude/i},'longitude':{label:'Longitude',regexp:/lng|long|longitude/i}};this.poiDialog=$(this.htmlCache.poiFilterDialog()).dialog({autoOpen:false,title:'POI Filter Settings',resizable:false,modal:true,width:400,height:260,buttons:{"Apply":(function(self){return function(){self.setPoiFilter();}})(this)}});this.poiDialog.parent().addClass('overflowVisibleDialog');this.poiDialog.typeSb=new Sci.SelectBox(this.poiDialog.first('.types'),{selChangeCallBack:(function(self){return function(){self.populatePoiFilterColumns(this.value());}})(this)});this.poiDialog.columnSb=new Sci.SelectBox(this.poiDialog.first('.columns'));this.poiDialog.$enable=this.poiDialog.first('.enable>input');this.poiDialog.$hash=this.poiDialog.first('.hash');this.poiDialog.$hash.click((function(self){return function(e){var $target=$(e.target);if($target.is('.delete')){self.deletePoiFilter($target.attr('type'));}}})(this));this.poiDialog.first('.add').click((function(self){return function(){self.addPoiFilter();}})(this));});K.oo('method',"clearFunction",function(){this.data.clearFunction();});K.oo('method',"showPoiFilterDialog",function(){this.populatePoiFilterHash();this.populatePoiFilterTypes();this.populatePoiFilters();this.poiDialog.dialog('open');});K.oo('method',"populatePoiFilterTypes",function(){this.poiDialog.typeSb.clear();for(var key in this.poiFilterTypes){if(this.poiFilterHash[key])continue;this.poiDialog.typeSb.addItem(key,this.poiFilterTypes[key].label);}
this.populatePoiFilterColumns();});K.oo('method',"populatePoiFilterColumns",function(type){this.poiDialog.columnSb.clear();if(!type)return;var columns=this.data.columns();for(var i=0,col;col=columns[i];i++){if(col.hidden||col.isPrimary)continue;this.poiDialog.columnSb.addItem(col.id,col.name);}
for(var i=0,j=0,col;col=columns[i];i++){if(col.hidden||col.isPrimary)continue;if(col.name.match(this.poiFilterTypes[type].regexp)){this.poiDialog.columnSb.selectIndex(j);break;}
j++;}});K.oo('method',"populatePoiFilters",function(){this.poiDialog.$hash.html('');var has=false;for(var key in this.poiFilterHash){has=true;this.poiDialog.$hash.append(this.htmlCache.poiFilter({rawType:key,type:this.poiFilterTypes[key].label,column:this.data.columnById(this.poiFilterHash[key]).name}));}
this.poiDialog.$enable.attr('checked',has);});K.oo('method',"addPoiFilter",function(){var type=this.poiDialog.typeSb.value();var column=parseInt(this.poiDialog.columnSb.value());if(type&&column){this.poiFilterHash[type]=column;}
this.populatePoiFilterTypes();this.populatePoiFilters();});K.oo('method',"deletePoiFilter",function(type){delete(this.poiFilterHash[type]);this.populatePoiFilterTypes();this.populatePoiFilters();});K.oo('method',"showGeoFunctionDialog",function(){this.geoDialog.latSb.clear();this.geoDialog.lngSb.clear();var haveLatField=false;var haveLngField=false;var columns=this.data.columns();for(var i=0,col;col=columns[i];i++){if(col.hidden)continue;var datatype=col.datatype.toLowerCase();if(datatype!='lat'&&datatype!='lng'&&datatype!='double')continue;if(datatype=='lat'){haveLatField=true;this.geoDialog.latSb.addItem(col.id,col.name);}else if(datatype=='lng'){haveLngField=true;this.geoDialog.lngSb.addItem(col.id,col.name);}else{haveLatField=true;haveLngField=true;this.geoDialog.latSb.addItem(col.id,col.name);this.geoDialog.lngSb.addItem(col.id,col.name);}}
if(haveLatField&&haveLngField){this.geoDialog.latSb.selectIndex(0);this.geoDialog.lngSb.selectIndex(0);var geoFunction=this.actions.geoFunction()||{};if(geoFunction.latFieldId)this.geoDialog.latSb.selectValue(geoFunction.latFieldId);if(geoFunction.lngFieldId)this.geoDialog.lngSb.selectValue(geoFunction.lngFieldId);this.geoDialog.dialog('open');}else{alert("you don't have lat or lng field");}});K.oo('method',"hideGeoFunctionDialog",function(){this.geoDialog.dialog('close');});K.oo('method',"setGeoFunction",function(){this.data.actions.initGeoFunction(parseInt(this.geoDialog.latSb.value()),parseInt(this.geoDialog.lngSb.value()));this.hideGeoFunctionDialog();this.notify('alert','Setting...');this.forceCache();});K.oo('method',"disableGeoFunction",function(){this.data.disableGeoFunction();this.hideGeoFunctionDialog();});K.oo('method',"forceCache",function(){if(!this.auth.isAdmin())return;this.data.getTinyUrl((function(self){return function(){window.location.href='/tables/main/'+self.data.dataset.id+'/force_cache';}})(this));});K.oo('method',"setPoiFilter",function(){this.notify('alert','Setting...');this.poiDialog.dialog('close');this.actions.setPoiFilterHash(this.poiDialog.$enable.attr('checked')?this.poiFilterHash:{});this.notify('viewModified');});K.oo('method',"showCacheTtlDialog",function(){this.jqCacheTtlInput.val(this.data.dataset.cacheTtl||'');this.cacheTtlDialog.dialog('open');});K.oo('method',"hideCacheTtlDialog",function(){this.cacheTtlDialog.dialog('close');});K.oo('method',"setCacheTtl",function(){var ttl=this.jqCacheTtlInput.val();if(ttl.match(/^[1-9]\d*$/)){this.data.setCacheTtl(parseInt(ttl),(function(self){return function(p){self.populateCacheTtl(p);}})(this));this.hideCacheTtlDialog();}else{alert('please input ttl minutes!');}});K.oo('method',"checkLogin",function(){this.auth.isAdmin()?this.jq.show():this.jq.hide();});K.oo('method',"toggleCacheState",function(show){show?this.jqCacheState.show():this.jqCacheState.hide();});K.oo('method',"cacheStateLoaded",function(cacheState){this.jqCacheState.html(this.htmlCache.cacheState(cacheState));});K.oo('method',"populateCacheTtl",function(cacheTtl){var ttl=cacheTtl?cacheTtl+' minutes':'[not set]';this.jqCacheTtl.html(this.htmlCache.cacheTtl(ttl));});K.oo('method',"populateGeoState",function(cacheState){if(this.data.isGeoStateReady()){this.jqGeoState.html(this.htmlCache.geoState('Ready'));}else if(cacheState=='WRITING'){this.jqGeoState.html(this.htmlCache.geoState('Caching'));}});K.oo('method',"toggleGeoState",function(isBigData){if(!isBigData)this.jqGeoState.html(this.htmlCache.geoState('Not Ready'));});K.oo('method',"populatePoiFilterHash",function(){this.poiFilterHash=$.extend({},this.actions.getPoiFilterHash());});})(Grid0.Admin,Grid0);JS2.OO.createClass("Grid0.AdminEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.controller.initHTML();});K.oo('method',"e_adminMenuClicked",function(name,jqObject){switch(name){case'admin > setCacheTtl':this.controller.showCacheTtlDialog();break;case'admin > setGeo':this.controller.showGeoFunctionDialog();break;case'admin > setPoi':this.controller.showPoiFilterDialog();break;case'admin > clearFunction':this.controller.clearFunction();break;case'admin > forceCache':this.controller.forceCache();break;}});K.oo('method',"e_userLoggedIn",function(){this.controller.checkLogin();});K.oo('method',"e_tableUnCached",function(){this.controller.checkLogin();});K.oo('method',"e_bigData",function(isBigData){this.controller.toggleCacheState(isBigData);this.controller.toggleGeoState(isBigData);});K.oo('method',"e_cacheStateLoaded",function(cacheState){this.controller.cacheStateLoaded(cacheState);this.controller.populateGeoState(cacheState);});K.oo('method',"e_appErrorOccurred",function(){this.controller.checkLogin();});K.oo('method',"e_forceCache",function(){this.controller.forceCache();});})(Grid0.AdminEvents,Grid0);Grid0.Admin.oo('setHTMLCache',{"geoState":function(state){return"<label>GEO State: "+state+"<\/label>"},"poiFilterDialog":function(){return"<div class='poiFilterDialog'><h2 class='title'>Add Filters:<\/h2><div class='type'><h3>Type:<\/h3><div class='types'><\/div><\/div><div class='column'>Column:<div class='columns'><\/div><\/div><span class='add fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Add      <\/a>    <\/span>  <\/span><\/span><div class='filterListings'><ul class='hash'><\/ul><\/div><div class='enable'><input type='checkbox'>Enable Qualified Row Filtering<\/input><\/div><\/div>"},"cacheTtl":function(ttl){return"<label>API TTL: "+ttl+"<\/label>"},"poiFilter":function(f){return"<li class='poiFilter'><span class='type'>"+f.type+"<\/span><span class='column'>"+f.column+"<\/span><span class='delete' title='delete' type='"+f.rawType+"'>delete<\/span><\/li>"},"geoFunctionDialog":function(){return"<div class='geoFunctionDialog'>Lat Field:<div class='lat'><\/div>Lng Field:<div class='lng'><\/div><br \/><span class='disableGeo fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Disable and Force Cache      <\/a>    <\/span>  <\/span><\/span><span class='saveGeo fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Save and Force Cache      <\/a>    <\/span>  <\/span><\/span><\/div>"},"cacheState":function(state){return"<label>Cache State: "+state+"<\/label>"},"cacheTtlDialog":function(){return"<div class='cacheTtlDialog'>API TTL:<input class='textField' \/>(Minutes)<\/div>"}});JS2.OO.createClass("Grid0.AggregationController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','columnMenu header');K.oo('method',"registerEvents",function(){var view=this.view;view.jqMenu.hover((function(self){return function(){self.show();}})(this),(function(self){return function(){self.hide();}})(this));view.jqSecondaryMenu.click((function(self){return function(evt){self.selectAggregation(evt.target);}})(this));});K.oo('method',"selectAggregation",function(target){if(target.nodeName!='LI'){var jq=$(target).parents('li:first');target=jq[0];}
var agg=target.getAttribute('value');if(agg&&this.col.aggregationMethod!=agg){if(agg==this.col.field.aggregation)agg=null;if(this.isBigData()){if(confirm("You would have to save the table for it the change to take effect")){this.data.setAggregation(this.col.colIdx,agg);this.view.hide();}}else{this.data.setAggregation(this.col.colIdx,agg);this.view.hide();}}});K.oo('method',"showColumnMenu",function(){this.col=this.header.contexts.click.col;this.view.context=this.header.contexts.click;});K.oo('method',"show",function(){var dt=sci.constants.datatypes[this.col.datatype];var methods=dt.aggregationMethods;this.view.highlightSelect(this.col.aggregationMethod||this.col.aggregation,methods);this.view.show();});K.oo('method',"hide",function(){this.view.hide();});K.oo('method',"isBigData",function(){return this.bigData==true;});K.oo('method',"setBigData",function(bigData,unlisted){this.bigData=bigData;this.unlisted=unlisted;this.toggle();});K.oo('method',"toggle",function(){if(this.bigData&&!this.auth.isAdmin()&&!this.data.isOwner()&&!this.unlisted){this.view.jqMenu.hide();}else{this.view.jqMenu.show();}});})(Grid0.AggregationController,Grid0);JS2.OO.createClass("Grid0.AggregationView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','columnMenu');K.oo('method',"initHTML",function(){var secondMenuHtml=this.htmlCache.menu();var liHtml=this.htmlCache.listItem();this.jqMenu=this.columnMenu.addItem(liHtml,'aggregation',{secondaryMenu:secondMenuHtml});this.jqSecondaryMenuContainer=this.jqMenu.first('.dialogShadow');this.jqSecondaryMenu=this.jqSecondaryMenuContainer.first('ul');this.jqItems=this.jqSecondaryMenu.find('>li');});K.oo('method',"highlightSelect",function(agg,methods){var methodLookup={};for(var it44=0,method,it44__arr=methods,it44__len=it44__arr.length;(method=it44__arr[it44])||it44<it44__len;it44++){methodLookup[method.id]=true;}
for(var it45=0,item,it45__arr=this.jqItems,it45__len=it45__arr.length;(item=it45__arr[it45])||it45<it45__len;it45++){var itemAgg=item.getAttribute('value');if(!methodLookup[itemAgg]){$(item).hide();}else{$(item).show();if(itemAgg==agg){$(item).addClass('checked');}else{$(item).removeClass('checked');}}}});K.oo('method',"show",function(){this.jqSecondaryMenuContainer.show();});K.oo('method',"hide",function(){this.jqSecondaryMenuContainer.hide();});})(Grid0.AggregationView,Grid0);JS2.OO.createClass("Grid0.AggregationEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_showColumnMenu",function(){this.controller.showColumnMenu();});K.oo('method',"e_bigData",function(bigData,unlisted){this.controller.setBigData(bigData,unlisted);});K.oo('method',"e_userLoggedIn",function(){this.controller.toggle();});})(Grid0.AggregationEvents,Grid0);Grid0.AggregationView.oo('setHTMLCache',{"menu":function(){return"<div class='dialogShadow'><div class='content'><ul class='aggregationDialog'><li class='mean' value='mean'><strong>Mean<\/strong>&nbsp;(the arithmetic average of submitted values)<\/li><li class='mode' value='mode'><strong>Mode<\/strong>&nbsp;(the most common value)<\/li><li class='wiki' value='wiki'><strong>Wiki<\/strong>&nbsp;(the most recently submitted value)<\/li><li class='top-values' value='top-values'><strong>List<\/strong>&nbsp;(all unique values)<\/li><\/ul><\/div><\/div>"},"listItem":function(){return"Aggregation<span class='rightArrow'><\/span>"},"dialog":function(){return"<ol class='aggregationMethodList'><li class='mean'><input type='checkbox' value='mean' \/>Mean<\/li><li class='mode'><input type='checkbox' value='mode' \/>Mode<\/li><li class='wiki'><input type='checkbox' value='wiki' \/>Wiki<\/li><\/ol>"}});JS2.OO.createClass("Grid0.AddSubjectController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"registerEvents",function(){var view=this.view;view.jqSubmit.click(function(){view.submit();});view.jqForm.submit(function(){view.submit();});view.jqComment.ctrlEnterKey(function(){view.submit();});});K.oo('method',"open",function(){this.view.open();});})(Grid0.AddSubjectController,Grid0);JS2.OO.createClass("Grid0.AddSubjectView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','mainHeader mainFooter');K.oo('method',"initHTML",function(){this.initDialog();this.jqSubjects=this.jq.first('.subjects');this.jqButtons=this.jq.first('.buttons');this.jqSubmit=this.jqButtons.first('.submit');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Submit Button",this.jqSubmit,null);this.jqOptional=this.jq.first('.optional');this.jqSource=this.jqOptional.first('.source>input');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Source",this.jqSource,null);this.jqComment=this.jqOptional.first('.comment>textarea');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Comment",this.jqComment,null);this.jqForm=this.jq.first('form');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Form",this.jqForm,null);this.jqMessage=this.jq.first('.message');this.jqLoginMessage=this.jqMessage.first('.loginMessage');this.jqDataMessage=this.jqMessage.first('.dataMessage');this.initSubjects();});K.oo('method',"initDialog",function(){var self=this;var dialogOptions={title:'Add Row',width:360,modal:true,autoOpen:false,resizable:'se',close:function(){self.closed();}};this.jq=this.util.buildDialog('addSubjectExplorer',this.htmlCache.main(),dialogOptions);var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Dialog",this.jq,null);});K.oo('method',"initSubjects",function(){var columns=this.data.baseColumns();if(columns.length==0)columns=this.data.leftColumns();this.datasetId=columns[0].field.datasetId;var pks=[];for(var it59=0,pk,it59__arr=columns,it59__len=it59__arr.length;(pk=it59__arr[it59])||it59<it59__len;it59++){if(!pk.isPrimary)break;pks.push({name:pk.name,datatype:pk.datatype,isEnumerated:pk.field.isEnumerated,enumerationList:pk.field.enumerationList,isNullable:pk.field.isNullable,fieldId:pk.field.id,autogen:pk.field.autogen});}
this.autoSubmit=pks.length==1&&pks[0].datatype=='UUID'&&pks[0].autogen;var enableSuggest=true;this.subjectValueControl=new Grid0.SubjectValueControl(this.jqSubjects,pks,enableSuggest);this.subjectValueControl.setJqSubmit(this.jqSubmit);});K.oo('method',"open",function(){if(this.autoSubmit){this.submit();return;}
this.auth.checkLogin(this.jqLoginMessage);this.notify('checkReferenceState',this.datasetId,this.jqDataMessage);this.jq.dialog('open');this.resizeExplorer();this.subjectValueControl.activeValidate();this.subjectValueControl.setPkDefaultValues(this.schema.getPkDefaultValues());});K.oo('method',"close",function(){});K.oo('method',"closed",function(){this.resetForm();this.subjectValueControl.cancelValidate();});K.oo('method',"resizeExplorer",function(){var height=60;height+=24;height+=this.jqOptional.height();height+=this.jqSubjects.height();height+=this.jqButtons.height();height+=this.jqLoginMessage.height();height+=this.jqDataMessage.height();this.jq.dialog('option','height',height);});K.oo('method',"submit",function(){if(this.jqSubmit.is('.disabled'))return;if(this.auth.requireLogin(this))return;var pk_hash=this.subjectValueControl.getValues();var pkeys=[];var values=[];var noPkValues=false;for(var key in pk_hash){var value=pk_hash[key];var fieldId=parseInt(key);if(value.length==0&&!this.schema.field(fieldId).autogen)noPkValues=true;pkeys.push(value);values.push({fieldId:fieldId,value:value});}
if(noPkValues){var confirmResult=confirm("You are attempting to insert an entirely blank subject into this table (which is valid).\nBut are you SURE that's what you intend to do?");if(confirmResult!=true){return;}}
this.data.addRow(this.datasetId,pkeys,values,{source:this.jqSource.val(),comments:this.jqComment.val(),weight:1,confidence:1,bigData:(this.data.bigData?'yes':'no')});this.jq.dialog('close');this.notify('alert',"Adding Row...");});K.oo('method',"resetForm",function(){this.subjectValueControl.reset();this.jqSource.val('');this.jqComment.val('');});K.oo('method',"toggleMenu",function(){if(this.data.editable()){this.mainFooter.addRowButton.show();}else{this.mainFooter.addRowButton.hide();}});})(Grid0.AddSubjectView,Grid0);JS2.OO.createClass("Grid0.AddSubjectEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();this.view.toggleMenu();});K.oo('method',"e_addRowMenuClicked",function(name,jqObject){if(name=='addRow')this.controller.open();});K.oo('method',"e_userLoggedIn",function(){this.view.toggleMenu();});K.oo('method',"e_fieldEdited",function(fid){if(this.schema.field(fid).isPrimary)this.view.initSubjects();});})(Grid0.AddSubjectEvents,Grid0);Grid0.AddSubjectView.oo('setHTMLCache',{"button":function(){return"<a href='javascript:void(0);'>Add Row<\/a>"},"main":function(){return"<div class='addSubjectExplorer explorer'><form action='javascript:void(0)'><div class='subjects'><\/div><div class='optional'><div class='row'><div class='label'><label>cite a source:<\/label><\/div><div class='input source'><input class='textField f' \/><\/div><\/div><div class='row'><div class='label'><label>add a comment:<\/label><\/div><div class='input comment'><textarea class='textArea f'><\/textarea><\/div><\/div><\/div><input class='hidden' type='submit' \/><\/form><div class='buttons'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Submit      <\/a>    <\/span>  <\/span><\/span><\/div><div class='message'><div class='loginMessage'><\/div><div class='dataMessage'><\/div><\/div><\/div>"}});JS2.OO.createClass("Grid0.ToggleFieldsController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();var self=this;this.view.jqSubmit.click(function(e){self.submit();self.view.hide();});this.view.jqSelectAll.click(function(e){self.selectAll();});this.view.jqSelectNone.click(function(e){self.selectNone();});});K.oo('method',"submit",function(){var visibility_changed=[];for(var colId in this.view.colCheckBoxLookup){var col=this.schema.columnById(colId);col.hidden=this.view.colCheckBoxLookup[colId].checked?false:true;if(this.hidden_hash[col.id]!=col.hidden){visibility_changed.push({field_id:col.id,is_visible:!col.hidden,table_id:col.datasetId});}}
if(visibility_changed.length>0){AJAX.post('/tables/visibility/toggle',{changed:JSON.stringify(visibility_changed)});}
this.notify('resizeWidth');this.notify('hideMetadataInput');this.notify('viewModified');});K.oo('method',"e_initCols",function(){this.view.addToggles();});K.oo('method',"selectAll",function(){for(var colId in this.view.colCheckBoxLookup){this.view.colCheckBoxLookup[colId].checked=true;}});K.oo('method',"selectNone",function(){for(var colId in this.view.colCheckBoxLookup){this.view.colCheckBoxLookup[colId].checked=false;}});K.oo('method',"e_displayMenuClicked",function(name,jqObject){if(name=='display > showFields'){this.view.show();}});K.oo('method',"e_fieldsMenuClicked",function(name,jqObject){if(name=='fields > showFields'){this.view.show();}});K.oo('method',"e_showFields",function(){this.view.show();});K.oo('method',"e_deleteField",function(id){$(this.view.colCheckBoxLookup[id]).parent().remove();delete this.view.colCheckBoxLookup[id];});})(Grid0.ToggleFieldsController,Grid0);JS2.OO.createClass("Grid0.ToggleFieldsView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dialogName','toggleFields');K.oo('method',"initHTML",function(){var dialogOptions={autoOpen:false,width:600,minWidth:600,height:300,minHeight:300,modal:true,resizable:false,draggable:false,title:'Show or Hide Fields'}
this.jqDialog=this.util.buildDialog(this.dialogName,this.htmlCache.main(),dialogOptions);this.jqFieldCont=this.jqDialog.find('.fields');this.jqSubmit=this.jqDialog.find('center input');this.jqCheckBoxes=this.jqDialog.find('input[type=checkbox]');this.jqSelectAll=this.jqDialog.find('.selectAll');this.jqSelectNone=this.jqDialog.find('.selectNone');this.colCheckBoxLookup={};});K.oo('method',"addToggles",function(){this.jqFieldCont.html('');var datasets=this.schema.viewDatasets();for(var dsId in datasets){var ds=datasets[dsId];var datasetInfo=this.schema.getDatasetInfo(dsId);this.jqFieldCont.append(this.htmlCache.dataSource(DISPLAY.dsPage(datasetInfo.urlName,datasetInfo.name,50)));var cols=ds.viewColumns();for(var it73=0,c,it73__arr=cols,it73__len=it73__arr.length;(c=it73__arr[it73])||it73<it73__len;it73++){var jqLi=$(this.htmlCache.list(c.isPrimary?'primary':'',DISPLAY.html(c.name)));this.colCheckBoxLookup[c.id]=jqLi.first('input')[0];this.jqFieldCont.append(jqLi);}}});K.oo('method',"show",function(){this.controller.hidden_hash={};var cols=this.schema.columns();for(var it74=0,c,it74__arr=cols,it74__len=it74__arr.length;(c=it74__arr[it74])||it74<it74__len;it74++){if(this.colCheckBoxLookup[c.id]){this.colCheckBoxLookup[c.id].checked=c.hidden?false:true;this.controller.hidden_hash[c.id]=c.hidden;}}
this.jqDialog.dialog('open');});K.oo('method',"hide",function(){this.jqDialog.dialog('close');});})(Grid0.ToggleFieldsView,Grid0);Grid0.ToggleFieldsView.oo('setHTMLCache',{"list":function(){return"<dd class='"+arguments[0]+"'><input type='checkbox' \/><label>"+arguments[1]+"<\/label><\/dd>"},"main":function(){return"<div class='toggleFields'><div class='subHead'>Unchecked fields will be hidden:<\/div><ul class='bulletList' style='margin-bottom:10px;'><li>You can always show them again by returning to this menu option.<\/li><li>These fields will only be 'out of sight' for you until you reload the page.<\/li><\/ul><div class='fieldSelections'><dl class='fields'><\/dl><div class='clear'><\/div><\/div><div class='selectBox'>Select:<a class='selectAll' href='javascript: void(0);'>All<\/a>,<a class='selectNone' href='javascript: void(0);'>None<\/a><\/div><div><center><input class='submit' type='button' value='Apply Changes' \/><\/center><\/div><\/div>"},"dataSource":function(){return"<dt>From table&nbsp;"+arguments[0]+"<\/dt>"}});JS2.OO.createClass("Grid0.PaginationController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','mainFooter');K.oo('method',"e_initHTML",function(){this.view.initHTML();this.registerEvents();});K.oo('method',"e_dataLoaded",function(){var p=this.actions.pagination();this.totalPages=p.totalPages;this.page=p.page;this.limit=p.limit;this.view.populate(this.totalPages,this.page,this.limit);});K.oo('method',"e_resetPagination",function(){this.actions.paginate(1,this.limit);});K.oo('method',"registerEvents",function(){this.view.jqFirst.click((function(self){return function(){self.handleClickForNavLink(this,'first');}})(this));this.view.jqPrev.click((function(self){return function(){self.handleClickForNavLink(this,'prev');}})(this));this.view.jqNext.click((function(self){return function(){self.handleClickForNavLink(this,'next');}})(this));this.view.jqLast.click((function(self){return function(){self.handleClickForNavLink(this,'last');}})(this));this.view.jqPage.keydown((function(self){return function(evt){if(evt.keyCode==KEYCODE.ENTER){var page=$(this).val();var total=self.totalPages;if((page>total||page<=0)&&(total>0)){alert('Invalid Page Range!');return;}
limit=self.getUserLimit();self.data.paginate(page,limit);}}})(this));this.view.jqLimit.keydown((function(self){return function(evt){if(evt.keyCode==KEYCODE.ENTER){self.page=1;self.data.paginate(self.page,llimit=self.getUserLimit());}}})(this));this.view.jqCalTotal.click((function(self){return function(){self.getTotalPages();}})(this));});K.oo('method',"handleClickForNavLink",function(link,to){if($(link).hasClass('disabled'))return;this[to+'Page']();});K.oo('method',"firstPage",function(){this.data.paginate(1,this.getUserLimit());});K.oo('method',"prevPage",function(){var page=this.page;if(page<=1)return;page=page-1;this.data.paginate(page,this.getUserLimit());});K.oo('method',"nextPage",function(){var page=this.page;if((this.totalPages>0)&&(page>=this.totalPages))return;page=page+1;this.data.paginate(page,this.getUserLimit());});K.oo('method',"lastPage",function(){this.data.paginate(this.totalPages,this.getUserLimit());});K.oo('method',"getUserLimit",function(){var limit=this.view.jqLimit.val();if(limit.length==0)limit=this.limit;return limit<1?1:limit;});K.oo('method',"setRowCount",function(rowCount){this.totalPages=(rowCount<0)?-1:Math.ceil(rowCount/this.limit);this.view.populate(this.totalPages,this.page,this.limit);});K.oo('method',"getTotalPages",function(){if(this.view.jqCalTotal.hasClass('disabled'))return;this.view.jqTotal.html('...');this.data.getTotalPages();});})(Grid0.PaginationController,Grid0);JS2.OO.createClass("Grid0.PaginationView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','mainFooter');K.oo('method',"initHTML",function(){var html=this.htmlCache.main();this.jq=this.mainFooter.addControl(html);this.jqLimit=this.jq.find('.limit');this.jqFirst=this.jq.find('.first');this.jqPrev=this.jq.find('.prev');this.jqNext=this.jq.find('.next');this.jqLast=this.jq.find('.last');this.jqPage=this.jq.find('.page');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Page Number",this.jqPage,null);this.jqTotal=this.jq.find('.total');this.jqCalTotal=this.jq.find('.calTotal');Sci.validate(this.jqPage,'Integer',{'notNull':true});Sci.validate(this.jqLimit,'Integer',{'notNull':true});});K.oo('method',"disablePrevLinks",function(){this.jqFirst.addClass("disabled");this.jqPrev.addClass("disabled");});K.oo('method',"enablePrevLinks",function(){this.jqFirst.removeClass("disabled");this.jqPrev.removeClass("disabled");});K.oo('method',"disableNextLinks",function(){this.jqNext.addClass("disabled");this.jqLast.addClass("disabled");});K.oo('method',"enableNextLinks",function(){this.jqNext.removeClass("disabled");this.jqLast.removeClass("disabled");});K.oo('method',"populate",function(totalPages,page,limit){this.jqTotal.html(totalPages);this.jqLimit.val(limit);this.jqPage.val(page);this.hasPageNum=totalPages>0;this.toggleButtons(totalPages,page,limit);});K.oo('method',"toggleButtons",function(totalPages,page,limit){page<=1?this.disablePrevLinks():this.enablePrevLinks();if(this.hasPageNum){this.jqTotal.show();this.jqCalTotal.hide();page>=totalPages?this.disableNextLinks():this.enableNextLinks();}else{this.jqTotal.hide();this.jqCalTotal.show().removeClass('disabled');this.disableNextLinks();}});K.oo('method',"disableCalTotal",function(){this.jqCalTotal.addClass('disabled');});})(Grid0.PaginationView,Grid0);JS2.OO.createClass("Grid0.PaginationEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_totalPagesLoaded",function(p){this.controller.setRowCount(parseInt(p));});K.oo('method',"e_loadingTotalPages",function(){this.view.disableCalTotal();});})(Grid0.PaginationEvents,Grid0);Grid0.PaginationView.oo('setHTMLCache',{"main":function(){return"<div class='pagination'><input class='limit tinyInput textField' \/><span>rows per page<\/span><a class='first'>first<\/a><span>-<\/span><a class='prev'>prev<\/a><input class='page tinyInput textField' \/><span>\/<\/span><span class='total'><\/span><a class='calTotal' title='Click to calculate page count.'>?<\/a><span>-<\/span><a class='next'>next<\/a><span>-<\/span><a class='last'>last<\/a><\/div>"}});JS2.OO.createClass("Grid0.TooltipController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','header');K.oo('method',"e_initHTML",function(){this.view.initHTML();this.registerEvents();});K.oo('method',"e_showTooltip",function(){var context=this.header.contexts.hover;var jqCol=context.jqEle;var col=context.col;this.view.populateHdrTip(col);this.view.show(jqCol.offset());});K.oo('method',"e_hideTooltip",function(){this.view.hide();});K.oo('method',"registerEvents",function(){var self=this;var view=this.view;view.jq.hover(function(e){view.jq.show();},function(e){view.jq.hide();});});})(Grid0.TooltipController,Grid0);JS2.OO.createClass("Grid0.TooltipView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','topOffset',-84);K.oo('member','dependencies','body');K.oo('method',"initHTML",function(){this.jqParent=$('#tooltips:first');this.jq=this.jqParent.append(this.htmlCache.hdrTip()).find('.hdrTip');this.jqColName=this.jq.find('.colName');this.jqDataType=this.jq.find('.datatype');this.jqAggMeth=this.jq.find('.aggMeth');this.jqSourceTable=this.jq.find('.sourceTable');this.jqMergeFields=this.jq.first('.mergeFields');this.jqMergeList=this.jqMergeFields.first('ol');this.showSourceTable=false;});K.oo('method',"datasetUrl",function(urlName){return'/t/'+urlName;});K.oo('method',"populateHdrTip",function(col){var dataset=this.schema.getDatasetInfo(col.datasetId);this.jqColName.html('<strong>'+DISPLAY(col.name).trunc(36).html()+'</strong>');this.jqDataType.html('Data type: <strong>'+sci.constants.datatypes[col.datatype].viewName+'</strong>');var aggMeth=col.aggregation;if(col.isPrimary){aggMeth="NONE - subject";}
this.jqAggMeth.html('Aggregation method: <strong>'+aggMeth+'</strong>');if(col.field.datasetId!=this.data.dataset.id){this.populateSrcTable(dataset);this.jqSourceTable.show();}else{this.jqSourceTable.hide();}
if(col.field.mergeFields.length){this.populateMergeFields(col.field.mergeFields);this.jqMergeFields.show();}else{this.jqMergeFields.hide();}});K.oo('method',"populateMergeFields",function(mergeFields){var names='';for(var it72=0,f,it72__arr=mergeFields,it72__len=it72__arr.length;(f=it72__arr[it72])||it72<it72__len;it72++){var dataset=this.schema.getDatasetInfo(f.datasetId);names+="<li>- <strong>"+DISPLAY(f.name).trunc(10).html()+'</strong> from '+this.datasetLink(dataset)+"</li>";}
this.jqMergeList.html(names);});K.oo('method',"populateSrcTable",function(dataset){this.jqSourceTable.html('Source table: '+this.datasetLink(dataset));});K.oo('method',"datasetLink",function(dataset){var srcTable=DISPLAY(dataset.name).trunc(16).html();var srcTableText='<a href="'+this.datasetUrl(dataset.urlName)+'" target="_blank" title="'+dataset.name+'">'+srcTable+'</a>';return srcTableText;});K.oo('method',"show",function(pos){this.jq.show();this.jq.css({top:pos.top-this.jq.height()+this.topOffset,left:pos.left});});K.oo('method',"hide",function(){this.jq.hide();});})(Grid0.TooltipView,Grid0);Grid0.TooltipView.oo('setHTMLCache',{"hdrTip":function(){return"<div class='hdrTip tooltip'><ul><li class='colName'><\/li><li class='datatype'><\/li><li class='aggMeth'><\/li><li class='sourceTable'><\/li><li class='mergeFields'>Also contains data from:<ol><\/ol><\/li><\/ul><div class='fieldConnector down'><\/div><\/div>"},"firstRun":function(){return"<div class='firstRunTip tooltip'><div class='fieldConnector up'><\/div><div class='close h'><\/div><div class='content'><div class='message'><\/div><a class='hideTip' href='javascript:void(0);'>Do not show this message again<\/a><\/div><\/div>"}});JS2.OO.createClass("Grid0.FirstRunTipController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"registerEvents",function(){var self=this;var view=this.view;view.jqClose.click(function(){view.hide();});view.jqHide.click(function(){self.hideByDefault();});});K.oo('method',"hideByDefault",function(){this.view.hide();AJAX.post('/account/update_preferences',{'user[preferences]':JSON.stringify({hideFirstRunTip:true})});});})(Grid0.FirstRunTipController,Grid0);JS2.OO.createClass("Grid0.FirstRunTipView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','MESSAGE','Double-click on any cell to either update it or explore its factual history.');K.oo('member','TOP_OFFSET',25);K.oo('member','dependencies','auth body');K.oo('method',"initHTML",function(){this.jqParent=$('#tooltips:first');this.jq=$(this.htmlCache.main());this.jqMessage=this.jq.first('.message');this.jqClose=this.jq.first('.close');this.jqHide=this.jq.first('.hideTip');this.jqMessage.html(this.MESSAGE);this.jqParent.append(this.jq);this.jq.hide();this.firstTime=true;});K.oo('method',"show",function(){if(!this.firstTime)return;if(this.data.hideFirstRunTip())return;var pos=this.dim.getFirstRunTipPosition();if(!pos||!this.data.editable())return;if(!this.auth.loggedIn())this.jqHide.hide();else this.jq.addClass('registered');this.jq.css({top:pos.top+this.TOP_OFFSET,left:pos.left}).show();this.firstTime=false;this.slowHide();});K.oo('method',"slowHide",function(){var self=this;setTimeout(function(){self.jq.hide('slow');},8000);});K.oo('method',"hide",function(){if(this.jq)this.jq.hide();});})(Grid0.FirstRunTipView,Grid0);JS2.OO.createClass("Grid0.FirstRunTipEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_hideFirstRunTip",function(){this.view.hide();});K.oo('method',"e_resized",function(){this.view.show();});K.oo('method',"e_tableUnCached",function(){this.view.hide();});K.oo('method',"e_appErrorOccurred",function(){this.view.hide();});})(Grid0.FirstRunTipEvents,Grid0);Grid0.FirstRunTipView.oo('setHTMLCache',{"main":function(){return"<div class='firstRunTip tooltip'><div class='firstRunTip-container'><div class='fieldConnector up'><\/div><div class='close h'><\/div><div class='content'><div class='icon'><\/div><div class='message'><\/div><a class='hideTip' href='javascript:void(0);'>Do not show this message again<\/a><\/div><\/div><\/div>"}});JS2.OO.createClass("Grid0.BulkImportController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"open",function(){this.view.openDialog();this.registerEvents();});K.oo('method',"registerEvents",function(){var self=this;var options={type:"POST",dataType:"json",beforeSubmit:(function(self){return function(d,$f,op){self.showLoading('uploading...');}})(this),success:function(file){self.request_preview(file);}};this.view.jqFileForm.ajaxForm(options);this.view.jqTextForm.ajaxForm(options);this.view.jqViewForm.ajaxForm(options);});K.oo('method',"showLoading",function(msg){this.view.showLoading(msg);});K.oo('method',"request_preview",function(file){if(file.error){this.view.hideSpinner();this.showMessage(file.error);this.file=null;this.view.close();return;}
this.showLoading('loading...');this.file=file;var self=this;var url=this.data.baseUrl()+'/import/preview_file';$.ajax({url:url,data:{id:file.id,key:file.key},dataType:"json",success:function(ret){self.preview(ret)}});});K.oo('method',"preview",function(ret){this.view.hideSpinner();if(ret.error){this.showMessage(ret.error);return;}
var p=ret.tables[0];this.numRows=p.row_count;this.view.preview(p);});K.oo('method',"submit",function(params){if(this.auth.requireLogin(this,params))return;this.view.jqLoginMessage.html('');if(this.file){params.mapping=JSON.stringify(params.mapping);params.file=this.file.id;params.key=this.file.key;params.numRows=this.numRows;this.data.submitImport(params);}else{this.showMessage('need data');}});K.oo('method',"importSubmitted",function(notice){if(notice=='success'){this.view.jq.dialog('close');var html='<li>Your bulk import is being processed, please <a href="javascript:void(0);" onclick="window.location.href = window.location.href;">refresh</a> the page in a few minutes to see your votes.</li>';this.showMessage(html);this.reset();}else{this.showMessage(notice);}});K.oo('method',"reset",function(){this.file=null;this.view.clearPreview();});K.oo('method',"showMessage",function(msg){sci.website.message(msg);});K.oo('method',"initialize",function(options){this.openSquare=options.dataset.openSquare;});})(Grid0.BulkImportController,Grid0);JS2.OO.createClass("Grid0.BulkImportView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','gridMenu');K.oo('member','dialogName','bulkImport');K.oo('method',"initHTML",function(){this.setImportable();if(this.controller.openSquare&&!this.auth.isAdmin()&&!this.data.isOwner()){this.gridMenu.disableMenuItem('improve > bulkImport')}});K.oo('method',"e_bigData",function(bigData,unlisted){if(unlisted){this.gridMenu.enableMenuItem('improve > bulkImport')}});K.oo('method',"e_dataLoaded",function(){this.setImportable();});K.oo('method',"openDialog",function(){if(!this.jq)this.initDialog();this.jq.dialog('open');});K.oo('method',"initDialog",function(){var self=this;var dialogOptions={autoOpen:false,width:800,minWidth:550,height:480,minHeight:480,modal:true,draggable:true,title:'Import Data',resizeStop:function(e,ui){self.resizeGrid(ui);}}
this.jq=this.util.buildDialog(this.dialogName,this.htmlCache.main(),dialogOptions);this.jqTabs=this.jq.find('.fact-tabs');WIDGET.tabs(this.jqTabs)
this.jqFileForm=this.jq.find('form[name="dataset_import_file"]');this.jqFileForm[0].action=this.data.baseUrl()+'/import/submit_ajax';this.jqTextForm=this.jq.find('form[name="dataset_import_text"]');this.jqTextForm[0].action=this.data.baseUrl()+'/import/submit_ajax';this.jqViewForm=this.jq.find('form[name="dataset_import_view"]');this.jqViewForm[0].action=this.data.baseUrl()+'/import/submit_ajax';this.jqLoadFile=this.jq.find("input[name='load_file']");this.jqLoadPaste=this.jq.find("input[name='load_paste']");this.jqLoadView=this.jq.find("input[name='load_view']");this.jqPreview=this.jq.find(".previewContainer");this.jqSpinner=this.jq.find(".fact-spinner").hide();this.jqLoginMessage=this.jq.find('.loginMessage');this.jqDataMessage=this.jq.find('.dataMessage');checkLoadable(this.jq.find('input[name="file"]'),this.jqLoadFile);checkLoadable(this.jq.find('textarea[name="pasted_data"]'),this.jqLoadPaste);checkLoadable(this.jq.find('input[name="view"]'),this.jqLoadView);});K.oo('method',"showLoading",function(msg){this.clearPreview();this.jqSpinner.html(msg).show();});K.oo('method',"hideSpinner",function(){this.jqSpinner.hide();});K.oo('method',"preview",function(p){this.clearPreview();var cols=this.schema.primaryDataset.columns();var model={columns:[],sampleRows:p.rows,mapColumns:cols,matches:p.matches,containsHeader:!!p.header};for(var i=0,len=p.datatypes.length;i<len;i++){var column={};column.name=p.header?p.header[i]:'';column.datatype=this.getDatatype(p.datatypes[i]);column.width=110;model.columns.push(column);}
var options={seed:this.jqPreview,importer:this.controller,auth:this.auth};this.matcher=APP(ImportSchemaMatcher,options);this.matcher.start(model);this.auth.checkLogin(this.jqLoginMessage);this.notify('checkReferenceState',this.schema.primaryDataset.id,this.jqDataMessage);});K.oo('method',"clearPreview",function(){this.hideSpinner();this.jqPreview.html('');this.jqLoginMessage.html('');this.jqDataMessage.html('');});K.oo('method',"close",function(){this.jq.dialog('close');this.clearPreview();});K.oo('method',"setImportable",function(){if(!this.data.editable()||((!this.unlisted&&this.bigData)&&!this.auth.isAdmin())){this.gridMenu.hideMenuItem('improve>bulkImport');}else{this.gridMenu.showMenuItem('improve>bulkImport');}});K.oo('method',"getDatatype",function(datatype){return datatype;});K.oo('method',"resizeGrid",function(ui){var height=ui.size.height;if(this.matcher)this.matcher.resizeHeight(height);});})(Grid0.BulkImportView,Grid0);JS2.OO.createClass("Grid0.BulkImportEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','gridMenu');K.oo('method',"e_initHTML",function(){this.view.initHTML();});K.oo('method',"e_importSubmitted",function(notice){this.controller.importSubmitted(notice);});K.oo('method',"e_improveMenuClicked",function(name,jqObject){if(name=='improve > bulkImport'){if(jqObject.parent().hasClass('disabled'))return;this.controller.open();}});K.oo('method',"e_userLoggedIn",function(){this.view.setImportable();});})(Grid0.BulkImportEvents,Grid0);JS2.OO.createClass("ImportSchemaMatcher.Main");ImportSchemaMatcher.Main.oo('extends',SchemaMatcher.Main);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','components',['Controls','Preview']);K.oo('member','gridVPaddings',280);K.oo('method',"start",function(model){this.jq=$(this.options.importer.view.htmlCache.matcher());this.seed.append(this.jq);this.seed.setSeed(this.jq);this.assign('importer',this.options.importer);this.assign('model',model);this.assign('auth',this.options.auth);this.notify('initHTML');});K.oo('method',"resizeHeight",function(h){this.notify('resizeHeight',h-this.gridVPaddings);});})(ImportSchemaMatcher.Main,ImportSchemaMatcher);JS2.OO.createClass("ImportSchemaMatcher.Controls");ImportSchemaMatcher.Controls.oo('extends',SchemaMatcher.Controls);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.auth=options.auth;});K.oo('method',"e_initHTML",function(){this.ch=this.model.containsHeader;this.tws=true;this.jq=this.seed.first('.controls:first');this.jqFif=this.jq.find("input[name='fif']").attr('checked',this.ch);this.jqTws=this.jq.find("input[name='tws']").attr('checked',this.tws).hide();this.jqSource=this.jq.find("input[name='twsource']");this.jqSubmit=this.seed.find(".submitImport");this.registerEvents();if(this.auth.isAdmin())this.jqTws.show();});K.oo('method',"registerEvents",function(){var self=this;this.jqSubmit.click(function(){self.submit();});this.jqFif.click(function(){self.toggleHeader();});this.jqTws.click(function(){self.toggleSource();});});K.oo('method',"toggleSource",function(){if(!this.auth.isAdmin())return;var tws=this.jqTws.attr('checked');this.tws=tws;if(tws){this.jqSource.show();this.notify('toggleColumnSource',false);}else{this.jqSource.hide();this.notify('toggleColumnSource',true);}});K.oo('method',"toggleHeader",function(){var ch=this.jqFif.attr('checked');this.ch=ch;this.model.containsHeader=ch;if(ch){var headerNames=this.model.sampleRows.shift();for(var i=0,len=headerNames.length;i<len;i++){if(this.model.columns[i].gdt)this.model.columns[i].datatype=this.model.columns[i].gdt;this.model.columns[i].name=headerNames[i];}}else{var row=[];for(var i=0,len=this.model.columns.length;i<len;i++){if(!this.model.columns[i].gdt)this.model.columns[i].gdt=this.model.columns[i].datatype;if(!sci.validatorFactory.get_validator(this.model.columns[i].datatype,{notNull:false}).validate(this.model.columns[i].name))this.model.columns[i].datatype='String';row[i]=this.model.columns[i].name;this.model.columns[i].name='';}
this.model.sampleRows.unshift(row);}
this.notify('loadPreview');});K.oo('method',"submit",function(){var params=this.preview.getMapping();var source=this.jqSource.val();params.tws=params.mapping.source?true:this.tws;params.source=source||'';params.ch=this.ch;if(params.isEmpty||!params.pkMatched){var subject_names=[];for(var it33=0,col,it33__arr=this.model.mapColumns,it33__len=it33__arr.length;(col=it33__arr[it33])||it33<it33__len;it33++){if(col.isPrimary)subject_names.push(DISPLAY.html(col.name));}
this.importer.showMessage('You must choose which field[s] in the file most closely match[es] the subject[s] in this table: ['+subject_names.join(', ')+']');}else{this.auth.requireLogin(this);this.importer.submit(params);}});K.oo('method',"e_sourceColumn",function(bool){this.jqSource.attr('disabled',bool);this.jqTws.attr('disabled',bool);});})(ImportSchemaMatcher.Controls,ImportSchemaMatcher);JS2.OO.createClass("ImportSchemaMatcher.Preview");ImportSchemaMatcher.Preview.oo('extends',SchemaMatcher.Preview);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','GRID_CLASS',"ImportSchemaMatcher.Grid");K.oo('method',"getMapping",function(){return this.grid.getMapping();});K.oo('method',"e_loadPreview",function(){this.jq.html('');this.e_initHTML();});K.oo('method',"e_initHTML",function(){_super(this);this.jq.height(210);if(this.model.matches)this.setMapping();this.grid.setPreviewController(this);});K.oo('method',"e_toggleColumnSource",function(show){this.grid.toggleColumnSource(show);});K.oo('method',"setMapping",function(){var lookup={};for(var fieldId in this.model.matches){for(var it34=0,idx,it34__arr=this.model.matches[fieldId],it34__len=it34__arr.length;(idx=it34__arr[it34])||it34<it34__len;it34++){lookup[idx]=fieldId;}}
this.grid.setMapping(lookup);});K.oo('method',"setSourceColumn",function(bool){this.notify('sourceColumn',bool);});K.oo('method',"e_resizeHeight",function(h){this.grid.setHeight(h);});})(ImportSchemaMatcher.Preview,ImportSchemaMatcher);JS2.OO.createClass("ImportSchemaMatcher.Grid.Main");ImportSchemaMatcher.Grid.Main.oo('extends',SchemaMatcher.Grid.Main);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','components',['Mappers','Resizer']);K.oo('method',"setMapping",function(matches){this.notify('setMapping',matches);});K.oo('method',"toggleColumnSource",function(show){this.notify('toggleColumnSource',show);});K.oo('method',"setPreviewController",function(con){this.previewController=con;});K.oo('method',"e_sourceColumn",function(bool){if(this.previewController)this.previewController.setSourceColumn(bool);});})(ImportSchemaMatcher.Grid.Main,ImportSchemaMatcher.Grid);JS2.OO.createClass("ImportSchemaMatcher.Grid.Mappers");ImportSchemaMatcher.Grid.Mappers.oo('extends',SchemaMatcher.Grid.Mappers);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','DATATYPES',['String','Double','Integer','Date','Link','PhoneNumber','ZipCode','UUID','Lat','Lng']);K.oo('method',"e_initCols",function(){this.columnSource=false;_super(this);this.selects=this.jqMergeContainer.find('select');var self=this;this.selects.change(function(){self.uniquePkOptions();});this.jqSourceContainer=$('<div class="columnSources"></div>');this.jqMergeContainer.before(this.jqSourceContainer);for(var i=0,col;col=this.data.columns[i];i++){this.sourceForCol(col,i);}
this.jqColumnSources=this.jqSourceContainer.find('.columnSource');this.resizeColumnSources();this.jqColumnSources.hide();});K.oo('method',"sourceForCol",function(col,idx){this.jqSourceContainer.append('<div class="columnSource"><input type="text" /></div>').children(':last');});K.oo('method',"uniquePkOptions",function(){var pk_select={};var metadata={};for(var i=1,len=this.selectors.length;i<=len;i++){var selector=this.selectors[i-1];var val=selector.sb.value();if(val.toString().match(/^\d+$/)){var id=val;pk_select[id]=i;(this.pkLookup[id]&&id!=this.firstPkId)?this.disablePkSource(i-1):this.enablePkSource(i-1);}
if(val=='source'){metadata.source=i;}
if(val=='comments'){metadata.comments=i;}}
for(var j=1,len=this.selectors.length;j<=len;j++){var selector=this.selectors[j-1];for(var it35=0,c,it35__arr=this.mapColumns,it35__len=it35__arr.length;(c=it35__arr[it35])||it35<it35__len;it35++){var pkId=c.id;if(pk_select[pkId]&&pk_select[pkId]!=j){selector.sb.disableOption(pkId);}else{selector.sb.enableOption(pkId);}}
if(metadata.source&&metadata.source!=j){selector.sb.disableOption('source');}else{selector.sb.enableOption('source');}
if(metadata.comments&&metadata.comments!=j){selector.sb.disableOption('comments');}else{selector.sb.enableOption('comments');}}
this.sourceColumn=!!metadata.source;this.notify('sourceColumn',this.sourceColumn);this.toggleColumnSource();});K.oo('method',"enablePkSource",function(idx){this.jqColumnSources.eq(idx).find('input').attr('disabled','');});K.oo('method',"disablePkSource",function(idx){this.jqColumnSources.eq(idx).find('input').attr('disabled','disabled');});K.oo('method',"buildDatatypeOrder",function(){this.datatypeOrder={};this.pkLookup={};for(var it36=0,dt,it36__arr=this.DATATYPES,it36__len=it36__arr.length;(dt=it36__arr[it36])||it36<it36__len;it36++){if(dt=='Numeric')dt='Double';this.datatypeOrder[dt]=[];}
this.firstPkId=0;for(var i=0,c;c=this.mapColumns[i];i++){if(c.isPrimary){this.pkLookup[c.id]=true;if(this.firstPkId==0||this.firstPkId>c.id)this.firstPkId=c.id;}
this.datatypeOrder[c.datatype].push(c);}});K.oo('method',"optionsForCol",function(col,i){var jq=this.jqMergeContainer.append('<div class="column">&nbsp;</div>').children(':last')
var importableColumns=this.getImportableColumns(this.datatypeOrder);col.id=i;var options={jq:jq,mergeColumns:importableColumns[col.datatype],htmlCache:this.htmlCache,column:col};this.selectors.push(new ImportSchemaMatcher.Grid.Selector2(options));});K.oo('method',"getImportableColumns",function(dtHash){var ret={};var columns=dtHash['Double'].concat(dtHash['Date']).concat(dtHash['Integer']).concat(dtHash['String']).concat(dtHash['Link']).concat(dtHash['PhoneNumber']).concat(dtHash['ZipCode']).concat(dtHash['UUID']).concat(dtHash['Lat']).concat(dtHash['Lng']);ret['Integer']=columns;ret['Double']=columns;ret['Date']=columns;ret['String']=columns;ret['Lat']=columns;ret['Lng']=columns;ret['UUID']=dtHash['UUID'];return ret;});K.oo('method',"e_getMapping",function(ret){ret.isEmpty=true;ret.pkMatched=true;var mapping={};var addColumns=[];var pkMapping={};for(var i=0,s;s=this.selectors[i];i++){var info=s.getMergeInfo();if(info){if(info.type=='map'&&info.val){if(!mapping[info.val])mapping[info.val]={};mapping[info.val].idxs=[];mapping[info.val].idxs.push(info.columnId);mapping[info.val].sources=[];mapping[info.val].sources.push(this.jqColumnSources.eq(i).first('input').val());if(info.val=='source'||info.val=='comments'||info.val=='weight'){mapping[info.val].ctype=info.val;}
ret.isEmpty=false;if(this.pkLookup[info.val])pkMapping[info.val]=true;}}}
for(var pk in this.pkLookup){if(!pkMapping[pk]){ret.pkMatched=false;break;}}
ret.mapping=mapping;});K.oo('method',"e_setMapping",function(matches){for(var i=0,s;s=this.selectors[i];i++){s.setMatch(matches[i]);}});K.oo('method',"e_toggleColumnSource",function(show){this.columnSource=show;this.toggleColumnSource();});K.oo('method',"toggleColumnSource",function(){if(this.columnSource&&!this.sourceColumn){this.resizeColumnSources();this.seed.jq.height(230).first('.universe').css('padding-top',21);}else{this.jqColumnSources.hide();this.seed.jq.height(210).first('.universe').css('padding-top',0);}});K.oo('method',"resizeColumnSources",function(){this.dim.setColumns(this.jqColumnSources,{jqParent:this.jqSourceContainer,adjust:1});});K.oo('method',"e_resizeWidth",function(){_super(this);if(this.columnSource)this.resizeColumnSources();});K.oo('method',"e_hScroll",function(params){_super(this,params);this.jqSourceContainer[0].style.left='-'+params.left+'px';});})(ImportSchemaMatcher.Grid.Mappers,ImportSchemaMatcher.Grid);JS2.OO.createClass("ImportSchemaMatcher.Grid.Selector2");ImportSchemaMatcher.Grid.Selector2.oo('extends',SchemaMatcher.Grid.Selector2);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"buildList",function(){this.jq.attr('title',"Select a field in your table that you'd like to import "+(this.column.name?this.column.name:'this column')+' into.');this.sb.addItem('ignore',"-- Ignore Column --");this.sb.addItem('source',"use as row source");this.sb.addItem('comments',"use as row comments");if(grid.auth.isAdmin()||grid.data.isOwner())this.sb.addItem('weight',"use as row weight");this.sb.jq.css({width:'100%',margin:'3 0'});if(this.mergeColumns&&this.mergeColumns.length>0){this.sb.addComment('Import to:');for(var i=0,c;c=this.mergeColumns[i];i++){if(!c.field.isSubmitable){this.sb.addComment('- '+c.name+' [non-submittable]');}else{this.sb.addItem(c.id,'- '+c.name);}}}});K.oo('method',"setMatch",function(fieldId){this.sb.selectValue(fieldId);});})(ImportSchemaMatcher.Grid.Selector2,ImportSchemaMatcher.Grid);Grid0.BulkImportView.oo('setHTMLCache',{"main":function(){return"<h1>Import Votes<\/h1><div class='explorer bulkImport'><div class='fact-tabs'><ul class='fact-tabList'><li class='selected'>Choose Local File<\/li><li>Cut and Paste Data Directly<\/li><li>From Table or View<\/li><\/ul><div class='panes fact-panes'><div class='uploadFile pane selected'><div class='container clearfix'><div class='entryName'>CSV File to Upload:<\/div><div class='entryValue'><form enctype='multipart\/form-data' name='dataset_import_file'><input class='file' name='file' type='file' \/><input class='uploadButton' name='load_file' type='submit' value='Upload' \/><!-- \/= @ui.button 'Select file', :klass => 'fileUploadButton', :style => 'display: none' --><\/form><\/div><\/div><\/div><div class='pasteData pane hidden'><div class='container clearfix'><div class='entryName'>Paste Data Directly:<\/div><div class='entryValue'><form name='dataset_import_text'><textarea class='textArea ' name='pasted_data' onblur='s.blur(this)' onfocus='s.focus(this)'><\/textarea><br \/><input class='loadButton' name='load_paste' type='submit' value='Load' \/><\/form><\/div><\/div><\/div><div class='fromView pane hidden'><div class='container clearfix'><div class='entryName'>Table or View:<\/div><div class='entryValue'><form name='dataset_import_view'><input class='textField ' name='view' onblur='s.blur(this)' onfocus='s.focus(this)' \/><input class='loadButton' name='load_view' style='margin-left:5px' type='submit' value='Load' \/><\/form><\/div><\/div><\/div><\/div><\/div><div class='previewContainer'><\/div><div class='fact-spinner'><\/div><div class='message'><div class='loginMessage'><\/div><div class='dataMessage'><\/div><\/div><\/div>"},"matcher":function(){return"<div class='SchemaMatcher Main'><div class='main'><div class='schemaMatcher'><div class='controls'><div class='uploadOptions'><input name='fif' type='checkbox' \/>Does the&nbsp;<strong>first row<\/strong>&nbsp;of your imported data contain the&nbsp;<strong>names of each column?<\/strong><\/div><div class='source'><input name='tws' type='checkbox' \/>Cite&nbsp;<strong>one source<\/strong>&nbsp;for&nbsp;<strong>all imported data<\/strong><!-- \/&nbsp;? --><p><input class='' name='twsource' onblur='s.blur(this)' onfocus='s.focus(this)' \/><\/p><\/div><\/div><div class='preview'><\/div><div class='submit'><span class='submitImport fact-button' id='submitImport'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Import Data into Table      <\/a>    <\/span>  <\/span><\/span><\/div><\/div><\/div><\/div>"}});JS2.OO.createClass("Grid0.DownCSVController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(){});K.oo('method',"e_initHTML",function(){this.view.initHTML();});K.oo('method',"e_fileMenuClicked",function(name,jqObject){var downloadMode=null;if(name=='file > download')downloadMode='normal';if(name=='file > downloadDev')downloadMode='developer';if(name=='file > downloadVotes')downloadMode='votes';if(downloadMode){if(jqObject.parent().hasClass('disabled'))return;if(jqObject.find('form').length==0){jqObject.append(this.view.jqCSVForm);}
switch(this.data.downloadable()){case'FULLY':this.getDownload(downloadMode);break;case'PARTLY':if(window.confirm(_("The table you are downloading contains some data from a secondary source that is not available for download.  Your downloaded file may be incomplete compared to what you see here.  Do you still want to download this file?")))this.getDownload(downloadMode);break;default:sci.website.error('This table is not available for download.');}}});K.oo('method',"getDownload",function(downloadMode){this.view.getDownload(downloadMode);});})(Grid0.DownCSVController,Grid0);JS2.OO.createClass("Grid0.DownCSVView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','gridMenu auth');K.oo('method',"initHTML",function(){this.toggleMenu();});K.oo('method',"toggleMenu",function(){if(this.data.dataset.downloadable||this.auth.isAdmin()||this.data.isOwner()){this.gridMenu.enableMenuItem('file > download');this.gridMenu.enableMenuItem('file > downloadDev');this.gridMenu.view.jq.first('li.file li.download span').hide();}else{this.gridMenu.disableMenuItem('file > download');this.gridMenu.disableMenuItem('file > downloadDev');this.gridMenu.view.jq.first('li.file li.download span').show();}
this.jqCSVForm=$(this.htmlCache.hiddenForm());});K.oo('method',"getDownload",function(mode){var url=this.data.baseUrl()+'.csaml';if(mode=='developer')url+='?developer_mode=true';if(mode=='votes')url+='?votes'
var jqForm=this.jqCSVForm;var jqInputGrid=jqForm.find('input[name=grid]');jqForm.attr('action',url);jqInputGrid.val(this.data.richState());jqForm.submit();});K.oo('method',"e_userLoggedIn",function(){this.toggleMenu();});})(Grid0.DownCSVView,Grid0);Grid0.DownCSVView.oo('setHTMLCache',{"hiddenForm":function(){return"<form class='hidden' method='post'><input name='grid' type='hidden' \/><input name='_event' type='hidden' value='DownloadAsCsv' \/><\/form>"}});JS2.OO.createClass("Grid0.CloneController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.registerEvents();});K.oo('method',"registerEvents",function(){var self=this;this.view.jqSubmit.click(function(){self.submit();});});K.oo('method',"submit",function(){var self=this;var dsName=jQuery.trim(this.view.jqDSName.val());if(dsName.length==0){alert("Please supply the name of the new table");}else{if(this.auth.requireLogin(this))return;this.view.jqMessage.html('');var params={name:dsName,description:this.view.jqDSDesc.val(),tags:this.view.jqDSTags.val(),unlisted:!this.view.jqDsListed[0].checked,onError:function(){self.view.closeDialog();}};if(this.mode=='join'){this.data.publish(params);}else if(this.mode=='merge'){this.data.saveMerge(params);}else if(this.mode=='view'){this.data.saveView(params);}
this.view.jqSubmit.hide();this.view.jqSaving.show();}});K.oo('method',"e_dataLoaded",function(){if(this.actions.isTempMerge()){this.mode='merge';}else if(this.actions.isTempJoin()){this.mode='join';}});K.oo('method',"e_cloneSubmitted",function(res){this.view.jqSubmit[0].disabled=false;if((res+'').match(/^\d+$/))window.location.href='/tables/'+res;});K.oo('method',"e_fileMenuClicked",function(name,jqObject){if(jqObject.parent().hasClass('disabled'))return;if(name=='file > saveAs')this.saveAs();});K.oo('method',"saveAs",function(){if(this.actions.isTempMerge()){this.mode='merge';}else if(this.actions.isTempJoin()){this.mode='join';}else{this.mode='view';}
this.view.showDialog();});})(Grid0.CloneController,Grid0);JS2.OO.createClass("Grid0.CloneView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','mainFooter gridMenu auth');K.oo('member','dialogName','saveView');K.oo('method',"initHTML",function(){var jqFirstTab=$('.gridTabsContainer>ul>li:first');var dialogOptions={autoOpen:false,width:530,minWidth:530,height:250,minHeight:250,modal:true,draggable:false,title:'Save this view'}
this.jq=this.util.buildDialog(this.dialogName,this.htmlCache.main(),dialogOptions);this.jqForm=this.jq.find('form');this.jqDSName=this.jqForm.find('input[name    = "dsName"]');this.jqDSDesc=this.jqForm.find('textarea[name = "dsDesc"]');this.jqDSTags=this.jqForm.find('input[name    = "dsTags"]');this.jqDsListed=this.jqForm.find('input[name    = "dsListed"]');this.jqSubmit=this.jqForm.find('.submit');this.jqSaving=this.jqForm.find('.saving');this.jqMessage=this.jqForm.find('.message');var info=this.data.dataset;this.jqDSDesc.val(info.description);if(this.auth.isAdmin()){this.jqDSTags.val(info.tags);}else{this.jqForm.first('tr.tags').hide();this.jqForm.first('tr.tagsHelper').hide();}
var self=this;this.jqClose=this.jq.parents('.ui-dialog:first').first('.ui-dialog-titlebar-close');this.jqClose.click(function(){self.closeDialog();});});K.oo('method',"closeDialog",function(){this.jqSubmit.show();this.jqSaving.hide();});K.oo('method',"showDialog",function(){this.jq.dialog('open');this.auth.checkLogin(this.jqMessage);});})(Grid0.CloneView,Grid0);Grid0.CloneView.oo('setHTMLCache',{"button":function(){return"<span><b>Temporary View<\/b><\/span>"},"main":function(){return"<div class='explorer clone'><form><table><tr class='name'><td class='label'><span class='red'>*&nbsp;<\/span>New table name:<\/td><td class='input'><input class='textField ' name='dsName' onblur='s.blur(this)' onfocus='s.focus(this)' \/><\/td><\/tr><tr class='desc'><td class='label'>Description:<\/td><td class='input'><textarea class='textArea ' name='dsDesc' onblur='s.blur(this)' onfocus='s.focus(this)'><\/textarea><\/td><\/tr><tr class='tags'><td class='label'>Tags:<\/td><td class='input'><input class='textField ' name='dsTags' onblur='s.blur(this)' onfocus='s.focus(this)' \/><\/td><\/tr><tr class='tagsHelper'><td class='label'><\/td><td class='input'><ul class='helperText'><li>Separate each tag with a comma, and please do not use quotes.<\/li><li>For example:&nbsp;<em>ultraman, little monster, brown fox<\/em><\/li><\/ul><\/td><\/tr><br \/><tr class='sharing'><td class='label'>Other users can:<\/td><td class='input'><input checked='checked' class='checkBox ' name='dsListed' onblur='s.blur(this)' onfocus='s.focus(this)' type='checkbox' \/>find this table in search results<\/td><\/tr><\/table><center><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Create View      <\/a>    <\/span>  <\/span><\/span><div class='saving hidden' style='width: 100px'><div class='fact-spinner'>Saving ...<\/div><\/div><\/center><div class='message'><\/div><\/form><\/div>"}});JS2.OO.createClass("Grid0.InitiateJoinController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){var self=this;setTimeout(function(){self.initHTML();},500);});K.oo('method',"initHTML",function(){this.view.initHTML();this.registerEvents();this.searchType='all';this.view.searchType='all';this.query={};this.view.populate();});K.oo('method',"show",function(fieldId){this.buildJoinableFieldList();this.view.show();if(fieldId){this.view.showConsumerMode(fieldId);}else{this.view.showInitiateMode();}});K.oo('method',"showLoading",function(){this.view.jqLoading.show();});K.oo('method',"hideLoading",function(){this.view.jqLoading.hide();});K.oo('method',"setSearchType",function(){var type=this.view.jqTabContainer.find('.selected').is('.searchAll')?'all':'adv';this.searchType=type;this.view.searchType=type;});K.oo('method',"registerEvents",function(){var self=this;this.view.jqJoinField.click(function(){self.show(self.view.col.id);});this.view.jqDoneButton.click(function(e){if(!self.view.jqDoneButton.hasClass('disabled')){self.preview();self.view.hide();}});this.view.jqCloseButton.click(function(e){self.view.hide();});this.view.jqSearchButton.click(function(e){self.view.jqPage.val(1);self.search();});onEnterKey(this.view.jqSearchInput,function(){self.view.jqPage.val(1);self.search();});this.view.jqFindBox.selectionChanged(function(){self.view.grid.setRows([]);self.searchOnField(this);});this.view.jqPage.keydown(function(e){if(e.keyCode==KEYCODE.ENTER){self.search();}});this.view.jqNext.click(function(e){self.paginate(1);});this.view.jqPrev.click(function(e){self.paginate(-1);});this.view.jqTabContainer.click(function(){self.switchSearchType();});});K.oo('method',"switchSearchType",function(){this.setSearchType();this.view.jqSearchInput=this.view.jqPaneContainer.find('.'+this.searchType).find('.srchText');this.togglePagination();if(this.searchType=='all'){this.view.clearPossibleJoins();}
this.view.jqPage.val(1);this.search();});K.oo('method',"togglePagination",function(){if(this.searchType=='all'){this.view.jqPagination.show();}else{this.view.jqPagination.hide();}});K.oo('method',"paginate",function(move){var page=parseInt(this.view.jqPage.val());var total=parseInt(this.view.jqTotal.text());if(page>0&&total>0){var newPage=page+move;if((newPage<=total)&&(newPage>=1)){this.view.jqPage.val(newPage);this.search();}}});K.oo('method',"searchOnField",function(target){var selectedVal=target.value();this.joinTo=target.innerHtml().replace(/\s<cite>.*$/,'');var q=this.joinTo;if(selectedVal==0){this.joinOn='pk_pk';}else{var field=this.schema.getFieldInfo(selectedVal);if(field.isPrimary){this.joinOn='pk_fk';}else{this.joinOn='fk_pk';}}
this.view.joinOn=this.joinOn;this.view.jqFoundText.html('');if(this.searchType=='adv'){if(this.view.possibleJoins){this.view.toggleAdvResults();this.view.showFoundText(this.view.possibleJoins[selectedVal],this.joinTo);}}else{this.view.jqSearchInput.val('');this.view.jqPage.val(1);this.search();}});K.oo('method',"buildJoinableFieldList",function(){var cols=this.schema.columns();var items=[];if(this.schema.currentDataset()&&this.schema.currentDataset().pks().length>1){this.view.compoundPk=true;items.push([0,"Complete Subject",'completeSubject']);}
for(var i=0,c;c=cols[i];i++){if(c.datasetId==this.actions.primaryDatasetId()){var name=sci.common.htmlDisplay(c.name);if(c.isPrimary)items.push([c.id,name,'primarySelection']);else items.push([c.id,name]);}}
this.view.jqFindBox.items(items);});K.oo('method',"e_joinDetailClosed",function(){this.view.jqDialog.dialog('moveToTop',true);});K.oo('method',"preview",function(){this.data.join(this.view.joinOn,this.view.fields,this.view.datasetsHash);this.notify('actionsModified');});K.oo('method',"advSearch",function(q){this.query['adv']=q;var idInfo=sci.common.getIdInfo(q);var idType=idInfo.type;var searchDatasetOrId=idInfo.id;if(idType!="datasets"){alert("Please enter a valid factual url");return;}
if(searchDatasetOrId<=0){searchDatasetOrId=q;}
this.data.advSearchFields(searchDatasetOrId);this.showLoading();});K.oo('method',"search",function(){this.view.grid.setRows([]);var q=this.view.jqSearchInput.val();q=q.replace(/\s+$/,"");if(this.searchType=='adv'){if(q)this.advSearch(q);return;}else{this.query['all']=q;}
var page=parseInt(this.view.jqPage.val());var total=parseInt(this.view.jqTotal.text());var limit=parseInt(this.view.jqLimit.value());if(!page||!total||!limit){alert('Invalid Page Range!');return;}
if(page>total){alert('Invalid Page Range!');return;}
if(limit<1){alert('Invalid Limit value!');return;}
var params={};params.q=q;params.page=parseInt(this.view.jqPage.val());params.page=params.page>0?params.page:1;params.limit=limit;params.field_id=this.view.jqFindBox.value();params.join_on=this.view.joinOn;this.data.searchFields(params);this.showLoading();if(this.view.grid){this.view.grid.notify('alert',"Searching Fields...");}});K.oo('method',"e_searchFieldResultsLoaded",function(data){this.hideLoading();this.view.jqFoundText.html('');if(data.error){this.view.jqFoundText.html(data.error);return;}
data.joinTo=this.joinTo;data.joinOn=this.view.joinOn;this.view.showResults(data);this.setSearchType();this.togglePagination();});K.oo('method',"addingJoinField",function(data){this.view.setClickField(data);this.view.addingJoinField();});K.oo('method',"initialize",function(options){this.openSquare=options.dataset.openSquare;});})(Grid0.InitiateJoinController,Grid0);JS2.OO.createClass("Grid0.InitiateJoinView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','header columnMenu gridMenu');K.oo('member','dialogName','joinDataset');K.oo('member','LIMIT_OPTIONS',[[200,200],[400,400]]);K.oo('method',"showConsumerMode",function(fieldId){this.jqFindBox.selectValue(fieldId);this.jqHeader.addClass('consumer');});K.oo('method',"showInitiateMode",function(){this.jqFindBox.selectIndex(0);this.jqHeader.removeClass('consumer');});K.oo('method',"e_showColumnMenu",function(){this.col=this.header.contexts.click.col;});K.oo('method',"initHTML",function(){this.jqJoinField=this.columnMenu.addItem('Find related data','joinField');this.jqJoinField.hide();var self=this;var dialogOptions={width:600,height:490,title:this.htmlCache.title(),modal:true,autoOpen:false,minWidth:600,minHeight:460,maxHeight:500,resize:function(event,ui){self.resizeGrid();}};this.jqDialog=this.util.buildDialog(this.dialogName,this.htmlCache.main(),dialogOptions);var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Dialog",this.jqDialog,null);this.jqDoneButton=this.jqDialog.find('.btnDone');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Submit",this.jqDoneButton,null);this.jqCloseButton=this.jqDialog.find('.btnCancel');this.jqPagination=this.jqDialog.find('.pagination');this.jqSimpleGrid=this.jqDialog.find('.miniGrid');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Grid",this.jqSimpleGrid,null);this.jqGridBody=this.jqSimpleGrid.find('.universe');this.jqHeader=this.jqDialog.first('.header');this.jqJoinTo=this.jqHeader.first('table.joinTo');this.jqFind=this.jqJoinTo.first('.find');this.jqFindBox=new Sci.SelectBox(this.jqFind);this.jqSearchInput=this.jqDialog.find('.srchText');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Search Input",this.jqSearchInput,null);this.jqSearchButton=this.jqDialog.find('.srchButton');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Search Button",this.jqSearchButton,null);this.jqFoundText=this.jqDialog.find('.foundText');this.jqAdvToggle=this.jqDialog.find('.toggleAdv');this.jqAdvSearchButton=this.jqDialog.find('.sample');this.jqPage=this.jqDialog.find('.page');this.jqTotal=this.jqDialog.find('.total');this.jqNext=this.jqDialog.find('.next').hide();this.jqNextDisabled=this.jqDialog.find('.nextDisabled');this.jqPrev=this.jqDialog.find('.prev').hide();this.jqPrevDisabled=this.jqDialog.find('.prevDisabled');this.jqMiniList=this.jqDialog.find('.miniList');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Fields",this.jqMiniList,null);this.jqSelectedFields=this.jqDialog.find('.miniList>.fields');this.jqTabContainer=this.jqDialog.find('.searchType');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Search Type",this.jqTabContainer,null);this.jqPaneContainer=this.jqDialog.find('.searchPanes');this.jqLoading=this.jqDialog.find('.loading');this.jqMessage=this.jqDialog.find('.loginMessage');var self=this;this.tabHandler=new Sci.TabHandler(this.jqTabContainer,this.jqPaneContainer,{alreadyBuilt:true});var changeLimit=function(){self.changeLimit();};this.jqLimit=new Sci.SelectBox(this.jqDialog.find('.limit'),{selChangeCallBack:changeLimit});this.fields=[];this.datasetsHash={};this.jqPage.val(1);this.jqLimit.items(this.LIMIT_OPTIONS);this.jqLimit.setIndex(0);this.initGrid();if(this.controller.openSquare&&!this.data.isOwner()&&!this.auth.isAdmin()){this.gridMenu.disableMenuItem('improve > joinDataset');}});K.oo('method',"changeLimit",function(){this.jqPage.val(1);this.controller.search();});K.oo('method',"hide",function(){this.jqDialog.dialog('close');});K.oo('method',"initGrid",function(){this.grid=APP(GridJoinSearch,{seed:this.jqSimpleGrid,height:140});this.grid.start();this.grid.setColumns([{name:'',width:50,datatype:'String'},{name:'Field Name',width:240,datatype:'String'},{name:'Source Table',width:260,datatype:'String'},{name:'Subject?',width:100,datatype:'String'}]);this.jqGridBody.hide();var adapter=new JoinSearchRsGridAdapter(this.controller);this.grid.addEventAdapter(adapter);});K.oo('method',"resizeGrid",function(){var width=this.jqDialog.width()-2;this.jqSimpleGrid.css('width',width);});K.oo('method',"setClickField",function(data){this.clickField={};this.clickField.fieldId=data[0];this.clickField.fieldName=data[1];this.clickField.datasetId=data[2];this.clickField.datasetName=data[3];this.clickField.rightFieldId=data[4];});K.oo('method',"populate",function(){var infos=this.actions.getJoinFieldsInfo();for(var it47=0,info,it47__arr=infos,it47__len=it47__arr.length;(info=it47__arr[it47])||it47<it47__len;it47++){var field=info.field;var datasetInfo=info.datasetInfo;this.addJoinField(field,datasetInfo);}});K.oo('method',"addingJoinField",function(){if(this.fieldExists(this.clickField.fieldId)){alert('This field has already been added.');return;}
var selectedVal=this.jqFindBox.value();if((this.searchType=='adv')&&(selectedVal>0)){var datasetInfo=this.datasetsHash[this.clickField.datasetId];if(datasetInfo){this.addJoinField(this.clickField,datasetInfo);return;}
var field=this.schema.getFieldInfo(selectedVal);var params={};params.joinOn=this.joinOn;params.clickField=this.clickField;params.foundField=this.foundFields[this.clickField.fieldId];params.joinToField=field;this.notify('loadJoinDetails',params);return;}
this.addJoinFieldDirectly();});K.oo('method',"addJoinFieldDirectly",function(){var selectedVal=this.jqFindBox.value();var datasetInfo={joinType:'join-outer-left'};datasetInfo.datasetId=this.clickField.datasetId;datasetInfo.leftFieldId=selectedVal;datasetInfo.rightFieldId=this.clickField.rightFieldId;this.addJoinField(this.clickField,datasetInfo);});K.oo('method',"showFoundText",function(count,joinTo){this.jqFoundText.html('');var html=this.htmlCache.found(count,joinTo);this.jqFoundText.html(html);});K.oo('method',"showResults",function(data){var fields=data.fields;if(!fields)return;var totalCount=data.total_count;var pages=data.pages;var page=data.page;this.joinTo=data.joinTo;this.joinOn=data.joinOn;this.jqTotal.html(pages);this.buildGrid(fields);this.possibleJoins=data.possible_joins;this.showAllResults();this.showPossibleJoins();if(this.searchType=='adv'){this.showFoundText(this.possibleJoins[this.jqFindBox.value()],this.joinTo);}else{this.showFoundText(totalCount,this.joinTo);}
if(page==1){this.jqPrev.hide();this.jqPrevDisabled.show();}else{this.jqPrev.show();this.jqPrevDisabled.hide();}
if(page==pages){this.jqNext.hide();this.jqNextDisabled.show();}else{this.jqNext.show();this.jqNextDisabled.hide();}});K.oo('method',"showPossibleJoins",function(){this.clearPossibleJoins();if(this.possibleJoins){var sel=this.jqFindBox.value();var items=this.jqFindBox.options;for(var it48=0,item,it48__arr=items,it48__len=it48__arr.length;(item=it48__arr[it48])||it48<it48__len;it48++){item[1]+=' <cite>('+this.possibleJoins[item[0]]+')</cite>';}
this.jqFindBox.items(items);this.jqFindBox.setValue(sel);this.toggleAdvResults();}});K.oo('method',"showAllResults",function(){this.jqSimpleGrid.find('.body').show();});K.oo('method',"toggleAdvResults",function(){var sel=this.jqFindBox.value();if(this.possibleJoins&&this.possibleJoins[sel]==0){this.jqSimpleGrid.find('.body').hide();}else{this.jqSimpleGrid.find('.body').show();}});K.oo('method',"clearPossibleJoins",function(){var sel=this.jqFindBox.value();var items=this.jqFindBox.options;for(var it49=0,item,it49__arr=items,it49__len=it49__arr.length;(item=it49__arr[it49])||it49<it49__len;it49++){item[1]=item[1].replace(/\s<cite>.*$/,'');}
this.jqFindBox.items(items);this.jqFindBox.setValue(sel);});K.oo('method',"buildGrid",function(fields){this.foundFields={};var rows=[];for(var it50=0,f,it50__arr=fields,it50__len=it50__arr.length;(f=it50__arr[it50])||it50<it50__len;it50++){this.foundFields[f.fieldId]=f;var newRow=[];newRow[0]=[];newRow[0][0]=f.fieldId;newRow[0][1]=f.rightFieldId;newRow[1]=f.fieldName;newRow[2]=[];newRow[2][0]=f.datasetId;newRow[2][1]=f.datasetName;newRow[2][2]=f.isPrivate;newRow[3]=f.isPrimary?'yes':'no';rows.push(newRow);}
this.grid.clear();this.grid.setRows(rows);});K.oo('method',"show",function(){this.jqDialog.dialog('open');});K.oo('method',"e_addJoinField",function(datasetInfo){var selectedVal=this.jqFindBox.value();var field=this.schema.getFieldInfo(selectedVal);datasetInfo.leftFieldId=selectedVal;this.addJoinField(this.clickField,datasetInfo);});K.oo('method',"addJoinField",function(field,datasetInfo){this.fields.push({qfieldId:field.fieldId,datasetId:field.datasetId});this.datasetsHash[field.datasetId]=datasetInfo;var html=this.htmlCache.selectedField(field.fieldId,field.fieldName,field.datasetName);var jqField=$(html);this.jqSelectedFields.append(jqField);var self=this;jqField.find('.listButton').click(function(){jqField.remove();self.removeField(field.fieldId);});this.jqDoneButton.removeClass('disabled');});K.oo('method',"fieldExists",function(fId){for(var it51=0,f,it51__arr=this.fields,it51__len=it51__arr.length;(f=it51__arr[it51])||it51<it51__len;it51++){if(f.qfieldId==fId)return true;}
return false;});K.oo('method',"removeField",function(fId){var newFields=[];var newDatasetsHash={};for(var it52=0,f,it52__arr=this.fields,it52__len=it52__arr.length;(f=it52__arr[it52])||it52<it52__len;it52++){if(f.qfieldId!=fId){newFields.push(f);newDatasetsHash[f.datasetId]=this.datasetsHash[f.datasetId];}}
this.fields=newFields;this.datasetsHash=newDatasetsHash;if(this.fields.length==0)this.jqDoneButton.addClass('disabled');});K.oo('method',"clearList",function(){this.fields=[];this.datasetsHash={};this.jqSelectedFields.empty();});K.oo('method',"e_improveMenuClicked",function(name,jqObject){if(name=='improve > joinDataset'){if(jqObject.parent().hasClass('disabled'))return;this.controller.show();}});K.oo('method',"e_userLoggedIn",function(){if(this.auth.isAdmin()||this.data.isOwner()){this.gridMenu.enableMenuItem('improve > joinDataset');}});})(Grid0.InitiateJoinView,Grid0);JS2.OO.createClass("JoinSearchRsGridAdapter");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(controller){this.controller=controller;});K.oo('method',"e_addingJoinField",function(data){this.controller.addingJoinField(data);});})(JoinSearchRsGridAdapter,null);JS2.OO.createClass("GridJoinSearch.Main");GridJoinSearch.Main.oo('extends',GridSimple.Main);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','components',['Main','Data','Body']);K.oo('member','core',['Data']);K.oo('method',"addEventAdapter",function(adapter){this.notifier.register(adapter);});})(GridJoinSearch.Main,GridJoinSearch);JS2.OO.createClass("GridJoinSearch.Data");GridJoinSearch.Data.oo('extends',GridSimple.Data);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_clickCell",function(context){if(context.colIdx==0){var data=[];var row=this.rows[context.rowIdx];data.push(row[0][0]);data.push(row[1]);data.push(row[2][0]);data.push(row[2][1]);data.push(row[0][1]);this.notify('addingJoinField',data);}});})(GridJoinSearch.Data,GridJoinSearch);JS2.OO.createClass("GridJoinSearch.BodyController");GridJoinSearch.BodyController.oo('extends',GridSimple.BodyController);(function(K,Package){var self=K;var _super=JS2.OO['super'];})(GridJoinSearch.BodyController,GridJoinSearch);JS2.OO.createClass("GridJoinSearch.BodyView");GridJoinSearch.BodyView.oo('extends',GridSimple.BodyView);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"getCellData",function(colIdx,rowIdx){if(colIdx==0){var fieldId=this.data.rows[rowIdx][0][0];var rightFieldId=this.data.rows[rowIdx][0][1];return'<a class="addJoinField" fieldId="'+fieldId+'" rightFieldId="'+rightFieldId+'">add</a>';}
if(colIdx==2){datasetType=this.data.rows[rowIdx][2][2]?'private':'standard';return'<div class="'+datasetType+'">'+
DISPLAY.datatype('String',this.data.rows[rowIdx][2][1])+'</div>';}
return _super(this,colIdx,rowIdx);});})(GridJoinSearch.BodyView,GridJoinSearch);Grid0.InitiateJoinView.oo('setHTMLCache',{"title":function(){return"Join fields from related tables"},"selectedField":function(){return"<div class='listRow h'><div class='listText' fieldId='"+arguments[0]+"'>"+arguments[1]+"("+arguments[2]+")<\/div><div class='listButton h'><\/div><\/div>"},"found":function(){return"Found&nbsp;<strong>"+arguments[0]+"<\/strong>&nbsp;fields related to&nbsp;<strong>"+arguments[1]+"<\/strong>&nbsp;can be added to your table&nbsp;:"},"main":function(){return"<div class='joinDataset'><div class='header'><table class='joinTo'><tr><td><div class='help'><\/div>Find more facts related to:<\/td><td><div class='find'><\/div><\/td><\/tr><\/table><ul class='searchType'><li class='searchAll selected'><a>Search all Joinable Tables<\/a><\/li><li class='searchDataset'><a>Search for a Specific Table<\/a><\/li><\/ul><\/div><div class='foundText'><\/div><div class='searchPanes'><div class='all pane'><table><tr><td class='label'>Find field names containing:<\/td><td class='search'><div><input class='srchText' type='text' \/><input class='srchButton' type='button' \/><\/div><\/td><\/tr><\/table><\/div><div class='adv pane hidden'><table><tr><td class='label'>Retrieve fields to join to by specific id or url:<\/td><td class='search'><div><input class='srchText' type='text' \/><input class='srchButton' type='button' \/><\/div><\/td><\/tr><\/table><\/div><\/div><div class='clear'><\/div><div class='miniGrid'><\/div><div class='pagination'><span>rows per page<\/span><div class='limit'><\/div><div class='verbiage'><div class='prev h p'><\/div><div class='prev prevDisabled hidden'><\/div><input class='page tinyInput' \/><span>\/<\/span><span class='total'>1<\/span><div class='next h p'><\/div><div class='next nextDisabled hidden'><\/div><\/div><\/div><div class='clear'><\/div><div>You have chosen to add data from the following fields to your table:<\/div><div class='miniList'><div class='fields'><\/div><div class='clear'><\/div><\/div><center><span class='btnDone disabled fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Initiate Join      <\/a>    <\/span>  <\/span><\/span><span class='btnCancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/center><div class='loginMessage'><\/div><div class='loading'><div class='message'><strong>Retrieving data ...<\/strong><\/div><\/div><\/div>"}});JS2.OO.createClass("Grid0.JoinDetails");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dialogName','joinDetails');K.oo('method',"e_initHTML",function(){var html=this.htmlCache.joinDetails();var dialogOptions={width:450,height:315,title:'Join Details',modal:true,autoOpen:false,draggable:false};this.jqDialog=this.util.buildDialog(this.dialogName,html,dialogOptions);this.jqJoinTable=this.jqDialog.find('.joinTable');this.jqJoinTo=this.jqDialog.find('.joinTo');this.jqDefineFk=this.jqDialog.find('.defineFk');this.jqFkFields=this.jqDefineFk.find('.fields');this.jqJoinTypeSection=this.jqDialog.find('div.joinType');this.jqJoinType=this.jqJoinTypeSection.find('select.joinType');this.jqSecondaryDone=this.jqDialog.find('.btnDone');this.jqSecondaryCancel=this.jqDialog.find('.btnCancel');var self=this;this.jqSecondaryDone.click(function(e){var datasetInfo=self.getDatasetInfo();if(datasetInfo.rightFieldId===null){alert("please select one field!");return;}
self.notify('addJoinField',datasetInfo);self.hide();});this.jqSecondaryCancel.click(function(e){self.hide();});});K.oo('method',"showSecondaryDialog",function(){this.jqDialog.dialog('open');});K.oo('method',"hide",function(){this.jqDialog.dialog('close');this.notify('joinDetailClosed');});K.oo('method',"e_loadJoinDetails",function(params){this.joinOn=params.joinOn;this.clickField=params.clickField;this.foundField=params.foundField;this.joinToField=params.joinToField;this.load();});K.oo('method',"load",function(){this.jqJoinTable.html(this.foundField.datasetName);this.jqJoinTo.html(this.joinToField.name);this.jqFkFields.empty();var baseDatatype=this.consistNumeric(this.joinToField.datatype);for(var it65=0,f,it65__arr=this.foundField.datasetFields,it65__len=it65__arr.length;(f=it65__arr[it65])||it65<it65__len;it65++){var isFact=!f[3];if(f[2]==baseDatatype){if((this.joinOn=='fk_pk')&&isFact)continue;var html=this.htmlCache.fkField(f[0],sci.common.htmlEscape(f[1]));this.jqFkFields.append(html);}}
if(this.jqFkFields.html()==''){alert('There is no field as "'+baseDatatype+'" in the source table');return;}else{this.jqFkRadios=this.jqFkFields.find('.fkRadio');this.jqFkRadios[0].checked=true;this.jqDefineFk.show();}
this.jqJoinTypeSection.show();this.showSecondaryDialog();});K.oo('method',"getFkFieldId",function(){return sci.common.getRadioValue(this.jqFkRadios);});K.oo('method',"getJoinType",function(){return this.jqJoinType.val();});K.oo('method',"getDatasetInfo",function(){var datasetInfo={};datasetInfo.joinOn=this.joinOn;datasetInfo.joinType=this.getJoinType();datasetInfo.rightFieldId=this.getFkFieldId();return datasetInfo;});K.oo('method',"consistNumeric",function(datatype){if((datatype=='Integer')||(datatype=='Double')){return'Numeric';}else{return datatype;}});})(Grid0.JoinDetails,Grid0);Grid0.JoinDetails.oo('setHTMLCache',{"fkField":function(){return"<div class='fkField'><input class='fkRadio' name='fk' type='radio' value='"+arguments[0]+"'>"+arguments[1]+"<\/input><\/div>"},"joinDetails":function(){return"<div class='joinDetails'><div class='defineFk'><div class='prompt'>Select which field from the table<strong class='joinTable'><\/strong>best matches\"<strong class='joinTo'><\/strong>\"<\/div><div class='box'><div class='fields'><\/div><div class='clear'><\/div><\/div><\/div><div class='joinType'><div class='prompt'>Your new table's rows will be composed of:<\/div><select class='joinType'><option value='join-outer-left'>Only the rows from the original table<\/option><option value='join-inner'>Rows with a common subject label<\/option><\/select><\/div><div class='clear' style='margin-bottom:10px;'><\/div><center class='buttons'><span class='btnDone fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Done      <\/a>    <\/span>  <\/span><\/span><span class='btnCancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/center><div class='clear' style='margin-bottom:10px;'><\/div><\/div>"}});JS2.OO.createClass("Grid0.JoinController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(){this.datasets=[];});K.oo('method',"e_initHTML",function(){this.view.initHTML();});K.oo('method',"e_initCols",function(){this.view.initCols();if(this.actions.isPkFkJoin()){this._isPkJoin=true;this.view.show();}else{this.view.hide();}});K.oo('method',"e_resized",function(){this.view.resizeBody();this.view.resizeWidths();});K.oo('method',"e_hScroll",function(params){this.view.hScroll(params.left);});})(Grid0.JoinController,Grid0);JS2.OO.createClass("Grid0.JoinView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','mainHeader columnMenu');K.oo('method',"initHTML",function(){this.jqMask=this.jqGrid.find('>.jMask');this.jq=this.jqMask.find('>.joinIndicator').html('');this.jq.append(this.htmlCache.container());this.jqHeader=this.jq.first('>.joinHeader');this.jqBody=this.jq.first('>.joinBody');this.subHead=this.mainHeader.addJoinHeader(this.htmlCache.header());this.subHead.hide();});K.oo('method',"initCols",function(){var html='';var body='';var cols=this.schema.columns();var currentDatasetId=0;var leftCol=cols[0];var leftD=this.schema.getDatasetInfo(leftCol.datasetId);var rightDs=[];var lastRightD=null;for(var it25=0,c,it25__arr=cols,it25__len=it25__arr.length;(c=it25__arr[it25])||it25<it25__len;it25++){if(c.isPrimary&&c.field.joinSide=='right'){if(!lastRightD||lastRightD.id!=c.datasetId){lastRightD=this.schema.getDatasetInfo(c.datasetId);rightDs.push(lastRightD);}}}
if(rightDs.length==0)return;html+=this.htmlCache.dataset('left','votable','/t/'+leftD.urlName,sci.common.htmlDisplay(leftD.name));for(var it26=0,d,it26__arr=rightDs,it26__len=it26__arr.length;(d=it26__arr[it26])||it26<it26__len;it26++){html+=this.htmlCache.dataset('right','','/t/'+d.urlName,sci.common.htmlDisplay(d.name));}
body+=this.htmlCache.bodyDataset('votable','left');for(var it27=0,d,it27__arr=rightDs,it27__len=it27__arr.length;(d=it27__arr[it27])||it27<it27__len;it27++){body+=this.htmlCache.bodyDataset('','right');}
this.jqHeader[0].innerHTML=html;this.jqBody[0].innerHTML=body;});K.oo('method',"resizeWidths",function(){var cols=this.schema.columns();var current=0;var margin=3;var leftWidth=0;var rightWidths=[];for(var it28=0,c,it28__arr=cols,it28__len=it28__arr.length;(c=it28__arr[it28])||it28<it28__len;it28++){if(c.hidden)continue;if(c.field.joinSide=='left')leftWidth+=c.width;if(c.field.joinSide=='right'){var i=c.field.joinTableIndex-1;if(!rightWidths[i])rightWidths[i]=0;rightWidths[i]+=c.width;}}
leftWidth-=1;var jqHeaderLeft=this.jqHeader.first('[joinSide=left]');var jqBodyLeft=this.jqBody.first('[joinSide=left]');jqHeaderLeft.css({width:leftWidth,left:0});jqBodyLeft.css({width:leftWidth,left:0});if(leftWidth==-1){jqHeaderLeft.hide();jqBodyLeft.hide();}else{jqHeaderLeft.show();jqBodyLeft.show();}
var jqHeaderRights=this.jqHeader.find('[joinSide=right]');var jqBodyRights=this.jqBody.find('[joinSide=right]');for(var i=0;i<jqHeaderRights.length;i++){var jqHeaderRight=$(jqHeaderRights[i]);var jqBodyRight=$(jqHeaderRights[i]);var rightWidth=rightWidths[i]-1;jqHeaderRight.css({width:rightWidth,left:leftWidth});jqBodyRight.css({width:rightWidth,left:leftWidth});leftWidth+=rightWidth;if(rightWidth==-1){jqHeaderRight.hide();jqBodyRight.hide();}else{jqHeaderRight.show();jqBodyRight.show();}}
this.jqBody.show();});K.oo('method',"resizeBody",function(){if(!this.jq)this.initHTML();var body=this.dim.body;var joinHeadingHeight=this.mainHeader.getJoinHeaderHeight();var heightAdjustment=this.dim.headerHeight+joinHeadingHeight+1;var nRows=this.dim.visual.nRows;var rowHeight=this.dim.rowHeight;var bodyHeight=(nRows*rowHeight);this.jqMask.css({top:body.top-heightAdjustment,left:body.left,height:body.height+heightAdjustment,width:body.width});this.jq.css({width:this.dim.virtual.width})
this.jqBody.css({height:body.height+heightAdjustment});this.jqBody.find('>.dataset').css({height:bodyHeight,top:heightAdjustment});});K.oo('method',"hScroll",function(left){this.jq[0].style.left='-'+left+'px';});K.oo('method',"hide",function(){this.jqMask.hide();this.subHead.hide();});K.oo('method',"show",function(){this.subHead.show();this.jqMask.show();});})(Grid0.JoinView,Grid0);Grid0.JoinView.oo('setHTMLCache',{"bodyDataset":function(){return"<div class='"+arguments[0]+" dataset' joinSide='"+arguments[1]+"'><\/div>"},"container":function(){return"<div class='joinHeader'><\/div><div class='joinBody'><\/div>"},"header":function(){return"<div class='joinHeading'><\/div>"},"dataset":function(){return"<div class='dataset' joinSide='"+arguments[0]+"'><div class='title'><span class='text'><span class='"+arguments[1]+" icon'>&nbsp;<\/span><a href='"+arguments[2]+"'>"+arguments[3]+"<\/a><\/span><\/div><div class='border'><div class='leftCorner'><\/div><div class='rightCorner'><\/div><div class='mainField'><\/div><\/div><\/div>"}});JS2.OO.createClass("Grid0.HideColumn");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','columnMenu header');K.oo('method',"e_initHTML",function(){var self=this;this.jqHideColumnButton=this.columnMenu.addItem('Hide this field','hideColumn');this.jqHideColumnButton.click(function(){self.hideColumn();});this.jqHideColumnButton.hide();});K.oo('method',"e_showColumnMenu",function(){this.col=this.header.contexts.click.col;});K.oo('method',"hideColumn",function(){this.col.hidden=true;var v_params={table_id:this.col.datasetId,field_id:this.col.id,isVisible:false};$.post('/logging',{_event:'SetFieldVisibility',_event_params:JSON.stringify(v_params)});this.notify('resizeWidth');this.notify('viewModified');});})(Grid0.HideColumn,Grid0);JS2.OO.createClass("Grid0.VotePresentation");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','modes',{uvo:'<strong>Your value only</strong>',cvo:'Consensus value only',uvf:'<strong>Your value</strong> (consensus value)',cvf:'Consensus value (<strong>your value</strong>)'});K.oo('method',"changeMode",function(m){this.data.changeVotePresentMode(m);this.notify('viewModified');});K.oo('method',"e_displayMenuClicked",function(name,jqObject){var mode=$.trim(name.split('>')[1]);if(this.modes[mode]){this.changeMode(mode);}});})(Grid0.VotePresentation,Grid0);JS2.OO.createClass("Grid0.ReferenceController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','gridMenu actions');K.oo('member','ORIGINAL','ORIGINAL');K.oo('member','LIVE','LIVE');K.oo('member','VERSIONS',{ORIGINAL:'original version',LIVE:'latest version'});K.oo('method',"initialize",function(options){this.defaultReference=options.dataset.defaultReference;this.correctionExists=options.dataset.correctionExists;});K.oo('method',"getCurrentReference",function(){return this.reference;});K.oo('method',"getDefaultReference",function(){return this.defaultReference;});K.oo('method',"isBigData",function(){return this.bigData==true;});K.oo('method',"initHTML",function(){this.jqMenu=this.gridMenu.appendToMenuBar(this.htmlCache.menu());this.jqMakeDefaultButton=this.jqMenu.find('.fact-button').hide();var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"makedefault",this.jqMakeDefaultButton,null);this.jqReferences=this.jqMenu.find(':radio');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.appendVal(TMP_SEL_MARKER.getRealClassScope(this),"referenceradios",this.jqReferences,null);this.jqReferences.val([this.defaultReference]);this.jqCurrentReference=this.jqMenu.find('.currentReference');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"currentreference",this.jqCurrentReference,null);this.jqCurrentReference.text(this.versionName(this.defaultReference));this.jqDropdownMenu=this.jqMenu.find('.dropdownMenu');this.jqReferenceState=this.jqCurrentReference.closest('.referenceState');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"referencestate",this.jqReferenceState,null);this.jqCorrectionHint=this.jqMenu.find('.correctionHint');this.registerEvents();});K.oo('method',"registerEvents",function(){var self=this;this.jqMakeDefaultButton.click(function(){self.data.saveDefaultReference(self.reference,function(){self.jqMakeDefaultButton.hide();self.defaultReference=self.reference;});});this.jqMenu.find('>a').click(function(){self.jqDropdownMenu.toggle();});this.jqMenu.clickoff(function(){self.jqDropdownMenu.hide();});this.jqReferences.click(function(){var reference=$(this).val();if(self.reference==reference){return false;}
if(self.isBigData()){if(confirm("Due to the size of this table, changing the display state may take hours to re-cache and may require the table being taken offline until it can be re-cached.  Are you sure you want to do this?")){self.changeReference(reference);return true;}}else{self.changeReference(reference);return true;}
self.jqReferences.val([self.reference]);self.jqDropdownMenu.hide();});});K.oo('method',"initReference",function(reference){if(reference){this.reference=reference;}else{this.reference=this.defaultReference;}
this.jqReferences.val([this.reference]);this.jqCurrentReference.text(this.versionName(reference));if(this.reference!=this.defaultReference){this.jqMakeDefaultButton.show();}
this.checkCorrectionExists();});K.oo('method',"changeReference",function(reference){this.reference=reference;this.jqCurrentReference.text(this.versionName(reference));this.jqDropdownMenu.hide();this.notify('alert','loading');this.actions.setReference(reference);this.notify('actionsModified');if((this.auth.isAdmin()||this.data.isOwner())&&this.reference!=this.defaultReference){this.jqMakeDefaultButton.show();}else{this.jqMakeDefaultButton.hide();}
this.hideCorrectionHint();});K.oo('method',"versionName",function(reference){return this.VERSIONS[reference];});K.oo('method',"setBigData",function(bigData,unlisted){this.bigData=bigData;this.unlisted=unlisted;if(this.bigData&&!this.auth.isAdmin()&&!this.data.isOwner()){this.jqMenu.hide();}else{this.jqMenu.show();}});K.oo('method',"checkCorrectionExists",function(){if(this.reference==this.ORIGINAL&&this.correctionExists){this.jqCorrectionHint.show();this.jqReferenceState.addClass('correctionExists');}});K.oo('method',"hideCorrectionHint",function(){this.jqCorrectionHint.hide();this.jqReferenceState.removeClass('correctionExists');});K.oo('method',"cacheStateLoaded",function(cacheState){if(!cacheState||cacheState=='CACHED'||cacheState=='CACHED_MISMATCHED')return;this.jqMenu.hide();});})(Grid0.ReferenceController,Grid0);JS2.OO.createClass("Grid0.ReferenceEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','schema');K.oo('method',"e_initHTML",function(){this.controller.initHTML();});K.oo('method',"e_bigData",function(bigData,unlisted){this.controller.setBigData(bigData,unlisted);});K.oo('method',"e_dataLoaded",function(firstTime){if(firstTime){this.controller.initReference(this.actions.getReference());}});K.oo('method',"e_checkReferenceState",function(dataset_id,infoArea){var dataset=this.schema.getDatasetInfo(dataset_id);if(dataset.showOriginal&&this.auth.userId()!=dataset.ownerId.toString()&&!this.data.isOwner()){infoArea.html('<div style="color:#b92025">The data will not appear by default unless the owner of the tables permits it through the \'Show latest data option\', thank you for the input.</div>')}else{infoArea.html('')}});K.oo('method',"e_cacheStateLoaded",function(cacheState){this.controller.cacheStateLoaded(cacheState);});K.oo('method',"e_userLoggedIn",function(){if(this.controller.bigData&&!this.auth.isAdmin()&&!this.data.isOwner()){this.controller.jqMenu.hide();}else{this.controller.jqMenu.show();}});})(Grid0.ReferenceEvents,Grid0);Grid0.ReferenceController.oo('setHTMLCache',{"menu":function(){return"<li class='reference'>Show:<a class='referenceState' href='javascript:void(0);'><span class='currentReference'>latest version<\/span><span class='smallDownArrow'><\/span><\/a><span class='fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Make Default      <\/a>    <\/span>  <\/span><\/span><div class='dropdownMenu dialogShadow'><ul class='content'><li class='live'><label><input class='radioButton' name='revisions' type='radio' value='LIVE' \/><strong>latest version<\/strong>- includes other users corrections<\/label><\/li><li class='origin'><label><input class='radioButton' name='revisions' type='radio' value='ORIGINAL' \/><strong>original version<\/strong>- excludes any data not from the original submitter<\/label><\/li><\/ul><\/div><span class='correctionHint'>corrections exists!<\/span><\/li>"}});JS2.OO.createClass("ValueSelector");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.topOffset=0;this.leftOffset=0;this.jq=$(this.htmlCache.main());this.jqGrid.first('>.body').append(this.jq);this.hide();this.jqValue=this.jq.first('.voteValue');this.jqClose=this.jq.first('.smallClose');this.messages={agree:this.jqValue.first('a.agree'),update:this.jqValue.first('a.update'),change:this.jqValue.first('a.change')};this.registerEvents();});K.oo('method',"registerEvents",function(){var self=this;this.jqValue.click(function(){self.submit();});this.jqClose.click(function(){self.hide();});});K.oo('method',"e_clickCell",function(context){this.context=context;if(this.data.isVoteValueColumn(context.colIdx)){var params={valueSelector:this,values:this.data.getValues(context.rowIdx)};this.notify('showValueSelector',params);}else{if(context.jqTarget.is('a')&&this.data.isVoteCountColumn(context.colIdx)){this.notify('showRollupHistory',this.data.getValues(context.rowIdx));}}});K.oo('method',"e_vScroll",function(p){this.hide();this.topOffset=p.top;});K.oo('method',"e_hScroll",function(p){this.hide();this.leftOffset=p.left;});K.oo('method',"e_dataLoaded",function(){this.hide();});K.oo('method',"submit",function(){this.hide();var rowIdx=this.context.rowIdx;this.notify('rollupValueSelected',{messageType:this.messageType,vals:this.data.getValues(rowIdx)});});K.oo('method',"hide",function(){this.jq.removeClass('showing');});K.oo('method',"setPosition",function(){var pos=this.dim.getCellPosition(this.context.colIdx,this.context.rowIdx);this.jq.css({left:pos.left-this.leftOffset+5,top:pos.top-this.topOffset-10});});K.oo('method',"show",function(messageType){this.messageType=messageType;this.setPosition();this.showMessage(messageType);this.jq.addClass('showing');});K.oo('method',"showMessage",function(messageType){for(message in this.messages){if(message==messageType){this.messages[message].show();}else{this.messages[message].hide();}}});})(ValueSelector,null);ValueSelector.oo('setHTMLCache',{"main":function(){return"<div class='valueSelector'><div class='voteValue'><a class='change'>change my latest input to agree with this<\/a><a class='update'>update my current input<\/a><a class='agree'>agree with this<\/a><\/div><div class='smallClose'><\/div><\/div>"}});JS2.OO.createClass("GridExplorerAdapter");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(controller){this.controller=controller;});K.oo('method',"e_showRollupHistory",function(vals){this.controller.view.tabs.tabs('select',1);this.controller.view.filterHistory(vals);});K.oo('method',"e_rollupValueSelected",function(params){this.controller.view.gridValueSelected(params);});K.oo('method',"e_showValueSelector",function(params){var valueSelector=params.valueSelector;var values=params.values;var userValues=this.controller.getUserValues();var equivalent=this.equivalent(userValues,values);var messageType='change';if(equivalent==-1){messageType='agree';}
else if(equivalent==0){messageType='update';}
valueSelector.show(messageType);});K.oo('method',"e_showFullComment",function(value){this.controller.view.showFullComment(value);});K.oo('method',"equivalent",function(userValues,values){var voted=false;var equivalent=true;for(var i=0;i<values.length;i++){if(userValues[i]||userValues[i]==0)voted=true;if(userValues[i]==values[i])equivalent=false;}
if(!voted)return-1;return equivalent?1:0;});K.oo('method',"e_reportAbuser",function(userId){this.controller.data.reportAbuser(userId);});K.oo('method',"e_addToWhiteList",function(userId){this.controller.data.addToWhiteList(userId);});K.oo('method',"e_addToBlackList",function(userId,reason){this.controller.data.addToBlackList(userId,reason);});})(GridExplorerAdapter,null);JS2.OO.createClass("GridExplorerAppBase.ValueSelector");GridExplorerAppBase.ValueSelector.oo('extends',ValueSelector);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.parent=options.parent;this.auth=(this.parent)?this.parent.auth:null;this.noAbuse=options.noAbuse;});K.oo('method',"e_initHTML",function(){this.topOffset=0;this.leftOffset=0;this.jq=$(this.htmlCache.main());this.jqGrid.first('>.body').append(this.jq);this.hide();this.jqValue=this.jq.first('.voteValue');this.jqClose=this.jq.first('.smallClose');this.messages={agree:this.jqValue.first('a.agree'),update:this.jqValue.first('a.update'),change:this.jqValue.first('a.change')};this.jqReportAbuse=this.jq.first('.reportAbuse');this.jqWhiteList=this.jq.first('.whiteList');this.jqBlackList=this.jq.first('.blackList');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"blacklist link",this.jqBlackList,null);this.buildAbuseDialog();this.registerEvents();});K.oo('method',"buildAbuseDialog",function(){var self=this;this.jqAbuseDialog=$('<div><textarea class="abuseReason">please input the reason.</textarea></div>');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"abuse dialog",this.jqAbuseDialog,null);this.jqAbuseReason=this.jqAbuseDialog.first('textarea');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"abuse reason",this.jqAbuseReason,null);this.jqAbuseReason.toggleInput();this.abuseDialog=this.jqAbuseDialog.dialog({autoOpen:false,buttons:{'Done':function(){self.addToBlackList();}},height:160,width:320,resizable:false,modal:true,dialogClass:'abuseReason',title:'Reason'});this.jqDone=this.jqAbuseDialog.parent().find('button');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"done",this.jqDone,null);});K.oo('method',"registerEvents",function(){_super(this);var self=this;this.jqReportAbuse.click(function(){self.reportAbuser();});this.jqWhiteList.click(function(){self.addToWhiteList();});this.jqBlackList.click(function(){self.abuseDialog.dialog('open');});});K.oo('method',"show",function(messageType){_super(this,messageType);this.showExtLinksByUser();});K.oo('method',"hide",function(){this.jq.removeClass('showing');this.jq.removeClass('force');});K.oo('method',"showExtLinksByUser",function(){this.jqReportAbuse.hide();this.jqWhiteList.hide();this.jqBlackList.hide();this.jq.removeClass('force');if(this.noAbuse)return;var hasExtLinks=false;if(this.auth.userId()==this.getVoterId())return;if(!this.auth.loggedIn())return;this.jqReportAbuse.show();if(this.auth.isDev()||this.auth.isAdmin())this.jqWhiteList.show();if(this.auth.isAdmin())this.jqBlackList.show();this.jq.addClass('force');});K.oo('method',"reportAbuser",function(){if(!confirm('Are you sure you want to report this user?'))return;this.notify('reportAbuser',this.getVoterId());this.hide();});K.oo('method',"addToWhiteList",function(){if(!confirm('Are you sure you want to whitelist this user?'))return;this.notify('addToWhiteList',this.getVoterId());this.hide();});K.oo('method',"addToBlackList",function(){if(!confirm('Are you sure you want to blacklist this user?'))return;var reason=this.jqAbuseReason.toggleInput('val');this.notify('addToBlackList',this.getVoterId(),reason);this.hide();this.abuseDialog.dialog('close');});K.oo('method',"getVoterId",function(){return this.data.rows[this.context.rowIdx][0][0];});})(GridExplorerAppBase.ValueSelector,GridExplorerAppBase);JS2.OO.createClass("GridExplorerAppBase.ToolTip");GridExplorerAppBase.ToolTip.oo('extends',ValueSelector);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.htmlCache=this.klass.oo('super','htmlCache');;_super(this);this.jq.html("<div class=\"miniTooltip\">Clicking on this comment will let you see the comment in its entirety.</div>");});K.oo('method',"e_clickCell",function(context){if(this.data.getComment(context.rowIdx)!=''&&this.data.isVoteCommentColumn(context.colIdx)){var value=this.data.getComment(context.rowIdx);this.notify('showFullComment',value);}});K.oo('method',"e_mouseoverCell",function(context){var self=this;this.context=context;if(this.data.isVoteCommentColumn(context.colIdx)&&this.data.getComment(context.rowIdx)!=''){this.timeout=setTimeout(function(){self.show();},500);}});K.oo('method',"e_mouseoutCell",function(){if(this.timeout){clearTimeout(this.timeout);this.timeout=null;}
this.hide();});K.oo('method',"setPosition",function(){var pos=this.dim.getCellPosition(this.context.colIdx,this.context.rowIdx);this.jq.css({left:pos.left-this.leftOffset-this.jq.width()+15,top:pos.top-this.topOffset-this.jq.height()+35});});K.oo('method',"show",function(){this.setPosition();this.jq.addClass('showing');});})(GridExplorerAppBase.ToolTip,GridExplorerAppBase);JS2.OO.createClass("GridExplorerAppBase.Main");GridExplorerAppBase.Main.oo('extends',GridSimple.Main);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','components',['Main','Data','Body','ValueSelector','ToolTip']);K.oo('member','core',['Data']);K.oo('member','dependencies','notifier');K.oo('method',"addEventAdapter",function(adapter){this.notifier.register(adapter);});K.oo('method',"setReadonly",function(votable){votable?this.jqGrid.removeClass('readonly'):this.jqGrid.addClass('readonly');});K.oo('method',"setColumnDatatype",function(colIdx,datatype){this.data.columns[colIdx].datatype=datatype;});})(GridExplorerAppBase.Main,GridExplorerAppBase);JS2.OO.createClass("GridExplorerAppBase.Data");GridExplorerAppBase.Data.oo('extends',GridSimple.Data);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"isVoteValueColumn",function(colIdx){return this.columns[colIdx].columnType=='voteValue';});K.oo('method',"isVoteCountColumn",function(colIdx){return this.columns[colIdx].columnType=='voteCount';});K.oo('method',"isVoterLinkColumn",function(colIdx){return this.columns[colIdx].columnType=='voterLink';});K.oo('method',"isVoteDateColumn",function(colIdx){return this.columns[colIdx].columnType=='voteDate';});K.oo('method',"isVoteSourceColumn",function(colIdx){return this.columns[colIdx].columnType=='voteSource';});K.oo('method',"isVoteCommentColumn",function(colIdx){return this.columns[colIdx].columnType=='voteComment';});K.oo('method',"isUnderlyingTableColumn",function(colIdx){return this.columns[colIdx].columnType=='underlyingTable';});K.oo('method',"getValues",function(rowIdx){var vals=[];var row=this.rows[rowIdx];for(var i=0,len=this.columns.length;i<len;i++){if(this.isVoteValueColumn(i))vals.push(row[i]);}
vals.isGarbage=row.isGarbage;return vals;});K.oo('method',"getComment",function(rowIdx){var row=this.rows[rowIdx];for(var i=0,len=this.columns.length;i<len;i++){if(this.isVoteCommentColumn(i))return row[i];}});})(GridExplorerAppBase.Data,GridExplorerAppBase);JS2.OO.createClass("GridExplorerAppBase.BodyController");GridExplorerAppBase.BodyController.oo('extends',GridSimple.BodyController);(function(K,Package){var self=K;var _super=JS2.OO['super'];})(GridExplorerAppBase.BodyController,GridExplorerAppBase);JS2.OO.createClass("GridExplorerAppBase.BodyView");GridExplorerAppBase.BodyView.oo('extends',GridSimple.BodyView);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','SEE_COMMENTS_LINK','(<a class=".showRollupVoteHistory">see their comments</a>)');K.oo('method',"initialize",function(options){this.options=options;});K.oo('method',"getCellData",function(colIdx,rowIdx){var row=this.data.rows[rowIdx];var cell=this.data.rows[rowIdx][colIdx];var html='';if(this.data.isVoteCountColumn(colIdx)){return this._wrapCell(cell+this.SEE_COMMENTS_LINK);}
if(this.data.isVoterLinkColumn(colIdx)){return this._wrapCell(DISPLAY.user(cell[0],cell[1]));}
if(this.data.isVoteDateColumn(colIdx)){return this._wrapCell(DISPLAY.datatype('Date',cell,'humanTime'));}
if(this.data.isVoteSourceColumn(colIdx)){return this._wrapCell(DISPLAY.link(cell));}
if(this.data.isVoteCommentColumn(colIdx)){var klass="comment";if(this.data.getComment(rowIdx)==''){klass+=' blank';}
return'<div class="'+klass+'">'+
_super(this,colIdx,rowIdx)+'</div>';}
if(this.data.isUnderlyingTableColumn(colIdx)){return this._wrapCell(cell);}
if(row.isGarbage&&this.data.isVoteValueColumn(colIdx)){val='<span class="garbage">[Garbage]</span>';var unCounted=this.data.rows[rowIdx].unCounted;if(unCounted)val='<strike>'+val+'</strike>';return'<div class="clickable">'+val+'</div>';}
if(this.data.isVoteValueColumn(colIdx)){var val=cell
var datatype=this.data.columns[colIdx].datatype;var unCounted=this.data.rows[rowIdx].unCounted;val=this._getVoteValue(datatype,val);if(unCounted)val='<strike>'+val+'</strike>';return'<div class="clickable">'+val+'</div>';}
return this._wrapCell(_super(this,colIdx,rowIdx));});K.oo('method',"_wrapCell",function(cell){if($.browser.msie){return'<div>'+cell+'</div>';}else{return cell;}});K.oo('method',"_getVoteValue",function(datatype,val){if(val===null||$.trim(String(val)).length==0){return'<em class="blank">[blank]</em>';}
return datatype=='String'?DISPLAY.link(val):DISPLAY.datatype(datatype,val);});})(GridExplorerAppBase.BodyView,GridExplorerAppBase);GridExplorerAppBase.ValueSelector.oo('setHTMLCache',{"main":function(){return"<div class='valueSelector'><div class='voteValue'><a class='change'>change my latest input to agree with this<\/a><a class='update'>update my current input<\/a><a class='agree'>agree with this<\/a><\/div><div class='reportAbuse'><span class='split'>&nbsp;-&nbsp;<\/span><a>report abuse<\/a><\/div><div class='whiteList'><span class='split'>&nbsp;-&nbsp;<\/span><a>white list<\/a><\/div><div class='blackList'><span class='split'>&nbsp;-&nbsp;<\/span><a>black list<\/a><\/div><div class='smallClose'><\/div><\/div>"}});JS2.OO.createClass("Grid0.ExplorerPayload");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.url='/tables/explorers/'+options.dataset.key;this.unsubscribe=options.grid.unsubscribe;});K.oo('method',"pkVals",function(){return this.data.getPkVals(this.colIdx,this.rowIdx);});K.oo('method',"isLeft",function(){return this.data.isLeftCol(this.colIdx);});K.oo('method',"loadParams",function(){var params={};if(this.isLeft()){params.row_hash=this.data.getHash(this.rowIdx);}else{var pkVals=this.data.getPkVals(this.colIdx,this.rowIdx);params.pk_vals=JSON.stringify(pkVals);}
this.column=this.data.columns()[this.colIdx];params.field_id=this.column.id;params.grid=this.data.gridJson();return params;});K.oo('method',"loadFact",function(colIdx,rowIdx){this.colIdx=colIdx;this.rowIdx=rowIdx;var url=this.url+'/fact.js';if(this.unsubscribe)url+="?unsubscribe=true";var self=this;sci.ajax.post(url,this.loadParams(),function(p){self._loadFact(p)});});K.oo('method',"_loadFact",function(p){var cols=this.data.columns();var summaryParser=new Grid0.SummaryParser('cell',p.cellSummary,cols);var cellSummary;if(summaryParser.rows.length==0){cellSummary={numVotes:0,consensus:1,val:null,userVal:null};}else{cellSummary=summaryParser.rows[0][this.colIdx];}
var rollup=new Grid0.BallotParser(JSON.parse(p.rollup));var history=new Grid0.VotesParser(JSON.parse(p.history));var lastVote=new Grid0.VoteParser(JSON.parse(p.lastVote));var fact={cellSummary:cellSummary,rollup:rollup,lastVote:lastVote,history:history};this.notify('factLoaded',fact);});K.oo('method',"loadSubject",function(colIdx,rowIdx){this.colIdx=colIdx;this.rowIdx=rowIdx;var url=this.url+'/subject.js';var self=this;sci.ajax.post(url,this.loadParams(),function(p){self._loadSubject(p)});});K.oo('method',"_loadSubject",function(p){var alternative=new Grid0.SuggestionsParser(JSON.parse(p.alternative));var firstVote=new Grid0.VoteParser(JSON.parse(p.firstVote));var lastVote=new Grid0.VoteParser(JSON.parse(p.lastVote));var history=new Grid0.VotesParser(JSON.parse(p.history));var subject={alternative:alternative,lastVote:lastVote,firstVote:firstVote,history:history};this.notify('subjectLoaded',subject);});K.oo('method',"loadHistory",function(colIdx,rowIdx,counted){this.colIdx=colIdx;this.rowIdx=rowIdx;var url=this.url+'/history.js';if(this.unsubscribe)url+="?unsubscribe=true";var params=this.loadParams();params.counted=counted;sci.ajax.post(url,params,(function(self){return function(history){self._loadHistory(history);}})(this));});K.oo('method',"_loadHistory",function(history){history=new Grid0.VotesParser(JSON.parse(history));this.notify('historyLoaded',history);});})(Grid0.ExplorerPayload,Grid0);JS2.OO.createClass("Grid0.ExplorerHelper");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','bodyEventHandler bodyView');K.oo('member','EXPLORER_TYPE',{fact:"FactExplorer",subject:"SubjectExplorer",metadata:"MetadataExplorer"});K.oo('member','DIALOG_OFFSET_X',50);K.oo('member','DIALOG_OFFSET_Y',-26);K.oo('method',"e_dblClkCell",function(context){this.context=context;});K.oo('method',"e_showCellInput",function(context){this.context=context;});K.oo('method',"e_pasteValues",function(context){this.context=context;});K.oo('method',"e_markGarbage",function(context){this.context=context;});K.oo('method',"e_initHTML",function(){this.initHTML();this.initPointer();this.registerEvents();});K.oo('method',"initHTML",function(){this.jqMainTabs=$('.gridTabsContainer>.fact-tabList>li');this.isPointerVisible=true;});K.oo('method',"registerEvents",function(){var self=this;this.jqMainTabs.click(function(){var tabIndex=$(this).prevAll().length;if(tabIndex===0){self.isPointerVisible=true;}else{self.isPointerVisible=false;}
self.notify('mainTabSwitched',tabIndex);});});K.oo('method',"getExplorerTitle",function(titleHeader){var table=this.getPkTable();var html=titleHeader;for(var i=0,len=table.length;i<len;i++){var value=table[i][1];if($.trim(value).length==0)value='<em class="blank">[blank]</em>';html+='<strong>'+value+'</strong>';if(i<len-1){html+=', ';}}
return'<span class="explorerTitle">'+html+'</span>';});K.oo('method',"getPkTable",function(){var col=this.context.col;var dataset=this.schema.dataset(col.datasetId);var table=dataset.pkTable(this.context.absRowIdx);return table;});K.oo('method',"checkExplorerType",function(explorer,type){var klass=explorer.klass.className;var index=klass.indexOf(this.EXPLORER_TYPE[type]);if(index==-1){return false;}else{return true;}});K.oo('method',"initPointer",function(){var options={};var beh=this.bodyEventHandler;options.move=function(e){beh.mouseMove(e);};options.click=function(e){beh.click();};options.dblClick=function(e){beh.dblClick();};this.factPointer=new Sci.DialogPointer(options);this.subjectPointer=new Sci.DialogPointer(options);this.metadataPointer=new Sci.DialogPointer(options);});K.oo('method',"point",function(explorerView,zIndex){if(!this.context)return;var colIdx=this.context.colIdx;var rowIdx=this.dim.rowIdx(this.context.absRowIdx);this.explorerView=explorerView;var pointer=null;if(this.checkExplorerType(explorerView,"fact")){pointer=this.factPointer;}
if(this.checkExplorerType(explorerView,"subject")){pointer=this.subjectPointer;}
if(this.checkExplorerType(explorerView,"metadata")){pointer=this.metadataPointer;}
if(zIndex)pointer.setZIndex(zIndex);if(explorerView.jq.dialog('isOpen')&&this.isPointerVisible&&explorerView.dim.isCellVisible(this.context,pointer.padding)){var ele=this.bodyView.matrix[colIdx][rowIdx];pointer.show();pointer.point(explorerView.jqUiDialog,$(ele));}else{pointer.hide();}});K.oo('method',"hidePointer",function(explorerView){if(this.checkExplorerType(explorerView,"fact")){this.factPointer.hide();}
if(this.checkExplorerType(explorerView,"subject")){this.subjectPointer.hide();}
if(this.checkExplorerType(explorerView,"metadata")){this.metadataPointer.hide();}});K.oo('method',"getCellStyle",function(){var cellStyle={left:this.dim.leftOfColumn(this.context.colIdx)+
this.dim.hScrollOffset,top:this.dim.topOfRow(this.context.rowIdx),width:this.schema.column(this.context.colIdx).width,height:this.dim.rowHeight};return cellStyle;});K.oo('method',"setDialogPosition",function(jq){var cellStyle=this.getCellStyle();var left=cellStyle.left+cellStyle.width+this.DIALOG_OFFSET_X;var width=jq.dialog('option','width');var pageWidth=$(document).width();if((left+width)>pageWidth){left=cellStyle.left-width-this.DIALOG_OFFSET_X;}
left=left<0?0:left;jq.parent().css('left',left);});K.oo('method',"setMetaPosition",function(jq){var cellStyle=this.getCellStyle();var height=jq.dialog('option','height');var width=jq.dialog('option','width');var pageWidth=$(document).width();var left=cellStyle.left+cellStyle.width;if((left+width)>pageWidth){left=cellStyle.left-width;}
jq.parent().css({left:left,top:cellStyle.top-height+this.DIALOG_OFFSET_Y});});K.oo('method',"openable",function(explorerType){var col=this.context.col;var field=col.field;var colIdx=this.context.colIdx;var absRowIdx=this.context.absRowIdx;var val=this.data.getCell(colIdx,absRowIdx).val;var isMetadata=(val===null||val===undefined)&&field.isVotable&&col.editable();switch(explorerType){case'metadata':return!this.context.col.isPrimary&&isMetadata;break;case'fact':return!(isMetadata||!this.context.col.field||!this.context.col.field.isExplorable||this.context.col.isPrimary)
break;default:return false;}});K.oo('method',"toggleUnderlyingTableColumn",function(history,defaultColumns){if(this.actions.collection.length>1){var tempColumns=[];for(var j=0,col;col=defaultColumns[j];j++){tempColumns.push(col);}
tempColumns.push({name:'Source Table',datatype:'String',width:150,columnType:'underlyingTable'});history.setColumns(tempColumns);}else{history.setColumns(defaultColumns);}});K.oo('method',"buildDatasetLink",function(datasetId){var dataset=this.schema.getDatasetInfo(datasetId);var html=(dataset)?'<a href="/t/'+dataset.urlName+'">'+dataset.name+'</a>':_("Some view of the source table.");return html;});})(Grid0.ExplorerHelper,Grid0);JS2.OO.createClass("Grid0.SubjectValueControl");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','LABEL_LENGTH',16);K.oo('method',"initialize",function(jq,pks,enableSuggest){this.jq=jq;this.pks=pks;this.inputControls=[];this.jqSubmit=$('#subj-tab-input .submit');this.enableSuggest=enableSuggest;this._buildItems();this._initInputControls();});K.oo('method',"focus",function(idx){if(!idx)idx=0;this.inputControls[idx].focus();});K.oo('method',"blur",function(){for(var i=0,input;input=this.inputControls[i];i++){input.blur();}});K.oo('method',"reset",function(){for(var i=0,input;input=this.inputControls[i];i++){if(this.pks[i].datatype=='UUID'&&this.pks[i].autogen){input.setValue(Math.uuid());}else{input.clear();}}});K.oo('method',"getValues",function(){var values={};for(var i=0;i<this.pks.length;i++){var input=this.inputControls[i];var field=this.pks[i];var value=input.getValue();values[field.fieldId]=value;}
return values;});K.oo('method',"setValues",function(values){for(var i=0,len=values.length;i<len;i++){if(this.pkDefaultValues){var fieldId=this.pks[i].fieldId;if(this.pkDefaultValues[fieldId]!=undefined)continue;}
this.inputControls[i].setValue(values[i]);}});K.oo('method',"setValuesWithoutDatatype",function(values){for(var i=0,len=values.length;i<len;i++){this.inputControls[i].setValueWithoutDatatype(values[i]);}});K.oo('method',"activeValidate",function(){var self=this;this.cancelValidate();this.intval=setInterval(function(){var isValidate=true;for(var i=0,input;input=self.inputControls[i];i++){if(!input.validate())isValidate=false;}
if(isValidate){self.jqSubmit.removeClass('disabled');}else{self.jqSubmit.addClass('disabled');}},300);});K.oo('method',"cancelValidate",function(){if(this.intval){clearInterval(this.intval);delete this.intval;}});K.oo('method',"setJqSubmit",function(jq){this.jqSubmit=jq;});K.oo('method',"setPkDefaultValues",function(pkDefaultValues){this.pkDefaultValues=pkDefaultValues;for(var i=0,input;input=this.inputControls[i];i++){for(var key in pkDefaultValues){if(key==this.pks[i].fieldId&&pkDefaultValues[key]!=null&&pkDefaultValues[key]!=undefined){input.setValue(pkDefaultValues[key]);break;}}}});K.oo('method',"_setLabelName",function(name){if(!name)name='Your Input';var sortLabelName=DISPLAY.html(name,this.LABEL_LENGTH);return sortLabelName+':';});K.oo('method',"_buildItems",function(){this.jq.html('');for(var i=0,p;p=this.pks[i];i++){var jqItem=$(this.htmlCache.listItem({title:p.name,name:this._setLabelName(p.name)}));this.jq.append(jqItem);}
this.jqInputs=this.jq.find('.input');this.jqSearchButton=$(this.htmlCache.searchButton());this.jq.append(this.jqSearchButton);});K.oo('method',"_initInputControls",function(){for(var i=0,field;field=this.pks[i];i++){var options={indicatorTogglable:false,validatorOptions:{compoundValidate:true,allowNull:true}};var inputControl=new Sci.InputControl(this.jqInputs.eq(i),options);inputControl.populate(field.datatype,false);this.inputControls.push(inputControl);if(field.datatype=='UUID'&&field.autogen){inputControl.setValue(Math.uuid());}else{this._enableSuggest(this.jqInputs.eq(i));}}});K.oo('method',"_enableSuggest",function(jq){if(!this.enableSuggest)return;var jqInput=jq.find('input');APP(SearchSuggestV2,{seed:jq,input:jqInput,button:this.jqSearchButton,withoutToggleInput:true,baseUrl:'/search/pk_suggest',params:{field_ids:this.pks[0].fieldId}}).start();});})(Grid0.SubjectValueControl,Grid0);Grid0.SubjectValueControl.oo('setHTMLCache',{"searchButton":function(){return"<input class='hidden' type='button' \/>"},"listItem":function(item){return"<div class='row'><div class='label'><label title='"+item.title+"'>"+item.name+"<\/label><\/div><div class='input'><\/div><\/div>"}});JS2.OO.createClass("Grid0.JsapiPreview");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth');K.oo('member','keys',[]);K.oo('method',"e_initHTML",function(){this.jq=$(this.htmlCache.main());this._initHTML();});K.oo('method',"appendTo",function(jq){this.jq.appendTo(jq);this.ajax=null;});K.oo('method',"loadKeys",function(){if(!this.auth.isDev())return;if(this.ajax)return;var self=this;var klass=self['class'];self.ajax=AJAX.get('/tables/preview/keys',{onError:function(){self.ajax=null;}},function(p){var select=self.jqKeySelect[0];var currentIndex=select.selectedIndex;select.options.length=0;if(p.length>0){for(var it53=0,v,it53__arr=p,it53__len=it53__arr.length;(v=it53__arr[it53])||it53<it53__len;it53++){select.options.add(new Option(v[0],v[1]));}
if(currentIndex>0&&currentIndex<select.options.length){select.selectedIndex=currentIndex;self.changeApiKey(p[currentIndex][1]);}else{self.changeApiKey(p[0][1]);}
self.jqHasKeys.show();self.jqNoKeys.hide();}else{self.jqHasKeys.hide();self.jqNoKeys.show();}})});K.oo('method',"changeApiKey",function(text){var key=JSON.parse(text);var head='<script type="text/javascript" src="http://'+
window.location.host+'/api/v2/'+
key.key+'/scripts/jsapi"></script>'
this.jqKeyHead.val(head);var bindings=$.trim(key.bindings);if(bindings.length==0){bindings='[Blank]';}
this.jqDomains.html(bindings);});K.oo('method',"showPreview",function(){var self=this;var w=window.open('/tables/preview','_blank','width=400,height=300,status=no,toolbar=no');w.onload=function(){w.preview(self.jqKeyBody.val());}});K.oo('method',"populatePreviewCode",function(code){this.jqKeyBody.val(code);this.jqKeySpan.html(DISPLAY.html(code));});K.oo('method',"registerCloseHook",function(func){this.afterClose=func;});K.oo('method',"close",function(){if(this.afterClose){this.afterClose();}});K.oo('method',"_initHTML",function(){this.jqKeySelect=this.jq.find('select');this.jqKeyHead=this.jq.find('.keyHead');this.jqKeyBody=this.jq.find('.keyBody');this.jqPreviewCode=this.jq.find('span.previewCode');this.jqNoKeys=this.jq.find('.no-keys');this.jqHasKeys=this.jq.find('.has-keys');this.jqPreview=this.jq.find('a.preview');this.jqKeySpan=this.jq.find('span.keySpan');this.jqDomains=this.jq.find('.domains');this.jqManageKeys=this.jq.find('.manageKeys');this.jqKeyHead.click(function(){this.select();})
this.jqKeyBody.click(function(){this.select();})
this.jqPreview.click((function(self){return function(){self.showPreview();}})(this));this.jqKeySelect.change((function(self){return function(){self.changeApiKey($(this).val());}})(this));this.jqManageKeys.click((function(self){return function(){self.close();}})(this))});K.oo('method',"e_userLoggedIn",function(){this.loadKeys();});})(Grid0.JsapiPreview,Grid0);Grid0.JsapiPreview.oo('setHTMLCache',{"main":function(){return"<div class='previewPane'><div class='no-keys hidden'>To use this feature, <a href=\"\/developers\/api_key\">register a factual API Key<\/a> for the site that you'd like to embed this factual data.<\/div><div class='has-keys hidden'><h4>Which application key are you using?<\/h4><select><\/select><a class='manageKeys' href='\/developers\/api_key' target='_blank'>manage keys<\/a><h4>This key is currently authorized on the following sites:<\/h4><div class='domains'><\/div><h4>In order to connect Factual Data Explorers to your data, add the following HTML inside the &lt;head&gt; tags of your webpage:<\/h4><textarea class='keyHead'><\/textarea><h4>Then add the following span into the &lt;body&gt; of your webpage where you want the fact to appear, and Factual explorers to be enabled:<\/h4><textarea class='keyBody'><\/textarea><span class='keySpan hidden'><\/span><p><a class='preview' href='javascript:;'>preview an example<\/a><\/p><\/div><\/div>"}});JS2.OO.createClass("Grid0.CellFormController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','bodyView factExplorerView subjectExplorerView');K.oo('method',"registerEvents",function(){var self=this;var view=this.view;view.jqSource.changable();view.jqComment.changable();view.jqCancel.click(function(){view.hide(true);});view.jqValue.escKey(function(){view.hide(true);});view.jqSubmit.click(function(){self.submit();});view.jqForm.submit(function(){self.submit();});view.jqExplain.click(function(){self.explain();});view.inputControl.setValidateCallback(function(validated){self.setSubmitable(validated);});});K.oo('method',"explain",function(){this.view.hide(true);this.notify('dblClkCell',this.context);});K.oo('method',"getConsensus",function(context){var col=context.col;var colIdx=context.colIdx;var absRowIdx=context.absRowIdx;return this.data.getCell(colIdx,absRowIdx);});K.oo('method',"isOpenable",function(context){if(!context||context.col.isPrimary||!context.col.field.isVotable||!context.col.editable()){return false;}else{return true;}});K.oo('method',"show",function(context){if(!this.isOpenable(context))return;this.setContext(context);this.view.toggleExplain(this.data.isEmptyCell(context));this.view.show();});K.oo('method',"setContext",function(context){this.context=context;this.view.context=context;});K.oo('method',"setSubmitable",function(submitable){this.submitable=submitable;this.view.toggleSubmit(submitable);});K.oo('method',"submit",function(){if(this.view.isSubmitDisabled())return;if(this.auth.requireLogin(this))return;this.view.isOpen=false;var hash=this.view.getHash();if(hash){this.view.hide();this.data.vote(this.context.colIdx,this.context.absRowIdx,hash);if(!this.doNotMove)this.moveToNextEmptyCell();}});K.oo('method',"isOpen",function(){return this.view.isOpen;});K.oo('method',"pasteValues",function(context,values){if(context.col.isPrimary)return;this.show(context);this.view.setValue(values[0]);});K.oo('method',"moveToNextEmptyCell",function(){var colIdx=false;var rowIdx=this.context.rowIdx;var absRowIdx=this.context.absRowIdx;var columns=this.data.columns();for(var i=this.context.colIdx+1,c;c=columns[i];i++){if(!c.isPrimary&&!c.hidden){var isEmpty=this.data.isEmptyCell({absRowIdx:absRowIdx,colIdx:c.colIdx,col:c});if(!isEmpty)continue;colIdx=c.colIdx;break;}}
if(colIdx===false)return;this.openCell(colIdx,rowIdx);});K.oo('method',"openCell",function(colIdx,rowIdx){this.context=this.dim.getContextFromCell(colIdx,rowIdx,this.bodyView.matrix);if(this.context){this.notify('showCell',this.context);this.notify('highlightCell',this.context);this.notify('showCellInput',this.context);}});K.oo('method',"subjectAdded",function(){this.onSubjectAdded=true;});K.oo('method',"e_resized",function(){if(!this.onSubjectAdded)return;var rowOffset=this.actions.summary['row-offset'];if(rowOffset!=-1){this.context=this.dim.getContextFromCell(0,rowOffset-this.dim.rowOffset,this.bodyView.matrix);var self=this;setTimeout(function(){self.moveToNextEmptyCell();},100);}
this.onSubjectAdded=false;});K.oo('method',"highlightCell",function(context){if(!context){this.view.hide();return;}});K.oo('method',"dblClkCell",function(context){if(!context){this.view.hide();return;}
this.doNotMove=true;if(this.data.isEmptyCell(context)){if(this.view.isOpen)this.view.hide();this.doNotMove=false;this.show(context);}else{this.view.hide();this.doNotMove=false;}});})(Grid0.CellFormController,Grid0);JS2.OO.createClass("Grid0.CellFormView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','PADDING',11);K.oo('method',"initHTML",function(){this.jq=this.jqGrid.find('>.bodyEventHandler>.cellForm').hide();this.jq[0].innerHTML=this.htmlCache.main();this.jqForm=this.jq.first('form');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"form",this.jqForm,null);this.jqValue=this.jqForm.first('.valueInput');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"votevalue",this.jqValue,".textField");this.jqSubmit=this.jqForm.first('.submit');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"submit",this.jqSubmit,null);this.jqCancel=this.jqForm.first('.cancel');this.jqSource=this.jqForm.first('.source>input');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"source",this.jqSource,null);this.jqComment=this.jqForm.first('.comment>textarea');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"comment",this.jqComment,null);this.jqLoginMessage=this.jqForm.first('.loginMessage');this.jqDataMessage=this.jqForm.first('.dataMessage');this.jqExplain=this.jqForm.first('a.explain');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"explain",this.jqExplain,null);this.initValue();this.isOpen=false;});K.oo('method',"initValue",function(){this.inputControl=new Sci.FactInputControl(this.jqValue);});K.oo('method',"hide",function(force){if(!force&&this.isOpen&&this.inputControl.getValue()){this.controller.submit();return;}
this.jq.hide();if(this.isOpen){this.notify('resizeScroller',0,0);this.isOpen=false;this.inputControl.blur();}});K.oo('method',"show",function(){this.populateValueControl();this.setConsensusValue();this.jq.show();this.isOpen=true;this.auth.checkLogin(this.jqLoginMessage);this.notify('checkReferenceState',this.context.col.datasetId,this.jqDataMessage);this.resizeScroller();this.scrollToShow();this.inputControl.select();this.focus();if($.browser.msie){setTimeout((function(self){return function(){self.inputControl.getInput().val(self.inputControl.getValue());}})(this),0);}});K.oo('method',"populateValueControl",function(){var field=this.context.col.field;this.inputControl.populate(field);this.inputControl.clear();this.inputControl.validate();});K.oo('method',"setConsensusValue",function(){var consensus=this.controller.getConsensus(this.context);var value=consensus.val;if(consensus.userVal||consensus.userVal===0){value=consensus.userVal;}
this.setValue(value);});K.oo('method',"toggleSubmit",function(submitable){if(submitable){this.jqSubmit.removeClass('fact-button-disabled');}else{this.jqSubmit.addClass('fact-button-disabled');}});K.oo('method',"setPosition",function(){if(!this.context)return;this.jq.css(this.getPosition(this.context));});K.oo('method',"getPosition",function(context){var position=this.dim.getCellPosition(context);position.top-=this.PADDING;position.left-=this.PADDING;return position;});K.oo('method',"resizeScroller",function(){if(!this.context)return;var pos=this.dim.getCellAbsolutePosition(this.context);this.notify('resizeScroller',pos.left+this.jq.width(),pos.top+this.jq.height());});K.oo('method',"scrollToShow",function(){if(!this.context)return;var position=this.getPosition(this.context);var posLeft=position.left+this.jq.width();var posTop=position.top+this.jq.height();var deltaLeft=posLeft>this.dim.body.width?posLeft-this.dim.body.width:null;var deltaTop=posTop>this.dim.body.height?posTop-this.dim.body.height:0;deltaTop=position.top>deltaTop?deltaTop:position.top;if(deltaLeft>0||deltaTop>0){this.notify('deltaScroll',{left:deltaLeft,top:deltaTop});}else{this.setPosition();}});K.oo('method',"setValue",function(value){if(value==null||value==undefined)value='';this.inputControl.setValue(value);});K.oo('method',"getHash",function(){var hash={value:this.inputControl.getValue(),source:this.jqSource.val(),comments:this.jqComment.val(),confidence:1,weight:1};return hash;});K.oo('method',"isSubmitDisabled",function(){return this.jqSubmit.is('.fact-button-disabled');});K.oo('method',"toggleExplain",function(isEmptyCell){isEmptyCell?this.jqExplain.hide():this.jqExplain.show();});K.oo('method',"focus",function(){this.inputControl.focus();});K.oo('method',"move",function(pos){if(this.isOpen)this.setPosition();});})(Grid0.CellFormView,Grid0);JS2.OO.createClass("Grid0.CellFormEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_showCellInput",function(context){this.controller.show(context);});K.oo('method',"e_dblClkCell",function(context){this.controller.dblClkCell(context);});K.oo('method',"e_pasteValues",function(context,values){this.controller.pasteValues(context,values);});K.oo('method',"e_highlightCell",function(context){this.controller.highlightCell(context);});K.oo('method',"e_subjectAdded",function(){this.controller.subjectAdded();});K.oo('method',"e_resizing",function(){this.view.setPosition();});K.oo('method',"e_beforeScroll",function(){});K.oo('method',"e_vScroll",function(pos){this.view.move(pos);});K.oo('method',"e_hScroll",function(pos){this.view.move(pos);});K.oo('method',"e_mainTabSwitched",function(){this.view.hide();});K.oo('method',"e_dataLoaded",function(){this.view.hide();});})(Grid0.CellFormEvents,Grid0);Grid0.CellFormView.oo('setHTMLCache',{"main":function(){return"<form action='javascript:void(0)'><div class='valueInput'><\/div><div class='buttons'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Submit      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><a class='explain'>what others said<\/a><input class='hidden' type='submit' \/><\/div><div class='message'><div class='loginMessage'><\/div><div class='dataMessage'><\/div><\/div><fieldset><legend>optional<\/legend><div class='source'><label>cite a source:<\/label><input class='textField' \/><\/div><div class='comment'><label>comments:<\/label><textarea class='textArea'><\/textarea><\/div><\/fieldset><\/form>"}});JS2.OO.createClass("Grid0.CellOptionsController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','factExplorerView subjectExplorerView cellForm body');K.oo('method',"registerEvents",function(){var self=this;var view=this.view;view.jqExplain.click(function(){self.openExplorer();});view.jqDisagree.click(function(){self.openCellForm();});view.jqExpand.click(function(){self.expandCell();});view.jqCorrect.click(function(){self.correct();});view.jqGarbage.click(function(){self.garbage();});});K.oo('method',"isShowable",function(context){if(!context||this.data.isEmptyCell(context)||this.factExplorerView.isOpen()||this.subjectExplorerView.isOpen()||this.cellForm.isOpen()||this.isSameCell(context)){return false;}else{return true;}});K.oo('method',"isSameCell",function(context){if(this.view.isShowing()){if(context.colIdx==this.context.colIdx&&context.absRowIdx==this.context.absRowIdx){return true;}else{return false;}}else{return false;}});K.oo('method',"show",function(context){if(!this.isShowable(context)){this.view.hide();return;}
this.setContext(context);var haveOption=this.view.populateOptions(this.getLink(),this.isCellOverflow(),context.col.isPrimary);if(!haveOption){this.view.hide();return;}
this.setContext(context);this.view.show();});K.oo('method',"getLink",function(){var colIdx=this.context.colIdx;var absRowIdx=this.context.absRowIdx;var value=this.data.getCell(colIdx,absRowIdx).val;return DISPLAY.isAndReturnLink(value);});K.oo('method',"isCellOverflow",function(){var colIdx=this.context.colIdx;var absRowIdx=this.context.absRowIdx;var datatype=this.context.col.datatype;return this.body.isCellOverflow(colIdx,absRowIdx,datatype);});K.oo('method',"setContext",function(context){this.context=context;this.view.context=context;});K.oo('method',"openExplorer",function(){this.notify('dblClkCell',this.context);this.view.hide();});K.oo('method',"openCellForm",function(){this.notify('showCellInput',this.context);});K.oo('method',"expandCell",function(){this.notify('expandCell');this.view.hideExpand();});K.oo('method',"correct",function(){this.notify('pasteValues',this.context,'');this.view.hide();});K.oo('method',"garbage",function(){this.notify('markGarbage',this.context);this.view.hide();});})(Grid0.CellOptionsController,Grid0);JS2.OO.createClass("Grid0.CellOptionsView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','TOP_OFFSET',30);K.oo('member','LEFT_OFFSET',7);K.oo('method',"initialize",function(){this.showExpandCellByDefault=true;});K.oo('method',"initHTML",function(){this.jq=this.jqGrid.first('>.cellOptions');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"options",this.jq,null);this.jq[0].innerHTML=this.htmlCache.main();this.jqPointer=this.jq.first('.pointer');this.jqFact=this.jq.first('.fact');this.jqSubject=this.jq.first('.subject');this.jqExplainSpan=this.jqFact.first('.explain');this.jqExplain=this.jqExplainSpan.first('a');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"explain",this.jqExplain,null);this.jqDisagreeSpan=this.jqFact.first('.disagree');this.jqSeparator=this.jqDisagreeSpan.first('.separator');this.jqDisagree=this.jqDisagreeSpan.first('a');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"disagree",this.jqDisagree,null);this.jqLinkSpan=this.jqFact.first('.link');this.jqLink=this.jqLinkSpan.first('a');this.jqExpandSpan=this.jqFact.first('.expand');this.jqExpand=this.jqExpandSpan.first('a');this.jqCorrectSpan=this.jqSubject.first('.correct');this.jqCorrect=this.jqCorrectSpan.first('a');this.jqGarbageSpan=this.jqSubject.first('.garbage');this.jqGarbage=this.jqGarbageSpan.first('a');this.jqSubjectLinkSpan=this.jqSubject.first('.link');this.jqSubjectLink=this.jqSubjectLinkSpan.first('a');this.hide();});K.oo('method',"show",function(){this.jq.show();this.setPosition();});K.oo('method',"hide",function(){this.jq.hide();});K.oo('method',"hideExpand",function(){this.jqExpandSpan.hide();this.setPosition();});K.oo('method',"setPosition",function(){if(!this.context)return;if(this.dim.isCellLeftHidden(this.context)){this.jq.hide();return;}
this.jq.css('left',0);var position=this.dim.getCellPosition(this.context);var pointLeft=this.LEFT_OFFSET;position.top+=this.dim.body.top-this.TOP_OFFSET;if((position.left+this.jq.width())>this.dim.body.width){position.left=this.dim.body.width-this.jq.width();pointLeft=this.jq.width()-this.LEFT_OFFSET-10;}else{position.left-=this.LEFT_OFFSET;}
this.jqPointer.css('left',pointLeft);this.jq.css(position);});K.oo('method',"getConsensus",function(){var col=this.context.col;var colIdx=this.context.colIdx;var absRowIdx=this.context.absRowIdx;return this.data.getCell(colIdx,absRowIdx);});K.oo('method',"isExplainable",function(){var val=this.getConsensus().val;return!(val===null||val===undefined);});K.oo('method',"isDisagreeable",function(){return this.context.col.field.isVotable&&this.context.col.editable();});K.oo('method',"populateOptions",function(link,cellOverflow,isPrimary){var haveOption=false;if(isPrimary){this.jqFact.hide();this.jqSubject.show();if(this.isDisagreeable())haveOption=true;if(link){this.jqSubjectLink.attr('href',link);this.jqSubjectLinkSpan.show();}else{this.jqSubjectLinkSpan.hide();}}else{this.jqFact.show();this.jqSubject.hide();if(this.isExplainable()){this.jqExplainSpan.show();this.jqSeparator.show();haveOption=true;}else{this.jqExplainSpan.hide();this.jqSeparator.hide();}
if(this.isDisagreeable()){this.jqDisagreeSpan.show();haveOption=true;}else{this.jqDisagreeSpan.hide();}
if(link){this.jqLink.attr('href',link);this.jqLinkSpan.show();}else{this.jqLinkSpan.hide();}
if(cellOverflow&&!this.showExpandCellByDefault){this.jqExpandSpan.show();}else{this.jqExpandSpan.hide();}}
return haveOption;});K.oo('method',"toggleExpendCell",function(jq){this.showExpandCellByDefault=jq.is(':checked');});K.oo('method',"isShowing",function(){return this.jq.is(':visible');});})(Grid0.CellOptionsView,Grid0);JS2.OO.createClass("Grid0.CellOptionsEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_highlightCell",function(context){this.controller.show(context);});K.oo('method',"e_hScroll",function(){this.view.setPosition();});K.oo('method',"e_resizing",function(){this.view.setPosition();});K.oo('method',"e_dblClkCell",function(){this.view.hide();});K.oo('method',"e_dataLoaded",function(){this.view.hide();});K.oo('method',"e_displayMenuClicked",function(selector,jq){if(selector=='display > expandCell'){this.view.toggleExpendCell(jq);}});K.oo('method',"e_showCellInput",function(){this.view.hide();});K.oo('method',"e_beforeScroll",function(){this.view.hide();});K.oo('method',"e_pasteValues",function(){this.view.hide();});})(Grid0.CellOptionsEvents,Grid0);Grid0.CellOptionsView.oo('setHTMLCache',{"main":function(){return"<div class='content'><div class='fact'><span class='explain'><span class='icon'><\/span><a>explain<\/a><\/span><span class='disagree'><span class='separator'>&nbsp;-&nbsp;<\/span><span class='icon'><\/span><a>disagree<\/a><\/span><span class='link'>&nbsp;-&nbsp;<span class='icon'><\/span><a target='_blank'>open link<\/a><\/span><span class='expand'>&nbsp;-&nbsp;<span class='icon'><\/span><a>expand cell<\/a><\/span><\/div><div class='subject'><span class='correct'><span class='icon'><\/span><a>correct this<\/a><\/span><span class='garbage'>&nbsp;-&nbsp;<span class='icon'><\/span><a>garbage<\/a><\/span><span class='link'>&nbsp;-&nbsp;<span class='icon'><\/span><a target='_blank'>open link<\/a><\/span><\/div><\/div><div class='factOptionsBubble'><\/div><div class='pointer'><\/div>"}});JS2.OO.createClass("Grid0.ExpandedCellController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','bodyView factExplorerView subjectExplorerView cellForm');K.oo('method',"initialize",function(){this.showByDefault=true;});K.oo('method',"registerEvents",function(){var self=this;this.view.jqContent.dblclick(function(){self.dblclick();});});K.oo('method',"dblclick",function(){if(this.context){this.notify('dblClkCell',this.context);}});K.oo('method',"show",function(context){if(!context){this.view.hide();return;}
this.setContext(context);this.setCellValue();if(!this.showByDefault){this.view.hide();return;}
this.view.show();});K.oo('method',"setContext",function(context){this.context=context;this.view.context=context;});K.oo('method',"setCellValue",function(){if(!this.context)return;this.view.setCellValue(this.bodyView.getCellHTML(this.context));});K.oo('method',"toggleExpendCell",function(jq){this.showByDefault=jq.is(':checked');});K.oo('method',"cellRefreshed",function(absRowIdx,colIdx){if(absRowIdx==this.context.absRowIdx&&colIdx==this.context.colIdx){this.setCellValue();}});})(Grid0.ExpandedCellController,Grid0);JS2.OO.createClass("Grid0.ExpandedCellView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initHTML",function(){this.jq=this.jqGrid.first('>.expandedCell');this.jq[0].innerHTML=this.htmlCache.main();this.jqContent=this.jq.first('.content');this.jqText=this.jqContent.first('div');this.hide();});K.oo('method',"show",function(){this.showing=true;this.jq.show();this.setConsensus();this.setPosition();});K.oo('method',"hide",function(){this.showing=false;this.jq.hide();});K.oo('method',"setConsensus",function(){if($(this.context.cell).hasClass('contentious')){this.jqContent.addClass('contentious');}else{this.jqContent.removeClass('contentious');}});K.oo('method',"setPosition",function(){if(!this.context)return;if(this.dim.isCellLeftHidden(this.context)){this.jq.hide();return;}else{if(this.showing)this.jq.show();}
var position=this.dim.getCellPosition(this.context);position.top+=this.dim.body.top-1;this.jq.css(position);this.changeSize(position);});K.oo('method',"changeSize",function(position){var maxWidth=this.dim.body.width-position.left;var minWidth=this.context.col.width;minWidth=minWidth>maxWidth?maxWidth:minWidth;this.jq.css('max-width',maxWidth);this.jq.css('min-width',minWidth);if($.browser.msie&&parseInt($.browser.version)<8){var padding=20;this.jqContent.css('min-width',minWidth-padding);}});K.oo('method',"setCellValue",function(value){this.jqText[0].innerHTML=value;});})(Grid0.ExpandedCellView,Grid0);JS2.OO.createClass("Grid0.ExpandedCellEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.view.initHTML();this.controller.registerEvents();});K.oo('method',"e_highlightCell",function(context){this.controller.show(context);});K.oo('method',"e_dataLoaded",function(){this.view.hide();});K.oo('method',"e_hScroll",function(){this.view.setPosition();});K.oo('method',"e_vScroll",function(){this.view.setPosition();});K.oo('method',"e_resizing",function(){this.view.setPosition();});K.oo('method',"e_dblClkCell",function(context){this.controller.setContext(context);this.view.hide();});K.oo('method',"e_showCellInput",function(){this.view.hide();});K.oo('method',"e_expandCell",function(){this.view.show();});K.oo('method',"e_displayMenuClicked",function(selector,jq){if(selector=='display > expandCell'){this.controller.toggleExpendCell(jq);}});K.oo('method',"e_pasteValues",function(){this.view.hide();});K.oo('method',"e_cellRefreshed",function(absRowIdx,colIdx){this.controller.cellRefreshed(absRowIdx,colIdx);});})(Grid0.ExpandedCellEvents,Grid0);Grid0.ExpandedCellView.oo('setHTMLCache',{"main":function(){return"<div class='content'><span><\/span><div><\/div><\/div>"}});JS2.OO.createClass("Grid0.CellClipboard");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){this.initHTML();});K.oo('method',"e_highlightCell",function(context){var self=this;this.context=context;setTimeout(function(){self.populateTextarea();},10);});K.oo('method',"initHTML",function(){this.buildHiddenTextarea();this.registerEvents();});K.oo('method',"buildHiddenTextarea",function(){this.jqTextarea=$('<textarea id="clipboardTextarea"></textarea>');this.jqGrid.append(this.jqTextarea);this.jqTextarea.css({width:0,height:0,position:'absolute',left:'-1000px'});});K.oo('method',"registerEvents",function(){var self=this;this.jqTextarea.keydown(function(e){self.keyHandler(e);});});K.oo('method',"keyHandler",function(e){if(!e.ctrlKey)return;var self=this;if(e.keyCode==86){setTimeout(function(){self.paste();},100);}});K.oo('method',"populateTextarea",function(){var values=this.getCurrentValues();var text=values.join('\t');this.jqTextarea.val(text);this.jqTextarea[0].select();});K.oo('method',"getCurrentValues",function(){var values=[];if(!this.context)return values;var col=this.context.col;var absRowIdx=this.context.absRowIdx;if(col.isPrimary){var pkColIds=this.data.datasetPkColIds(this.context.colIdx);var columns=this.data.columns();for(var i=0,length=pkColIds.length;i<length;i++){var colIdx=pkColIds[i];var datatype=columns[colIdx].datatype;var value=this.getValue(colIdx,absRowIdx,datatype);values.push(value);}}else{var value=this.getValue(col.colIdx,absRowIdx,col.datatype);values.push(value);}
return values;});K.oo('method',"getValue",function(colIdx,absRowIdx,datatype){var value=this.data.getCell(colIdx,absRowIdx).val;if(datatype=='Date')value=sci.common.getDisplay(datatype,value);return value;});K.oo('method',"paste",function(){if(!this.context)return;var col=this.context.col;if(!(col.field.isVotable&&col.editable()))return;var values=this.jqTextarea.val().split("\t");this.notify('pasteValues',this.context,values);});})(Grid0.CellClipboard,Grid0);JS2.OO.createClass("Grid0.FactExplorerController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"explorerPayload explorerHelper cellForm");K.oo('method',"initHTML",function(){this.view.initHTML();var adapter=new GridExplorerAdapter(this);this.view.addEventAdapter(adapter);this.registerEvents();});K.oo('method',"registerEvents",function(){var self=this;var view=this.view;view.jqUserSource.changable();view.jqUserComment.changable();view.jqSubmit.click(function(){self.castVote();});view.jqCancel.click(function(){self.cancel();});view.jqCorrectLink.click(function(){view.correctLink();});view.jqUpdateDiv.first('a').click(function(){view.updateLink();});view.jqSeeFullHistory.first('a').click(function(){view.showFullHistory();});view.jqCounted.change(function(){view.toggleCountedHistory();});view.jqBackToHistory.click(function(){view.backToHistory();});view.jqForm.submit(function(){self.castVote();});view.jqUserComment.ctrlEnterKey(function(){self.castVote();});});K.oo('method',"castVote",function(){if(this.view.jqSubmit.is('.disabled'))return;if(this.auth.requireLogin(this))return;var hash=this.view.getFormHash();this.data.vote(this.context.colIdx,this.context.absRowIdx,hash);this.close();});K.oo('method',"cancel",function(){this.view.resetForm();this.view.toggleFactInput();});K.oo('method',"loadFact",function(fact){this.view.loadFact(fact);});K.oo('method',"open",function(context,options){if(this.data.isEmptyCell(context)){if(this.view.isOpen())this.close();return;}
this.setContext(context);if(!this.explorerHelper.openable('fact')){if(this.view.isOpen())this.close();return;}
this.explorerPayload.loadFact(context.colIdx,context.absRowIdx);this.view.open(options);});K.oo('method',"setContext",function(context){this.context=context;this.view.context=context;this.view.populateValueControl();});K.oo('method',"getConsensus",function(){var col=this.context.col;var colIdx=this.context.colIdx;var absRowIdx=this.context.absRowIdx;return this.data.getCell(colIdx,absRowIdx);});K.oo('method',"giveNewFact",function(context){if(this.needStop(context))return;this.open(context,{'noFocusLink':true});this.view.focusValueControl();});K.oo('method',"needStop",function(context){var col=context.col;var field=col.field;var isVotable=field.isVotable&&col.editable();if(this.view.isOpen()||!field.isExplorable||col.isPrimary||this.cellForm.isOpen()||!isVotable){return true;}else{return false;}});K.oo('method',"close",function(){this.view.hide();});K.oo('method',"getUserValues",function(){return this.view.userValue.value;});K.oo('method',"pasteValues",function(context,values){if(this.needStop(context))return;this.giveNewFact(context);this.view.populateInput(values,true);});K.oo('method',"loadHistory",function(counted){this.explorerPayload.loadHistory(this.context.colIdx,this.context.absRowIdx,counted);});})(Grid0.FactExplorerController,Grid0);JS2.OO.createClass("Grid0.FactExplorerView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth bodyEventHandler explorerHelper jsapiPreview');K.oo('member','TAB_HEIGHT_OFFSET',100);K.oo('member','dialogName','factExplorer');K.oo('member','consensusColorDesc',['not enough votes','very contentious','somewhat contentious','neutral','likely factual','fact']);K.oo('member','ROLLUP_VALUE_COLIDX',0);K.oo('member','HISTORY_VALUE_COLIDX',1);K.oo('method',"addEventAdapter",function(adapter){this.rollup.addEventAdapter(adapter);this.history.addEventAdapter(adapter);});K.oo('method',"initHTML",function(){var self=this;this.initDialog();this.initTab();this.initRollup();this.initHistory();this.initJqObjects();this.resizeDialog();});K.oo('method',"initDialog",function(){var self=this;var dialogOptions={width:550,minWidth:400,minHeight:350,height:450,autoOpen:false,resizable:'se',close:function(){self.closed();},resizeStart:function(){self.hidePointer();},resizeStop:function(){self.resizeDialog();self.point();},dragStart:function(){self.hidePointer();},dragStop:function(){self.point();}}
this.jq=this.util.buildDialog(this.dialogName,this.htmlCache.main(),dialogOptions);var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"dialog",this.jq,null);this.jqUiDialog=this.jq.parents('.ui-dialog:first');this.dialogClose=this.jqUiDialog.first('.ui-dialog-titlebar-close');this.jqUiDialog.mousedown(function(){self.point();});});K.oo('method',"initTab",function(){var self=this;this.jq.find('.tabs>ul a').each(function(){this.href=this.href.replace(/^(.*)(#.+)$/,'$2');});this.tabs=this.jq.find('.tabs').tabs();this.util.styleTab(this.tabs);this.jqTabs=this.tabs.find('ul:first li');this.jqFactHistoryTab=this.jqTabs.eq(1).first('a');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"history tab",this.jqFactHistoryTab,null);this.jqFactHistoryTab.click(function(){self.inputControl.focus();});this.jqDeveloperTab=this.jq.find('#fact-tab-developer');});K.oo('method',"initRollup",function(){this.rollupOptions={seed:this.jq.find('.factRollup:first'),width:'100%',height:200,noAbuse:true,name:'FactRollUp',parent:this};this.rollup=APP(GridExplorerAppBase,this.rollupOptions);this.rollup.start();this.rollup.setColumns([{name:'User Input',datatype:'String',width:270,columnType:'voteValue'},{name:'Concurring Users',datatype:'Integer',width:200,columnType:'voteCount'}]);});K.oo('method',"initHistory",function(){this.jqFactHistory=this.jq.first('.factHistory');this.historyOptions={seed:this.jqFactHistory,width:'100%',height:200,name:'FactHistory',parent:this};this.history=APP(GridExplorerAppBase,this.historyOptions);this.history.start();this.defaultHistoryColumns=[{name:'Submitted By',datatype:'String',width:115,columnType:'voterLink'},{name:'Input',datatype:'String',width:115,columnType:'voteValue'},{name:'Raw Input',datatype:'String',width:115,columnType:'rawValue'},{name:'Date & Time',datatype:'String',width:115,columnType:'voteDate'},{name:'Citation',datatype:'String',width:195,columnType:'voteSource'},{name:'Comments',datatype:'String',width:150,columnType:'voteComment'}];this.history.setColumns(this.defaultHistoryColumns);this.jqFactComment=this.jq.first('.factComment');});K.oo('method',"point",function(){if(!this.jqUiDialog)this.initDialog();var zIndex=parseInt(this.jqUiDialog.css('z-index'));this.explorerHelper.point(this,zIndex+1);});K.oo('method',"hidePointer",function(){this.explorerHelper.hidePointer(this);});K.oo('method',"initJqObjects",function(){var self=this;this.jqFactSummary=this.jq.first('.factSummary');this.jqFactConsensus=this.jqFactSummary.first('.factConsensus');this.jqUserFactInput=this.jqFactSummary.first('.userFactInput');this.jqFactInput=this.jqFactSummary.first('.factInput');this.jqColNames=this.jq.find('.colName');this.jqFactSpan=this.jqFactConsensus.first('span');this.jqConsensusRow=this.jqFactConsensus.first('.consensus-row');this.jqConfidence=this.jqFactConsensus.first('.confidence');this.jqAggregationLabel=this.jqFactConsensus.first('.aggregationLabel');this.jqUserSpan=this.jqUserFactInput.first('span');this.jqCorrectDiv=this.jqFactConsensus.first('.correct');this.jqCorrectLink=this.jqCorrectDiv.first('a');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"correct this",this.jqCorrectLink,null);this.jqUpdateDiv=this.jqUserFactInput.first('.update');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"update this",this.jqUpdateDiv,null);this.jqInfo=this.jq.first('.infobox');this.jqInfoJoin=this.jqInfo.first('.join');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"join_warning",this.jqInfoJoin,null);this.jqInfoJoinLink=this.jqInfoJoin.first('a');this.jqInfoNormal=this.jqInfo.first('.normal');this.jqSeeFullHistory=this.jq.first('.seeFullHistory');this.jqCounted=this.jq.first('.counted>input');this.jqBackToHistory=this.jq.first('.backToHistory');this.jqVoteInput=this.jqFactInput.first('.voteInput');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Vote Input",this.jqVoteInput,".textField");this.inputControl=new Sci.FactInputControl(this.jqVoteInput);this.inputControl.setValidateCallback(function(isValid){self.setSubmitable(isValid);});this.jqFactInputHeader=this.jqFactInput.first('h3');this.jqForm=this.jqFactInput.first('form');this.jqUserSource=this.jqFactInput.first('.source>input');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Source",this.jqUserSource,null);this.jqUserComment=this.jqFactInput.first('.comment>textarea');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Comment",this.jqUserComment,null);this.jqSubmit=this.jq.find('.buttons .submit');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"submit",this.jqSubmit,null);this.jqCancel=this.jq.find('.buttons .cancel');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"cancel",this.jqCancel,null);this.jqLoginMessage=this.jq.find('.loginMessage');this.jqDataMessage=this.jq.find('.dataMessage');this.jqTabs.eq(2).first('a').click(function(){self.jsapiPreview.loadKeys();});});K.oo('method',"resizeDialog",function(e,ui){var height=this.jq.height()-this.jqFactSummary.height()-this.TAB_HEIGHT_OFFSET;if(this.jqInfo.is(":visible"))height-=this.jqInfo.height();if(height<80)return;this.rollup.setHeight(height);this.history.setHeight(height);this.jqFactComment.height(height);});K.oo('method',"isOpen",function(){if(!this.jq)return false;return this.jq.dialog('isOpen');});K.oo('method',"setVotable",function(){var col=this.context.col;var field=col.field;this.isVotable=field.isVotable&&col.editable();this.rollup.setReadonly(this.isVotable);this.history.setReadonly(this.isVotable);if(this.isVotable){this.jqCorrectDiv.show();this.jqUpdateDiv.show();this.jqInfo.hide();}else{this.jqCorrectDiv.hide();this.jqUpdateDiv.hide();this.populateInfobox();this.jqInfo.show();}});K.oo('method',"populateInfobox",function(){var col=this.context.col;var isJoinField=!this.data.isLeftCol(col.colIdx);if(isJoinField){var dataset=this.schema.getDatasetInfo(col.datasetId);var href='/t/'+dataset.urlName;this.jqInfoJoinLink.attr('href',href);this.jqInfoJoinLink.attr('title',dataset.name);this.jqInfoJoinLink.html(dataset.name);this.jqInfoJoin.show();this.jqInfoNormal.hide();}else{this.jqInfoJoin.hide();this.jqInfoNormal.show();}});K.oo('method',"setAggregationLabel",function(context){var aggMeth=this.context.col.aggregation;this.jqAggregationLabel.html(this.htmlCache["aggregationLabel_"+aggMeth.replace(/\W/g,'')]());});K.oo('method',"open",function(options){this.resetExplorer();this.setAggregationLabel();this.rollup.setColumnDatatype(this.ROLLUP_VALUE_COLIDX,this.context.col.datatype);this.history.setColumnDatatype(this.HISTORY_VALUE_COLIDX,this.context.col.datatype);this.setVotable();this.populateTitle();if(this.auth.isAdmin()||this.auth.isDev()){this.jsapiPreview.appendTo(this.jqDeveloperTab);this.jsapiPreview.populatePreviewCode(this.previewCode());this.jsapiPreview.registerCloseHook((function(self){return function(){self.hide();}})(this));this.showTab(2);}else{this.hideTab(2);}
var isOpen=this.isOpen();this.jq.dialog('open');this.selectTabByAggregation();this.populateConsensus(this.controller.getConsensus());if(!isOpen)this.explorerHelper.setDialogPosition(this.jq);this.resizeDialog();this.point();this.explorerHelper.toggleUnderlyingTableColumn(this.history,this.defaultHistoryColumns);this.handleFastInput(options&&options.noFocusLink);});K.oo('method',"handleFastInput",function(fast){if(fast){this.toggleFactInput('Add Fact');this.inputControl.focus();}else{this.jqFactConsensus.show();this.eleFocus();}});K.oo('method',"clearGridData",function(){this.rollup.clear();this.history.clear();});K.oo('method',"selectTabByAggregation",function(){var agg=this.context.col.aggregation;if(agg=='mean'){this.hideTab(0);this.selectTab(1);}else if(agg=='wiki'){this.hideTab(0);this.selectTab(1);}else{this.showTab(0);this.selectTab(0);}});K.oo('method',"populateTitle",function(){var factTitle='<strong>'+
DISPLAY.html(this.context.col.name)+'</strong> for Subject: ';var html=this.explorerHelper.getExplorerTitle(factTitle);this.jq.dialog('option','title',html);});K.oo('method',"previewCode",function(){var col=this.context.col;return this.htmlCache.previewCode({tableId:col.datasetKey,subjectKey:this.data.getHash(this.context.absRowIdx),fieldId:col.id});});K.oo('method',"populateConsensus",function(consValue){var value=consValue.val;var userValue=consValue.userVal;var datatype=this.context.col.datatype;var fieldNameFull=this.context.col.name.toString();var fieldName=DISPLAY.html(this.context.col.name,18)+':';var factFull=sci.common.getDisplay(datatype,value);var fact=datatype=='String'?DISPLAY.link(value,30):factFull;this.jqColNames.attr('title',fieldNameFull);this.jqColNames.html(fieldName);this.jqFactSpan.attr('title',factFull);this.jqFactSpan.html(fact);if(this.auth.isAdmin()){var numVotes=consValue.numVotes;var consensus=consValue.consensus;var colorNum=this.getColorNum(numVotes,consensus);this.jqConfidence.html(colorNum);}
else
{this.jqConsensusRow.hide();}
this.jqFactConsensus.show();});K.oo('method',"focusValueControl",function(){this.inputControl.focus();});K.oo('method',"populateValueControl",function(){var field=this.context.col.field;var params={datatype:field.datatype,isEnumerated:field.isEnumerated,enumerationList:field.enumerationList}
this.inputControl.populate(params);});K.oo('method',"populateRollup",function(rollup){var rows=[];for(var i=0,list;list=rollup.list[i];i++){rows.push([list[0],list[1]]);}
this.rollup.setRows(rows);this.rollup.sort(1,true);});K.oo('method',"populateUserValue",function(userValue){this.userValue=userValue;var value=userValue.value[0];var source=userValue.source;var comment=userValue.comment;var datatype=this.context.col.datatype;var htmlValFull=DISPLAY.datatype(datatype,value);var htmlVal=datatype=='String'?DISPLAY.link(value,30):htmlValFull;this.jqUserSpan.attr('title',htmlValFull);this.jqUserSpan.html(htmlVal);if(userValue.value.length>0){this.jqUserFactInput.show();this.userVoted=true;}});K.oo('method',"getColorNum",function(numVotes,consensus){return(!numVotes||numVotes<2)?0:Math.round(consensus*5);});K.oo('method',"hide",function(){if(this.isOpen())this.jq.dialog('close');});K.oo('method',"closed",function(){this.hidePointer();this.inputControl.clear();this.dialogClose.removeClass('ui-state-focus');});K.oo('method',"eleFocus",function(){var self=this;this.jqCorrectLink.blur();setTimeout(function(){self.jqCorrectLink.focus();},500);});K.oo('method',"gridValueSelected",function(params){this.toggleFactInput(params.messageType);if(params.messageType=='agree')this.fromAgree=true;this.populateInput(params.vals);this.fromAgree=false;});K.oo('method',"populateInput",function(vals,withoutDatatype){if(vals.length==0)return;var value=vals[0];if((value instanceof Array)&&this.context.col.field.isEnumerated&&!this.fromAgree)value=null;if(withoutDatatype){this.inputControl.setValueWithoutDatatype(value);}else{this.inputControl.setValue(value);}
this.inputControl.focus();});K.oo('method',"populateHistory",function(rows){this.historyRows=rows;if(this.filterHistoryVals.length){this.filterHistory(this.filterHistoryVals);}else{this.showFullHistory();}});K.oo('method',"showFullHistory",function(){var rows=this.historyRows;this.history.setRows(this.parseHistory(rows));this.sortHistoryByAggregation();this.jqSeeFullHistory.hide();this.filterHistoryVals=[];});K.oo('method',"filterHistory",function(vals){this.filterHistoryVals=vals;var rows=[];for(var i=0,r;r=this.historyRows[i++];){for(var j=0,len=r.value.length;j<len;j++){if(r.value[j]!=vals[j])break;if(j==len-1)rows.push(r);}}
this.history.setRows(this.parseHistory(rows));this.sortHistoryByAggregation();this.jqSeeFullHistory.show();});K.oo('method',"parseHistory",function(rows){var histories=[];for(var i=0,r;r=rows[i];i++){var h=[];h.push([r.voterId,r.voterName]);for(var it60=0,v,it60__arr=r.value,it60__len=it60__arr.length;(v=it60__arr[it60])||it60<it60__len;it60++){h.push(v);}
for(var it61=0,rv,it61__arr=r.rawValue,it61__len=it61__arr.length;(rv=it61__arr[it61])||it61<it61__len;it61++){h.push(rv);}
h.push(r.submitted);h.push(r.source);h.push(r.comment);h.push(this.explorerHelper.buildDatasetLink(r.sourceDataset));h.unCounted=!r.counted;histories.push(h);}
return histories;});K.oo('method',"toggleCountedHistory",function(){this.showUnCountedHistory=this.jqCounted.attr('checked');this.history.clear();this.controller.loadHistory(!this.showUnCountedHistory);});K.oo('method',"sortHistoryByAggregation",function(){var agg=this.context.col.aggregation;if(agg=='mean'){this.history.sort(1,false);}else if(agg=='wiki'){this.history.sort(2,true);}else{this.history.sort(2,true);}});K.oo('method',"resetForm",function(){this.jqUserSource.val('');this.jqUserComment.val('');this.inputControl.clear();this.inputControl.focus();});K.oo('method',"resetExplorer",function(){this.jqFactInput.hide();this.jqFactConsensus.hide();this.jqUserFactInput.hide();this.backToHistory();this.userVoted=false;this.clearGridData();this.showUnCountedHistory=false;this.jqCounted.attr('checked',false);this.filterHistoryVals=[];this.resetForm();});K.oo('method',"getFormHash",function(){var hash={value:this.inputControl.getValue(),source:this.jqUserSource.val(),comments:this.jqUserComment.val(),confidence:1,weight:1};return hash;});K.oo('method',"selectTab",function(idx){this.tabs.tabs('select',idx);});K.oo('method',"hideTab",function(idx){this.jqTabs.eq(idx).hide();});K.oo('method',"showTab",function(idx){this.jqTabs.eq(idx).show();});K.oo('method',"loadFact",function(fact){this.populateRollup(fact.rollup);this.populateUserValue(fact.lastVote);this.populateHistory(fact.history.votes);this.resizeDialog();});K.oo('method',"correctLink",function(){this.toggleFactInput('Submit a correction');this.populateInput([this.controller.getConsensus().val]);this.inputControl.focus();});K.oo('method',"updateLink",function(){this.toggleFactInput('Update my latest input');this.populateInput(this.userValue.value);this.jqUserSource.val(this.userValue.source);this.jqUserComment.val(this.userValue.comment);this.inputControl.focus();});K.oo('method',"toggleFactInput",function(type){var tds=this.jqFactInput.find('table:first .value');if(type){this.jqFactInputHeader.html(type)
this.jqFactInput.show();this.jqFactConsensus.hide();this.jqUserFactInput.hide();tds.css({width:'auto'});this.auth.checkLogin(this.jqLoginMessage);this.notify('checkReferenceState',this.context.col.datasetId,this.jqDataMessage);}else{this.jqFactInput.hide();this.jqFactConsensus.show();tds.removeAttr('style');if(this.userVoted){this.jqUserFactInput.show();}}
this.resizeDialog();});K.oo('method',"showFullComment",function(value){this.jqFactComment.html(DISPLAY.html(value));this.jqFactComment.show();this.jqBackToHistory.show();this.jqCounted.parent().hide();this.jqFactHistory.hide();});K.oo('method',"backToHistory",function(){this.jqFactComment.hide();this.jqBackToHistory.hide();this.jqCounted.parent().show();this.jqFactHistory.show();});K.oo('method',"setSubmitable",function(submitable){var jqSubmit=this.jqSubmit;submitable?jqSubmit.removeClass('disabled'):jqSubmit.addClass('disabled');});})(Grid0.FactExplorerView,Grid0);JS2.OO.createClass("Grid0.FactExplorerEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){var self=this;setTimeout(function(){self.controller.initHTML();},800);});K.oo('method',"e_factLoaded",function(fact){this.controller.loadFact(fact);});K.oo('method',"e_historyLoaded",function(history){if(!this.view.isOpen())return;this.view.populateHistory(history.votes);});K.oo('method',"e_dblClkCell",function(context){this.controller.open(context);});K.oo('method',"e_changeRow",function(context){this.view.point();});K.oo('method',"e_hScroll",function(){this.view.point();});K.oo('method',"e_resizing",function(){this.view.point();});K.oo('method',"e_hideExplorers",function(){this.view.hide();});K.oo('method',"e_dataLoaded",function(){this.view.hide();});K.oo('method',"e_mainTabSwitched",function(){this.view.hide();});K.oo('method',"e_showCellInput",function(context){this.controller.giveNewFact(context);});K.oo('method',"e_pasteValues",function(context,values){this.controller.pasteValues(context,values);});K.oo('method',"e_viewModified",function(){this.view.hide();});})(Grid0.FactExplorerEvents,Grid0);Grid0.FactExplorerView.oo('setHTMLCache',{"confidence":function(){return"<div class='"+arguments[0]+" consensusIcon'><\/div><div class='consensusDesc'>"+arguments[1]+"<\/div>"},"previewCode":function(options){return"<div class='factual-vis' factual='tableId: "+options.tableId+"'><span factual='marker:row;subjectKey:"+options.subjectKey+"'><span factual='explorer:fact $fieldId"+options.fieldId+"'>$fieldId"+options.fieldId+"<\/span><\/span><\/div>"},"aggregationLabel_topvalues":function(){return"Common values submitted"},"main":function(){return"<div class='factExplorer explorer'><div class='factSummary'><div class='factInput hidden'><h3><\/h3><form action='javascript:void(0)'><table><tr><td class='key'><label class='colName'><\/label><\/td><td class='value'><div class='voteInput'><\/div><\/td><td class='buttons' width='125'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Submit      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/td><\/tr><\/table><div class='jqMessage'><div class='loginMessage'><\/div><div class='dataMessage'><\/div><\/div><div class='voteOptionalInputs voteInput'><fieldset><legend>Optional Support for Your Input<\/legend><div class='row'><div class='label'><label>cite a source:<\/label><\/div><div class='input source'><input class='textField ' onblur='s.blur(this)' onfocus='s.focus(this)' type='text' \/><\/div><\/div><div class='row'><div class='label'><label>add a comment:<\/label><\/div><div class='input comment'><textarea class='textArea ' onblur='s.blur(this)' onfocus='s.focus(this)' type='text'><\/textarea><\/div><\/div><\/fieldset><\/div><input class='hidden' type='submit' \/><\/form><\/div><div class='factConsensus'><h3 class='aggregationLabel'><\/h3><table><tr><td class='key'><label class='colName'><\/label><\/td><td class='value'><span><\/span><span class='correct'>(<a href='javascript:void(0);'>correct this<\/a>)<\/span><\/td><\/tr><tr class='consensus-row'><td class='key'><label title='confidence:'>Confidence:<\/label><\/td><td class='value confidence'><\/td><\/tr><\/table><\/div><div class='userFactInput'><h3>Your Latest Input<\/h3><table><tr><td class='key'><label class='colName'><\/label><\/td><td class='value'><span><\/span><span class='update'>(<a href='javascript:void(0);'>update this<\/a>)<\/span><\/td><\/tr><\/table><\/div><\/div><div class='infobox hidden'><div class='join'>This data does not allow input because it comes from another factual table:<a><\/a><\/div><div class='normal'>The owner of this table does not allow this content to be edited.<\/div><\/div><div class='clear'><\/div><div class='tabs'><ul><li><a href='#fact-tab-rollUp'>Fact Roll-Up<\/a><\/li><li><a href='#fact-tab-history'>Fact History<\/a><\/li><li><a href='#fact-tab-developer'>Developer<\/a><\/li><\/ul><div id='fact-tab-rollUp'><div class='factRollup'><\/div><\/div><div id='fact-tab-history'><div class='factHistory'><\/div><div class='factComment hidden'><\/div><div class='seeFullHistory hidden'><a href='javascript:void(0);'>click here to see full fact history<\/a><\/div><div class='counted'><input type='checkbox' \/>Show inputs that&nbsp;<strike>no longer count<\/strike><\/div><div class='backToHistory hidden'><a href='javascript:void(0);'>back to history<\/a><\/div><\/div><div id='fact-tab-developer'><\/div><\/div><\/div>"},"aggregationLabel_wiki":function(){return"Last value submitted"},"aggregationLabel_mode":function(){return"Most common value submitted"},"aggregationLabel_mean":function(){return"Average value"},"keyValuePair":function(){return"<tr><td class='key'><label title='"+arguments[0]+"'>"+arguments[1]+"<\/label><\/td><td class='value'>"+arguments[2]+"<\/td><\/tr>"}});JS2.OO.createClass("Grid0.SubjectExplorerController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"explorerPayload explorerHelper");K.oo('method',"initHTML",function(){this.view.initHTML();var adapter=new GridExplorerAdapter(this);this.view.addEventAdapter(adapter);this.registerEvents();});K.oo('method',"registerEvents",function(){var self=this;var view=this.view;view.jqYourSource.changable();view.jqYourComment.changable();view.jqSubmit.click(function(){self.suggestAlternative();});view.jqReset.click(function(){view.resetForm();});view.jqSuggestLink.click(function(){view.suggestLink();});view.jqGarbageLink.click(function(){view.garbageLink();});view.jqGarbageInfo.first('a').click(function(){view.showGarbageHistory();});view.jqSeeFullHistory.first('a').click(function(){view.showFullHistory();});view.jqCounted.change(function(){view.toggleCountedHistory();});view.jqBackToHistory.click(function(){view.backToHistory();});view.jqAllInputs.click(function(){view.jqRadios.eq(0).select();});view.jqForm.submit(function(){self.suggestAlternative();});view.jqYourComment.ctrlEnterKey(function(){self.suggestAlternative();});});K.oo('method',"discuss",function(){var firstValues=this.getFirstValues().join(', ');this.notify('switchPane',{firstValues:firstValues,pane:'newThread'});this.close();});K.oo('method',"suggestAlternative",function(){if(this.view.jqSubmit.is('.disabled'))return;if(this.auth.requireLogin(this))return;var hash=this.view.getFormHash();this.data.suggestAlternative(this.context.absRowIdx,hash);this.close();});K.oo('method',"loadSubject",function(subject){this.view.loadSubject(subject);});K.oo('method',"open",function(context,params){this.setContext(context);if(!context.col.field.isExplorable||!context.col.isPrimary){if(this.view.isOpen())this.close();return;}
this.explorerPayload.loadSubject(context.colIdx,context.absRowIdx);this.view.open(params);});K.oo('method',"giveNewSubject",function(context){if(this.needStop(context))return;this.open(context,{'noFocusSuggestLink':true});this.view.switchTab(2);this.view.focusSubjectValueControl();this.view.donotPopulateLastVote=true;});K.oo('method',"setContext",function(context){this.context=context;this.view.context=context;});K.oo('method',"close",function(){this.view.hide();});K.oo('method',"getUserValues",function(){return this.view.userValues;});K.oo('method',"getFirstValues",function(){return this.firstValues;});K.oo('method',"pasteValues",function(context,values){if(this.needStop(context))return;this.giveNewSubject(context);this.view.populateInput(values,true);});K.oo('method',"needStop",function(context){var col=context.col;var field=col.field;var isVotable=field.isVotable&&col.editable();if(this.view.isOpen()||!field.isExplorable||!col.isPrimary||!isVotable){return true;}else{return false;}});K.oo('method',"loadHistory",function(counted){this.explorerPayload.loadHistory(this.context.colIdx,this.context.absRowIdx,counted);});})(Grid0.SubjectExplorerController,Grid0);JS2.OO.createClass("Grid0.SubjectExplorerView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth bodyEventHandler explorerHelper jsapiPreview');K.oo('member','TAB_HEIGHT_OFFSET',110);K.oo('member','dialogName','subjectExplorer');K.oo('method',"addEventAdapter",function(adapter){this.rollup.addEventAdapter(adapter);this.history.addEventAdapter(adapter);});K.oo('method',"initHTML",function(){var self=this;this.initDialog();this.initTab();this.initRollup();this.initHistory();this.initJqObjects();});K.oo('method',"initDialog",function(){var self=this;var dHeight=$.browser.msie?530:525;var dialogOptions={width:580,minWidth:500,height:dHeight,minHeight:dHeight,autoOpen:false,resizable:'se',open:function(){self.opened();},close:function(){self.closed();},resizeStart:function(){self.hidePointer();},resizeStop:function(){self.resizeDialog();self.point();},dragStart:function(){self.hidePointer();},dragStop:function(){self.point();}};this.jq=this.util.buildDialog(this.dialogName,this.htmlCache.main(),dialogOptions);this.jqUiDialog=this.jq.parents('.ui-dialog:first');this.dialogClose=this.jqUiDialog.first('.ui-dialog-titlebar-close');this.jqUiDialog.mousedown(function(){self.point();});});K.oo('method',"initTab",function(){var self=this;this.jq.find('>.tabs>ul a').each(function(){this.href=this.href.replace(/^(.*)(#.+)$/,'$2');});this.tabs=this.jq.find('.tabs').tabs();this.util.styleTab(this.tabs);this.jqTabs=this.tabs.find('ul:first li');this.jqTabs.eq(2).first('a').click(function(){self.auth.checkLogin(self.jqLoginMessage);self.subjectValueControl.focus();});this.jqDeveloperTab=this.jq.find('#subj-tab-developer');this.jqTabs.eq(3).first('a').click(function(){self.jsapiPreview.loadKeys();});});K.oo('method',"initJqObjects",function(){this.jqFirstVote=this.jq.first('.firstVote');this.jqFirstVoter=this.jqFirstVote.first('.value');this.jqFirstSourceTr=this.jqFirstVote.first('.firstSource');this.jqFirstSource=this.jqFirstSourceTr.first('.source');this.jqFirstCommentTr=this.jqFirstVote.first('.firstComment');this.jqFirstComment=this.jqFirstCommentTr.first('.comment');this.jqShortcuts=this.jq.first('.shortcuts');var jqShortcutLinks=this.jqShortcuts.find('a');this.jqSuggestLink=jqShortcutLinks.eq(0);this.jqGarbageLink=jqShortcutLinks.eq(1);this.jqInfo=this.jq.first('.infobox');this.jqInfoJoin=this.jqInfo.first('.join');this.jqInfoJoinLink=this.jqInfoJoin.first('a');this.jqInfoNormal=this.jqInfo.first('.normal');this.jqGarbageInfo=this.jq.first('.garbageInfo');this.jqGarbageNum=this.jqGarbageInfo.first('span');this.jqSeeFullHistory=this.jq.first('.seeFullHistory');this.jqCounted=this.jq.first('.counted>input');this.jqBackToHistory=this.jq.first('.backToHistory');this.jqYourInput=this.jq.first('#subj-tab-input');this.jqForm=this.jqYourInput.first('form');this.jqReqInputs=this.jqYourInput.first('ul');this.jqVoteInputs=this.jqYourInput.first('.voteInput>fieldset');this.jqRadios=this.jqReqInputs.find('input[type=radio]');var jqOptInputs=this.jqYourInput.find('.voteOptInputs');this.jqYourSource=jqOptInputs.find('input');this.jqYourComment=jqOptInputs.find('textarea');this.jqSubmit=this.jqYourInput.find('.buttonField .submit');this.jqReset=this.jqYourInput.find('.buttonField .reset');this.jqAllInputs=this.jqYourInput.find('.voteInputFields');this.jqLoginMessage=this.jqYourInput.find('.loginMessage');this.jqDataMessage=this.jqYourInput.find('.dataMessage');this.jqKeySpan=this.jq.find('span.keySpan');});K.oo('method',"point",function(){if(!this.jqUiDialog)this.initDialog();var zIndex=parseInt(this.jqUiDialog.css('z-index'));this.explorerHelper.point(this,zIndex+1);});K.oo('method',"hidePointer",function(){this.explorerHelper.hidePointer(this);});K.oo('method',"initRollup",function(){this.rollup=APP(GridExplorerAppBase,{seed:this.jq.first('.altRollup'),width:'100%',height:200,noAbuse:true,parent:this});this.rollup.start();});K.oo('method',"initHistory",function(){this.jqSubjectHistory=this.jq.first('.subjectHistory');this.history=APP(GridExplorerAppBase,{seed:this.jqSubjectHistory,width:'100%',height:200,parent:this});this.history.start();this.jqSubjectComment=this.jq.first('.subjectComment');});K.oo('method',"resizeDialog",function(){var height=this.jq.height()-this.TAB_HEIGHT_OFFSET;if(this.jqShortcuts.is(":visible"))height-=this.jqShortcuts.height();if(this.jqInfo.is(":visible"))height-=this.jqInfo.height();if(this.jqFirstVote.is(":visible"))height-=this.jqFirstVote.height();if(height<0)return;this.rollup.setHeight(height);this.history.setHeight(height);this.jqSubjectComment.height(height);});K.oo('method',"isOpen",function(){if(!this.jq)return false;return this.jq.dialog('isOpen');});K.oo('method',"switchTab",function(index){this.tabs.tabs('select',index);});K.oo('method',"focusSubjectValueControl",function(){this.subjectValueControl.focus();});K.oo('method',"setVotable",function(){var col=this.context.col;var field=col.field;var votable=field.isVotable&&col.editable();this.rollup.setReadonly(votable);this.history.setReadonly(votable);if(votable){this.showTab(2);this.jqShortcuts.show();this.jqInfo.hide();}else{this.hideTab(2);this.jqShortcuts.hide();this.populateInfobox();this.jqInfo.show();}});K.oo('method',"populateInfobox",function(){var col=this.context.col;var isJoinField=!this.data.isLeftCol(col.colIdx);if(isJoinField){var dataset=this.schema.getDatasetInfo(col.datasetId);var href='/t/'+dataset.urlName;this.jqInfoJoinLink.attr('href',href);this.jqInfoJoinLink.attr('title',dataset.name);this.jqInfoJoinLink.html(dataset.name);this.jqInfoJoin.show();this.jqInfoNormal.hide();}else{this.jqInfoJoin.hide();this.jqInfoNormal.show();}});K.oo('method',"setColumns",function(){var datasetId=this.context.col.datasetId;if(this.datasetId!=datasetId){this.datasetColumns=this.datasetColumns||{};if(!this.datasetColumns[datasetId])this.generateDatasetColumns(datasetId);this.rollup.setColumns(this.datasetColumns[datasetId].rollup);this.setVoteInputs(this.datasetColumns[datasetId].voteInput);this.datasetId=datasetId;}
this.explorerHelper.toggleUnderlyingTableColumn(this.history,this.datasetColumns[datasetId].history);});K.oo('method',"generateDatasetColumns",function(dsId){var dataset=this.schema.dataset(dsId);var rollupCols=[];var historyCols=[];var voteInputs=[];historyCols.push({name:'Submitted by',datatype:'String',width:200,columnType:'voterLink'});for(var it66=0,pk,it66__arr=dataset.pks(),it66__len=it66__arr.length;(pk=it66__arr[it66])||it66<it66__len;it66++){rollupCols.push({name:pk.name,datatype:pk.datatype,width:250,columnType:'voteValue'});historyCols.push({name:pk.name,datatype:pk.datatype,width:200,columnType:'voteValue'});voteInputs.push({name:pk.name,datatype:pk.datatype,isEnumerated:pk.field.isEnumerated,enumerationList:pk.field.enumerationList,isNullable:pk.field.isNullable,fieldId:pk.field.id,autogen:false});}
for(var it67=0,pk,it67__arr=dataset.pks(),it67__len=it67__arr.length;(pk=it67__arr[it67])||it67<it67__len;it67++){historyCols.push({name:pk.name+' (Raw Input)',datatype:'String',width:200,columnType:'rawValue'});}
historyCols.push({name:'Date & Time',datatype:'String',width:200,columnType:'voteDate'});historyCols.push({name:'Citation',datatype:'String',width:200,columnType:'voteSource'});historyCols.push({name:'Comments',datatype:'String',width:200,columnType:'voteComment'});this.datasetColumns[dsId]={rollup:rollupCols,history:historyCols,voteInput:voteInputs};});K.oo('method',"setVoteInputs",function(columns){this.subjectValueControl=new Grid0.SubjectValueControl(this.jqVoteInputs,columns);this.subjectValueControl.activeValidate();});K.oo('method',"populateTitle",function(){var html=this.explorerHelper.getExplorerTitle('Subject: ');this.jq.dialog('option','title',html);});K.oo('method',"setRollupColumns",function(){var col=this.context.col;var dataset=this.schema.dataset(col.datasetId);var pks=dataset.pks();var columns=[];for(var i=0,pk;pk=pks[i];i++){var name=DISPLAY.html(pk.name);var datatype=pk.datatype;columns.push({name:name,datatype:datatype,width:200,columnType:'voteValue'});}
this.rollup.setColumns(columns);});K.oo('method',"open",function(params){this.resetExplorer();this.setVotable();this.populateTitle();this.setColumns();if(this.auth.isDev()){this.jsapiPreview.appendTo(this.jqDeveloperTab);this.jsapiPreview.populatePreviewCode(this.previewCode());this.jsapiPreview.registerCloseHook((function(self){return function(){self.hide();}})(this));this.showTab(3);}else{this.hideTab(3)}
var isOpen=this.isOpen();this.jq.dialog('open');this.selectTab(0);if(!isOpen)this.explorerHelper.setDialogPosition(this.jq);this.resizeDialog();this.point();if(!(params&&params.noFocusSuggestLink))this.eleFocus();});K.oo('method',"populateRollup",function(rollup){var lists=rollup.list;var rows=[];var garbageSuggs=0;for(var i=0,list;list=lists[i];i++){if(list.count<0){garbageSuggs=-list.count;continue;}
var row=[];var vals=list.value;for(var j=0,len=vals.length;j<len;j++){row.push(vals[j]);}
row.push(list.count);rows.push(row);}
this.rollup.setRows(rows);this.rollup.sort(0,false);});K.oo('method',"showGarbageInfo",function(){var garbageNum=0;var voter=[];for(var i=0,row;row=this.historyRows[i];i++){if(voter[row.voterId]===undefined&&row.weight==-1){voter[row.voterId]=true;garbageNum++;}}
if(garbageNum===0){this.jqGarbageInfo.hide();}else{this.jqGarbageNum.html(garbageNum);this.jqGarbageInfo.show();}});K.oo('method',"populateFirstVote",function(firstVote){this.controller.firstValues=firstVote.value;var voterId=firstVote.voterId;var voterName=firstVote.voterName;var source=firstVote.source;var comment=firstVote.comment;var htmlVoter="<em>[no voter]</em>";if(voterName){htmlVoter=DISPLAY.html(voterName);htmlVoter=DISPLAY.user(voterId,htmlVoter);}
var htmlSource='';var htmlComment='';if(source===''){this.jqFirstSourceTr.hide();}else{htmlSource=DISPLAY.link(source,50);this.jqFirstSourceTr.show();}
if(comment===''){this.jqFirstCommentTr.hide();}else{htmlComment=DISPLAY.wrap_html(comment);this.jqFirstCommentTr.show();}
this.jqFirstVoter.html(htmlVoter);this.jqFirstSource.html(htmlSource);this.jqFirstComment.html(htmlComment);this.jqFirstVote.show();});K.oo('method',"hide",function(){if(this.isOpen())this.jq.dialog('close');});K.oo('method',"opened",function(){if(this.subjectValueControl){this.subjectValueControl.activeValidate();this.subjectValueControl.setPkDefaultValues(this.schema.getPkDefaultValues());}});K.oo('method',"closed",function(){this.hidePointer();if(this.subjectValueControl){this.subjectValueControl.cancelValidate();}
this.dialogClose.removeClass('ui-state-focus');});K.oo('method',"eleFocus",function(){var self=this;this.jqSuggestLink.focus().blur();setTimeout(function(){self.jqSuggestLink.focus();},500);});K.oo('method',"populateLastVote",function(lastVote){this.userValues=lastVote.value;if(this.donotPopulateLastVote){this.donotPopulateLastVote=false;return;}
if(lastVote.value.length==0)return;var values=lastVote.value;var source=lastVote.source;var comment=lastVote.comment;var garbage=lastVote.weight==-1?true:false;var col=this.context.col;var dataset=this.schema.dataset(col.datasetId);var pks=dataset.pks();if(garbage){this.jqRadios.eq(1).select();}else{this.populateInput(values);}});K.oo('method',"gridValueSelected",function(params){this.selectTab(2);this.populateInput(params.vals);});K.oo('method',"populateInput",function(vals,withoutDatatype){if(vals.length==0)return;if(vals.isGarbage){this.jqRadios.eq(1).select();return;}else{this.jqRadios.eq(0).select();}
if(withoutDatatype){this.subjectValueControl.setValuesWithoutDatatype(vals);}else{this.subjectValueControl.setValues(vals);}
this.subjectValueControl.focus();});K.oo('method',"previewCode",function(){var col=this.context.col;return this.htmlCache.previewCode({tableId:col.datasetKey,subjectKey:this.data.getHash(this.context.absRowIdx),fieldId:col.id});});K.oo('method',"populateHistory",function(rows){this.historyRows=rows;this.showGarbageInfo();this.showFullHistory();});K.oo('method',"showFullHistory",function(){var rows=this.historyRows;this.history.setRows(this.parseHistory(rows));this.history.sort(2,true);this.jqSeeFullHistory.hide();this.onlyGarbageHistory=false;});K.oo('method',"filterGarbageHistory",function(){var rows=[];for(var i=0,r;r=this.historyRows[i++];){if(r.weight==-1){rows.push(r);}}
this.history.setRows(this.parseHistory(rows));this.history.sort(2,true);this.jqSeeFullHistory.show();this.onlyGarbageHistory=true;});K.oo('method',"parseHistory",function(rows){var histories=[];for(var i=0,r;r=rows[i];i++){var h=[];h.push([r.voterId,r.voterName]);for(var it68=0,v,it68__arr=r.value,it68__len=it68__arr.length;(v=it68__arr[it68])||it68<it68__len;it68++){h.push(v);}
for(var it69=0,rv,it69__arr=r.rawValue,it69__len=it69__arr.length;(rv=it69__arr[it69])||it69<it69__len;it69++){h.push(rv);}
if(r.weight==-1){h.isGarbage=true;}
h.push(r.submitted);h.push(r.source);h.push(r.comment);h.push(this.explorerHelper.buildDatasetLink(r.sourceDataset));h.unCounted=!r.counted;histories.push(h);}
return histories;});K.oo('method',"toggleCountedHistory",function(){this.showUnCountedHistory=this.jqCounted.attr('checked');this.history.clear();this.controller.loadHistory(!this.showUnCountedHistory);});K.oo('method',"getFormHash",function(){var pk_hash=this.data.getPkValHash(this.context.absRowIdx);var weight=1;if(this.jqRadios[0].checked){pk_hash=this.subjectValueControl.getValues();}
var pks=this.data.pks();var pk_values=[];for(var it70=0,pk,it70__arr=pks,it70__len=it70__arr.length;(pk=it70__arr[it70])||it70<it70__len;it70++){pk_values.push(pk_hash[pk.id]);}
if(this.jqRadios[1].checked)weight=-1;var hash={value:JSON.stringify(pk_hash),pk_values:pk_values,source:this.jqYourSource.val(),comments:this.jqYourComment.val(),confidence:1,weight:weight};return hash;});K.oo('method',"resetForm",function(){if(this.subjectValueControl)this.subjectValueControl.reset();this.jqRadios[0].checked=true;this.jqYourSource.val('');this.jqYourComment.val('');});K.oo('method',"resetExplorer",function(){this.jqFirstVote.hide();this.clearGridData();this.setCountedInfo(false);this.jqGarbageInfo.hide();this.resetForm();});K.oo('method',"setCountedInfo",function(show){this.showUnCountedHistory=show;this.jqCounted.attr('checked',show);});K.oo('method',"clearGridData",function(){this.rollup.clear();this.history.clear();});K.oo('method',"selectTab",function(idx){this.tabs.tabs('select',idx);if(idx==2){this.auth.checkLogin(this.jqLoginMessage);this.notify('checkReferenceState',this.context.col.datasetId,this.jqDataMessage)}});K.oo('method',"hideTab",function(idx){this.jqTabs.eq(idx).hide();});K.oo('method',"showTab",function(idx){this.jqTabs.eq(idx).show();});K.oo('method',"loadSubject",function(subject){this.populateFirstVote(subject.firstVote);this.populateRollup(subject.alternative);this.populateHistory(subject.history.votes);this.populateLastVote(subject.lastVote);this.resizeDialog();});K.oo('method',"suggestLink",function(){this.selectTab(2);this.jqRadios.eq(0).select();this.subjectValueControl.focus();});K.oo('method',"garbageLink",function(){this.subjectValueControl.reset();this.selectTab(2);this.jqRadios.eq(1).select();this.jqRadios.eq(1).focus();});K.oo('method',"addSource",function(){this.selectTab(2);this.jqYourSource.focus();});K.oo('method',"addComment",function(){this.selectTab(2);this.jqYourComment.focus();});K.oo('method',"showGarbageHistory",function(){this.setCountedInfo(true);this.filterGarbageHistory();this.selectTab(1);});K.oo('method',"showFullComment",function(value){this.jqSubjectComment.html(DISPLAY.html(value));this.jqSubjectComment.show();this.jqBackToHistory.show();this.jqCounted.parent().hide();this.jqSubjectHistory.hide();});K.oo('method',"backToHistory",function(){this.jqSubjectComment.hide();this.jqBackToHistory.hide();this.jqCounted.parent().show();this.jqSubjectHistory.show();});})(Grid0.SubjectExplorerView,Grid0);JS2.OO.createClass("Grid0.SubjectExplorerEvents");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_initHTML",function(){var self=this;setTimeout(function(){self.controller.initHTML();},800);});K.oo('method',"e_subjectLoaded",function(subject){this.controller.loadSubject(subject);});K.oo('method',"e_historyLoaded",function(history){if(!this.view.isOpen())return;this.view.populateHistory(history.votes);});K.oo('method',"e_dblClkCell",function(context){this.controller.open(context);});K.oo('method',"e_changeRow",function(context){this.view.point();});K.oo('method',"e_hScroll",function(){this.view.point();});K.oo('method',"e_resizing",function(){this.view.point();});K.oo('method',"e_hideExplorers",function(){this.view.hide();});K.oo('method',"e_dataLoaded",function(){this.view.hide();});K.oo('method',"e_mainTabSwitched",function(){this.view.hide();});K.oo('method',"e_showCellInput",function(context){this.controller.giveNewSubject(context);});K.oo('method',"e_pasteValues",function(context,values){this.controller.pasteValues(context,values);});K.oo('method',"e_viewModified",function(){this.view.hide();});K.oo('method',"e_markGarbage",function(context){this.controller.giveNewSubject(context);this.view.garbageLink();});})(Grid0.SubjectExplorerEvents,Grid0);Grid0.SubjectExplorerView.oo('setHTMLCache',{"voteInput":function(){return"<div class='row'><div class='label' title='"+arguments[0]+"'><label>"+arguments[1]+"<\/label><\/div><div class='input'><input class=' textField' id='"+arguments[2]+"' onblur='s.blur(this)' onfocus='s.focus(this)' \/><\/div><\/div>"},"previewCode":function(options){return"<div class='factual-vis' factual='tableId: "+options.tableId+"'><span factual='marker:row;subjectKey:"+options.subjectKey+"'><span factual='explorer:subject'>$fieldId"+options.fieldId+"<\/span><\/span><\/div>"},"voteInputRow":function(){return"<div class='row'><div class='label'><label>"+arguments[0]+"<\/label><\/div><div class='input'><input class='textField ' onblur='s.blur(this)' onfocus='s.focus(this)' type='text' \/><\/div><\/div>"},"voteEnumerate":function(){return"<div class='row'><div class='label' title='"+arguments[0]+"'><label>"+arguments[1]+"<\/label><\/div><div class='input'><\/div><\/div>"},"main":function(){return"<div class='subjectExplorer explorer'><div class='firstVote'><table><tr><td class='label'>Row first suggested by:<\/td><td class='value'><\/td><\/tr><tr class='firstSource'><td class='label'>original citation:<\/td><td class='value source'><\/td><\/tr><tr class='firstComment'><td class='label'>original comments:<\/td><td class='value comment'><\/td><\/tr><\/table><\/div><div class='shortcuts'><a href='javascript:void(0);'>suggest a better label for this row<\/a>&nbsp;-&nbsp;<a href='javascript:void(0);'>flag this row as \"garbage\"<\/a><\/div><div class='infobox hidden'><div class='join'>This data does not allow input because it comes from another factual table:<a><\/a><\/div><div class='normal'>The owner of this table does not allow this content to be edited.<\/div><\/div><div class='clear'><\/div><div class='tabs'><ul><li><a href='#subj-tab-labels'>Alternate Labels<\/a><\/li><li><a href='#subj-tab-history'>Subject History<\/a><\/li><li><a href='#subj-tab-input'>Your Input<\/a><\/li><li><a href='#subj-tab-developer'>Developer<\/a><\/li><\/ul><div id='subj-tab-labels'><div class='altRollup'><\/div><div class='garbageInfo hidden'><a href='javascript:void(0);'><span><\/span>&nbsp;users thought this row was \"garbage\"<\/a><\/div><\/div><div id='subj-tab-history'><div class='subjectHistory'><\/div><div class='subjectComment hidden'><\/div><div class='seeFullHistory hidden'><a href='javascript:void(0);'>click here to see full subject history<\/a><\/div><div class='counted'><input type='checkbox' \/>Show inputs that&nbsp;<strike>no longer count<\/strike><\/div><div class='backToHistory hidden'><a href='javascript:void(0);'>back to history<\/a><\/div><\/div><div id='subj-tab-input'><form action='javascript:void(0)'><ul><li><input id='subjectRadio0' name='subjectType' type='radio' \/><label for='subjectRadio0'>I think there is a better label for the subject of this row.<\/label><div class='voteInput voteInputFields'><fieldset><\/fieldset><\/div><\/li><li><input id='subjectRadio1' name='subjectType' type='radio' \/><label for='subjectRadio1'>I think this row is a \"garbage\".<\/label><\/li><li><input checked='checked' id='subjectRadio2' name='subjectType' type='radio' \/><label for='subjectRadio2'>I think subject of this row is fine the way it is.<\/label><\/li><\/ul><div class='voteOptInputs voteInput'><fieldset><legend>Optional Support for Your Input<\/legend><div class='row'><div class='label'><label>cite a source:<\/label><\/div><div class='input source'><input class='textField ' onblur='s.blur(this)' onfocus='s.focus(this)' type='text' \/><\/div><\/div><div class='row'><div class='label'><label>add a comment:<\/label><\/div><div class='input comment'><textarea class='textArea ' onblur='s.blur(this)' onfocus='s.focus(this)' type='text'><\/textarea><\/div><\/div><\/fieldset><\/div><div class='buttonField'><div class='buttons'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Submit      <\/a>    <\/span>  <\/span><\/span><span class='reset fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Reset Form      <\/a>    <\/span>  <\/span><\/span><\/div><\/div><div class='clear'><\/div><div class='message'><div class='loginMessage'><\/div><div class='dataMessage'><\/div><\/div><input class='hidden' type='submit' \/><\/form><\/div><div id='subj-tab-developer'><\/div><\/div><\/div>"},"keyValuePair":function(){return"<tr><td class='key'><label title='"+arguments[0]+"'>"+arguments[1]+"<\/label><\/td><td class='value'>"+arguments[2]+"<\/td><\/tr>"}});JS2.OO.createClass("Grid0.SaveGridState");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','auth gridMenu');K.oo('member','menuName','file > saveGridState');K.oo('member','saveAsMenu','file > saveAs');K.oo('member','OWNER_NAME','file');K.oo('method',"e_fileMenuClicked",function(name,jqObject){if(jqObject.parent().hasClass('disabled'))return;if(name==this.menuName){this.saveGridState();}});K.oo('method',"initialize",function(options){this.options=options;this.openSquare=options.dataset.openSquare;});K.oo('method',"e_initHTML",function(){if(this.openSquare){this.gridMenu.hideMenuItem(this.saveAsMenu);}});K.oo('method',"saveGridState",function(callback){if(this.auth.requireLogin(this))return;this.notify('alert','Saving...');this.data.getTinyUrl((function(self,callback){return function(id){self.gridMenu.disableMenuItem(self.menuName);self.gridMenu.hideSubMenu(self.OWNER_NAME);if(callback)callback();self.notify('alert');}})(this,callback));});K.oo('method',"e_viewModified",function(){this.gridMenu.enableMenuItem(this.menuName);this.gridMenu.enableMenuItem(this.saveAsMenu);});K.oo('method',"e_actionsModified",function(){this.gridMenu.enableMenuItem(this.menuName);this.gridMenu.enableMenuItem(this.saveAsMenu);});K.oo('method',"e_dataLoaded",function(){if(!this.options.isOwner()&&!this.auth.isAdmin()){this.gridMenu.hideMenuItem(this.menuName);if(this.openSquare){this.gridMenu.hideMenuItem(this.saveAsMenu);}}});K.oo('method',"e_saveGridState",function(callback){this.saveGridState(callback);});})(Grid0.SaveGridState,Grid0);JS2.OO.createClass("Grid0.Search");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies',"mainHeader");K.oo('method',"e_initHTML",function(){this.ops=['contains','equal','starts-with','ends-with'];this.initHTML();this.registerEvents();});K.oo('method',"initHTML",function(){this.jq=this.mainHeader.add(this.htmlCache.main());this.jqSearchInput=this.jq.first('.textField');this.jqSearchButton=this.jq.first('.button');this.jqSearchSuggest=this.jq.first('.search-suggest-main');this.jqSuggest=this.jq.first('.suggest');this.jqSuggestList=this.jq.first('ol');this.closeSuggest();});K.oo('method',"registerEvents",function(){this.jqSearchInput.toggleInput();var defaultParams={'field_ids[]':this.schema.pkFieldIds()};var self=this;var self=this;this.jqSearchInput.keyup((function(self){return function(evt){if(evt.keyCode==KEYCODE.ENTER){self.startSearch();}}})(self))
this.jqSearchButton.click(function(){self.startSearch()});this.jqSearchInput.blur(function(){self.jqSearchInput.removeClass('textFieldFocus');});this.jqSearchInput.focus(function(){self.jqSearchInput.addClass('textFieldFocus');});});K.oo('method',"startSearch",function(){this.closeSuggest();var query=$.trim(this.jqSearchInput.val());if(query.length<=0)return;this.search(query);});K.oo('method',"registerSuggest",function(){var self=this;$(document).click(function(evt){var jq=$(evt.target||evt.srcElement).parents('.suggest');if(jq.length>0){self.replaceOp(jq.first('.operatorHover'));}
self.closeSuggest();});var self=this;this.jqSearchInput.keyup(function(evt){var query=$.trim(self.jqSearchInput.val());if(query.length<=0){self.closeSuggest();return;}
evt.preventDefault();switch(evt.keyCode){case KEYCODE.ESC:self.closeSuggest();break;case KEYCODE.ENTER:self.closeSuggest();self.search(query);break;case KEYCODE.DOWN:self.changeSelect(1);break;case KEYCODE.UP:self.changeSelect(-1);break;case KEYCODE.TAB:break;default:break;}});this.jqSearchInput.keydown(function(evt){if(evt.keyCode==KEYCODE.TAB&&self.jqSuggestList.children().size()>0){evt.preventDefault();self.changeSelect(1);}});});K.oo('method',"search",function(query){var operator=null;var val=null;query=$.trim(query);for(var i=0,op;op=this.ops[i];i++){if(query.indexOf(op)==0){operator=op;break;}}
if(operator){val=query.split(operator,2)[1]}else{operator='contains';val=query;}
this.notify('addSearchQuery',{operator:operator,value:$.trim(val)});});K.oo('method',"closeSuggest",function(){this.jqSuggest.hide();});K.oo('method',"highlight",function(query,text){return text.replace(new RegExp("("+query+")","gi"),"<strong>$1</strong>");});K.oo('method',"showSuggest",function(query){this.jqSuggestList.html('');var matches=[];var nonMatches=[];$.each(this.ops,function(){if(this.indexOf(query)==0){matches.push(this);}else{nonMatches.push(this);}});var self=this;$.each(matches,function(){self.jqSuggestList.append(self.htmlCache.operator(this,self.highlight(query,this)));});$.each(nonMatches,function(){self.jqSuggestList.append(self.htmlCache.operator(this,this));});this.jqSuggest.show();});K.oo('method',"changeSelect",function(step){var jqSelected=this.jqSuggestList.first('.operatorHover');if(jqSelected.size()>0){jqSelected.removeClass('operatorHover');var jqOps=this.jqSuggestList.find('.operator');var idx=jqOps.index(jqSelected);idx=(idx+step+jqOps.length)%jqOps.length;jqSelected=jqOps.eq(idx);}else{jqSelected=step>0?this.jqSuggestList.first('.operator'):this.jqSuggestList.find('.operator:last');}
jqSelected.addClass('operatorHover');this.replaceOp(jqSelected);});K.oo('method',"replaceOp",function(jq){var op=jq.attr('val');var match=jq.first('strong').size()>0;var re=new RegExp("("+this.ops.join('|')+")","i");var val=this.jqSearchInput.val();if(match){val=op;}else if(val.search(re)>=0){val=val.replace(re,op);}else{val=op+' '+val;}
this.jqSearchInput.val(val);});K.oo('method',"e_bigData",function(bigData,unlisted){if(bigData&&!unlisted&&!this.auth.isAdmin()){this.jq.hide();}else{this.jq.show();}});})(Grid0.Search,Grid0);Grid0.Search.oo('setHTMLCache',{"operator":function(val,display){return"<li class='operator ' onmouseout='s.out(this)' onmouseover='s.over(this)' val='"+val+"'>"+display+"<\/li>"},"main":function(){return"<div class='searchGrid'><div class='query'><input autocomplete='off' class='textField' value='Search within Table' \/><\/div><div class='search-suggest-main'><\/div><div class='suggest'><ol class='operators'><\/ol><\/div><div class='button hidden'><\/div><\/div>"}});JS2.OO.createClass("Grid0.Authentication");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){sci.auth.addAuthListener(this);});K.oo('method',"userLoggedIn",function(){this.notify('userLoggedIn');});})(Grid0.Authentication,Grid0);JS2.OO.createClass("Sci.MetadataController");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(jqSeed,payloadUrl){this.url=payloadUrl;this.initData();this.view=new Sci.MetadataView(jqSeed,this.data,this.url,this);});K.oo('method',"initData",function(){this.data={};this.data.details=global.metaData.details;this.data.sharing=global.metaData.sharing;this.data.abuse={};$.extend(this.data.sharing,global.datasetInfo);$.extend(this.data.sharing,global.userInfo);});K.oo('method',"e_switchPane",function(params){if(params.pane=='metadata'){this.view.fields.showForm();this.view.fields.editField(params.idx);document.documentElement.scrollTop=document.documentElement.scrollHeight;}});K.oo('method',"e_buildColumns",function(columns){this.view.fields.showFields(columns,this.schema.immutable);});K.oo('method',"e_deleteField",function(fieldId){this.view.fields.deleteField(fieldId);});K.oo('method',"e_userLoggedIn",function(){this.view.userLoggedIn();});})(Sci.MetadataController,Sci);JS2.OO.createClass("Sci.MetadataView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(jqSeed,data,url,p){jqSeed.append(this.htmlCache.main());var sections=jqSeed.find('.section');this.details=new Sci.DetailsView(jqSeed,data.details,url,this.htmlCache,sections,p);this.sharing=new Sci.SharingView(jqSeed,data.sharing,url,this.htmlCache,sections,p);this.fields=new Sci.FieldsView(jqSeed,url,this.htmlCache,sections,p);});K.oo('method',"userLoggedIn",function(){this.details.userLoggedIn();this.sharing.userLoggedIn();this.fields.userLoggedIn();});})(Sci.MetadataView,Sci);JS2.OO.createClass("Sci.MetadataViewBase");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(jqSeed,data,url,htmlCache,sections,p){this.p=p;this.jq=jqSeed.find('.'+this.name);this.jqSections=sections;this.htmlCache=htmlCache;this.url=url;this.isEditable=(sci.common.isOwner()||global.userInfo.isAdmin)?true:false;this.initHTML();this.populate(data);this.registerEvents();});K.oo('method',"initHTML",function(){this.jq.append(this.htmlCache[this.name]());this.jqEdit=this.jq.first('.edit');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Edit Button",this.jqEdit,null);this.jqButtons=this.jq.first('.buttons');this.jqButtons.html(this.htmlCache.buttons());this.jqCancel=this.jqButtons.first('.field>.cancel');this.jqSubmit=this.jqButtons.first('.field>.submit');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Submit Button",this.jqSubmit,null);if(this.isEditable){this.jqEdit.show();}});K.oo('method',"registerEvents",function(){var self=this;this.jqEdit.click(function(){self.showForm();});this.jqCancel.click(function(){self.hideForm();});this.jqSubmit.click(function(){self.submit();});});K.oo('method',"submit",function(){var self=this;var params=this.loadParams();params.onError=function(){self.hideForm();}
var url=this.url+'/'+this.name+'.js';sci.ajax.post(url,params,function(p){self._submit(p);});});K.oo('method',"_submit",function(p){this.populate(p);this.hideForm();});K.oo('method',"showForm",function(){if(this.isEditable){this.jqEdit.hide();this.jqButtons.show();this.hideEdits();}});K.oo('method',"hideForm",function(){if(this.isEditable){this.jqButtons.hide();this.jqEdit.show();this.showEdits();}});K.oo('method',"showEdits",function(){for(var i=0;i<this.jqSections.length;i++){var jqs=$(this.jqSections[i]);if(!jqs.hasClass(this.name)){jqs.find('.edit').show();}}});K.oo('method',"hideEdits",function(){for(var i=0;i<this.jqSections.length;i++){if(!$(this.jqSections[i]).hasClass(this.name)){$(this.jqSections[i]).find('.edit').hide();}}});K.oo('method',"userLoggedIn",function(){this.isEditable=(sci.common.isOwner()||global.userInfo.isAdmin)?true:false;if(this.isEditable){this.jqEdit.show();}});})(Sci.MetadataViewBase,Sci);JS2.OO.createClass("Sci.DetailsView");Sci.DetailsView.oo('extends',Sci.MetadataViewBase);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(jqSeed,data,url,htmlCache,sections,p){this.name='details',_super(this,jqSeed,data,url,htmlCache,sections,p);});K.oo('method',"registerEvents",function(){_super(this);var self=this;this.jq.first('form').submit(function(){self.submit();});this.jqRefSubmit.click(function(){self.storeRevision();});onEnterKey(this.jqRefInput,function(){self.storeRevision();});this.createRefDialog();});K.oo('method',"initHTML",function(){_super(this);this.jqEditSection=this.jq.first('ul');this.jqName=this.jq.first('input[name=name]');this.jqDescription=this.jq.first('textarea[name=description]');this.jqSource=this.jq.find('input[name=source]');this.jqTag=this.jq.find('input[name=tags]');this.jqTagText=this.jqTag.first('.helperText');this.jqRemove=this.jq.first('.remove');this.jqRemoveLink=this.jqRemove.first('.removeLink');this.jqCountdown=this.jqRemove.first('.countdown');this.jqRefSubmit=this.jq.find('li.referenceDate a.refSubmit');this.jqRefInput=this.jq.find('input.refDateInput').hide();this.jqRefValue=this.jq.find('.referenceDate .value');});K.oo('method',"storeRevision",function(){var currentDate=sci.constants.datatypes.Date.displayInTimeWithoutFixDate();var confirmResult=confirm("Are you sure you want to set the reference date to "+currentDate+"?");if(confirmResult!=true)return;var url='/tables/main/'+global.datasetInfo.key+'/store_revision';var self=this;AJAX.post(url,{},function(ret){self.jqRefValue.text(ret[0]);global.datasetInfo.revisions=ret;self.p.notify('revisionsLoaded');});});K.oo('method',"populate",function(data){var id=data.id;var name=sci.common.htmlDisplay(data.name);var empty=this.htmlCache.noneValue();var desc=$.isEmpty(data.description)?empty:DISPLAY.link(data.description);var link=$.isEmpty(data.tagLinks)?empty:data.tagLinks;var source=$.isEmpty(data.source)?empty:DISPLAY.link(data.source);this.jq.find('.id>.value').html(id);this.jq.find('.name>.value').html(name);this.jq.find('.desc>.value').html(desc);this.jq.find('.source>.value').html(source);this.jq.find('.tags>.value').html(link);this.jq.find('.creator>.value').html('<a href =/members/'+global.datasetInfo.ownerId+'>'+global.datasetInfo.ownerName+'</a>');this.jq.find('.dateCreated>.value>.created').html(data.dateCreated);this.jq.find('.lastUpdated>.value').html(data.lastUpdated);this.jqName.val(data.name);this.jqDescription.val(data.description);this.jqTag.val(data.tagText);this.jqSource.val(data.source);if(global.datasetInfo.revisions[0]){this.jqRefValue.text(global.datasetInfo.revisions[0]);}else{this.jqRefValue.html(empty);}
if(global.userInfo.isAdmin){this.jq.find('.tags').show();}
if(data.isDeletable){var deleteLink='/tables/main/'+global.datasetInfo.id+'/delete';var link="javascript:if (confirm('Are you sure you want to delete this table? This action cannot be undone.')) sci.ajax.post('"+deleteLink+"', {});";this.jqRemoveLink.attr('href',link);this.jqCountdown.html(data.countdown);}else{this.jqRemove.hide();}});K.oo('method',"loadParams",function(){var params={};params.name=this.jqName.val();params.description=this.jqDescription.val();params.source=this.jqSource.val();params.tagText=this.jqTag.val();params._event='UpdateTableMetadata';params._event_params=JSON.stringify({table_id:global.datasetInfo.id,name:params.name,desc:params.description,tags:params.tagText,source:params.source});return params;});K.oo('method',"showForm",function(){this.jqEditSection.addClass('editable');_super(this);});K.oo('method',"hideForm",function(){this.jqEditSection.removeClass('editable');_super(this);});K.oo('method',"createRefDialog",function(){this.jqRefInput.datepicker();});})(Sci.DetailsView,Sci);JS2.OO.createClass("Sci.SharingView");Sci.SharingView.oo('extends',Sci.MetadataViewBase);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(jqSeed,data,url,htmlCache,sections){this.name='sharing';_super(this,jqSeed,data,url,htmlCache,sections);});K.oo('method',"initHTML",function(){_super(this);this.jqEditSection=this.jq.first('ul');this.jqEditable=this.jq.find('.votable .input input');this.jqUnlisted=this.jq.find('.unlisted .input input');this.jqAbuse=this.jq.find('.abuse').hide();this.jqAbuseValue=this.jqAbuse.find('.value');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Abuse Value",this.jqAbuseValue,null);this.jqUnlistedAlert=this.jq.first('.unlisted .input .alert');this.jqEditableAlertChecked=this.jq.first('.votable .input .alert.checked');this.jqEditableAlertUnChecked=this.jq.first('.votable .input .alert.unChecked');this.jqSubscriptions=this.jq.find('.subscription');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"Subscription Radios",this.jqSubscriptions,null);var self=this;this.jqEditable.click(function(){if(this.checked){self.jqAbuse.show();}else{self.jqAbuse.hide();}})});K.oo('method',"populate",function(data){this.jqEditable[0].checked=!data.isStatic;this.jqUnlisted[0].checked=!data.unlisted;this.toggleYesNo(!data.isStatic,this.jq.find('.votable .value'));this.toggleYesNo(!data.unlisted,this.jq.find('.unlisted .value'));this.jqSubscriptions.val([data.subscribe]);this.jqAbuseValue.html(this.jqSubscriptions.filter(':checked').next('label').html());if(!data.isStatic){this.jqEditable[0].disabled=true;this.jqEditableAlertUnChecked.hide();this.jqEditableAlertChecked.show();this.jqAbuse.show();}else{this.jqAbuse.hide();}
if(global.userInfo.isAdmin||global.userInfo.isDev)
this.jq.find('.whitelistLink').html('<a href = /account/data?tab=2>white list </a>');});K.oo('method',"toggleYesNo",function(value,jq){if(value){jq.find('.yes').show();jq.find('.no').hide();}else{jq.find('.no').show();jq.find('.yes').hide();}});K.oo('method',"loadParams",function(){var params={};params.isStatic=!this.jqEditable[0].checked;params.unlisted=!this.jqUnlisted[0].checked;params.subscription=this.jq.find('.subscription:checked').val()
params._event='SetTableSharingPreferences';params._event_params=JSON.stringify({table_id:global.datasetInfo.id,is_read_only:params.isStatic,is_searchable:!params.unlisted});return params;});K.oo('method',"showForm",function(){this.jqEditSection.addClass('editable');_super(this);});K.oo('method',"hideForm",function(){this.jqEditSection.removeClass('editable');_super(this);});K.oo('method',"_submit",function(p){_super(this,p);this.populate(p);this.hideForm();if(grid){grid.notify('loadData');}});})(Sci.SharingView,Sci);JS2.OO.createClass("Sci.FieldsView");Sci.FieldsView.oo('extends',Sci.MetadataViewBase);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(jqSeed,url,htmlCache,sections,p){this.name='fields';_super(this,jqSeed,null,url,htmlCache,sections,p);});K.oo('method',"initHTML",function(){_super(this);this.jqEdit.hide();var gridSeed=this.jq.find('#fieldsGrid')[0];var jqBracket=this.jq.first('.subjectIndicator');this.jqReorder=this.jq.first('.reorderFields');this.jqReorderButton=this.jqReorder.find('>.button');this.jqReorderDialog=this.jqReorder.first('.reorder-dialog').hide();this.jqReorderFields=this.jqReorderDialog.first('ul.reorderableFields');this.jqApplyReorder=this.jqReorderDialog.first('.submit');this.jqCancelReorder=this.jqReorderDialog.first('.cancel');var self=this;this.grid=APP(Sci.FieldsViewGrid,{seed:gridSeed,width:'100%',htmlCache:self.htmlCache,jqBracket:jqBracket,owner:this});this.grid.start();this.grid.setColumns([{name:'',datatype:'String',width:35},{name:'Field ID',datatype:'String',width:70},{name:'Field Name',datatype:'String',width:200},{name:'Data Type',datatype:'String',width:100},{name:'Aggregation',datatype:'String',width:150},{name:'Created By',datatype:'String',width:150},{name:'Date Created',datatype:'String',width:100},{name:'Description',datatype:'String',width:150},{name:'Source Table',datatype:'String',width:150}]);this.jqTable=this.jq.find('table');this.jqTBody=this.jqTable.find('tbody');});K.oo('method',"registerEvents",function(){var self=this;this.jqTBody.click(function(e){if($(e.target).is('.editFieldLink')){var fieldId=parseInt($(e.target).attr('field'));self.showFieldEditor(fieldId);}});this.jqReorderButton.click(function(e){self.showReorderDialog();});});K.oo('method',"showReorderDialog",function(){if(!this.reorderDialog)this.buildReorderDialog();this.buildReorderableFields();this.reorderDialog.dialog('open');});K.oo('method',"buildReorderableFields",function(){this.jqReorderFields.html('');var reorderableFields=this.getReorderFields();for(var i=0,f,i__arr=reorderableFields,i__len=i__arr.length;(f=i__arr[i])||i<i__len;i++){this.jqReorderFields.append($(this.htmlCache.reorderField(f.fieldId,DISPLAY.html(f.name))));}});K.oo('method',"showFieldEditor",function(fieldId){controller.grid.editField(fieldId);});K.oo('method',"buildReorderDialog",function(){var options={title:'Reorder Field from this Table',modal:true,autoOpen:false,width:300,minWidth:250,resizable:false};this.reorderDialog=this.jqReorderDialog.dialog(options);var self=this;this.jqApplyReorder.click(function(){self.applyReorder();self.reorderDialog.dialog('close');});this.jqCancelReorder.click(function(){self.reorderDialog.dialog('close');});this.jqReorderFields.sortable();});K.oo('method',"applyReorder",function(){var orders={};this.jqReorderFields.children().each(function(i,o){orders[$(o).attr("fid")]=i;});var self=this;var params={};params.fieldsOrder=JSON.stringify(orders);params.onError=function(){}
var url=this.url+'/'+this.name+'.js';sci.ajax.post(url,params,function(p){self._submit(p);});});K.oo('method',"_submit",function(p){window.location.href=window.location.href;});K.oo('method',"setEditable",function(){if(global.userInfo.userId==global.datasetInfo.ownerId)this.isEditable=true;if(!this.isEditable){for(var it185=0,f,it185__arr=this.data,it185__len=it185__arr.length;(f=it185__arr[it185])||it185<it185__len;it185++){if(global.userInfo.userId==f.creatorId&&f.deletableBy=='CREATOR'){this.isEditable=true;break;}}}
if(this.isEditable){var hasNormalFields=false;for(var it186=0,f,it186__arr=this.data,it186__len=it186__arr.length;(f=it186__arr[it186])||it186<it186__len;it186++){if(!f.isVirtual||f.isVotable){hasNormalFields=true;break;}}
if(!hasNormalFields)this.isEditable=false;}});K.oo('method',"setOrderable",function(){if(this.isEditable&&this.getReorderFields().length>1){this.jqReorderButton.show();}else{this.jqReorderButton.hide();}});K.oo('method',"getReorderFields",function(){var reorderableFields=[];for(var it187=0,f,it187__arr=this.data,it187__len=it187__arr.length;(f=it187__arr[it187])||it187<it187__len;it187++){if(!f.isVirtual&&!f.isPrimary)reorderableFields.push(f);}
return reorderableFields;});K.oo('method',"populate",function(data){});K.oo('method',"loadParams",function(){var fieldHash=this.grid.getFieldsHash();var defaultValues=this.grid.getFieldDefaultValues();var params={fieldsJSON:JSON.stringify(fieldHash),fieldsOrder:JSON.stringify(this.grid.getFieldsOrder()),fieldDefaultValues:JSON.stringify(defaultValues)};var eventParams=[];for(var fid in fieldHash){fHash=fieldHash[fid];eventParams.push({table_id:global.datasetInfo.id,field_id:fid,agg_function:fHash.aggregation,hidden:fHash.isHidden,name:fHash.name,default_value:defaultValues[fid]});}
params._event='UpdateFieldMetadata';params._event_params=JSON.stringify(eventParams);return params;});K.oo('method',"showForm",function(){this.jqTBody.addClass('editable');});K.oo('method',"hideForm",function(){this.jqTBody.removeClass('editable');});K.oo('method',"showFields",function(columns,immutable){var data=[];this.immutable=immutable;this.columns=columns;this.isStandard=this.immutable.datasets.length==1;this.buildColumns();var self=this;$.each(columns,function(i,c){var isHidden=false;for(var i=0,f;f=immutable.fields[i];i++){if(f.id==c.id){isHidden=f.isHidden;break;}}
data.push({aggregation:c.aggregationMethod=="top-values"?'list':c.aggregationMethod,creatorId:c.creatorId,creatorName:c.creatorName,datatype:c.datatype,dateCreated:c.dateCreated,deletableBy:c.deletableBy,fieldId:c.id,isEnumerable:c.field.isEnumerated,isHidden:isHidden,isPrimary:c.isPrimary,isVotable:c.field.isVotable,isVirtual:c.datasetId!=global.datasetInfo.id,name:c.name,description:c.field.description,sourceTable:$.grep(immutable.datasets,function(d,i){return d.id==c.datasetId;})[0],enumerationList:c.field.enumerationList,defaultValue:immutable.fieldDefaultValues[c.field.id],datasetId:c.datasetId,isStandard:self.isStandard});});this.grid.setRows(data);this.data=data;this.setEditable();this.setOrderable();});K.oo('method',"buildColumns",function(){var columns=[{name:'',datatype:'String',width:50},{name:'Field ID',datatype:'String',width:150},{name:'Field Name',datatype:'String',width:200},{name:'Data Type',datatype:'String',width:150},{name:'Aggregation',datatype:'String',width:200},{name:'Created By',datatype:'String',width:150},{name:'Date Created',datatype:'String',width:150},{name:'Description',datatype:'String',width:150}];if(!this.isStandard)columns.push({name:'Source Table',datatype:'String',width:150});this.grid.setColumns(columns);});K.oo('method',"deleteField",function(fieldId){this.data=$.grep(this.data,function(c,i){return c.fieldId!=fieldId});this.grid.setRows(this.data);});K.oo('method',"userLoggedIn",function(){this.grid.showEdits();});})(Sci.FieldsView,Sci);JS2.OO.createClass("Sci.FieldsViewGrid.Main");Sci.FieldsViewGrid.Main.oo('extends',GridSimple.Main);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','dependencies','body');K.oo('method',"showEdits",function(){this.notify('showEdits');});K.oo('method',"hideEdits",function(){this.notify('hideEdits');});K.oo('method',"getFieldsHash",function(){var hash={};this.notify('getFieldsHash',hash);return hash;});K.oo('method',"getFieldsOrder",function(){var order={};this.notify('getFieldsOrder',order);return order;});K.oo('method',"getFieldDefaultValues",function(){var values={};this.notify('getFieldDefaultValues',values);return values;});K.oo('method',"editField",function(idx){var jqCell=$(this.body.view.matrix[idx][1]);jqCell.first('input').focus();});})(Sci.FieldsViewGrid.Main,Sci.FieldsViewGrid);JS2.OO.createClass("Sci.FieldsViewGrid.Sorter");Sci.FieldsViewGrid.Sorter.oo('extends',GridSimple.Sorter);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_colsInit",function(){_super(this);this.jqColumns.unbind('click');});})(Sci.FieldsViewGrid.Sorter,Sci.FieldsViewGrid);JS2.OO.createClass("Sci.FieldsViewGrid.Data");Sci.FieldsViewGrid.Data.oo('extends',GridSimple.Data);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"setRows",function(data){this.origData=data;var rows=[];for(var it188=0,f,it188__arr=data,it188__len=it188__arr.length;(f=it188__arr[it188])||it188<it188__len;it188++){var row=[];row.isPrimary=f.isPrimary;row.isVirtual=f.isVirtual;row.dsOwner=global.userInfo.userId==global.datasetInfo.ownerId;row.owner=f.creatorId==global.userInfo.userId&&f.deletableBy=='CREATOR';row.datatype=f.datatype;row.isVotable=f.isVotable;row.isStandard=f.isStandard;row.isEnumerable=f.isEnumerable;row.enumerationList=f.enumerationList;row.editable=(row.dsOwner||row.owner||global.userInfo.isAdmin)&&!row.isVirtual;row[0]=row.editable?'<a url="javascript:void(0)" class="editFieldLink" field="'+f.fieldId+'">Edit</a>':'<span class="uneditable"/>';row[1]=f.fieldId;row[2]=f.name;row[3]=sci.constants.datatypes[f.datatype].viewName;row[4]=f.isPrimary?'N/A':f.aggregation;row[5]=DISPLAY.user(f.creatorId||global.datasetInfo.ownerId,f.creatorName||global.datasetInfo.ownerName);row[6]=f.dateCreated;if(f.isStandard){row[7]=f.description;}else{row[7]=f.datasetId==global.datasetInfo.id?'this table':DISPLAY.dsPage(f.sourceTable.urlName,f.sourceTable.name,100);row[8]=f.description;}
rows.push(row);}
this.rows=rows;this.notify('dataLoaded');});K.oo('method',"getOriginalData",function(fid){for(var it189=0,f,it189__arr=this.origData,it189__len=it189__arr.length;(f=it189__arr[it189])||it189<it189__len;it189++){if(f.fieldId==fid)return f;}});K.oo('method',"e_showEdits",function(){if(this.origData)this.setRows(this.origData);});K.oo('method',"e_hideEdits",function(){if(this.origData)this.setRows(this.origData);});})(Sci.FieldsViewGrid.Data,Sci.FieldsViewGrid);JS2.OO.createClass("Sci.FieldsViewGrid.BodyController");Sci.FieldsViewGrid.BodyController.oo('extends',GridSimple.BodyController);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(){this.fields=[];});K.oo('method',"e_getFieldsHash",function(hash){return this.view.getFieldsHash(hash);});K.oo('method',"e_getFieldsOrder",function(order){return this.view.getFieldsOrder(order);});K.oo('method',"e_getFieldDefaultValues",function(values){return this.view.getFieldDefaultValues(values);});})(Sci.FieldsViewGrid.BodyController,Sci.FieldsViewGrid);JS2.OO.createClass("Sci.FieldsViewGrid.BodyView");Sci.FieldsViewGrid.BodyView.oo('extends',GridSimple.BodyView);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){var htmlCache=options.htmlCache;this.jqBracket=options.jqBracket;this.owner=options.owner;});K.oo('method',"handleMouseover",function(e){});K.oo('method',"handleMouseout",function(e){});K.oo('method',"getFieldsOrder",function(order){var jqFactTableRows=this.jq.find('tr:not(.primaryKey)');for(var i=0,tr;tr=jqFactTableRows[i];i++){var jqTableRow=$(tr);var rowIdx=jqTableRow.first('td').attr('rowIdx');order[this.data.rows[rowIdx][0]]=i}
return order;});K.oo('method',"populate",function(){_super(this);var rows=this.data.rows;var primaryRowCount=0;var isFirstTablePk=true;for(var z=0,zlen=rows.length;z<zlen;z++){if(rows[z].isPrimary&&isFirstTablePk){$(this.jqRows[z]).addClass('primaryKey');primaryRowCount++}else{isFirstTablePk=false;}
if(rows[z].isVirtual)$(this.jqRows[z]).addClass('virtualField');}
this.setBracketHeight(primaryRowCount);this.buildGraggable();});K.oo('method',"populateCell",function(colIdx,rowIdx){var row=this.data.rows[rowIdx];var fieldId=row[1];var val=row[colIdx];if(colIdx==0||colIdx==5||(!row.isStandard&&colIdx==7)){this.matrix[rowIdx][colIdx].innerHTML=val;return;}
_super(this,colIdx,rowIdx);});K.oo('method',"setBracketHeight",function(primaryRowCount){var lineHeight=18;var h=24*primaryRowCount;this.jqBracket.find('.text').css('top',(h-lineHeight)/2);this.jqBracket.find('img').height(h);});K.oo('method',"buildGraggable",function(){if(sci.global.getTableType()!='standard')return;var jqFactField=this.jq.find('tbody');var jqFieldIds=this.jq.find('tr:not(.primaryKey)').find('td:eq(0)');jqFieldIds.prepend('<span class="sortHandle" />');this.jqSortHandle=jqFieldIds.find('.sortHandle').hide();jqFactField.sortable({items:'tr:not(.primaryKey)',handle:'td>.sortHandle',axis:'y',distance:15});});K.oo('method',"showGraggable",function(){if(this.jqSortHandle)this.jqSortHandle.show();});K.oo('method',"hideGraggable",function(){if(this.jqSortHandle)this.jqSortHandle.hide();});})(Sci.FieldsViewGrid.BodyView,Sci.FieldsViewGrid);JS2.OO.createClass("Sci.AbuseView");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(jqSeed,data,url,htmlCache,sections){this.name='abuseOld';this.jq=jqSeed.find('.'+this.name);this.htmlCache=htmlCache;this.url=url;this.initHTML();this.populate(data);this.registerEvents();});K.oo('method',"initHTML",function(){this.jq.append(this.htmlCache[this.name]());this.jqSubscriptions=this.jq.find('.subscription');this.jqButton=this.jq.first('.submit');});K.oo('method',"populate",function(data){this.updateUserInfo(data);this.jqSubscriptions.val([data.subscribe]);});K.oo('method',"registerEvents",function(){var self=this;this.jqButton.click(function(){self.submit();});});K.oo('method',"submit",function(){var url=this.url+'/change_subscription';var params={};AJAX.post(url,params,function(){if(grid){grid.notify('switchPane',{pane:'grid'});grid.notify('loadData');}});});K.oo('method',"updateUserInfo",function(data){if(data.isAdmin||(data.isDev&&data.userId==data.ownerId)){this.jq.show();}else{this.jq.hide();}});})(Sci.AbuseView,Sci);Sci.MetadataView.oo('setHTMLCache',{"buttons":function(){return"<div class='field'><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Submit      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/div>"},"details":function(){return"<form action='javascript:void(0)'><ul><li class='id'><div class='key'>ID:<\/div><div class='value'><\/div><\/li><li class='name'><div class='key'>Name:<\/div><div class='value'><\/div><div class='input'><input class='textField' name='name' type='text' \/><\/div><\/li><li class='desc'><div class='key'>Description:<\/div><div class='value'><\/div><div class='input'><textarea class='textArea' name='description'><\/textarea><\/div><\/li><li class='source'><div class='key'>Source:<\/div><div class='value'><\/div><div class='input'><input class='textField' name='source' type='text' \/><\/div><\/li><li class='tags'><div class='key'>Tags:<\/div><div class='value'><\/div><div class='input'><input class='textField' name='tags' type='text' \/><\/div><ul class='helperText'><li>Separate each tag with a comma,and please do not use quotes.<\/li><li>For example:&nbsp;<em>ultraman, little monster, brown fox<\/em><\/li><\/ul><\/li><li class='creator'><div class='key'>Created by:<\/div><div class='value'><\/div><\/li><li class='dateCreated'><div class='key'>Date Created:<\/div><div class='value'><span class='created'><\/span><span class='remove'>You may&nbsp;<a class='removeLink'>remove this table<\/a>&nbsp;within the next&nbsp;<span class='countdown'><\/span><\/span><\/div><\/li><li class='lastUpdated'><div class='key'>Last Updated:<\/div><div class='value'><\/div><\/li><li class='referenceDate'><div class='key'>Reference Date:<\/div><div class='value'><\/div><div class='input'><input class='refDateInput textField' \/><a class='refSubmit'>Set reference version<\/a><\/div><\/li><\/ul><\/form>"},"fields":function(){return"<div class='reorderFields'><a class='button' href='javascript:void(0)'>Reorder Fields from this Table<\/a><div class='reorder-dialog'>Drag the fields into the order that you'd like them to appear in the table.<div class='reorder-container'><ul class='reorderableFields'><\/ul><\/div><div class='buttons'><span class='apply fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Apply      <\/a>    <\/span>  <\/span><\/span><span class='cancel fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Cancel      <\/a>    <\/span>  <\/span><\/span><\/div><\/div><\/div><div class='fieldsContainer'><div class='subjectIndicator'><img src='\/images\/grid0\/bracket.gif' width='10' \/><div class='text'>Subject<\/div><\/div><div id='fieldsGrid'><\/div><\/div><div class='clear'><\/div>"},"abuseOld":function(){return"<ul><li><label><input class='subscription' name='subscription' type='radio' value='BLACKLIST' \/>This table ignores corrections and new rows from known spammers<\/label><\/li><li><label><input class='subscription' name='subscription' type='radio' value='WHITELIST' \/>This table only contains data from myself and users on my approved&nbsp;<a href='\/account\/data?tab=2'>white list<\/a><\/label><\/li><li><label><input class='subscription' name='subscription' type='radio' value='NONE' \/>This table accepts corrections and new rows from anyone<\/label><\/li><li><span class='submit fact-button'>  <span class='button h p'>    <span>      <a href='javascript:void(0);' name='Submit'>        Submit      <\/a>    <\/span>  <\/span><\/span><\/li><\/ul><div class='clear'><\/div>"},"noneValue":function(){return"<span class='noneValue'>[none]<\/span>"},"main":function(){return"<div class='details section'><h3>Table Details<\/h3><a class='edit' href='javascript:void(0)' style='display: none;'>Edit<\/a><div class='buttons' style='display: none;'><\/div><\/div><div class='sharing section'><h3>Sharing<\/h3><a class='edit' href='javascript:void(0)' style='display: none;'>Edit<\/a><div class='buttons' style='display: none;'><\/div><\/div><div class='fields section'><h3>Fields<\/h3><\/div><h2 class='hidden'>Statistics<\/h2><div class='clear'><\/div>"},"reorderField":function(){return"<li fid='"+arguments[0]+"'><span class='reorder-icon'><\/span>"+arguments[1]+"<\/li>"},"sharing":function(){return"<ul><li class='votable'><div class='key'>Allow users to correct or add data to this table?<\/div><div class='value'><span class='hidden no'>No - this table is currently <strong>read-only<\/strong>.<\/span><span class='hidden yes'>Yes - this table is currently <strong>editable<\/strong>.<\/span><\/div><div class='input'><input class='editable' type='checkbox' \/><span class='alert unChecked'>&nbsp;Warning: once you have enabled this feature, you cannot disable it.<\/span><span class='alert checked hidden'>&nbsp;This feature is already enabled, and cannot be disabled for this table anymore.<\/span><\/div><\/li><li class='abuse'><div class='key'>Abuse\/Spam Subscription<\/div><div class='value'><\/div><div class='input'><ul><li><input class='subscription' id='sub_blacklist' name='subscription' type='radio' value='BLACKLIST' \/><label for='sub_blacklist'>This table ignores corrections and new rows from known spammers<\/label><\/li><li><input class='subscription' id='sub_whitelist' name='subscription' type='radio' value='WHITELIST' \/><label for='sub_whitelist'>This table only contains data from myself and users on my approved&nbsp;<span class='whitelistLink'>white list<\/span><\/label><\/li><li><input class='subscription' id='sub_none' name='subscription' type='radio' value='NONE' \/><label id='sub_none'>This table accepts corrections and new rows from anyone<\/label><\/li><\/ul><\/div><\/li><li class='unlisted'><div class='key'>Show this table in search results?<\/div><div class='input'><input class='unlisted' type='checkbox' \/><\/div><div class='value'><span class='hidden no'>No - this table won't be shown in search results.<\/span><span class='hidden yes'>Yes - this table will be shown in search results.<\/span><\/div><\/li><\/ul><div class='clear'><\/div>"}});JS2.OO.createClass("Page.Developer");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(jqSeed,options){this.options=options;this.jq=jqSeed;this.initHTML();this.registerEvents();});K.oo('method',"initHTML",function(){this.jq.html(this.htmlCache.main());this.jqDetails=this.jq.first('.details');this.jqTableRef=this.jqDetails.first('.reference');this.jqTableRefVal=this.jqTableRef.first('.value');this.jqTableId=this.jqDetails.first('.id');this.jqTableIdVal=this.jqTableId.first('.value');this.jqFields=this.jq.first('.fields');this.jqBracket=this.jqFields.first('.subjectIndicator');this.jqGridSeed=this.jqFields.first('.fieldsGrid');this.populateDetails();this.initFieldsGrid();});K.oo('method',"registerEvents",function(){this.jqGridSeed.click((function(self){return function(e){if($(e.target).is('.editFieldLink')){var fieldId=parseInt($(e.target).attr('field'));self.showFieldEditor(fieldId);}}})(this));});K.oo('method',"populateDetails",function(){this.jqTableRefVal.text(this.options.dataset.key);if(this.options.isAdmin()){this.jqTableIdVal.text(this.options.dataset.id);this.jqTableId.show();}else{this.jqTableId.hide();}});K.oo('method',"initFieldsGrid",function(){this.fieldsGrid=APP(Page.Developer.FieldsGrid,{seed:this.jqGridSeed,width:'100%',jqBracket:this.jqBracket,owner:this});this.fieldsGrid.start();var columns=[{name:'',datatype:'String',width:35},{name:'Field ID',datatype:'String',width:70},{name:'Field Name',datatype:'String',width:200},{name:'Field Refs',datatype:'String',width:200},{name:'Data Type',datatype:'String',width:100},{name:'Aggregation',datatype:'String',width:150},{name:'Created By',datatype:'String',width:150},{name:'Date Created',datatype:'String',width:100},{name:'Description',datatype:'String',width:150}];if(this.options.dataset.type!='standard'){columns.push({name:'Source Table',datatype:'String',width:150,escapeHTML:false});}
this.fieldsGrid.setColumns(columns);});K.oo('method',"populateFieldsGrid",function(columns){var data=[];var immutable=this.schema.immutable;var fieldRefs=this.schema.getDatasetInfo(this.data.dataset.id).fieldRefs;var isStandard=this.options.dataset.type=='standard';var datasetId=this.options.dataset.id;$.each(columns,function(i,c){var isHidden=false;for(var i=0,f;f=immutable.fields[i];i++){if(f.id==c.id){isHidden=f.isHidden;break;}}
data.push({aggregation:c.aggregation=="top-values"?'list':c.aggregation,creatorId:c.creatorId,creatorName:c.creatorName,datatype:c.datatype,dateCreated:c.dateCreated,deletableBy:c.deletableBy,fieldId:c.id,isEnumerable:c.field.isEnumerated,isHidden:isHidden,isPrimary:c.isPrimary,isVotable:c.field.isVotable,isVirtual:c.datasetId!=datasetId,name:c.name,refsname:fieldRefs[c.field.id],description:c.field.description,sourceTable:$.grep(immutable.datasets,function(d,i){return d.id==c.datasetId;})[0],enumerationList:c.field.enumerationList,defaultValue:immutable.fieldDefaultValues[c.field.id],datasetId:c.datasetId,isStandard:isStandard});});this.fieldsGrid.setRows(data);});K.oo('method',"showFieldEditor",function(fieldId){this.notify('editField',fieldId);});K.oo('method',"autoHeight",function(height){this.fieldsGrid.setHeight(height-this.jqDetails.height()-40);});K.oo('method',"e_buildColumns",function(columns){this.populateFieldsGrid(columns);});K.oo('method',"e_userLoggedIn",function(){this.fieldsGrid.showEdits();});})(Page.Developer,Page);JS2.OO.createClass("Page.Developer.FieldsGrid.Main");Page.Developer.FieldsGrid.Main.oo('extends',GridSimple.Main);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"showEdits",function(){this.notify('showEdits');});K.oo('method',"hideEdits",function(){this.notify('hideEdits');});})(Page.Developer.FieldsGrid.Main,Page.Developer.FieldsGrid);JS2.OO.createClass("Page.Developer.FieldsGrid.Sorter");Page.Developer.FieldsGrid.Sorter.oo('extends',GridSimple.Sorter);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"e_colsInit",function(){_super(this);this.jqColumns.unbind('click');});})(Page.Developer.FieldsGrid.Sorter,Page.Developer.FieldsGrid);JS2.OO.createClass("Page.Developer.FieldsGrid.Data");Page.Developer.FieldsGrid.Data.oo('extends',GridSimple.Data);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){_super(this,options);this.globalInfo=options.owner.options;});K.oo('method',"setRows",function(data){this.origData=data;var rows=[];for(var it191=0,f,it191__arr=data,it191__len=it191__arr.length;(f=it191__arr[it191])||it191<it191__len;it191++){var row=[];row.isPrimary=f.isPrimary;row.isVirtual=f.isVirtual;row.dsOwner=this.globalInfo.isOwner();row.owner=f.creatorId==this.globalInfo.user.id&&f.deletableBy=='CREATOR';row.datatype=f.datatype;row.isVotable=f.isVotable;row.isStandard=f.isStandard;row.isEnumerable=f.isEnumerable;row.enumerationList=f.enumerationList;row.editable=(row.dsOwner||row.owner||this.globalInfo.isAdmin())&&!row.isVirtual;row[0]=row.editable?'<a url="javascript:void(0)" class="editFieldLink" field="'+f.fieldId+'">Edit</a>':'<span class="uneditable"/>';row[1]=f.fieldId;row[2]=f.name;row[3]=f.refsname;row[4]=sci.constants.datatypes[f.datatype].viewName;row[5]=f.isPrimary?'N/A':f.aggregation;row[6]=DISPLAY.user(f.creatorId||this.globalInfo.ownerId(),f.creatorName||this.globalInfo.ownerName());row[7]=f.dateCreated;row[8]=f.description;if(!f.isStandard)row[9]=f.datasetId==this.globalInfo.dataset.id?'this table':DISPLAY.dsPage(f.sourceTable.urlName,f.sourceTable.name,100);rows.push(row);}
this.rows=rows;this.notify('dataLoaded');});})(Page.Developer.FieldsGrid.Data,Page.Developer.FieldsGrid);JS2.OO.createClass("Page.Developer.FieldsGrid.BodyController");Page.Developer.FieldsGrid.BodyController.oo('extends',GridSimple.BodyController);(function(K,Package){var self=K;var _super=JS2.OO['super'];})(Page.Developer.FieldsGrid.BodyController,Page.Developer.FieldsGrid);JS2.OO.createClass("Page.Developer.FieldsGrid.BodyView");Page.Developer.FieldsGrid.BodyView.oo('extends',GridSimple.BodyView);(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(options){this.jqBracket=options.jqBracket;});K.oo('method',"initHTML",function(){_super(this);this.jqBody.enableSelection();});K.oo('method',"populate",function(){_super(this);var rows=this.data.rows;var primaryRowCount=0;var isFirstTablePk=true;for(var z=0,zlen=rows.length;z<zlen;z++){if(rows[z].isPrimary&&isFirstTablePk){$(this.jqRows[z]).addClass('primaryKey');primaryRowCount++}else{isFirstTablePk=false;}
if(rows[z].isVirtual)$(this.jqRows[z]).addClass('virtualField');}
this.setBracketHeight(primaryRowCount);});K.oo('method',"populateCell",function(colIdx,rowIdx){var row=this.data.rows[rowIdx];var fieldId=row[1];var val=row[colIdx];if(colIdx==0||colIdx==6||(!row.isStandard&&colIdx==8)){this.matrix[rowIdx][colIdx].innerHTML=val;return;}
_super(this,colIdx,rowIdx);});K.oo('method',"setBracketHeight",function(primaryRowCount){var lineHeight=18;var h=24*primaryRowCount;this.jqBracket.find('.text').css('top',(h-lineHeight)/2);this.jqBracket.find('img').height(h);});})(Page.Developer.FieldsGrid.BodyView,Page.Developer.FieldsGrid);Page.Developer.oo('setHTMLCache',{"main":function(){return"<div class='details'><ul class='table'><li class='reference'><span class='key'>Table Reference:<\/span><span class='value'><\/span><\/li><li class='id'><span class='key'>Table ID:<\/span><span class='value'><\/span><\/li><\/ul><\/div><div class='fields'><div class='subjectIndicator'><img src='\/images\/grid0\/bracket.gif' width='10' \/><div class='text'>Subject<\/div><\/div><div class='fieldsGrid'><\/div><\/div>"}});JS2.OO.createClass("Share.Main");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('method',"initialize",function(grid,options){this.options=options;this.grid=grid;this.initHTML();this.registerEvents();});K.oo('method',"initHTML",function(){this.jq=$('#share');var jqLinks=this.jq.first('.links');this.jqHrefLink=jqLinks.first('.share-href-link');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"hreflink",this.jqHrefLink,null);this.jqEmailLink=jqLinks.first('.share-email-link');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"sharelink",this.jqEmailLink,null);this.jqEmbedLink=jqLinks.first('.share-embed-link').hide();var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"embedlink",this.jqEmbedLink,null);this.jqDialogContainer=this.jq.first('.share-dialog');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"sharedialog",this.jqDialogContainer,null);this.jqClose=this.jqDialogContainer.first('.close');this.jqHrefDialog=this.jqDialogContainer.first('.share-href');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"hrefdialog",this.jqHrefDialog,null);this.jqEmailDialog=this.jqDialogContainer.first('.share-email');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"emaildialog",this.jqEmailDialog,null);this.jqEmbedDialog=this.jqDialogContainer.first('.share-embed');var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"embeddialog",this.jqEmbedDialog,null);this.jqStateUrl=this.jq.find('input.stateUrl');this.jqEmailInput=this.jqEmailDialog.find('input.recipients');this.jqEmailValMsg=this.jqEmailDialog.find('.emailValidationMessage');this.jqEmailSubmit=this.jqEmailDialog.find("input[type=submit]").attr('disabled',true);this.jqEmailSubject=this.jqEmailDialog.find("input.subject");var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"sharesubject",this.jqEmailSubject,null);this.jqUrl=this.jqEmailDialog.find(".url");var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"stateurl",this.jqUrl,null);this.jqEmailMessage=this.jqEmailDialog.find("textarea.message");this.jqUserName=this.jqEmailDialog.find("span.sender");var TMP_SEL_MARKER=this.SEL_MARKER||JS2.SEL_MARKER;TMP_SEL_MARKER.addVal(TMP_SEL_MARKER.getRealClassScope(this),"sender",this.jqUserName,null);this.dialogs={'href':this.jqHrefDialog,'email':this.jqEmailDialog,'embed':this.jqEmbedDialog};this.showLinks();});K.oo('method',"registerEvents",function(){var self=this;this.jqHrefLink.click(function(){self.showDialog('href');});this.jqEmailLink.click(function(){self.showDialog('email');});this.jqEmbedLink.click(function(){self.showDialog('embed');});this.jqClose.click(function(){self.hide();});this.jqEmailInput.keyup(function(){self.validateEmails();});this.jqEmailSubmit.click(function(){self.sendEmail();});this.jqStateUrl.focus(function(){this.select();});this.jq.clickoff((function(self){return function(){self.hide();}})(this));});K.oo('method',"showLinks",function(){if(this.jqEmbedDialog[0]){var syndicated=new Sharing.Syndicated(this.jqEmbedDialog,this.options);}});K.oo('method',"e_userLoggedIn",function(){this.jqUserName.html(this.options.getUsername());this.showLinks();});K.oo('method',"showDialog",function(name){var lastDialog=this.showingDialog;this.hide();if(lastDialog==name)return;if(name=='email'){if(this.grid.auth.requireLogin(this,name))return;this.setMailUrl();}else if(name=='href'){this.setHrefUrl();}
this.showingDialog=name;this.dialogs[name].show();this.jqDialogContainer.show();});K.oo('method',"hide",function(){if(this.showingDialog){if(this.showingDialog=='email'){this.resetEmailDialog();}
this.dialogs[this.showingDialog].hide();this.showingDialog=null;}
this.jqDialogContainer.hide();});K.oo('method',"resetEmailDialog",function(){this.jqEmailInput.attr('value','');this.jqEmailMessage.attr('value','');this.jqEmailValMsg.removeClass('pass').removeClass('error');this.jqEmailSubmit.attr('disabled',true);});K.oo('method',"setHrefUrl",function(){var self=this;self.jqStateUrl.val('loading...');this.grid.data.share_state(function(id){self.jqStateUrl.val(self.options.getBaseUrl()+"/ts/"+id);});});K.oo('method',"setMailUrl",function(){var self=this;self.jqUrl.html('loading...');this.grid.data.share_state(function(id){self.jqUrl.html(self.options.getBaseUrl()+"/ts/"+id);});});K.oo('method',"validateEmails",function(){var emails=$.trim(this.jqEmailInput.val());if(emails==''){this.showEmailError();return false;}
var mails=emails.split(/,\s*/);var emailValidator=new Validator.Email();for(var it190=0,email,it190__arr=mails,it190__len=it190__arr.length;(email=it190__arr[it190])||it190<it190__len;it190++){if(email=='')continue;if(!emailValidator.valid(email)){this.showEmailError();return false;}}
this.jqEmailValMsg.removeClass('error').addClass('pass');this.jqEmailSubmit.attr('disabled',this.jq.find('.messaging.error').length>0);return true;});K.oo('method',"showEmailError",function(){this.jqEmailValMsg.removeClass('pass').addClass('error');this.jqEmailSubmit.attr('disabled',true);});K.oo('method',"enableEmailDialog",function(){this.jqEmailInput.attr('disabled',false);this.jqEmailSubject.attr('disabled',false);this.jqEmailMessage.attr('disabled',false);this.jqEmailSubmit.attr('disabled',false);});K.oo('method',"disableEmailDialog",function(){this.jqEmailInput.attr('disabled',true);this.jqEmailSubject.attr('disabled',true);this.jqEmailMessage.attr('disabled',true);this.jqEmailSubmit.attr('disabled',true);});K.oo('method',"sendEmail",function(){this.disableEmailDialog();var self=this;var complete=function(){self.enableEmailDialog();self.resetEmailDialog();self.hide();};var params={from:this.options.getUserEmail(),to:this.jqEmailInput.val(),subject:this.jqEmailSubject.val(),description:this.jqUserName.html()+" sent you this Factual table:\n"+this.jqUrl.html()+"\n"+this.jqEmailMessage.val(),onError:complete};params.dataset_id=this.options.dataset.key;params._event="EmailTable";params._event_params=JSON.stringify({recipients:params.to,message:params.description});sci.ajax.post('/tables/publish/share_by_email',params,complete);});})(Share.Main,Share);JS2.OO.createClass("Sharing.Syndicated");(function(K,Package){var self=K;var _super=JS2.OO['super'];K.oo('member','SYNDICATE_CODE','<!-- Factual Table --><iframe frameborder="0" marginwidth="0" marginheight="0" border="0" style="border:0;margin:0;width:#WIDTH#px;height:#HEIGHT#px;" src="#URI#" scrolling="no" allowtransparency="true"></iframe>');K.oo('method',"initialize",function(seed,options){this.baseURI='http://'+location.host+options.dataset.seoUrl.replace(/^\/t\//,'/s/');this.jq=seed;if(this.jq.length==0)return;this.buildColorSchemes();this.initHTML();this.registerEvents();});K.oo('method',"buildColorSchemes",function(){this.colorSchemes={scheme0:{pkhbg:'2B1C0C',pkcbg:'72390A',pkabg:'B2601C',fhbg:'F1CCAE',fcbg:'F4e7dc',fabg:'F1CCAE'},scheme1:{pkhbg:'c34e13',pkcbg:'e97605',pkabg:'f2b34c',fhbg:'ecceb0',fcbg:'ffffff',fabg:'f4e8dc'},scheme2:{pkhbg:'26361c',pkcbg:'476432',pkabg:'709c4f',fhbg:'c8e2ab',fcbg:'ffffff',fabg:'e4f2cf'},scheme3:{pkhbg:'2c2b2c',pkcbg:'5f6162',pkabg:'909292',fhbg:'c7c9cb',fcbg:'ffffff',fabg:'e7e8e9'},scheme4:{pkhbg:'370707',pkcbg:'850a0a',pkabg:'8e4e4e',fhbg:'e0c9c9',fcbg:'ffffff',fabg:'f4e9e9'}};});K.oo('method',"initHTML",function(){this.jqDimensionSelector=this.jq.first('.dimensionSelector');this.jqSyndicatedCodeArea=this.jq.first('.syndicateCodeArea');this.jqColorList=this.jq.first('.colorList');this.jqPreview=this.jq.first('.preview');this.buildDimSelector();this.buildColorList();this.setColorParams('scheme3');this.setDimensions();});K.oo('method',"buildDimSelector",function(){});K.oo('method',"buildColorList",function(){var listHTML=[];for(var s in this.colorSchemes){listHTML.push('<li idx="')
listHTML.push(s)
listHTML.push('"><div style="background-color: #');listHTML.push(this.colorSchemes[s]['pkcbg']);listHTML.push('"></div></li>');}
this.jqColorList.html(listHTML.join(''));});K.oo('method',"registerEvents",function(){var self=this;this.jqDimensionSelector.change(function(){self.setDimensions();});this.jqColorList.children('li').click(function(){self.setColorParams(self.getColorSchemeKey(this));});this.jqPreview.click(function(){self.preview();});this.jqSyndicatedCodeArea.focus(function(){this.select();});});K.oo('method',"populateSyndicatedCodeArea",function(){var val=this.SYNDICATE_CODE.replace('#WIDTH#',this.width).replace('#HEIGHT#',this.height).replace('#URI#',this.url);this.jqSyndicatedCodeArea.val(val);});K.oo('method',"getColorSchemeKey",function(ele){var jq=$(ele);for(i=0;i<2;i++){if(jq.is('li')){return jq.attr('idx');}else{jq=jq.parent();}}});K.oo('method',"setColorParams",function(key){this.jqColorList.children('li').removeClass('selected');this.jqColorList.first('[idx='+key+']').addClass('selected');var params=[]
for(var c in this.colorSchemes[key]){var param=c+'='+this.colorSchemes[key][c];params.push(param);}
this.url=this.baseURI;if(params.length>0)this.url+='?'+params.join('&');this.populateSyndicatedCodeArea();});K.oo('method',"setDimensions",function(){var dimensionVal=this.jqDimensionSelector.val();if(!dimensionVal){dimensionVal=this.jqDimensionSelector[0].options[0].value;this.jqDimensionSelector[0].options[0].selected=true;}
var dimension=dimensionVal.split(':');this.width=dimension[0];this.height=dimension[1];this.populateSyndicatedCodeArea();});K.oo('method',"preview",function(){var openWindow=window.open();openWindow.document.write(this.jqSyndicatedCodeArea.val());openWindow.document.close();});})(Sharing.Syndicated,Sharing);Share.Main.oo('setHTMLCache',{"embed":function(){return"<div class='share-embed'><\/div>"},"email":function(){return"<div class='share-email'><form><table><tr class='field' datatype='Email' required='required' valid='on:keyup'><td class='share-email-label'>recipient(s):<\/td><td><input class='recipients textField' onblur='s.blur(this)' onfocus='s.focus(this)' \/><\/td><td class='messaging'><\/td><\/tr><tr class='field'><td class='share-email-label'>subject:<\/td><td><input class='subject textField' onblur='s.blur(this)' onfocus='s.focus(this)' \/><\/td><td class='messaging'><\/td><\/tr><tr class='field'><td class='share-email-label'><\/td><td colspan='2'><span class='username'><\/span>sent you this Factual table:<a class='url'><\/a><\/td><\/tr><tr class='field'><td class='share-email-label'>your message:<\/td><td colspan='2'><textarea class='message textArea' onblur='s.blur(this)' onfocus='s.focus(this)'><\/textarea><\/td><\/tr><tr><td class='share-email-label'><\/td><td colspan='2'><input class=' submitButton' name='Send' type='submit' value='Send' \/><\/td><\/tr><\/table><\/form><\/div>"}});