// JavaScript Document

var global_idmenu = "";
var global_album = "";
var global_pagina = "";
var global_platos = new Array();

/* -------------------- FUNCIONES COMUNES ---------------------- */

//Envia el formulario cuando clickamos la tecla enter
function envia_form_enter( evt, formulario ) {
    var charCode = ( evt.which ) ? evt.which : evt.keyCode
    if ( charCode == 13 ) {
    	formulario.submit();
	} 
}

function oculta_select( formulario ) {
	var num_elementos = document.getElementById(formulario).length;
	for( var i=0; i<num_elementos; i++ ) {
		if( document.getElementById(formulario).elements[i].type == "select-one" ) {
			document.getElementById(formulario).elements[i].className = "oculta_select";
		}
	}
}

function muestra_select( formulario ) {
	var num_elementos = document.getElementById(formulario).length;
	for( var i=0; i<num_elementos; i++ ) {
		if( document.getElementById(formulario).elements[i].type == "select-one" ) {
			document.getElementById(formulario).elements[i].className = "";
		}
	}
}

function solo_num( evt ) {
    var charCode = ( evt.which ) ? evt.which : event.keyCode
    if ( charCode < 48 || charCode > 57 ) {
    	return false;
	} 
	else {
    	return true;
	}
}

function prepara_envio( formulario ) {
	var cadena = "";
	var num_elementos = document.getElementById(formulario).length;
	for( var i=0; i<num_elementos; i++ ) {
		
		if( document.getElementById(formulario).elements[i].type != "checkbox" ) {
			cadena += i>0 ? "&" : "";
			cadena += document.getElementById(formulario).elements[i].name + "=" + document.getElementById(formulario).elements[i].value;
		}
		else {
			if ( document.getElementById(formulario).elements[i].checked == true ) {
				cadena += i>0 ? "&" : "";
				cadena += document.getElementById(formulario).elements[i].name + "=" + document.getElementById(formulario).elements[i].value;
			}
		}
	}
	return cadena;
}

/* ------------------ MENUS ------------------------- */

//Carga el menu seleccionado
var con_muestra_menu = new XHConn();
var fin_muestra_menu = function (oXML) { document.getElementById('div_menu').innerHTML = oXML.responseText; };
function muestra_menu( idmenu, idcategoria, tipo ) {
	if ( global_idmenu != "" )
		document.getElementById("menu"+global_idmenu).style.backgroundImage = "url('img/"+tipo+"_enlace_menu.jpg')";
		
	global_idmenu = idmenu;
	//Cambiamos la imagen a mostrar del boton para diferenciar si és ese menu o no
	document.getElementById("menu"+idmenu).style.backgroundImage = "url('img/"+tipo+"_enlace_menu_seleccionado.jpg')";
	con_muestra_menu.connect("muestra_menu.php", "POST", "idmenu=" + idmenu + "&idcategoria=" + idcategoria, fin_muestra_menu);
}

/* ------------------ CARTA DE VINOS ------------------------- */
var global_idvino = 0;

//Carga el menu seleccionado
var con_muestra_vinos = new XHConn();
var fin_muestra_vinos = function (oXML) { document.getElementById('div_menu').innerHTML = oXML.responseText; };
function muestra_vinos( idtipo  ) {
	if ( global_idvino != "" )
		document.getElementById("tipo"+global_idvino).style.backgroundImage = "url('img/sopars_enlace_menu.jpg')";
		
	global_idvino = idtipo;
	//Cambiamos la imagen a mostrar del boton para diferenciar si és ese menu o no
	document.getElementById("tipo"+idtipo).style.backgroundImage = "url('img/sopars_enlace_menu_seleccionado.jpg')";
	con_muestra_vinos.connect("muestra_vinos.php", "POST", "idtipo=" + idtipo , fin_muestra_vinos);
}

/* ------------------ CARTA PLATOS ------------------------- */
var global_idcategoria = 0;

//Carga el menu seleccionado
var con_muestra_platos = new XHConn();
var fin_muestra_platos = function (oXML) { document.getElementById('div_menu').innerHTML = oXML.responseText; };
function muestra_platos( idcategoria ) {
	if ( global_idcategoria != 0 )
		document.getElementById("menu"+global_idcategoria).style.backgroundImage = "url('img/sopars_enlace_menu.jpg')";
		
	global_idcategoria = idcategoria;
	//Cambiamos la imagen a mostrar del boton para diferenciar si és ese menu o no
	document.getElementById("menu"+idcategoria).style.backgroundImage = "url('img/sopars_enlace_menu_seleccionado.jpg')";
	con_muestra_platos.connect("muestra_platos.php", "POST", "idcategoria=" + idcategoria , fin_muestra_platos);
}

