// JavaScript Document: RESULTS VERSION
var server_error = '<div class="mouseover"><label for="0_section" class="scroll"><input name="eventsection" id="0_section" type="radio" value="Any section" checked="checked"  />Any section</label></div>';
var loading_image = '<p> updating list <img src="images/loading.gif" alt="loading ..." width="32" height="32" align="left" /></p>';

function GetSections() {
   /*
	* FUNCTION TO GET SECTIONS RELEVANT TO SELECTED CLASS
	*/
	
	// show loading gif
	document.getElementById('loadingimage').innerHTML = loading_image;
	// get selected class
	var class_list = GetClasses();
	//alert(class_list);
	if( class_list == '') {
		//alert('please provide a username and a password!'); // empty form
	}
	else {
		// get sections using Ajax call
		// from: http://www.w3schools.com/ajax/ajax_browsers.asp
		try {

			xmlHttp=GetXmlHttpObject() // create XML HTTP object
			if (xmlHttp==null){ // problem
				alert ("Website alert:\nYour browser does not support HTTP Request");
				return;
			} 
			// build url to pass to server
			//var url="http://www.xposition.co.uk/longleat/functions/ajax_sections.asp";
			// temp server:
			var url="/functions/ajax_sections.asp";
			url = url+"?class="+class_list;
			url = url+"&sid="+Math.random(); // not used at server, prevents spamming?
			xmlHttp.onreadystatechange = stateChangedClass; // listen for server response
			xmlHttp.open("GET",url,true); // send via GET (security issues here)
			xmlHttp.send(null);


		}
		catch(err)
		{
			// error message
			txt="There was an error on this page:\n"+err.description;
			alert(txt);
			return false; // never submit the form
	
		}
	} // username/password

} // end function


// get user selection for "class"
function GetClasses() {
	
	// 1_section up to 14_section
	// alert('validating form ...');
	var min_q = 0; // start option index
	var max_q = 100; // end option index
	var unanswered = 0; // number of questions not answered
	var option_selected = ''; // number of the option selected for an answer

	for(var i=min_q; i<=max_q; i++) { // loop for each option
			if(document.getElementById(i+'_class')!=null) {// element exists
				// element from: http://www.guyfromchennai.com/?p=20 
				if(document.getElementById(i+'_class').checked==true) {
					//alert(i+'_class = '+document.getElementById(i+'_class').value);
					option_selected += document.getElementById(i+'_class').value;//.options[i].text+','; // grab option text
				} // button selected
			} // element exists
			else {
				break; // no more options to check ...
			}
	
	} // end question loop
	if (option_selected != '') {option_selected = String(option_selected).substring(0,String(option_selected).length);} // remove last comma

	return option_selected; // return selected option

}

function resetLoadingImage() {
	document.getElementById('loadingimage').innerHTML = 'rider section: ';		
}

// Ajax/Json functions
// from: http://www.w3schools.com/ajax/ajax_xmlhttprequest.asp
// and: http://www.json.org/js.html
// and: http://www.ibm.com/developerworks/web/library/wa-ajaxintro11.html
function stateChangedClass(){ 
	var option_list = server_error; // default
	if (xmlHttp.readyState==4 || xmlHttp.readyState=='complete'){ 
		// place server response into hidden field for processing
		option_list = xmlHttp.responseText;
		// check for server response (blank = user details not found)
		if( option_list == '' ) {
			option_list = server_error;
			} // end if
	} // end if
	document.getElementById('ridersection').innerHTML = option_list;
	setTimeout("resetLoadingImage()", 1000); // allow a second before hiding the gif
}  // end function

function GetXmlHttpObject() { 
	// create connection object
	// deal with different browsers ...
	var objXMLHttp=null
	if (window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");//"Microsoft.XMLHTTP")
	}
	return objXMLHttp
} 

    /*var objXMLHTTP = new ActiveXObject("Msxml2.XMLHTTP.3.0");
    objXMLHTTP.open("GET", "http://www.PerfectXML.com", false);
    objXMLHTTP.send();
    document.write(objXMLHTTP.responseText);
	// http://www.perfectxml.com/msxmlHTTP.asp
	*/
