function ahah(url,target) 

{

   var url_check = url.indexOf( '?' );

   if ( url_check != -1 ) {

    url = url + "&dummy=" + new Date().getTime();

   }else

   {

     url = url + "?dummy=" + new Date().getTime();

   }

   //alert(url);

   // native XMLHttpRequest object

   document.getElementById(target).innerHTML = document.getElementById('cargando').innerHTML;

   if (window.XMLHttpRequest) 

   {

       var request = new XMLHttpRequest();

       request.onreadystatechange = function() {ahahDone(url,target,request);};

       request.open("GET", url, true);

       request.send(null);

   // IE/Windows ActiveX version

   } else if (window.ActiveXObject) 

   {

       var request = new ActiveXObject("Microsoft.XMLHTTP");

       if (request) 

	   {

           request.onreadystatechange = function() {ahahDone(url,target,request);};

           request.open("GET", url, true);

           request.send();

       }

   }

} 



function ahahDone(url,target,request) 

{

   // only if req is "loaded"

   if (request.readyState == 4) 

   {

       // only if "OK"

       if (request.status == 200 || request.status == 304) 

	   {

           results = request.responseText;

           document.getElementById(target).innerHTML = results;

           execJS(document.getElementById(target));

           //alert(ahah_ondone.length);

           if (ahah_ondone.length > 0)

           {

               for (i=0;i<ahah_ondone.length;i++)

               {

                    eval(ahah_ondone[i]);

               }

           }



       } else

	   {

		   

		   	var	html = '<table width="100%" height="200px" border="1" cellspacing="0" cellpadding="0">';

			    html += '<tr>';

            	html += '<td align="center" valign="middle" class="body">';

			    html += 'Ahah error: ' + request.statusText + '<br>';

			    html += '<input type="button" value="Reload" onClick="ahah(\''+url+'\',\''+target+'\');">';

			    html += '</td>';

			    html += '</tr>';

				html +=	'</table>';

	           document.getElementById(target).innerHTML = html;

       }

   }

}



var bSaf = (navigator.userAgent.indexOf('Safari') != -1);

var bOpera = (navigator.userAgent.indexOf('Opera') != -1);

var bMoz = (navigator.appName == 'Netscape');

var ahah_ondone = new Array();



function execJS(node) {

  var st = node.getElementsByTagName('SCRIPT');

  var strExec;

  for(var i=0;i<st.length; i++) {     

    if (bSaf) {

      strExec = st[i].innerHTML;

    }

    else if (bOpera) {

      strExec = st[i].text;

    }

    else if (bMoz) {

      strExec = st[i].textContent;

    }

    else {

      strExec = st[i].text;

    }

    try {

      eval(strExec);

    } catch(e) {

      alert(e);

    }

  }

  var st = node.getElementsByTagName('script');

  var strExec;

  for(var i=0;i<st.length; i++) {     

    if (bSaf) {

      strExec = st[i].innerHTML;

    }

    else if (bOpera) {

      strExec = st[i].text;

    }

    else if (bMoz) {

      strExec = st[i].textContent;

    }

    else {

      strExec = st[i].text;

    }

    try {

      eval(strExec);

    } catch(e) {

      alert(e);

    }

  }

}



function ahah_submit(frm,url,div)
	{
		var objForm;
		var submitDisabledElements = false;
		if (arguments.length > 1 && arguments[1] == true)
			submitDisabledElements = true;
		
		if (typeof(frm) == "string")
			objForm = this.$(frm);
		else
			objForm = frm;
        
        if (url.indexOf('?') == -1)
		    var sXml = "?";
		if (objForm && objForm.tagName == 'FORM')
		{
			var formElements = objForm.elements;
			for( var i=0; i < formElements.length; i++)
			{
				if (formElements[i].type && (formElements[i].type == 'radio' || formElements[i].type == 'checkbox') && formElements[i].checked == false)
					continue;
				if (formElements[i].disabled && formElements[i].disabled == true && submitDisabledElements == false) continue;
				var name = formElements[i].name;
				if (name)
				{
					if (sXml != '?')
						sXml += '&';
					if(formElements[i].type=='select-multiple')
					{
						for (var j = 0; j < formElements[i].length; j++)
						{
							if (formElements[i].options[j].selected == true)   
                            sXml += name+"="+encodeURIComponent(formElements[i].options[j].value)+"&";
						}
					}
					else
					{
						sXml += name+"="+encodeURIComponent(formElements[i].value);
					}
				} 
			}
		}
        
        //alert(url+sXml);
       ahah(url+sXml,div);
    }
