// BEGIN - Right Function

	function Right(str, n)
	{
		if (n <= 0)
	       		{
	       			return "";
	       		}
		else if (n > String(str).length)
			{
				return str;
			}
		else
			{
				var iLen = String(str).length;
				return String(str).substring(iLen, iLen - n);
			}
	}

// END - Right Function



// BEGIN - Code for "Other" Sections
	function OtherPracticeSettings()
	{
		if (document.Form.MEM_CBA_PRAC_SETTING[document.Form.MEM_CBA_PRAC_SETTING.selectedIndex].value == "OTHER")
			{
				document.getElementById('OtherPracticeSetting').style.display='block';
				//document.Form.MEM_CBA_PRAC_SETTING_OTHER.focus();
			}
		else
			{
				document.getElementById('OtherPracticeSetting').style.display='none';
				document.Form.MEM_CBA_PRAC_SETTING_OTHER.value = '';
			}
	}
	
	function AssocOtherPracticeSettings()
		{
			if (document.Form.ASSOC_CBA_PRAC_SETTING[document.Form.ASSOC_CBA_PRAC_SETTING.selectedIndex].value == "OTHER")
				{
					document.getElementById('AssocOtherPracticeSetting').style.display='block';
					//document.Form.ASSOC_CBA_PRAC_SETTING_OTHER.focus();
				}
			else
				{
					document.getElementById('AssocOtherPracticeSetting').style.display='none';
					document.Form.ASSOC_CBA_PRAC_SETTING_OTHER.value = '';
				}
	}
	
	function OtherLawSchools()
	{
		if (document.Form.MEM_CBA_LAW_SCHOOL[document.Form.MEM_CBA_LAW_SCHOOL.selectedIndex].value == "Other")
			{
				document.getElementById('OtherLawSchool').style.display='block';
				//document.Form.MEM_CBA_LAW_SCHOOL_OTHER.focus();
			}
		else
			{
				document.getElementById('OtherLawSchool').style.display='none';
				document.Form.MEM_CBA_LAW_SCHOOL_OTHER.value = '';
			}
	}
	
	function StudentOtherLawSchools()
	{
		if (document.Form.STU_CBA_LAW_SCHOOL[document.Form.STU_CBA_LAW_SCHOOL.selectedIndex].value == "Other")
			{
				document.getElementById('StudentOtherLawSchool').style.display='block';
				//document.Form.STU_CBA_LAW_SCHOOL_OTHER.focus();
			}
		else
			{
				document.getElementById('StudentOtherLawSchool').style.display='none';
				document.Form.STU_CBA_LAW_SCHOOL_OTHER.value = '';

			}
	}
	
// END - Code for "Other" Sections



// BEGIN - Membership Radio Buttons
	function checkCookie()
	{
		hideall();

		var selectedVal = get_cookie('memType');
		var len = document.Form.MEMTYPE.length;

		if (selectedVal != "")
			{
				show(selectedVal+'Display');

				for (i = 0; i < len; i++)
					{
						if (document.Form.MEMTYPE[i].value == selectedVal)
							{
								if (document.Form.MEMTYPE[i].disabled == false)
									{
										selectedVal = document.Form.MEMTYPE[i].checked=true;
									}
							}
					}
			}
	}
	
	function launchAttorneyPanel()
	{
		if (trim(document.Form.ComputePromoDisc.value) == "1")
			{
				show('RegularDisplay');
				memType();
				billingUpdates('FormType');
			}
	}

	function get_cookie(Name)
	{
		var search = Name + "="
		var returnvalue = "";
		if (document.cookie.length > 0)
			{
				offset = document.cookie.indexOf(search)
				if (offset != -1)
					{ 
						offset += search.length
						end = document.cookie.indexOf(";", offset);
						if (end == -1) end = document.cookie.length;
						returnvalue=unescape(document.cookie.substring(offset, end))
      					}
   			}
  		return returnvalue;
	}

	function hide(id)
	{
		document.getElementById(id).style.display='none';
	}


	function hideall()
	{
		hide('RegularDisplay');
		hide('StudentDisplay');
		hide('AssocDisplay');
		hide('NoneDisplay');
	}

	function memType()
	{

		hideall();

		var selectedVal = "";
		var len = document.Form.MEMTYPE.length;

		for (i = 0; i < len; i++)
			{
				if (document.Form.MEMTYPE[i].checked)
					{
						selectedVal = document.Form.MEMTYPE[i].value;
					}
			}


		if (selectedVal != "")
			{
				show(selectedVal+'Display');
				document.cookie = "memType=" + selectedVal;
			}
	}

	function show(id)
	{
		document.getElementById(id).style.display='block';
	}
// END - Membership Radio Buttons 



// BEGIN - Address Preferences
	function prefSelect()
	{

		var selectedVal = "";
		var len = document.Form.PREFERREDMAILING.length;

		for (i = 0; i < len; i++)
			{
				if (document.Form.PREFERREDMAILING[i].checked)
					{
						selectedVal = document.Form.PREFERREDMAILING[i].value;
					}
			}

		if (selectedVal != "")
			{
				if (selectedVal == "1")
					{
						document.getElementById('prefBill1').value="1"
						document.getElementById('prefMail1').value="1"
						document.getElementById('prefBill2').value="0"
						document.getElementById('prefMail2').value="0"
					}
				else if (selectedVal == "2")
					{
						document.getElementById('prefBill1').value="0"
						document.getElementById('prefMail1').value="0"
						document.getElementById('prefBill2').value="1"
						document.getElementById('prefMail2').value="1"
					}
			}
	}
// END - Address Preferences



// Begin - Code for Warning Box
	function showWarning()
	{
		if (self.pageYOffset)
			{
				document.getElementById('WarningDiv').style.top = self.pageYOffset + 100 + 'px';
			}
		else
			{
				document.getElementById('WarningDiv').style.top = document.documentElement.scrollTop + 100 + 'px';
			}

		document.getElementById('WarningDiv').style.display='block';
		document.getElementById('Filter').style.display='block';

		version=0
		if (navigator.appVersion.indexOf('MSIE')!=-1)
			{
				temp=navigator.appVersion.split('MSIE');
				version=parseFloat(temp[1]);
			}

		if (version<7)
			{
				document.getElementById('Filter').style.height=document.body.clientHeight;
			}
	}


	function hideWarning()
	{
		document.getElementById('WarningDiv').style.display='none';
		document.getElementById('Filter').style.display='none';
		document.Form.PREVIOUSMEM.checked=false;
	}
// END - Code for Warning Box



// BEGIN - Previous Member Reinstatement Warning
	function previousMem()
	{
		if (document.Form.PREVIOUSMEM.checked)
			{
				document.getElementById('warningMessage').innerHTML = "If you are a previous CBA member you already have an account on file with us and do not need to complete this form.<br /><br />If you would like to reinstate your membership, please complete the <a href=\"/Source/Members/cMemberReinstatement.cfm?Section=Reinstatement_Form\">online reinstatement form</a>.<br /><br />If you are trying to register for an event as a non-member, please <a href=\"/AM/Template.cfm?Section=Home_Member_Login&Template=Security/NoLogin.cfm\">click here</a> to retrieve your account information.";
				showWarning();
			}
	}
