// JavaScript Document
// Ajax

function doPost(url, content, callback_name) {
	var async_request = false;

	// Mozilla/Safari
	if (window.XMLHttpRequest) {
		async_request = new XMLHttpRequest();
		//async_request.overrideMimeType('text/xml'); // comentar esta linha para funcionar no IE7
	}
	// IE
	else if (window.ActiveXObject)	{
		async_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	async_request.open('POST', url, true);
	async_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	async_request.onreadystatechange = function() {
		if (async_request.readyState == 4) {
			response_content = async_request.responseText;
			eval(callback_name + '(response_content);');
		}
	}
	async_request.send(content);
}

function convertFormDataToPostContent(form_name) {
	var content_to_submit = '';
	var form_element;
	var last_element_name = '';

	for (i = 0; i < form_name.elements.length; i++)	{
		form_element = form_name.elements[i];
		switch (form_element.type)	{
		// Text fields, hidden form elements
		case 'text':
		case 'hidden':
		case 'password':
		case 'textarea':
		case 'select-one':
			content_to_submit += form_element.name + '=' 
			+ escape(form_element.value) + '&'
			break;

		// Radio buttons
		case 'radio':
			if (form_element.checked) {
				content_to_submit += form_element.name + '=' 
				+ escape(form_element.value) + '&'
			}
			break;

		// Checkboxes
		case 'checkbox':
			if (form_element.checked) {
				// Continuing multiple, same-name checkboxes
				if (form_element.name == last_element_name) {
					// Strip of end ampersand if there is one
					if (content_to_submit.lastIndexOf('&') == 
					content_to_submit.length - 1) {
						content_to_submit = content_to_submit.substr(
						0, content_to_submit.length - 1);
					}
					// Append value as comma-delimited string
					content_to_submit += ',' + escape(form_element.value);
				} else {
					content_to_submit += form_element.name + '=' 
					+ escape(form_element.value);
				}
				content_to_submit += '&';
				last_element_name = form_element.name;
			}
			break;
		}
	}

	// Remove trailing separator
	content_to_submit = content_to_submit.substr(0, content_to_submit.length - 1);
	return content_to_submit;
}

// Fim do Ajax
