var READY_STATE_UNINITIALIZED = 0; 
var READY_STATE_LOADING = 1; 
var READY_STATE_LOADED = 2;
var READY_STATE_INTERACTIVE = 3; 
var READY_STATE_COMPLETE = 4;

var STATUS_COMPLETE = 200; 
var STATUS_ERROR_URL = 404;
var STATUS_ERROR_PROCESS = 400;
var STATUS_ERROR_SERVER = 500;
var STATUS_ERROR_ACCESO_ILEGAL = 569;
var BASE_URL_AJAX = "";
var SR = "";
var BUFF_GENERAL1 = "";
var BUFF_GENERAL2 = "";

function cambia_Clase(origen,clase) {	
	$('#' + origen).toggleClass(clase);
}



function capuraPesIn() {
	$('#ein1').click(function(e) {
		e.preventDefault();
		
		$('#dcpasion').removeClass('pin3');
		$('#dcpasion').removeClass('pin2');
		$('#dcpasion').addClass('pin1');		
		$('#dcuerpopas3').hide();
		$('#dcuerpopas2').hide();
		$('#dcuerpopas1').show();
	});
	

	$('#ein2').click(function(e) {
		e.preventDefault();
		
		$('#dcpasion').removeClass('pin3');
		$('#dcpasion').removeClass('pin1');
		$('#dcpasion').addClass('pin2');		
		$('#dcuerpopas3').hide();
		$('#dcuerpopas1').hide();
		$('#dcuerpopas2').show();
	});	

	$('#ein3').click(function(e) {
		e.preventDefault();
		
		$('#dcpasion').removeClass('pin1');
		$('#dcpasion').removeClass('pin2');
		$('#dcpasion').addClass('pin3');		
		$('#dcuerpopas1').hide();
		$('#dcuerpopas2').hide();
		$('#dcuerpopas3').show();
	});	
	
}


function capuraFichasRecetas() {
	$('#eenvia').click(function(e) {
		e.preventDefault();		
		$("#denvia_amigo").dialog('open');
	});		
	
	$('#eimprimirp').click(function(e) {
		e.preventDefault();		

		$('#imprimir').jqprint(); 
	});			
}

function capuraFichas() {

	$('#idfqueso').click(function(e) {
		e.preventDefault();
		
		$('#cuerpo_pro').removeClass('fondo_car');
		$('#idfcmaduro').removeClass('fccarac_on');
		$('#idfqueso').removeClass('fqueso_on');
		$('#dficha2').hide();
		$('#dficha1').show();
		
	});
	
	$('#idfcmaduro').click(function(e) {
		e.preventDefault();		
		
		$('#cuerpo_pro').addClass('fondo_car');
		$('#idfcmaduro').addClass('fccarac_on');
		$('#idfqueso').addClass('fqueso_on');
		$('#dficha1').hide();
		$('#dficha2').show();		
	});	
	
	$('.cformato').click(function(e) {
		e.preventDefault();		
		
		var iurl = $(this).find('img').attr("alt");
		
		$(".fthumbon").each(function () {
			$(this).removeClass('fthumbon');
		});		
		
		$(this).find('img').addClass('fthumbon');
		
		$(".fbodegon").each(function () {
			$(this).attr("src",iurl);
		});
		$(".fdbodegon").each(function () {
			$(this).attr("src",iurl);
		});		
		
		$(".ftec").each(function () {
			$(this).hide();
		});		
				
		var nombre_thb = $(this).attr("id").split("-");
			
				
		$("#ft" + nombre_thb[1]).show();	

		$(".tilqueso").each(function () {
			$(this).hide();
		});				
		$("#fnom" + nombre_thb[1]).show();	
		$("#fnomc" + nombre_thb[1]).show();	

	});		
	

	$('#eenvia').click(function(e) {
		e.preventDefault();		
		$("#denvia_amigo").dialog('open');
	});		
	
	$('#eimprimirp').click(function(e) {
		e.preventDefault();		

		$('#imprimir').jqprint(); 
	});			
				
	
}


function chkemailValido(valor) {
	var filtromail = (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/);
	return (filtromail.test(valor));
}



function enviaAmigo() {			
	$("#eurl").attr("value",window.location);
	Ajax(true,$("#fenviaamigo").serializeArray(),enviaAmigoProcesado);	
}

function enviaAmigoProcesado(data, textStatus) {
	if(data.sr!=SR) { alert("¡Llamada sin autorización!"); return false; }

	var resultado = data.resultado;
	
	if(!resultado) {
		$("#derror_ajax").html("");			
		$("#derror_ajax").html("<br/>" + decodificaUTF(data.mensaje) + "<br/>");
		$("#derror_ajax").dialog('open');
	}
	
}


function enviaContacto() {
	BUFF_GENERAL1 = 	$("#dbenviar").html();
	$('#dbenviar').toggleClass("benviaron");
	BUFF_GENERAL2 = $("#dform").html();
	$('#dbenviar').toggleClass("benviaron");	
	$("#dbenviar").html("");	
	$("#dbenviar").html("<img style=\"margin-top: 1px;\" alt=\"...\" src=\"" + BASE_URL_AJAX + "/img/cajax.gif" + "\" />"); 			
	Ajax(true,$("#fcontacto").serializeArray(),enviaContactoProcesado);	
}



