var qsParm = new Array();
function qs() {
	var query = window.location.search.substring(1);
	var parms = query.split('&');
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0) {
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			qsParm[key] = val;
		}
	}
} 

function getRegistrationForm(camp_id_arg) {

	document.getElementById("reg_registration_form_display").innerHTML = "Loading registration form...";

	//document.getElementById("reg_cart_total_display").innerHTML = "Updating...";

	requestString = "/registration2/ajax_getRegistrationForm.php?camp_id=" + camp_id_arg;
	
	if (window.XMLHttpRequest)
		regForm_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		regForm_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	regForm_eventRequest.onreadystatechange = function() { getRegistrationFormHandler(regForm_eventRequest,camp_id_arg) };
	regForm_eventRequest.open('GET',requestString,true);
	regForm_eventRequest.send(null);
}

function validateRegistrationForm() {

	dobExists = false;
	ageExists = false;	

	err_msg_object = document.getElementById("err_msg");
	
	if (document.getElementById("reg_registration_form_team_select")) {
	
		teamSelectObj = document.getElementById("reg_registration_form_team_select");
		if (teamSelectObj.options[teamSelectObj.selectedIndex].value == "") {
			err_msg_object.innerHTML = "You must select your school or team from the list. If you can't find it, make sure your coach has registered before you continue.";
			return false;
		} 
	}
	

	for (x = 0; x < globalValidationArray.length; x++) {
		
		if (globalValidationArray[x]['type'] == "text") {
			text_val = document.getElementById(globalValidationArray[x]['id']).value;
			if (text_val == "") {
				err_msg_object.innerHTML = "You must enter a value for '"+globalValidationArray[x]['name']+"'";
				return false;
			}		
		} // end text
		
		if (globalValidationArray[x]['type'] == "number") {
		
			num_val = document.getElementById(globalValidationArray[x]['id']).value;
			if (num_val.search(/^-?[0-9]+$/) != 0) {
				err_msg_object.innerHTML = "Please enter a valid number for '"+globalValidationArray[x]['name']+"'";
				return false;
			}
		
		}		
		
		if (globalValidationArray[x]['type'] == "email") {

			email_val = document.getElementById(globalValidationArray[x]['id']).value;
		
			if (email_val.length < 7){
				err_msg_object.innerHTML = "Please enter a valid email address for '"+globalValidationArray[x]['name']+"'";
				return false;
			} else {
				var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
				if (email_val.match(illegalChars)) {
	     		 err_msg_object.innerHTML = "Please enter a valid email address for '"+globalValidationArray[x]['name']+"'";
				 return false;
				}
				var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
				if (!(re.test(email_val))){
					err_msg_object.innerHTML = "Please enter a valid email address for '"+globalValidationArray[x]['name']+"'";
					return false;
				}   	
			}
		
		} // end email
		
		if (globalValidationArray[x]['type'] == "phone") {
					
			number_val = document.getElementById(globalValidationArray[x]['id']).value;
			
			partArray = number_val.split("-");
			
			if (partArray.length != 3) {
				err_msg_object.innerHTML = "Please enter a valid phone number (###-###-####) for '"+globalValidationArray[x]['name']+"'";
				return false;
			} else {
			
				if ((partArray[0].length != 3) || (partArray[0].search(/^-?[0-9]+$/) != 0)) {
					err_msg_object.innerHTML = "Please enter a valid phone number (###-###-####) for '"+globalValidationArray[x]['name']+"'";
					return false;
				}
				
				if ((partArray[1].length != 3) || (partArray[1].search(/^-?[0-9]+$/) != 0)) {
					err_msg_object.innerHTML = "Please enter a valid phone number (###-###-####) for '"+globalValidationArray[x]['name']+"'";
					return false;
				}
				
				if ((partArray[2].length != 4) || (partArray[2].search(/^-?[0-9]+$/) != 0)) {
					err_msg_object.innerHTML = "Please enter a valid phone number (###-###-####) for '"+globalValidationArray[x]['name']+"'";
					return false;
				}
						
			}		
		
		}	
		
		if (globalValidationArray[x]['type'] == "date") {
		
			date_val = document.getElementById(globalValidationArray[x]['id']).value;
			
			partArray = date_val.split("/");
			
			if (partArray.length != 3) {
				err_msg_object.innerHTML = "Please enter a valid date (m/d/y) for '"+globalValidationArray[x]['name']+"'";
				return false;
			} else {
			
				if ((partArray[0].length > 2) || (partArray[0].search(/^-?[0-9]+$/) != 0)) {
					err_msg_object.innerHTML = "Please enter a valid date (m/d/y) for '"+globalValidationArray[x]['name']+"'";
					return false;
				}
				
				if ((partArray[1].length > 2) || (partArray[1].search(/^-?[0-9]+$/) != 0)) {
					err_msg_object.innerHTML = "Please enter a valid date (m/d/y) for '"+globalValidationArray[x]['name']+"'";
					return false;
				}
				
				if ((partArray[2].length > 4) || (partArray[2].search(/^-?[0-9]+$/) != 0)) {
					err_msg_object.innerHTML = "Please enter a valid date (m/d/y) for '"+globalValidationArray[x]['name']+"'";
					return false;
				}
						
			}		
		
		}
		
		if (globalValidationArray[x]['type'] == "zip") {
		
			zip_val = document.getElementById(globalValidationArray[x]['id']).value;
			if ((zip_val.length != 5) || (zip_val.search(/^-?[0-9]+$/) != 0)) {
				err_msg_object.innerHTML = "Please enter a valid 5 digit number for '"+globalValidationArray[x]['name']+"'";
				return false;
			}
		
		}
		
		if (globalValidationArray[x]['type'] == "select") {
			select_val = document.getElementById(globalValidationArray[x]['id']).selectedIndex;
			if (select_val == 0) {
				err_msg_object.innerHTML = "You must make a selection for '"+globalValidationArray[x]['name']+"'";
				return false;
			}		
		} // end select
		
		if (globalValidationArray[x]['type'] == "time") {
		
			time_val = document.getElementById(globalValidationArray[x]['id']).value;

			partArray = time_val.split(" ");

			if (partArray.length != 2) {
				err_msg_object.innerHTML = "Please enter a valid time (example: 1:30 PM, 10:00 AM) for '"+globalValidationArray[x]['name']+"'";
				return false;
			}

			timePart = partArray[0];
			ampmPart = partArray[1];
			
			timePartArray = timePart.split(":");
			if (timePartArray.length != 2) {
				err_msg_object.innerHTML = "Please enter a valid time (example: 1:30 PM, 10:00 AM) for '"+globalValidationArray[x]['name']+"'";
				return false;
			}
			
			if ((timePartArray[0].search(/^-?[0-9]+$/) != 0) || (timePartArray[1].search(/^-?[0-9]+$/) != 0)) {
				err_msg_object.innerHTML = "Please enter a valid time (example: 1:30 PM, 10:00 AM) for '"+globalValidationArray[x]['name']+"'";
				return false;
			}
			
			if ((ampmPart.toLowerCase() != "am") && (ampmPart.toLowerCase() != "pm")) {
				err_msg_object.innerHTML = "Please enter a valid time (example: 1:30 PM, 10:00 AM) for '"+globalValidationArray[x]['name']+"'";
				return false;
			}			
		
		}
		
		if (globalValidationArray[x]['id'] == "attribute_201104191457440x90745000x1833688") {
			dobExists = true;
		}
		
		if (globalValidationArray[x]['id'] == "attribute_201104191504190x75717700x6197248") {
			ageExists = true;
		}
						
	}
	
	// check dob/age match
	
	if (dobExists && ageExists) {
	
		dobVal = document.getElementById("attribute_201104191457440x90745000x1833688").value;
		ageVal = document.getElementById("attribute_201104191504190x75717700x6197248").value;
		
		// validate date
		
		partArray = dobVal.split("/");
			
		if (partArray.length != 3) {
			err_msg_object.innerHTML = "Please enter a valid date (m/d/yyyy) for 'Date of Birth'";
			return false;
		} else {
		
			if ((partArray[0].length > 2) || (partArray[0].search(/^-?[0-9]+$/) != 0)) {
				err_msg_object.innerHTML = "Please enter a valid date (m/d/yyyy) for 'Date of Birth'";
				return false;
			}
			
			if ((partArray[1].length > 2) || (partArray[1].search(/^-?[0-9]+$/) != 0)) {
				err_msg_object.innerHTML = "Please enter a valid date (m/d/yyyy) for 'Date of Birth'";
				return false;
			}
			
			if ((partArray[2].length != 4) || (partArray[2].search(/^-?[0-9]+$/) != 0)) {
				err_msg_object.innerHTML = "Please enter a valid date (m/d/yyyy) for 'Date of Birth'";
				return false;
			}
			
			if (!isDate(dobVal)) {
				err_msg_object.innerHTML = "Please enter a valid date (m/d/yyyy) for 'Date of Birth'";
				return false;
			}
					
		}
		
		// validate age as number
		
		if (ageVal.search(/^-?[0-9]+$/) != 0) {
			err_msg_object.innerHTML = "Please enter a valid number for age";
			return false;
		}
		
		// compage age and dob
		
		birth_month = partArray[0];
		birth_day = partArray[1];
		birth_year = partArray[2];
		
		today_date = new Date(2011,10,24,0,0,0);
		today_year = today_date.getYear();
		today_month = today_date.getMonth();
		today_day = today_date.getDate();
		age = (today_year + 1900) - birth_year;
		if ( today_month < (birth_month - 1))
		{
		  age--;
		}
		if (((birth_month - 1) == today_month) && (today_day < birth_day))
		{ 
		  age--;
		}
		if (age > 1900)
		{
			age -= 1900;
		}

	
		if (age != parseInt(ageVal)) {
			err_msg_object.innerHTML = "Your age on race day does not match your date of birth";
			return false;
		}
	
	}	
	
	return true;

}

