function agrega(origen,destino) {
  for(i=0;i < origen.options.length ;i++){ //recorremos el origen
    if (origen.options[i].selected){//si la opcion esta seleccionada la agregamos al destino y la quitamos del origen
      destino.options[destino.options.length]= new Option(origen.options[i].text,origen.options[i].value,true,true);
      origen.options[i]=null;
      i--; //una vez agregada la opcion al destino el origen la pierde con lo que disminuye el tamaño y los indices de este
    }
  }
}
function selectall(origen) {
  for(i=0;i < origen.options.length ;i++){ //recorremos el origen y ponemos todas las opciones como seleccionadas
      origen.options[i].selected=true;
  }
}

//funcion que iguala el valor de un objeto a la lista de las opciones de un objeto select
function selecttohidden(destino_hidden,origen_select) {
  destino="";
  for (i=0;i<origen_select.options.length; i++){
    if (i > 0){
      destino=destino+",";
    }
    destino=destino+origen_select.options[i].value;
  }  
  destino_hidden.value=destino;
    
}

//funcion que pide confirmación antes de darle valor a la variable borra del formulario y enviarlo
function aviso_eliminar(formulario,campo_formulario,valor,mensaje){
  if (mensaje==null){
    mensaje="Aquesta segur de voler eliminar el registre?";
  }
  if (confirm(mensaje)){
    campo_formulario.value= valor;
    formulario.submit();
  }
}
function validar(formulario){
  volver=true;
  var nombre=formulario.name;
  if (formulario.obligatorios != ""){
    eval("obli=formulario.obligatorios_"+nombre+".value;");
    obliga=obli.split(","); //vector con los campos obligatorios
    eval("defa=formulario.defecto_"+nombre+".value;");
    defaults=defa.split(","); //vector cn los campos que hay por defecto en el input
    var labels = document.getElementsByTagName('label');
    for (i in obliga){
      campo=obliga[i];
      valor="";
      eval("valor=formulario."+campo+".value;");
      if ((valor == "") || (valor==defaults[i])){
        volver=false; //si hay un valor vacio o por defecto hay que devolver false
        	/*for (var j = 0; j < labels.length; j++) {
        	 if (labels[j].htmlFor== campo){
            labels[j].innerHTML= "*"+(labels[j].innerHTML);
           }
        	}*/
        if (defaults[i] != null){
          eval("formulario."+campo+".value='"+defaults[i]+"';");
        } else {
          eval("formulario."+campo+".value='';");
        }
        var leyenda=document.getElementById('alerta_'+nombre);
        if (leyenda){
          leyenda.className="alerta";
        }
      }
    }
  }
  return volver;
}
//funcion que intercambia el estilo de dos inputs, se usa para ocultar uno y mostrar el otro
var anterior="";
function muestra_oculta(formulario,prefijo,primero){
  prim=primero;
  if (prim < 10){
    campo1=prefijo+prim;
  } else {
    campo1=prefijo+primero;
  }
  campo2=prefijo+anterior
  eval("clase=formulario."+campo1+".className;");
  eval("formulario."+campo1+".className=formulario."+campo2+".className;");
  eval("formulario."+campo2+".className=clase;");
  anterior=primero;
  
}

var vector =new Array();
var vector_key = new Array();
function llena_select(destino,indice){
  ind=indice;
  for(i=0;i < destino.options.length ;i++){
    destino.options[i]=null;
    i--;
  }
  
  var aux=vector_key[ind];
  for (i=0; i < aux.length; i++){
    destino.options[i]= new Option(vector[ind][i],aux[i]);
  }
  if (aux.length ==1){
    destino.disabled=true;
  } else {
    destino.disabled=false;
  }

}
//esta funcion comprueba si el valor del elemento es igual al por defecto y lo vacia si es asi
function vaciar(elemento,valor_defecto){
  if (elemento.value== valor_defecto){
    elemento.value="";
  }
}

function abrir_documento(url,titulo,ancho,alto){
  confi="toolbar=no,resizable=yes,width=700,height=500,top=100,left=300";
  myWindow = window.open(url,"documento",confi);
}

function servei_mostra(formulario,num_campo,valor){
	if (valor != ''){
    eval("formulario.origen"+num_campo+".disabled=false");
    if (valor < 5){
		  eval("formulario.destino"+num_campo+".disabled=false;");
	  } else{
      eval("formulario.destino"+num_campo+".disabled=true;");
      eval("formulario.destino"+num_campo+".value='';");
    }
  } else {
    eval("formulario.destino"+num_campo+".value='';");
    eval("formulario.origen"+num_campo+".value='';");
    eval("formulario.origen"+num_campo+".disabled=true;");
    eval("formulario.destino"+num_campo+".disabled=true;");
  }
}
