	var cargandoObj;
	var cargandoDoc;
	var cargandoDiv;
	var buferObj;
	var buferDoc;
	
	var urls = new Array();
	var apurl = 0;
    
// Convert a list of strings into a 'get' query string
function makeSearchString() {
	var args = makeSearchString.arguments;
	var searchString = "?";
	var pair;
	for (var i = 0; i < args.length; i++) {
		pair =args[i++] + "=";
		pair += args[i];
		searchString += pair + "&";
	}
	return searchString.substring(0, searchString.length - 1);
}


// Create a 'get' query string with the data from a given form
function gatherFormData(form) {
	var formData = '';
	var element;
	
	// For each form element, extract the name and value
	for (var i = 0; i < form.elements.length; i++) {
		element = form.elements[i];
		if (element.type == "hidden" || element.type == "text" || element.type == "password" || element.type == "textarea") formData += "'" + escape(element.name) + "', '" + escape(element.value) + "', ";
		else if (element.type.indexOf("select") != -1) {
			for (var j = 0; j < element.options.length; j++) {
				if (element.options[j].selected == true) formData += "'" + escape(element.name) + "', '" + escape(element.options[element.selectedIndex].value) + "', ";
			}
		}
		else if (element.type == "checkbox" && element.checked) formData += "'" + escape(element.name) + "', '" + escape(element.value) + "', ";
		else if (element.type == "radio" && element.checked == true) formData += "'" + escape(element.name) + "', '" + escape(element.value) + "', ";
	}
	
	// Feed strings to makeSearchString() to do 'get' query string conversion
	return (eval("makeSearchString(" + formData.substring(0, formData.length - 2) + ")"));
}

// Build an associative array with all name and value pairs in a 'get' query string
function getSearchAsArray() {
	var searchQuery = new Array;
	var pair;
	var temp;
	var search = location.search;
	
	// replace all '+'s with ' 's because unescape() doesn't do it
	search = search.replace(/\+/g, ' ');
	
	// for each pair, separate, unescape and place into the associate array
	var split = 1;
	while (split > 0) {
		split = search.lastIndexOf('&');
		if (split == -1) split = 0;
		pair = search.substring(split + 1, search.length);
		
		// multiple select values should be placed in an array
		if (searchQuery[unescape(pair.substring(0, pair.indexOf('=')))] != null) {
			temp = searchQuery[unescape(pair.substring(0, pair.indexOf('=')))];
			searchQuery[unescape(pair.substring(0, pair.indexOf('=')))] = new Array(temp, unescape(pair.substring(pair.indexOf('=') + 1)));
		}
		
		// all other form elements have a one-to-one name and value relationship
		else searchQuery[unescape(pair.substring(0, pair.indexOf('=')))] = unescape(pair.substring(pair.indexOf('=') + 1));
		
		search = search.substring(0, split);
	}
	return searchQuery;
}

function inicializarCargando(idi) {
	cargandoDiv = document.createElement('DIV');    
	cargandoDiv.style.display = "none";
	cargandoDiv.style.position = "absolute";
	cargandoDiv.style.left = 350;
	cargandoDiv.style.top = 250;
	cargandoDiv.style.width = 300;
	cargandoDiv.style.height = 30;
	cargandoDiv.style.zIndex = 10000;
	document.body.appendChild(cargandoDiv);
    cargandoDiv.innerHTML = '<iframe id="frameCargando" name="FrameCargando" frameborder="0" marginheight="0" marginwidth="0" style="width:200;height:30;padding:0;margin:0;overflow-x:hidden;overflow-y:hidden;"></iframe>';

    cargandoObj = document.getElementById('frameCargando');
    if (document.frames) {
       cargandoObj = document.frames['FrameCargando'];
    }
    if (cargandoObj.contentDocument) {
      cargandoDoc = cargandoObj.contentDocument; // For NS6
    } else if (cargandoObj.contentWindow) {
      cargandoDoc = cargandoObj.contentWindow.document; // For IE5.5 and IE6
    } else if (cargandoObj.document) {
      cargandoDoc = cargandoObj.document; // For IE5
    }
	var texto = 'Un momento, por favor...';
	 if (idi == 'es'){
		texto = 'Un momento, por favor...' 
	 }
	 if (idi == 'en'){
		texto = 'Please, wait a moment...' 
	 }
	 if (idi == 'de'){
		texto = 'Bitte warten Sie einen Moment...' 
	 }
	 if (idi == 'it'){
		texto = 'Per favore, attenda un momento...' 
	 }
	 if (idi == 'fr'){
		texto = 'Un moment, s&acute;il vous pla&icirc;t...' 
	 }
	 if (idi == 'pt'){
		texto = 'Por favor, espere um momento...' 
	 }
		 
    cargandoDoc.open();
    cargandoDoc.write('<table style="border:1px #000000 solid;" width="200" height="30" cellspacing="0" cellpadding="0"><tr><td bgcolor="#aad998" align="center"><font face="verdana, arial" style="font-size: 12;font-weight: bold;">'+texto+'</font></td></tr></table>');
    cargandoDoc.close();
}