function isDate(value) {
    try {
        //Change the below values to determine which format of date you wish to check. It is set to dd/mm/yyyy by default.
        var DayIndex = 1;
        var MonthIndex = 0;
        var YearIndex = 2;
 
        value = value.replace("-", "/").replace(".", "/"); 
        var SplitValue = value.split("/");
        var OK = true;
        if (!(SplitValue[DayIndex].length == 1 || SplitValue[DayIndex].length == 2)) {
            OK = false;
        }
        if (OK && !(SplitValue[MonthIndex].length == 1 || SplitValue[MonthIndex].length == 2)) {
            OK = false;
        }
        if (OK && SplitValue[YearIndex].length != 4) {
            OK = false;
        }
        if (OK) {
            var Day = parseInt(SplitValue[DayIndex], 10);
            var Month = parseInt(SplitValue[MonthIndex], 10);
            var Year = parseInt(SplitValue[YearIndex], 10);
 
            if (OK = ((Year > 1900) && (Year < new Date().getFullYear()))) {
                if (OK = (Month <= 12 && Month > 0)) {
                    var LeapYear = (((Year % 4) == 0) && ((Year % 100) != 0) || ((Year % 400) == 0));
 
                    if (Month == 2) {
                        OK = LeapYear ? Day <= 29 : Day <= 28;
                    }
                    else {
                        if ((Month == 4) || (Month == 6) || (Month == 9) || (Month == 11)) {
                            OK = (Day > 0 && Day <= 30);
                        }
                        else {
                            OK = (Day > 0 && Day <= 31);
                        }
                    }
                }
            }
        }
        return OK;
    }
    catch (e) {
        return false;
    }
}


