function CheckForm(frm)
{
	frm.clscourseoutlines_hdnaction.value = 'Search';
	return true;
}

function ResetAll()
{
	document.formmain.clscourseoutlines_schoolid.value = "";
	document.formmain.clscourseoutlines_semester.value = "";
	document.formmain.clscourseoutlines_keywords.value = "";
}

function navigatepage(clslistname,pageno)
{
	document.getElementById(clslistname+"_currentpage").value=pageno;
	document.formmain.submit();
	return;
}

function GotoPage(pageno,url)
{
	var frm = document.formmain;
	var strurl = "";
	var fieldname = new String;
	frm.clscourseoutlines_courseoutlinelist_currentpage.value = pageno;
	if(frm.clscourseoutlines_hdnaction.value=="Search")
	{
		for(i=0; i<frm.length; i++)
		{
			var fieldname = new String(frm.elements[i].name);
			fieldname = fieldname.replace("clscourseoutlines_courseoutlinelist_","");
			fieldname = fieldname.replace("clscourseoutlines_","");
			strurl = strurl + (fieldname + "="+frm.elements[i].value) + "&"
		}
	}
	else
	{
		strurl = ("currentpage="+pageno);
	}
	
	strurl = url+strurl;
	window.location = strurl;
	return false;
}

function sortby(sortname,clslistname)
{
	if (document.getElementById(clslistname+"_sortby").value==sortname)
	{
		if (document.getElementById(clslistname+"_sorttype").value=='ASC')
		{
			document.getElementById(clslistname+"_sorttype").value='DESC';
		}
		else
		{
			document.getElementById(clslistname+"_sorttype").value='ASC';
		}
	}
	else
	{
		document.getElementById(clslistname+"_sorttype").value='ASC';
	}
	document.getElementById(clslistname+"_sortby").value=sortname;
	document.formmain.submit();
}
/******************************************************************************************************/
					// Ajax Function
/*******************************************************************************************************/
// holds an instance of XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
// creates an XMLHttpRequest instance
function createXmlHttpRequestObject()
{
	// will store the reference to the XMLHttpRequest object
	var xmlHttp;
	// this should work for all browsers except IE6 and older
	try
	{
		// try to create XMLHttpRequest object
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		// assume IE6 or older
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
		"MSXML2.XMLHTTP.5.0",
		"MSXML2.XMLHTTP.4.0",
		"MSXML2.XMLHTTP.3.0",
		"MSXML2.XMLHTTP",
		"Microsoft.XMLHTTP");
		// try every prog id until one works
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
		{
			try
			{
				// try to create XMLHttpRequest object
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e) {}
		}
	}
	
	// return the created object or display an error message
	if (!xmlHttp)
		alert("Error creating the XMLHttpRequest object.");
	else
		return xmlHttp;
}
// called to read a file from the server
function process(id)
{
	// only continue if xmlHttp isn't void
	if (xmlHttp)
	{
		// try to connect to the server
		try
		{
			// initiate reading the async.txt file from the server
			xmlHttp.open("GET", "ajaxcourseoutline.php?schoolid="+id, true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		}
		// display the error in case of failure
		catch (e)
		{
			alert("Can't connect to server:\n" + e.toString());
		}
	}
}

// function that handles the HTTP response
function handleRequestStateChange()
{
	// display the status of the request
	// when readyState is 4, we also read the server response
	if (xmlHttp.readyState == 4)
	{
		// continue only if HTTP status is "OK"
		if (xmlHttp.status == 200)
		{
			try
			{
				// read the message from the server
				var xmlResponse = xmlHttp.responseXML;
				
				// obtain the XML's document element
				xmlRoot = xmlResponse.documentElement;
						
				// obtain arrays with book titles and ISBNs
				subSemesterArray = xmlRoot.getElementsByTagName("semester");
				
				var semesterArrayLength = subSemesterArray.length;
				// generate id and title array
				var arrId = new Array(semesterArrayLength);
				
				/*for(var i=0; i<semesterArrayLength; i++)
					arrId[i] = new Array(2);*/
					
				// iterate through the arrays and create an HTML structure
				for (i=0; i<semesterArrayLength; i++)
				{
					arrId[i] = subSemesterArray.item(i).firstChild.data;
				}
				
				var doc = document.getElementById("clscourseoutlines_semester");
				lgth = document.getElementById("clscourseoutlines_semester").options.length;			
						
				//alert(navigator.userAgent);
				// Delete current options object.
				if (navigator.appName != "Microsoft Internet Explorer")
				{
					for(i=lgth-1; i>=1; i--)
					{
						document.getElementById("clscourseoutlines_semester").options[i]=null;
					}
				}
				else
				{
					for(i=lgth-1; i>=1; i--)
					{
						document.getElementById("clscourseoutlines_semester").options.remove(i);
					}
				}				
				
				for(i=0; i<arrId.length; i++)
				{
					//alert("Semester: "+arrId[i]);
					document.getElementById("clscourseoutlines_semester").options[i+1] = new Option(arrId[i],arrId[i]);
				}
				
				
			}
			catch(e)
			{
				// display error message
				alert("Error reading the response: " + e.toString());
			}
		}
		else
		{
			// display status message
			alert("There was a problem retrieving the data:\n" +xmlHttp.statusText);
		}
	}
}
