// JavaScript Document
var debug = 0;
function getData(dataSource, divID)
{
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
		if (XMLHttpRequestObject.overrideMimeType)
		{
			XMLHttpRequestObject.overrideMimeType('text/xml');
        }
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(XMLHttpRequestObject)
	{
		ShowId("ajaxloader");
		var obj = document.getElementById(divID);
		XMLHttpRequestObject.open("GET", dataSource, true);
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState==4) // has issues with firefox 2.0 and Realplayer recorder plugin 1.0
			{ 
				if (XMLHttpRequestObject.status == 200)
				{
					var result = XMLHttpRequestObject.responseText;
					
					if (result.indexOf("<redirect>")>=0)
					{
						document.location = result.replace(" <redirect>","");
					}
					if (result.indexOf("<msg>")>=0)
					{
						//showId("div_blanket");
						PopUpAMessageOK(result.replace(" <msg>",""),"OK", "javascript:ClosePopUpA();");			
					}
					if (result.indexOf("<load>")>=0)
					{
						if (obj) obj.innerHTML = result.replace("<load>","");
						else alert("can't find "+divID);
					}
					if (result.indexOf("<Top_msg>")>=0)
					{
						//ShowBlanket();
						window.top.PopUpAMessageOK(result.replace(" <msg>",""),"OK", "javascript:ClosePopUpA();");					
					}
					if (result.indexOf("<loadlist>")>=0)
					{
						//ShowBlanket();
						parseList(result.replace("<loadlist>",""));				
					}
					
					var str = result;
					
					var matches = str.match(/<.*?script.*?>.*?<\/.*?script.*>/gm);
					var re = /<script\b.*?>(.*?)<\//ig; // assumes HTML well formed and then loop through it as:
					var mymatch;
					while (mymatch = re.exec(str)) {
						//alert(mymatch[1]);
						if (mymatch[1]!="") eval(mymatch[1]);
					}
					HideId("ajaxloader");
					if (debug==1) alert(XMLHttpRequestObject.responseText);
				}
			}
			//alert(XMLHttpRequestObject.responseText);
		}
		XMLHttpRequestObject.send(null);
	}
}

function getDataPost(dataSource, divID, parameters)
{
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
		if (XMLHttpRequestObject.overrideMimeType)
		{
			XMLHttpRequestObject.overrideMimeType('text/xml');
        }
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject)
	{
		ShowId("ajaxloader");
		var obj = document.getElementById(divID);
		
		XMLHttpRequestObject.open('POST', dataSource, true);
      	XMLHttpRequestObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    XMLHttpRequestObject.setRequestHeader("Content-length", parameters.length);
	    XMLHttpRequestObject.setRequestHeader("Connection", "close");
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState==4) // has issues with firefox 2.0 and Realplayer recorder plugin 1.0
			{ 
				if (XMLHttpRequestObject.status == 200)
				{
					var result = XMLHttpRequestObject.responseText;
					
					if (result.indexOf("<redirect>")>=0)
					{
						document.location = result.replace(" <redirect>","");
					}
					if (result.indexOf("<msg>")>=0)
					{
						//showId("div_blanket");
						PopUpAMessageOK(result.replace(" <msg>",""),"OK", "javascript:ClosePopUpA();");			
					}
					if (result.indexOf("<load>")>=0)
					{
						if (obj) obj.innerHTML = result.replace("<load>","");
						else alert("can't find "+divID);
					}
					if (result.indexOf("<Top_msg>")>=0)
					{
						//ShowBlanket();
						window.top.PopUpAMessageOK(result.replace(" <msg>",""),"OK", "javascript:ClosePopUpA();");					
					}
					if (result.indexOf("<loadlist>")>=0)
					{
						//ShowBlanket();
						parseList(result.replace("<loadlist>",""));				
					}
					
					var str = result;
					
					var matches = str.match(/<.*?script.*?>.*?<\/.*?script.*>/gm);
					var re = /<script\b.*?>(.*?)<\//ig; // assumes HTML well formed and then loop through it as:
					var mymatch;
					while (mymatch = re.exec(str)) {
						//alert(mymatch[1]);
						if (mymatch[1]!="") eval(mymatch[1]);
					}
					HideId("ajaxloader");
					if (debug==1) alert(XMLHttpRequestObject.responseText);
				}
			}
			else
			{
				if (debug==1) alert(XMLHttpRequestObject.responseText);
			}
		}
	  	XMLHttpRequestObject.send(parameters);
	}
}

