////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
// aplicacion.js / Librería de funcinones para el sistema Argos.
// Construida por Unnica Desarrollo Digital y Diseño S.L.
//	Todos los derechos reservados.
//
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
var no_hay_respuesta = "No hay respuesta del servidor. Verifique la conexion.";
var Utf8 = {

    // public method for url encoding
    encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // public method for url decoding
    decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}
function redondear(cantidad, decimales) {
//lo redondea a 2 decimales
	var cantidad = parseFloat(cantidad);
	var decimales = parseFloat(decimales);
	decimales = (!decimales ? 2 : decimales);
	return Math.round(cantidad * Math.pow(10, decimales)) / Math.pow(10, decimales);
}
function ver_capa(capa){
	$(capa).style.display = '';
}
function insertar(pars, funcion_salida, mensaje_salida, padre){
	//si padre ==1 se entiende que la funcion de salida es realizada por el padre
	pars =	cadena_variables(pars);
	//alert(pars);
	var myAjax = new Ajax.Request(
	'control.php', 
	{
		method: 'post', 	
		parameters: pars, 
		onComplete: function(originalRequest){
			switch(originalRequest.responseText){
				case '1':	
				 alert(mensaje_salida);
				 if(padre){
					 window.opener.procesar(funcion_salida,pars,'');
				 }
				 else{
					 procesar(funcion_salida,pars,'');
				 }
				break;
				case '0':
					alert("Se ha producido un error durante el almacenamiento.");
				break;
				default:
					alert(originalRequest.responseText);
				break;
			}
		}
	});
	
}
function eliminar(pars, funcion_salida, mensaje_pregunta, mensaje_salida, padre){
	
	if(confirm(mensaje_pregunta)){
		var myAjax = new Ajax.Request(
		'control.php', 
		{
			method: 'post', 
			parameters: pars, 
			onComplete: function(originalRequest){
				switch(originalRequest.responseText){
					case '1':	
						alert(mensaje_salida);
						if(padre){
							window.opener.procesar(funcion_salida,pars,'');
						}
						else{
							procesar(funcion_salida,pars,'');
						}
						
					break;
					case '0':
						alert("Se ha producido un error durante la eliminación.");
					break;
					default:
						alert(originalRequest.responseText);
					break;
				}
			}
		});
	}//if
	
}
function ejecutar(archivo_procesamiento, pars, funcion_salida, mensaje_salida, padre){
	
			
				var myAjax = new Ajax.Request(
				archivo_procesamiento, 
				{
					method: 'post', 
					parameters: pars, 
					onComplete: function(originalRequest){
						switch(originalRequest.responseText){
							case '1':	
								alert(mensaje_salida);
								if(padre){
									window.opener.procesar(funcion_salida,pars,'');
								}
								else{
									procesar(funcion_salida,pars,'');
								}
								
							break;
							case '0':
								alert("Se ha producido un error en el procesamiento.\nPor favor, pruebe más tarde.");
							break;
							default:
								alert(originalRequest.responseText);
							break;
						}
					}
				});
	
			
		}
function procesar(accion,pars,target){
	if(target==''){
		target = 'festival';	
	}
	switch(accion){
		case 'mensaje':
			alert(pars);
		break;
		case 'solicitar_cita':
			pars = cadena_variables('form1');
			//alert(pars);
			$('Layer1').style.display = "";
			ejecutar('peticion_cita.php', pars, 'ocultar_mensaje', 'Los datos han sido enviados correctamente.', 0)
		break;
		case 'ocultar_mensaje':
			$('Layer1').style.display = "none";
		break;
	} //switch
}

function ver_pagina(pagina,pars,target){
	//ponemos el icono de cargando
	$(target).innerHTML = "<img src='images/loading.gif' width='32' height='32' />";
	var myAjax = new Ajax.Updater(
			target, 
			pagina, 
			{
				method: 'get', 
				parameters: pars
			});
	
}

function limpiar(campo){
	campo.value = "";	
}
function poner_formato_fecha(campo){
	if(campo.value == ""){
		campo.value = "dia/mes/año";	
	}
}
function popUp(URL, ancho, alto){
	//alert(URL);
		ancho += 20;
		alto += 40;
		w = screen.availWidth;
		h = screen.availHeight;
	//alert(h);
	//alert(w);
		leftd = (w/2)-(ancho/2);
		topd = (h/2)-(alto/2);
		parametros = 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=' + ancho + ',height=' + alto + ',left = '+leftd+',top = '+topd+'';
		//ventana =  window.open(URL, 'Imagen', parametros);
		ventana =  window.open(URL, '', parametros);
		if (!ventana){
			alert("La ventana de descargas no se mostró debido a un bloqueador de PopUp.\nDesactívelo para poder descargar el archivo.");
		}
	}
	