var globalValidationArray = new Array();
globalValidationArray.length = 0;

function getRegistrationFormHandler(eventRequest,camp_id_arg) {

	if (eventRequest.readyState == 4) {
	
		
		var responseArray = eventRequest.responseText.split("||");
		campName = responseArray[0];
		regType = responseArray[1];
		
		if (regType == "coach")
			var contentString = "COACHES - Please provide the following information to register your team for <strong>" + campName + "</strong>";
		else if (regType == "addl_coach")
			var contentString = "Please provide the following information to add an ADDITIONAL COACH for <strong>" + campName + "</strong>";
		else
			var contentString = "Please provide the following registration information for <strong>" + campName + "</strong>";

		contentString += "<form name=\"reg_form\" id=\"reg_form\" action=\"/registration2/add_registration_to_cart.php\" method=\"post\" onsubmit=\"return validateRegistrationForm()\">";

		contentString += "<div id=\"reg_registration_form_previous_orders\" style=\"display: none;\"><\/div>";
				
		contentString += "<br>\n<br>\nFields marked with * are required.<br>\n<br>\n";	
						
		if ((regType == "team") || (regType == "addl_coach")) {
		
			contentString += "First, select your school/team: <select id=\"reg_registration_form_team_select\" name=\"reg_registration_form_team_select\"><option value=\"\">Getting list...<\/option><\/select><br>\n<br>\n";
		
		}	
		
		contentString += "<table>\n";
		
		var layoutIndicator = "left";
		
		for (x = 2; x < responseArray.length; x++) {
		
			//contentString += "newattribute";
		
			attributeId = responseArray[x];
			x++;
			isRequired = responseArray[x];
			x++;
			attributeName = responseArray[x];
			x++;
			inputType = responseArray[x];
			x++;
			validationType = responseArray[x];
			x++;
			attributeOptions = responseArray[x].split(",");
			x++;
			attributeHideValues = responseArray[x].split(",");
			
			if (layoutIndicator == "left")
				contentString += "<tr>\n";
			else
				contentString += "<td>&nbsp;&nbsp;&nbsp;<\/td>";
				
			// add check for manual entry
			if ((document.location.pathname == "/registrants_add.php") && (attributeId != "attribute_200902181011320x66836100x3513890") && (attributeId != "attribute_200902181012530x81030000x7947037") && (attributeId != "attribute_200902181014360x34798800x1476385")) {
				isRequired = "0";
			}				
				
			contentString += "<td valign=top>"+attributeName;
			if (isRequired == "1") {
				contentString += "*";
				attributeValidationSpecs = new Array();
				attributeValidationSpecs['type'] = validationType;
				attributeValidationSpecs['name'] = attributeName;
				attributeValidationSpecs['id'] = attributeId;
				
				globalValidationArray.push(attributeValidationSpecs);

			}
			contentString += "<\/td><td valign=top>";
			
			if (inputType == "text") {
				contentString += "<input type=text name=\""+attributeId+"\" id=\""+attributeId+"\">";
			} else if (inputType == "textarea") {
				contentString += "<textarea name=\""+attributeId+"\" id=\""+attributeId+"\"><\/textarea>";
			} else if (inputType == "select") {
				contentString += "<select name=\""+attributeId+"\" id=\""+attributeId+"\">\n";
				contentString += "<option value=\"\">Select...<\/option>\n";
				for (y = 0; y < attributeOptions.length; y++) {
					hideThis = false;
					for (j = 0; j < attributeHideValues.length; j++) {
						if (attributeOptions[y].toLowerCase() == attributeHideValues[j].toLowerCase())
							hideThis = true;
					}
					if (!hideThis)	
						contentString += "<option value=\"" + attributeOptions[y] + "\">"+attributeOptions[y]+"<\/option>\n";
				}
				contentString += "<\/select>\n";
			} else if (inputType == "blank") {
				contentString += "<input type=hidden name=\""+attributeId+"\" value=\"\">";
			}
			
			contentString += "<\/td>\n";
			
			if (layoutIndicator == "right")
				contentString += "<\/tr>\n";
				
			if (layoutIndicator == "left")
				layoutIndicator = "right";
			else
				layoutIndicator = "left";		
		
		}
		
		if (layoutIndicator == "right")
			contentString += "<td colspan=3><\/td><\/tr>\n";
		
		if (window.location.pathname == "/registrants_add.php") {
		
			contentString += "<tr>";
			contentString += "<td>Checked In</td>";
			contentString += "<td colspan=4>";
			contentString += "<select id=\"attribute_200906081546380x14523400x1407380\" name=\"attribute_200906081546380x14523400x1407380\">";
			contentString += "<option value=\"no\">no</option>";
			contentString += "<option value=\"yes\">yes</option>";
			contentString += "</select>";
			contentString += "</td>";
			contentString += "</tr>";
			
			contentString += "<tr>";
			contentString += "<td>Medical Forms Received</td>";
			contentString += "<td colspan=4>";
			contentString += "<select id=\"attribute_200906121606140x88080000x7032767\" name=\"attribute_200906121606140x88080000x7032767\">";
			contentString += "<option value=\"no\">no</option>";
			contentString += "<option value=\"yes\">yes</option>";
			contentString += "</select>";
			contentString += "</td>";
			contentString += "</tr>";
		
		}		
		
		contentString += "<tr><td align=right colspan=5><br><br><input type=submit value=\"Add to Cart!\"><\/td><\/tr>\n";
		
		
		contentString += "<\/table>\n";
		contentString += "<input type=hidden name=\"camp_id\" value=\""+camp_id_arg+"\">";
		contentString += "<input type=hidden name=\"reg_type\" value=\""+regType+"\">";
		contentString += "<\/form>";
	
		document.getElementById("reg_registration_form_display").innerHTML = contentString;
		
		if ((regType == "team") || (regType == "addl_coach"))
			getRegisteredTeams(camp_id_arg);
			
		// check for previous orders to get reg info
		getPreviousRegistrantsList();
			
	}

}

