
// JQuery
$(document).ready(function(){
	// Facebook
	$("#win_sharethis a.fb, #share_product a.fb").click(function() {
		var url = encodeURIComponent(String(window.location));
		$(this).attr('target', '_blank');
		$(this).attr('href', 'http://www.facebook.com/sharer.php?u=' + url);
	});
	
	// Twitter
	$("#win_sharethis a.tw, #share_product a.tw").click(function() {
		var url = String(window.location);
		var status = encodeURIComponent(url); // var status = encodeURIComponent($(this).attr('rel') + " " + url);
		$(this).attr('target', '_blank');
		$(this).attr('href', 'http://twitter.com/?status=' + status);
	});
	
	// Enviar a un amigo
	$("#win_sharethis a.email, #share_product a.email").click(function() {
		var url = encodeURIComponent(String(window.location));
		$(this).attr('href', 'mailto:?subject=Hola, esto te puede interesar&body=' + url);  
	});
	
	// Eshop - Bolsa
	if ($("body#bag").length > 0) {
		$('.budget .quantity').keypress(function(event) {
			if ($('#bolsa_detalle\\:buttonBagUpdatePrice').css('display') == 'none') {
				$('#bolsa_detalle\\:buttonBagUpdatePrice').show();
				$('#bolsa_detalle\\:buttonBagFinishBuy').hide();
			}
		});
	}
	
	if ($('#header\\:formMenuPro\\:filtroProfTemporadaList').length > 0) {
		
		// Colorear la opcion de la Oferta en el desplegable de Temporadas
		$('#header\\:formMenuPro\\:filtroProfTemporadaList option').each(function(){
			if ($(this).attr('value') == 'temporada_oferta') {
				$(this).css('color', '#CC0000');
			}
		});
		
		// Mostrar el cargando al cambiar de Temporada
		$('#header\\:formMenuPro\\:filtroProfTemporadaList').change(function() {
			$("#cargando_temporada span").text($("#cargando_temporada span").text() + " " + $(this).find("option:selected").text());
			$("#body_off").slideDown('fast');
			$("#cargando_temporada").fadeIn(200);
		});
	}
	
	if ($('#header a.misPedidosAbrir').length > 0) {
		
		// Mostrar el cargando al abrir Mis Pedidos
		$('#header a.misPedidosAbrir').click(function() {
			$("#body_off").slideDown('fast');
			$("#cargando_pedidos").fadeIn(200);
		});
	}
	
	/* Making Off*/
	if ($('#making_off').length > 0) {
		$('#making_off').colorbox({iframe:true, innerWidth:420, innerHeight:315});
	}
});


/**
 * Check some checkboxes
 */
function jsCheckAll(checks_panel, caller) {
	var isChecked = $("#" + caller).is(":checked");
	$("#" + checks_panel).find('input[type=checkbox][name$="' + caller + '"]').each(function (i) {
		$(this).attr("checked", isChecked);
	});
}


/**
 * Poder pulsar Enter para Buscar
 */
function jsFiltersClickLink(linkId) {
	var fireOnThis = document.getElementById(linkId);
	if (document.createEvent) {
		var evObj = document.createEvent('MouseEvents');
		evObj.initEvent('click', true, false);
		fireOnThis.dispatchEvent(evObj);
	} else if (document.createEventObject) {
		fireOnThis.fireEvent('onclick');
	}
}

function jsFiltersCheckPressedKey(e, linkId) {
	var keynum;
	if (window.event) { // IE
		keynum = e.keyCode;
	} else { // Firefox
		keynum = e.which;
	}
	if (keynum == 13) {
		jsFiltersClickLink(linkId);
	}
}


/**
 * Cesta de la compra
 */
function jsCestaAnyadirDesdeListado(p) {
	if ($("#list").length > 0 ) {
		document.getElementById('form_list:currentAnyadir').value = $('input:hidden[id="currentItemCode_' + p + '"]').val();
		
		/* $('input:hidden[id*="currentItemCode"]').each(function(index) {
			if (p == index) {
				document.getElementById('form_list:currentAnyadir').value = $(this).val();
			}
		}); */
	}
}

function jsCestaAnyadirDesdeFicha() {
	if ( $("#product").length > 0 ) {
		document.getElementById('form_product:currentAnyadir').value = $('#currentItemCode').val();
	}
}


/**
 * Login y Alta de Cliente
 */
$(document).ready(function(){
	$("#formLogin\\:password").keypress(function(event) {
		jsFiltersCheckPressedKey(event, 'formLogin:buttonLoginLink');
	});

	$('#formAlta\\:direccionesIguales').click(function() {
		jsClienteCopiarDirecciones();
	});

	$("#formAlta\\:direccionEntregaCalle, #formAlta\\:direccionEntregaNumeroCalle, #formAlta\\:direccionEntregaCodigoPostal, #formAlta\\:direccionEntregaCiudad, #formAlta\\:direccionEntregaProvincia").keyup(function(event) {
		jsClienteCopiarDirecciones();
	});

	$("#formAlta\\:direccionEntregaPais").change(function(event) {
		jsClienteCopiarDirecciones();
	});
});

