// nif
jQuery.validator.addMethod("nif", function(value, element, param) {
	var par = 0;
	var non = 0;
	var letras="ABCDEFGHKLMNPQS";
	var let = value.charAt(0);
	if (isNaN(let) && value.length==9) {
		var val = null;
		if (let.toUpperCase()=='X') {
			val = "0";
		}
		if (let.toUpperCase()=='Y') {
			val = "1";
		}
		if (val != null) {
			value = val + 	value.substring(1,value.length);
			let = val;
		}
	}
	if (!isNaN(let)) {
		var dni = value.substring(0,value.length-1);
		let = value.charAt(value.length-1);
		if (!isNaN(let)) {
			return false;
		} else {
			var cadena="TRWAGMYFPDXBNJZSQVHLCKET";
			var posicion = dni % 23;
			letra = cadena.substring(posicion,posicion+1);
			if (letra!=let.toUpperCase()) {
				return false;
			}
		}
		return true;
	}
	if (value.length!=9 || letras.indexOf(let.toUpperCase())==-1) {  
		return false;
	}
	for (zz=2;zz<8;zz+=2) {
		par = par+parseInt(value.charAt(zz));
	}
	for (zz=1;zz<9;zz+=2) {
		nn = 2*parseInt(value.charAt(zz));
		if (nn > 9) nn = 1+(nn-10)
		non = non+nn;
	}
	var parcial = par + non;
	var control = (10 - ( parcial % 10));
	if (control!=value.charAt(8)) {
		return false;
	}
	return true;
}, jQuery.validator.messages.url);

// cuenta bancaria
jQuery.validator.addMethod("bank_account", function(value, element, param) {
	var parent = $jq(element).parent();
	var bco = $jq(parent).find("[id^='bank']").val();
	var suc = $jq(parent).find("[id^='branch']").val();
	var dc1 = $jq(parent).find("[id^='cc']").val();
	var cta = $jq(parent).find("[id^='account']").val();
	    
	var arrayDC1=new Array(); arrayDC1=[6,3,7,9,10,5,8,4];
	var arrayDC2=new Array(); arrayDC2=[6,3,7,9,10,5,8,4,2,1];
	var sAux=""; 
	var count1=0; 
	var count2=0; 
	var result=0; 
	var rest=0; 
	var dc=""; 
	sAux= ""+bco+""+suc;
	for(count1=(sAux.length-1); count1>=0; count1--) {
		result=result+eval((sAux.charAt(count1))*(arrayDC1[count2]));
		count2++;
	}
	rest=11-(result%11);
	if (rest==11) {
		dc="0";
	} else {
		if (rest==10) {
			dc="1";
		} else {
			dc=""+rest;
		}
	}
	sAux= cta; 
	count2=0; 
	result=0;
	for (count1=(sAux.length-1); count1>=0; count1--) {
		result=result+eval((sAux.charAt(count1))*(arrayDC2[count2]));
		count2++;
	}
	rest= 11-(result%11);
	if (rest==11) {
		dc=dc+"0";
	} else {
		if (rest==10) {
			dc=dc+"1";
		} else {
			dc+=rest;
		}
	}
	if(dc1==dc){
		return true;
	} else {
		return false;
	}
	return false;
}, jQuery.validator.messages.url);