jQuery(document).ready(function () {
	jQuery('.banner_home').bannerHome();
	jQuery('.listado_cc01home').carrusel({selectorContenedorComponente:'.interior_cc01home',selectorElementoLista: '.bloque_banner_cchome',centrarPaginacion:true});
	jQuery('.contenedor_carrusel ul.contenidoCarrusel').carrusel();

	if ($("#txtBuscar").length > 0) {
			var valortmp="";
			valortmp = $("#txtBuscar").val();
			$("#txtBuscar").Watermark(valortmp);
			$("#txtBuscar").attr("autocomplete", "off");
	}	
});


(function($){

$.fn.carrusel = function(options){
	var defaults = {
	htmlControles: '<ul class="controladoresCarrusel clear"><li class="btn_home_tiendas_Izq"><a href="#"><img src="/images/btn_izquierda_carrusel_tiendas.gif" alt="Anterior" /></a></li><li class="btn_home_tiendas_Der"><a href="#"><img src="/images/btn_derecha_carrusel_tiendas.gif" alt="Siguiente" /></a></li></ul>' // HTML para los controles
	,htmlContenedorLista: '<div class="contenedor-lista" />' // HTML contenedor de listado
	,htmlControlesPaginacion: '<div class="cajaBotonesCarrusel"><div class="cajaTL"><div class="cajaTR"><ul class="caja_botones_carrusel clear"></ul></div></div></div>'
	,htmlControlesPaginacionElemento: '<li><a href="#"><span class="indentado"></span></a></li>'
	,claseContenedorLista: 'contenedor-lista'
	,claseControlAnterior: 'btn_home_tiendas_Izq'
	,claseControlSiguiente: 'btn_home_tiendas_Der'
	,claseJs: 'contenedor_carrusel_js'
	,claseOculto: 'invisible_carrusel'
	,clasePaginaActiva: 'activo'
	,selectorPaginaActiva: '.activo'
	,selectorContenedorLista: '.contenedor-lista'
	,selectorContenedorComponente: '.contenedor_carrusel'
	,selectorContenedorEnlaceControl: '.controladoresCarrusel li'
	,selectorControlAnterior: '.btn_home_tiendas_Izq'
	,selectorControlSiguiente: '.btn_home_tiendas_Der'
	,selectorControlesPaginacion: '.caja_botones_carrusel'
	,selectorControlesPaginacionElemento: 'li'
	,selectorControlesPaginacionElementoInterior: 'span'
	,selectorElementoLista: 'li'
	,selectorOculto: '.indentado'
	,centrarPaginacion: false
	,animacion: false // Activar animaciÃ³n 'true', desactivar animaciÃ³n 'false'
	,tiempoMovimiento: 500
};
var datos = {};

var op = $.extend(defaults, options);

return this.each(function(){
	datos.listado = $(this);
	datos.listado.css('left','0');
	datos.componente = datos.listado.closest(op.selectorContenedorComponente).addClass(op.claseJs);
	datos.elementosVisibles = parseInt(datos.listado.attr('class').split('-')[1]);
	datos.elementosLista = datos.listado.find(op.selectorElementoLista);
	prepararLista();
});

function prepararLista() {
	datos.listado.wrap(op.htmlContenedorLista);
	datos.contenedorLista = datos.listado.parent();
	calculaAncho();
}

function calculaAncho() {
	var numElementosLista = datos.elementosLista.length;
	var i = 0;
	var ancho = 0;
	var margen = 0;

	while (i<numElementosLista) {
		var elementoLista =  datos.elementosLista.eq(i);
		ancho += elementoLista.outerWidth(true);
		if(i+1==numElementosLista){
			margen = elementoLista.outerWidth(true)-elementoLista.outerWidth();
			elementoLista.css('margin','0')
		}
		i++;
	}

	
	datos.anchoElemento = ancho/numElementosLista;
	datos.anchoVisibleGaleria = (datos.anchoElemento*datos.elementosVisibles)-margen;
	datos.anchoListado = ancho-margen;
	datos.listado.css('width',datos.anchoListado+'px');
	datos.contenedorLista.css('width',datos.anchoVisibleGaleria+'px');
	
	var anchoComponente = datos.contenedorLista.outerWidth(true);
	datos.componente.css('width',anchoComponente+'px');
	
	prepararControles();
	prepararPaginacion();
}

function prepararControles () {
	datos.componente.append(op.htmlControles);
	datos.enlaceControlAnterior = datos.componente.find(op.selectorContenedorEnlaceControl+op.selectorControlAnterior+' a').eq(0);
	datos.enlaceControlSiguiente = datos.componente.find(op.selectorContenedorEnlaceControl+op.selectorControlSiguiente+' a').eq(0);
	
	if (recuperarPosicionActual()==0) {ocultarControl(datos.enlaceControlAnterior);}
	
	
	datos.componente.find(op.selectorContenedorEnlaceControl+' a').click(function (event) {
		event.preventDefault();
		var direccion = 1;
		if ($(this).closest(op.selectorContenedorEnlaceControl).hasClass(op.claseControlSiguiente)) {
			direccion = -1;
			if (datos.enlaceControlAnterior.hasClass(op.claseOculto)) {mostrarControl(datos.enlaceControlAnterior)}
		} else {
			if (datos.enlaceControlSiguiente.hasClass(op.claseOculto)) {mostrarControl(datos.enlaceControlSiguiente);}
		}
		moverUno(direccion);
	});
}



function prepararPaginacion () {
	datos.componente.append(op.htmlControlesPaginacion);
	datos.paginacion = datos.componente.find(op.selectorControlesPaginacion).eq(0);
	var numPaginas = Math.ceil(datos.elementosLista.length/datos.elementosVisibles);
	var i = 0;
	while (i<numPaginas) {
		datos.paginacion.append(op.htmlControlesPaginacionElemento);
		datos.paginacion.find(op.selectorControlesPaginacionElementoInterior).last().text((i+1));
		i++;
	}
	datos.paginacion.find(op.selectorControlesPaginacionElemento).eq(0).addClass(op.clasePaginaActiva);
	
	
	var unidadMovimiento = datos.anchoElemento*datos.elementosVisibles;
	
	if (op.centrarPaginacion) {centrarControles();}
	datos.paginacion.find('a').bind('click',function (event) {
		event.preventDefault();
		var indice = datos.paginacion.find(op.selectorControlesPaginacionElemento).index($(this).closest(op.selectorControlesPaginacionElemento));
		datos.listado.css('left',(unidadMovimiento*indice*(-1))+'px');
		datos.paginacion.find(op.selectorPaginaActiva).eq(0).removeClass(op.clasePaginaActiva);
		$(this).closest(op.selectorControlesPaginacionElemento).addClass(op.clasePaginaActiva);
		if (indice==0) {ocultarControl(datos.enlaceControlAnterior);} else {mostrarControl(datos.enlaceControlAnterior);}
		if (indice==(datos.paginacion.find(op.selectorControlesPaginacionElemento).length-1)) {ocultarControl(datos.enlaceControlSiguiente);} else {{mostrarControl(datos.enlaceControlSiguiente);}}
	});
	
}


function centrarControles () {
	var anchoPaginacion = 0;
	var anchoPaginacionParcial = 0;
	var anchoComponente = datos.componente.outerWidth();
	var siguiente = datos.componente.find(op.selectorControlSiguiente).eq(0);
	var anterior = datos.componente.find(op.selectorControlAnterior).eq(0);
	//var anchoSelectorControlAnterior = anterior.find('img').eq(0).outerWidth();
	var anchoSelectorControlAnterior = anterior.outerWidth(); 
	datos.paginacion.find(op.selectorControlesPaginacionElemento).each(function () {
		anchoPaginacionParcial += $(this).outerWidth();
	});
	anchoPaginacion=datos.paginacion.outerWidth();
	var posicionPaginacion = Math.floor((anchoComponente-anchoPaginacion)/2);
	datos.paginacion.css({'left':posicionPaginacion+'px','width':anchoPaginacionParcial+'px'});
	
	var posicionControlIzquierda = posicionPaginacion-anchoSelectorControlAnterior;
	var posicionControlDerecha = posicionPaginacion+anchoPaginacion;
	
	anterior.css('left',posicionControlIzquierda+'px');
	siguiente.css('left',posicionControlDerecha+'px');
}

function moverUno (direccion) {
	var posicionActual = recuperarPosicionActual();
	
	var posicionNueva = (direccion*datos.anchoElemento*datos.elementosVisibles)+posicionActual;
	var posicionMaxima = (datos.anchoListado-datos.anchoVisibleGaleria)*(-1);
	
	if (posicionNueva>=0) {
		posicionNueva=0;
		ocultarControl(datos.enlaceControlAnterior);
		mostrarControl(datos.enlaceControlSiguiente);
	}
	if (posicionNueva<=posicionMaxima) {
		ocultarControl(datos.enlaceControlSiguiente);
		mostrarControl(datos.enlaceControlAnterior);
		posicionNueva=posicionMaxima;
	}
	if (op.animacion) {
		datos.listado.animate({left: posicionNueva},op.tiempoMovimiento);
	} else {
		datos.listado.css('left',posicionNueva+'px');
	}
	
	var paginaActiva = datos.paginacion.find(op.selectorPaginaActiva).eq(0);
	if (direccion>0) {
		paginaActiva.prev().addClass(op.clasePaginaActiva);
	} else {
		paginaActiva.next().addClass(op.clasePaginaActiva);
	}
	paginaActiva.removeClass(op.clasePaginaActiva);
}

function recuperarPosicionActual () {
	return parseInt(datos.listado.css('left').split('px')[0]);
}

function ocultarControl (enlace) {
	enlace.addClass(op.claseOculto);
	enlace.css('visibility','hidden');
}

function mostrarControl (enlace) {
	enlace.removeClass(op.claseOculto);
	enlace.css('visibility','');
}

}})(jQuery);



