function comprovaLogin(login) {
	var filter=/^[A-Za-z0-9]*$/;
	if (login.length==0) return false;
	if (filter.test(login))	return true;
	else return false;
}
function comprovaNom(nom) {
	var filter=/^[A-Za-zçÇñÑáàéèíìïóòúùü ]*$/;
	if (nom.length==0) return false;
	if (filter.test(nom))	return true;
	else return false;
}

function comprovaMinimCaracters(text, minim) {
	if (text.length<minim) return false;
	else return true;
}

function comprovaMaximCaracters(text, maxim) {
	if (text.length>maxim) return false;
	else return true;		
}

function comprovaMaxMinCaracters(text, maxim, minim) {
	if (text.length>maxim || text.length<minim) return false;
	else return true;
}

function comprovaInt(int) {
	var filter=/^[0-9]*$/;
	if(int.length==0) return false;
	else if(filter.test(int)) return true;
	else return false;
}

function comprovaEmail(email) {
	var filter=/^[A-Za-z0-9][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	if (email.length==0) return false;
	if (filter.test(email))	return true;
	else return false;
}

function comprovaCodiPostal(cp) {
	var filter=/^[0-9][0-9][0-9][0-9][0-9]$/;
	if(cp.length==0) return false;
	else if(filter.test(cp)) return true;
	else return false;
}
//Només funciona amb (dd/mm/aaaa)
//El "caracter" pot ser qualsevol separador. Ex.: "/", "-"
function comprovaDate(data, caracter) {
	var date = new Date();
	var dia;
	var mes;
	var any;
	var j;
	var tamany_data = data.length;
	for(i=0;i<tamany_data;i++) {
		if(data.charAt(i)==caracter) {
			if(dia==null) {dia = data.substring(0,i);j=i;}
			else if(mes==null) {mes = data.substring(j+1,i);j=i;break;}
		}
	}
	any = data.substring(j+1,tamany_data);
	date.setFullYear(any, mes-1, dia);
	if(date.getDate() != dia || date.getMonth() != mes-1) return false;
	else {
            if(comprovaMinimCaracters(any, 4)) return true;
            else return false;
        }
}

function comprovaDni(dni) {
	var filter=/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Za-z]$/;
	if(dni.length==0) return false;
	else if(filter.test(dni)) {
		num = dni.substr(0,dni.length-1);
		lletra = dni.substr(dni.length-1,1);
		lletra = lletra.toUpperCase();
		num = num % 23;
		lletres='TRWAGMYFPDXBNJZSQVHLCKET';
		lletres=lletres.substring(num,num+1);
		if (lletres!=lletra) return false;
		else return true;
	}
	else return false;
}

function comprovaCif(cif) {
	var i = temp = 0;
	var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
	cif = cif.toUpperCase();
	if (!/^[A-Za-z0-9]{9}$/.test(cif)) return false;
	else if (!/^[ABCDEFGHKLMNPQS]/.test(cif)) return false;
	else {
		for(i=2; i<=6; i+=2) {
			temp += v1[parseInt(cif.substr(i-1, 1))];
			temp += parseInt(cif.substr(i, 1));
		}
		temp = temp + v1[parseInt(cif.substr(7,1))];
		temp = (10 - ( temp % 10));
		if(temp == 10 && (cif.charAt(cif.length-1) == 'J' || cif.charAt(cif.length-1) == 0)) return true;
		else if (cif.charAt(cif.length-1) == temp || cif.charAt(cif.length-1) == String.fromCharCode(64 + temp)) return true;
		else return false;
	}
}

function comprovaNie(nie) {
	var filter=/^[XxYyZz][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Za-z]$/;
	if(nie.length==0) return false;
	else if(filter.test(nie)) {
		num = nie.substr(1,nie.length-2);
		lletra = nie.substr(nie.length-1,1);
		lletra = lletra.toUpperCase();
		var ini = nie.substr(0,1);
		if(ini=='Y' || ini=='y') num=1+num;
		if(ini=='Z' || ini=='z') num=2+num;
		num = num % 23;
		lletres='TRWAGMYFPDXBNJZSQVHLCKE';
		lletres=lletres.substring(num,num+1);
		if (lletres!=lletra) return false;
		else return true;
	}
	else return false;
}

function comprovaCifNif(text) {
	var error = comprovaDni(text);
	if(!error) error = comprovaCif(text);
	if(!error) return comprovaNie(text);
	return error;
}
function compararIguals(cadena1, cadena2) {
	if(cadena1==cadena2) return true;
	else return false;
}
function compararDiferents(cadena1, cadena2) {
	if(cadena1!=cadena2) return true;
	else return false;
}
//Només funciona amb separador del tipus "-". Ex.: 0000-0000-00-00000000000
function comprovaComptesBancaries(compte) {
	var filter=/^[0-9][0-9][0-9][0-9][-][0-9][0-9][0-9][0-9][-][0-9][0-9][-][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/;
	if (filter.test(compte)) return true;
	else return false;
}
