//CSTelefax.js
//Clase Telefax.

//Konstanteak.
var CSTELEFAX_MSG_OBLIGATORY = map["MSG_OBLIGATORY"];
var CSTELEFAX_MSG_SPACES = map["MSG_SPACES"];
var CSTELEFAX_MSG_INCORRECT = map["MSG_INCORRECT"];
var CSTELEFAX_MSG_CSTELEFAX_SAMPLE = map["MSG_CSTELEFAX_SAMPLE"];

function CSTelefax(campo,etiqueta,obligatorio) {
	this.campo = campo;
	this.etiqueta = etiqueta;
	this.obligatorio = obligatorio;
	this.error = "";
	
	this.validar = CSTelefax_validar;
	this.msg_error = CSTelefax_msg_error;
	
}

//Devuelve true o false si el campo es correcto o incorrecto.
function CSTelefax_validar() {
   var re,espacios;
   var telefax;
   
     telefax=this.campo;
     if (this.obligatorio){
		if (telefax == "") {
           this.error = CSTELEFAX_MSG_OBLIGATORY;
		   this.error = this.error.replace('XXXXXX',this.etiqueta);
		   return false;
        }
	 } else {
		if (telefax == "") {
		   return true;
        }
	 }

     re = /^\s+$/;
     espacios = re.test(telefax);
     if (espacios) {
         this.error = CSTELEFAX_MSG_SPACES;
         this.error = this.error.replace('XXXXXX',this.etiqueta);			  
		 return false;
	 } else {
         re = /^\+\d{1,4}\s\(\d{1,6}\)\s\d{1,10}$/;
         if (re.test(telefax)) {
            return true;
         } else {
            this.error = CSTELEFAX_MSG_INCORRECT;
            this.error = this.error.replace('XXXXXX',this.etiqueta) + ' ' + CSTELEFAX_MSG_CSTELEFAX_SAMPLE;
            return false;
		 }
    }
}

//Devuelve el mensaje de error o cadena vacia
function CSTelefax_msg_error() {
	
   return this.error;
	
}

