var http_request = false;
var _elem = "";

function makeRequest(url) {
	http_request = false;
	var parameters = get_params();
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	} 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('Cannot create 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.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function makeRequest2(url,formid) {
	http_request = false;
	var parameters = 0;
	if(formid != 0) {
		parameters = build_params(formid);
		if (!parameters) {
			alert("Please fill out all required fields");
			return;
		}
	} else {
		parameters = "?link";
	}
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	} 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('Cannot create 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.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function alertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			 //alert(http_request.responseText);
			result = http_request.responseText;
			document.getElementById(_elem).innerHTML = result;
			//dhtmlwindow.open("blah2", "inline", result, "post test", "width=500px,height=500px,resize=1,scrolling=1,center=1", "recal");
		} else {
			alert('There was a problem with the request, status = ' + http_request.status + ': ' + http_request.statusText);
		}
	}
}

function get_params()
{
	var poststr = "name=" + encodeURI( document.getElementById("name").value )
				+ "&email=" + encodeURI( document.getElementById("email").value )
				+ "&list=jvancamp"
				+ "&domain=swsol.org"
				+ "&emilit=0";

	return poststr;
}

function build_params(formid)
{
	var poststr = "";
	var failed = 0;
	for (var i = 0; i < (document.getElementById(formid).elements.length); i++) {
		if (!document.getElementById(formid).elements[i].name) {
			continue;
		}

		if (document.getElementById(formid).elements[i].type == "submit") {
			continue;
		}

		if (document.getElementById(formid).elements[i].type == "text" && document.getElementById(formid).elements[i].className.indexOf("required") != -1 && document.getElementById(formid).elements[i].value =="") {
			if (document.getElementById(document.getElementById(formid).elements[i].id + "label").innerHTML.indexOf("REQUIRED") == -1) { 
				document.getElementById(document.getElementById(formid).elements[i].id + "label").innerHTML += " <b style='color: red'>REQUIRED</b>";
			}
			failed = 1;
		}
		if (document.getElementById(formid).elements[i].type == "hidden") {
			if ( (document.getElementById(formid).elements[i].name != "stage") && (document.getElementById(formid).elements[i].name != "id") && (document.getElementById(formid).elements[i].name != "files") ) {
				continue;
			}
		}

		if (i == 0) {
			//poststr += "?";
		} else {
			poststr += "&";
		}
		if (document.getElementById(formid).elements[i].type == "checkbox") {
			poststr += document.getElementById(formid).elements[i].name + "=" + (document.getElementById(formid).elements[i].checked ? "Yes" : "No");
		} else if (document.getElementById(formid).elements[i].type == "radio") {
			if (document.getElementById(formid).elements[i].checked) {
				poststr += document.getElementById(formid).elements[i].name + "=" + encodeURIComponent( document.getElementById(formid).elements[i].value );
			}
		} else {
			//alert(document.getElementById(formid).elements[i].name + "=" + encodeURIComponent( document.getElementById(formid).elements[i].value ));
			poststr += document.getElementById(formid).elements[i].name + "=" + encodeURIComponent( document.getElementById(formid).elements[i].value );
		}
	}
	//alert(poststr);
	return (failed) ? 0 : poststr;
}

function submit_form_data(formid, elem, t, id, url)
{
	_elem = elem;
	url = typeof(url) != 'undefined' ? url : "/admin/swsoldb.php?table=" + t + "&id=" + id;
	makeRequest2(url,formid);
	
	//url = "/admin/edit_form.php" + build_params(f);
	//dhtmlwindow.open("blah", "inline", url, "test", "width=500px,height=500px,resize=1,scrolling=1,center=1", "recal");
	//testwin.load("ajax", url, "testing");
	//testwin.close();
}

function submit_cwf_form_data(formid, elem, t, id)
{
	_elem = elem;
	url = "/admin/cwfdb.php?table=" + t + "&id=" + id;
	makeRequest2(url,formid);
	
	//url = "/admin/edit_form.php" + build_params(f);
	//dhtmlwindow.open("blah", "inline", url, "test", "width=500px,height=500px,resize=1,scrolling=1,center=1", "recal");
	//testwin.load("ajax", url, "testing");
	//testwin.close();
}

function submit_link(elem, url)
{
	_elem = elem;
	makeRequest2(url,0);
	//alert("url = " + url + " elem = " + elem);
}


