jQuery(document).ready(function () {
	jQuery('body').eq(0).addClass('con_js');
	var pl1 = new PliegaNavegacion();
		pl1.datos.selectorBloque = '#bloque_03_widget_categoriescategories-5';
		pl1.inicia();
		
	var pl2 = new PliegaNavegacion();
		pl2.datos.selectorBloque = '#bloque_03_widget_archivearchives-5';
		pl2.inicia();
		
	// Twitter Pro
	jQuery('#bloque_01_widget_twittertwitter-3 ul').eq(0).attr('id','lista_twitter');
	if (jQuery('#lista_twitter li').length>1) {
		var slides1 = new Slides();
			slides1.inicia();
	}
	
		
	// Galería
	Shadowbox.init();
	jQuery('#sb-overlay').css('height',document.documentElement.clientHeight+'px');
	
	// Tooltip enlaces sociales
	var tool1 = new Tooltip();
		tool1.datos.elemento = '#compartir img';
		tool1.datos.atributo = 'alt';
		tool1.datos.idTooltip = 'js_tooltip';
		tool1.inicia();
		
	var desp1 = new Desplegable();
		desp1.inicia();
	
	var seleccionar1 = new SeleccionarTexto();
	seleccionar1.inicia();
	
	
	$('.formulario_busqueda').busqueda();
});




(function($){
	$.fn.busqueda = function(options){
		var defaults = { // Opciones por defecto
			selectorCampo: 'input[type="text"]'
			,selectorBoton: 'input[type="image"]'
			,claseInactivo: 'inactivo'
			,imagenBoton: 'OTB_IMG_boton_buscar_cabecera.png'
			,imagenBotonHover: 'OTB_IMG_boton_buscar_cabecera_hover.png'
		}
		var op = $.extend(defaults, options);

		return this.each(function(){
			var capa = $(this);
			var boton = capa.find(op.selectorBoton).eq(0);
			precargar(capa,boton);
			placeholder(capa);
		});
		function precargar (capa,boton) {
			var rutaInicial = boton.attr('src');
			var rutaRollover = rutaInicial.replace(op.imagenBoton,op.imagenBotonHover);
			var imagen = new Image();
			imagen.src = rutaRollover;
			rolloverBoton(capa,boton);
		}
		
		function rolloverBoton (capa,boton) {
			
			boton.hover(
				function () {
					var rutaInicial = boton.attr('src');
					var rutaFinal = rutaInicial.replace(op.imagenBoton,op.imagenBotonHover);
					boton.attr('src',rutaFinal)
				}
				,function () {
					var rutaInicial = boton.attr('src');
					var rutaFinal = rutaInicial.replace(op.imagenBotonHover,op.imagenBoton);
					boton.attr('src',rutaFinal)
				}
			);
			
		}
		
		function placeholder (capa) {
			if (!Modernizr.input.placeholder) {
				var campo = capa.find(op.selectorCampo).eq(0);
				var texto = campo.attr('placeholder');
				campo.attr('value',texto).addClass(op.claseInactivo);
				campo.focus(function () {
					if ($(this).attr('value')==texto) {
						$(this).attr('value','').removeClass(op.claseInactivo);
					}
				});
				campo.blur(function () {
					if ($(this).attr('value').length==0) {
						$(this).attr('value',texto).addClass(op.claseInactivo);
					}
				});
			}
		}
	}
})(jQuery);


function SeleccionarTexto () {
	this.datos = {
		selector: '#publicodigo textarea'
	}
	
	this.inicia = function () {
		var that = this;
		jQuery(that.datos.selector).focus(function () {
			jQuery(this).select();
		});
	}
}

var iPhone = function () {
	
	this.datos = {
		claseOrientacion: 'horizontal'
	}
	
	this.inicia = function () {
		var that = this;
		that.ocultarBarra();
		that.orientacion();
	}
	
	this.ocultarBarra = function () {
		var that = this;
		window.scrollTo(0,1);
	}
	
	this.orientacion = function () {
		var that = this;
		document.body.onorientationchange = function () {
			var orientacion = window.orientation;
			
			if (orientacion==90 || orientacion==-90) {this.setAttribute('rel', that.datos.claseOrientacion);}
			else {this.setAttribute('rel','');}
		}
	}
	
}

var Desplegable = function () {
	this.datos = {
		capa: '#contenido div.js_desplegable',
		titulo: '#contenido div.js_desplegable .js_desplegable_activar',
		claseDesplegado: 'desplegado'
	}
	
	this.inicia = function () {
		var that = this;
		that.ocultarTodos();
		that.enlacesTitulos();
	}
	
	this.enlacesTitulos = function () {
		var that = this;
		jQuery(that.datos.titulo).each(function () {
			var texto = jQuery(this).html();
			jQuery(this).html('<a href="#">'+texto+'</a>');
		});
		that.alternanciaIndividual();
	}
	
	this.alternanciaIndividual = function () {
		var that = this;
		jQuery(that.datos.titulo+' a').click(function () {
			jQuery(this).parent().next().toggle();
			jQuery(this).parent().toggleClass(that.datos.claseDesplegado);
			return false;
		});
	}
	
	this.ocultarTodos = function () {
		var that = this;
		jQuery(that.datos.titulo).each(function () {
			jQuery(this).removeClass(that.datos.claseDesplegado);
			jQuery(this).next().hide();
		});
	}
}

