function activarFormularioRedireccionar(objeto,id,formulario_id,tipo_formulario_id){
	if(confirm('¿Está seguro que quiere cambiar el estado de este formulario?')){
		window.location='index.php?modulo=extranet&accion=minisite&accion2=activar_desactivar_formulario&id='+id+'&formulario_id='+formulario_id+'&tipo_formulario='+tipo_formulario_id;
		return false;
	}else{
		if(objeto.checked){
			objeto.checked = false;
		}else{
			objeto.checked = true;
		}
		return false;
	}
}
function activarFormulario(rutas,id){
	// aqui tengo que llamar a los formularios
	var aleatorio = Math.random(); 
	var param = aleatorio; 
	var activoForm = { 
		success: activoFormulario 
	}
	var request = YAHOO.util.Connect.asyncRequest('get', rutas+'/ajax/activarFormulario.php?id='+id+'&param='+param, activoForm); 
}

function activoFormulario(o){ 
	alert('El formulario ha cambiado de estado'); 
}

function borrarSesionContacto(rutas){
	var borrarSesion = { 
		success: borroForm 
	}
	var request = YAHOO.util.Connect.asyncRequest('get', rutas+'/ajax/borrarSesionFormulario.php', borrarSesion); 
}

function borroForm(o){
	
}
function valida_nif_cif_nie(a) 
{
	
	var temp=a.toUpperCase();
	var cadenadni="TRWAGMYFPDXBNJZSQVHLCKE";
 	if (temp!==''){
		// si no tiene un formato valido devuelve error
		if ((!/^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$/.test(temp) && !/^[T]{1}[A-Z0-9]{8}$/.test(temp)) && !/^[0-9]{8}[A-Z]{1}$/.test(temp))
		{
			return 0;
		}
 
		// comprobacion de NIFs estandar
		if (/^[0-9]{8}[A-Z]{1}$/.test(temp))
		{
			posicion = a.substring(8,0) % 23;
			letra = cadenadni.charAt(posicion);
			var letradni=temp.charAt(8);
			
			if (letra == letradni)
			{
			   	return 1;
			}
			else
			{
				return -1;
			}
		}
 
		// algoritmo para comprobacion de codigos tipo CIF
		suma = parseInt(a[2])+parseInt(a[4])+parseInt(a[6]);
		for (i = 1; i < 8; i += 2)
		{
			temp1 = 2 * parseInt(a[i]);
			temp1 += '';
			temp1 = temp1.substring(0,1);
			temp2 = 2 * parseInt(a[i]);
			temp2 += '';
			temp2 = temp2.substring(1,2);
			if (temp2 == '')
			{
				temp2 = '0';
			}
 
			suma += (parseInt(temp1) + parseInt(temp2));
		}
		suma += '';
		n = 10 - parseInt(suma.substring(suma.length-1, suma.length));
 
		// comprobacion de NIFs especiales (se calculan como CIFs)
		if (/^[KLM]{1}/.test(temp))
		{
			if (temp.charAt(8) == String.fromCharCode(64 + n))
			{
				return 1;
			}
			else
			{
				return -1;
			}
		}
		// comprobacion de CIFs
		if (/^[ABCDEFGHJNPQRSUVW]{1}/.test(temp))
		{
			// temp = n + '';
			if (temp.charAt(8) == String.fromCharCode(64 + n) || temp.charAt(8) == parseInt(temp.substring(temp.length-1, temp.length)))
			{
				return 2;
			}
			else
			{
				return -2;
			}
		}
 		// comprobacion de NIEs
		// T
		if (/^[T]{1}/.test(temp))
		{
			if (temp.charAt(8) == /^[T]{1}[A-Z0-9]{8}$/.test(temp))
			{
				return 3;
			}
			else
			{
				return -3;
			}
		}
		// XYZ
		if (/^[XYZ]{1}/.test(temp))
		{
			pos = str_replace(['X', 'Y', 'Z'], ['0','1','2'], temp).substring(0, 8) % 23;
			if (temp.charAt(8) == cadenadni.substring(pos, pos + 1))
			{
				return 3;
			}
			else
			{
				return -3;
			}
		}
	}else{
		// esto es para que no sea obligatorio
		return 1;
	}
	return 0;
}

function numerico(valor){
	  cad = valor.toString();
	  for (var i=0; i<cad.length; i++) {
	    var caracter = cad.charAt(i);
		if (caracter<"0" || caracter>"9") {
			return false;
		}
	  }
	  return true;
	}
	function obtenerDigito(valor){
	  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
	  control = 0;
	  for (i=0; i<=9; i++) {control += parseInt(valor.charAt(i)) * valores[i];}
	  control = 11 - (control % 11);
	  if (control == 11){control = 0;}else if (control == 10){control = 1;}
	  return control;
	}
	
