// JavaScript Document
var xmlHttp;
var g_defClass = "-1";
var xmlDoc_base;
var xslDoc_result;

var XSL_CL_FMT = "xsl_competitorlist.xml";
var XSL_SP_FMT = "xsl_seriespoints.xml";
var XSL_SPS_FMT = "xsl_seriespoints_summary.xml";

function series_AJAXPost(action, opt_params){

	
	document.body.style.cursor = "wait";
	
	//document.news.storylist.style.cursor = "wait";

	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	var url=CFG_SWSHOME + "/series/series_AJAX.php";
	var params="action=" + action + opt_params;
	//alert("POST:" + url + params);
	xmlHttp.onreadystatechange=function(){
		//stateChanged_SeriesActionComp;
		//series_DisplayCompetitors_XML(dispType);
		series_AJAXReceive(action);
	};

	xmlHttp.open("POST",url,true);
	
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	
	// REMOVED 7th Jan 2010 - fix for AJAX slowness with SAMX
	//xmlHttp.setRequestHeader("Content-length", params.length);
	//xmlHttp.setRequestHeader("Connection", "close");

	xmlHttp.send(params);

	
}

function series_AJAXReceive(action) 
{ 

	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	 { 
	 	var response = xmlHttp.responseText;
		var msg = ' ';		
		popDown("msgbox");
		//alert("ACTION=" + action + ":response=" + response);
		switch (action){		
		
		case "COMP_GETLIST":	
			//alert(response);
			series_DisplayXML(series_CreateXMLDoc(response, COM_XMLHOME + "/" + XSL_CL_FMT), false, "list");			
			break;
		
		case "RESULT_SP":									
	 		series_DisplayXML(series_CreateXMLDoc(response, COM_XMLHOME + "/" + XSL_SP_FMT), false, "list");			
			break;						
			
		case "RESULT_SPS":
			xd = series_CreateXMLDoc(response, COM_XMLHOME + "/" + XSL_SPS_FMT);
			
	 		series_DisplayXML(xd, false, "list");		
			prepPage_asLoad();
			break;			
			
		case "SERIES_CLASSLIST":			
			document.getElementById("classSelectHTML").innerHTML=response; 			
			break;
		}
	 } 
	 document.body.style.cursor = "default";

}

function series_BuildClassSelect($type)
{ 
	var form = document.round_select;
	params="&sid=" + form.series.options[form.series.selectedIndex].value + "&type=" + $type;
	series_AJAXPost("SERIES_CLASSLIST", params);
}


function series_CompDisplayList()
{ 
	document.getElementById("list").innerHTML="Please wait...";		
	document.body.style.cursor = 'wait';
	
	// pass in selected class
	var cs = document.getElementById("class_code");
	ct = cs.options[cs.selectedIndex].value;
	
	// then pass in series
	var params="&sid="+get_sid(this)+"&type=1&sort=1&class=" + ct;
	
	//alert ("COMP_GETLIST" + params);
	series_AJAXPost("COMP_GETLIST", params);
}

function series_ResultSeriesPoints(sid, type, size, fullFormat){
	
	document.getElementById("list").innerHTML="Please wait...";		
	
	var params = "&sid="+sid+"&type="+type+"&size="+size;	
	var rf = "";

	if (fullFormat){
		// full series points
		rf = "RESULT_SP";
	} else {
		// summary
		rf = "RESULT_SPS";
	}
	series_AJAXPost(rf, params);	
}

function series_ViewSeriesPoints(sid, size, fullFormat){
	
	if (sid.length == 0){
		sid = get_sid(this);
	}
	
	var cs = document.getElementById("class_code");
	type = cs.options[cs.selectedIndex].value;
	//alert(sid + ":" + type + ":" + size);
	series_ResultSeriesPoints(sid, type, size, fullFormat);
}

var SER_ResultSeriesPoints_ClassIndex = 1;

function SER_ResultSeriesPoints_NextClass(){
	SER_ResultSeriesPoints_ClassIndex = SER_ResultSeriesPoints_ClassIndex + 1;
	
	if (SER_ResultSeriesPoints_ClassIndex > document.getElementById("class_code").options.length - 1){		
		document.getElementById("class_code").options.length
		SER_ResultSeriesPoints_ClassIndex = 1;		
	}
	document.getElementById("class_code").selectedIndex = SER_ResultSeriesPoints_ClassIndex;
	//alert(SER_ResultSeriesPoints_ClassIndex);
	series_ViewSeriesPoints(G_SERIES_ID, 5, false);
}

function SER_ResultSeriesPoints_StartTimer(delay){
	var series_timer = setInterval(SER_ResultSeriesPoints_NextClass, delay);
}


function series_xmlInit(xsl_formatter){
	
	if (window.DOMParser) // non-IE
	{
		var parser = new DOMParser();
		xmlDoc_base = parser.parseFromString("","text/xml");
		xmlDoc_base.async="false";
		
		xslDoc = parser.parseFromString("","text/xml");
		
		xslDoc.async="false";
		
		xslDoc = series_LoadXMLDoc(xsl_formatter);
		
		//alert("wait");
	}
	else {// Internet Explorer
		xmlDoc_base = new ActiveXObject("Microsoft.XMLDOM");	
		xmlDoc_base.async="false";

		xslDoc = new ActiveXObject("Microsoft.XMLDOM");
		xslDoc.async="false";
		xslDoc.load(xsl_formatter);
	}				
	
}

function series_CreateXMLDoc(xmlText,  xslFileName){
	
	series_xmlInit(xslFileName);	
	
	if (window.DOMParser)
	{
		var parser=new DOMParser();
		xmlDoc_new=parser.parseFromString(xmlText,"text/xml");
		xmlDoc_new.async="false";
	}
	else {// Internet Explorer
		xmlDoc_new = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc_new.async="false";
		xmlDoc_new.loadXML(xmlText);
	}		
	return xmlDoc_new;
}

function series_DisplayXML(xml_new, createFlag, divName){
	// using xmlDoc_base
	// load XSLT template
	
	var container = document.getElementById(divName);	
	
	if (xml_new.childNodes.length > 0){
		xmlDoc_base = xml_new;

		if (!window.ActiveXObject){  // non IE
			try {
			
				var p = new XSLTProcessor();
				p.importStylesheet(xslDoc);
				var html = p.transformToFragment(xmlDoc_base, document);
				//alert(html);
					container.innerHTML = "";
				//alert(html);
				container.appendChild(html);
				//alert(container.innerHTML);
			
			} catch(e) {
				alert(e);
				container.innerHTML = "no data";
			}		
		
		} else { // IE
			try {
				container.innerHTML = xmlDoc_base.transformNode(xslDoc);
			} catch(e) {
				alert(e);
				container.innerHTML = "no data";
			}
		}
	}

}

function series_LoadXMLDoc(dname)
{
	if (window.XMLHttpRequest)
  	{
		xhttp=new XMLHttpRequest();
	} else  {
  		xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  	}
	xhttp.open("GET",dname,false);
	xhttp.send("");
	return xhttp.responseXML;
}



;