(function($){
$.fn.bannerHome = function(options){
var defaults = {
	selectorBloque: '.bloque_banner_home'
	,selectorTitulo: '.titulo_bloque'
	,selectorListado: '.listado_banner'
	,selectorListadoElementos: 'li'
	,selectorSeleccionado: '.seleccionado'
	,selectorControlPausar: '.controles .pausar'
	,selectorControlContinuar: '.controles .continuar'
	,claseJs: 'banner_home_js'
	,claseIndentado: 'indentado'
	,claseSeleccionado: 'seleccionado'
	,clasePrimero: 'primero'
	,claseUltimo: 'ultimo'
	,htmlListado: '<ul class="listado_banner"></ul>'
	,htmlFlecha: '<img src="/images/banner_home_activo_03.gif" alt="" />'
	,htmlListadoElementos: '<li><span><a href="#"></a></span></li>'
	,htmlEsquinas: '<div class="esquina_sup_izq"><img src="/images/banner_home_esquina_sup_izq.gif" alt="" /></div><div class="esquina_sup_der"><img src="/images/banner_home_esquina_sup_der.gif" alt="" /></div><div class="esquina_inf_izq"><img src="/images/banner_home_esquina_inf_izq.gif" alt="" /></div><div class="esquina_inf_der"><img src="/images/banner_home_esquina_inf_der.gif" alt="" /></div>'
	,htmlControles: '<ul class="controles"><li class="pausar"><a href="#">Pausar</a></li><li class="continuar"><a href="#">Continuar</a></li></ul>'
	,datosTiempoIntervalo: 3000
	,intervalo: true
};
var datos = {
	
};

var op = $.extend(defaults, options);

return this.each(function(){
	datos.componente = $(this);
	prepararHtml();
});

function prepararHtml () {
	datos.componente.addClass(op.claseJs);
	ocultarBloques();
	datos.componente.append(op.htmlEsquinas);
	if (op.intervalo==true) {datos.componente.append(op.htmlControles);}
	generarListaYOcultarTitulos();
}

function generarListaYOcultarTitulos () {
	datos.componente.prepend(op.htmlListado);
	datos.listado = datos.componente.find(op.selectorListado).eq(0);
	datos.titulos = datos.componente.find(op.selectorTitulo);
	
	var altoElementoListadoInicial = alturaElementosListado();
	datos.titulos.each(function () {
		$(this).addClass(op.claseIndentado);
		var texto = $(this).text();
		datos.listado.append(op.htmlListadoElementos);
		
		var elementoListadoActual = datos.listado.find(op.selectorListadoElementos).last();
		var elementoListadoActualEnlace = elementoListadoActual.find('a').eq(0);
		
		elementoListadoActualEnlace.html(texto).css({'float':'left'});
		
		var altoElementoListado = altoElementoListadoInicial-(elementoListadoActual.outerHeight()-elementoListadoActual.height())
		var altoElementoListadoEnlace = elementoListadoActualEnlace.height();
		var rellenoElementoListadoEnlace = (altoElementoListado-altoElementoListadoEnlace)/2;
		var rellenoElementoListadoEnlaceBajo = Math.floor(rellenoElementoListadoEnlace);
		var rellenoElementoListadoEnlaceAlto = Math.ceil(rellenoElementoListadoEnlace);
		
		elementoListadoActual.css('height',altoElementoListado)
		elementoListadoActualEnlace.css({'float':'none','display':'block','height':altoElementoListadoEnlace+'px','padding-top':rellenoElementoListadoEnlaceBajo+'px','padding-bottom':rellenoElementoListadoEnlaceAlto+'px'})
	});
	datos.listadoElementos = datos.listado.find(op.selectorListadoElementos);
	datos.listadoElementos.eq(0).addClass(op.claseSeleccionado).addClass(op.clasePrimero);
	datos.listadoElementos.last().addClass(op.claseUltimo);
	
	posicionVerticalFlecha();
	
	eventosListado();
}

function posicionVerticalFlecha () {
	datos.listado.find('a').append(op.htmlFlecha);
	var imagenes = datos.listado.find('a img');
	var altoImagen = imagenes.eq(0).height();
	var altoElementoLista = imagenes.eq(0).closest(op.selectorListadoElementos).outerHeight();
	var posicion = Math.floor((altoElementoLista-altoImagen)/2);
	
	imagenes.css('top',posicion+'px');
}

function eventosListado () {
	if (op.intervalo==true) {
		generarIntervalo();
		controles();
	}
	datos.listado.find('a').bind('click',function (event) {
		event.preventDefault();
		var elementoListado = $(this).closest(op.selectorListadoElementos);
		var indice = datos.listado.find(op.selectorListadoElementos).index(elementoListado);
		if (op.intervalo==true) {controlPausar();}
		mover(indice);
	});
}

function controles () {
	datos.controlPausar = datos.componente.find(op.selectorControlPausar).eq(0);
	datos.controlContinuar = datos.componente.find(op.selectorControlContinuar).eq(0);
	datos.controlContinuar.hide();
	datos.controlPausar.find('a').eq(0).bind('click',function (event) {
		event.preventDefault();
		controlPausar();
	});
	datos.controlContinuar.find('a').eq(0).bind('click',function (event) {
		event.preventDefault();
		controlContinuar();
	});
}

function controlPausar () {
	eliminarIntervalo();
	datos.controlPausar.hide();
	datos.controlContinuar.show();
}

function controlContinuar () {
	generarIntervalo();
	datos.controlPausar.show();
	datos.controlContinuar.hide();
}

function generarIntervalo () {
	datos.intervalo = setInterval(function () {
		moverIntervalo();
	},op.datosTiempoIntervalo);
}

function moverIntervalo () {
	
	eliminarIntervalo();
	
	var elementoListadoSeleccionado = datos.listado.find(op.selectorSeleccionado).eq(0);
	var indice = datos.listado.find(op.selectorListadoElementos).index(elementoListadoSeleccionado)+1;
	if ((indice)==datos.listadoElementos.length) {indice=0;}
	mover(indice);
	datos.intervalo = setInterval(function () {
		moverIntervalo();
	},op.datosTiempoIntervalo);
}

function eliminarIntervalo () {
	clearInterval(datos.intervalo);
	datos.intervalo=false;
}

function mover (indice) {
	datos.listado.find(op.selectorSeleccionado).eq(0).removeClass(op.claseSeleccionado);
	datos.listado.find(op.selectorListadoElementos).eq(indice).addClass(op.claseSeleccionado);
	
	datos.componente.find(op.selectorBloque).hide();
	datos.componente.find(op.selectorBloque).eq(indice).show();
}

function ocultarBloques () {
	//datos.componente.find(op.selectorBloque+':not(:first)').hide();
	datos.componente.find(op.selectorBloque+':first').nextAll().hide();
}

function alturaElementosListado () {
	var numero = datos.titulos.length;
	var alto = datos.listado.height();
	return Math.floor(alto/numero);
}

}})(jQuery);


