//fpv=2
function fp_fecha_val_input(iddia,idmes,idanho,idval,idformato,mktime,idhora,idminutos,idsegundos) {
	var dia=fp_get_valor_input(iddia);
	
	var mes=fp_get_valor_input(idmes);
	var anho=fp_get_valor_input(idanho);
	var url='format_fecha.php?dia='+dia+'&mes='+mes+'&anho='+anho;
	if (idhora){
		var hora=fp_get_valor_input(idhora);
		url=url + '&hora='+hora;
	}
	if (idminutos){
		var minutos=fp_get_valor_input(idminutos);
		url=url + '&minutos='+minutos;
	}
	if (idsegundos){
		var segundos=fp_get_valor_input(idsegundos);
		url=url + '&segundos='+segundos;
	}
	if (mktime){
		url=url + '&mktime=true';
	}

	var r=fp_fecha_val_input_clientside(iddia,idmes,idanho,idval,idhora,idminutos,idsegundos,false,true);
	fp_get_output(url,idval,'valor')
	fp_get_output(url+'&formato=fechalarga',idformato,'cont')
	return r;
	//fp_setvalue(idval,(dia+mes+anho));
}
function fp_fecha_val_input_clientside(iddia,idmes,idanho,idval,idhora,idminutos,idsegundos,idchkbox,noauto) {
	var dia=fp_get_valor_input(iddia);
	var mes=fp_get_valor_input(idmes);
	var anho=fp_get_valor_input(idanho);
	var retorno=new Object;
	retorno.someinputsfilled=false;
	
	var date= new Date();
	fechaok=true;
	dia=fp_converttoint(dia);
	mes=fp_converttoint(mes);
	anho=fp_converttoint(anho);
	var curr_date = date.getDate();
	if (dia){
		retorno.someinputsfilled=true;
		
		if (!anho){
			if(!noauto){
				anho = date.getFullYear();
				fp_setvalue(idanho,anho);
			}else{
				fechaok=false;
			}
		}
		if (!mes){
			if(!noauto){
				mes = date.getMonth()+1;
				fp_setvalue(idmes,mes);
			}else{
				fechaok=false;
			}
		}
		
	}else{
		fp_setvalue(idval,"");	
		fechaok=false;
	}
	if (anho){
		retorno.someinputsfilled=true;
	}
	if (mes){
		retorno.someinputsfilled=true;
	}
	
	valfechatxt="";
	if (idhora){
		var hora=fp_get_valor_input(idhora);
		if(hora!=""){
			retorno.someinputsfilled=true;	
		}
	}
	if (idminutos){
		var minutos=fp_get_valor_input(idminutos);
		if(minutos!=""){
			retorno.someinputsfilled=true;	
		}
	}
	if (idsegundos){
		var segundos=fp_get_valor_input(idsegundos);
		if(segundos!=""){
			retorno.someinputsfilled=true;	
		}
	}
	if (fechaok){
		fechaok=false;
		if (fp_fecha_checkdate(dia,mes,anho)){
			valfechatxt=anho+"-"+mes+"-"+dia;
			fechaok=true;
			if (idhora){
				hora=parseInt(hora);
				if (idminutos){
					minutos=parseInt(minutos);
				}
				if (idsegundos){
					segundos=parseInt(segundos);
				}
				if ((hora>=0)&&(hora<24)){
					if (idminutos){
						if ((minutos>=0)&&(minutos<60)){
							valfechatxt+=" "+hora+":"+minutos;
							if (idsegundos){
								if ((segundos>=0)&&(segundos<60)){
									valfechatxt+=":"+segundos;
								}else{
									fechaok=false;	
								}
							}
						}else{
							fechaok=false;	
						}
					}
					
				}else{
					fechaok=false;	
				}
					
			}
		}
	}
	fp_setvalue(idval,valfechatxt);
	if (idchkbox){
		if (objckbox=fp_get_element_by_id_siexiste(idchkbox)){
			if (fechaok){
				objckbox.checked=true;
			}else{
				objckbox.checked=false;	
			}
		}
	}
	retorno.inputsok=fechaok;
	return retorno;
}
function fp_converttoint(val){
	r=parseInt(val);
	if (r=='NaN'){
		r=0; 	
	}
	return r;
}
function fp_fecha_checkdate(dia,mes,anho){
	mesint=parseInt(mes);
	diamax=false;	
	if ((mesint==1)||(mesint==3)||(mesint==5)||(mesint==7)||(mesint==8)||(mesint==10)||(mesint==12)){
		diamax=31;	
	}else if((mesint==4)||(mesint==6)||(mesint==9)||(mesint==11)){
		diamax=30;	
	}else if(mes==2){
		if (fp_fecha_anhobisiesto(parseInt(anho))){
			diamax=29;	
		}else{
			diamax=28;		
		}
	}
	if (!diamax){
		return false;	
	}
	diaint=parseInt(dia);
	if ((dia<1)||(dia>diamax)){
		return false;	
	}
	return true;
	
}

function fp_fecha_anhobisiesto(anho) { 
   return (anho % 4 == 0 && (anho % 100 != 0 || anho % 400 == 0)); 
}

