/*
	UPDATING INSTRUCTIONS
	DO NOT TOUCH THIS DOCUMENT
	TO UPDATE THE STANDARDS GO THE XML FOLDER, IN THE FOLDER ARE XML DOCUMENTS THAT CONTAIN THE DIFFERENT STANDARDS FOR EACH AGE GROUP
	FOR EXAMPLE: male19.XML CONTAINS THE STANDARDS FOR MALES FROM 19 TO 23
	WITHIN THE XML DOCUMENTS CU STANDS FOR CURL-UPS, PU FOR PUSH-UPS, THE FIRST SET OF STANDARDS IS FOR OUTSTANDING HIGH, AND PROCEEDS DOWN
	THE LIST OF CATEGORIES FOR EACH STANDARD ENDING WITH PROBATIONARY
*/

var http_request = false;
var age, cu, pu, ru;
//var text ="";
function loadXMLDoc(file, age, cu, pu,ru)
{
	http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
    http_request.open('GET', file, true);
	http_request.onreadystatechange = calculate;
    http_request.send(null);
}

function calculate()
{
	if(http_request.readyState == 4) {
		if(http_request.status == 200) {
			var xmlDoc = http_request.responseXML;
			
			var s = xmlDoc.getElementsByTagName("STANDARDS");
			var pushups = new Array();
			var curlups = new Array();
			var run = new Array();
			var scores = new Array();
	
			//text += "length = " + s.length + "<br />";
			for(var i=0; i<s.length; i++)
			{
				curlups[i] = s[i].getElementsByTagName("CU")[0].childNodes[0].nodeValue;
				pushups[i] = s[i].getElementsByTagName("PU")[0].childNodes[0].nodeValue;
				run[i] = s[i].getElementsByTagName("RUN")[0].childNodes[0].nodeValue;
			}
	
			var pushupScore=40, curlupScore=40, runScore=40, totalScore=0, avgScore=0;
			/*for(var j=0; j<run.length; j++)
			{
				text += "<br />" + j + "<br />Curl-ups: " + curlups[j] + "<br />Push-ups: " + pushups[j] + "<br />Run: " + run[j];
			}*/
			for(var p=pushups.length-1; p > -1; p--)
			{
				if(pu >= pushups[p]){
					pushupScore += 5;
				}
			}
			for(var c=curlups.length-1; c > -1; c--)
			{
				if(cu >= curlups[c]){
					curlupScore += 5;
				}
			}
	
			for(var r=run.length-1; r > -1; r--)
			{
				if(ru <= run[r]){
					runScore += 5;
				}
			}
	
			totalScore = pushupScore + curlupScore + runScore;
			avgScore = totalScore/3;
	
			/*text += "<br />pushupScore = " + pushupScore;
			text += "<br />curlupScore = " + curlupScore;
			text += "<br />runScore = " + runScore;
			text += "<br />totalScore = " + totalScore;
			text += "<br />avgScore = " + avgScore;*/
		
			var performance = findPerformance(avgScore);
			var pushUpPerformance = findPerformance(pushupScore);
			var curlUpPerformance = findPerformance(curlupScore);
			var runPerformance = findPerformance(runScore);
		
			document.getElementById("overall").innerHTML = "<span style=\"background-color:rgb(80,181,208)\">" + performance + "</span>";
			document.getElementById("overallScore").innerHTML = "<span style=\"background-color:rgb(231,194,84)\">" + totalScore + " / 300</span>";
			document.getElementById("curlups").innerHTML = "<span style=\"background-color:rgb(80,181,208)\">" + curlUpPerformance + "</span>";
			document.getElementById("curlupScore").innerHTML = "<span style=\"background-color:rgb(231,194,84)\">" + curlupScore + " / 100</span>";
			document.getElementById("pushups").innerHTML = "<span style=\"background-color:rgb(80,181,208)\">" + pushUpPerformance + "</span>";
			document.getElementById("pushupScore").innerHTML = "<span style=\"background-color:rgb(231,194,84)\">" + pushupScore + " / 100</span>";
			document.getElementById("run").innerHTML = "<span style=\"background-color:rgb(80,181,208)\">" + runPerformance + "</span>";
			document.getElementById("runScore").innerHTML = "<span style=\"background-color:rgb(231,194,84)\">" + runScore + " / 100</span>";
			//document.getElementById("SCORE").innerHTML = text;
		}
	}
}

function findPerformance(avg){
	if(avg == 100){
		return "Outstanding High";
	}
	else if(avg >= 95){
		return "Outstanding Medium";
	}
	else if(avg >= 90){
		return "Outstanding Low";
	}
	else if(avg >= 85){
		return "Excellent High";
	}
	else if(avg >= 80){
		return "Excellent Medium";
	}
	else if(avg >= 75){
		return "Excellent Low";
	}
	else if(avg >= 70){
		return "Good High";
	}
	else if(avg >= 65){
		return "Good Medium";
	}
	else if(avg >= 60){
		return "Good Low";
	}
	else if(avg >= 55){
		return "Satisfactory High";
	}
	else if(avg >= 50){
		return "Satisfactory Medium";
	}
	else if(avg >= 45){
		return "Probationary";
	}
	else{
		return "Fail";
	}
}

function pfa(genderLabel, ageLabel, cuLabel, puLabel, runLabel)
{
	for(var k=0; k<genderLabel.length; k++){
		if(genderLabel[k].checked){
			gender = genderLabel[k].value;
		}
	}
	age = parseInt(ageLabel.value);
	cu = parseInt(cuLabel.value);
	pu = parseInt(puLabel.value);
	ru = parseInt(runLabel.value);
	
	/*text += gender + "<br/>";
	text += age + "<br/>";
	text += cu + "<br/>";
	text += pu + "<br/>";
	text += ru + "<br/>";*/
	
	if(gender == 'm')
	{
		if(age <= 19)
			{loadXMLDoc("XML/male19.xml", age, cu, pu, ru);}
		else if(age > 19 && age <=24)
			{loadXMLDoc("XML/male24.xml", age, cu, pu, ru);}
		else if(age > 24 && age <= 29)
			{loadXMLDoc("XML/male29.xml", age, cu, pu, ru);}
		else if(age > 29 && age <= 34)
			{loadXMLDoc("XML/male34.xml", age, cu, pu, ru);}
		else if(age > 34 && age <= 39)
			{loadXMLDoc("XML/male39.xml", age, cu, pu, ru);}
		else if(age > 39 && age <= 44)
			{loadXMLDoc("XML/male44.xml", age, cu, pu, ru);}
		else
			{loadXMLDoc("XML/male49.xml", age, cu, pu, ru);}
	}
	else if(gender =='f')
	{
		if(age <= 19)
			{loadXMLDoc("XML/female19.xml", age, cu, pu, ru);}
		else if(age > 19 && age <=24)
			{loadXMLDoc("XML/female24.xml", age, cu, pu, ru);}
		else if(age > 24 && age <= 29)
			{loadXMLDoc("XML/female29.xml", age, cu, pu, ru);}
		else if(age > 29 && age <= 34)
			{loadXMLDoc("XML/female34.xml", age, cu, pu, ru);}
		else if(age > 34 && age <= 39)
			{loadXMLDoc("XML/female39.xml", age, cu, pu, ru);}
		else if(age > 39 && age <= 44)
			{loadXMLDoc("XML/female44.xml", age, cu, pu, ru);}
		else
			{loadXMLDoc("XML/female49.xml", age, cu, pu, ru);}
	}
}
