var band =0

/*funcion inteligente que le calcula el siglo en el que esta colocando la fecha*/

function calculate_year(year_check){

var year;/* variable que recibe la fecha que fué colocada en el formulario*/
var year2;/* year2 se utiliza para obtener los dos últimos dígitos de la fecha actual */
var year3;/* variable a ser utilizada para calcular un siglo adelante*/

year=year_check;

	if (year.length != 4){

		today = new Date(); /*today objeto tipo fecha*/
		today = today.getYear();
		year2 = today.toString();
		year2 = year2.substr(2,2);

			if (year >="0" && year <= "50" && year2 >="0" && year2 <= "50" ) {
				year="20" + year;
				return year;
			}
	
			if (year >="51" && year <= "99" && year2 >="0" && year2 <= "50" ) {
				year="19" + year;
				
				return year;
			}
	
			if (year >="0" && year <= "50" && year2 >="51" && year2 <= "99" ) {
	
				year3 = today.toString();
				year3 = year3.substr(0,2);
				year3 = parseInt(year3)+1;
				year3 = year3.toString();
				year =  year3+ year;
				
				return year;
			}
	
			if (year >="51" && year <= "99" && year2 >="51" && year2 <= "99" ) {
				year="20" + year;
			}

	}/*if (year.length != 4)*/
return year;

}/*function*/


/*_____________________________________________________________________________________________________*/

/* funcion que se encarga de armar la fecha en el formato dd/mm/web_cepa utlizando el "/" como separador */

function check_date(field){

 var checkstr = "0123456789";
 var DateField = field;
 var Datevalue = "";
 var DateTemp = "";
 var seperator = "/";
 var day;
 var month;
 var year;
 var leap = 0;
 var err = 0;
 var err2 = 0;
 var i;

	if(DateField.readOnly==false && DateField.value!=""){
		
						 err = 0;
						 DateValue = DateField.value;
					/*a contiuacion se verificaran los diferentes formatos de introducion de fechas y se convertira la 
					fecha al formato dd/mm/web_cepa */
					
						if (((DateValue.substr(1,1)==".") || (DateValue.substr(1,1)=="/") || (DateValue.substr(1,1)=="-")) 
						&& ((DateValue.substr(3,1)==".") || (DateValue.substr(3,1)=="/") || (DateValue.substr(3,1)=="-"))){
								
							day="0" + DateValue.substr(0,1);	
							month="0" + DateValue.substr(2,1);
							year=DateValue.substr(4,4);
					
								if (year.length <= 1){
									year="0" + year.substr(0,1);
									year=calculate_year(year);
								}else{
									year=calculate_year(year);
								}
									
							DateValue=day+ seperator +month+ seperator +year;
							
						}/*if*/
						
						if (((DateValue.substr(1,1)==".") || (DateValue.substr(1,1)=="/") || (DateValue.substr(1,1)=="-")) 
						&& ((DateValue.substr(4,1)==".") || (DateValue.substr(4,1)=="/") || (DateValue.substr(4,1)=="-"))){
								
							day="0" + DateValue.substr(0,1);
							month=DateValue.substr(2,2);
								
								if (month.substr(0,1) == "/") {
									err=15;
								}
							year=DateValue.substr(5,4);
									
								if (year.length <= 1){
									year="0" + year.substr(0,1);
									year=calculate_year(year);
								}else{
									year=calculate_year(year);
								}
							DateValue=day+ seperator +month+ seperator +year;
							
						}/*if*/
						
						if (((DateValue.substr(2,1)==".") || (DateValue.substr(2,1)=="/") || (DateValue.substr(2,1)=="-")) 
						&& ((DateValue.substr(4,1)==".") || (DateValue.substr(4,1)=="/") || (DateValue.substr(4,1)=="-"))){
									
							day=DateValue.substr(0,2);
							month="0" + DateValue.substr(3,1);
							year=DateValue.substr(5,4);
							
								if (year.length <= 1){
									year="0" + year.substr(0,1);
									year=calculate_year(year);
								}else{
									year=calculate_year(year);
								}
							DateValue=day+ seperator +month+ seperator +year;
								
						}/*if*/
					
						if (((DateValue.substr(2,1)==".") || (DateValue.substr(2,1)=="/") || (DateValue.substr(2,1)=="-")) 
						&& ((DateValue.substr(5,1)==".") || (DateValue.substr(5,1)=="/") || (DateValue.substr(5,1)=="-"))){
									
							day=DateValue.substr(0,2);
					
								if (day.substr(1,1) == "/") {
										err=16;
								}
							month=DateValue.substr(3,2);
								
								if (month.substr(0,1) == "/") {
									err=17;
								}
							year=DateValue.substr(6,4);
							
								if (year.length <= 1){
									year="0" + year.substr(0,1);
									year=calculate_year(year);
								}else{
									year=calculate_year(year);
								}
					
							DateValue=day+ seperator +month+ seperator +year;
								
						}/*if*/
					/* Verificacion de que los meses y los dias de cada mes sean los correctos , ademas se verifica si el año
					es bisiesto */
						 if (DateValue.length != 10) {
								err = 19;
							}
						 /* El año esta mal si es 0000*/
						 year = DateValue.substr(6,4);
						 if (year == 0) {
								err = 20;
						 }
						 /* Validación del mes*/
						 month = DateValue.substr(3,2);
					 
						 if ((month < 1) || (month > 12)) {
								err = 21;  
						 }
						 
						 /* Validación del día*/
						 day = DateValue.substr(0,2);
						 if (day < 1) {
							 err = 22; 
						 }
						 /* Validación año bisiesto*/
						 if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
								leap = 1;
						 }
						 if ((month == 2) && (leap == 1) && (day > 29)) {
								err = 23; 
						 }
						 if ((month == 2) && (leap != 1) && (day > 28)) {
								err = 24;
						 }
						 /* Validación de los otros meses */
						 if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
								err = 25;
						 }
						 if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
								err = 26;
						 }
						 /* Si es introducido 00 no hay error solo se borra la entrada */
						 if ((day == 0) && (month == 0) && (year == 00)) {
								err = 0; day = ""; month = ""; year = ""; seperator = ""; err2=1;
						 }
						 /* Si no hay error se escribe toda la fecha*/
					
						 if (err == 0 && err2 == 0) {
								DateField.value = day + seperator + month + seperator + year;
							band=1;
						 }
						 /* Error-message if err != 0 */
						 else {
							 alert("Por favor introducir una fecha válida y en el formato adecuado...gracias");
							 DateField.select();
						 DateField.focus();
						 band=0;
						 
						
						 }
 }//if readOnly
}