// END - Previous Member Reinstatement Warning




// Begin - Government Discount Notice
	function Government()
		{
			document.getElementById('warningMessage').innerHTML = "Government and legal aid employees are given a 25% discount on dues.  The discount does not apply to the CLE Advantage program.<br /><br />";
			showWarning();
		}
// END - Goverment Discount Notice



// BEGIN - Comparison Values for Dates
	function getCurrentDateObject(dateString,dateSeperator)
	{
		//This function returns a date object after accepting a date string and date separator as arguments
		var curValue = dateString;
		var sepChar = dateSeperator;
		var curPos = 0;
		var cDate, cMonth, cYear;

		// Extract month portion
		curPos = dateString.indexOf(sepChar);
		cMonth = dateString.substring(0,curPos);
	
		// Extract day portion				
		endPos = dateString.indexOf(sepChar,curPos+1);
		cDate = dateString.substring(curPos+1,endPos);

		// Extract year portion				
		curPos = endPos;
		endPos = curPos+5;			
		cYear = curValue.substring(curPos+1,endPos);

		// Create Date Object
		dtObject = new Date(cYear,cMonth,cDate);	
		return dtObject;
	}

	function getCompareDateObject(dateString,dateSeperator)
	{
		//This function returns a date object after accepting a date string and date separator as arguments
		var curValue = dateString;
		var sepChar = dateSeperator;
		var curPos = 0;
		var cDate, cMonth, cYear;

		// Extract month portion
		curPos = dateString.indexOf(sepChar);
		cMonth = dateString.substring(0,curPos);
		cMonth = cMonth - 1;

		// Extract day portion				
		endPos = dateString.indexOf(sepChar,curPos+1);
		cDate = dateString.substring(curPos+1,endPos);

		// Extract year portion				
		curPos = endPos;
		endPos = curPos+5;			
		cYear = curValue.substring(curPos+1,endPos);
	
		// Create Date Object
		dtObject = new Date(cYear,cMonth,cDate);
		return dtObject;
	}
// END - Comparison Values for Dates



// BEGIN - Initial Processing
	function initial()
	{
		try
			{
				checkCookie();
				launchAttorneyPanel();
				document.getElementById('warningMessage').innerHTML = "";
				OtherPracticeSettings();
				AssocOtherPracticeSettings();
				OtherLawSchools();
				StudentOtherLawSchools();
				if (trim(document.Form.ComputePromoDisc.value) == "0")
					{
						billingDisplay();
					}
			}
		catch(err)
			{}
	}
// END - Initial Processing



