var velir=velir||{};velir.util=velir.util||{};velir.util.DomUtil={scrollElementIntoView:function(d,b,c){if(d&&b){if(typeof c=="undefined")c=4;var f=d.offsetTop,a=$(b).scrollTop(),e=a+$(b).innerHeight();d=d.offsetHeight;if(f<a)$(b).attr({scrollTop:f-c});else if(f>e-d){c=f-$(b).innerHeight()+d+c;$(b).attr({scrollTop:c})}}}};velir=velir||{};velir.util=velir.util||{};velir.util.StringUtil={isNullOrEmpty:function(d){return d===null||d===undefined||d===""}};velir=velir||{};velir.forms=velir.forms||{};
velir.forms.GhostText={apply:function(d,b,c,f){$(d).each(function(){velir.forms.GhostText.applyTo($(this),b,c,f)})},applyTo:function(d,b,c,f){if(d.is('input[type="text"]')){var a=velir.util.StringUtil.isNullOrEmpty;a(d.val())&&d.val(b);d.focus(function(){if($(this).val()===b){$(this).val("");a(c)||$(this).toggleClass(c)}});d.blur(function(){if($(this).val()===""){$(this).val(b);a(c)||$(this).toggleClass(c)}});f!==null&&d.keypress(function(e){e.keyCode==13&&f(e)})}},install:function(d){$.fn[d]=function(b,
c,f){return this.each(function(){velir.forms.GhostText.applyTo($(this),b,c,f)})}}};velir=velir||{};velir.datacenter=velir.datacenter||{};
velir.datacenter.DatacenterContainer=function(){var d=this;this.addValuesToCollection=function(b,c,f){for(var a=0;a<f.length;a++)b.add(c,f[a].id)};this.getValuesFromCollection=function(b,c,f,a,e){if(b=b.getValue(c)){b=b.split(",");var g="";if(velir.datacenter.DatacenterContainer.entitySearchService)g="Loading...";$(b).each(function(h,i){f.push({id:""+i,name:g})});if(velir.datacenter.DatacenterContainer.entitySearchService){b=JSON.stringify({ids:b});$.ajax({type:"POST",url:velir.datacenter.DatacenterContainer.entitySearchService+
("/Find"+a+"s"),data:b,contentType:"application/json; charset=utf-8",dataType:"json",error:function(h,i){alert("Error connecting to entity search service.\n\n"+i)},success:function(h){h=JSON.parse(h.d);for(var i=0;i<h.length;i++){var j=h[i],k=-1;$(f).each(function(l,m){if(m.id==j.id){k=l;return false}});k>-1&&f.splice(k,1,j)}e&&e()}})}else e&&e()}};return{loadEntityNames:false,entitySearchService:"",indicators:[],timeFrames:[],dataFormatMaps:[],characteristics:[],locations:[],categories:[],toNameValueCollection:function(){var b=
velir.datacenter.UrlParams,c=new velir.collections.NameValueCollection;d.addValuesToCollection(c,b.indicatorId,this.indicators);d.addValuesToCollection(c,b.timeFrameId,this.timeFrames);d.addValuesToCollection(c,b.dataFormatMapId,this.dataFormatMaps);d.addValuesToCollection(c,b.characteristicId,this.characteristics);d.addValuesToCollection(c,b.locationId,this.locations);d.addValuesToCollection(c,b.categoryId,this.categories);return c},toQueryString:function(){return this.toNameValueCollection().toQueryString()},
fromQueryString:function(b,c){var f=velir.datacenter.UrlParams,a=velir.collections.NameValueCollection.parseQueryString(b);d.getValuesFromCollection(a,f.indicatorId,this.indicators,"Indicator",c);d.getValuesFromCollection(a,f.timeFrameId,this.timeFrames,"TimeFrame",c);d.getValuesFromCollection(a,f.dataFormatMapId,this.dataFormatMaps,"DataFormatMap",c);d.getValuesFromCollection(a,f.characteristicId,this.characteristics,"Characteristic",c);d.getValuesFromCollection(a,f.locationId,this.locations,"Location",
c);d.getValuesFromCollection(a,f.categoryId,this.categories,"Category",c)}}};velir.datacenter.DatacenterContainer.parseQueryString=function(d,b){var c=new velir.datacenter.DatacenterContainer;c.fromQueryString(d,b);return c};velir.datacenter.DatacenterContainer.entitySearchService=false;velir=velir||{};velir.datacenter=velir.datacenter||{};
velir.datacenter.UrlParams={indicatorId:"ind",categoryId:"cat",locationId:"loc",locationTypeId:"loct",sourceId:"src",timeFrameId:"tf",dataFormatMapId:"fmt",characteristicId:"ch",getParameter:function(d){var b=velir.datacenter.UrlParams;switch(d.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}};velir=velir||{};velir.collections=velir.collections||{};
velir.collections.NameValueCollection=function(){var d=this,b,c;this.initialize=function(){b={};c=[]};this.combine=function(a){for(var e="",g=0;g<a.length;g++){var h=a[g];if(h)e+=h+","}return e.length===0?null:e.substring(0,e.length-1)};var f={add:function(a,e){var g=b[a];if(!g){g=[];c.push(a)}e&&g.push(e);b[a]=g},addNameValueCollection:function(a){if(a)for(var e=a.getKeys(),g=0;g<e.length;g++){var h=e[g],i=a.getValues(h);if(i&&i.length>0)for(var j=0;j<i.length;j++)this.add(h,i[j]);else this.add(h,
null)}},setValue:function(a,e){b[a]||c.push(a);var g=[];e&&g.push(e);b[a]=g},clear:function(){d.initialize()},getValue:function(a){if(!b[a])return null;return d.combine(b[a])},getValueAt:function(a){return this.getValue(c[a])},getValues:function(a){if(!b[a])return null;return b[a]},getValuesAt:function(a){return this.getValues(c[a])},getKeys:function(){return c},remove:function(a){var e=$.inArray(a,c);if(e>-1)c=c.splice(e,1);b[a]=null},toQueryString:function(){for(var a="",e=0;e<c.length;e++){var g=
c[e],h=b[g];h||(h="");a+="&"+g+"="+escape(h)}if(a.length>0)return a.substring(1,a.length);return a},fromQueryString:function(a){if(!(!a||a.length===0)){if(a.indexOf("?")>-1)a=a.split("?")[1];if(a.indexOf("#")>-1)a=a.split("#")[0];a=a.split("&");for(var e=0;e<a.length;e++){var g=a[e].split("="),h=g[0],i=null;if(g.length>1)i=unescape(g[1]);this.add(h,i)}}}};d.initialize();return f};
velir.collections.NameValueCollection.parseQueryString=function(d){var b=new velir.collections.NameValueCollection;b.fromQueryString(d);return b};