function getCoachRegistrationForm(camp_id_arg) {

	document.getElementById("reg_registration_form_display").innerHTML = "Loading registration form...";

	//document.getElementById("reg_cart_total_display").innerHTML = "Updating...";

	requestString = "/registration2/ajax_getRegistrationForm.php?camp_id=" + camp_id_arg + "&team=true&coach=true";
	
	if (window.XMLHttpRequest)
		coachRegForm_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		coachRegForm_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	coachRegForm_eventRequest.onreadystatechange = function() { getRegistrationFormHandler(coachRegForm_eventRequest,camp_id_arg) };
	coachRegForm_eventRequest.open('GET',requestString,true);
	coachRegForm_eventRequest.send(null);
}

function getAddlCoachRegistrationForm(camp_id_arg) {

	document.getElementById("reg_registration_form_display").innerHTML = "Loading registration form...";

	//document.getElementById("reg_cart_total_display").innerHTML = "Updating...";

	requestString = "/registration2/ajax_getRegistrationForm.php?camp_id=" + camp_id_arg + "&team=true&addlcoach=true";
	
	if (window.XMLHttpRequest)
		coachRegForm_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		coachRegForm_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	coachRegForm_eventRequest.onreadystatechange = function() { getRegistrationFormHandler(coachRegForm_eventRequest,camp_id_arg) };
	coachRegForm_eventRequest.open('GET',requestString,true);
	coachRegForm_eventRequest.send(null);
}

