var velir=velir||{};velir.collections=velir.collections||{};velir.collections.NameValueCollection=function(){var c=this;var b;var a;this.initialize=function(){b={};a=[]};this.combine=function(g){var h="";for(var f=0;f<g.length;f++){var e=g[f];if(!e){continue}h+=e+","}return h.length===0?null:h.substring(0,h.length-1)};var d={add:function(f,e){var g=b[f];if(!g){g=[];a.push(f)}if(e){g.push(e)}b[f]=g},addNameValueCollection:function(e){if(!e){return}var f=e.getKeys();for(var h=0;h<f.length;h++){var g=f[h];var l=e.getValues(g);if(l&&l.length>0){for(var k=0;k<l.length;k++){this.add(g,l[k])}}else{this.add(g,null)}}},setValue:function(f,e){var h=b[f];if(!h){a.push(f)}var g=[];if(e){g.push(e)}b[f]=g},clear:function(){c.initialize()},getValue:function(f){if(!b.hasOwnProperty(f)){return null}var g=b[f];var e=c.combine(g);return e},getValueAt:function(e){return this.getValue(a[e])},getValues:function(e){if(!b.hasOwnProperty(e)){return null}return b[e]},getValuesAt:function(e){return this.getValues(a[e])},getKeys:function(){return a},remove:function(e){var f=$.inArray(e,a);if(f>-1){a=a.splice(f,1)}delete b[e]},toQueryString:function(){var h="";for(var g=0;g<a.length;g++){var f=a[g];var e=b[f];if(!e){e=""}h+="&"+f+"="+escape(e)}if(h.length>0){return h.substring(1,h.length)}return h},fromQueryString:function(l){if(!l||l.length===0){return}if(l.indexOf("?")>-1){l=l.split("?")[1]}if(l.indexOf("#")>-1){l=l.split("#")[0]}var e=l.split("&");for(var k=0;k<e.length;k++){var h=e[k];var j=h.split("=");var g=j[0];var f=null;if(j.length>1){f=unescape(j[1])}this.add(g,f)}}};c.initialize();return d};velir.collections.NameValueCollection.parseQueryString=function(b){var a=new velir.collections.NameValueCollection();a.fromQueryString(b);return a};var velir=velir||{};velir.datacenter=velir.datacenter||{};velir.datacenter.DatacenterContainer=function(){var a=this;this.addValuesToCollection=function(d,e,c){for(var f in c){var g=c[f];d.add(e,g.id)}};this.getValuesFromCollection=function(j,k,h,c,f){var e=j.getValue(k);if(!e){return}var i=e.split(",");var g="";if(velir.datacenter.DatacenterContainer.entitySearchService){g="Loading..."}$(i).each(function(n,m){var o={id:""+m,name:g};h.push(o)});if(velir.datacenter.DatacenterContainer.entitySearchService){var d=JSON.stringify({ids:i});var l="/Find"+c+"s";$.ajax({type:"POST",url:velir.datacenter.DatacenterContainer.entitySearchService+l,data:d,contentType:"application/json; charset=utf-8",dataType:"json",error:function(n,m,o){alert("Error connecting to entity search service.\n\n"+m)},success:function(m){var n=JSON.parse(m.d);for(var q=0;q<n.length;q++){var o=n[q];var p=-1;$(h).each(function(r,s){if(s.id==o.id){p=r;return false}});if(p>-1){h.splice(p,1,o)}}if(f){f()}}})}else{if(f){f()}}};var b={loadEntityNames:false,entitySearchService:"",indicators:[],timeFrames:[],dataFormatMaps:[],characteristics:[],locations:[],toNameValueCollection:function(){var d=velir.datacenter.UrlParams;var c=new velir.collections.NameValueCollection();a.addValuesToCollection(c,d.indicatorId,this.indicators);a.addValuesToCollection(c,d.timeFrameId,this.timeFrames);a.addValuesToCollection(c,d.dataFormatMapId,this.dataFormatMaps);a.addValuesToCollection(c,d.characteristicId,this.characteristics);a.addValuesToCollection(c,d.locationId,this.locations);return c},toQueryString:function(){return this.toNameValueCollection().toQueryString()},fromQueryString:function(f,e){var d=velir.datacenter.UrlParams;var c=velir.collections.NameValueCollection.parseQueryString(f);a.getValuesFromCollection(c,d.indicatorId,this.indicators,"Indicator",e);a.getValuesFromCollection(c,d.timeFrameId,this.timeFrames,"TimeFrame",e);a.getValuesFromCollection(c,d.dataFormatMapId,this.dataFormatMaps,"DataFormatMap",e);a.getValuesFromCollection(c,d.characteristicId,this.characteristics,"Characteristic",e);a.getValuesFromCollection(c,d.locationId,this.locations,"Location",e)}};return b};velir.datacenter.DatacenterContainer.parseQueryString=function(c,b){var a=new velir.datacenter.DatacenterContainer();a.fromQueryString(c,b);return a};velir.datacenter.DatacenterContainer.entitySearchService=false;var velir=velir||{};velir.datacenter=velir.datacenter||{};velir.datacenter.UrlParams={};velir.datacenter.UrlParams.indicatorId="ind";velir.datacenter.UrlParams.categoryId="cat";velir.datacenter.UrlParams.locationId="loc";velir.datacenter.UrlParams.locationTypeId="loct";velir.datacenter.UrlParams.sourceId="src";velir.datacenter.UrlParams.timeFrameId="tf";velir.datacenter.UrlParams.dataFormatMapId="fmt";velir.datacenter.UrlParams.characteristicId="ch";velir.datacenter.UrlParams.getParameter=function(a){var b=velir.datacenter.UrlParams;switch(type.toLowerCase()){case"indicator":return b.indicatorId;case"category":return b.categoryId;case"location":return b.locationId;case"locationtype":return b.locationTypeId;case"source":return b.sourceId;case"timeframe":return b.timeFrameId;case"dataformatmap":return b.dataFormatMapId;case"characteristic":return b.characteristicId}return null};var velir=velir||{};velir.util=velir.util||{};velir.util.DomUtil={};velir.util.DomUtil.scrollElementIntoView=function(e,b){if(!e||!b){return}var f=e.offsetTop;var g=$(b).scrollTop();var c=g+$(b).innerHeight();var a=e.offsetHeight;if(f<g){$(b).attr({scrollTop:(f-4)})}else{if(f>c-a){var d=f-$(b).innerHeight()+a+4;$(b).attr({scrollTop:d})}}};
