
function getMonths(decade, year, divid)
{
	var url = "/search/displayMonths.do?decade=" + escape(decade) + "&year=" + year;
	// Get an XMLHTTPConnection object.
	var xhConn = new XHConn();
	if (!xhConn) {	// Browser doesn't support XMLHttpRequest.
		alert("Cannot make remote request to server.");
		return;
	}
	var fnWhenDone =
		function (XHObj)
		{
			if (XHObj.status == 200)
			{
				if (isResponseOk(XHObj.responseText))
				{
					var loiDiv = document.getElementById(divid);
					var response = XHObj.responseText;
					loiDiv.innerHTML = response;
				}
				else
				{	// Just return, as browser is being redirected.
					return;
				}
			}
		}

	xhConn.connect(url, fnWhenDone);
}

function getDays(decade, year, month, divid)
{
	var url = "/search/displayDays.do?decade=" + escape(decade) + "&year=" + year + "&month=" + month;
	// Get an XMLHTTPConnection object.
	var xhConn = new XHConn();
	if (!xhConn) {	// Browser doesn't support XMLHttpRequest.
		alert("Cannot make remote request to server.");
		return;
	}
	var fnWhenDone =
		function (XHObj)
		{
			if (XHObj.status == 200)
			{
				if (isResponseOk(XHObj.responseText))
				{
					var loiDiv = document.getElementById(divid);
					var response = XHObj.responseText;
					loiDiv.innerHTML = response;
				}
				else
				{	// Just return, as browser is being redirected.
					return;
				}
			}
		}

	xhConn.connect(url, fnWhenDone);
}

function getVolumes(coll, divid)
{
	var url = "/search/displayVolumes.do?coll=" + escape(coll);
	// Get an XMLHTTPConnection object.
	var xhConn = new XHConn();
	if (!xhConn) {	// Browser doesn't support XMLHttpRequest.
		alert("Cannot make remote request to server.");
		return;
	}
	var fnWhenDone =
		function (XHObj)
		{
			if (XHObj.status == 200)
			{
				if (isResponseOk(XHObj.responseText))
				{
					var loiDiv = document.getElementById(divid);
					var response = XHObj.responseText;
					loiDiv.innerHTML = response;
				}
				else
				{	// Just return, as browser is being redirected.
					return;
				}
			}
		}

	xhConn.connect(url, fnWhenDone);
}

function isResponseOk(response)
{
	if (response == "serverErrorRetrievingArticles")
	{
		window.location = "/error.do";
		return false;
	}
	if (response == "noArticlesFound")
	{
		window.location = "/sessionTimeout.do";
		return false;
	}
	return true;
}


function getDocumentsForDay(decade, year, month, day, divId) {
	var div = document.getElementById(divId);
	document.body.style.cursor = "wait";
	var url = "/search/showRecords.do?decade=" + escape(decade) + "&year=" + year + "&month=" + month + "&day=" + day;
	// Get an XMLHTTPConnection object.
	var xhConn = new XHConn();
	if (!xhConn) {	// Browser doesn't support XMLHttpRequest.
		alert("Cannot make remote request to server.");
		return;
	}
	var fnWhenDone =
		function (XHObj)
		{
			if (XHObj.status == 200)
			{
				if (isResponseOk(XHObj.responseText))
				{
			    	div.innerHTML = XHObj.responseText;
					div.style.display = "block";
					//document.getElementById("issueImg" + divId.substring(13)).src = "/images/filter_images/collapse.gif";
					window.location = "#issue" + divId.substring(13);
				}
				else
				{	// Just return, as browser is being redirected.
					return;
				}
			}
			else
			{
	            alert("There was a problem retrieving article listing:\n" + xmlhttp.statusText);
			}
	    	document.body.style.cursor = "auto";
		}
	xhConn.connect(url, fnWhenDone);
}


function getDocumentsForCollVol(collvol, divId) {
	var div = document.getElementById(divId);
	document.body.style.cursor = "wait";
	var url = "/search/browseByVolume.do?browseTo=" + escape(collvol) + "&pageNumber=1";
	// Get an XMLHTTPConnection object.
	var xhConn = new XHConn();
	if (!xhConn) {	// Browser doesn't support XMLHttpRequest.
		alert("Cannot make remote request to server.");
		return;
	}
	var fnWhenDone =
		function (XHObj)
		{
			if (XHObj.status == 200)
			{
				if (isResponseOk(XHObj.responseText))
				{
			    	div.innerHTML = XHObj.responseText;
					div.style.display = "block";
					//document.getElementById("issueImg" + divId.substring(13)).src = "/images/filter_images/collapse.gif";
					window.location = "#issue" + divId.substring(13);
				}
				else
				{	// Just return, as browser is being redirected.
					return;
				}
			}
			else
			{
	            alert("There was a problem retrieving article listing:\n" + xmlhttp.statusText);
			}
	    	document.body.style.cursor = "auto";
		}
	xhConn.connect(url, fnWhenDone);
}

