
		/********************************
		 xmlhttp request functions
		********************************/

		var xmlhttp;
		var targetID;

		function sendReq(thiss,query,targettID) {
			if(thiss) {
				thiss.blur();
//				wait(thiss);
			}
			targetID = targettID;
			if (window.XMLHttpRequest) {
				xmlhttp = new XMLHttpRequest();
				if(xmlhttp.overrideMimeType)
					xmlhttp.overrideMimeType('text/xml');
				//sendd = null;
			} else if (window.ActiveXObject) {
				try {
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
				//sendd = '';
			} else {
				alert('Your browser does not support dynamic page request via xml-http. Try Firefox for example.');
			}
			xmlhttp.onreadystatechange = stateHandler;
			xmlhttp.open("POST", "/postBack.php", true);
			xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			//alert(query);
			xmlhttp.send(query);
		}
			function stateHandler() {
				if (xmlhttp.readyState == 4) {
					if (xmlhttp.status == 200)
						doReq(targetID);
					else
						alert('Unable to receive XMLHTTP request: '+xmlhttp.statusText);
				}
				return true;
			}
				function doReq(targetID) {
					if(targetID!='bypass')
						activateScripts();
						document.getElementById(targetID).innerHTML=xmlhttp.responseText;
				}

		function submitForm(thiss,formID,query,returnID) {
			if(typeof formID == "object")
				formID=formID.id;
			if(thiss)
				if(!validate(thiss,formID)) 
					return false;
				
				getstr = 'q=formSubmit&formID='+formID+'&'+query+'&';
				fme = document.getElementById(formID).elements;
				for (i=0; i<fme.length; i++) {
				switch(fme[i].tagName) {
					case("INPUT"):
							if (fme[i].type == "text" || fme[i].type == "hidden") {
								v = fme[i].value;
								if(v!='')
									v = format4db(v);
								getstr += fme[i].name + "=" + v + "&";
							}
							if (fme[i].type == "checkbox") {
								if (fme[i].checked)
									getstr += fme[i].name + "=" + fme[i].value + "&";
								else
									getstr += fme[i].name + "=0&";
							}
							if (fme[i].type == "radio") {
								if (fme[i].checked)
									getstr += fme[i].name + "=" + fme[i].value + "&";
							}
						break;
					case("SELECT"):
							sel = fme[i];
							//alert(sel.name+' = '+sel.options[sel.selectedIndex].value);
							getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
						break;
					case("TEXTAREA"):
							txranm = fme[i].name;
							txra = fme[i].value;
							if(txra!='')
								txra = format4db(txra);
							getstr += txranm + "=" + txra + "&";
						break;
					}
				}
						//	alert('sending query back to: '+returnID);
				sendReq(thiss,getstr,returnID);
			
		}
		function format4db(txt) {
			txt = txt.replace(/&/g,"_xxxx");
			txt = txt.replace(/\?/g,"_qqqq");
			txt = txt.replace(new RegExp('/"/g'),"_qpqpqp");
			txt = txt.replace(/\+/g,"_pppp");
			//txt = txt.replace(/\'/g,"''");
			return txt;
		}
		function activateScripts()
		{
			tempContainer = document.createElement('div');
			tempContainer.innerHTML = xmlhttp.responseText;
			//bla = xmlhttp.responseText;
			//bla = bla.replace(/textarea/,'pre');
			//bla = bla.replace(/\/textarea/,'/pre');
			//dbug.innerHTML='<textarea style="width:400px;height:400px;">'+bla+'</textarea><br /><input type="button" onclick="this.parentNode.style.visibility=\'hidden\'"/>';
			//alert(xmlhttp.responseText);
			//divs = tempContainer.getElementsByTagName('div');
			//targetDivs = new Array();
			//alert(divs.length)
			heads = document.getElementsByTagName('head');
			head =  heads[0];
			headScripts = head.getElementsByTagName('script');
			inlineScripts = tempContainer.getElementsByTagName('script');
			//alert(inlineScripts.length)
			inlineStyles = tempContainer.getElementsByTagName('style');
			is = new Array();
			isty = new Array();
			for(var i=0;i<inlineScripts.length;i++)
			{
				is[i] = inlineScripts[i];
				//alert("script: src = '"+is[i].src+"'\n\n"+is[i].innerHTML);
			}
			for(var i=0;i<inlineStyles.length;i++)
			{
				isty[i] = inlineStyles[i];

			}
			for( var i=0;i<is.length;i++)
			{
				ignore=false;
				if(is[i].getAttribute('src'))
				{
					for( var j=0;j<headScripts.length;j++)
					{
					//	alert(headScripts[j].getAttribute('src')+" "+is[i].getAttribute('src'));
						if(headScripts[j].getAttribute('src')==is[i].getAttribute('src'))
						{
							ignore=true;
						}
					}
				}
				if(!ignore)
				{
					if(ie && !is[i].src){
						//alert('evaling '+is[i].innerHTML)
						eval(is[i].innerHTML);
					}
					if(ie){
						//alert('adding '+is[i].src+"\n"+is[i].innerHTML)
						sc = document.createElement('script');
						sc.src = is[i].src;
						head.appendChild(sc);
					}else{
						head.appendChild(is[i].parentNode.removeChild(is[i]));
					}
					//}
				}


			}
			for(i=0;i<isty.length;i++)
			{
				head.appendChild(isty[i].parentNode.removeChild(isty[i]));
			}

		}
