Index: 0.3-modules/proyectos_operativos_mcti/proyectos_operativos_mcti.module
===================================================================
--- 0.3-modules/proyectos_operativos_mcti/proyectos_operativos_mcti.module	(revision 4efc6f259068c948ab267fe5e8cc28fa51c41ac2)
+++ 0.3-modules/proyectos_operativos_mcti/proyectos_operativos_mcti.module	(revision c43ea01233b7f30ecab3e321ca350cc27bef50d1)
@@ -43,10 +43,4 @@
     'type' => MENU_CALLBACK,
   );
-  $items['proyectos_operativos_mcti_proyecto_basico_form_responsables'] = array(
-    'title' => 'JS utilities',
-    'page callback' => 'proyectos_operativos_mcti_proyecto_basico_form_responsables_js_util',
-    'access arguments' => array('ver planificador'),
-    'type' => MENU_CALLBACK,
-  );
   $items['proyectos_operativos_mcti_proyecto_basico_form_cargar_responsables'] = array(
     'title' => 'JS utilities',
@@ -128,4 +122,9 @@
       '#default_value' => variable_get('proyectos_operativos_muestra_proyecto_descripcion', TRUE),
     );
+    $form['basicos']['proyectos_operativos_muestra_ubicaci_interna'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Recolectar el la ubicaciÃ³n del proyecto.'),
+      '#default_value' => variable_get('proyectos_operativos_muestra_ubicaci_interna', TRUE),
+    );
     $form['basicos']['comuna'] = array(
       '#title' => t('Comunas'),
@@ -134,18 +133,8 @@
       '#siffix' => '</div>',
     );
-    $form['basicos']['comuna']['proyectos_operativos_muestra_codig_comuna'] = array(
+    $form['basicos']['comuna']['proyectos_operativos_muestra_datos_comuna'] = array(
       '#type' => 'checkbox',
-      '#title' => t('Recolectar el codigo de la comuna.'),
-      '#default_value' => variable_get('proyectos_operativos_muestra_codig_comuna', TRUE),
-    );
-    $form['basicos']['comuna']['proyectos_operativos_muestra_ubicacin_comuna'] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Recolectar la ubicacion de la comuna.'),
-      '#default_value' => variable_get('proyectos_operativos_muestra_ubicacin_comuna', TRUE),
-    );
-    $form['basicos']['comuna']['proyectos_operativos_muestra_name_comuna'] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Recolectar el nombre de la comuna.'),
-      '#default_value' => variable_get('proyectos_operativos_muestra_name_comuna', TRUE),
+      '#title' => t('Recolectar los datos de la comuna.'),
+      '#default_value' => variable_get('proyectos_operativos_muestra_datos_comuna', TRUE),
     );
     $form['basicos']['responsables']['proyectos_operativos_muestra_responsables'] = array(
@@ -634,174 +623,109 @@
         '#suffix' => '</div>',
       );