function jsClienteCopiarDirecciones() {
	var t = $('#formAlta\\:direccionesIguales').is(':checked');
	if (t) {
		$('#formAlta\\:direccionFacturacionCalle').val($('#formAlta\\:direccionEntregaCalle').val());
		$('#formAlta\\:direccionFacturacionCalle').attr('readonly', 'readonly').addClass('input_disabled')
		if ($('#formAlta\\:direccionFacturacionCalle').val() != '') {
			$('#formAlta\\:direccionFacturacionCalle').removeClass('input_error');
		}

		$('#formAlta\\:direccionFacturacionNumeroCalle').val($('#formAlta\\:direccionEntregaNumeroCalle').val());
		$('#formAlta\\:direccionFacturacionNumeroCalle').attr('readonly', 'readonly').addClass('input_disabled');
		if ($('#formAlta\\:direccionFacturacionNumeroCalle').val() != '') {
			$('#formAlta\\:direccionFacturacionNumeroCalle').removeClass('input_error');
		}

		$('#formAlta\\:direccionFacturacionCodigoPostal').val($('#formAlta\\:direccionEntregaCodigoPostal').val());
		$('#formAlta\\:direccionFacturacionCodigoPostal').attr('readonly', 'readonly').addClass('input_disabled');
		if ($('#formAlta\\:direccionFacturacionCodigoPostal').val() != '') {
			$('#formAlta\\:direccionFacturacionCodigoPostal').removeClass('input_error');
		}

		$('#formAlta\\:direccionFacturacionCiudad').val($('#formAlta\\:direccionEntregaCiudad').val());
		$('#formAlta\\:direccionFacturacionCiudad').attr('readonly', 'readonly').addClass('input_disabled');
		if ($('#formAlta\\:direccionFacturacionCiudad').val() != '') {
			$('#formAlta\\:direccionFacturacionCiudad').removeClass('input_error');
		}

		$('#formAlta\\:direccionFacturacionProvincia').val($('#formAlta\\:direccionEntregaProvincia').val());
		$('#formAlta\\:direccionFacturacionProvincia').attr('readonly', 'readonly').addClass('input_disabled');
		if ($('#formAlta\\:direccionFacturacionProvincia').val() != '') {
			$('#formAlta\\:direccionFacturacionProvincia').removeClass('input_error');
		}

		$('#formAlta\\:direccionFacturacionPais').val($('#formAlta\\:direccionEntregaPais').val());
		$('#formAlta\\:direccionFacturacionPais').attr('readonly', 'readonly').addClass('input_disabled');
		if ($('#formAlta\\:direccionFacturacionPais').val() != '') {
			$('#formAlta\\:direccionFacturacionPais').removeClass('input_error');
		}
	} else {
		$('#formAlta\\:direccionFacturacionCalle').removeAttr('readonly').removeClass('input_disabled');
		$('#formAlta\\:direccionFacturacionNumeroCalle').removeAttr('readonly').removeClass('input_disabled');
		$('#formAlta\\:direccionFacturacionCodigoPostal').removeAttr('readonly').removeClass('input_disabled');
		$('#formAlta\\:direccionFacturacionCiudad').removeAttr('readonly').removeClass('input_disabled');
		$('#formAlta\\:direccionFacturacionProvincia').removeAttr('readonly').removeClass('input_disabled');
		$('#formAlta\\:direccionFacturacionPais').removeAttr('readonly').removeClass('input_disabled');
	}
}

var eshopCompraLogged = false;
var profesionalLogged = false;
function jsClienteEnviarAltaProf() {

	$("#formAlta").validate({
		errorClass: 'input_error',
		validClass: '',
		errorPlacement: function(error, element) {},
		rules: {
			"formAlta:empresa": "required",
			"formAlta:nombreFiscal": "required",
			"formAlta:nombre": "required",
			"formAlta:email": {
				required: true,
				email: true
			},
			"formAlta:emailRepeat": {
				required: true,
				equalTo: "#formAlta\\:email"
			},
			"formAlta:nif": "required",
			"formAlta:telefono": "required",
			"formAlta:password": "required",
			"formAlta:passwordRepeat": {
				required: true,
				equalTo: "#formAlta\\:password"
			},
			"formAlta:direccionEntregaCalle": "required",
			"formAlta:direccionEntregaNumeroCalle": "required",
			"formAlta:direccionEntregaCodigoPostal": "required",
			"formAlta:direccionEntregaCiudad": "required",
			"formAlta:direccionEntregaProvincia": "required",
			"formAlta:direccionEntregaPais": "required",
			"formAlta:direccionFacturacionCalle": "required",
			"formAlta:direccionFacturacionNumeroCalle": "required",
			"formAlta:direccionFacturacionCodigoPostal": "required",
			"formAlta:direccionFacturacionCiudad": "required",
			"formAlta:direccionFacturacionProvincia": "required",
			"formAlta:direccionFacturacionPais": "required",
			"formAlta:aceptoCondiciones": "required"
		}
	});
	
	if ($("#formAlta").valid() == false) {
		if (!$("#formAlta\\:aceptoCondiciones").is(':checked')) {
			$("#formAlta\\:aceptoCondiciones").removeClass('input_error');
			$("#labelCheckCond").addClass('input_error');
		} else {
			$("#formAlta\\:aceptoCondiciones").addClass('input_error');
			$("#labelCheckCond").removeClass('input_error');
		}
		return false;
	} else {
		$('#formAlta\\:enviar').slideUp(200, function() {
			$('#tramitandoAltaProf').fadeIn(300);
		});
		return true;
	}
}