/*
** XHConn - Simple XMLHttpRequest Interface Object.
** Modified from http://xkr.us/code/javascript/XHConn/
** Code licensed under Creative Commons Attribution-ShareAlike License
*/
function XHConn()
{
	var xmlhttp, bComplete = false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e)	{ try {	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
		catch (e)	{ try {	xmlhttp = new XMLHttpRequest(); }
		catch (e)	{ xmlhttp = false; }}
	}
	if (!xmlhttp)	return null;

	this.connect = function(sUrl, fnDone)
	{
		if (!xmlhttp) return false;
		bComplete = false;
		try {
			xmlhttp.open("GET", sUrl, true);
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState == 4 && !bComplete)
				{
					bComplete = true;
					fnDone(xmlhttp);
				}
			};
			xmlhttp.send("");
		} catch(z) { return false; }
		return true;
	};
	return this;
}

function getDocumentsByCollection(collectionTitle,volumeTitle,sectionTitle,chapterTitle,subsectionTitle,divId,recordId,os)
{	
	//alert(		
	//	"ListByDate.getDocumentsByCollection"+"\n"
	//	+"----------------------------------"+"\n"
	//	+"collectionTitle="+collectionTitle+"\n"
	//	+"volumeTitle="+volumeTitle+"\n"
	//	+"sectionTitle="+sectionTitle+"\n"
	//	+"chapterTitle="+chapterTitle+"\n"
	//	+"subsectionTitle="+subsectionTitle+"\n"
	//	+"divId="+divId+"\n"
	//	+"recordId="+recordId+"\n"
	//	+"os="+os+"\n"
	//);
												
	var div = document.getElementById(divId);
	var innerDiv = document.getElementById(divId+"_records");
	document.body.style.cursor = "wait";
	//var url = "/search/browseByVolume.do?browseTo=" + escape(collvol) + "&pageNumber=1"
	//----------------------------------------------------------------------------------
	
	var url = "/search/browseByVolume.do";
	if(isNotMSOS(os))
	{
		url = url
		+"?browseTo=" + encodeURIComponent(divId) 
		+"&pageNumber=1"
		+"&collectionTitle="+encodeURIComponent(collectionTitle)
		+"&volumeTitle="+encodeURIComponent(volumeTitle)
		+"&sectionTitle="+encodeURIComponent(sectionTitle)
		+"&chapterTitle="+encodeURIComponent(chapterTitle)
		+"&subsectionTitle="+encodeURIComponent(subsectionTitle);
	}
	else
	{
		url = url
		+"?browseTo=" + escape(divId)
		+"&pageNumber=1"
		+"&collectionTitle="+escape(collectionTitle)
		+"&volumeTitle="+escape(volumeTitle)
		+"&sectionTitle="+escape(sectionTitle)
		+"&chapterTitle="+escape(chapterTitle)
		+"&subsectionTitle="+escape(subsectionTitle);
	}									
	
	// Get an XMLHTTPConnection object.
	var xhConn = new XHConn();
	if (!xhConn) {	// Browser doesn't support XMLHttpRequest.
		alert("Cannot make remote request to server.");
		return;
	}
	var fnWhenDone =
		function (XHObj)
		{
			if (XHObj.status == 200)
			{
				if (isResponseOk(XHObj.responseText))
				{							
			    	//div.innerHTML = XHObj.responseText;
					//ALEX: deal with records only
					if(innerDiv != null)
					{																
			    		innerDiv.innerHTML = XHObj.responseText;			    				    					    	
			    	}	 
			    	   	
					div.style.display = "block";
					//document.getElementById("issueImg" + divId.substring(13)).src = "/images/filter_images/collapse.gif";
					if(recordId.length > 0)
					{
						window.location = "#" + recordId;
					}
					else
					{
						window.location = "#issue" + divId.substring(13);
					}
				}
				else
				{	// Just return, as browser is being redirected.
												
			    	innerDiv.innerHTML = "";	    	
					//return;
					
					//AS IT WAS					
					//return;					
				}
			}
			else
			{
	            alert("There was a problem retrieving article listing:\n" + xmlhttp.statusText);
			}
	    	document.body.style.cursor = "auto";
		}

	xhConn.connect(url, fnWhenDone);	
}

function isNotMSOS(os)
{	
	/*
		PLEASE NOTE:
		if for some reason os is not defined then 
	 	let's  assume that the os is not windows
	 	(as all our servers run Sun OS) 
	 */
	
	if ( (os == undefined) || (os.indexOf("Win")!=-1) )
	{
		return false;
	}
	else
	{
		return true;
	}
}
//PLEASE NOTE THAT THIS FUNCTION WORKS IN MS-IE 6
//PLEASE COMMENT IT ONCE YOU HAVE FINISHED DEBUGING.
//function WriteToFile(sText){
//
//	var fso = new ActiveXObject("Scripting.FileSystemObject");
//	var FileObject = fso.OpenTextFile("C:\\dbpo\\todaylog.txt", 8, true,0); // 8=append, true=create if not exist, 0 = ASCII
//	new Object.write(sText);
//
//	new FileObject.close();
//}