$(document).ready(function(){
	$("#filtro_1").click(function(){
		$("#lista_1").slideToggle();
		$("#lista_2").slideUp();
		$("#lista_3").slideUp();
	});
	$("#filtro_2").click(function() {
		$("#lista_2").slideToggle();
		$("#lista_1").slideUp();
		$("#lista_3").slideUp();
	});
	$("#filtro_3").click(function() {
		$("#lista_3").slideToggle();
		$("#lista_1").slideUp();
		$("#lista_2").slideUp();
	});
	$("#mainContent").click(function() {
		$("#lista_3").slideUp();
		$("#lista_1").slideUp();
		$("#lista_2").slideUp();
	});
/*
	$("#lista_1 a").click(function(event) {
		event.preventDefault();
		$("#lista_1").slideUp();
	});*/
});


function $_(id){
	var obj = document.getElementById(id);
	return(obj);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////
////                      Funcion para situar un objeto sobre otro                                 ////
///////////////////////////////////////////////////////////////////////////////////////////////////////
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	var ret = new Array(curleft,curtop);
	return ret;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////
////               Funcion para situar una capa sobre otra con desplazamiento x e y                ////
///////////////////////////////////////////////////////////////////////////////////////////////////////
function situa_capa(kual,donde,dondex,dondey){
	var obj = $_(kual);
	var obj_donde = $_(donde);
	
	var xy = findPos(obj_donde);
	
	if (dondex!=-1){
		obj.style.left = (xy[0]*1+dondex*1) + 'px';
//		alert(xy[0]);
	}
	if (dondey!=-1){
		obj.style.top = (xy[1]*1+dondey*1) + 'px';
//		alert(xy[1]);
	}
}

function mostrar(id){
	var capa = $_(id);
	if(capa.style.display=="block"){
		capa.style.display="none";
	}
	else{
		capa.style.display="block";
	}
}
function ocultar(id){
	var capa = $_(id);
	capa.style.display="none";
}
function metecontenido(id,contenido){

	var inst = tinyMCE.getInstanceById(id);
	inst.execCommand('mceInsertContent',false,contenido);

}

function teclaintro(e){
    var evento = e || window.event;

    var caracter = evento.charCode || evento.keyCode;
    var letra = String.fromCharCode(caracter);
    var codigo = letra.charCodeAt(0);
	
	if(codigo==13){ //Tecla Intro
		document.form_login.submit();
	}
}

function cambiafiltro(e,id,valor){
    var evento = e || window.event;

    var caracter = evento.charCode || evento.keyCode;
    var letra = String.fromCharCode(caracter);
    var codigo = letra.charCodeAt(0);
	
//	alert(codigo);
	
	if(codigo==13 || codigo==0){ //Tecla Intro
		//if(document.getElementById(id).value !="--"){
		if(true){
			//document.getElementById("form_"+id).submit();
			document.getElementById("form_filtro").submit();
		}
	}
}


function add_a_la_lista_forzado(valor){
	if(valor!=""){
		var lista = $_('lista_categorias');
		var linea = document.createElement('OPTION');
		var oculto = $_('hidden_categorias');
		linea.id = 'linea_'+lista.childNodes.length;
		linea.value = valor;
		linea.innerHTML = valor;
		linea.ondblclick = function () { elimina(this.id); } ;
		lista.appendChild(linea);
		oculto.value = "";
		for(i=0;i<lista.childNodes.length;i++){
			oculto.value += lista.childNodes[i].value.replace(/(.*) \[.*\]/ig, "$1")+"|";
		}
	}
}


function add_a_la_lista(){
	var valor =	$_('input_2');	
	if(valor.value!=""){
		var lista = $_('lista_categorias');
		var linea = document.createElement('OPTION');
		var oculto = $_('hidden_categorias');
		linea.id = 'linea_'+lista.childNodes.length;
		linea.value = valor.value;
		linea.innerHTML = valor.value;
		linea.ondblclick = function () { elimina(this.id); } ;
		valor.value = "";
		lista.appendChild(linea);
		valor.focus();
		oculto.value = "";
		for(i=0;i<lista.childNodes.length;i++){
			//oculto.value += lista.childNodes[i].value+"|";
			oculto.value += lista.childNodes[i].value.replace(/(.*) \[.*\]/ig, "$1")+"|";
		}
	}
}
function elimina(id){
	$_('lista_categorias').removeChild($_(id));	

	var lista = $_('lista_categorias');
	var oculto = $_('hidden_categorias');
	oculto.value = "";
	for(i=0;i<lista.childNodes.length;i++){
		oculto.value += lista.childNodes[i].value.replace(/(.*) \[.*\]/ig, "$1")+"|";
	}

}
function limpia_cuadro_buscador(vInicial,vActual,id){
	if(vInicial == vActual){	
		$_(id).value = "";
	}
	else if(vActual == ""){
		$_(id).value = vInicial;
	}
}
function buscar(vInicial){
	if($_('buscadorPrincipal').value.length<3){	
		alert("Debes introducir al menos 3 caracteres para realizar la busqueda");
	}
	else if($_('buscadorPrincipal').value==vInicial){	
		alert("Debes introducir algun texto de al menos 3 caracteres para realizar la busqueda");
		$_('buscadorPrincipal').focus();
	}
	else{
		document.buscador.submit();	
	}
}

function check_registro(){
	if($_('passwd_registro').value == $_('conf_passwd_registro').value){
		if($_('passwd_registro').value.length>=4){
			if($_('email_registro').value == $_('conf_email_registro').value){	
				document.registro_paso_1.submit();				
			}
			else{
				alert("Los emails introducidos no coinciden");
			}
		}
		else{
				alert("La conteraseña debe tener al menos 4 caracteres");
		}
	}
	else{
				alert("Las contraseñas introducidas no coinciden");		
	}

	
}

if(mapas){
	google.load("maps", "2.x");
	var maps = new Array();
	   
	function initialize(id,x,y) {
		var ide = maps.length;
		maps[id] = new google.maps.Map2(document.getElementById("mapa_"+id));
		maps[id].setCenter(new google.maps.LatLng(x,y), 13);
		maps[id].addControl(new GSmallMapControl());
		maps[id].addControl(new GMapTypeControl());
		maps[id].setMapType(G_PHYSICAL_MAP); 

		var marker = new GMarker(new GLatLng(x,y));
		maps[id].addOverlay(marker);

	}
	google.setOnLoadCallback(initialize);
	
/*
EJEMPLO DE GOOGLE
         var map = new GMap2(document.getElementById('map_canvas'));
         var marker = new GMarker(new GLatLng(37.4228, -122.085));
         var html = '<div style="width:210px; padding-right:10px;">'+
            '<a href="signup.html">Sign up</a> for a Google Maps API key'+
            ', or <a href="documentation/index.html">read more about the'+
            ' V2 API</a>.<br /><br /> Looking for the new '+
            '<a href="/apis/maps/documentation/v3/">V3 API</a>?</div>';

         map.setCenter(new GLatLng(37.4328, -122.077), 13);
         map.addControl(new GSmallMapControl());
         map.addOverlay(marker);
         marker.openInfoWindowHtml(html);
*/
	
}

function nada(){}

///////////////////////////////////////////////////////////////////////////////////////////////////////
////                                 Funcion para redondear un numero                              ////
///////////////////////////////////////////////////////////////////////////////////////////////////////
function redondea(num,dec){
	if (num<0){
		var negativo = 1;
		num *= -1;
	}
	else{
		var negativo = 0;
	}
	var x = Math.pow(10,dec);
	var cant = num*x;
	cant = Math.round(cant);
	cant = cant/x;
	cant = cant + "";
	var decenas = cant.split(".");
	if (decenas.length>1){
		if(decenas[1].length==1){
			if(!negativo) return decenas[0]+"."+decenas[1]+"0";
			else return "-"+decenas[0]+"."+decenas[1]+"0";
		}
		else{
			if(!negativo) return cant;
			else return "-"+cant;
		}
	}
	else{
		if(!negativo) return cant+".00";
		else return "-"+cant+".00";
	}
}
/*
function intval (mixed_var, base) {
    // Get the integer value of a variable using the optional base for the conversion  
    // 
    // version: 910.813
    // discuss at: http://phpjs.org/functions/intval
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: stensi
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   input by: Matteo
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: intval('Kevin van Zonneveld');
    // *     returns 1: 0
    // *     example 2: intval(4.2);
    // *     returns 2: 4
    // *     example 3: intval(42, 8);
    // *     returns 3: 42
    // *     example 4: intval('09');
    // *     returns 4: 9
    // *     example 5: intval('1e', 16);
    // *     returns 5: 30
    var tmp;

    var type = typeof( mixed_var );

    if (type === 'boolean') {
        return (mixed_var) ? 1 : 0;
    } else if (type === 'string') {
        tmp = parseInt(mixed_var, base || 10);
        return (isNaN(tmp) || !isFinite(tmp)) ? 0 : tmp;
    } else if (type === 'number' && isFinite(mixed_var) ) {
        return Math.floor(mixed_var);
    } else {
        return 0;
    }
}*/


var carrito = new Array();
var total = 0;

function add_carrito(id,tipo){
	var lista_compra = $_('lista_compra');
	$_('cesta_compra').style.display="block";
	
	var objcon = objeto();
	if (objcon){
		var parametros = "?funcion=add_carrito&prod="+id+"&id="+tipo;
		objcon.open("GET",ruta_procesador+parametros,true);
		objcon.onreadystatechange = function(){
			if (objcon.readyState==4){
				if (objcon.status==200){
					var res = objcon.responseText;
					var datos = JSON.parse(res);
					var sumar = false;
					var suscri = false;
					
					for(i=0;i<carrito.length;i++){
// 						alert("guardado->"+carrito[i]+" id->"+id+" indice->"+i);
						if(carrito[i]==id || sumar==true){
							sumar = true
						}
						else{
							sumar = false;	
						}
						if(carrito[i]==-1 && id=="suscripcion"){
							suscri = true;
						}
					}
					if(!sumar){
						if(!suscri){
							var linea = document.createElement('TR');
							var col1 = document.createElement('TD');
							var col2 = document.createElement('TD');
							
							col1.style.width="72";
							col1.valign="bottom";
							
							col2.valing="bottom";
							
							if(datos.portada==""){
								datos.portada = "imagenes/portada_neutra.jpg";
							}
							else{
								datos.portada = "portada/"+datos.portada;
							}
							
							col1.innerHTML = '<img style="width: 57px;" alt="'+datos.titulo+'" src="'+datos.portada+'"/>';
							
							col2.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" border="0" class="detalles"><tr><td colspan="2"><b>'+datos.titulo+'</b></td></tr><tr><td width="90"><b>'+redondea(datos.pvp,2)+' &euro;</b></td><td>UDS: <b id="cant_'+datos.id+'">1</b></td><td><a href="carrito.php?id_borrar='+datos.id+'"><img src="imagenes/eliminar.jpg" alt="borrar"/></a></td></tr></table>';

							if(datos.suscripcion==0){
								carrito[carrito.length] = datos.id;
							}else{
								carrito[carrito.length] = -1;
							}
							linea.appendChild(col1);
							linea.appendChild(col2);
							
							lista_compra.appendChild(linea);
						}
					}
					else{
						var cant = $_('cant_'+id);
						cant.innerHTML = (cant.innerHTML *1) +1;
					}

					if(!suscri){
						total = total*1 + datos.pvp*1;
						$_('importe').innerHTML = redondea(total,2)+"&euro;";
						$_('num_articulos').innerHTML = $_('num_articulos').innerHTML * 1 +1;
					}
				}
			}
		}
		objcon.send(null);
	}
	else{
		alert("Ha ocurrido un error");
	}	
}
function add_libreria(id,idioma){

	var objcon = objeto();
	if (objcon){
		var parametros = "?funcion=add_libreria&id="+id;
		objcon.open("GET",ruta_procesador+parametros,true);
		objcon.onreadystatechange = function(){
			if (objcon.readyState==4){
				if (objcon.status==200){
					var res = objcon.responseText;
					if(idioma=='es'){
//						alert("Publicacion agregada!");
					}else{
//						alert("Publication added.");	
					}
					window.location.reload();
				}
			}
		}
		objcon.send(null);
	}
	else{
		alert("Ha ocurrido un error");
	}	
}
function add_concurso(id,idioma){

	var objcon = objeto();
	if (objcon){
		var parametros = "?funcion=add_concurso&id="+id;
		objcon.open("GET",ruta_procesador+parametros,true);
		objcon.onreadystatechange = function(){
			if (objcon.readyState==4){
				if (objcon.status==200){
					var res = objcon.responseText;
					if(idioma=='es'){
//						alert("Concurso agregado!");
					}else{
//						alert("Competition added");	
					}
					window.location.reload();
				}
			}
		}
		objcon.send(null);
	}
	else{
		alert("Ha ocurrido un error");
	}	
}
function del_libreria(id,idioma){

	var objcon = objeto();
	if (objcon){
		var parametros = "?funcion=del_libreria&id="+id;
		objcon.open("GET",ruta_procesador+parametros,true);
		objcon.onreadystatechange = function(){
			if (objcon.readyState==4){
				if (objcon.status==200){
					var res = objcon.responseText;
					if(idioma=='es'){
//						alert("Publicacion agregada!");
					}else{
//						alert("Publication added.");	
					}
					window.location.reload();
				}
			}
		}
		objcon.send(null);
	}
	else{
		alert("Ha ocurrido un error");
	}	
}
function del_concurso(id,idioma){

	var objcon = objeto();
	if (objcon){
		var parametros = "?funcion=del_concurso&id="+id;
		objcon.open("GET",ruta_procesador+parametros,true);
		objcon.onreadystatechange = function(){
			if (objcon.readyState==4){
				if (objcon.status==200){
					var res = objcon.responseText;
					if(idioma=='es'){
//						alert("Concurso agregado!");
					}else{
//						alert("Competition added");	
					}
 					window.location.reload();
				}
			}
		}
		objcon.send(null);
	}
	else{
		alert("Ha ocurrido un error");
	}	
}
function carga_libros_autor(id){
	var objcon = objeto();
	if (objcon){
		var parametros = "?funcion=libros_autor&id="+id;
		objcon.open("GET",ruta_procesador+parametros,true);
		objcon.onreadystatechange = function(){
			if (objcon.readyState==4){
				if (objcon.status==200){
					var res = objcon.responseText;
					$_('publicaciones_autor').innerHTML = res;
				}
			}
		}
		objcon.send(null);
	}
	else{
		alert("Ha ocurrido un error");
	}
}
function check_condiciones(idioma){
	if($_('aceptar_condiciones_uso').checked==true){
		document.location.href="carrito.php?paso=2";	
	}
	else{
		if(idioma=='es'){
			alert("Debes aceptar las condiciones de uso para continuar.");	
		}else{
			alert("You must accept the conditions of use to continue with the order.");	
		}
	}
}

var seleccionando = false;

function abrir_selector(){
	if(seleccionando){
//		alert("cierro");
		$_('selector_idioma').style.display='none';
		$_('capa_opaca').style.display='none';
		seleccionando = false;
	}
	else{
		var b = document.documentElement;
		var pos = b.scrollTop;

		$_('selector_idioma').style.top = (pos*1+200)+"px";
//		alert("abro");
		$_('selector_idioma').style.display='block';
		$_('capa_opaca').style.display='block';
		seleccionando = true;
	}
}

function seleccion_idioma(id){
	var objcon = objeto();
	if (objcon){
		var parametros = "?funcion=selector_idioma&id="+id;
		objcon.open("GET",ruta_procesador+parametros,true);
		objcon.onreadystatechange = function(){
			if (objcon.readyState==4){
				if (objcon.status==200){
					var res = objcon.responseText;
					$_('selector_idioma').innerHTML = res;
					abrir_selector();
				}
			}
		}
		objcon.send(null);
	}
	else{
		alert("Ha ocurrido un error");
	}		
}

function add_selector(idioma){
	var elegido = $_('idioma_seleccionado');
	if(elegido.value==""){
		if(idioma=="es"){
			alert('Debes elegir un idioma');	
		}
		else{
			alert('Select a language to continue');	
		}
	}
	else{
//		add_carrito(elegido.value,'libro');
//		abrir_selector();
		document.compra_seleccion.submit();
	}
	
}
function seleccion_periodicidad(){
	if(seleccionando){
//		alert("cierro");
		$_('selector_periodicidad').style.display='none';
		$_('capa_opaca').style.display='none';
		seleccionando = false;
	}
	else{
		var b = document.documentElement;
		var pos = b.scrollTop;

		$_('selector_periodicidad').style.top = (pos*1+200)+"px";
//		alert("abro");
		$_('selector_periodicidad').style.display='block';
		$_('capa_opaca').style.display='block';
		seleccionando = true;
	}	
}
function selecciona_periodicidad(){
	if(document.getElementById('tipo_suscripcion').value>0){
		add_carrito('suscripcion',document.getElementById('tipo_suscripcion').value);
		seleccion_periodicidad();
	}
	else{
		alert('Primero debes seleccionar la periodicidad');
	}
}

function comprueba_datos(idioma){
	var datos = new Array('nombre','pais', 'apellido_1','cp','direccion','telefono_1','poblacion','nif','provincia','email');
	var datos_en = new Array('name','country', 'surname','postcode','address','telephone','city','vat','province','email');
	var continua = true;
	for(i=0;i<datos.length;i++){
//		alert(datos[i]+" "+$_(datos[i]).value);
		if($_(datos[i]).value=="" && continua){
			$_(datos[i]).focus();
			$_(datos[i]).select();
			$_(datos[i]).style.border="#FF0000 1px solid";
			$_(datos[i]).style.background="#ffb7b7";
			if(idioma=="es"){
				alert("No has rellenado los campos obligatorios:\n\n"+datos[i]);
			}
			else{
				alert("You haven't filled in all fields:\n\n"+datos_en[i]);
			}
			continua = false;
		}
	}
	if(continua){
		document.datos_usuario.submit();
	}	
}

var forma_envio = "std";

function recalcular_importe(fenvio){
	var entrega_envio = $_('entrega_'+fenvio).value;
	var importe_envio = $_('importe_'+fenvio).value;
	var importe_compra = $_('importe_compra').value;
//	alert(importe_envio+" "+importe_compra);
	$_('importe_total').innerHTML = redondea((importe_envio * 1 + importe_compra * 1),2) + " &euro;";
	$_('fecha_entrega').innerHTML = entrega_envio;
	
	if(fenvio!=forma_envio){
		$_('col_1_'+forma_envio).className = "";
		$_('col_2_'+forma_envio).className = "";
		$_('col_3_'+forma_envio).className = "";
		$_('col_4_'+forma_envio).className = "";
		
		$_('col_1_'+fenvio).className = "selected";
		$_('col_2_'+fenvio).className = "selected";
		$_('col_3_'+fenvio).className = "selected";
		$_('col_4_'+fenvio).className = "selected";
		
		forma_envio = fenvio
	}
	
	
	
}

function resumen_pedido(id){
	if(seleccionando){
//		alert("cierro");
		$_('capa_resumen_pedido').style.display='none';
		$_('capa_opaca').style.display='none';
		seleccionando = false;
	}
	else{
		var objcon = objeto();
		if (objcon){
			var parametros = "?funcion=resumen_pedido&id="+id;
			objcon.open("GET",ruta_procesador+parametros,true);
			objcon.onreadystatechange = function(){
				if (objcon.readyState==4){
					if (objcon.status==200){

						var res = objcon.responseText;
						$_('capa_resumen_pedido').innerHTML = res;

						var b = document.documentElement;
						var pos = b.scrollTop;
				
						$_('capa_resumen_pedido').style.top = (pos*1+60)+"px";
				//		alert("abro");
						$_('capa_resumen_pedido').style.display='block';
						$_('capa_opaca').style.display='block';
						seleccionando = true;
					}
				}
			}
			objcon.send(null);
		}
		else{
			alert("Ha ocurrido un error");
		}
	}	
}

function abrir(direccion, pantallacompleta, herramientas, direcciones, estado, barramenu, barrascroll, cambiatamano, ancho, alto, izquierda, arriba, sustituir){
     var opciones = "fullscreen=" + pantallacompleta +
                 ",toolbar=" + herramientas +
                 ",location=" + direcciones +
                 ",status=" + estado +
                 ",menubar=" + barramenu +
                 ",scrollbars=" + barrascroll +
                 ",resizable=" + cambiatamano +
                 ",width=" + ancho +
                 ",height=" + alto +
                 ",left=" + izquierda +
                 ",top=" + arriba;
     var ventana = window.open(direccion,"venta",opciones,sustituir);

}                     
function imprimir(id){
	abrir('http://www.0coma9.com/vista_impresion.php?id='+id,0,0,0,0,0,1,0,849,670,100,0,1);
}
$(document).ready(function(){
	$("a[rel^='prettyPhoto']").prettyPhoto();
});
