function checkFolio(form){
	var dependencia = getValueField(form['dependencia'])
	var sizeDependencia = dependencia.length;
	for (var i=5; i > sizeDependencia; i--){
		dependencia = "0"+dependencia;
	}
	var folio = trim(getValueField(form['folio']));
	if (trim(getValueField(form['folio'])).length > 0 ){
		var depFolio = folio.substring(0,5);
		var validaFolio = new Number(folio);
		if ( (depFolio == dependencia) && (validaFolio.number) && (folio.length == 13) ){
			if ( !validateDateSPF(form) ){
				return false;
			}
			return true;
		}else{
			alert('Verifique su folio, es incorrecto');
			form['folio'].focus();
			return false;
		}
	}else{
		return true;
	}
}

function validateDateSPF(form){
	var initialDate = new ChDate('13','06','2003');
	var solicitudDay = trim(getValueField(form['fechaPresentacion.day']));
	var solicitudMonth = trim(getValueField(form['fechaPresentacion.month']));
	var solicitudYear = trim(getValueField(form['fechaPresentacion.year']));
	var solicitudDate = new ChDate(solicitudDay,solicitudMonth,solicitudYear);
	var dateBase = new Date();
	var longDate = dateBase.getTime() - (60 * 60 * 24 * 28 * 1000);
	var lastMonth  = new Date(longDate);// Fecha minima en que se tuvo que haber presentado la solicitud
	var diasNoLaborables = getDiasNoLaborables(lastMonth, dateBase);
	longDate = longDate - eval(60 * 60 * 24 * diasNoLaborables * 1000);
	lastMonth  = new Date(longDate);// Se recalcula la fecha minima, en base a los dias no laborables, en que se tuvo que haber presentado la solicitud
	if ( !compDate(initialDate.valDate,solicitudDate.valDate) ){
		alert('La Fecha de presentación de solicitud proporcionada es incorrecta, favor de verificarla');
		return false;
	} else if( !compDate(solicitudDate.valDate, lastMonth) ){
		alert('Este sistema acepta solamente solicitudes de verificación de falta de respuesta a una solicitud de acceso a la información, presentada o no mediante el SISI, con el folio respectivo y de conformidad con el plazo previsto en los artículos 44 y 53 de la Ley Federal de Transparencia y Acceso a la Información Pública Gubernamental.');	 
		return false;
	}
	return true;
}

function getDiasNoLaborables(lastMonth, dateBase){
	var  diasNoLaborables = 0;
	for (i=0;i < arregloPeriodos.length; i++){
		noLaboral = arregloPeriodos[i];
		noLaboral.setFullYear(dateBase.getFullYear());
		if( (noLaboral >= lastMonth)	&& (noLaboral <= dateBase) ){
			eval(diasNoLaborables += 1);
		}
	}
	return diasNoLaborables;
}

function validateFormPK(form){
	if (validateFormSpfPK(form)){
		return checkFolio(form);
	}else{
		return false;
	}
}

function validateFormPKCF(form){
	if (validateFormSpfPKCF(form)){
		return checkFolio(form);
	}else{
		return false;
	}
}

function disableSolicitante(){
	var array;
	enable();
	if (this.document.forms[0].tipoSolicitante[0].checked == true){
		array = new Array(5);
		array[0] = 'tipoSolicitante';
		array[1] = 'nombre';
		array[2] = 'apellidoP';
		array[3] = 'apellidoM';
		array[4] = 'solicitanteRepresentante';		
		disableParcial(array);
	}else if (this.document.forms[0].tipoSolicitante[1].checked == true){
		array = new Array(6);
		array[0] = 'tipoSolicitante';
		array[1] = 'nombre';
		array[2] = 'apellidoP';
		array[3] = 'apellidoM';
		array[4] = 'razonSocial';
		array[5] = 'solicitanteRepresentante';				
		this.document.forms[0].solicitanteRepresentante[1].checked = true;
		disableParcial(array);
	}
}

function validateFormGenerales(form){
	if (validateFormSpfGenerales(form)){
		disableSolicitante();
	}else{
		return false;
	}
}

function disableRecepcion(){
	var array;
	enable();
	if ( (this.document.forms[0].tipoRecepcion[0].checked == true) 
		|| (this.document.forms[0].tipoRecepcion[3].checked == true) ){
		array = new Array(1);
		array[0] = 'tipoRecepcion';
		array[1] = 'voSpfSolicitante.correoElectronico';
		disableParcial(array);
	}else{
		enable();		
	}
}

function validateFormRecepcion(form){
	if (validateFormSpfRecepcion(form)){
		disableRecepcion();
	}else{
		return false;
	}
}

function disableOpcionales(){
	var array;
	var form = this.document.forms[0]; 
	enable();
	if (form.medioDifusion[5].checked == false ){
		form['otroMedio'].value='';
		disableControl(form['otroMedio']);
	}else {
		enable();
	}
}

function enableRadio(){
	var form = this.document.forms[0];
	var field = form['otroMedio'];
	if (trim(getValueField(field)).length == 0 ){
		form.medioDifusion[5].checked = true;
	}
}

function validateFormOpcionales(form){
	if (validateFormSpfOpcionales(form)){
		disableOpcionales();
	}else{
		return false;
	}
}

function redirect(peticion){
	eval('this.document.location="./'+peticion+'.do"');
}