/** (c) Lemonline 2006
  * Ajax functions for handling XML Response */

var http_request = false;

// post request to php
function makePOSTRequestXML( url, parameters, action ) {
	http_request = false;

	if ( window.XMLHttpRequest ) { // Mozilla
		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( 'Cannot create XMLHTTP instance' );
		return false;
	}
	
	http_request.onreadystatechange = action;
	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 );
	return true;
}


// Returns the XML response
function returnResponseXML() {
	if ( http_request.status == 200 ) {
		responsexml = http_request.responseXML;      
	}
}


// Parse the form data and submit it via makePOSTRequest
function submitFormXML( url, form_id, action ) {
	var form = document.getElementById( form_id );
	var formData = form.elements;
	var poststr = "";
	for( i=0; i < formData.length; i++ ) {
		if ( formData[i].tagName == "INPUT" ) {
			if ( formData[i].type == "text" ) {
				poststr += formData[i].name + "=" + formData[i].value + "&";
			}
			if ( formData[i].type == "password" ) {
				poststr += formData[i].name + "=" + formData[i].value + "&";
			}
			if ( formData[i].type == "button" ) {
				poststr += formData[i].name + "=" + formData[i].value + "&";
			}
			if ( formData[i].type == "hidden" ) {
				poststr += formData[i].name + "=" + formData[i].value + "&";
			}
			if ( formData[i].type == "checkbox" ) {
				if ( formData[i].checked ) {
					poststr += formData[i].name + "=" + formData[i].value + "&";
				}
				else {
					poststr += formData[i].name + "=&";
				}
			}
			if ( formData[i].type == "radio" ) {
				if ( formData[i].checked ) {
					poststr += formData[i].name + "=" + formData[i].value + "&";
				}
			}
		}   
		if ( formData[i].tagName == "SELECT" ) {
			var sel = formData[i];
			poststr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
		if ( formData[i].tagName == "TEXTAREA" ) {
			poststr += formData[i].name + "=" + formData[i].value + "&";
		}
	 
	}
	return makePOSTRequestXML( url, poststr, action );
}