/* 
Funciones Viajes C4 //2011-03-18// Cambia visibilidad cajas en la home de Viajes carrefour
*/
function cambia(parametro) {
	if (parametro=="caja1-a") {
		$('#caja1-b').css('display','none');
	}
	if (parametro=="caja1-b") {
		$('#caja1-a').css('display','none');
	}
	if (parametro=="caja2-a") {
		$('#caja2-b').css('display','none');
	}
	if (parametro=="caja2-b") {
		$('#caja2-a').css('display','none');
	}
	if (parametro=="caja3-a") {
		$('#caja3-b').css('display','none');
		$('#caja3-c').css('display','none');
	}
	if (parametro=="caja3-b") {
		$('#caja3-a').css('display','none');
		$('#caja3-c').css('display','none');
	}
	if (parametro=="caja3-c") {
		$('#caja3-a').css('display','none');
		$('#caja3-b').css('display','none');
	}
	if (parametro=="caja4-a") {
		$('#caja4-b').css('display','none');
		$('#caja4-c').css('display','none');
	}
	if (parametro=="caja4-b") {
		$('#caja4-a').css('display','none');
		$('#caja4-c').css('display','none');
	}
	if (parametro=="caja4-c") {
		$('#caja4-a').css('display','none');
		$('#caja4-b').css('display','none');
	}
	$('#'+parametro).css('display','block')
}
/* cambia visibilidad en el quienes somos de Viajes Carrefour */
paramquienesant = "1";
function cambiaquienes (paramquienes) {
	$('#contentquienes'+paramquienesant).css('display','none');
	$('#contentquienes'+paramquienes).css('display','block');
	paramquienesant = paramquienes
	$('#fotoquienes').attr('src', '/_includes/images/v_quienes_somos'+paramquienes+'.jpg');
}
/* valida Area Clientes Viajes Carrefour */
function ValidaDatos() {
	mailvalido=0;
	elmail=document.signOnForm.login.value;
	emailCheck(elmail);

  	if (document.signOnForm.login.value.length <=4 ) {
		alert("Debes introducir el nombre");
		document.signOnForm.login.focus();
		return false;
	}
	if (document.signOnForm.login.value.indexOf ('@', 0) == -1) { 
	 	alert("Debes introducir un nombre válido");
	    document.signOnForm.login.focus();
	    return false
	} 
	/*if (document.signOnForm.login.value.indexOf ('ñ', 0) != -1) { 
	 	alert("Debes introducir un nombre válido");
	    document.signOnForm.login.focus();
	    return false
	}*/
	if (mailvalido==1) {
	 	alert("Debes introducir un nombre válido");
	    document.signOnForm.login.focus();
	    return false
	}
 	else if (mailvalido==4) {
		alert("Verifica la terminación de tu nombre de usuario");
		document.signOnForm.login.focus();
		return false
 	}
  	if (document.signOnForm.password.value.length <=7 ) {
		alert("Debes introducir la clave");
		document.signOnForm.password.focus();
		return false;
	}
	else { return true; }
}
/* funcion menu desp. barra subnavegacion */
function showViajes(parametro) { document.getElementById(parametro).style.display = 'block'; }
function hideViajes(parametro) { document.getElementById(parametro).style.display = 'none'; }