-      $ente_agregar = $form['#parameters'][3];
-      $ente_planificador = node_load(1298);
-      if ($proyecto && $proyecto->nid && $proyecto->field_proyecto_ente[0]['nid']) {
-        $ente_planificador = ente_planificador_leer_ente_planificadores($proyecto->field_proyecto_ente[0]['nid']);
-      }
-      else {
-        $ente = usuario_tiene_ente($user->uid);
-        if ($ente && $ente->nid) {
-          $ente_planificador = ente_planificador_leer_ente_planificadores($ente->nid);
-        }
-        elseif($ente_agregar && user_access('admin planificador')) {
-          $ente_planificador = ente_planificador_leer_ente_planificadores($ente_agregar);
-        }
-      }
-      $options[$ente_planificador->nid] = $ente_planificador->title;
-      $form['responsables']['field_proyecto_entes'] = array(
-        '#title' => t('InsituciÃ³n'),
-        '#type' => 'select',
-        '#options' => $options,
-        '#default_value' => $options,
-        '#prefix' => '<div id="field_proyecto_ente_datos_basicos">',
-        '#suffix' => '</div>',
+      $ente_planificador = $form['#ente_planificador'];
+
+      $arreglo = array(
+        'gerente' => array('field_proyecto_nombre_gere', 'field_proyecto_cedul_gere', 'field_proyecto_corre_gere', 'field_proyecto_telef_gere'),
+        'tecnico' => array('field_proyecto_nom_r_tec', 'field_proyecto_ced_r_tec', 'field_proyecto_cor_r_tec', 'field_proyecto_tel_r_tec', 'field_proyecto_und_r_tec'),
+        'registrador' => array('field_proyecto_nom_r_reg', 'field_proyecto_ced_r_reg', 'field_proyecto_cor_r_reg', 'field_proyecto_tel_r_reg'),
+        'administrativo' => array( 'field_proyecto_nom_r_adm', 'field_proyecto_ced_r_adm', 'field_proyecto_cor_r_adm', 'field_proyecto_tel_r_adm', 'field_proyecto_und_r_adm'),
       );
-      $arreglo = array();
-      $tipos = array(
-        'gerente' => 'gerente',
-        'tecnico' => 'tecnico',
-        'registrador' => 'registrador',
-        'administrativo' => 'administrativo',
-      );
-      $arreglo['gerente'] = array(
-        0 => 'field_proyecto_nombre_gere',
-        1 => 'field_proyecto_cedul_gere',
-        2 => 'field_proyecto_corre_gere',
-        3 => 'field_proyecto_telef_gere',
-      );
-      $arreglo['tecnico'] = array(
-        0 => 'field_proyecto_nom_r_tec',
-        1 => 'field_proyecto_ced_r_tec',
-        2 => 'field_proyecto_cor_r_tec',
-        3 => 'field_proyecto_tel_r_tec',
-        4 => 'field_proyecto_und_r_tec',
-      );
-      $arreglo['registrador'] = array(
-        0 => 'field_proyecto_nom_r_reg',
-        1 => 'field_proyecto_ced_r_reg',
-        2 => 'field_proyecto_cor_r_reg',
-        3 => 'field_proyecto_tel_r_reg',
-      );
-      $arreglo['administrativo'] = array(
-        0 => 'field_proyecto_nom_r_adm',
-        1 => 'field_proyecto_ced_r_adm',
-        2 => 'field_proyecto_cor_r_adm',
-        3 => 'field_proyecto_tel_r_adm',
-        4 => 'field_proyecto_und_r_adm',
-      );
+
       $fields_form_administrativo = array();
-
-      $query["gerente"] = db_query("SELECT DISTINCT(pp.field_proyecto_cedul_gere_value) as field_cedula, pp.field_proyecto_nombre_gere_value as field_nombre, pp.field_proyecto_corre_gere_email as field_email, pp.field_proyecto_telef_gere_value as field_tele FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_cedul_gere_value DESC", $ente_planificador->nid);
-
-      $query["tecnico"] = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_tec_value) as field_cedula, pp.field_proyecto_nom_r_tec_value as field_nombre, pp.field_proyecto_cor_r_tec_email as field_email, pp.field_proyecto_tel_r_tec_value as field_tele, pp.field_proyecto_und_r_tec_value as field_unidad  FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_ced_r_tec_value DESC", $ente_planificador->nid);
-
-      $query["registrador"] = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_reg_value) as field_cedula, pp.field_proyecto_nom_r_reg_value as field_nombre, pp.field_proyecto_cor_r_reg_email as field_email, pp.field_proyecto_tel_r_reg_value as field_tele FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_nom_r_reg_value DESC", $ente_planificador->nid);
-
-      $query["administrativo"] = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_adm_value) as field_cedula, field_proyecto_nom_r_adm_value as field_nombre, pp.field_proyecto_cor_r_adm_email as field_email, pp.field_proyecto_tel_r_adm_value as field_tele, pp.field_proyecto_und_r_adm_value as field_unidad FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_ced_r_adm_value DESC", $ente_planificador->nid);
-     
-      $field_form = array();
-      $fields_form = array();
-      $fields_extra_form1 = array();
-      $fields_extra_form1[] = 'field_proyecto_ente';
-
-      foreach ($tipos as $tips => $tip) {
-        $tam = '';
-        $prefixC = '';
-        $count = 0;
+      foreach ($arreglo as $tipo => $values) {
         $rows = array();
         $options = array();
-        $options[0] = t('Seleccione');
-        while ($row = db_fetch_object($query[$tip])) {
-          $options[$row->field_cedula] = $row->field_nombre .'('. $row->field_cedula .')';
-          $rows[$row->field_cedula] = array(
-            'name' => $row->field_nombre,
-            'cedula' => $row->field_cedula,
-            'email' => $row->field_email,
-            'phone' => $row->field_tele,
-            'unidad' => $row->field_unidad,
-          );
-        }
-        $resposables['responsables'][$tip] = $rows;
-        drupal_add_js($resposables, 'setting');
-
-        $options[] = t('Nuevo');
-        $form['responsables']['default_'.$tip] = array(
+        $options[0] = t('Nuevo');
+        $query = proyectos_operativos_mcti_search_responsable($tipo, $ente_planificador);
+        while ($row = db_fetch_object($query)) {
+          if (isset($row->field_cedula)) {
+            $options[$row->field_cedula] = $row->field_nombre .'('. $row->field_cedula .')';
+            $rows[$row->field_cedula][] = $row->field_nombre;
+            $rows[$row->field_cedula][] = $row->field_cedula;
+            $rows[$row->field_cedula][] = $row->field_email;
+            $rows[$row->field_cedula][] = $row->field_tele;
+            $rows[$row->field_cedula][] =$row->field_unidad;
+          }
+        }
+        $resposables['responsables'] = $rows;
+       drupal_add_js($resposables, 'setting');
+
+        $form['responsables']['entes_' . $tipo] = array(
+          '#title' => t('Responsable ' . $tipo),
+          '#type' => 'fieldset',
+          '#prefix' => '<div id="wrapper-proyectos-resposab-' . $tipo . '">',
+          '#suffix' => '</div>',
+        );
+        $form['responsables']['entes_' . $tipo]['datos_' . $tipo] = array(
           '#type' => 'select',
-          '#title' => t('Cargar datos del '.$tip),
-          '#default_value' => isset($form['#node']->field_proyecto_ced_r_adm['und'][0]['value']) ? $form['#node']->field_proyecto_ced_r_adm['und'][0]['value'] : 0,
+          '#title' => t('Cargar datos del ' . $tipo),
           '#options' => $options,
-          '#prefix' => '<fieldset id="wrapper-'.$tip.'-datos"><legend>' . t('Responsable '.$tip ) . '<span class="form-required" title="Este campo es obligatorio."> *</span></legend>',
+          '#attributes' => array('class' => 'responsable responsable-field-' . $tipo),
         );
+        $count = 0;
+        $prefix = '';
+        $prefixC = '<table><tr>';
         if (count($fields)) {
-	  foreach ($arreglo[$tip] as $field_id => $field) {
-            $prefixC .= '<th>' . $fields[$field]['widget']['label'] . '</th>';
-          }
-          foreach ($arreglo[$tip] as $field_id => $field) {
-	    foreach ($form['#node']->{$field} as $id => $campo) {
-	      if ($form['#node']->{$field}[$id]['value']) {
-		  $default = $form['#node']->{$field}[$id]['value'];	
-		}
-		elseif ($form['#node']->{$field}[$id]['email']) {
-		  $default = $form['#node']->{$field}[$id]['email'];
-		}
-		else {
-                  $default = $form_state['values'][$field];
-		}
-	      }
-	      $prefix = '';
-	      if ($count == 0) {
-                $prefix = '<div id="default_'.$tip.'"><table><tr>' . $prefixC . '</tr><tr><td>';
-              }
-              else {
-                $prefix .= '<td>';
-              }
-              $form['responsables'][$field] = array(
-                '#type' => 'textfield',
-                '#title' => $fields[$field]['widget']['label'],
-                '#required' => $fields[$field]['required'],
-                '#maxlength' => $fields[$field]['max_length'],
-                '#size' => $fields[$field]['size'],
-                '#weight' => $fields[$field]['weight'],
-                '#description' => $fields[$field]['description'],
-                '#default_value' => $default,
-                '#prefix' => $prefix,
-                '#suffix' => '</td>',
-                '#attributes' => array('class' => $tip),
-              );
-
-              if($field == 'field_proyecto_cedul_gere' || $field == 'field_proyecto_ced_r_tec' || $field == 'field_proyecto_ced_r_reg' || $field == 'field_proyecto_ced_r_adm') {
-                $form['responsables'][$field]['#attributes']['placeholder'] = t( 'VXXXXXXXX' );
-	      }
-              if($field == 'field_proyecto_telef_gere' || $field == 'field_proyecto_tel_r_tec' || $field == 'field_proyecto_tel_r_reg' || $field == 'field_proyecto_tel_r_adm') {
-                $form['responsables'][$field]['#attributes']['placeholder'] = t( 'xxxx-xxxx-xxx' );
-              }
-              $aux = $field;
-	      $count++;
+     	    foreach ($values as $field_id) {
+            $prefixC .= '<th>' . $fields[$field_id]['widget']['label'] . '</th>';
+          }
+          $prefixC .= '</tr><tr><td>';
+          if ($count) {
+            $prefixC = '';
+          }
+          $field_id = '';
+     	    foreach ($values as $id) {
+            $field_id = $id;
+            $default = '';
+
+           if (isset($form_state['values']['datos_' . $tipo])) {
+               $default = $rows[$form_state['values']['datos_' . $tipo]][$count];
             }
-          $form['responsables'][$aux]['#suffix'] .= '</tr>';
-          $form['responsables'][$aux]['#suffix'] .= '</table></div></fieldset>';
-        }
-      } //fin del foreach
-      
-      $form['responsables'][$aux]['#suffix'] .= '</div>';
-
-      foreach ($tipos as $tips => $tip) {
-        if (is_array($fields) && count($fields)) {
-          foreach ($fields as $field_id => $field) {
-            foreach ($arreglo[$tip] as $clave => $campo) {
-	     if ($campo == $field_id) {
-                $form['#proyectos_operativos_fields'][] = $field_id;
-                $field_form[] = $field_id;
-                $fields_form[] = $field_id;
-	      }
-              elseif (variable_get('proyectos_operativos_muestra_gerente_' . $field_id, FALSE)) {
-                $form['#proyectos_operativos_fields'][] = $field_id;
-                $field_form[] = $field_id;
-                $fields_form[] = $field_id;
-              }
-	    }
-          }
-        }
-      }
+            else {
+	            if ($form['#node']->{$field_id}[0]['value']) {
+          		  $default = $form['#node']->{$field_id}[0]['value'];	
+           		}
+          		elseif ($form['#node']->{$field_id}[0]['email']) {
+           		  $default = $form['#node']->{$field_id}[0]['email'];
+          		}
+            }
+            $form['responsables']['entes_' . $tipo][$field_id] = array(
+              '#type' => 'textfield',
+              '#required' => $fields[$field_id]['required'],
+              '#maxlength' => $fields[$field_id]['max_length'],
+              '#size' => $fields[$field_id]['size'],
+              '#weight' => $fields[$field_id]['weight'],
+              '#description' => $fields[$field_id]['description'],
+              '#default_value' => $default,
+              '#attributes' => array('class' => 'responsable-field default-' . $tipo),
+            );
+            if (!$count) {
+              $form['responsables']['entes_' . $tipo][$field_id]['#prefix'] = $prefixC;
+            }
+            else {
+              $form['responsables']['entes_' . $tipo][$field_id]['#prefix'] .= '<td>';
+              $form['responsables']['entes_' . $tipo][$field_id]['#suffix'] .= '</td>';
+            }
+            $count++;
+          }
+          $form['responsables']['entes_' . $tipo][$field_id]['#suffix'] = '</tr></table>';
+        }
+        //garantizar el guardar los valores
+        foreach ($values as $field_id) {
+          if (is_array($fields) && count($fields)) {
+     	      if ($field_id) {
+              $form['#proyectos_operativos_fields'][] = $field_id;
+              $field_form[] = $field_id;
+              $fields_form[] = $field_id;
+	          }
+            elseif (variable_get('proyectos_operativos_muestra_gerente_' . $field_id, FALSE)) {
+              $form['#proyectos_operativos_fields'][] = $field_id;
+              $field_form[] = $field_id;
+              $fields_form[] = $field_id;
+            }
+  	      }
+        }
+      }
+
       $form['#validate'][] = 'proyectos_operativos_mcti_proyecto_basico_form_responsables_validate';
       foreach ($form['#submit'] as $id => $name) {
@@ -819,15 +743,15 @@
     $fields_extra_form1 = array();
     $arreglo = array();
-    $codig_comuna = variable_get('proyectos_operativos_muestra_codig_comuna', TRUE);
+    $codig_comuna = variable_get('proyectos_operativos_muestra_datos_comuna', TRUE);
     if ($codig_comuna) {
       $form['#proyectos_operativos_fields_extra'][] = 'field_proyecto_codigo_comu';
       $arreglo['field_proyecto_codigo_comu'] = 'field_proyecto_codigo_comu';
     }
-    $ubicacin_comuna = variable_get('proyectos_operativos_muestra_ubicacin_comuna', TRUE);
+    $ubicacin_comuna = variable_get('proyectos_operativos_muestra_datos_comuna', TRUE);
     if ($ubicacin_comuna) {
       $form['#proyectos_operativos_fields_extra'][] = 'field_proyecto_ubicaci_comu';
       $arreglo['field_proyecto_ubicaci_comu'] = 'field_proyecto_ubicaci_comu';
     }
-    $nombre_comuna = variable_get('proyectos_operativos_muestra_name_comuna', TRUE);
+    $nombre_comuna = variable_get('proyectos_operativos_muestra_datos_comuna', TRUE);
     if ($nombre_comuna) {
       $form['#proyectos_operativos_fields_extra'][] = $fields_extra_form1;
@@ -1362,5 +1286,5 @@
           }
           else {
-	    $form_state['values'][$campo] = array(array('value' => $form_state['values'][$campo]));
+	          $form_state['values'][$campo] = array(array('value' => $form_state['values'][$campo]));
           }
         }
@@ -1720,9 +1644,9 @@
         $output .= drupal_render($form['field_proyect_probl_abord']);
       }