function validarNumCuentaBlur(numeroCuenta) {
	// numeroCuenta = objeto.value;
	if(numeroCuenta != ''){
		banco = numeroCuenta.substr(0,4);
		sucursal = numeroCuenta.substr(4,4);
		dc = numeroCuenta.substr(8,2);
		cuenta = numeroCuenta.substr(10,10);
	  if ((banco == ""  || sucursal == "" || dc == "" || cuenta == "") || ((banco == '0000') && (sucursal == '0000') && (dc == '00') && (cuenta == '0000000000'))){
		  	return -1;
	  }else {
	    if (banco.length != 4 || sucursal.length != 4 || dc.length != 2 || cuenta.length != 10){
	    	return -2;
	    }else {
	      if (!numerico(banco) || !numerico(sucursal) || !numerico(dc) || !numerico(cuenta)){
	    	  	return -3;
	      }else {
	        if (!(obtenerDigito("00" + banco + sucursal) == parseInt(dc.charAt(0))) || !(obtenerDigito(cuenta) == parseInt(dc.charAt(1)))){
	        	return -4;
	        }else{
	        	return 1;
	        }
	      }
	    }
	  }
  }else{
	  return 0;
  }
}

function validaCerrarSession(enlace){
	if(confirm('¿Desea cerrar la sesión?')){
		document.location.href=enlace;
		return false;
	} else {
		return false;
	}
}

// AJAX
function validaUsuarioMinisite(objeto){
	var validarnbusuariominisite = {
		success:escorrectousuariominisite,
		failure:escorrectousuariominisite,
		argument: {nombre:objeto}
	}	
	var request = YAHOO.util.Connect.asyncRequest('GET', document.forms[0].dir_ajax.value+"/ajax/validarUsuario.php?tipo=validar_login&login="+objeto.value+'&usuario_id=', validarnbusuariominisite);
	return false;
}
function validaUsuarioMinisiteCF(objeto,cliente_intermedio_id){
	var validarnbusuariominisitecf = {
			success:escorrectousuariominisite,
			failure:escorrectousuariominisite,
			argument: {nombre:objeto}
	}	
	var request = YAHOO.util.Connect.asyncRequest('GET', document.forms[0].dir_ajax.value+"/ajax/validarUsuario.php?tipo=validar_login_cf&login="+objeto.value+'&cliente_intermedio_id='+cliente_intermedio_id+'&usuario_id=', validarnbusuariominisitecf);
	return false;
}
function escorrectousuariominisite(o){
	var recojo = o.responseText; 
	var aux; 
	aux = o.argument.nombre;
	if(recojo == 'existe') {
		alert("El usuario '"+aux.value+"' introducido ya existe, deberá cambiarlo.");
		aux.value = '';
		aux.focus();
		return false;
	}
}
function validaNIFCIFClienteFinalMinisite(objeto,cliente_final_id,cliente_intermedio_id){
	var aplicacion = '';
	aplicacion = document.forms[0].aplicacion_seleccionada.value;
	var validarnifusuariominisite = {
		success:escorrectonifminisite,
		failure:escorrectonifminisite,
		argument: {nombre:objeto,aplicacion:aplicacion}
	}
	var request = YAHOO.util.Connect.asyncRequest('GET', document.forms[0].dir_ajax.value+"/ajax/validarUsuario.php?tipo=validar_nifcif_cliente_final&nif="+objeto.value+'&cliente_final_id='+cliente_final_id+'&cliente_intermedio_id='+cliente_intermedio_id, validarnifusuariominisite); 
	return false;
}
function escorrectonifminisite(o){
	var recojo = o.responseText; 
	var aux,app,txt_repetido; 
	aux = o.argument.nombre;
	app = o.argument.aplicacion;
 // alert(recojo);
	if(recojo == 'existe') {
		/*
		 * alert("El NIF/CIF '"+aux.value+"' introducido ya existe, deberá
		 * cambiarlo."); aux.value = ''; aux.focus(); return false;
		 */
		/*
		 * El NIF/CIF '53534991F' introducido ya existe en la asociación. Si
		 * éste es su NIF y ya se ha dado de alta como socio, no continue la
		 * operación. Si está dando de alta a un menor vinculado a usted bajo su
		 * NIF, pulse en "Aceptar".
		 */
		txt_repetido = "El NIF/CIF '"+aux.value+"' introducido ya existe, ¿confirma que es correcto?";
		if(app == 0) {
			txt_repetido = "El NIF/CIF '"+aux.value+"' introducido ya existe en la asociación.\nSi éste es su NIF y ya se ha dado de alta como socio, no continue la operación.\nSi está dando de alta a un menor vinculado a usted bajo su NIF, pulse en 'Aceptar'.";
		} 
		if(!confirm(txt_repetido)){
			aux.value = '';
			aux.focus();
			return false;
		} else {
			return false;
		}
	}
}