/*----------------------- CONTACTO DE LAS FICHAS ----------------*/

var con_envia_ficha = new XHConn();
var fin_envia_ficha = function (oXML) { document.getElementById('form_ficha').innerHTML = oXML.responseText; };
function envia_ficha() {
	var cadena = prepara_envio('form_ficha');
	document.getElementById('form_ficha').innerHTML = '<div id="cargando_ficha"><img src="img/cargando_blanco.gif" /><p>Enviant formulari...</p></div>';
	con_envia_ficha.connect('dinamic/mail_ficha.php', 'POST', cadena, fin_envia_ficha);
}

/* --------------------- LOCALES -------------------------*/

//Muestra el texto que toca segun el album y el lugar desde donde se solicite
function carga_local( album, tipo ) {
	var con_carga_local = new XHConn();
	var fin_carga_local = function (oXML) { document.getElementById('texto_local').innerHTML = oXML.responseText; carga_album( album, tipo, 0 ) };

	if ( global_album != "" )
		document.getElementById(global_album).className = "";
		
	global_album = album;
	document.getElementById(global_album).className = "activa";

	con_carga_local.connect(tipo+"/textos_locales_"+tipo+".php", "POST", "local=" + album, fin_carga_local);
}

//Carga el album que le corresponde
function carga_album( album, tipo, pagina ) {
	var con_carga_album = new XHConn();
	var fin_carga_album = function (oXML) { document.getElementById('div_imagen').innerHTML = oXML.responseText; };

	con_carga_album.connect(tipo+"/album_locales_"+tipo+".php", "POST", "local=" + album + "&pagina=" + pagina, fin_carga_album);
}


/* ------------------- IMAGENES ------------------------ */

function cambia_imagen( cont, imagen, cant ) {
	document.getElementById('imagen').innerHTML = "<img src=\"http://www.mont-bell.es/archivo_bd/"+imagen+"\" alt=\"Mont-bell-1\" />";
	for( var i=0; i<cant; i++ ) {
		if ( cont == i ) {
			document.getElementById('img'+i).className = i < 2 ? "imagen_mini" : "imagen_mini3";	
		}
		else {
			document.getElementById('img'+i).className = i < 2 ? "imagen_mini img_inactiva" : "imagen_mini3 img_inactiva";	
		}
	}
}

/* ------------------- AVISO LEGAL ------------------------ */

var con_aviso_legal = new XHConn();
var fin_aviso_legal = function (oXML) { document.getElementById('aviso_legal').innerHTML = oXML.responseText; };
function aviso_legal(idioma) {
	con_aviso_legal.connect('aviso_legal.php', 'POST', 'idioma=' + idioma, fin_aviso_legal);
}

/*---------------------- CONTACTO -------------------------*/

var con_envia_contacto = new XHConn();
var fin_envia_contacto = function (oXML) { document.getElementById('form_contacto').innerHTML = oXML.responseText; };
function envia_contacto() {
	var cadena_error = "";
	
	cadena_error += document.getElementById("nombre").value == "" && document.getElementById("empresa").value == "" ? "- Nom o Empresa\n" : "";
	cadena_error += document.getElementById("telefono").value == "" && document.getElementById("email").value == "" ? "- Telèfon o E-mail per poder contactar\n" : "";
	cadena_error += document.getElementById("consulta").value == "" ? "- Consulta a realitzar\n" : "";
	
	if ( cadena_error == "" ) {
		var cadena = prepara_envio('form_contacto');
		document.getElementById('form_contacto').innerHTML = '<div id="cargando"><img src="img/cargando.gif" width="66" height="66" /><p>Enviant formulari...</p></div>';
		con_envia_contacto.connect('dinamic/mail_contacte.php', 'POST', cadena, fin_envia_contacto);
	}
	else {
		alert("Són obligatoris els següents camps: \n\n" + cadena_error);
	}
}

/*-------------------- UN CUINER PER TU ------------------------*/