function muestra(vcapamostrada){
	var cont = 17;
	var vcapamostrada2 = "";
	for (i=0;i<cont;i++){
		vcapamostrada2 = "#listado" + i;
		if (vcapamostrada2 != vcapamostrada){
			$(vcapamostrada2).css('display','none');
		}
	}
	var vdisplay = $('#'+vcapamostrada).css('display');
	if (vdisplay = 'none') { $('#'+vcapamostrada).css('display','block'); }
	else { $('#'+vcapamostrada).css('display','none'); }
}

/* funcion toggle generica */
function toggle(vcapa,velocidad){
	$('#'+vcapa).slideToggle(velocidad);
	return false;
}


/***************************************************************************************************************/
/*
 * Copyright (c) 2007 Josh Bush (digitalbush.com)
 * 
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:

 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE. 
 */
 
/*
 * Version: Beta 1
 * Release: 2007-06-01
 */ 
(function($) {
	var map=new Array();
	$.Watermark = {
		ShowAll:function(){
			for (var i=0;i<map.length;i++){
				if(map[i].obj.val()==""){
					map[i].obj.val(map[i].text);					
					map[i].obj.css("color",map[i].WatermarkColor);
				}else{
				    map[i].obj.css("color",map[i].DefaultColor);
				}
			}
		},
		HideAll:function(){
			for (var i=0;i<map.length;i++){
				if(map[i].obj.val()==map[i].text)
					map[i].obj.val("");					
			}
		}
	};
	
	$.fn.Watermark = function(text,color) {
		if(!color)
			color="#666666";
		return this.each(
			function(){		
				var input=$(this);
				var defaultColor=input.css("color");
				map[map.length]={text:text,obj:input,DefaultColor:defaultColor,WatermarkColor:color};
				function clearMessage(){
					if(input.val()==text)
						input.val("");
					input.css("color",defaultColor);
				}

				function insertMessage(){
					if(input.val().length==0 || input.val()==text){
						input.val(text);
						input.css("color",color);	
					}else
						input.css("color",defaultColor);				
				}

				input.focus(clearMessage);
				input.blur(insertMessage);								
				input.change(insertMessage);
				
				insertMessage();
			}
		);
	};
})(jQuery);
