// JavaScript Document

// Code by Sérgio Dinis Lopes copyright

/*
 Handle Ajax Forms
*/
var http_request = false;

// Request
function makeRequest(url, parameters, target_element, method) {
	
  http_request = false;
  
  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 = function() {
	  if (http_request.readyState == 4) {
		 if (http_request.status == 200) {
			//alert(http_request.responseText);
			result = http_request.responseText;
			target_element.innerHTML = result;
			
		 } else {
			alert('Ocorreu um problema com o pedido. Pedimos desculpa pelo incomodo. Obrigado.');
		 }
	  }
  }
	  
  http_request.open('POST', url, true);
  http_request.setRequestHeader ('Content-Type','application/x-www-form-urlencoded');
  http_request.send(parameters);
}


function get(action, obj, target_element) {
	var getstr = "?";

	for (i=0; i<obj.getElementsByTagName("input").length; i++) {
		if (obj.getElementsByTagName("input")[i].type == "text") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + 
			obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "hidden") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + 
			obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "checkbox") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				obj.getElementsByTagName("input")[i].value + "&";
			} else {
				getstr += obj.getElementsByTagName("input")[i].name + "=&";
			}
		}
		if (obj.getElementsByTagName("input")[i].type == "radio") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				obj.getElementsByTagName("input")[i].value + "&";
			}
		} 
		if (obj.getElementsByTagName("SELECT")[i]) {
			var sel = obj.getElementsByTagName("SELECT")[i];
			getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
		if (obj.getElementsByTagName("TEXTAREA")[i]) {
			var sel = obj.getElementsByTagName("textarea")[i];
			getstr += sel.name + "=" + sel.value + "&";
		}
	}
	
	// Get DC element were result will be shown
	target = document.getElementById(target_element);
	// Make Request
	makeRequest(action, getstr, target, obj.method);
	// Appear Loading gif and response div
	target.innerHTML = '<span class="loading_ajax"></span>';
}
