
// Localization for FormAssembly.com
// Español (de América) - February 20, 2012, 3:02 pm
if(typeof wFORMS.behaviors.validation.messages === 'undefined'){
    wFORMS.behaviors.validation.messages = {};
}

(function(){
    var key, tmp;
    for(key in (tmp = {
        oneRequired 	: "Esta sección es obligatoria",
        isRequired 		: "Este campo es requerido.",
        isAlpha 		: "Sólo se permiten letras (a-z, A-Z). Los números no están permitidos.",
        isEmail 		: "Aparentemente no es una dirección de correo electrónico válida.",
        isInteger 		: "Por favor, registre un número (sin decimales).",
        isFloat 		: "Por favor, registre un número (por ejemplo 1.9).\n\n\n\n\n",
        isAlphanum 		: "Por favor, use caracteres alfanuméricos (a-z, 0-9) únicamente",
        isDate 			: "La fecha no es válida.",
        isDateTime		: "No es un formato valido de fecha",
        isTime	    	: "No es un formato válido de hora",
        isPhone			: "Por favor registre un número de telefónico correcto.",
        isCustom		: "Por favor registre un valor válido.",
        notification_0	: "El formulario no se completó correctamente. Hay un %% de problema con su entrega.",
        notification	: "El formulario no se completó correctamente y no se ha enviado.  Hay %% de problemas con su entrega.",
        isPasswordStrong: "Please choose a more secure password. Passwords must contain 8 or more characters, with at least 1 letter (a to z), 1 number (0 to 9), and 1 symbol (like \'%\', \'$\' or \'!\').",
        isPasswordMedium: "Por favor elija una contraseña más segura. Las contraseñas deben contener 4 o más carácteres con por lo menos una letra (desde la a hasta la z)  y un número (de 0 a 9).",
        isPasswordWeak  : "Su contraseña no puede estar en blanco.",
        isPasswordConfirmed : "Su contraseña y la comprobación no concuerdan.",
        rangeNumber    : {
            max: "El valor debe ser menor al limite superior",
            min: "El valor debe ser mayor que el limite inferior"
        }
    })){
        wFORMS.behaviors.validation.messages[key] = tmp[key];
    }
})();

wFORMS.behaviors.repeat.MESSAGES = {
	ADD_CAPTION 	: "Adjuntar otra respuesta",
	ADD_TITLE 		: "Se duplicará esta pregunta o sección.",
	REMOVE_CAPTION 	: "Eliminar",
	REMOVE_TITLE 	: "Eliminar esta pregunta o sección"
}

wFORMS.behaviors.paging.MESSAGES = {
	CAPTION_NEXT 	 : 'Página siguiente',
	CAPTION_PREVIOUS : 'Página Anterior',
	CAPTION_UNLOAD	 : 'Todos los datos introducidos en CUALQUIER PÁGINA de este formulario se PERDERÁ'
}


// Alpha Input Validation:
wFORMS.behaviors.validation.instance.prototype.validateAlpha = function(element, value) {
	var reg =  /^[a-zA-Z\s\u00C0-\u00FF]+$/;
	return this.isEmpty(value) || reg.test(value);
}
// Alphanumeric Input Validation:
wFORMS.behaviors.validation.instance.prototype.validateAlphanum = function(element, value) {
	var reg =  /^[\u0030-\u0039a-zA-Z\s\u00C0-\u00FF]+$/;
	return this.isEmpty(value) || reg.test(value);
}

// Calendar
if(!wFORMS.helpers.calendar) {
	wFORMS.helpers.calendar = {};
}
if(!wFORMS.helpers.calendar.locale) {
	wFORMS.helpers.calendar.locale = {};
}
var cfg = wFORMS.helpers.calendar.locale;

cfg.TITLE 				= 'Seleccione una fecha';
cfg.START_WEEKDAY 		= 1;
cfg.MONTHS_LONG			= [	'Enero',
							'Febrero',
							'Marzo',
							'Abril',
							'Mayo',
							'Junio',
							'Julio',
							'Agosto',
							'Septiembre',
							'Octubre',
							'Noviembre',
							'Diciembre'
							];
cfg.WEEKDAYS_SHORT		= [ 'Do',
							'Lu',
							'Ma',
							'Mi',
							'Ju',
							'Vi',
							'Sa'
							];
cfg.MDY_DAY_POSITION 		= 1;
cfg.MDY_MONTH_POSITION 		= 2;
cfg.MDY_YEAR_POSITION		= 3;
cfg.DATE_FIELD_DELIMITER	= '/';


wFORMS.behaviors.validation.instance.prototype.validateDate = function(element, value) {
   if(this.isEmpty(value)){
       return true;
   }
 
   var cfg = wFORMS.helpers.calendar.locale;
   
   var re = /^(\d{1,2})[\/\.\-](\d{1,2})[\/\.\-](\d{2,4})$/
   if (re.test(value)) {
      var dArr = value.split(/[\/\.\-]/);
      
      var yr = dArr[cfg.MDY_YEAR_POSITION-1]; 
      if(yr.length==2) yr = (yr>50) ? '19'+yr : '20'+yr;
      var mo = parseInt(dArr[cfg.MDY_MONTH_POSITION-1],10); 
      var dy = parseInt(dArr[cfg.MDY_DAY_POSITION-1],10);
      var d = new Date(yr,mo-1,dy);
      return (d.getMonth() + 1 == mo && 
    		  d.getDate() == dy && 
    		  d.getFullYear() == yr);
   }
   else {
	  return false;
   }
}