function getTeamRegistrationForm(camp_id_arg) {

	document.getElementById("reg_registration_form_display").innerHTML = "Loading registration form...";

	//document.getElementById("reg_cart_total_display").innerHTML = "Updating...";

	requestString = "/registration2/ajax_getRegistrationForm.php?camp_id=" + camp_id_arg + "&team=true";
	
	if (window.XMLHttpRequest)
		teamRegForm_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		teamRegForm_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	teamRegForm_eventRequest.onreadystatechange = function() { getRegistrationFormHandler(teamRegForm_eventRequest,camp_id_arg) };
	teamRegForm_eventRequest.open('GET',requestString,true);
	teamRegForm_eventRequest.send(null);
}

function getRegisteredTeams(camp_id_arg) {

	requestString = "/registration2/ajax_getRegisteredTeams.php?camp_id=" + camp_id_arg;
	
	if (window.XMLHttpRequest)
		getTeams_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		getTeams_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	getTeams_eventRequest.onreadystatechange = function() { getRegisteredTeamsHandler(getTeams_eventRequest) };
	getTeams_eventRequest.open('GET',requestString,true);
	getTeams_eventRequest.send(null);

}

function getRegisteredTeamsHandler(eventRequest) {

	if (eventRequest.readyState == 4) {
	
		selectObj = document.getElementById("reg_registration_form_team_select");
		selectObj.length = 0;
		selectObj[0] = new Option("Select...","");

		optionIndex = 1;
	
		var responseArray = eventRequest.responseText.split("||");
		
		if (responseArray.length == 1) {
			selectObj[optionIndex] = new Option("No Teams Found!","");
		} else {
			for (x = 0; x < responseArray.length; x++) {
				registrant_id = responseArray[x];
				x++;
				team_name = responseArray[x];
				selectObj[optionIndex] = new Option(team_name,registrant_id);
				optionIndex++;
			}
		}
		
		qs();
		if (qsParm['team_id']) {
			for (x = 0; x < selectObj.length; x++) {
				if (selectObj.options[x].value == qsParm['team_id'])
					selectObj.selectedIndex = x;			
			}
		}
		
		
	}

}

