//FUNCIONES GENERALES

//------------------------------------------------------------------------------
// Esta funcion calcula el numero de dias entre dos fechas
//------------------------------------------------------------------------------
function calcula_dias (fechasal,fechareg) {
	var fecha1s  = fechasal.value
	var fecha1sp = fecha1s.split('/',3)
	var fecha2s  = fechareg.value
	var fecha2sp = fecha2s.split('/',3)
	
	sale = new Date( Number(fecha1sp[2]), (Number(fecha1sp[1])-1), Number(fecha1sp[0]) )
	entra = new Date( Number(fecha2sp[2]), (Number(fecha2sp[1])-1), Number(fecha2sp[0]) )

	sale.setHours(0);
	sale.setMinutes(0);
	entra.setHours(0);
	entra.setMinutes(0);
	

	return Math.floor(Number((entra-sale)/86400000));
}

//------------------------------------------------------------------------------
//Esta funcion comprueba que la fecha es correcta siguiendo el formato dd/mm/aaaa
//------------------------------------------------------------------------------
function comprobar_fecha (mi_item) {
    if (mi_item.length < 10) {                              
    	return false;
    }	
    var  mifecha = new String(mi_item.value);
    var  mifechasplited = mifecha.split("/",3);
    //var  mimsg = msg+" (Utilice formato dd/mm/aaaa)";
     i=0;
     while(i<3) {
        if (isNaN(Number(mifechasplited[i]))){
            mi_item.focus();
            //alert(mimsg);
            return false;
         }
         i++;
      } 
      //Inicializa la fecha de salida
      dia_salida = Number(mifechasplited[0]);
      mes_salida = Number(mifechasplited[1]);
      anyo_salida = Number(mifechasplited[2]);

      any = Number(mifechasplited[2]);

      fechasal = new  Date(any,(Number(mifechasplited[1])-1),Number(mifechasplited[0]));
        
      if (any<2000) {
      	any = any - 1900;
       //Formatea el anyo de salida a "aaaa"
      	anyo_salida = "19" + any;
      }
      fechabug =  new Date(2000,1,1);
      if ((fechabug.getYear() == 100) && (any >1999)) {
          any = any - 1900;
      }

      if ((Number(mifechasplited[0]) != fechasal.getDate()) || ((Number(mifechasplited[1])-1) != fechasal.getMonth()) || (any != fechasal.getYear()) ) {                              
          mi_item.focus();
          //alert(mimsg);
          return false;
       }
       //Formatea el dia y el mes de salida a "dd" y "mm"
       if (dia_salida<10) dia_salida = "0" + dia_salida;
       if (mes_salida<10) mes_salida = "0" + mes_salida;
              
       mi_item.value = dia_salida + "/" + mes_salida + "/" + anyo_salida;

       return true
}

//------------------------------------------------------------------------------
// Esta funcion comprueba que la hora tiene un formato correcto y es valida hh:[ss]
//------------------------------------------------------------------------------
function comprobar_hora (campohora){
	//errmsg+=" Utilice el formato hh[:mm]"
	if (campohora.value==""){
		campohora.focus()
		//alert(errmsg)
		return false
	}else{
		var mihora=new String(campohora.value)
		var mihorasplit = mihora.split(":",2)
		if ((mihorasplit.length > 2) || (mihorasplit.length == 0)) {
			campohora.focus()
			//alert(errmsg)
			return false
		}
		if (mihorasplit.length == 2){
		   if (isNaN(Number(mihorasplit[0])) || (Number(mihorasplit[0])>23)){
				campohora.focus()
				//alert(errmsg)
				return false
		   }
		   if (mihorasplit[1].length == 0){
			campohora.focus()
			//alert(errmsg)
			return false
		   }
		   if (isNaN(Number(mihorasplit[1])) || (Number(mihorasplit[1])>59)){
			campohora.focus()
			//alert(errmsg)
			return false
		   }
		} else {
		   if (isNaN(Number(mihora)) || (Number(mihora)>23)){
				campohora.focus()
				//alert(errmsg)
				return false
		   }
		   if (mihora<10){
		   	mihora = "0"+mihora;
		   }
		   campohora.value=mihora+":00"
		}
	}
	return true
}

