jQuery.validator.addMethod("validarCIF", function(datosCif, element) {

	if(datosCif){
	
	var pares = 0;
    var impares = 0;
    var suma;
    var ultima;
    var unumero;
    var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
    var xxx;
    
    datosCif = datosCif.toUpperCase();
    
    var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);
     if (!regular.exec(datosCif)) return false;
        
     ultima = datosCif.substr(8,1);

     for (var cont = 1 ; cont < 7 ; cont ++){
         xxx = (2 * parseInt(datosCif.substr(cont++,1))).toString() + "0";
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
         pares += parseInt(datosCif.substr(cont,1));
     }
     xxx = (2 * parseInt(datosCif.substr(cont,1))).toString() + "0";
     impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
    
     suma = (pares + impares).toString();
     unumero = parseInt(suma.substr(suma.length - 1, 1));
     unumero = (10 - unumero).toString();
     if(unumero == 10) unumero = 0;
    
     if ((ultima == unumero) || (ultima == uletra[unumero]))
         return true;
     else
         return false;
	}
     else{
         return true;
	 }

}, '');
jQuery.validator.addMethod("IsNIF", function(YourNIF, element) {

		//alert(IsChar(YourNIF.substring(8, 9)))
	/*if (YourNIF.length != 9) return 0 //Si la longitud de "YourNIF" es menor que 9 devuelve falso
	else if (!IsUnsignedInteger(YourNIF.substring(0, 8))) return 0 //Si los ocho primeros digitos no forman un numero entero sin signo valido devuelve falso
	else if (!IsChar(YourNIF.substring(8, 9))) return 0 //Si el ultimo digito no es una letra valida devuelve falso
	else
	{*/ 
		var ControlValue = 0 //Control de calculos segun el criterio de correccion
		var NIFCharIndex = 0 //Almacenara la posicion de la letra correpondiente a la parte numerica del DNI con respecto al array "NIFChars"
		//El siguiente array "NIFChars" contiene las letras de DNI ordenadas segun el criterio de correccion
		var MaxLen = YourNIF.length
		var NIFChars = new Array('T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E')
		var FirstDigit = YourNIF.substring(0,1)//Almacenamos el primer digito para ver si es NIF o NIE
		FirstDigit = FirstDigit.toUpperCase() //Pasamos la letra del NIE a mayusculas por si acaso estaba en minusculas
		if(FirstDigit=='X'){
			var NIFNumber = '0'+(YourNIF.substring(1, MaxLen-1)) //Almacenanos la parte numerica del NIE en "NIFNumber"
		}
		else{
			if(FirstDigit=='Y'){
				var NIFNumber = '1'+(YourNIF.substring(1, MaxLen-1)) //Almacenanos la parte numerica del NIE en "NIFNumber"
			}else{
				var NIFNumber = YourNIF.substring(0, MaxLen-1) //Almacenanos la parte numerica del DNI en "NIFNumber"	
			}
			
			
		}
		var NIFChar = YourNIF.substring(MaxLen-1, MaxLen) //Almacenamos la letra del DNI en "NIFChar"
		NIFChar = NIFChar.toUpperCase() //Pasamos la letra del DNI a mayusculas por si acaso estaba en minusculas
		//Los siguientes 4 calculos sirven para calcular la posicion de la letra correspondiente al la parte numerica del DNI "NIFNumber" en en array "NIFChars"
		ControlValue = NIFNumber / NIFChars.length
		ControlValue = Math.floor(ControlValue);
		ControlValue = ControlValue * NIFChars.length
		NIFCharIndex = NIFNumber - ControlValue
		if (YourNIF.length > 9) return 0;
		return (NIFChar == NIFChars[NIFCharIndex]) ? 1 : 0//Si la letra coincide con la letra dada devuelve verdadero si no devuelve falso
	//}	

}, '');
jQuery.validator.addMethod("EsMovil", function(value, element) {

	if(value){
		PMovilContacte_=value.slice(0,1);
		
		if (isNaN(value)) { 
			return false;
		} 	
		if(value.length!=9){
			return false;
		}

		if(PMovilContacte_!="6"){
			return false;
		}	
		else{
			 return true;
		}
	}
	else{
		 return true;
	}
	

}, '');
jQuery.validator.addMethod('usernameCheck', function(DNIInscripcion) {

      var postURL = "http://www.barcelopartnerclub.es/comprobar-dni.asp";

      $.ajax({

       cache:false,

        async:false,

        type: "POST",

        data: "dni=" + DNIInscripcion,

        url: postURL,

        success: function(msg) {

          result = (msg=='True') ? true : false;

        }

     });

     return result;

}, '');