function getMyTeamCamps() {
	
	document.getElementById("reg_my_teams_display").innerHTML = "Loading registration list...";
	
	requestString = "/registration2/ajax_getTeamCampRegs.php";
	
	if (window.XMLHttpRequest)
		getMyTeams_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		getMyTeams_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	getMyTeams_eventRequest.onreadystatechange = function() { getMyTeamCampsHandler(getMyTeams_eventRequest) };
	getMyTeams_eventRequest.open('GET',requestString,true);
	getMyTeams_eventRequest.send(null);

}

function getMyTeamCampsHandler(eventRequest) {

	if (eventRequest.readyState == 4) {
	
		contentString = "";
	
		if (eventRequest.responseText == "Your session has expired.") {
			contentString = "Your session has expired.";
		} else {
			
			contentString += "<table>";
			contentString += "<tr>";
			contentString += "<td><strong>Created:<\/strong><\/td>";
			contentString += "<td><strong>Organization:<\/strong><\/td>";
			contentString += "<td><strong>Camp:<\/strong><\/td>";
			contentString += "<td><strong>School/Team:<\/strong><\/td>";
			contentString += "<td><strong># of Registrants:<\/strong><\/td>";
			contentString += "<td><\/td>";
			contentString += "<\/tr>\n";
			
			var responseArray = eventRequest.responseText.split("||");
			
			for (x = 0; x < responseArray.length; x++) {
			
				created_time = responseArray[x];
				x++;
				camp_id = responseArray[x];
				x++;
				camp_name = responseArray[x];
				x++;
				org_name = responseArray[x];
				x++;
				team_name = responseArray[x];
				x++;
				num_campers = responseArray[x];
				
				contentString += "<tr>";
				contentString += "<td>"+created_time+"<\/td>";
				contentString += "<td>"+org_name+"<\/td>";
				contentString += "<td>"+camp_name+"<\/td>";
				contentString += "<td>"+team_name+"<\/td>";
				contentString += "<td>"+num_campers+"<\/td>";
				contentString += "<td><input type=button value=\"Roster\" onclick=\"document.location.href='view_roster.php?registration="+camp_id+"'\"><\/td>";
				contentString += "<\/tr>\n";			
			
			}
			
			contentString += "<\/table>";
			
		
		}		
	
		document.getElementById("reg_my_teams_display").innerHTML = contentString;
	
	}

}

