function nuevoAjax(){
	var xmlhttp=false;
 	try {
 		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 	} catch (e) {
 		try {
 			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 		} catch (E) {
 			xmlhttp = false;
 		}
  	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
 		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function doGet(container, page, params, reloaded)
{
 

	var contenedor;
	contenedor = document.getElementById(container);
	var sendParams="";
	var loadingContent = '<img src=skin1/images/ajax-loader.gif style="margin-left:30px">';
	
	
	
	
	contenedor.style.display='block';
	contenedor.innerHTML=loadingContent;

	 if(reloaded == null || !reloaded)
	 {
	  for (var i in params) 
	  { 
    	var param = new String();
    	param = params[i].toString();
				
    	param=param.replace(/&/g, "|");
		sendParams+=i+'='+param+'&';
	  } 
	  sendParams = sendParams.substring(0,sendParams.length-1) ;	
	 }
	 else
	 {
	 	sendParams=params;
	 } 
	
	
	ajax=nuevoAjax();
	ajax.open("GET", page+'?'+sendParams, true);
	
	ajax.onreadystatechange=function() 
	{
		if (ajax.readyState==4) 
		{
			contenedor.style.display='block';
			contenedor.innerHTML = ajax.responseText
		}
		
		
	}
	 ajax.send(null);
	
	
}


function doPost(container, toPage, params, formId, redirect)
{
     
	
	
	var loadingContent = '<img src=skin1/images/ajax-loader.gif style="margin-left:30px">';
	var contenedor;
	contenedor = document.getElementById(container);
	contenedor.style.display='block';
	contenedor.innerHTML=loadingContent;
	
	
	 var sendParams="";
	 
	 if(!redirect)
	 {
	  for (var i in params) 
	  { 
    	 sendParams+=i+'='+params[i]+'&';
	  } 
	  sendParams = sendParams.substring(0,sendParams.length-1) ;	
	 }
	 else
	 {
	 	sendParams=params;
	 } 
	
	
	  ajax=nuevoAjax();
	  ajax.open("POST", toPage, true);
      ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      ajax.send(sendParams);
      ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				var respuesta=ajax.responseText;
				var strRes = new String(respuesta);
				
				var dataRes = strRes.trim().split(':');
				
				if(dataRes[0] == 'SHOWDIV')
				{
					
					/*Response is a stribng with following structure:
					
						SHOWDIV:divIdToshow
					
					*/
					
					 document.getElementById(formId).reset();
					 document.getElementById(dataRes[1]).style.display='block';
				    
					
				}
				else if(dataRes[0] == 'REDIRECT')
				{
					
					/*Response is a stribng with following structure:
					
						REDIRECT:actionToRedirect:param1Key,param1Value:param2Key,param2Value...
					
					*/
					
					var redParams="";
					
					
					for(var i=2; i<dataRes.length; i++)
					{

						var data = dataRes[i].split(",");

						 redParams+=data[0]+'='+data[1]+'&';
					} 
					 redParams = redParams.substring(0,redParams.length-1) ;	
					
					doPost(container, dataRes[1], redParams, formId, true,loadingContent);
				
				}
				else if(dataRes[0] == 'GOTO')
				{
					if(dataRes.length == 2)
						window.location.href= dataRes[1];
					else
						window.location.href= dataRes[1]+":"+dataRes[2];
							
				}
				else if(dataRes[0] == 'RELOAD')
				{
						
						
						var page = dataRes[1];
						var toshow = dataRes[2];
						var redParams="";
					
					
					for(var i=3; i<dataRes.length; i++)
					{

						var data = dataRes[i].split(",");

						 redParams+=data[0]+'='+data[1]+'&';
					} 
					 redParams = redParams.substring(0,redParams.length-1) ;
					 
					
						 doGet(toshow, page, redParams,true);
						 return;
						
				}
				else if(dataRes[0] == 'ERROR')
				{
					alert(dataRes[1]);
				}
				else
				{
					alert(respuesta);
					form = document.getElementById(formId);
					form.reset();
					
				}
				
				 document.getElementById(container).style.display='none';
			}
		}

} 


