

function displayPubs(pubs, container, query){
	var json = eval( "(" + pubs + ")");
	var loaded = query["o"];
	var p = json["results"];
	for(var i=0; i<p.length; i++){
		var uri = p[i]["uri"];
		var title = p[i]["title"];
		var link = p[i]["link"];
		var citation =  p[i]["citation"];
		var authors = p[i]["authors"];
		var editors = p[i]["editors"];
		var abstract = p[i]["abstract"];
		var keywords = p[i]["keywords"];
		var year =  p[i]["year"];
		var pdfloc = "http://lsdis.cs.uga.edu/images/pdf.gif";
		var arrow = "http://lsdis.cs.uga.edu/images/right_arrow.gif"
		
		var template = "<div><table><tr>"+
			"<td class=\"counter\">"+(i + loaded +1)+"</td><td><div class=\"pub_data\">";
		if(link) template += "<a href=\""+link+"\" class=\"pdf_link\"><img src=\""+pdfloc+"\"/></a>";
		if(title) template += "<strong><u>"+title+"</u></strong><br/>";
		if(citation) template += "<span>"+citation+"</span><br/>";
		if(authors){
			template += "<strong>Authors:</strong> <span>";
			for(var j=0; j<authors.length; j++){
				template += authors[j]["name"];
				if(j != authors.length-1) template += ", ";
			}
			template += "</span><br/>";
		}
		if(editors){
			template += "<strong>Editors:</strong> <span>";
			for(var j=0; j<editors.length; j++){
				template += editors[j]["name"];
				if(j != editors.length-1) template += ", ";
			}
			template += "</span><br/>";
		}
		if(keywords) template += "<strong>Keywords:</strong> <span>"+keywords+"</span><br/>";
		if(abstract){
			var prefix = abstract.substring(0, 70);
			var rest = abstract.substring(70);
			template += "<strong>Abstract:</strong> <span>"+ //<img src=\""+arrow+"\" onclick=\"toggle(this);\"/>"
			"<span>"+prefix+"</span><span class=\"prefix\">...<a href=\"javascript:void(0);\" onclick=\"toggle(this.parentNode);\"/>[more]</a></span>"+
			"<span style=\"display:none\" class=\"rest\">"+rest+" <a href=\"javascript:void(0);\" onclick=\"toggle(this.parentNode);\"/>[less]</a></span></span>";
		}
		template += "</div></td></tr></table></div>";
		container.innerHTML += template;	
	}
	var rStr = " Result";
	if(json["count"] > 1) rStr += "s";
	$("#count").text(json["count"] + rStr);
	if(loaded == json["count"]) query["stop"] = true;
	query["o"] = query["o"] +  p.length;
	transformContainer(container, query);
}

function getPubs(container, query){
	container.query = query;
	var url = "proxy.php";
	var callback = function(data) { displayPubs(data, container, query); };			
	$.get(url, query, callback);
}

function toggle(t){	$(t.parentNode).find("span.rest").toggle();
	$(t.parentNode).find("span.prefix").toggle();}

function submitForm(frm, container){
	if(frm){
		var query = {};
		//var qstr = "";
		for(var i=0; i<frm.elements.length; i++){
			if(frm.elements[i].type != "submit" && frm.elements[i].name){
				var frmName = frm.elements[i].name;
				var frmVal = frm.elements[i].value;
				query[frmName] = encodeURIComponent(frmVal);
				//qstr += frmName + "=" + encodeURIComponent(frmVal) + "&";
			}
		}
		//alert(qstr);
		query["o"] = 0;
		container.innerHTML = "";
		transformContainer(container, query);
		getPubs(container, query);
	}
}

function transformContainer(container, query){
	var scr = function(){
		if(!query["stop"]){
			if( ((this.scrollHeight - this.offsetHeight) - this.scrollTop) < 50){
				container.onscroll = "";
				getPubs(container, query);
			}
		}
	}
	container.onscroll = scr;
}