function enviaContactoProcesado(data, textStatus) {
	
	$('#dbenviar').toggleClass("benviaroff");
	$("#dbenviar").html(BUFF_GENERAL1);

	if(data.sr!=SR) { alert("¡Llamada sin autorización!"); return false; }
	$("#op").attr("value","0");
	var buffer ="";
		
	var resultado = data.resultado;

	$("#dform").html("");

	buffer += "<div class=\"textcontacto\" style=\"text-align: left; float: left;\">";
	buffer += "<br/>";
	buffer += decodificaUTF(data.mensaje);
	buffer += "<br/><br/>";
	buffer += "<div class=\"benviarbackoff\" id=\"dbenviar\">";	
	buffer += "<a id=\"enlace_enviar\" class=\"enviar\" onmouseout=\"javascript: cambia_Clase($(this).closest('div').attr('id'),'benviarbackon');\" onmouseover=\"javascript: cambia_Clase($(this).closest('div').attr('id'),'benviarbackon');\" title=\"" + decodificaUTF(data.mensaje_extra) + "\" href=\"\" onclick=\"javascript: enviaRestaura(); return false;\">" + decodificaUTF(data.mensaje_extra) + "</a>";
	buffer += "</div>";	
	
	buffer += "</div>";		
		
	$("#dform").html(buffer);
}

function enviaRestaura() {
	$("#dform").html(BUFF_GENERAL2);
	$("#nombre").attr("value","");
	$("#email").attr("value","");
	$("#telefono").attr("value","");
	$("#mensaje").attr("value","");
	$("#nombre").focus();
	
}

///////////////////////////////////////////////////////////////////
// Funciones Ajax
///////////////////////////////////////////////////////////////////

function decodificaUTF(texto) {
 return decodeURIComponent(unescape(texto));
}

function Ajax(asincrono,datos,funcionCompletado) {

	$.ajax({		
	  url: BASE_URL_AJAX + "/ajax.php",
	  global: false,
	  type: "POST",		
		async: asincrono,
		timeout: 10000,
		cache: false,
		contentType: "application/x-www-form-urlencoded",
	  dataType: "json",
	  processData: true,
	  dataFilter: Ajax_PreParse,
	  data: datos,
	  error: Ajax_Error,
	  success: funcionCompletado
	});

}



function Ajax_Error(XMLHttpRequest, textStatus, errorThrown) {
	var msg_error = "";
	
	if(XMLHttpRequest.status==STATUS_ERROR_URL) {
		msg_error = "Script solicitado inexistente.";
	}
	if(XMLHttpRequest.status==STATUS_ERROR_SERVER) {
		msg_error = "Error interno de script.";
		// ATENCIÓN - SOLO DEBUG - ¡¡QUITAR EN REAL!!
		alert(XMLHttpRequest.responseText);
	}
	if(XMLHttpRequest.status==STATUS_ERROR_ACCESO_ILEGAL) {
		msg_error = "Uso no autorizado de recursos.";
		JS_EXIT = true;
	}		
	if(XMLHttpRequest.status==STATUS_ERROR_PROCESS) {		
		var respuesta_Json = la_codificaJson(XMLHttpRequest.responseText); 
		msg_error = "Problema en script: " + respuesta_Json.mensaje;
	}
	if(XMLHttpRequest.status!=STATUS_ERROR_SERVER && XMLHttpRequest.status!=STATUS_ERROR_URL && XMLHttpRequest.status!=STATUS_ERROR_ACCESO_ILEGAL && XMLHttpRequest.status!=STATUS_ERROR_PROCESS) {
		msg_error = "Error de servidor no reportado: " + XMLHttpRequest.status + "<br/>" + errorThrown  + "<br/>" + XMLHttpRequest.responseText;
	}	
  
  alert(this.url + "\n" + textStatus + "\n" + msg_error);
  
  $("#cajaxma").html("");
  $("#cajaxmo").html("");
  $("#res").html("");
  
}

function Ajax_PreParse(data, type) {
	if(type!="json") {return false;}	
	data = codificaJson(data);
  return data;
}

function codificaJson(datos) {
	var pre_json = datos + "";
	
	if( ( pre_json.substr(1,1)!="{" && pre_json.substr(1,1)!="[" && pre_json.substr(0,1)!="{" && pre_json.substr(0,1)!="[" ) || (pre_json.substr((pre_json.length)-1,1)!="}" && pre_json.substr((pre_json.length)-1,1)!="]" && pre_json.substr((pre_json.length)-2,1)!="}" && pre_json.substr((pre_json.length)-2,1)!="]") ) {
	 	alert("¡ATENCIÓN!\n¡ERROR AJAX MOSTRADO A CONTINUACIÓN!");
	 	alert(pre_json);
	 	window.location.href = window.location;
	}
	else {
		return jsonParse(datos);
	}
}