//-------------------------------------------------------------------------
//Funcion Cancelar
//-------------------------------------------------------------------------

function cancelar(f,a){
  eval("document."+f+".action='"+a+"'");
  eval("document."+f+".submit()");  
}

//------------------------------------------------------------------------------
//Abre la ventana del menu sin la barra de navegacion
//------------------------------------------------------------------------------
function abrir(pagina,alto,ancho) {
    menuWindow=window.open(pagina,"","width="+ancho+",height="+alto+",toolbar=no,directories=no,scrollbars=yes,resizable=yes");
    menuWindow.moveTo(0,0);
} 

function imprimir() {
	Window.print();
	//if (window.print) {
	//	setTimeout('window.print();',200);
	//}
	//else if (agt.indexOf("mac") != -1) {
	//	alert("Presionar las teclas 'Cmd+p' para imprimir el artículo.");
	//}
	//else {
	//	alert("Presionar 'Ctrl+p' para imprimir el artículo.")
	//}
}
//------------------------------------------------------------------------------
//Funciones editor HTML
//------------------------------------------------------------------------------
function format_sel(v,f,t) {
  var str = document.selection.createRange().text;
  eval('document.'+ f + '.' + t + '.focus()');
  var sel = document.selection.createRange();
  sel.text = "<" + v + ">" + str + "</" + v + ">";
  return;
}

function send_mail(f,t) {
  var str = document.selection.createRange().text;
  eval('document.'+ f + '.' + t + '.focus()');
  var my_link = prompt("Introducir email:","");
  if (my_link != null) {
    var sel = document.selection.createRange();
	sel.text = "<a href=mailto:" + my_link + ">" + str + "</a>";	
  }
  return;
}

function insert_link(f,t) {
  var str = document.selection.createRange().text;
  eval('document.'+ f + '.' + t + '.focus()');
  var my_link = prompt("Enter URL:","");
  if (my_link != null) {
    var sel = document.selection.createRange();
	sel.text = "<a href=\"" + my_link + "\">" + str + "</a>";
  }
  return;
}

function insert_pagina(f,t) {
  var str = document.selection.createRange().text;
  eval('document.'+ f + '.' + t + '.focus()');
  var my_link = prompt("Introducir pagina:","");
  if (my_link != null) {
    var sel = document.selection.createRange();
	sel.text = "<a href=\"http://www.av2006.org/portal_fundar3/scripts/general/pagina.pl?pagina=" + my_link + "\">" + str + "</a>";
  }
  return;
}

function crea_lista(f,t){
	var theSelection = document.selection.createRange().text;
	eval('document.'+ f + '.' + t + '.focus()');
	var tagOpenLista = "<ul>";
	var tagCloseLista = "</ul>";
	var tagOpenItem = "<li>";
	var tagCloseItem = "</li>";
	var tagSaltoLinea = "\n";
	var texto = theSelection;
	var lista = new Array();
	var texto_fmt = "";
	
	lista = texto.split("\n");

	for (x in lista){
		if (x < lista.length-1){
			//Elimina los saltos de linea
			text = lista[x].substr(0, lista[x].length-1);
		}else{
			text = lista[x];
		}
		texto_fmt = texto_fmt + tagOpenItem + text  + tagCloseItem + tagSaltoLinea
	}
	//Reescribe el texto con las etiquetas correspondientes
	document.selection.createRange().text = tagOpenLista + tagSaltoLinea + texto_fmt + tagCloseLista;
	
	return;
}

function abrir_ventana (f,t){
   nuevaVentana = window.open("texto.html","ventana1","width=500,height=300,scrollbars=NO");
   eval('document.'+ f + '.' + t + '.select()');   
   var str = document.selection.createRange().text;
   nuevaVentana.document.write(str);
} 

