
var RE_NUM = /^\-?\d+$/;

var re_url = new RegExp('datetime=(\\-?\\d+)');

function cal_prs_date1 (str_date) {

	str_date = str_date.replace('/','-');
	str_date = str_date.replace('/','-');
	var arr_date = str_date.split('-');

	if (arr_date.length != 3) return cal_error ("Formato de fecha no válido: '" + str_date + "'.\nEl formato aceptado es dd-mm-yyyy.");
	if (!arr_date[0]) return cal_error ("Formato de fecha no válido: '" + str_date + "'.\nNo se especificó un día.");
	if (!RE_NUM.exec(arr_date[0])) return cal_error ("Día de mes inválido: '" + arr_date[0] + "'.\nSolo se permiten enteros.");
	if (!arr_date[1]) return cal_error ("Formato de fecha no válido: '" + str_date + "'.\nNo se especificó un mes.");
	if (!RE_NUM.exec(arr_date[1])) return cal_error ("Mes inválido: '" + arr_date[1] + "'.\nSolo se permiten enteros.");
	if (!arr_date[2]) return cal_error ("Formato de fecha no válido: '" + str_date + "'.\nNo se especificó un año.");
	if (!RE_NUM.exec(arr_date[2])) return cal_error ("Año inválido: '" + arr_date[2] + "'.\nSolo se permiten enteros.");

	var dt_date = new Date();
	dt_date.setDate(1);

	if (arr_date[1] < 1 || arr_date[1] > 12) return cal_error ("Mes inválido: '" + arr_date[1] + "'.\nLos valores permitidos son 01-12.");
	dt_date.setMonth(arr_date[1]-1);
	 
	if (arr_date[2] < 100) arr_date[2] = Number(arr_date[2]) + (arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);
	dt_date.setFullYear(arr_date[2]);

	var dt_numdays = new Date(arr_date[2], arr_date[1], 0);
	dt_date.setDate(arr_date[0]);
	if (dt_date.getMonth() != (arr_date[1]-1)) return cal_error ("Día de mes inválido: '" + arr_date[0] + "'.\nLos valores permitidos son 01-"+dt_numdays.getDate()+".");

	return (dt_date)
}	
