ready_for_ajax_call=1;

pic1= new Image(31,31); 
pic1.src="images/loading.gif"; 

pic2=new Image(20,19);
pic2.src="images/redx.jpg";

pic3=new Image(20,19);
pic3.src="images/greencheck.jpg";

var waiting = '<div align="center" class="waiting"><img src=' + pic1.src + '></div>';

var staff_password_accepted = '<div align="center" class="greentext"><img src=' + pic3.src + '> Password confirmed</div>';

var staff_password_error = '<div align="center" class="redtext"><img src=' + pic2.src + '> Invalid password</div>';

var exemption_code_accepted = '<div align="center" class="greentext"><img src=' + pic3.src + '> Exemption code confirmed</div>';

var exemption_code_error = '<div align="center" class="redtext"><img src=' + pic2.src + '> Invalid exemption code</div>';

var xmlHttp = createXMLHttpRequestObject();

function createXMLHttpRequestObject()
	{
	var xmlHttp;
		try
		{
			xmlHttp=new XMLHttpRequest();
		}
		catch(e)
		{
			try
			{
				xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
			}
			catch(e) {}
		}
		if (!xmlHttp)
			alert ("Error creating the XMLHttpRequest object.");
		else
			return xmlHttp;
	}

function makeRequest(url, parameters, view) {
   		//alert(url);
		//alert(parameters);
  
	xmlHttp.open("POST", url, true);
	
	//Send the proper header information along with the request
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");

    xmlHttp.onreadystatechange = alertContents;	  	  	
	  
	xmlHttp.send(parameters);
	  
   }

   function alertContents() {
      if (xmlHttp.readyState == 4) {
         if (xmlHttp.status == 200) {
            //alert(xmlHttp.responseText);
			var xmlResponse=xmlHttp.responseXML;
			//obtain the XML's document element
			xmlRoot=xmlResponse.documentElement;
			fieldName=xmlRoot.getElementsByTagName("fieldName")[0].childNodes[0].nodeValue;
			fieldValue=xmlRoot.getElementsByTagName("fieldValue")[0].childNodes[0].nodeValue;
            //if (fieldName!="null") document.getElementById(fieldName).innerHTML = fieldValue; 
			//fieldName2=xmlRoot.getElementsByTagName("fieldName2")[0].childNodes[0].nodeValue;
			//fieldValue2=xmlRoot.getElementsByTagName("fieldValue2")[0].childNodes[0].nodeValue;
            if (fieldName=="staff_password_auth") { document.register.staff_auth.value = fieldValue; 
													if (fieldValue==1) response=staff_password_accepted; else response=staff_password_error;
													document.getElementById("staff_password_response").innerHTML = response; 
													}
            if (fieldName=="exemption_code_auth") { document.register.exemption_code_auth.value = fieldValue; 
													if (fieldValue==1) response=exemption_code_accepted; else response=exemption_code_error;
													document.getElementById("exemption_code_response").innerHTML = response;
													set_fees(1); 
													}													
		    if (fieldName=="presenter_selections") { document.getElementById("presenter_selections").innerHTML = fieldValue;
													fieldValue2=xmlRoot.getElementsByTagName("fieldValue2")[0].childNodes[0].nodeValue;
													presenter_payment_type=fieldValue2;
													//alert(fieldValue2); 
													//set_fees(1);													
												   }
		    if (fieldName=="facilitator_message") { document.getElementById("facilitator_disp").innerHTML = fieldValue;
													fieldValue2=xmlRoot.getElementsByTagName("fieldValue2")[0].childNodes[0].nodeValue;													 
													document.register.facilitator_id.value=fieldValue2;
													//set_fees(1);													
												   }												   
			if (fieldName=="fees") { document.getElementById("fee_display").innerHTML = fieldValue; 
									 fieldValue2=xmlRoot.getElementsByTagName("fieldValue2")[0].childNodes[0].nodeValue;
									 document.register.total_cost.value = fieldValue2;
									}
			ready_for_ajax_call=1;
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
    



var staff_password_update_TimerID=0;
var name_change_TimerID=0;
var presenter_selections_update_TimerID=0;
var facilitator_duties_update_TimerID=0;
var exemption_code_update_TimerID=0;
var calc_fees_TimerID=0;

function set_name_change_timer() {
	if (document.register.role_presenter.checked || document.register.role_facilitator.checked) {
		clearTimeout(name_change_TimerID);
		name_change_TimerID=setTimeout("check_roles();",3000);
	}
}


function set_update_staff_password_timer() {
	document.getElementById('staff_password_response').innerHTML = waiting;	
	clearTimeout(staff_password_update_TimerID);
	staff_password_update_TimerID=setTimeout("update_staff_password();",3000);
}

function update_staff_password() {
	if (ready_for_ajax_call==1) {
		var staff_password=document.register.staff_password.value;
		var getstr =  "staff_password=" + staff_password + "&action=update_staff_password";
		ready_for_ajax_call=0;
		makeRequest('conf_update_db.php', getstr);
	}
	else {
		clearTimeout(staff_password_update_TimerID);
		staff_password_update_TimerID=setTimeout("update_staff_password();",3000);	
	}
}  

function set_update_exemption_code_timer() {
	document.getElementById('exemption_code_response').innerHTML = waiting;	
	clearTimeout(exemption_code_update_TimerID);
	exemption_code_update_TimerID=setTimeout("update_exemption_code();",3000);
}

function update_exemption_code() {
	if (ready_for_ajax_call==1) {
		var exemption_code=document.register.exemption_code.value;
		var year=document.register.year.value;
		var reg_login=document.register.reg_login.value;	
		var getstr =  "year=" + year + "&exemption_code=" + exemption_code + "&action=update_exemption_code&reg_login=" + reg_login;
		ready_for_ajax_call=0;	
		makeRequest('conf_update_db.php', getstr);
	}
	else {
		clearTimeout(exemption_code_update_TimerID);
		exemption_code_update_TimerID=setTimeout("update_exemption_code();",3000);	
	}
}

function set_presenter_selections_update_timer() {
		clearTimeout(presenter_selections_update_TimerID);
		presenter_selections_update_TimerID=setTimeout("update_presenter_selections();",3000);
}

function update_presenter_selections() {
	if (ready_for_ajax_call==1) {
	var first_name=document.register.first_name.value;
	var last_name=document.register.last_name.value;
	var year=document.register.year.value;
	var presenter_id=document.register.presenter_id.value;
    var getstr =  "year=" + year + "&first_name=" + first_name + "&last_name=" + last_name + "&curr_selection=" + presenter_id + "&action=update_presenter_selections";
	ready_for_ajax_call=0;
	//alert(getstr);
    makeRequest('conf_update_db.php', getstr);
	}
	else {
		clearTimeout(presenter_selections_update_TimerID);
		presenter_selections_update_TimerID=setTimeout("update_presenter_selections();",3000);
	}
} 

function set_facilitator_duties_update_timer() {
		clearTimeout(facilitator_duties_update_TimerID);
		facilitator_duties_update_TimerID=setTimeout("update_facilitator_duties();",3000);
}

function update_facilitator_duties() {
	if (ready_for_ajax_call==1) {
	var first_name=document.register.first_name.value;
	var last_name=document.register.last_name.value;
	var year=document.register.year.value;
    var getstr =  "year=" + year + "&first_name=" + first_name + "&last_name=" + last_name + "&action=update_facilitator_duties";
	ready_for_ajax_call=0;
    makeRequest('conf_update_db.php', getstr);
	}
	else {
		clearTimeout(facilitator_duties_update_TimerID);
		facilitator_duties_update_TimerID=setTimeout("update_facilitator_duties();",3000);
	}
} 

function set_fees(page) {
	if (ready_for_ajax_call==1) {
		if (page==1) {
			var first_name=document.register.first_name.value;
			var last_name=document.register.last_name.value;
			var preconf_morning_session="";
			for (i=1; i<document.register.preconf_morning_session.length; i++) {
				if (document.register.preconf_morning_session[i].checked) preconf_morning_session=1;
			}		
			//var preconf_morning_session=document.register.preconf_morning_session.value;
			// used if radio buttons are used to select preconf sessions
			var preconf_afternoon_session="";
			for (i=1; i<document.register.preconf_afternoon_session.length; i++) {
				if (document.register.preconf_afternoon_session[i].checked) preconf_afternoon_session=1;
			}
			//var preconf_afternoon_session=document.register.preconf_afternoon_session.value;
			if (document.register.role_general_participant.checked) var role_general_participant=1; else var role_general_participant=0;
			if (document.register.role_exhibitor.checked) var role_exhibitor=1; else var role_exhibitor=0;
			if (document.register.role_youth.checked) var role_youth=1; else var role_youth=0;
			if (document.register.role_advertiser.checked) var role_advertiser=1; else var role_advertiser=0;
			if (document.register.role_univ_student.checked) var role_univ_student=1; else var role_univ_student=0;
			if (document.register.role_personal_care_attendant.checked) var role_personal_care_attendant=1; else var role_personal_care_attendant=0;						
			if (document.register.role_advertiser.checked) {
				if (document.register.ad_size[0].checked) var ad_size="whole page";
				if (document.register.ad_size[1].checked) var ad_size="half page";
				if (document.register.ad_size[2].checked) var ad_size="quarter page";			
			}	else ad_size="";
			if (document.register.role_exhibitor_assistant.checked) var role_exhibitor_assistant=1; else var role_exhibitor_assistant=0;
			if (role_exhibitor==1) {
				if (document.register.conf_exhibitor_type[0].checked) var conf_exhibitor_type="Non-Profit";
				if (document.register.conf_exhibitor_type[1].checked) var conf_exhibitor_type="For Profit";
				if (document.register.conf_exhibitor_type[2].checked) var conf_exhibitor_type="Microenterprise";		
				if (document.register.exhibitor_electrical_outlet.checked) var exhibitor_electrical_outlet=1; else var exhibitor_electrical_outlet=0;
				if (document.register.exhibitor_second_table.checked) var exhibitor_second_table=1; else var exhibitor_second_table=0;
				}	
			else { var conf_exhibitor_type=""; var exhibitor_electrical_outlet="0"; var exhibitor_second_table="0"; } 
			if (document.register.role_presenter.checked) var role_presenter=1; else var role_presenter=0;
			if (document.register.role_facilitator.checked && document.register.facilitator_id.value!=0) var role_facilitator=1; else var role_facilitator=0;
			var exemption_code_auth=document.register.exemption_code_auth.value;
			var custom_fee_code_id=document.register.custom_fee_code_id.value;			
			var year=document.register.year.value;
			var credit=document.register.credit.value;
			//var presenter_payment_type=document.register.presenter_payment_type.value;	// not needed now because variable is used
		}
		if (page==2) {
			//alert("page=2");
			var first_name=document.register.first_name.value;
			var last_name=document.register.last_name.value;
			var preconf_morning_session=document.register.preconf_morning_session.value;
			var preconf_afternoon_session=document.register.preconf_afternoon_session.value;
			var role_general_participant=document.register.role_general_participant.value;
			var role_youth=document.register.role_youth.value;
			var role_advertiser=document.register.role_advertiser.value;
			var role_univ_student=document.register.role_univ_student.value;
			var role_personal_care_attendant=document.register.role_personal_care_attendant.value;						
			var ad_size=document.register.ad_size.value;			
			var role_exhibitor=document.register.role_exhibitor.value;
			var role_exhibitor_assistant=document.register.role_exhibitor_assistant.value;
			var conf_exhibitor_type=document.register.conf_exhibitor_type.value;
			var exhibitor_electrical_outlet=document.register.exhibitor_electrical_outlet.value;
			var exhibitor_second_table=document.register.exhibitor_second_table.value;
			var role_presenter=document.register.role_presenter.value;
			var role_facilitator=document.register.role_facilitator.value;
			var exemption_code_auth=document.register.exemption_code_auth.value;
			var custom_fee_code_id=document.register.custom_fee_code_id.value;			
			var year=document.register.year.value;
			var credit=document.register.credit.value;  // if registrant logged in, contains amount already paid
			//var presenter_payment_type=document.register.presenter_payment_type.value;
		}
		if (document.register.presenter_payment_type) var presenter_payment_type_local=document.register.presenter_payment_type.value; else presenter_payment_type_local=presenter_payment_type;
		var getstr =  "year=" + year + "&first_name=" + first_name + "&last_name=" + last_name + "&preconf_morning_session=" + preconf_morning_session + "&preconf_afternoon_session=" + preconf_afternoon_session + "&role_general_participant=" + role_general_participant + "&role_exhibitor=" + role_exhibitor + "&role_exhibitor_assistant=" + role_exhibitor_assistant + "&conf_exhibitor_type=" + conf_exhibitor_type + "&exhibitor_electrical_outlet=" + exhibitor_electrical_outlet + "&exhibitor_second_table=" + exhibitor_second_table + "&role_presenter=" + role_presenter + "&presenter_payment_type=" + presenter_payment_type_local + "&role_facilitator=" + role_facilitator + "&role_youth=" + role_youth + "&role_advertiser=" + role_advertiser + "&role_univ_student=" + role_univ_student + "&role_personal_care_attendant=" + role_personal_care_attendant + "&ad_size=" + ad_size + "&credit=" + credit + "&exemption_code_auth=" + exemption_code_auth + "&custom_fee_code_id=" + custom_fee_code_id + "&reg_date=" + reg_date + "&more_than_60_days=" + more_than_60_days + "&action=send to conf reg page";
		//alert(getstr);
		ready_for_ajax_call=0;		
		makeRequest('calc_fees.php', getstr);
	}
	else { clearTimeout(calc_fees_TimerID);	calc_fees_TimerID=setTimeout("set_fees(" + page + ");",1000); }
}