-      if($causas) {  
+      if($causas) {
         $output .= drupal_render($form['field_proyect_cau_abord']);
       }
       $output .= '</fieldset>';
-    } 
+    }
     $output .= '</fieldset>';
   }
@@ -1811,5 +1735,5 @@
   }
   $output .= '</fieldset>';
-
+  
   //ubicacion internacional
   if (variable_get('proyectos_operativos_muestra_ubicaci_interna', TRUE)) {
@@ -1820,8 +1744,6 @@
   $output .= '</fieldset>';
   //ubicacion comunal
-  $codig_comuna = variable_get('proyectos_operativos_muestra_codig_comuna', TRUE);
-  $ubicacin_comuna = variable_get('proyectos_operativos_muestra_ubicacin_comuna', TRUE);
-  $nombre_comuna = variable_get('proyectos_operativos_muestra_name_comuna', TRUE);
-  if($codig_comuna || $ubicacin_comuna || $nombre_comuna) {
+  $datos_comuna = variable_get('proyectos_operativos_muestra_datos_comuna', TRUE);
+  if($datos_comuna) {
     $output .= '<fieldset><legend>' . t('LocalizaciÃ³n Comunal') . '</legend>';
     $output .= drupal_render($form['field_proyecto_codigo_comu']);
@@ -1859,5 +1781,4 @@
   }
   if (variable_get('proyectos_operativos_muestra_enunciado_problema', TRUE)) {
-    $output .= '<fieldset><legend>' . t('Enunciado del Problema') . '</legend>' . drupal_render($form['field_proyecto_causas']) . drupal_render($form['field_proyecto_problemas']) . drupal_render($form['field_proyecto_consecuencias']);
     if (count($form['#fields_form_ip_in'])) {
       foreach($form['#fields_form_ip_in'] as $id_c) {
@@ -2342,148 +2263,4 @@
 
 /**
- * Carga los datos de los responsables del proyecto
- */
-function proyectos_operativos_mcti_proyecto_basico_form_responsables_js_util($tipo) {
-  $form_state = array(
-    'submitted' => FALSE,
-  );
-  $form_build_id = $_POST['form_build_id'];
-  // Add the new element to the stored form. Without adding the element to the
-  // form, Drupal is not aware of this new elements existence and will not
-  // process it. We retreive the cached form, add the element, and resave.
-  $form = form_get_cache($form_build_id, $form_state);
-  
-  $nid = $_POST['field_proyecto_ente'];
-  $node_type = content_types('proyectos_operativos');
-  $fields = $node_type['fields'];
-  $query_ins = db_query("SELECT nid, title FROM {node} WHERE type='ente_planificador' AND status=1");
-  while ($row = db_fetch_object($query_ins)) {
-    $instituciones[$row->nid] = $row->title;
-  }
-  
-  $new_form['responsables'] = array(
-    '#title' => t(''),
-    '#type' => 'fieldset',
-  );
-  /*$new_form['responsables']['field_proyecto_ente'] = array(
-    '#title' => t('InsituciÃ³n'),
-    '#type' => 'select',
-    '#options' => $instituciones,
-    '#ahah' => array(
-      'path' => 'proyectos_operativos_mcti_proyecto_basico_form_responsables/responsables',
-      'wrapper' => 'wrapper-proyectos-resposab',
-      'method' => 'replace',
-      'progress' => array('type' => 'throbber', 'message' => t('Please wait...')),
-    ), 
-    '#prefix' => '<div id="field_proyecto_ente_datos_basicos">',
-    '#suffix' => '</div>', 
-  );
-      */
-  $arreglo = array();
-  $tipos = array(
-    'gerente' => 'gerente',
-    'tecnico' => 'tecnico',
-    'registrador' => 'registrador',
-    'administrativo' => 'administrativo',
-  );
-  $arreglo['gerente'] = array(
-    0 => 'field_proyecto_nombre_gere',
-    1 => 'field_proyecto_cedul_gere',
-    2 => 'field_proyecto_corre_gere',
-    3 => 'field_proyecto_telef_gere',
-  );
-  $arreglo['tecnico'] = array(
-    0 => 'field_proyecto_nom_r_tec',
-    1 => 'field_proyecto_ced_r_tec',
-    2 => 'field_proyecto_cor_r_tec',
-    3 => 'field_proyecto_tel_r_tec',
-    4 => 'field_proyecto_und_r_tec',
-  );
-  $arreglo['registrador'] = array(
-    0 => 'field_proyecto_nom_r_reg',
-    1 => 'field_proyecto_ced_r_reg',
-    2 => 'field_proyecto_cor_r_reg',
-    3 => 'field_proyecto_tel_r_reg',
-  );
-  $arreglo['administrativo'] = array(
-    0 => 'field_proyecto_nom_r_adm',
-    1 => 'field_proyecto_ced_r_adm',
-    2 => 'field_proyecto_cor_r_adm',
-    3 => 'field_proyecto_tel_r_adm',
-    4 => 'field_proyecto_und_r_adm',
-  );  
-  
-  $query['gerente'] = db_query("SELECT DISTINCT(pp.vid), pp.field_proyecto_nombre_gere_value as field_proyecto_nombre_gere, pp.field_proyecto_cedul_gere_value as field_proyecto_cedul_gere FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid asc", $nid);
-  $query['tecnico'] = db_query("SELECT DISTINCT(pp.vid), pp.field_proyecto_nom_r_tec_value as field_proyecto_nom_r_tec, pp.field_proyecto_ced_r_tec_value as field_proyecto_ced_r_tec FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid asc", $nid);
-  $query['registrador'] = db_query("SELECT DISTINCT(pp.vid), pp.field_proyecto_nom_r_reg_value as field_proyecto_nom_r_reg, pp.field_proyecto_ced_r_reg_value as field_proyecto_ced_r_reg FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid asc", $nid);
-  $query['administrativo'] = db_query("SELECT DISTINCT(pp.vid), pp.field_proyecto_nom_r_adm_value as field_proyecto_nom_r_adm, pp.field_proyecto_ced_r_adm_value as field_proyecto_ced_r_adm FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid asc", $nid);
-
-  foreach ($tipos as $tip) {
-    $options = array();
-    $options[0] = t('Seleccione');
-    $count = 0;
-    $prefixC = '';
-    while ($row = db_fetch_object($query[$tip]) ) {
-      if ($row->$arreglo[$tip][0] != null || $row->$arreglo[$tip][1] != null) {
-        $options[$row->vid] = $row->$arreglo[$tip][0] . '('. $row->$arreglo[$tip][1] .')';
-      }
-    }
-    $options[$row->vid + 1] = t('Nuevo');
-    $new_form['responsables']['default_'.$tip] = array(
-      '#type' => 'select',
-      '#title' => t('Cargar datos del '.$tip),
-      '#options' => $options,
-      '#prefix' => '<fieldset id="wrapper-'.$tip.'-datos"><legend>' . t('Responsable '.$tip ) . '</legend>',
-    );
-    $new_form['responsables']['default_'.$tip]['#prefix'] .= '<div id="default_'.$tip.'_select">'; 
-    $new_form['responsables']['default_'.$tip]['#suffix'] .= '</div>'; 
-    if (count($fields)) {
-      foreach ($arreglo[$tip] as $field_id => $field) {
-        $prefixC .= '<th>' . $fields[$field]['widget']['label'] . '</th>';
-      }
-      foreach ($arreglo[$tip] as $field_id => $field) {
-        $prefix = '';
-	if ($count == 0) {
-          $prefix = '<div id="default_'.$tip.'"><table><tr>' . $prefixC . '</tr><tr><td>';
-        }
-        else {
-          $prefix .= '<td>';
-        }
-        $new_form['responsables'][$field] = array(
-          '#type' => 'textfield',
-          '#required' => $fields[$field]['required'],
-          '#maxlength' => $fields[$field]['max_length'],
-          '#size' => $fields[$field]['size'],
-          '#weight' => $fields[$field]['weight'],
-          '#description' => $fields[$field]['description'],
-          '#prefix' => $prefix,
-          '#suffix' => '</td>',
-        );
-        $aux = $field;
-        $count++;
-      }
-      $new_form['responsables'][$aux]['#suffix'] .= '</tr>';
-      $new_form['responsables'][$aux]['#suffix'] .= '</table></div></fieldset>';
-    }
-  }
-  
-  $form[$tipo] = $new_form;
-  form_set_cache($form_build_id, $form, $form_state);
-  $form += array(
-    '#post' => $_POST,
-    '#programmed' => FALSE,
-  );
-  // Rebuild the form.
-  
-  $form = form_builder($_POST['form_id'], $form, $form_state);
-  // Render the new output.
-  $new_form = $form[$tipo];
-  unset($new_form['#prefix'], $new_form['#suffix']); // Prevent duplicate wrappers.
-  $output = drupal_render($new_form);
-  print drupal_to_js(array('data' => $output, 'status' => true));
-  exit();
-}
-
-/**
  * Implementation of proyectos_operativos_search_ac_display().
  * Muestra la lista de proyectos disponibles.
@@ -2833,2 +2610,21 @@
   return theme('proyectos_operativos_mcti_ficha_proyecto', $proyecto);
 }
+
+/**
+ * Buscar valores por defecto para los responsable.
+ */
+function proyectos_operativos_mcti_search_responsable($tipo, $ente_planificador) {
+  if ($tipo == 'gerente') {
+      $query = db_query("SELECT DISTINCT(pp.field_proyecto_cedul_gere_value) as field_cedula, pp.field_proyecto_nombre_gere_value as field_nombre, pp.field_proyecto_corre_gere_email as field_email, pp.field_proyecto_telef_gere_value as field_tele FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_cedul_gere_value DESC", $ente_planificador->nid);
+  }
+  else if ($tipo == 'tecnico') {
+      $query = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_tec_value) as field_cedula, pp.field_proyecto_nom_r_tec_value as field_nombre, pp.field_proyecto_cor_r_tec_email as field_email, pp.field_proyecto_tel_r_tec_value as field_tele, pp.field_proyecto_und_r_tec_value as field_unidad  FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_ced_r_tec_value DESC", $ente_planificador->nid);
+  }
+  else if ($tipo == 'registrador') {
+      $query = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_reg_value) as field_cedula, pp.field_proyecto_nom_r_reg_value as field_nombre, pp.field_proyecto_cor_r_reg_email as field_email, pp.field_proyecto_tel_r_reg_value as field_tele FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_nom_r_reg_value DESC", $ente_planificador->nid);
+  }
+  else if ($tipo == 'administrativo') {
+    $query = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_adm_value) as field_cedula, field_proyecto_nom_r_adm_value as field_nombre, pp.field_proyecto_cor_r_adm_email as field_email, pp.field_proyecto_tel_r_adm_value as field_tele, pp.field_proyecto_und_r_adm_value as field_unidad FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_ced_r_adm_value DESC", $ente_planificador->nid);
+  }
+  return $query;
+}