function getRoster(registrant_id_arg) {

	document.getElementById("reg_roster_display").innerHTML = "Loading roster...";
	
	requestString = "/registration2/ajax_getRoster.php?team=" + registrant_id_arg;
	
	if (window.XMLHttpRequest)
		getRoster_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		getRoster_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	getRoster_eventRequest.onreadystatechange = function() { getRosterHandler(getRoster_eventRequest,registrant_id_arg) };
	getRoster_eventRequest.open('GET',requestString,true);
	getRoster_eventRequest.send(null);

}

function getRosterHandler(eventRequest,team_arg) {

	if (eventRequest.readyState == 4) {
	
		contentString = "";
	
		if (eventRequest.responseText == "You are not authorized to view this roster.") {
			contentString = "You are not authorized to view this roster.";
		} else {
		
			var responseArray = eventRequest.responseText.split("||");
		
			org_name = responseArray[0];
			camp_id = responseArray[1]
			camp_name = responseArray[2];
			registrant_price = parseFloat(responseArray[3]);
			addl_coach_price = parseFloat(responseArray[4]);
			amount_owed = parseFloat(responseArray[5]);
		
			contentString = "<strong>"+org_name+"<\/strong> - "+camp_name+"<br><strong>Price per registrant:<\/strong> $"+registrant_price.toFixed(2)+"<br><br>\n";
		
			contentString += "<input type=button value=\"Add a Registrant\" onclick=\"document.location.href='/register.php?camp_id="+camp_id+"&team=true&team_id="+team_arg+"&target='+document.location.href\">";
			if (addl_coach_price > 0)
				contentString += "<br><input type=button value=\"Add Additional Coach\" onclick=\"document.location.href='/register.php?camp_id="+camp_id+"&team=true&team_id="+team_arg+"&addl_coach=true'\">";
			
			
			contentString += "<br><br>\n";
		
			contentString += "<table cellpadding=3>";
			contentString += "<tr><td><strong>Last Name:<\/strong><\/td><td><strong>First Name:<\/strong><\/td><td><strong>Type:<\/strong><\/td><td><strong>Price:<\/strong><\/td><td><\/td><\/tr>\n";
								
			for (x = 6; x < responseArray.length; x++) {
			
				registrant_id = responseArray[x];
				x++;
				registrant_last_name = responseArray[x];
				x++;
				registrant_first_name = responseArray[x];
				x++;
				registrant_type = responseArray[x];
				this_price = 0;
				if (registrant_type == "team") {
					registrant_type = "registrant";
					this_price = registrant_price;
				} else if (registrant_type == "addlcoach") {
					registrant_type = "coach";
					this_price = addl_coach_price;
				}
				
				contentString += "<tr>";
				contentString += "<td>"+registrant_last_name+"<\/td><td>"+registrant_first_name+"<\/td>";
				contentString += "<td>"+registrant_type+"<\/td>";
				contentString += "<td>$"+this_price.toFixed(2)+"<\/td>";
				contentString += "<td><input type=button value=\"Details\" onclick=\"document.location.href='view_registrant_details.php?id="+registrant_id+"&registrant_type="+registrant_type+"&target='+document.location.href\"><\/td>";

				//contentString += "<td><input type=button value=\"Remove\"><\/td>";
				contentString += "</tr>\n";
			
			}
			contentString += "<\/table>";
			
			contentString += "<br><strong>Total:<\/strong> $" + amount_owed.toFixed(2) + "<br>\n";
			
		
		}
		
		document.getElementById("reg_roster_display").innerHTML = contentString;
	
	}

}

function getRegistrantInfo(registrant_id_arg,type_arg) {

	document.getElementById("reg_registrant_display").innerHTML = "Loading registrant details...";
	
	requestString = "/registration2/ajax_getRegistrantDetail.php?registrant=" + registrant_id_arg + "&registrant_type=" + type_arg;
	
	if (window.XMLHttpRequest)
		getRegistrant_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		getRegistrant_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	getRegistrant_eventRequest.onreadystatechange = function() { getRegistrantInfoHandler(getRegistrant_eventRequest) };
	getRegistrant_eventRequest.open('GET',requestString,true);
	getRegistrant_eventRequest.send(null);

}

