// JavaScript Document
var iNumResults = 20;
var iCurrentOffset = 0;

callback = function(){ 
	map.clearOverlays();
	gmm = null;
	gmm = new GMarkerManager(map);
	
	// Enable the searchButton
	document.scapiForm.searchButton.disabled = false;
	document.getElementById('divWaiting').innerHTML = '';
	
	var text = '';
	var firstResult = true;
	
	var retryCount = 0;
    var a = 0;

	InitSerializer ();
	
	if(!scapi.areSearchResultsValid())
		return false;
	else
	{
		//var Result = new Result();
		var Results = new ResultList();
		Results.ReadFromArray(scapi.getSearchResults());

		var text = '';//<table>';
		//text += '<tr><td colspan="4">Actions</td>';
		//text += '<td>Title</td></tr>';
		//alert("results length = "+Results.Result.length);
		for (i=0; i < Results.Result.length; i++) {
			a = i+1;
			title  = '<b>'+a+'. </b>';
			var authors = new Array();
				authors = Results.Result[i].authlist.split(" | ");
			for(var auth=0; auth < authors.length-1; auth++)
			{
				title += authors[auth]+' , ';
				if(auth == 6)
				{
					title += '..., ';
					break;
				}
			}
			title += authors[authors.length-1]+'<br>';
			title += '<b>'+Results.Result[i].title+'</b><br>';
			title += '('+Results.Result[i].pubdate+') '+Results.Result[i].sourcetitle;
			title += ', '+Results.Result[i].vol;
			title += ' pp. '+Results.Result[i].page+'<br>';
			title += ' <a href="'+Results.Result[i].inwardurl.replace("record",  "citedby")+'">Cited : '+Results.Result[i].citedbycount+' times</a><br>';;
			if(Results.Result[i].doi != '')
			{
				title += '<a href="http://dx.doi.org/'+Results.Result[i].doi+'">view fulltext</a>';
			}
			title += '<br><br>';
			
			//showAddress(Results.Result[i].affiliations, title, i, firstResult);
			CreateAddressBalloon (Results.Result[i].affiliations, title, i, firstResult, null, retryCount);

			firstResult = false;
		}
		gmm.refresh();
		
		/*
		var resultDataText = '<table><tr><td>Total hits:</td>';
		resultDataText += '<td>'+scapi.getTotalHits()+'</td></tr>';
		resultDataText += '<tr><td>Results displaying:</td>';
		var a = 0;
			a = parseInt(scapi.getPosition())+1;
		var b = 0;
			b = parseInt(iCurrentOffset) + parseInt(scapi.getNumResults());
		resultDataText += '<td>'+a+' to '+b+'</td></tr></table>';

		// Write the text in de div box
		document.getElementById('divResultData').innerHTML = resultDataText;
		*/
	}
}

errorcallback = function(){ 
	// Enable the searchButton
	document.scapiForm.searchButton.disabled = false;
	
	// Display a warning
	document.getElementById('divResult').innerText = 'No results';
}
                
runSearch = function(data){
	if(data == "+")
		iCurrentOffset += iNumResults;
	else if(data == "-")
		iCurrentOffset -= iNumResults;
	
	if(iCurrentOffset < 0)
		iCurrentOffset = 0;
	
	// set a waiting image in the scapi DIV
	document.getElementById('divWaiting').innerHTML = '<img src="Images/logo_spin_12.gif" alt="Searching..." />';
	
	// Disable the searchButton
	document.scapiForm.searchButton.disabled = true;
	
	var varSearchObj = new searchObj();
	varSearchObj.setFields('affiliations,authlist,title,sourcetitle,pubdate,vol,page,inwardurl,doi,citedbycount');
	varSearchObj.setSort('citedbycount');
	varSearchObj.getSortDirection('DESC');
	varSearchObj.setNumResults(iNumResults);
	varSearchObj.setOffset(iCurrentOffset);
	
	query = 'subjarea(' + document.scapiForm.subjarea.value + ') ';
	
	varSearchObj.setSearch(query);
	
	scapi.setCallback(callback);
	scapi.runSearch(varSearchObj);
}

load = function(){
	getSubjectAreaText();
	loadGMap();
}

getSubjectAreaText = function(){
		var index = document.getElementById('subjarea').selectedIndex;
		var selectedValue = document.getElementById('subjarea')[index].value;
		var selectedValueText = "";
		if (selectedValue == "ENGI") { 
			selectedValueText = "Engineering";
		} else if (selectedValue == "MEDI") {
			selectedValueText = "Medicine";
		} else if (selectedValue == "MATE") {
			selectedValueText = "Mathematics";
		} else if (selectedValue == "BIOC") {
			selectedValueText = "Biochemistry, Genetics and Molecular Biology";
		} else if (selectedValue == "PHYS") {
			selectedValueText = "Physics and Astronomy";
		} else if (selectedValue == "CHEM") {
			selectedValueText = "Chemistry";
		} else if (selectedValue == "BUSI") {
			selectedValueText = "Business";
		} else if (selectedValue == "EART") {
			selectedValueText = "Earth and Planetary Sciences";
		} else if (selectedValue == "IMMU") {
			selectedValueText = "Immunology and Microbiology";
		} else if (selectedValue == "ENVI") {
			selectedValueText = "Environmental Sciences";
		} else if (selectedValue == "SOCI") {
			selectedValueText = "Social Sciences";
		} else if (selectedValue == "NEUR") {
			selectedValueText = "Neuroscience";
		} else if (selectedValue == "COMP") {
			selectedValueText = "Computer Sciences";
		} else if (selectedValue == "ENER") {
			selectedValueText = "Energy";
		} else {
			selectedValueText = "Engineering";
		}						
		
		if (document.getElementById('resultsText')){
			document.getElementById('resultsText').innerHTML = "<b>The 20 most highly cited articles within  \'"+selectedValueText+"\' .</b>";
		}
}