function marcar(campo,valor){
	$(campo+'valor').value = valor;	
	$(campo).innerHTML = valor;	
}
function enviar_encuesta_satisfaccion(f){
	pars = cadena_variables(f);
	$('mensaje_envio').innerHTML = "Enviando encuesta...";
	//alert(pars);
	var myAjax = new Ajax.Request(
				'envio_encuesta.php', 
				{
					method: 'post', 
					parameters: pars, 
					onComplete: function(originalRequest){
						switch(originalRequest.responseText){
							case '1':	
								$('mensaje_envio').innerHTML  = "Encuesta enviada";
								alert(Utf8.decode('La encuesta fue enviada correctamente.\nGracias por su colaboración.'));
							break;
							case '0':
								$('mensaje_envio').innerHTML  = Utf8.decode("Error de Envío");
								alert(Utf8.decode("Se ha producido un error en el procesamiento.\nPor favor, pruebe más tarde."));
							break;
							default:
								alert(originalRequest.responseText);
							break;
						}
					}
				});
}
function enviar_sugerencia(f){
	pars = cadena_variables(f);
	$('mensaje_envio').innerHTML = Utf8.decode("Enviando información...");
	var myAjax = new Ajax.Request(
				'envio_sugerencia.php', 
				{
					method: 'post', 
					parameters: pars, 
					onComplete: function(originalRequest){
						switch(originalRequest.responseText){
							case '1':	
								$('mensaje_envio').innerHTML  = "Datos Enviados";
								alert(Utf8.decode('Los datos se enviaron correctamente.\nGracias por su colaboración.'));
							break;
							case '0':
								$('mensaje_envio').innerHTML  = Utf8.decode("Error de Envío");
								alert(Utf8.decode("Se ha producido un error en el procesamiento.\nPor favor, pruebe más tarde."));
							break;
							default:
								alert(originalRequest.responseText);
							break;
						}
					}
				});
}
function recomiendanos(f){
	pars = cadena_variables(f);
	//alert(pars);
	$('mensaje_envio').innerHTML = Utf8.decode("Enviando recomendación...");
	var myAjax = new Ajax.Request(
				'envio_recomendacion.php', 
				{
					method: 'post', 
					parameters: pars, 
					onComplete: function(originalRequest){
						switch(originalRequest.responseText){
							case '1':	
								$('mensaje_envio').innerHTML  = "Datos Enviados";
								alert(Utf8.decode('Los datos se enviaron correctamente.\nGracias por su colaboración.'));
							break;
							case '0':
								$('mensaje_envio').innerHTML  = Utf8.decode("Error de Envío");
								//alert(originalRequest.responseText);
								alert(Utf8.decode("Se ha producido un error en el procesamiento.\nPor favor, pruebe más tarde."));
							break;
							default:
								alert(originalRequest.responseText);
							break;
						}
					}
				});
}
function politica_privacidad(){
	popUp('/politica_de_privacidad.html', 600, 320);
}
function mapa_web(){
	popUp('/mapa_web.html', 600, 320);
}
function enviar_curriculum(f){
	if(enviarFormulario($(f))){
		$('mensajeenvio').innerHTML = "Enviando Datos...";	
		$(f).submit();
	}
}
function cadena_variables(formulario){
	
	var ob;
	var sql = "";
	var campos = $(formulario).elements.length;
	//alert("campos:"+campos);
	for(i=0;i<campos;i++){
		ob = $(formulario).elements[i];
		switch($(ob).type){
			case 'select-one':
				sql += "&"+$(ob).name+"="+$(ob).options[$(ob).selectedIndex].value;
			break;
			case 'checkbox':
				if($(ob).checked){
					sql += "&"+$(ob).name+"=1";
				}
				else{
					sql += "&"+$(ob).name+"=0";
				}	
			break;
			case 'radio':
				if($(ob).checked){
					sql += "&"+$(ob).name+"="+$(ob).value;
				}
			break;
			case 'submit':
			
			break;
			default:
				sql += "&"+$(ob).name+"="+$(ob).value;
			break;
		}
			
	}
	return sql;
}