/*_____________________________________________________________________________________________________*/

/*Funcion que valida que la fecha inicial sea menor que la fecha final*/

function valFecIniFin(fecIni,fecFin){
	var date;
	var date1;
	var day;
	var month;
	var year;
	var day1;
	var month1;
	var year1;
	 
		date=fecIni.value;
		date1=fecFin.value;
		
		day=parseFloat(date.substr(0,2));
		month=parseFloat(date.substr(3,2));
		year=parseFloat(date.substr(6,4));
		day1=parseFloat(date1.substr(0,2));
		month1=parseFloat(date1.substr(3,2));
		year1=parseFloat(date1.substr(6,4));
	
		if (year > year1){
			alert("La fecha de fin no puede ser menor que la fecha de Inicio");
			fecFin.focus();
			return false;
		}//if (year > year1) 
		
		if(year == year1){
			if(month > month1){
				alert("La fecha de fin no puede ser menor que la fecha de Inicio");
				fecFin.focus();
				return false;
			}//(month > month1)
	
			if(month == month1){					
				if(day > day1){
					alert("La fecha de fin no puede ser menor que la fecha de Inicio");
					fecFin.focus();
					return false;
				}//(day > day1)
			}//if(month == month1){
		}//(year == year1)	
  	return true; 
   }

/*_____________________________________________________________________________________________________*/

/*Funcion que inicia el proceso de validacion*/

function validarFecha(fecIni,fecFin){	
		if(!fecIni.value == ""){
			check_date(fecIni);
				if (band == 0){ 
				return false;
				fecIni.focus();
				}
		}//else check_date
		
		if(!fecFin.value == ""){
			check_date(fecFin);
				if (band == 0){ 
				return false;
				fecFin.focus();
				}
		}//else check_date
		return valFecIniFin(fecIni,fecFin);
	}
	