	var img=new Image();
	img.src="graphic/x.gif";
	function $(x){return document.getElementById(x);}
	function raiseform(o){
		y=$('signupform');
		z=$('pointer');
		if(y.className=='showclear'){
			y.className='hide';
			y.elements['send'].value='Submit >>';
			y.className='show';
			$('progress').className='hide';
		}
		if(req)try{req.abort();}catch(e){;}
		$('progress').innerHTML="<br /><br /><br />Submitting...";
		if(y.className!='hide'){
			y.className='hide';z.src='graphic/pointer.gif';y.reset();
		}else{y.className='show';z.src='graphic/x.gif'}
	}
	function checkfields(o){
		q=$('progress');
		p=o.elements['send'];
		if(p.value=="( Close ) "){
			try{req.abort();}catch(e){;}
			o.className='hide';
			q.className='hide';
			p.value='Submit >>';}
		else if(p.value=="( Cancel ) "){
			try{req.abort();}catch(e){;}
			q.className='hide'
			o.className='hide';
			p.value='Submit >>';
			raiseform(o);}
		else{
			var url="";
			for(i=0;i<o.elements.length;i++){
				try{
					if(o.elements[i].className=='required' && o.elements[i].value==""){alert('Please fill in all required fields (marked with a "*").');return false;}
				}catch(ex){;}
				v = o.elements[i];
				if(v.type=="checkbox")v=v.checked;else v=v.value;
				url += '&' + o.elements[i].name + '=' + v;
			}
			o.className='showclear';
			q.className='show';
			p.value='( Cancel ) ';
			q.innerHTML="<br /><br /><br />Submitting...";
			o.ondata = function(str){
				$('progress').innerHTML=str;
				this.elements['send'].value='( Close ) ';
				}
			loadXMLDoc("signup.php?"+url,o);
			}
		return false;//return true;
	}
	
var req;var requestingObj;
function loadXMLDoc(url,obj)
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        requestingObj=obj;//my addition
		if(req.overrideMimeType){req.overrideMimeType('text/xml')};
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
        	requestingObj=obj;//my addition
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
        	window.status="complete!";
            // ...processing statements go here...

            if(requestingObj.ondata){if(req.responseText){requestingObj.ondata(req.responseText);}requestingObj.ondata=null;
            }//my addition
        } else {
            $('progress').innerHTML="There was a problem submitting your information. Please email us at info@thespcm.org to sign up.\n";
            requestingObj.elements['send'].value="( Close ) ";
        }
    }
}