function inicializarBufer() {
	buferDiv = document.createElement('DIV');    
	buferDiv.style.visibility = "hidden";
	document.body.appendChild(buferDiv);
    buferDiv.innerHTML = '<iframe id="frameBufer" name="FrameBufer" onload="urlCarregada();" name="Bufer" style="display: none;" src="about:blank"></iframe>';

    buferObj = document.getElementById('frameBufer');
    if (document.frames) {
       buferObj = document.frames['FrameBufer'];
    }
    if (buferObj.contentDocument) {
      buferDoc = buferObj.contentDocument; // For NS6
    } else if (buferObj.contentWindow) {
      buferDoc = buferObj.contentWindow.document; // For IE5.5 and IE6
    } else if (buferObj.document) {
      buferDoc = buferObj.document; // For IE5
    }
				
}
function procesar() {
	cargandoDiv.style.display = "";

	    buferObj = document.getElementById('frameBufer');
	    if (document.frames) {
	       buferObj = document.frames['FrameBufer'];
	    }

		if (buferObj.contentDocument) {
				//alert('a');
	    } else if (buferObj.contentWindow) {
	      buferDoc = buferObj.contentWindow.document; // For IE5.5 and IE6
	    } else if (buferObj.document) {
	      buferDoc = buferObj.document; // For IE5
	    }

	var i = 0;
	while (i < urls.length && urls[i][1] != 'RUN' && urls[i][1] != 'PTE') i++;
	if (i <	urls.length && urls[i][1] == 'PTE') {
		urls[i][1] = 'RUN';
		buferDoc.location.replace(urls[i][0]);
	}
}

function urlCarregada() {
	var i = 0;
	while (i < urls.length && urls[i][1] != 'RUN') i++;
	if (i <	urls.length) {
		urls[i][1] = 'OK';
	}
	var j = i;
	while (j < urls.length && urls[j][1] != 'RUN' && urls[j][1] != 'PTE') j++;
	if (j <	urls.length) {
		procesar();
	} else {
		if (cargandoDiv) cargandoDiv.style.display = 'none';
	}
}


function carregar(url, idi) {
	if (!cargandoDiv || !cargandoObj || !cargandoDoc || !buferDoc) {
		inicializarCargando(idi);
		inicializarBufer();
	}
	
	urls[urls.length] = new Array(2);
	urls[urls.length - 1][0] = url;
	urls[urls.length - 1][1] = 'PTE';
	
	procesar();
}

function carregarForm(form,url,idi) {
	if (!cargandoDiv || !cargandoObj || !cargandoDoc || !buferDoc) {
		inicializarCargando(idi);
		inicializarBufer();
	}
	
	url += gatherFormData(form);
	//alert(url);

	urls[urls.length] = new Array(2);
	urls[urls.length - 1][0] = url;
	urls[urls.length - 1][1] = 'PTE';

	procesar();
}