//------------------------------------------------------------------------------
//Login entidad
//------------------------------------------------------------------------------
function login_entidad(){
	var err=0;
	var msg = "";
	
	if ((document.login_zona_entidades.usuario.value).length == 0){
		msg = " - Debe introducir el usuario!\n";
		document.login_zona_entidades.usuario.focus();
		err=1;
	}else if ((document.login_zona_entidades.clave.value).length == 0){
		msg = msg + " - Debe introducir la clave!\n";
		err=1;
		document.login_zona_entidades.clave.focus();
	}	   
	
	if (err==0){
		document.login_zona_entidades.submit();
	}else if (err == 1){
		alert("ERROR: " + msg);
	}
}

//----------------------------------------------------- 
//Gestion  tablon_de_anuncioss
//----------------------------------------------------- 
function tablon_de_anuncios (accion,codigo){
	var err=0;
	var msg = "";
	if (accion == 0){
		document.tablon_de_anuncioss.action="alta_tablon_de_anuncios.pl";
	}
	if (accion == 1){
		document.tablon_de_anuncioss.action="mod_tablon_de_anuncios.pl";
	}
	if (accion < 2){
   		//if ((document.tablon_de_anuncioss.fecha_de_creacion_x.value!='') && (!comprobar_fecha(document.tablon_de_anuncioss.fecha_de_creacion_x))){
		//	msg = msg + " - Compruebe la fecha de creación. (Utilice formato dd/mm/aaaa)!\n";
		//	err = 2;
		//}
   		if ((document.tablon_de_anuncioss.fecha_inicio_x.value!='') && (!comprobar_fecha(document.tablon_de_anuncioss.fecha_inicio_x))){
			msg = msg + " - Compruebe la fecha de inicio. (Utilice formato dd/mm/aaaa)!\n";
			err = 2;
		}
   		if ((document.tablon_de_anuncioss.fecha_fin_x.value!='') && (!comprobar_fecha(document.tablon_de_anuncioss.fecha_fin_x))){
			msg = msg + " - Compruebe la fecha de fin. (Utilice formato dd/mm/aaaa)!\n";
			err = 2;
		}
		if (document.tablon_de_anuncioss.entidad.value == 'valor0'){
			alert("ERROR - Debe seleccionar como mínimo un elemento de la lista tablon_entidad\n");
			err=1;
		}
		if (document.tablon_de_anuncioss.categoria_anuncio.value == 'valor0'){
			alert("ERROR - Debe seleccionar como mínimo un elemento de la lista tablon_categoria\n");
			err=1;
		}
	}
	if (accion == 2){
		var response = confirm("Esta seguro de que quiere borrar el anuncio?");
		if (response == true){
			document.tablon_de_anuncioss.codigo.value=codigo;
			document.tablon_de_anuncioss.action="tablon_de_anuncios/baja_tablon_de_anuncios.pl";
		}else{
			err=1;
		}
	}
	if (accion == 3){
			document.tablon_de_anuncioss.codigo.value=codigo;
			document.tablon_de_anuncioss.action="tablon_de_anuncios/form_mod_tablon_de_anuncios.pl";
	}
	if (err==0){
		document.tablon_de_anuncioss.submit();
	}else if (err == 2){
		alert("ERROR: " + msg);
	}
}

//-----------------------------------------------------
//Gestión alta solicitud Ayudas 20090317
//-----------------------------------------------------
function guardar_solicitud(){
	document.form1.action="alta_solicitud_linea.pl";
}