// BEGIN - AJAX Validation
	function VerifyARDC()
	{
		document.Form.MEM_ARDC.style.backgroundColor = 'white';
		document.Form.MEM_ARDC.style.border = '1px #7F9DB9 solid';

		if (trim(document.Form.MEM_ARDC.value) != "")
			{
				var ValidChars = "0123456789-";
				var IsNumber=true;
				var Char;

				for (i = 0; i < document.Form.MEM_ARDC.value.length && IsNumber == true; i++) 
					{ 
						Char = document.Form.MEM_ARDC.value.charAt(i);
						if (ValidChars.indexOf(Char) == -1) 
							{
								IsNumber = false;
							}
					}

				if (IsNumber == true)
					{
   						var xmlHttpReq = false;

						if (window.XMLHttpRequest)
							{ xmlHttpReq = new XMLHttpRequest(); }
						else if (window.ActiveXObject)
							{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

						xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinARDC', true);
						xmlHttpReq.setRequestHeader('Content-Type','text/xml');
						xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
						 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
						 + '<soap12:Body>'
						 + '<JoinARDC xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
						 + '<ARDCNumber>' + trim(document.Form.MEM_ARDC.value) + '</ARDCNumber>'
						 + '</JoinARDC>'
						 + '</soap12:Body>'
						 + '</soap12:Envelope>'
						 );
						
						xmlHttpReq.onreadystatechange = function()
							{ 
								if (xmlHttpReq.readyState == 4)
									{
										if (window.DOMParser)
											{
												parser=new DOMParser();
												xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
											}
										else
											{
												xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
												xmlDoc.async="false";
												xmlDoc.loadXML(xmlHttpReq.responseText);
											}

										if (xmlDoc.getElementsByTagName("JoinARDCResult")[0].childNodes[0].nodeValue == "True")
											{
												document.getElementById('warningMessage').innerHTML = '<center>The <b>Illinois ARDC Number</b> you have entered is already on file for another member.  Please verify the number you have entered.  In order to submit your application online you will need to correct your entry or remove it from your application.<br /><br />Please call (312) 554-2133 if you have any questions.  Thank you.</center>';
												document.Form.MEM_ARDC.style.backgroundColor = 'yellow';
												document.Form.ErrorARDC.value = "True";
        											showWarning();
												return false;
											}
										else
											{
												document.Form.ErrorARDC.value = "False";
											}
       									}
    							}
					}
			}
		else
			{
				document.Form.ErrorARDC.value = "False";
			}
	}

	function VerifyDuplicate()
	{

		document.Form.Name_FIRST_NAME.style.backgroundColor = 'white';
		document.Form.Name_FIRST_NAME.style.border = '1px #7F9DB9 solid';
		document.Form.Name_LAST_NAME.style.backgroundColor = 'white';
		document.Form.Name_LAST_NAME.style.border = '1px #7F9DB9 solid';

		if (trim(document.Form.Name_FIRST_NAME.value) != "" && trim(document.Form.Name_LAST_NAME.value) != "")
			{
   				var xmlHttpReq = false;

				if (window.XMLHttpRequest)
					{ xmlHttpReq = new XMLHttpRequest(); }
				else if (window.ActiveXObject)
					{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

				xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=NewMemberJoinDuplicate', true);
				xmlHttpReq.setRequestHeader('Content-Type','text/xml');
				xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
				 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
				 + '<soap12:Body>'
				 + '<NewMemberJoinDuplicate xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
				 + '<FirstName>' + trim(document.Form.Name_FIRST_NAME.value) + '</FirstName>'
				 + '<LastName>' + trim(document.Form.Name_LAST_NAME.value) + '</LastName>'
				 + '</NewMemberJoinDuplicate>'
				 + '</soap12:Body>'
				 + '</soap12:Envelope>'
				 );

				xmlHttpReq.onreadystatechange = function()
					{
						if (xmlHttpReq.readyState == 4)
							{
								if (window.DOMParser)
									{
										parser=new DOMParser();
										xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
									}
								else
									{
										xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
										xmlDoc.async="false";
										xmlDoc.loadXML(xmlHttpReq.responseText);
									} 

								if (xmlDoc.getElementsByTagName("NewMemberJoinDuplicateResult")[0].childNodes[0].nodeValue == "True")
									{
										document.getElementById('warningMessage').innerHTML = '<center>Based upon the <b>First Name</b> and <b>Last Name</b> you have entered you may have a previous CBA account or you have a name very similar to an existing member account.  In order to avoid possibly creating a duplicate membership record, we will be unable to process your application online. <br /><br />You may still complete the application and select the Print option to mail a copy to the CBA, or you may enroll by calling (312) 554-2133.  Thank you.</center>';
										document.Form.Name_FIRST_NAME.style.backgroundColor = 'yellow';
										document.Form.Name_LAST_NAME.style.backgroundColor = 'yellow';
										document.Form.ErrorFirstLast.value = "True";
										showWarning();
										return false;
									}
								else
									{
										document.Form.ErrorFirstLast.value = "False";
									}
							}
					}
			}
		else
			{
				document.Form.ErrorFirstLast.value = "False";
			}
	}

	function VerifyILAdmissionDate()
	{

		document.Form.MEM_CBA_ADMISSION_DATE.style.backgroundColor = 'white';
		document.Form.MEM_CBA_ADMISSION_DATE.style.border = '1px #7F9DB9 solid';

		if (trim(document.Form.MEM_CBA_ADMISSION_DATE.value) != "")
			{
				var RegExPattern = /^\d{2}\/\d{2}\/\d{4}$/;
				if (document.Form.MEM_CBA_ADMISSION_DATE.value.match(RegExPattern))
					{
						var monthfield = document.Form.MEM_CBA_ADMISSION_DATE.value.split("/")[0];
						var dayfield = document.Form.MEM_CBA_ADMISSION_DATE.value.split("/")[1];
						var yearfield = document.Form.MEM_CBA_ADMISSION_DATE.value.split("/")[2];
						var dayobj = new Date(yearfield, monthfield-1, dayfield);

						if ((dayobj.getMonth()+1 == monthfield) && (dayobj.getDate() == dayfield) && (dayobj.getFullYear() == yearfield))
							{
								var currentTime = new Date();
								var curMonth = currentTime.getMonth();

								if (curMonth < 10)
									{
										curMonth = "0" + curMonth;
									}

								var curDay = currentTime.getDate();

								if (curDay < 10)
									{
										curDay = "0" + curDay;
									}

								var curYear = currentTime.getFullYear();
								var currentDate = curMonth + "/" + curDay + "/" + curYear;
								compareDate = getCompareDateObject(document.Form.MEM_CBA_ADMISSION_DATE.value, "/");
								currentDate = getCurrentDateObject(currentDate,"/");

								if (compareDate > currentDate)
									{
										document.getElementById('warningMessage').innerHTML = '<center>The <b>Date of Admission to Illinois Bar</b> you entered occurs in the future.  We cannot process your membership until after your official date of admission has passed.<br /><br />If you would still like to create an account to register for Seminars, please choose the "Non-Member Online Account" option from the Membership options.</center>';
										document.Form.MEM_CBA_ADMISSION_DATE.style.backgroundColor = 'yellow';
        									showWarning();
										return false;
									}
								else
									{
										billingUpdates("AdmissionDate");
									}
							}
					} 
			}
		else
			{
				billingUpdates("AdmissionDate");
			}
	}


	function VerifyOtherAdmissionDate()
	{

		document.Form.MEM_OTHER_BAR.style.backgroundColor = 'white';
		document.Form.MEM_OTHER_BAR.style.border = '1px #7F9DB9 solid';

		if (trim(document.Form.MEM_OTHER_BAR.value) != "")
			{
				var RegExPattern = /^\d{2}\/\d{2}\/\d{4}$/;
				if (document.Form.MEM_OTHER_BAR.value.match(RegExPattern))
					{
						var monthfield = document.Form.MEM_OTHER_BAR.value.split("/")[0];
						var dayfield = document.Form.MEM_OTHER_BAR.value.split("/")[1];
						var yearfield = document.Form.MEM_OTHER_BAR.value.split("/")[2];
						var dayobj = new Date(yearfield, monthfield-1, dayfield);

						if ((dayobj.getMonth()+1 == monthfield) && (dayobj.getDate() == dayfield) && (dayobj.getFullYear() == yearfield))
							{
								var currentTime = new Date();
								var curMonth = currentTime.getMonth();

								if (curMonth < 10)
									{
										curMonth = "0" + curMonth;
									}

								var curDay = currentTime.getDate();

								if (curDay < 10)
									{
										curDay = "0" + curDay;
									}

								var curYear = currentTime.getFullYear();
								var currentDate = curMonth + "/" + curDay + "/" + curYear;
								compareDate = getCompareDateObject(document.Form.MEM_OTHER_BAR.value, "/");
								currentDate = getCurrentDateObject(currentDate,"/");

								if (compareDate > currentDate)
									{
										document.getElementById('warningMessage').innerHTML = '<center>The <b>First Bar Admission Date in any State/Country</b> you entered occurs in the future.  We cannot process your membership until after your official date of admission has passed.<br /><br />If you would still like to create an account to register for Seminars, please choose the "Non-Member Online Account" option from the Membership options.</center>';
										document.Form.MEM_OTHER_BAR.style.backgroundColor = 'yellow';
        									showWarning();
										return false;
									}
								else
									{
										billingUpdates("AdmissionDate");
									}
							}
					} 
			}
		else
			{
				billingUpdates("AdmissionDate");
			}
	}
// END - AJAX Validation



