(function(){var j=window.ri=window.ri||{};var m=window.document;if(typeof j.widget!="undefined"){return}var p={};j.widget=function(u,y){y=r({},j.widget.settings,y||{});for(var w=0;w<y.stylesheets.length;w++){var v=y.stylesheets[w];if(!(v.href in p)){p[v.href]=v;n=s("link",{href:v.href,type:"type" in v?v.type:"text/css",media:"media" in v?v.media:"all",rel:"stylesheet"});u.parentNode.insertBefore(n,u)}}if(typeof u.length!="number"){return new j.widget.SearchForm(f(u,y.widgetClass),y)}var x=[];for(var w=0;w<u.length;w++){x.push(new j.widget.SearchForm(f(u[w],y.widgetClass),y))}return x};var a="http://ri.ijc.org/widget/";j.widget.settings={widgetClass:"ri-widget",items:5,stylesheets:[{href:a+"style.css"}],images:{logo:{url:a+"ri-logo.png",w:107,h:60,alt:"Search the Research Inventory"},search:{url:a+"search.png",w:30,h:30,alt:"Filter projects by keyword",trans:true},lake:{url:a+"lakes.png",w:49,h:30,alt:"Filter projects by watershed",trans:true},investigator:{url:a+"investigator.png",w:30,h:30,alt:"Filter projects by investigators",trans:true},wait:{url:a+"wait.gif",w:48,h:48,alt:"Loading search results"},close:{url:a+"close.png",w:30,h:30,alt:"Close search results",trans:true}}};j.widget.SearchForm=function(v,u){u=r({},j.widget.settings,u||{});this.images=r({},j.widget.settings.images,u.images||{});this.subscribers={};this.fields=[b("Keyword Search",this.images.search,l(s("input",{type:"text",name:"query"}),"kw-starter")),b("Lake or River",this.images.lake,s("select",{name:"lake"},s("option",{value:"all"},g("All Lakes & Rivers")))),b("Investigator",this.images.investigator,l(s("input",{type:"text",name:"investigator"}),"inv-starter"))];this.searchForm=s("form",{"class":"ri-query-form",method:"GET"},this.fields.concat([s("input",{type:"submit",name:"search",value:"Search"})]));var z=null;this.searchForm.onsubmit=function(G){var E={q:this.query.value};if(this.lake.value!="all"){E.lake=this.lake.value}if(this.investigator.value!=""){E.pi=this.investigator.value}if(z&&z.parentNode){z.parentNode.removeChild(z)}z=s("div",{"class":"result-box"});v.appendChild(z);var F=new j.widget.ResultBox(z,new j.query.pager(E,u.items),u);return false};var y=this;function A(E){return function(){y.select(E);return false}}for(var x=0;x<this.fields.length;x++){var C=this.fields[x].getElementsByTagName("a");var D=A(x);for(var w=0;w<C.length;w++){C[w].onclick=D}}var B=false;this.subscribe("selected",function(F){var E=this.fields[1];if(!B&&E==F){j.query.lakes(function(G){var J=E.getElementsByTagName("select")[0];for(var H=G.lakes,I=0;I<H.length;I++){J.appendChild(s("option",{value:""+H[I].id},g(H[I].name)))}});B=true}});this.select(0);c(v);v.appendChild(s("div",{"class":"ri-widget-search"},[t(this.images.logo,{"class":"logo"}),this.searchForm]))};j.widget.SearchForm.prototype={select:function(v){for(var u=0;u<this.fields.length;u++){this.fields[u].className="field"+(u==v?" selected":"")}this.notify("selected",this.fields[v])},subscribe:function(u,v){if(this.subscribers[u]==undefined){this.subscribers[u]=[]}this.subscribers[u].push(v)},notify:function(x){var w=this.subscribers[x]||[];var u=w.slice.call(arguments);u.shift();for(var v=0;v<w.length;v++){w[v].apply(this,u)}}};function b(u,w,v){return s("div",{"class":"field"},[s("a",{href:"#",title:u},[t(w),s("label",null,g(u))]),s("div",{"class":"control"},v)])}j.widget.ResultBox=function(w,u,v){v=r({},j.widget.settings,v||{});this.images=r({},j.widget.settings.images,v.images||{});this.pager=u;c(w);this.wait=w.appendChild(s("div",{"class":"wait"},t(this.images.wait)));this.list=w.appendChild(s("ol",{"class":"list"}));this.pglist=w.appendChild(s("ul",{"class":"pager"}));this.close=w.appendChild(s("a",{href:"#","class":"close-button"},t(this.images.close)));f(w,"ri-widget-results");this.close.onclick=function(y){w.parentNode.removeChild(w)};var x=this;u.subscribe("switch",function(y){x.wait.style.display="block"});u.subscribe("change",function(){x.update();x.wait.style.display="none"});if(u.ready){u.switchPage(1)}};j.widget.ResultBox.prototype={page:function(u){if(u==undefined){return this.page}},update:function(){var w=this.pager.getProjects();c(this.list);if(w.length==0){this.list.setAttribute("start","1");this.list.appendChild(s("li",{"class":u},[s("p",{"class":"no-projects"},g("Your search did not match any projects."))]))}else{this.list.setAttribute("start",""+((this.pager.page-1)*this.pager.pageSize+1));for(var v=0;v<w.length;v++){var x=w[v];var u="objective "+(v==0?"first":(v==w.length-1?"last":""));this.list.appendChild(s("li",{"class":u},[s("a",{href:x.url,target:"_blank"},g(x.title)),s("p",{"class":"objective"},g(x["abstract"]))]))}}c(this.pglist);for(var v=1;v<=this.pager.pageCount;v++){(function(A){var y=this.pager,z=s("a",{href:"#","class":(A==y.page?"selected page-num":"page-num")},g(A));z.onclick=function(){y.switchPage(A);return false};this.pglist.appendChild(s("li",null,z))}).call(this,v)}}};function e(u){return Object.prototype.toString.call(u)=="[object Array]"}var d=false,k=navigator.userAgent.match(/\WMSIE (\d)\.(\d)\W/);if(k&&parseInt(k[1])<7){d=true}function s(u,x,w){x=x||{};w=w?(e(w)?w:[w]):[];var A=m.createElement(u);if("name" in x){try{A=m.createElement("<"+u+' name="'+x.name+'">')}catch(z){}}for(var v in x){if(v=="class"){A.className=x[v]}else{A.setAttribute(v,x[v])}}for(var y=0;y<w.length;y++){A.appendChild(w[y])}return A}function t(v,u){u=u||{};u.src=v.url;if("w" in v){u.width=v.w}if("h" in v){u.height=v.h}if("alt" in v){u.alt=v.alt}i=s("img",u);if(d&&"trans" in v&&v.trans&&/\.png$/.test(u.src)){i=o(i)}return i}var q=a+"spacer.gif";function o(u){var w=s("img",{src:q,width:u.width,height:u.height});var v=s("span",{},w);v.style.width=u.width;v.style.height=u.height;v.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+u.src+"', sizingMethod='scale')";return v}function g(u){return m.createTextNode(""+u)}function c(v,u){while(u=v.firstChild){v.removeChild(u)}}function f(x,w){var v=x.className||"",u=new RegExp("(^|\\s)"+w+"($|\\s)");if(!u.test(v)){v+=" "+w}x.className=v;return x}function h(x,w){var v=x.className||"",u=new RegExp("(^|\\s)"+w+"($|\\s)");x.className=v.replace(u," ","g");return x}function l(A,z){var v=function(){},u=A.onfocus||v,y=A.onblur||v,w=A.onchange||v,C=false,B=function(){C=true;f(A,z)},x=function(){C=false;h(A,z)};A.onfocus=function(D){if(C){x()}return u.call(this,D)};A.onblur=function(D){if(A.value==""){B()}return y.call(this,D)};A.onchange=function(D){if(A.value==""){B()}else{x()}return w.call(this,D)};if(A.value==""){B()}return A}function r(v){for(var w=1;w<arguments.length;w++){var x=arguments[w];for(var u in x){v[u]=x[u]}}return v}})();(function(){var b=window.ri=window.ri||{};var a=window.document;function e(h,g){this.query=typeof h=="string"?{q:h}:h;this.ready=false;this.pageCount=1;this.pageSize=g>0?g:10;this.pages=[];this.page=1;this.subscribers={};h.maxResults=this.pageSize;var i=this;this.run=function(j){f(b.query.service.projects,j,function(k){i.pageCount=k.pageCount;i.pageSize=k.pageSize;i.page=k.page;i.pages[i.page]=k.projects;i.ready=true;i.notify("change")})};this.switchPage(1)}e.prototype={getProjects:function(){if(!this.ready){return null}return this.pages[this.page]},switchPage:function(g){if(g<1||g>this.pageCount){throw new Error("Cannot switch to invalid page: "+g)}this.notify("switch",g);if(this.pages[g]){this.page=g;this.notify("change")}else{this.ready=false;this.query.page=g;this.run(this.query)}},subscribe:function(g,h){if(this.subscribers[g]==undefined){this.subscribers[g]=[]}this.subscribers[g].push(h)},notify:function(k){var j=this.subscribers[k]||[];var g=j.slice.call(arguments);g.shift();for(var h=0;h<j.length;h++){j[h].apply(this,g)}}};b.query=function(g,h){if(typeof g=="string"){g={q:g}}f(b.query.service.projects,g,h)};b.query.pager=function(h,g){return new e(h,g)};b.query.lakes=function(g){f(b.query.service.lakes,null,g)};var d="http://ri.ijc.org/webapi/dev";b.query.service={projects:d+"/projects.json.cfm",lakes:d+"/lakes.json.cfm"};b.query.callbacks=[];function f(g,j,l){j=j||{};var k=b.query.callbacks.length;b.query.callbacks[k]=l;j.callback="ri.query.callbacks["+k+"]";var h=c(g,j);var i=a.createElement("script");i.setAttribute("src",h);i.setAttribute("type","text/javascript");a.body.appendChild(i)}function c(g,i){var h=[];for(p in i){h.push(p+"="+escape(i[p]))}return g+(g.indexOf("?")>=0?"&":"?")+h.join("&")}})();