//----------------------------------------------------- 
//Gestion  bolsa_del_voluntariados
//----------------------------------------------------- 
function bolsa_del_voluntariado (accion,codigo){
	var err=0;
	var msg = "";
	if (accion == 0){
		document.bolsa_del_voluntariados.action="alta_bolsa_del_voluntariado.pl";
	}
	if (accion == 1){
		document.bolsa_del_voluntariados.action="mod_bolsa_del_voluntariado.pl";
	}
	if (accion < 2){
   		if ((document.bolsa_del_voluntariados.fecha_de_creacion_x.value!='') && (!comprobar_fecha(document.bolsa_del_voluntariados.fecha_de_creacion_x))){
			msg = msg + " - Compruebe la fecha de creación. (Utilice formato dd/mm/aaaa)!\n";
			err = 2;
		}
   		if ((document.bolsa_del_voluntariados.fecha_inicio_x.value!='') && (!comprobar_fecha(document.bolsa_del_voluntariados.fecha_inicio_x))){
			msg = msg + " - Compruebe la fecha de inicio. (Utilice formato dd/mm/aaaa)!\n";
			err = 2;
		}
   		if ((document.bolsa_del_voluntariados.fecha_fin_x.value!='') && (!comprobar_fecha(document.bolsa_del_voluntariados.fecha_fin_x))){
			msg = msg + " - Compruebe la fecha de fin. (Utilice formato dd/mm/aaaa)!\n";
			err = 2;
		}
		if (((document.bolsa_del_voluntariados.titulo_c.value).length == 0) || ((document.bolsa_del_voluntariados.titulo_c.value).length > 255)){
			msg = msg + " - El campo titulo_c es obligatorio y como maximo debe incluir 255 caracteres\n";
			err = 2;
		}
		if (((document.bolsa_del_voluntariados.titulo_v.value).length == 0) || ((document.bolsa_del_voluntariados.titulo_v.value).length > 255)){
			msg = msg + " - El campo titulo_v es obligatorio y como maximo debe incluir 255 caracteres\n";
			err = 2;
		}
		if (isNaN(Number(document.bolsa_del_voluntariados.num_de_voluntarios_x.value))){
			msg = msg + " - El campo num_de_voluntarios_x debe ser un valor numérico\n";
			err = 2;
		}
		if (document.bolsa_del_voluntariados.sector_de_actuacion.value == 'valor0'){
			alert("ERROR - Debe seleccionar como mínimo un elemento de la lista bolsa_sector\n");
			err=1;
		}
		if (document.bolsa_del_voluntariados.entidad.value == 'valor0'){
			alert("ERROR - Debe seleccionar como mínimo un elemento de la lista bolsa_entidad\n");
			err=1;
		}
	}
	if (accion == 2){
		var response = confirm("Esta seguro de que quiere borrar la bolsa?");
		if (response == true){
			document.bolsa_del_voluntariados.codigo.value=codigo;
			document.bolsa_del_voluntariados.action="bolsa_del_voluntariado/baja_bolsa_del_voluntariado.pl";
		}else{
			err=1;
		}
	}
	if (accion == 3){
			document.bolsa_del_voluntariados.codigo.value=codigo;
			document.bolsa_del_voluntariados.action="bolsa_del_voluntariado/form_mod_bolsa_del_voluntariado.pl";
	}
	if (err==0){
		document.bolsa_del_voluntariados.submit();
	}else if (err == 2){
		alert("ERROR: " + msg);
	}
}

//----------------------------------------------------- 
//Gestion  busqueda_notas
//----------------------------------------------------- 
function busqueda_notas (){
	var err=0;
	var msg = "";

   	if ((document.busqueda_notass.fecha.value!='') && (!comprobar_fecha(document.busqueda_notass.fecha))){
		msg = msg + " - Compruebe la fecha. (Utilice formato dd/mm/aaaa)!\n";
		err = 2;
	}

	if (err==0){
		document.busqueda_notass.submit();
	}else if (err == 2){
		alert("ERROR: " + msg);
	}
}

//----------------------------------------------------- 
//Gestion  busqueda_actividad_ong
//----------------------------------------------------- 
function busqueda_actividad_ong (){
	var err=0;
	var msg = "";

   	if ((document.busqueda_actividad_ongs.fecha.value!='') && (!comprobar_fecha(document.busqueda_actividad_ongs.fecha))){
		msg = msg + " - Compruebe la fecha. (Utilice formato dd/mm/aaaa)!\n";
		err = 2;
	}

	if (err==0){
		document.busqueda_actividad_ongs.submit();
	}else if (err == 2){
		alert("ERROR: " + msg);
	}
}