            var http_request = false;
			
            function makeRequest(url, strSubmit, strResultFunc) {


                http_request = false;
                
                // start the animation
                spinner_ani();

                if (window.XMLHttpRequest) { // Mozilla, Safari,...
                    http_request = new XMLHttpRequest();
                    if (http_request.overrideMimeType) {
                        http_request.overrideMimeType('text/xml');
                    }
                } else if (window.ActiveXObject) { // IE
                    try {
                        http_request = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {}
                    }
                }

                if (!http_request) {
                    alert('Giving up :( Cannot create an XMLHTTP instance');
                    return false;
                }

				http_request.onreadystatechange = alertContents;
                http_request.open('POST', url, true);

                http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                http_request.send(strSubmit);
            }
			
			
           function alertContents() {

                if (http_request.readyState == 4) {
                	// stop the animation
                	stopinterval();
                	
                    if (http_request.status == 200) {

						var response  = http_request.responseXML.documentElement;
//alert(http_request.responseText);
						var method    = response.getElementsByTagName('serror')[0].firstChild.data;
						var extradata = response.getElementsByTagName('extradata')[0].firstChild.data;
						
						// change the text on the page to the error/success message - this is the extra (dynamic) data returned
						DisplayWindowMsg(method, extradata)
                    } else {
                    	alert(http_request.status);
                        alert('There was a problem with the request.');
                    }
                }

        	}
        
        
			//function DisplayWindowMsg(sError, sExtraData) - had to be moved into the template files so it could use sPath w/ the border images


			ol_width="400";			// set the overlib popup window to 400 pixels wide
			
			function showStatus(sMsg) {
				window.status = sMsg ;
				return true ;
			}
			
			

			

/*
This code is copyright 2003 by Matthew Eernisse (mde@state26.com)

Additional bugfixes by Mark Pruett (mark.pruett@comcast.net)

---------------------------------------------------------------------------	
*/

// The var docForm should be a reference to a <form>

function formData2QueryString(docForm) {

	var strSubmitContent = '';
	var formElem;
	var strLastElemName = '';

	for (i = 0; i < docForm.elements.length; i++) {
		
		formElem = docForm.elements[i];
		switch (formElem.type) {
			// Text fields, hidden form elements
			case 'text':
			case 'hidden':
			case 'password':
			case 'textarea':
			case 'select-one':
				strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&'
				break;
				
			// Radio buttons
			case 'radio':
				if (formElem.checked) {
					strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&'
				}
				break;
				
			// Checkboxes
			case 'checkbox':
				if (formElem.checked) {
					// Continuing multiple, same-name checkboxes
					if (formElem.name == strLastElemName) {
						// Strip of end ampersand if there is one
						if (strSubmitContent.lastIndexOf('&') == strSubmitContent.length-1) {
							strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
						}
						// Append value as comma-delimited string
						strSubmitContent += ',' + escape(formElem.value);
					}
					else {
						strSubmitContent += formElem.name + '=' + escape(formElem.value);
					}
					strSubmitContent += '&';
					strLastElemName = formElem.name;
				}
				break;
				
		}
	}
	
	// Remove trailing separator
	strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
	return strSubmitContent;
}


							var iCount = 0;
						
							function stopinterval()
							{
								clearTimeout(timer);
								obj = document.getElementById("spinner");
								obj.firstChild.nodeValue = " ";
							}
							
							function spinner_ani()
							{
								var sChars=new Array();
								sChars[0] = "\\";
								sChars[1] = "|";
								sChars[2] = "/";
								sChars[3] = "-";
								
								sChars[4] = "\\";
								sChars[5] = "|";
								sChars[6] = "/";
								sChars[7] = "-";
							
								obj = document.getElementById("spinner");
								if ( iCount == 8 ){
									iCount = 0;
								}else{
									obj.firstChild.nodeValue = sChars[iCount];
									iCount++;
								}
							
								timer=setTimeout("spinner_ani()",50)
							}