var Tooltip = function () {
	this.datos = {
		elemento: '',
		atributo: ''
	}
	
	this.inicia = function () {
		var that = this;
		jQuery(that.datos.elemento).each(function () {
			var texto = jQuery(this).attr(that.datos.atributo);
			jQuery(this).parent().hover(
				function () {
					jQuery(this).append('<span id="'+that.datos.idTooltip+'"><span>'+texto+'</span></span>');
				},
				function () {
					jQuery('#'+that.datos.idTooltip).remove();
				}
			);
		});
	}
}

/*var TextoCampo = function () {
	this.datos = {
		campo: '#cajetin_busqueda',
		texto: 'Texto de búsqueda'
	}
	
	this.inicia = function () {
		var that = this;
		jQuery(that.datos.campo).attr('placeholder',that.datos.texto);
	}
}*/

var EnlaceVentanaNueva = function () {
	this.inicia = function () {
		jQuery(this.elemento).attr('target','_blank').addClass(this.clase).append('<span class="'+this.claseInvisible+'"> (abre en ventana nueva)</span>');
	}
	
}

var PliegaNavegacion = function () {
	this.datos = {
		//selectorBloque: '#bloque_secciones_widget_archive',
		elementoTitulo: 'h2',
		relEnlace: 'alternaBloqueNavegacion',
		clasePlegado: 'plegado',
		claseDesplegado: 'desplegado',
		textoPlegado: 'Desplegar',
		textoDesplegado: 'Plegar',
		elementoAlternado: 'ul'
	}
	
	this.inicia = function () {
		var that = this;
		that.iniciarConversion();
	}
	
	this.iniciarConversion = function () {
		var that = this;
		that.generaEnlace();
		that.ocultaElemento();
		that.alternanciaElemento();
	}
	
	this.generaEnlace = function () {
		var that = this;
		
		jQuery(that.datos.selectorBloque).each(function () {
			jQuery(this).addClass('bloque_desplegable');
			textoHtml = jQuery(this).children(that.datos.elementoTitulo).eq(0).html();
			jQuery(this).children(that.datos.elementoTitulo).eq(0).html('<a class="'+that.datos.clasePlegado+'" rel="'+that.datos.relEnlace+'" href="#" title="'+that.datos.textoPlegado+': '+textoHtml+'">'+textoHtml+'</a>');
		});
		
	}
	
	this.ocultaElemento = function () {
		var that = this;
		jQuery(that.datos.selectorBloque).each(function () {
			jQuery(this).children(that.datos.elementoAlternado).eq(0).hide();
		});
	}
	
	this.alternanciaElemento = function () {
		var that = this;
		jQuery(that.datos.selectorBloque+' a[rel="'+that.datos.relEnlace+'"]').each(function () {
			jQuery(this).click(function () {
				textoEspecificoTitulo = jQuery(this).attr('title').split(': ')[1];
				if (jQuery(this).parent().next().css('display')=='none') {
					jQuery(this).removeClass(that.datos.clasePlegado).addClass(that.datos.claseDesplegado);
					jQuery(this).attr('title',that.datos.textoDesplegado+': '+textoEspecificoTitulo);
					jQuery(this).parent().next().show();
				}
				else {
					jQuery(this).removeClass(that.datos.claseDesplegado).addClass(that.datos.clasePlegado);
					jQuery(this).attr('title',that.datos.textoPlegado+': '+textoEspecificoTitulo);
					jQuery(this).parent().next().hide();
				}
				return false;
			})
		})
	}
}

