function envioSimplePost(formulario,action){
	if (action != ''){
		$('formularioPrincipal').writeAttribute('action',action);
	}
	$(formulario).writeAttribute('method','POST');
	$(formulario).submit(); 	 
}

function envioFORM(formulario,metodoDestino){
	url_envio = $(formulario).action; 
	posicion_inicial = url_envio.lastIndexOf('inicio'); 
	posicion_final = url_envio.lastIndexOf('fin');
	result = url_envio.substring(posicion_inicial,posicion_final); 
	if (metodoDestino != ''){
		var newstr = url_envio.replace(result, 'inicio/'+metodoDestino+'/');
			$(formulario).writeAttribute('action', newstr);
			$(formulario).writeAttribute('method','POST');
			$(formulario).submit();
	}else{
		alert('No metodo Destino');
	}
}

function envioJSON(formulario,metodoDestino,metodo_javascript_posterior){
	url_envio = $(formulario).action; 
	posicion_inicial = url_envio.lastIndexOf('inicio'); 
	posicion_final = url_envio.lastIndexOf('fin');
	result = url_envio.substring(posicion_inicial,posicion_final); 
	
	if (metodoDestino != ''){
		var newstr = url_envio.replace(result, 'inicio/'+metodoDestino+'/');
		$(formulario).writeAttribute('action', newstr);
		$(formulario).writeAttribute('method','POST');
	}
	$(formulario).request({
		method: 'post',  
		requestHeaders:{ Accept: 'application/json'},  
   		onSuccess: function(transport){  
			// Hacer algo en éxito.  
			// var valorX = json.x;  
		},  
    		onFailure: function(transport)  
    	{  // Hacer algo en fracaso.  
			alert('error');
    	},onComplete: function(transport)  
    	{   var json = transport.responseText.evalJSON(true);
    		// Capa basica de errores
    		capaBasica(json);
    		if ( metodo_javascript_posterior == 'true' ){
    			gestionJSON(json);
    		}
    	} 
	});
}

// Actualizo el div
function envioAJAX(formulario,metodoDestino,divDestino,metodo_javascript_posterior){
	url_envio = $(formulario).action; 
	posicion_inicial = url_envio.lastIndexOf('inicio'); 
	posicion_final = url_envio.lastIndexOf('fin');
	result = url_envio.substring(posicion_inicial,posicion_final); 
	
	if (metodoDestino != ''){
		var newstr = url_envio.replace(result, 'inicio/'+metodoDestino+'/');
		$(formulario).writeAttribute('action',newstr);
		$(formulario).writeAttribute('method','POST');
	}
	
	$(formulario).request({
		method: 'post',  
		requestHeaders:{ Accept: '*/*'},  
   		onSuccess: function(transport){ 
			// verifico si es json
			if ( transport.responseText != ''){
				if ( transport.responseText.indexOf('<input') <= 0 ){
					var json = transport.responseText.evalJSON(true);
					capaBasica(json);
					if ( metodo_javascript_posterior == 'true'){
		    			gestionJSON(json);
					}
				}else{
				
					$(divDestino).innerHTML = transport.responseText;
					
					if ( metodo_javascript_posterior == 'true'){
		    			gestionPrototype();
					}
				}
			}
		},  
		onFailure: function(transport)  
    	{  // Hacer algo en fracaso.
			alert('ERROR en el proceso.');
    	} 
	});
	
}

String.prototype.replace = function(pattern, replacement) {
	  return this.split(pattern).join(replacement);
}
/* Javascript: se define un objeto con callbacks globales */
/* Se registran los callbacks en Ajax.Responders */
var globalCallbacks = {
                onCreate: function(){
                        $('cargando').show();
                },onComplete: function() {
                        if(Ajax.activeRequestCount == 0){
                                $('cargando').hide();
                        }
                }
        };

Ajax.Responders.register( globalCallbacks );

function capaBasica(json){
	
	var elementoErrores = $('errors');
	var elementoMensajes = $('success');
	var elementoErrores1 = $('errors1');
	var elementoMensajes1 = $('success1');
	if ( elementoErrores != null)elementoErrores.style.display = 'none';
	if ( elementoMensajes != null)	elementoMensajes.style.display = 'none';
	if ( elementoErrores1 != null)	elementoErrores1.style.display = 'none';
	if ( elementoMensajes1 != null)	elementoMensajes1.style.display = 'none';
	if (json.error != null){
		elementoErrores.style.display = 'block';
		elementoErrores.update('<ul><li>'+json.error+'</li></ul>');
	}else if(json.mensaje != null){
		elementoMensajes.style.display = 'block';
		elementoMensajes.update('<ul><li>'+json.mensaje+'</li></ul>');
	}
	// Si capa inferior de errores   	 	
	if (json.error1 != null){    			
		elementoErrores1.style.display = 'block';
		elementoErrores1.update('<ul>'+json.error1+'</ul>');
	}else if(json.mensaje1 != null){
		elementoMensajes1.style.display = 'block';
		elementoMensajes1.update('<ul>'+json.mensaje1+'</ul>');
	}	
}

function noAsincrono(){
	for(x= 0;x<10000;x++){
		if (Ajax.activeRequestCount == 0){
			for(y=0;y<100;y++){}
			break;
	}
}
}


function volverSiteDesdeTpv(){
	window.close();
	$('formularioEnvio').writeAttribute('action', $('id_principal').href );
 	$('formularioEnvio').writeAttribute('method','GET');
	$('formularioEnvio').submit();

	
}