// BEGIN - Calculate Billing Total
	function billingUpdates(UpdateType)
	{
		var selectedVal = get_cookie('memType');
		document.Form.ComputeMembershipType.value = selectedVal;

		if (selectedVal == 'Regular' || selectedVal == 'Student' || selectedVal == 'Assoc')
			{
				// Set Membership Type variable
				if (UpdateType == "FormType")
					{
						// Clear out the warning alerts
						clearWarnings();

						// Run the Checkbox Functions to reset Display
						billingUpdates("CheckboxRefresh");

						billingDisplay();
					}

				// Set the Earliest Admission Date
				if (UpdateType == "AdmissionDate")
					{
   						var xmlHttpReq = false;

						if (window.XMLHttpRequest)
							{ xmlHttpReq = new XMLHttpRequest(); }
						else if (window.ActiveXObject)
							{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

						xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinAdmissionDate', true);
						xmlHttpReq.setRequestHeader('Content-Type','text/xml');
						xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
						 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
						 + '<soap12:Body>'
						 + '<JoinAdmissionDate xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
						 + '<ILAdmissionDate>' + trim(document.Form.MEM_CBA_ADMISSION_DATE.value) + '</ILAdmissionDate>'
						 + '<OtherAdmissionDate>' + trim(document.Form.MEM_OTHER_BAR.value) + '</OtherAdmissionDate>'
						 + '</JoinAdmissionDate>'
						 + '</soap12:Body>'
						 + '</soap12:Envelope>'
						 );

						xmlHttpReq.onreadystatechange = function()
							{
								if (xmlHttpReq.readyState == 4)
									{
										if (window.DOMParser)
											{
												parser=new DOMParser();
												xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
											}
										else
											{
												xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
												xmlDoc.async="false";
												xmlDoc.loadXML(xmlHttpReq.responseText);
											}

										if (xmlDoc.getElementsByTagName("JoinAdmissionDateResult")[0].childNodes[0].nodeValue != "Invalid")
											{
												document.Form.ComputeAdmissionDate.value = xmlDoc.getElementsByTagName("JoinAdmissionDateResult")[0].childNodes[0].nodeValue;
												billingDisplay();
											}
										else
											{
												document.Form.ComputeAdmissionDate.value = "";
												billingDisplay();
											}
									}
							}
					}

				// Set the Chapter
				if (UpdateType == "Chapter")
					{
						if (trim(document.Form.Name_Address_ZIP_1.value) != "")
							{
								var ValidChars = "0123456789-";
								var IsNumber=true;
								var Char;

								for (i = 0; i < document.Form.Name_Address_ZIP_1.value.length && IsNumber == true; i++) 
									{ 
										Char = document.Form.Name_Address_ZIP_1.value.charAt(i);
										if (ValidChars.indexOf(Char) == -1) 
											{ IsNumber = false; }
									}

								if (IsNumber == true)
									{
   										var xmlHttpReq = false;

										if (window.XMLHttpRequest)
											{ xmlHttpReq = new XMLHttpRequest(); }
										else if (window.ActiveXObject)
											{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

										xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinChapter', true);
										xmlHttpReq.setRequestHeader('Content-Type','text/xml');
										xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
										 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
										 + '<soap12:Body>'
										 + '<JoinChapter xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
										 + '<Zip>' + trim(document.Form.Name_Address_ZIP_1.value) + '</Zip>'
										 + '</JoinChapter>'
										 + '</soap12:Body>'
										 + '</soap12:Envelope>'
										 );

										xmlHttpReq.onreadystatechange = function()
											{
												if (xmlHttpReq.readyState == 4)
													{
														if (window.DOMParser)
															{
																parser=new DOMParser();
																xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
															}
														else
															{
																xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
																xmlDoc.async="false";
																xmlDoc.loadXML(xmlHttpReq.responseText);
															} 
								
														if (xmlDoc.getElementsByTagName("JoinChapterResult")[0].childNodes[0].nodeValue != "Invalid")
															{
																document.Form.ComputeChapter.value = xmlDoc.getElementsByTagName("JoinChapterResult")[0].childNodes[0].nodeValue;
																billingDisplay();
															}
														else
															{
																document.Form.ComputeChapter.value = "";
																billingDisplay();
															}
													}
											}
									}
								else
									{
										document.Form.ComputeChapter.value = "";
										billingDisplay();
									}
							}
						else
							{
								document.Form.ComputeChapter.value = "";
								billingDisplay();
							}
					}

				// Set the Special
				if (UpdateType == "Special")
					{
						if ((selectedVal == 'Regular') && (document.Form.MEM_SPECIAL.checked))
							{ document.Form.ComputeSpecial.value = "1"; }
						else
							{ document.Form.ComputeSpecial.value = "0"; }

						billingDisplay();
					}

				// Set the Government Discount
				if (UpdateType == "GovDisc")
					{
						if ((selectedVal == 'Regular') && (document.Form.MEM_GOV.checked))
							{ document.Form.ComputeGovDisc.value = "1"; }
						else
							{ document.Form.ComputeGovDisc.value = "0"; }

						billingDisplay();
					}
					
				// Set the CLE
				if (UpdateType == "CLE")
					{
						if ((selectedVal == 'Regular') && (document.Form.MEM_CLE.checked))
							{ document.Form.ComputeCLE.value = "1"; }
						else if ((selectedVal == 'Student') && (document.Form.STU_CLE.checked))
							{ document.Form.ComputeCLE.value = "1"; }
						else if ((selectedVal == 'Assoc') && (document.Form.ASSOC_CLE.checked))
							{ document.Form.ComputeCLE.value = "1"; }
						else
							{ document.Form.ComputeCLE.value = "0"; }

						billingDisplay();
					}

				// Set the Student Discount
				if (UpdateType == "StuFull")
					{
						if ((selectedVal == 'Student') && (document.Form.STU_FULLDUES.checked))
							{ document.Form.ComputeStuFull.value = "1"; }
						else
							{ document.Form.ComputeStuFull.value = "0"; }

						billingDisplay();
					}

				// Reset the Checkboxes when changing type
				if (UpdateType == "CheckboxRefresh")
					{
						if ((selectedVal == 'Regular') && (document.Form.MEM_SPECIAL.checked))
							{ document.Form.ComputeSpecial.value = "1"; }
						else
							{ document.Form.ComputeSpecial.value = "0"; }

						if ((selectedVal == 'Regular') && (document.Form.MEM_GOV.checked))
							{ document.Form.ComputeGovDisc.value = "1"; }
						else
							{ document.Form.ComputeGovDisc.value = "0"; }

						if ((selectedVal == 'Regular') && (document.Form.MEM_CLE.checked))
							{ document.Form.ComputeCLE.value = "1"; }
						else if ((selectedVal == 'Student') && (document.Form.STU_CLE.checked))
							{ document.Form.ComputeCLE.value = "1"; }
						else if ((selectedVal == 'Assoc') && (document.Form.ASSOC_CLE.checked))
							{ document.Form.ComputeCLE.value = "1"; }
						else
							{ document.Form.ComputeCLE.value = "0"; }

						if ((selectedVal == 'Student') && (document.Form.STU_FULLDUES.checked))
							{ document.Form.ComputeStuFull.value = "1"; }
						else
							{ document.Form.ComputeStuFull.value = "0"; }
					}
			}
		else
			{
				document.Form.ComputeMembershipType.value = "";
				document.Form.ComputeAdmissionDate.value = "";
				document.Form.ComputeChapter.value = "";
				document.Form.ComputeSpecial.value = "0";
				document.Form.ComputeGovDisc.value = "0";
				document.Form.ComputeCLE.value = "0";
				document.Form.ComputeStuFull.value = "0";
				document.Form.ComputePromoDisc.value = "0";
				document.Form.ComputePromoDiscAmt.value = "0";
				billingDisplay();
			}
	}

	function billingDisplay()
	{
		// Clear Values
		CLEBasePrice();
		document.getElementById('RegularDuesDisplay').innerHTML = '&nbsp;&nbsp;&bull; <b>Dues:</b> <span style="font-size: 9pt; color: #808080;">Please complete the enrollment form to see your Dues Amount.</span>';
		document.getElementById('RegularCLEDisplay').innerHTML = '';
		document.getElementById('RegularTotalDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; font-size: 14px; color: red;">Amount Due:</span> <span style="font-size: 9pt; color: #808080;">Please complete the enrollment form to see your Amount Due.</span>';
		document.getElementById('StudentDuesDisplay').innerHTML = '&nbsp;&nbsp;&bull; <b>Dues:</b> <span style="font-size: 9pt; color: #808080;">Please complete the enrollment form to see your Dues Amount.</span>';
		document.getElementById('StudentCLEDisplay').innerHTML = '';
		document.getElementById('StudentTotalDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; font-size: 14px; color: red;">Amount Due:</span> <span style="font-size: 9pt; color: #808080;">Please complete the enrollment form to see your Amount Due.</span>';
		document.getElementById('AssocDuesDisplay').innerHTML = '&nbsp;&nbsp;&bull; <b>Dues:</b> <span style="font-size: 9pt; color: #808080;">Please complete the enrollment form to see your Dues Amount.</span>';
		document.getElementById('AssocCLEDisplay').innerHTML = '';
		document.getElementById('AssocTotalDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; font-size: 14px; color: red;">Amount Due:</span> <span style="font-size: 9pt; color: #808080;">Please complete the enrollment form to see your Amount Due.</span>';
		document.Form.PrintBillBegin.value = "";
		document.Form.PrintBillEnd.value = "";
		document.Form.PrintDues.value = "";
		document.Form.PrintGovDisc.value = "";
		document.Form.PrintStuDisc.value = "";
		document.Form.PrintCLE.value = "";
		document.Form.PrintCLEBillBegin.value = "";
		document.Form.PrintCLEBillEnd.value = "";
		document.Form.PrintPromoFinalAmt.value = "";
		document.Form.PrintTotal.value = "";

		// Reassign the ComputeMembershipType Value if blank
		if (trim(document.Form.ComputeMembershipType.value) == '')
			{
				document.Form.ComputeMembershipType.value = get_cookie('memType');
			}

		// Begin Process
		BillBegin();
	}

	function CLEBasePrice()
	{
		// Determine CLE Amount
   		var xmlHttpReq = false;

		if (window.XMLHttpRequest)
			{ xmlHttpReq = new XMLHttpRequest(); }
		else if (window.ActiveXObject)
			{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

			xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinCLE', true);
			xmlHttpReq.setRequestHeader('Content-Type','text/xml');
			xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
			 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
			 + '<soap12:Body>'
			 + '<JoinCLE xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
			 + '<MembershipType>' + trim(document.Form.ComputeMembershipType.value) + '</MembershipType>'
			 + '<AdmissionDate>' + trim(document.Form.ComputeAdmissionDate.value) + '</AdmissionDate>'
			 + '<Special>' + trim(document.Form.ComputeSpecial.value) + '</Special>'
			 + '</JoinCLE>'
			 + '</soap12:Body>'
			 + '</soap12:Envelope>'
			 );

			xmlHttpReq.onreadystatechange = function()
				{
					if (xmlHttpReq.readyState == 4)
						{
							if (window.DOMParser)
								{
									parser=new DOMParser();
									xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
								}
							else
								{
									xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
									xmlDoc.async="false";
									xmlDoc.loadXML(xmlHttpReq.responseText);
								}

							if (xmlDoc.getElementsByTagName("JoinCLEResult")[0].childNodes[0].nodeValue != "Invalid")
								{
									if (xmlDoc.getElementsByTagName("JoinCLEResult")[0].childNodes[0].nodeValue != "")
										{
											try
												{
													document.getElementById('RegularCLEChargeDisplay').innerHTML = '$' + xmlDoc.getElementsByTagName("JoinCLEResult")[0].childNodes[0].nodeValue;
													document.getElementById('StudentCLEChargeDisplay').innerHTML = '$' + xmlDoc.getElementsByTagName("JoinCLEResult")[0].childNodes[0].nodeValue;
													document.getElementById('AssocCLEChargeDisplay').innerHTML = '$' + xmlDoc.getElementsByTagName("JoinCLEResult")[0].childNodes[0].nodeValue;
												}
											catch(err)
												{}
										}
								}
						}
				}
	}
	
	function BillBegin(strBillBegin,strBillEnd,strDues,strGovDisc,strCLE)
	{
   		var xmlHttpReq = false;

		if (window.XMLHttpRequest)
			{ xmlHttpReq = new XMLHttpRequest(); }
		else if (window.ActiveXObject)
			{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

			xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinBillBegin', true);
			xmlHttpReq.setRequestHeader('Content-Type','text/xml');
			xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
			 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
			 + '<soap12:Body>'
			 + '<JoinBillBegin xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
			 + '<MembershipType>' + trim(document.Form.ComputeMembershipType.value) + '</MembershipType>'
			 + '<AdmissionDate>' + trim(document.Form.ComputeAdmissionDate.value) + '</AdmissionDate>'
			 + '<Chapter>' + trim(document.Form.ComputeChapter.value) + '</Chapter>'
			 + '<Special>' + trim(document.Form.ComputeSpecial.value) + '</Special>'
			 + '<CLE>' + trim(document.Form.ComputeCLE.value) + '</CLE>'
			 + '<PromoDisc>' + trim(document.Form.ComputePromoDisc.value) + '</PromoDisc>'
			 + '<PromoDiscAmt>' + trim(document.Form.ComputePromoDiscAmt.value) + '</PromoDiscAmt>'	 			 
			 + '<GovDisc>' + trim(document.Form.ComputeGovDisc.value) + '</GovDisc>'
			 + '<StuFull>' + trim(document.Form.ComputeStuFull.value) + '</StuFull>'
			 + '</JoinBillBegin>'
			 + '</soap12:Body>'
			 + '</soap12:Envelope>'
			 );

			xmlHttpReq.onreadystatechange = function()
				{
					if (xmlHttpReq.readyState == 4)
						{
							if (window.DOMParser)
								{
									parser=new DOMParser();
									xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
								}
							else
								{
									xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
									xmlDoc.async="false";
									xmlDoc.loadXML(xmlHttpReq.responseText);
								}
								
							if (xmlDoc.getElementsByTagName("JoinBillBeginResult")[0].childNodes[0].nodeValue != "Invalid")
								{	
									document.Form.PrintBillBegin.value = xmlDoc.getElementsByTagName("JoinBillBeginResult")[0].childNodes[0].nodeValue
									BillEnd();
								}
						}
				}
	}

	function BillEnd(strBillBegin,strBillEnd,strDues,strGovDisc,strCLE)
	{
   		var xmlHttpReq = false;

		if (window.XMLHttpRequest)
			{ xmlHttpReq = new XMLHttpRequest(); }
		else if (window.ActiveXObject)
			{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

			xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinBillThru', true);
			xmlHttpReq.setRequestHeader('Content-Type','text/xml');
			xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
			 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
			 + '<soap12:Body>'
			 + '<JoinBillThru xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
			 + '<MembershipType>' + trim(document.Form.ComputeMembershipType.value) + '</MembershipType>'
			 + '<AdmissionDate>' + trim(document.Form.ComputeAdmissionDate.value) + '</AdmissionDate>'
			 + '<Chapter>' + trim(document.Form.ComputeChapter.value) + '</Chapter>'
			 + '<Special>' + trim(document.Form.ComputeSpecial.value) + '</Special>'
			 + '<CLE>' + trim(document.Form.ComputeCLE.value) + '</CLE>'
			 + '<PromoDisc>' + trim(document.Form.ComputePromoDisc.value) + '</PromoDisc>'
			 + '<PromoDiscAmt>' + trim(document.Form.ComputePromoDiscAmt.value) + '</PromoDiscAmt>'	
			 + '<GovDisc>' + trim(document.Form.ComputeGovDisc.value) + '</GovDisc>'
			 + '<StuFull>' + trim(document.Form.ComputeStuFull.value) + '</StuFull>'
			 + '</JoinBillThru>'
			 + '</soap12:Body>'
			 + '</soap12:Envelope>'
			 );

			xmlHttpReq.onreadystatechange = function()
				{
					if (xmlHttpReq.readyState == 4)
						{
							if (window.DOMParser)
								{
									parser=new DOMParser();
									xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
								}
							else
								{
									xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
									xmlDoc.async="false";
									xmlDoc.loadXML(xmlHttpReq.responseText);
								}
							
							if (xmlDoc.getElementsByTagName("JoinBillThruResult")[0].childNodes[0].nodeValue != "Invalid")
								{	
									document.Form.PrintBillEnd.value = xmlDoc.getElementsByTagName("JoinBillThruResult")[0].childNodes[0].nodeValue
									BillDues();
								}
						}
				}
	}


	function BillDues()
	{
   		var xmlHttpReq = false;

		if (window.XMLHttpRequest)
			{ xmlHttpReq = new XMLHttpRequest(); }
		else if (window.ActiveXObject)
			{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

			xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinDues', true);
			xmlHttpReq.setRequestHeader('Content-Type','text/xml');
			xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
			 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
			 + '<soap12:Body>'
			 + '<JoinDues xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
			 + '<MembershipType>' + trim(document.Form.ComputeMembershipType.value) + '</MembershipType>'
			 + '<AdmissionDate>' + trim(document.Form.ComputeAdmissionDate.value) + '</AdmissionDate>'
			 + '<Chapter>' + trim(document.Form.ComputeChapter.value) + '</Chapter>'
			 + '<Special>' + trim(document.Form.ComputeSpecial.value) + '</Special>'
			 + '<CLE>' + trim(document.Form.ComputeCLE.value) + '</CLE>'
			 + '<PromoDisc>' + trim(document.Form.ComputePromoDisc.value) + '</PromoDisc>'
			 + '<PromoDiscAmt>' + trim(document.Form.ComputePromoDiscAmt.value) + '</PromoDiscAmt>'	
			 + '<GovDisc>' + trim(document.Form.ComputeGovDisc.value) + '</GovDisc>'
			 + '<StuFull>' + trim(document.Form.ComputeStuFull.value) + '</StuFull>'
			 + '</JoinDues>'
			 + '</soap12:Body>'
			 + '</soap12:Envelope>'
			 );

			xmlHttpReq.onreadystatechange = function()
				{
					if (xmlHttpReq.readyState == 4)
						{
							if (window.DOMParser)
								{
									parser=new DOMParser();
									xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
								}
							else
								{
									xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
									xmlDoc.async="false";
									xmlDoc.loadXML(xmlHttpReq.responseText);
								}
							
							if (xmlDoc.getElementsByTagName("JoinDuesResult")[0].childNodes[0].nodeValue != "Invalid")
								{	
									document.Form.PrintDues.value = xmlDoc.getElementsByTagName("JoinDuesResult")[0].childNodes[0].nodeValue

									if (document.Form.ComputeMembershipType.value == 'Regular')
										{ 
											document.getElementById('RegularDuesDisplay').innerHTML = '&nbsp;&nbsp;&bull; <b>Dues:</b> $' + document.Form.PrintDues.value + ' <span style="font-size: 9pt; color: #808080;">(Membership from ' + document.Form.PrintBillBegin.value + ' through ' + document.Form.PrintBillEnd.value + ')</span>';
											if (document.Form.ComputePromoDisc.value == "1")
												{
													BillPromoDisc();
												}	
											else if (document.Form.ComputeGovDisc.value == "1")
												{
													BillGovDisc();
												}
											else if (document.Form.ComputeCLE.value == "1")
												{
													BillCLE();
												}
											else
												{
													BillTotal();
												}
										}
									else if (document.Form.ComputeMembershipType.value == 'Student')
										{
											document.getElementById('StudentDuesDisplay').innerHTML = '&nbsp;&nbsp;&bull; <b>Dues:</b> $' + document.Form.PrintDues.value + ' <span style="font-size: 9pt; color: #808080;">(Membership from ' + document.Form.PrintBillBegin.value + ' through ' + document.Form.PrintBillEnd.value + ')</span>';
											if (document.Form.ComputeStuFull.value == "1")
												{
													BillStuDisc();
												}
											else if (document.Form.ComputeCLE.value == "1")
												{
													BillCLE();
												}
											else
												{
													BillTotal();
												}
										}
									else if (document.Form.ComputeMembershipType.value == 'Assoc')
										{
											document.getElementById('AssocDuesDisplay').innerHTML = '&nbsp;&nbsp;&bull; <b>Dues:</b> $' + document.Form.PrintDues.value + ' <span style="font-size: 9pt; color: #808080;">(Membership from ' + document.Form.PrintBillBegin.value + ' through ' + document.Form.PrintBillEnd.value + ')</span>';
											if (document.Form.ComputeCLE.value == "1")
												{
													BillCLE();
												}
											else
												{
													BillTotal();
												}
										}
								}
						}
				}
	}


	function BillPromoDisc()
	{ 
   		var xmlHttpReq = false;

		if (window.XMLHttpRequest)
			{ xmlHttpReq = new XMLHttpRequest(); }
		else if (window.ActiveXObject)
			{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

			xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinPromoDisc', true);
			xmlHttpReq.setRequestHeader('Content-Type','text/xml');
			xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
			 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
			 + '<soap12:Body>'
			 + '<JoinPromoDisc xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
			 + '<MembershipType>' + trim(document.Form.ComputeMembershipType.value) + '</MembershipType>'
			 + '<AdmissionDate>' + trim(document.Form.ComputeAdmissionDate.value) + '</AdmissionDate>'
			 + '<Chapter>' + trim(document.Form.ComputeChapter.value) + '</Chapter>'
			 + '<Special>' + trim(document.Form.ComputeSpecial.value) + '</Special>'
			 + '<CLE>' + trim(document.Form.ComputeCLE.value) + '</CLE>'
			 + '<PromoDisc>' + trim(document.Form.ComputePromoDisc.value) + '</PromoDisc>'
			 + '<PromoDiscAmt>' + trim(document.Form.ComputePromoDiscAmt.value) + '</PromoDiscAmt>'	
			 + '<GovDisc>' + trim(document.Form.ComputeGovDisc.value) + '</GovDisc>'
			 + '<StuFull>' + trim(document.Form.ComputeStuFull.value) + '</StuFull>'
			 + '</JoinPromoDisc>'
			 + '</soap12:Body>'
			 + '</soap12:Envelope>'
			 );

			xmlHttpReq.onreadystatechange = function()
				{
					if (xmlHttpReq.readyState == 4)
						{
							if (window.DOMParser)
								{
									parser=new DOMParser();
									xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
								}
							else
								{
									xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
									xmlDoc.async="false";
									xmlDoc.loadXML(xmlHttpReq.responseText);
								}
							
							if (xmlDoc.getElementsByTagName("JoinPromoDiscResult")[0].childNodes[0].nodeValue != "Invalid")
								{
									if (xmlDoc.getElementsByTagName("JoinPromoDiscResult")[0].childNodes[0].nodeValue != "")
										{
											document.Form.PrintPromoFinalAmt.value = xmlDoc.getElementsByTagName("JoinPromoDiscResult")[0].childNodes[0].nodeValue
											if (xmlDoc.getElementsByTagName("JoinPromoDiscResult")[0].childNodes[0].nodeValue != "0.00")
												{
													document.getElementById('RegularDuesDisplay').innerHTML = document.getElementById('RegularDuesDisplay').innerHTML + '<br /><br />&nbsp;&nbsp;&bull; <b>Promotional Discount: </b>$' + document.Form.PrintPromoFinalAmt.value;
												}
										}

									if (document.Form.ComputeGovDisc.value == "1")
										{
											BillGovDisc();
										}
									else if (trim(document.Form.ComputeCLE.value) == "1")
										{
											BillCLE();
										}
									else
										{
											BillTotal();
										}
								}
						}
				}
	}

	function BillGovDisc()
	{
   		var xmlHttpReq = false;

		if (window.XMLHttpRequest)
			{ xmlHttpReq = new XMLHttpRequest(); }
		else if (window.ActiveXObject)
			{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

			xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinGovDisc', true);
			xmlHttpReq.setRequestHeader('Content-Type','text/xml');
			xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
			 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
			 + '<soap12:Body>'
			 + '<JoinGovDisc xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
			 + '<MembershipType>' + trim(document.Form.ComputeMembershipType.value) + '</MembershipType>'
			 + '<AdmissionDate>' + trim(document.Form.ComputeAdmissionDate.value) + '</AdmissionDate>'
			 + '<Chapter>' + trim(document.Form.ComputeChapter.value) + '</Chapter>'
			 + '<Special>' + trim(document.Form.ComputeSpecial.value) + '</Special>'
			 + '<CLE>' + trim(document.Form.ComputeCLE.value) + '</CLE>'
			 + '<PromoDisc>' + trim(document.Form.ComputePromoDisc.value) + '</PromoDisc>'
			 + '<PromoDiscAmt>' + trim(document.Form.ComputePromoDiscAmt.value) + '</PromoDiscAmt>'	
			 + '<GovDisc>' + trim(document.Form.ComputeGovDisc.value) + '</GovDisc>'
			 + '<StuFull>' + trim(document.Form.ComputeStuFull.value) + '</StuFull>'
			 + '</JoinGovDisc>'
			 + '</soap12:Body>'
			 + '</soap12:Envelope>'
			 );

			xmlHttpReq.onreadystatechange = function()
				{
					if (xmlHttpReq.readyState == 4)
						{
							if (window.DOMParser)
								{
									parser=new DOMParser();
									xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
								}
							else
								{
									xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
									xmlDoc.async="false";
									xmlDoc.loadXML(xmlHttpReq.responseText);
								}
							
							if (xmlDoc.getElementsByTagName("JoinGovDiscResult")[0].childNodes[0].nodeValue != "Invalid")
								{	
									if (xmlDoc.getElementsByTagName("JoinGovDiscResult")[0].childNodes[0].nodeValue != "")
										{
											document.Form.PrintGovDisc.value = xmlDoc.getElementsByTagName("JoinGovDiscResult")[0].childNodes[0].nodeValue
											if (xmlDoc.getElementsByTagName("JoinGovDiscResult")[0].childNodes[0].nodeValue != "0.00")
												{
													document.getElementById('RegularDuesDisplay').innerHTML = document.getElementById('RegularDuesDisplay').innerHTML + '<br /><br />&nbsp;&nbsp;&bull; <b>Government Discount: </b>$' + document.Form.PrintGovDisc.value;
												}
										}
										
									if (trim(document.Form.ComputeCLE.value) == "1")
										{
											BillCLE();
										}
									else
										{
											BillTotal();
										}
								}
						}
				}
	}

	function BillStuDisc()
	{
   		var xmlHttpReq = false;

		if (window.XMLHttpRequest)
			{ xmlHttpReq = new XMLHttpRequest(); }
		else if (window.ActiveXObject)
			{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

			xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinStuDisc', true);
			xmlHttpReq.setRequestHeader('Content-Type','text/xml');
			xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
			 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
			 + '<soap12:Body>'
			 + '<JoinStuDisc xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
			 + '<MembershipType>' + trim(document.Form.ComputeMembershipType.value) + '</MembershipType>'
			 + '<AdmissionDate>' + trim(document.Form.ComputeAdmissionDate.value) + '</AdmissionDate>'
			 + '<Chapter>' + trim(document.Form.ComputeChapter.value) + '</Chapter>'
			 + '<Special>' + trim(document.Form.ComputeSpecial.value) + '</Special>'
			 + '<CLE>' + trim(document.Form.ComputeCLE.value) + '</CLE>'
			 + '<PromoDisc>' + trim(document.Form.ComputePromoDisc.value) + '</PromoDisc>'
			 + '<PromoDiscAmt>' + trim(document.Form.ComputePromoDiscAmt.value) + '</PromoDiscAmt>'	
			 + '<GovDisc>' + trim(document.Form.ComputeGovDisc.value) + '</GovDisc>'
			 + '<StuFull>' + trim(document.Form.ComputeStuFull.value) + '</StuFull>'
			 + '</JoinStuDisc>'
			 + '</soap12:Body>'
			 + '</soap12:Envelope>'
			 );

			xmlHttpReq.onreadystatechange = function()
				{
					if (xmlHttpReq.readyState == 4)
						{
							if (window.DOMParser)
								{
									parser=new DOMParser();
									xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
								}
							else
								{
									xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
									xmlDoc.async="false";
									xmlDoc.loadXML(xmlHttpReq.responseText);
								}
							
							if (xmlDoc.getElementsByTagName("JoinStuDiscResult")[0].childNodes[0].nodeValue != "Invalid")
								{	
									document.Form.PrintStuDisc.value = xmlDoc.getElementsByTagName("JoinStuDiscResult")[0].childNodes[0].nodeValue

									document.getElementById('StudentDuesDisplay').innerHTML = document.getElementById('StudentDuesDisplay').innerHTML + '<br /><br />&nbsp;&nbsp;&bull; <b>Discount: </b>$' + document.Form.PrintStuDisc.value;

									if (trim(document.Form.ComputeCLE.value) == "1")
										{
											BillCLE();
										}
									else
										{
											BillTotal();
										}
								}
						}
				}
	}

	function BillCLE()
	{
		// Determine CLE Amount
   		var xmlHttpReq = false;

		if (window.XMLHttpRequest)
			{ xmlHttpReq = new XMLHttpRequest(); }
		else if (window.ActiveXObject)
			{ xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }

			xmlHttpReq.open('POST', 'http://www.chicagobar.org/webservices/net/service.asmx?op=JoinCLE', true);
			xmlHttpReq.setRequestHeader('Content-Type','text/xml');
			xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
			 + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
			 + '<soap12:Body>'
			 + '<JoinCLE xmlns="https://www.chicagobar.org/webservices/net/service.asmx">'
			 + '<MembershipType>' + trim(document.Form.ComputeMembershipType.value) + '</MembershipType>'
			 + '<AdmissionDate>' + trim(document.Form.ComputeAdmissionDate.value) + '</AdmissionDate>'
			 + '<Special>' + trim(document.Form.ComputeSpecial.value) + '</Special>'
			 + '</JoinCLE>'
			 + '</soap12:Body>'
			 + '</soap12:Envelope>'
			 );

			xmlHttpReq.onreadystatechange = function()
				{
					if (xmlHttpReq.readyState == 4)
						{
							if (window.DOMParser)
								{
									parser=new DOMParser();
									xmlDoc=parser.parseFromString(xmlHttpReq.responseText,"text/xml");
								}
							else
								{
									xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
									xmlDoc.async="false";
									xmlDoc.loadXML(xmlHttpReq.responseText);
								}

							if (xmlDoc.getElementsByTagName("JoinCLEResult")[0].childNodes[0].nodeValue != "Invalid")
								{
									if (xmlDoc.getElementsByTagName("JoinCLEResult")[0].childNodes[0].nodeValue != "")
										{
											if (document.Form.ComputeCLE.value == "1")
												{
													document.Form.PrintCLE.value = xmlDoc.getElementsByTagName("JoinCLEResult")[0].childNodes[0].nodeValue;
													
													var currentTime = new Date();

													var curMonth = currentTime.getMonth();
													if (curMonth < 10)
														{ curMonth = "0" + curMonth; }

													var curDay = currentTime.getDate();
													if (curDay < 10)
														{ curDay = "0" + curDay; }

													var curYear = currentTime.getFullYear();
													var currentDate = curMonth + "/" + curDay + "/" + curYear;
													compareDate = getCompareDateObject("06/01/" + curYear, "/");
													currentDate = getCurrentDateObject(currentDate,"/");

													if (compareDate > currentDate)
														{
															document.Form.PrintCLEBillBegin.value = "06/01/" + (curYear-1);
															document.Form.PrintCLEBillEnd.value = "05/31/" + curYear;
														}
													else
														{
															document.Form.PrintCLEBillBegin.value = "06/01/" + curYear;
															document.Form.PrintCLEBillEnd.value = "05/31/" + (curYear+1);
														}

													if (document.Form.ComputeMembershipType.value == 'Regular')
														{
															document.getElementById('RegularCLEDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&bull; <b>CLE Advantage: </b>$' + document.Form.PrintCLE.value + ' <span style="font-size: 9pt; color: #808080;">(Enrollment from ' + document.Form.PrintCLEBillBegin.value + ' through ' + document.Form.PrintCLEBillEnd.value + ')</span>';
														}
													else if (document.Form.ComputeMembershipType.value == 'Student')
														{
															document.getElementById('StudentCLEDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&bull; <b>CLE Advantage: </b>$' + document.Form.PrintCLE.value + ' <span style="font-size: 9pt; color: #808080;">(Enrollment from ' + document.Form.PrintCLEBillBegin.value + ' through ' + document.Form.PrintCLEBillEnd.value + ')</span>';
														}
													else if (document.Form.ComputeMembershipType.value == 'Assoc')
														{
															document.getElementById('AssocCLEDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&bull; <b>CLE Advantage: </b>$' + document.Form.PrintCLE.value + ' <span style="font-size: 9pt; color: #808080;">(Enrollment from ' + document.Form.PrintCLEBillBegin.value + ' through ' + document.Form.PrintCLEBillEnd.value + ')</span>';
														}
												}
												
											BillTotal();
										}
								}
						}
				}
	}
	
	function BillTotal()
	{
		var DuesTotal = +document.Form.PrintDues.value;
		var PromoDiscTotal = +document.Form.PrintPromoFinalAmt.value;
		var GovDiscTotal = +document.Form.PrintGovDisc.value;
		var StuDiscTotal = +document.Form.PrintStuDisc.value;
		var CLETotal = +document.Form.PrintCLE.value;

		document.Form.PrintTotal.value = DuesTotal-PromoDiscTotal-GovDiscTotal-StuDiscTotal+CLETotal;

		if (document.Form.PrintTotal.value.indexOf('.') == -1)
			{
				document.Form.PrintTotal.value = document.Form.PrintTotal.value + '.00'
			}
		else if ((Right(document.Form.PrintTotal.value,2) == '.1') || (Right(document.Form.PrintTotal.value,2) == '.2') || (Right(document.Form.PrintTotal.value,2) == '.3') || (Right(document.Form.PrintTotal.value,2) == '.4') || (Right(document.Form.PrintTotal.value,2) == '.5') || (Right(document.Form.PrintTotal.value,2) == '.6') || (Right(document.Form.PrintTotal.value,2) == '.7') || (Right(document.Form.PrintTotal.value,2) == '.8') || (Right(document.Form.PrintTotal.value,2) == '.9'))
			{
				document.Form.PrintTotal.value = document.Form.PrintTotal.value + '0'
			}
			
		if (document.Form.ComputeMembershipType.value == 'Regular')
			{
				document.getElementById('RegularTotalDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; font-size: 14px; color: red;">Amount Due: </span>$' + document.Form.PrintTotal.value;
			}
		else if (document.Form.ComputeMembershipType.value == 'Student')
			{
				document.getElementById('StudentTotalDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; font-size: 14px; color: red;">Amount Due: </span>$' + document.Form.PrintTotal.value;
			}
		else if (document.Form.ComputeMembershipType.value == 'Assoc')
			{
				document.getElementById('AssocTotalDisplay').innerHTML = '<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; font-size: 14px; color: red;">Amount Due: </span>$' + document.Form.PrintTotal.value;
			}

	}
// END - Calculate Billing Total



window.onload = initial;