function getRegistrantInfoHandler(eventRequest) {

	if (eventRequest.readyState == 4) {
	
		contentString = "<table>";
		
		var responseArray = eventRequest.responseText.split("||");
		
		for (x = 0; x < responseArray.length; x++) {
		
			attrib_name = responseArray[x];
			x++;
			attrib_value = responseArray[x];
			
			contentString += "<tr><td><strong>"+attrib_name+":<\/strong><\/td><td>"+attrib_value+"<\/td><\/tr>\n";
		
		}		
		
		contentString += "<\/table>";
		
		document.getElementById("reg_registrant_display").innerHTML = contentString;
	
	}

}

function getPreviousRegistrantsList() {

	requestString = "/registration2/ajax_getPreviousRegistrants.php";

	if (window.XMLHttpRequest)
		getPreviousRegistrants_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		getPreviousRegistrants_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	getPreviousRegistrants_eventRequest.onreadystatechange = function() { getPreviousRegistrantsListHandler(getPreviousRegistrants_eventRequest) };
	getPreviousRegistrants_eventRequest.open('GET',requestString,true);
	getPreviousRegistrants_eventRequest.send(null);

}

function getPreviousRegistrantsListHandler(eventRequest) {

	if (eventRequest.readyState == 4) {
	
		if (eventRequest.responseText != "") {
		
			var contentString = "<br>It looks like you've regsitered with us before. If you would like to use information from a previous registration, choose it from the list. Otherwise, please fill out the form below.<br>";
			contentString += "<select id=\"reg_prev_reg_list\" style=\"width: 400px;\" onchange=\"setPreviousRegistrantData(this.options[this.selectedIndex].value);\">\n";
			contentString += "<option value=\"\">Do Not Use Previous Registrant<\/option>\n";
		
			var responseArray = eventRequest.responseText.split("||");
		
			for (x = 0; x < responseArray.length; x++) {
				thisRegId = responseArray[x];
				x++;
				thisOrgName = responseArray[x];
				x++;
				thisCampName = responseArray[x];
				x++;
				thisFirstName = responseArray[x];
				x++;
				thisLastName = responseArray[x];
			
				contentString += "<option value=\""+thisRegId+"\">"+thisLastName+", "+thisFirstName+" - "+thisCampName+" ("+thisOrgName+")<\/option>\n";
			
			}
			
			contentString += "<\/option>";
		
			document.getElementById("reg_registration_form_previous_orders").innerHTML = contentString;
			document.getElementById("reg_registration_form_previous_orders").style.display = "block";
		
		}
	
	}

}

function setPreviousRegistrantData(reg_id_arg) {

	if (reg_id_arg != "") {
		requestString = "/registration2/ajax_getPreviousRegistrantInfo.php?id="+reg_id_arg;
	
		if (window.XMLHttpRequest)
			getPreviousRegistrantData_eventRequest = new XMLHttpRequest();
		else if (window.ActiveXObject)
			getPreviousRegistrantData_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");
	
		getPreviousRegistrantData_eventRequest.onreadystatechange = function() { getPreviousRegistrantDataHandler(getPreviousRegistrantData_eventRequest) };
		getPreviousRegistrantData_eventRequest.open('GET',requestString,true);
		getPreviousRegistrantData_eventRequest.send(null);
	} else {
		document.forms['reg_form'].reset();
	}

}

function getPreviousRegistrantDataHandler(eventRequest) {

	if (eventRequest.readyState == 4) {
	
		var responseArray = eventRequest.responseText.split("||");
		
		for (x = 0; x < responseArray.length; x++) {
			thisAttribId = responseArray[x];
			x++;
			thisAttribValue = responseArray[x];
			
			if (document.getElementById(thisAttribId)) {
				if (document.getElementById(thisAttribId).options) {
				
				
				} else {
					document.getElementById(thisAttribId).value = thisAttribValue;
				}
			}
		
		}
		
	}

}