/* ************************************************************************ */
function submitForm(form_obj, divID)
{
	var action;
	var parameters="";
	
	if (form_obj)
	{
		if (form_obj.action)
		{
			action = form_obj.action;
			for (i=0;i<form_obj.elements.length;i++)
			{
				if (form_obj.elements[i].name)
				{
					if (form_obj.elements[i].type=="checkbox")
					{
						if (form_obj.elements[i].checked)
							parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
					}
					else
					{
						if (form_obj.elements[i].type=="radio")
						{
							if (form_obj.elements[i].checked)
								parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
						}
						else
							if (form_obj.elements[i].value!="")
								parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
					}
				}
			}
			
			if (debug==1) alert(parameters);
/*			if (form_obj.resumo)
				alert(form_obj.resumo.value);
				*/
			if (debug==1) alert(action+", "+divID+","+parameters);
			getDataPost(action, divID, parameters);
		}
	}
}
/* ************************************************************************ */
function submitFormTo(form_obj, divID, action)
{
	var parameters="";

	if (form_obj)
	{
		if (form_obj.action)
		{
			for (i=0;i<form_obj.elements.length;i++)
			{
				if (form_obj.elements[i].name)
				{
					if (form_obj.elements[i].type=="checkbox")
					{
						if (form_obj.elements[i].checked)
							parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
					}
					else
					{
						if (form_obj.elements[i].type=="radio")
						{
							if (form_obj.elements[i].checked)
								parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
						}
						else
							if (form_obj.elements[i].value!="")
								parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
					}
				}
			}
			
			if (debug==1) alert(parameters);
/*			if (form_obj.resumo)
				alert(form_obj.resumo.value);
				*/
			if (debug==1) alert(action+", "+divID+","+parameters);
			getDataPost(action, divID, parameters);
		}
	}
}
/* ************************************************************************ */

function loadDroplist(iddestino, droplist, droplistvalue, droplistname, droplistchangeevent, droplistextra)
{
	getData("getDroplist.php?droplist="+droplist+"&droplistvalue="+droplistvalue+"&droplistname="+droplistname+"&droplistchangeevent="+droplistchangeevent+"&droplistextra="+droplistextra, iddestino);
}

/* ************************************************************************ */
function make_parameters_from_FORM(form_obj)
{
	var parameters = "";
	if (form_obj)
	{
/*		if (form_obj.action)
		{
			action = form_obj.action;
			*/
			for (i=0;i<form_obj.elements.length;i++)
			{
				if (form_obj.elements[i].name)
				{
					if (form_obj.elements[i].type=="checkbox")
					{
						if (form_obj.elements[i].checked)
							parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
					}
					else
					{
						if (form_obj.elements[i].type=="radio")
						{
							if (form_obj.elements[i].checked)
								parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
						}
						else
							if (form_obj.elements[i].value!="")
								parameters+=form_obj.elements[i].name+"="+escape(form_obj.elements[i].value)+"&";
					}
				}
			}
//		}
	}
	return(parameters);
}

/* ************************************************************************ */
function copyHTML(from, to)
{
	var objFROM = document.getElementById(from);
	var objTO = document.getElementById(to);
	if ((objFROM) && (objTO))
	{
	//	alert(objFROM.innerHTML);
		objTO.innerHTML = objFROM.innerHTML;
	}
}
/* ************************************************************************ */