function Slides () {
	this.caja = '#lista_twitter'; // id del contenedor de los destacados
	this.slide = 'li'; // destacado
	this.numero = 1; // Número de destacados que se muestran
	this.tiempo = 5; // Segundos entre cambio de destacado
	this.milisegundos = this.tiempo*1000; // No editar
	this.velocidadMostrar = 'fast';
	
	this.inicia = function () {
		
		numDestacados = jQuery(this.caja+' '+this.slide).length; // Número de destacados
		i=this.numero;
		k=0;
		
		// Se activa la primera tanda de destacados
		while (k<this.numero) {
			jQuery(this.caja+' '+this.slide).eq(k).addClass('activo');
			k++;
		}
		while (i<numDestacados) {
			jQuery(this.caja+' '+this.slide).eq(i).hide();
			i++;
		}
		
		// Se da ID a los destacados
		j=0;
		while (j<numDestacados) {
			jQuery(this.caja+' '+this.slide).eq(j).attr('id','slide-'+(j+1));
			j++;
		}
		
		this.paginacion(); // Se generan los controles de pausa y paginación
		
		// Se inicia el slideshow
		var that = this;
		this.intervalo = setInterval(function(){that.cambiar();}, this.milisegundos);
		
		// Al clicar una página se detiene el proceso y se va a la página
		jQuery('#paginadorSlide li a').click(function () {
			clearInterval(that.intervalo);
			that.controlPausar();
			that.irPagina(parseInt(jQuery(this).parent().attr('id').split('-')[1]));
			jQuery('#paginadorSlide li').removeClass('activo');
			jQuery(this).parent().addClass('activo');
			return false;
		});
		
		// Al clicar el botón de pausar/continuar se alterna detener/continuar el proceso
		jQuery('#pausarContinuar a').eq(0).click(function () {
			if (jQuery(this).hasClass('moviendo')) {
				that.controlPausar();
			} else {
				that.intervalo = setInterval(function(){that.cambiar();}, that.milisegundos);
				that.controlContinuar();
			}
			return false;
		});
		
	}
	
	// Modificar botón de pausar/reanudar
	this.controlPausar = function () {
		clearInterval(this.intervalo);
		jQuery('#pausarContinuar a').eq(0).html('Reanudar');
		jQuery('#pausarContinuar a').eq(0).removeClass('moviendo');
	}
	this.controlContinuar = function () {
		jQuery('#pausarContinuar a').eq(0).html('Pausar');
		jQuery('#pausarContinuar a').eq(0).addClass('moviendo');
	}
	
	// Cambiar de slide
	this.irPagina = function (pagina) {
		elUltimo = pagina*this.numero;
		el = (elUltimo)-this.numero;
		jQuery(this.caja+' '+this.slide).removeClass('activo');
		while (el<elUltimo) {
			jQuery(this.caja+' '+this.slide).eq(el).addClass('activo');
			jQuery(this.caja+' '+this.slide).eq(el).addClass('activo activoPausa');
			el++;
		}
		
		jQuery(this.caja+' '+this.slide+':not(.activo)').hide();
		jQuery(this.caja+' '+this.slide+'.activo').fadeIn(this.velocidadMostrar);
		
	}
	
	// Cambio automático de slide
	this.cambiar = function () {
		activos = jQuery(this.caja+' '+this.slide+'.activo').length-1;
		ultimoActivo = jQuery(this.caja+' '+this.slide+'.activo').eq(activos);
		numeroUltimoActivo = parseInt(jQuery(this.caja+' '+this.slide+'.activo').eq(activos).attr('id').split('-')[1])+this.numero;
		proximaPagina = (numeroUltimoActivo/this.numero)-1;
		numDestacados = jQuery(this.caja+' '+this.slide).length;
		
		if (numeroUltimoActivo>numDestacados) {proximoActivo=jQuery(this.caja+' '+this.slide).eq(0);proximaPagina=0;} else {proximoActivo = ultimoActivo.next(this.slide);}
		jQuery(this.caja+' '+this.slide+'.activo').removeClass('activo');
		i=0;
		while (i<this.numero) {
			proximoActivo.addClass('activo');
			proximoActivo = proximoActivo.next();
			i++;
		}
		jQuery(this.caja+' '+this.slide+':not(.activo)').hide();
		jQuery('#paginadorSlide li').removeClass('activo');
		jQuery('#paginadorSlide li').eq(proximaPagina).addClass('activo');
		jQuery(this.caja+' '+this.slide+'.activo').fadeIn(this.velocidadMostrar);
	}
	
	
	this.paginacion = function () {
		numPaginas = Math.ceil((jQuery(this.caja+' '+this.slide).length)/this.numero);
		jQuery(this.caja).after('<div id="controlesSlide"><ul class="lista_paginadorSlide" id="paginadorSlide"></ul></div>'); // Se crea el contenedor de paginación
		//jQuery('#paginadorSlide').before('<p id="pausarContinuar"><a href="#" class="moviendo">Pausar</a></p>'); // Se crea el párrafo para el botón de detener/continuar en su estado predeterminado (Pausar)
		jQuery('#controlesSlide').prepend('<p id="pausarContinuar"><a href="#" class="moviendo">Pausar</a></p>'); // Se crea el párrafo para el botón de detener/continuar en su estado predeterminado (Pausar)
		
		i=0;j=1;
		while (i<numPaginas) {
			jQuery('#paginadorSlide').append('<li id="paginaSlide-'+j+'"><a href="#">'+j+'</a></li>');
			i++; j++;
		}
		jQuery('#paginadorSlide li').eq(0).addClass('activo');
	}
	
}