function jsClienteEnviarAltaPedido() {
	if (profesionalLogged) {
		$("#formAlta").validate({
			errorClass: 'input_error',
			validClass: '',
			errorPlacement: function(error, element) {},
			rules: {
				"formAlta:fechaEntrega": "required",
				"formAlta:aceptoCondiciones": "required",
				"formAlta:aceptoCondicionesEnvio": "required"
			}
		});
	} else if (eshopCompraLogged) {
		$("#formAlta").validate({
			errorClass: 'input_error',
			validClass: '',
			errorPlacement: function(error, element) {},
			rules: {
				"formAlta:aceptoCondiciones": "required",
				"formAlta:aceptoCondicionesEnvio": "required"
			}
		});
	} else {
		$("#formAlta").validate({
			errorClass: 'input_error',
			validClass: '',
			errorPlacement: function(error, element) {},
			rules: {
				// "formAlta:empresa": "required",
				// "formAlta:nombreFiscal": "required",
				"formAlta:nombre": "required",
				"formAlta:email": {
					required: true,
					email: true
				},
				"formAlta:emailRepeat": {
					required: true,
					equalTo: "#formAlta\\:email"
				},
				"formAlta:nif": "required",
				"formAlta:telefono": "required",
				"formAlta:password": "required",
				"formAlta:passwordRepeat": {
					required: true,
					equalTo: "#formAlta\\:password"
				},
				"formAlta:direccionEntregaCalle": "required",
				"formAlta:direccionEntregaNumeroCalle": "required",
				"formAlta:direccionEntregaCodigoPostal": "required",
				"formAlta:direccionEntregaCiudad": "required",
				"formAlta:direccionEntregaProvincia": "required",
				"formAlta:direccionEntregaPais": "required",
				"formAlta:direccionFacturacionCalle": "required",
				"formAlta:direccionFacturacionNumeroCalle": "required",
				"formAlta:direccionFacturacionCodigoPostal": "required",
				"formAlta:direccionFacturacionCiudad": "required",
				"formAlta:direccionFacturacionProvincia": "required",
				"formAlta:direccionFacturacionPais": "required",
				"formAlta:aceptoCondiciones": "required",
				"formAlta:aceptoCondicionesEnvio": "required"
			}
		});
	}
	
	// Checkear si hemos elegido algun metodo de pago
	metodoPagoOk = true;
	if ($('input[name="metodoPagoOpcion"]').length > 0) {
		metodoPagoOk = false;
		$('input[name="metodoPagoOpcion"]').each(function(index) {
			metodoPagoOk = metodoPagoOk || $(this).is(':checked');
		});
	}
	
	if (metodoPagoOk) {
		$("#metodoPagoFieldset").removeClass('input_error');
	} else {
		$("#metodoPagoFieldset").addClass('input_error');
	}
	
	if ($("#formAlta").valid() == false || !metodoPagoOk) {
		if (!$("#formAlta\\:aceptoCondiciones").is(':checked')) {
			$("#formAlta\\:aceptoCondiciones").removeClass('input_error');
			$("#labelCheckCond").addClass('input_error');
		} else {
			$("#formAlta\\:aceptoCondiciones").addClass('input_error');
			$("#labelCheckCond").removeClass('input_error');
		}
		
		if (!$("#formAlta\\:aceptoCondicionesEnvio").is(':checked')) {
			$("#formAlta\\:aceptoCondicionesEnvio").removeClass('input_error');
			$("#labelCheckCondEnvio").addClass('input_error');
		} else {
			$("#formAlta\\:aceptoCondicionesEnvio").addClass('input_error');
			$("#labelCheckCondEnvio").removeClass('input_error');
		}
		
		return false;
	} else {
		$('#formAlta\\:enviar').slideUp(200, function() {
			$('#tramitandoPedido').fadeIn(300);
		});
		return true;
	}
}


/**
 * Profesional Filtro Temporada
 */
function jsFiltroProfTemporadaCambiar(lng) {
	temporada = $('#header\\:formMenuPro\\:filtroProfTemporadaList').val();
	$.ajax({
		url: '/ajax/filtro_prof_temporada_cambiar.xhtml',
		type: 'POST',
		data: 'filtroProfTemporada=' + temporada,
		async: true,
		success: function(data){window.location = '/eshop.xhtml?lng=' + lng;},
		error: function(data){}
	});
}
