//Iniciamos jQuery en modo seguro
var $j = jQuery.noConflict();

$j(document).ready(function(){
	//Recupera el nombre del banner a mostrar
	//var banner = $j('#banner-swf img').attr('src');

	//Substituye el banner estático por la versión Flash
	/*var flashvars = {};
	var params = {};
	var attributes = {};

	params.menu = "false";
	params.quality = "low";

	swfobject.embedSWF(banner.replace(/.png/, ".swf"), "banner-swf", "198", "125", "9.0.0", false, flashvars, params, attributes);*/

	//Los enlaces externos se abren en una nueva ventana
	$j('._blank').attr('target', '_blank');
	$j('.liexternal').attr('target', '_blank');
});

//Activa la opción correspondiente del menú de navegación. Necesario cuando se muestra el detalle de una
//entrada (noticias, actividades) a través de la plantilla single.php
function activaOpcionMenuNav () {
	$j('.current-menu-parent').addClass('current-menu-item current-category-ancestor');				
	$j('.current-menu-parent').parent().parent().addClass('current-menu-ancestor current-menu-parent');
}


//Funciones de utilidad
function trim(str) {
	return str.replace(/^(\s|\&nbsp;)*|(\s|\&nbsp;)*$/g,"");	
}

//Valida un código postal
function validaCP (cp) {
	if (cp=='') return false;
	var pattern = /^\d{5}$/;
	if (!pattern.test(cp)) return false;
	return true;
}

//Valida un DNI
function validaDNI (dni) {
	if (dni=='') return false;

	var letra='TRWAGMYFPDXBNJZSQVHLCKET';
	var numero = dni.substr(0,dni.length-1);
	var let = dni.substr(dni.length-1,1);
	
	numero = numero % 23;

	letra=letra.substring(numero,numero+1);
	if (letra!=let) return false;	
	return true;
}

//Valida una dirección de email
function validaEmail (email) {
	if (email=='') return false;
	//var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	var pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
	if (!pattern.test(email)) return false;
	return true;
}


//Valida un teléfono
function validaTelefono (tlf) {
	if (tlf=='') return false;
	tlf = tlf.replace(/ /g,'');

	var pattern = /^\d{5,11}$/;
	if (!pattern.test(tlf)) return false;
	return true;
}

//Valida una fecha, asumiendo el formato dd/mm/aaaa o dd-mm-aaaa
function validaFecha (fecha, idioma) {
	if (idioma=='') idioma = 'es';
	if (fecha=='') return false;

	if (idioma == 'eu') {
		var pattern = /^\d{4}\/\d{1,2}\/\d{1,2}$/;
	} else {
		var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
	}
	var res = false;

	if (!pattern.test(fecha)) {
		res = false;
		//alert("Invalid Date Format. Please correct and submit again.")
	} else { //Detailed check for valid date ranges
		if (idioma == 'es') {
			var dayfield = fecha.split("/")[0];
			var monthfield = fecha.split("/")[1];
			var yearfield = fecha.split("/")[2];
		} else {
			var dayfield = fecha.split("/")[2];
			var monthfield = fecha.split("/")[1];
			var yearfield = fecha.split("/")[0];
		}
		
		var dayobj = new Date(yearfield, monthfield-1, dayfield);
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)) {
			res = false;
			//alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
		} else {
		 res = true;
		}
	}
	return res;
}

//Valida una cuenta bancaria
function validaCtaBanco (ctaEntidad,ctaSucursal,ctaControl,ctaNumero) {
	if ((ctaEntidad=='')||(ctaSucursal=='')||(ctaControl=='')||(ctaNumero=='')) return false;

	if (!/^\d{4}$/.test(ctaEntidad)) return false;
	if (!/^\d{4}$/.test(ctaSucursal)) return false;
	if (!/^\d{2}$/.test(ctaControl)) return false;
	if (!/^\d{10}$/.test(ctaNumero)) return false;

	//Validación de todos los datos de la cuenta
	var wtotal,wcociente, wresto;

	if (ctaEntidad.length != 4) return false;
	if (ctaSucursal.length != 4) return false;
	if (ctaControl.length != 2) return false;
	if (ctaNumero.length != 10) return false;

	wtotal = ctaEntidad.charAt(0) * 4;
	wtotal += ctaEntidad.charAt(1) * 8;
	wtotal += ctaEntidad.charAt(2) * 5;
	wtotal += ctaEntidad.charAt(3) * 10;
	wtotal += ctaSucursal.charAt(0) * 9;
	wtotal += ctaSucursal.charAt(1) * 7;
	wtotal += ctaSucursal.charAt(2) * 3;
	wtotal += ctaSucursal.charAt(3) * 6;

	// busco el resto de dividir wtotal entre 11
	wcociente = Math.floor(wtotal / 11);
	wresto = wtotal - (wcociente * 11);

	wtotal = 11 - wresto;
	if (wtotal == 11) wtotal=0;
	if (wtotal == 10) wtotal=1;
	if (wtotal != ctaControl.charAt(0)) return false;

	//Hemos validado la entidad y oficina
	wtotal = ctaNumero.charAt(0) * 1;
	wtotal += ctaNumero.charAt(1) * 2;
	wtotal += ctaNumero.charAt(2) * 4;
	wtotal += ctaNumero.charAt(3) * 8;
	wtotal += ctaNumero.charAt(4) * 5;
	wtotal += ctaNumero.charAt(5) * 10;
	wtotal += ctaNumero.charAt(6) * 9;
	wtotal += ctaNumero.charAt(7) * 7;
	wtotal += ctaNumero.charAt(8) * 3;
	wtotal += ctaNumero.charAt(9) * 6;

	//Busco el resto de dividir wtotal entre 11
	wcociente = Math.floor(wtotal / 11);
	wresto = wtotal - (wcociente * 11);

	wtotal = 11 - wresto;
	if (wtotal == 11) wtotal=0;
	if (wtotal == 10) wtotal=1;
	if (wtotal != ctaControl.charAt(1)) return false;

	// hemos validado la cuenta corriente
	return true;
}

