//CSCP.js
//Clase CP.

//Konstanteak.
var CSCP_MSG_OBLIGATORY = map["MSG_OBLIGATORY"];
var CSCP_MSG_SPACES = map["MSG_SPACES"];
var CSCP_MSG_INCORRECT = map["MSG_INCORRECT"];
var CSCP_MSG_CSCP_SAMPLE = map["MSG_CSCP_SAMPLE"];

function CSCP(campo,etiqueta,obligatorio) {
	this.campo = campo;
	this.etiqueta = etiqueta;
	this.obligatorio = obligatorio;
	this.error = "";
	
	this.validar = CSCP_validar;
	this.msg_error = CSCP_msg_error;
	
}

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

     re = /^\s+$/;
     espacios = re.test(cp);
     if (espacios) {
         this.error = CSCP_MSG_SPACES;
         this.error = this.error.replace('XXXXXX',this.etiqueta);			  
		 return false;
	 } else {
         re = /^\d{1,10}(-\d{1,10})?$/;
         if (re.test(cp)) {
            return true;
         } else {
            this.error = CSCP_MSG_INCORRECT;
            this.error = this.error.replace('XXXXXX',this.etiqueta) + ' ' + CSCP_MSG_CSCP_SAMPLE;
            return false;
		 }
    }
}

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