function int_comensales( evt ) {
    var charCode = ( evt.which ) ? evt.which : event.keyCode
    if ( ( charCode < 48 || charCode > 57 ) && charCode != 8 ) {
    	return false;
	} 
	else {
    	return true;
	}
	
}

function activa_plato( valor, idplato ) {
	if ( valor == true ) {
		if ( global_platos.length == 0 ) {
			document.getElementById("solicitud").className = "";
		}
		global_platos.push( idplato+"-1" );
		for(var i=0; i<global_platos.length;i++)
		{
			var cadena = global_platos[i].split("-");
			if ( cadena[0] == idplato )
			{
				var cantidad = cadena[1];
			}
		}
		var cant_plato = '<a href="javascript: elimina_plato('+idplato+');" class="menos">&nbsp;</a><p id="cant'+idplato+'" class="cant">'+cantidad+'</p><a href="javascript: inserta_plato('+idplato+')" class="mas">&nbsp;</a>';
		document.getElementById("plato" + idplato).innerHTML = cant_plato;
		document.getElementById("plato" + idplato).className = "cantidad_platos";
		calcula_resumen();
	}
	else {
		for(var i=0; i<global_platos.length;i++)
		{
			var cadena = global_platos[i].split("-");
			if ( cadena[0] == idplato )
			{
				var posicion = i;
			}
		}
		global_platos.splice(posicion,1); //borramos
		if ( global_platos.length == 0 ) {
			document.getElementById("solicitud").className = "oculta";
		}
		var cant_plato = '<p class="menos">&nbsp;</p><p id="cant'+idplato+'" class="cant">0</p><p class="mas">&nbsp;</p>';
		document.getElementById("plato" + idplato).innerHTML = cant_plato;
		document.getElementById("plato" + idplato).className = "cantidad_platos_desc";
		calcula_resumen();
	}
}

function elimina_plato( idplato )
{
	for(var i=0; i<global_platos.length;i++)
	{
		var cadena = global_platos[i].split("-");
		if ( cadena[0] == idplato )
		{
			var resta = parseInt(cadena[1])-1;
			if ( resta == 0 ) {
				resta = 1;
			}
			global_platos[i] = cadena[0]+"-"+resta;
			var posicion = i;
		}
	}
	
	var cadena_final = global_platos[posicion].split("-");
	document.getElementById("cant"+idplato).innerHTML = cadena_final[1];
	
	calcula_resumen();
}

function inserta_plato( idplato )
{
	for(var i=0; i<global_platos.length;i++)
	{
		var cadena = global_platos[i].split("-");
		if ( cadena[0] == idplato )
		{
			var suma = parseInt(cadena[1])+1;
			global_platos[i] = cadena[0]+"-"+suma;
			var posicion = i;
		}
	}
	
	var cadena_final = global_platos[posicion].split("-");
	document.getElementById("cant"+idplato).innerHTML = cadena_final[1];
	
	calcula_resumen();
}

var con_calcula_resumen = new XHConn();
var fin_calcula_resumen = function (oXML) { document.getElementById('resumen').innerHTML = oXML.responseText; };
function calcula_resumen() {
	var cadena = "";
	cadena = global_platos.toString();
	document.getElementById("pedido").value = cadena;
	var comensales = document.getElementById("comensales").value != "" ? document.getElementById("comensales").value : 0;
	
	document.getElementById('resumen').innerHTML = '<div id="cargando_resumen"><img src="img/cargando_blanco.gif" /><p>Calculant comanda...</p></div>';
	con_calcula_resumen.connect('empresa/calcula_resumen.php', 'POST', "cadena=" + cadena + "&comensales=" + comensales, fin_calcula_resumen);	
}

var con_envia_pedidoo = new XHConn();
var fin_envia_pedido = function (oXML) { document.getElementById('solicitud').innerHTML = oXML.responseText; };
function envia_pedido() {
	var error = 0;
	
	if ( document.getElementById('comensales').value == "" ) {
		alert("Heu d'indicar el número de comensals");
		error = 1;
	}

	if ( error == 0 ) {
		var cadena = prepara_envio('envio_solicitud');
		document.getElementById('solicitud').innerHTML = '<div id="cargando_solicitud" name="envio_solicitud"><img src="img/cargando_blanco.gif" /><p>Enviant comanda...</p></div><div id="pie_solicitud">&nbsp;</div>';
		con_envia_pedidoo.connect('dinamic/mail_pedido.php', 'POST', cadena, fin_envia_pedido);
	}
}


