Validation.add('validate-password-confirm', '', function(v, elm) {
    return  ((v != '') && ($(elm.name + '_confirm').value == v));
});

Validation.add('validate-fitxerSel', '', function(v) {
    return  ((v != '') && (v != 0));
});

Validation.add('requiredFile', '', function(v, elm) {
    return  ((v != '') || ($(elm.name + '_antf').value != ''));
});

Validation.add('required-one-checked', '', function(v, elm){
    var clase = elm.className;
    clase = clase.sub('required-one-checked', '');
    clase = clase.sub('validation-failed', '');
    clase = clase.sub('validation-passed', '');
    clase = clase.strip();
    elem = $$('input.'+clase);
    alguno = false;
    for(cont = 0; cont < elem.length; cont++){
        alguno = alguno || elem[cont].checked;
    }
    return alguno;
});

Validation.add('validate-complete', '', function(value, element) {
	if(value != ''){
		return (value.length == element.getAttribute('maxlength'));
	}
	return true;
});

Validation.add('validate-dni', '', function(value, element){
	var regExpDni = /^[0-9]{8}[a-zA-Z]{1}$/;
	var regExpNIE = /^[a-zA-Z]{1}[0-9]{7}[a-zA-Z]{1}$/;
	return regExpDni.test(value) || regExpNIE.test(value);
});

Validation.add('validate-hour', '', function(value, element){
	var regExp = /^(\d|([0-2]\d)):[0-5]\d$/;
	return regExp.test(value);
});

Validation.add('validate-cif', '', function(v, elm){
	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;

	v = v.toUpperCase();

	var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);
	if (!regular.exec(v)) return false;

    ultima = v.substr(8,1);

    for (var cont = 1 ; cont < 7 ; cont ++){
		xxx = (2 * parseInt(v.substr(cont++,1))).toString() + "0";
        impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
        pares += parseInt(v.substr(cont,1));
    }
    xxx = (2 * parseInt(v.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;

    return ((ultima == unumero) || (ultima == uletra[unumero]))
});

Validation.add('validate-letters', '', function (v, elm) {
	return Validation.get('IsEmpty').test(v) ||  /^[a-zA-ZñÑçÇáéíóúàèìòùäëïöüÁÉÍÓÚÀÈÌÒÙÄËÏÖÜ]+$/.test(v)
});
