<?php

/**
 * Implement hook_menu
 */
function policia_menu() {
  $items['home'] = array(
    'page callback' => 'policia_home_callback',
    'access arguments' => array('access content'),
  );
  $items['city/autocomplete'] = array(
    'page callback' => '_policia_autocomplete_city_callback',
    'access arguments' => array('access content'),
  );
  $items['admin/config/system/banner'] = array(
    'title' => 'Configuración de policia',
    'description' => 'Se configura algunos aspectos del sitio',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('_policia_banner_form'),
    'access arguments' => array('administer users'),
    'file' => 'policia.admin.inc',
    'type' => MENU_NORMAL_ITEM,
  );
  $items['simbolos'] = array(
    'title' => 'Símbolos - Policía Nacional',
    'page callback' => 'simbolos_policia_callback',
    'access arguments' => array('access content'),
  );
  $items['componente-aeronautico/%'] = array(
    'title' => 'Componente Aeronáutico de la Aviación Policial',
    'page callback' => 'simbolos_policia_callback',
    'access arguments' => array('access content'),
  );
  return $items;
}

/**
 * Implements hook_node_presave().
 */
function policia_node_presave($node) {
	if ($node->type == 'noticias') {
		$wrapper = entity_metadata_wrapper('node',$node);
		$evidencia = $wrapper->field_evidencia_noticia->value();
		$file = file_load($evidencia['fid']);
		$wrapper_file = file_stream_wrapper_get_instance_by_uri($file->uri);
		if (get_class($wrapper_file) == 'DrupalPrivateStreamWrapper') {
			  $file_destination =  str_replace('private:', 'public:', $file->uri);
	 		  file_prepare_directory($file_destination);
	  		file_move($file,$file_destination);  
    } 
	} 
}

function simbolos_policia_callback(){
  return '';
}

function _policia_autocomplete_city_callback($string){
  $results = db_query('SELECT ttd.tid, ttd.name from taxonomy_term_data ttd left join taxonomy_vocabulary tv on ttd.vid = tv.vid where tv.vid = 10 and ttd.name like :string', array(':string' => '%' . db_like($string) . '%'));

  foreach ($results as $result) {
    $products[$result->name . '|' .$result->tid] = check_plain($result->name);
  }
  drupal_json_output($products);
}

/**
 * Callback home
 */
function policia_home_callback(){
  return '';
}

/**
 * Implement policia_block_info()
 */
function policia_block_info() {
  $blocks['filtro_nodos'] = array(
    'info' => t('Filtro pico y placa'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['menu_unidad'] = array(
    'info' => t('Menu unidades'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['menu_unidad_2'] = array(
    'info' => t('Menu unidades 2'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['iframe_polired'] = array(
    'info' => t('Iframe polired'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['menu_observatorio_del_delito'] = array(
    'info' => t('Menu Obvservatorio del delito'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['policia_youtube'] = array(
    'info' => t('Policia youtube'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['last_update'] = array(
    'info' => t('Ultima actualizacion'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['banner_noticias'] = array(
    'info' => t('Banner noticias'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['banner_heroes'] = array(
    'info' => t('Banner heroes'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['cooperacion_internacional'] = array(
    'info' => t('Cooperacion internacional'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['misiones_de_paz'] = array(
    'info' => t('Misiones de paz'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_unidad'] = array(
    'info' => t('Link unidad'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_unidad_organigrama'] = array(
    'info' => t('Link unidad organigrama'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_unidad_directorio'] = array(
    'info' => t('Link unidad directorio'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_unidad_simbolos'] = array(
    'info' => t('Link unidad simbolos'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_unidad_bienestar_universitario'] = array(
    'info' => t('Link unidad bienestar universitario'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_unidad_investigaciones'] = array(
    'info' => t('Link unidad investigaciones'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_educacion_continuada'] = array(
    'info' => t('Link educacion continuada'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_biblioteca'] = array(
    'info' => t('Link biblioteca'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_estudio_criminologia'] = array(
    'info' => t('Link estudio criminológia'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_analisis_criminologico'] = array(
    'info' => t('Link analisis criminológico'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_georeferenciacion'] = array(
    'info' => t('Link georeferenciacion'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_investigacion_criminologica'] = array(
    'info' => t('Link investigacion criminológica'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_evento_internacional'] = array(
    'info' => t('Link evento internacional'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_cooperacion_internacional'] = array(
    'info' => t('Link cooperacion internacional'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_bases_aereas'] = array(
    'info' => t('Link bases aereas'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_roles_uniformes'] = array(
    'info' => t('Link roles uniformes'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_perfil'] = array(
    'info' => t('Link perfil'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_medios_tecnicos'] = array(
    'info' => t('Link Medios tecnicos'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_distribucion'] = array(
    'info' => t('Link distribucion'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_uniforme'] = array(
    'info' => t('Link uniforme'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_asesoria_y_acompanamiento'] = array(
    'info' => t('Asesoria y acompañamiento'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_subir'] = array(
    'info' => t('Link subir'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_director'] = array(
    'info' => t('Link Director'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['link_funciones'] = array(
    'info' => t('Link Funciones'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['polred_login'] = array(
    'info' => t('Polired login'),
    'cache' => DRUPAL_NO_CACHE
  );
  $blocks['editor_unidades'] = array(
    'info' => 'Editor de unidades',
    'cache' => DRUPAL_NO_CACHE,
  );
  $blocks['twitter_block_custom'] = array(
    'info' => 'Twitter custom',
    'cache' => DRUPAL_NO_CACHE,
  );
  $blocks['menu_subsitio'] = array(
    'info' => 'Menu subsitio',
    'cache' => DRUPAL_NO_CACHE,
  );
  return $blocks;
}

/**
 * Implements hook_block_view().
 */
function policia_block_view($delta = '') {
  $block = array();
  switch ($delta) {
    case 'filtro_nodos':
      $block['content'] = drupal_get_form('policia_filtro_pico_y_placa_form');
      break;
    case 'twitter_block_custom':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        if($node){
          $widget_id = field_get_items('node', $node, 'field_widget_id');
          $username = field_get_items('node', $node, 'field_username');
          if(!empty($widget_id[0]['value']) && !empty($username[0]['value'])){
            $info = field_get_items('node', $node, 'field_twitter_titulo');
            $width = field_get_items('node', $node, 'field_twitter_ancho');
            $height = field_get_items('node', $node, 'field_twitter_alto');
            $border_color = field_get_items('node', $node, 'field_twitter_color_borde');
            $link_color = field_get_items('node', $node, 'field_twitter_color_link');
            $config = array(
              'info' => $info[0]['value'],
              'widget_id' => $widget_id[0]['value'],
              'username' => $username[0]['value'],
              'data' => array(
                'width' => $width[0]['value'],
                'height' => $height[0]['value'],
                'border_color' => $border_color[0]['rgb'],
                'link_color' => $link_color[0]['rgb'],
                'language' => 'ES',
              )
            );
            // Unserialize the timeline.
            $data = $config['data'];
            $block = array();
            $block['subject'] = check_plain($config['info']);
            $block['content'] = array(
              '#type' => 'link',
              '#title' => t('Tweets by @username', array('@username' => $config['username'])),
              '#href' => 'https://twitter.com/' . $config['username'],
              '#options' => array(
                'attributes' => array(
                  'class' => array('twitter-timeline'),
                  'data-widget-id' => $config['widget_id'],
                ),
                'html' => FALSE,
              ),
            );

            // Use a locally cached copy of widgets.js by default.
            $block['content']['#attached']['js'] = array(
              '//platform.twitter.com/widgets.js' => array(
                'type' => 'external',
                'scope' => 'footer',
              ),
            );
            if (!empty($data['link_color'])) {
              $block['content']['#options']['attributes']['data-link-color'] = $data['link_color'];
            }

            if (!empty($data['width'])) {
              $block['content']['#options']['attributes']['width'] = $data['width'];
            }

            if (!empty($data['height'])) {
              $block['content']['#options']['attributes']['height'] = $data['height'] ;
            }

            if (!empty($data['border_color'])) {
              $block['content']['#options']['attributes']['data-border-color'] = $data['border_color'];
            }

            if (!empty($data['language'])) {
              $block['content']['#options']['attributes']['lang'] = $data['language'];
            }
          }
        }
      }
      break;
    case 'editor_unidades':
      global $user;
      if(in_array('editor', $user->roles)){
        $og_groups = og_get_groups_by_user($user);
        if($og_groups['node']){
          $list = array();
          $list[0] = array(
            'data' => '<span class="menu-editor">Usuario</span>',
            'class' => array('menu-list-1 user-menu'),
          );
          $list[0]['children'][1] = array(
            'data' => '<span class="menu-editor-creation">Creación de páginas</span>',
            'class' => array('menu-list-2 user-submenu'),
          );
          foreach ($og_groups['node'] as $key => $value) {
            $entity = node_load($value);
            $avalible_noticia = policia_fields_avalibles($entity, 'noticia');
            if($avalible_noticia){
              $list[0]['children'][1]['children'][] = l('Noticias', 'node/add/noticias');
            }
            $avalible_eventos = policia_fields_avalibles($entity, 'eventos');
            if($avalible_eventos){
              $list[0]['children'][1]['children'][] = l('Evento', 'node/add/evento');
            }
            $avalible_revista = policia_fields_avalibles($entity, 'revista');
            if($avalible_revista){
              $list[0]['children'][1]['children'][] = l('Revista de criminalidad', 'node/add/revista-de-criminalidad');
            }
            $avalible_componente = policia_fields_avalibles($entity, 'componente');
            if($avalible_componente){
              $list[0]['children'][1]['children'][] = l('Componentes aeronáutico', 'node/add/componente-aeronautico');
            }
          }
          $list[0]['children'][1]['children'][] = l('Página', 'node/add/p-gina');
          $list[0]['children'][1]['children'][] = l('Galeria', 'node/add/galeria');
          $list[0]['children'][1]['children'][] = l('Descargable', 'node/add/descargable');
          $list[0]['children'][1]['children'][] = l('Vinculos', 'node/add/vinculos');
          $list[0]['children'][] = l('Perfil', 'user');
          $list[0]['children'][] = l('Mis contenidos', 'user/' . $user->uid . '/my-content');
          $list[0]['children'][] = l('Cerrar sesión', 'user/logout');
          $type = 'ul';
          // The following attributes apply to the list tag (e.g., <ol> or <ul>)
          $attributes = array(
            'id' => 'menu-add-node',
            'class' => 'menu-add-unidad-node',
          );

          $menu = theme_item_list(array('items' => $list, 'title' => '', 'type' => $type, 'attributes' => $attributes));
          $block['content'] = render($menu);
        }
      }
      break;
    case 'polred_login':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        global $user;
        if($user->uid > 0){
          $link = l('Cerrar sesión', 'user/logout', array('query' => array('destination' => 'node/' . arg(1))));
        }else{
          $link = l('Iniciar sesión', 'user/login', array('query' => array('destination' => 'node/' . arg(1))));
        }
        $block['content'] = $link; 
      }
      break;
    case 'iframe_polired':
      global $user;
      $markup = null;
      $markup .= '<style type="text/css">
        #outerdiv
        {
        width:320px;
        height:210px;
        overflow:hidden;
        position:relative;
        }
 
        #inneriframe
        {
        position:absolute;
        top:-355px;
        left:-415px;
        width:1600px;
        height:1600px;
        }
      </style>';
      $markup .= '<div class="iframe-login-polired" id="outerdiv">';
      $markup .= '<iframe src="https://srvpsi.policia.gov.co/psi/elementos/perfil_horizontal.aspx?usuario=' . $user->name . '" id="inneriframe"></iframe>';
      $markup .= '</div>';
      $block['content'] = render($markup);
      break;
    case 'link_asesoria_y_acompanamiento':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_asesoria_y_acompanamiento');
        if($field[0]['target_id']){
          $block['content'] = l('Asesoria y acompañamiento', 'unidades/asesoria_y_acompanamiento/' . $field[0]['target_id']);
        }
      }
      break;
    case 'link_director':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_director');
        if($field[0]['target_id']){
          $block['content'] = l('Ver más', 'unidades/director/' . $field[0]['target_id']);
        }
      }
      break;
    case 'link_funciones':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_funciones');
        if($field[0]['target_id']){
          $block['content'] = l('Funciones', 'unidades/funciones/' . $field[0]['target_id']);
        }
      }
      break;
    case 'link_uniforme':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_un_uniforme');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/uniforme/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_distribucion':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_distribucion');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/distribucion/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_medios_tecnicos':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_medios_tecnicos');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/medios_tecnicos/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_perfil':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_perfil');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/perfil/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_roles_uniformes':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_roles_y_uniformes');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/roles_y_uniformes/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_bases_aereas':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_bases_aereas');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/bases_aereas/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_cooperacion_internacional':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_cooperacion_internacional');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/cooperacion_internacional/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_evento_internacional':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_evento_internacional');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/evento_internacional/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_investigacion_criminologica':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_investigaci_n_criminologic');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/inv_criminologica/' . $field[0]['target_id']) . '<span>Ver Lista</span>';
        }
      }
      break;
    case 'link_georeferenciacion':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_georeferenciacion_del_deli');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/georeferenciacion_del_delito/' . $field[0]['target_id']) . '<span>Ver Galeria</span>';
        }
      }
      break;
    case 'link_analisis_criminologico':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_analisis_criminologico');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/analisis_criminologico/' . $field[0]['target_id']) . '<span>Ver Lista</span>';
        }
      }
      break;
    case 'link_estudio_criminologia':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_estudio_criminologia');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/estudio_criminologia/' . $field[0]['target_id']) . '<span>Ver Lista</span>';
        }
      }
      break;
    case 'link_biblioteca':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_biblioteca');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/biblioteca/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_educacion_continuada':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_educacion_continuada');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/educacion_continuada/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_unidad_investigaciones':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_investigacion');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/investigacion/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_unidad_bienestar_universitario':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_bienestar_universitario');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/bienestar_universitario/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_unidad_simbolos':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_simbolos_unidad');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/simbolos/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_unidad_directorio':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_directorio_unidad');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'directorio/unidad/' . $node->nid) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_unidad_organigrama':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_organigrama');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/organigrama/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'link_unidad':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $field = field_get_items('node', $node, 'field_organigrama');
        if($field[0]['target_id']){
          $block['content'] = l('IR', 'unidades/organigrama/' . $field[0]['target_id']) . '<span>Ver página</span>';
        }
      }
      break;
    case 'cooperacion_internacional':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $cooperacion = field_get_items('node', $node, 'field_cooperacion_internacional');
        if($cooperacion[0]['target_id']){
          $entity = entity_load_single('unidades', $cooperacion[0]['target_id']);
          $body = field_get_items('unidades', $entity, 'field_body');
          $markup['#markup'] = '<p class="body.cooperacion">' . $body[0]['value'] . '</p>';
          $markup['#suffix'] = '<div class="link-cooperacion">' . l('Cooperación internacional', 'unidades/cooperacion_internacional/' . $cooperacion[0]['target_id']) . '</div><div class="link-presencia">' . l('Agregadurias', 'presencia-exterior/' . arg(1)) . '</div>';
          $block['content'] = render($markup);
        }
      }
      break;
    case 'misiones_de_paz':
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $node = node_load(arg(1));
        $misiones = field_get_items('node', $node, 'field_misiones_de_paz');
        if($misiones[0]['target_id']){
          $block['content'] = l('Eventos Misiones de Paz', 'unidades/misiones_de_paz/' . $misiones[0]['target_id']);
        }
      }
      break;
    case 'menu_unidad':
	
	$content = policia_render_menu(1);
	$alias =  drupal_get_path_alias(current_path());
	$args = explode("/", $alias);
	$path_query = reset($args);
	
	if($path_query != 'escuelas'){
	   preg_match('/<li class="first">(.*?)<\/li>/s', $content, $match);
	   $nid = $match[true];
	   $block['content'] = views_embed_view('menu_principal_unidades', 'block', $nid); 
    }else{
	   $content = policia_render_menu(1);
	   $content = preg_replace('/<li class="first">(.*?)<\/li>/s', "", $content); 
	   $block['content'] = render($content);
	}
      break;
    case 'menu_unidad_2':
      $content = policia_render_menu(2);
	  $content = preg_replace('/<li class="first">(.*?)<\/li>/s', "", $content); 
      $block['content'] = render($content);
      break;
    case 'menu_observatorio_del_delito':
      $content = policia_render_menu_observatorio();
	  $content = preg_replace('/<li class="first">(.*?)<\/li>/s', "", $content); 
      $block['content'] = render($content);

      break;
    case 'policia_youtube':
      $iframe = variable_get('iframe_policia', '');
      if($iframe){
        $markup = null;
        $markup.= '<div class="block-iframe-policia">';
        $markup.= $iframe;
        $markup.= '</div>';
      }else{
        $youtube = variable_get('youtube_policia', '');                                                                                 
        $markup = null;
        $markup.= '<div class="block-youtube-policia">';
        $markup.= '<div class="video-youtube">';
        if(!empty($youtube)){
          $markup.= '<iframe name="youtube" title="YoutubeIframe" id="ytplayer" width="540" height="312" src="' . $youtube . '"  allowfullscreen></iframe>';
        }else{
          $markup.= '<iframe name="youtube" title="YoutubeIframe" id="ytplayer" width="540" height="312" src="https://www.youtube.com/embed/?listType=user_uploads&list=policiadecolombia" allowfullscreen></iframe>';
        }
        $markup.= '</div>';
        $markup.= '<div class="suscribe-youtube">';
        $markup.= '<span>POLICÍA DE COLOMBIA</span>';
        $markup.= '<script src="https://apis.google.com/js/platform.js"></script><div class="g-ytsubscribe" data-channel="policiadecolombia" data-layout="default" data-count="default"></div>';
        $markup.= '</div>';
        $markup.= '</div>';  
      }
      $block['content'] = render($markup);
      break;
    case 'last_update':
      $result = db_query('SELECT title, changed FROM {node} WHERE status=1 ORDER BY changed DESC LIMIT 1');
      $date = 'No hay contenido creado';
      foreach ($result as $key => $value) {
        $date = format_date($value->changed ,'custom','d \d\e F \d\e Y g:i a');
      }
      $markup = null;
      $markup.= '<div class="last_update">';
      $markup.= '<span>Última actualización: ' . $date . '</span>';
      $markup.= '</div>';
      $block['content'] = render($markup);
      break;
    case 'banner_noticias':
      $fid = variable_get('banner_noticias_fid');
      $file = file_load($fid);
      $block['content'] = theme('image_style', array('style_name' => '2000', 'path' => $file->uri));
      break;
    case 'banner_heroes':
      $fid = variable_get('imagen_escalafon_heroes');
      $file = file_load($fid);
      $block['content'] = theme('image_style', array('style_name' => '2000', 'path' => $file->uri));
      break;
    case 'link_subir':
      $block['content'] = l('Subir', '', array('fragment' => 'page', 'external' => TRUE));
      break;
    case 'menu_subsitio':
      $result = db_query("SELECT n.nid FROM node n LEFT JOIN field_data_field_menu fdfm ON n.nid = fdfm.entity_id WHERE ((n.status = '1') AND (n.type IN  ('subsitio'))) AND (fdfm.field_menu_url = :url)", array('url' => current_path()));
      $record = $result->fetchAssoc();
      if($record['nid']){
        $node = node_load($record['nid']);
        if($node){
          $menu = field_get_items('node', $node, 'field_menu');
          if($menu && $menu[0]['url']){
            $items = array();
            foreach ($menu as $key => $value) {
              $items[] = l($value['title'], $value['url']);
            }
            $type = 'ul';
            // The following attributes apply to the list tag (e.g., <ol> or <ul>)
            $attributes = array(
              'id' => 'menu-subsitio',
              'class' => 'menu-policia-subsitio',
            );

            $list = theme_item_list(array('items' => $items, 'title' => '', 'type' => $type, 'attributes' => $attributes));
            $block['content'] = render($list);
          }
        }
      }
      break;
  }
  return $block;
}

function policia_filtro_pico_y_placa_form($node, &$form_state){

  $result = db_query("SELECT nid,title FROM {node} WHERE type = 'pico_y_placa'");
  $items = array();
  foreach ($result as $key => $value) {
    $items[$value->nid] = $value->title;
  }
  $form['selectbox'] = array(
    '#type' => 'select',
    '#title' => t('Seleccione ciudad'),
    '#default_value' => arg(1),
    '#options' => $items,
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Enviar'),
  );

  return $form;
}

function policia_filtro_pico_y_placa_form_submit($form, &$form_state){
  if(is_numeric($form_state['values']['selectbox'])){
   $form_state['redirect'] = 'node/' . $form_state['values']['selectbox'];
  }
}

function policia_render_menu($arg_menu){
  if(arg(0) == 'node' && is_numeric(arg(1))){
    $node = node_load(arg(1));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu($node, $arg_menu);
      return $list;
    }elseif($node && $node->type == 'componente_aeronautico'){
      $unidad = field_get_items('node', $node, 'field_unidad');
      if($unidad && $unidad[0]['target_id']){
        $node_2 = node_load($unidad[0]['target_id']);
        if($node_2){
          $list = policia_creacion_menu($node_2, $arg_menu);
          return $list;
        }
      }
    }elseif($node){
      $unidad = field_get_items('node', $node, 'field_unidad');
      if($unidad && $unidad[0]['target_id']){
        $node_2 = node_load($unidad[0]['target_id']);
        $tipo = field_get_items('node', $node_2, 'field_tipo_de_unidad');
        if($node_2 && $tipo[0]['tid'] != 63){
          $list = policia_creacion_menu($node_2, $arg_menu);
          return $list;
        }
      }
    }
  }elseif (arg(0) == 'unidades' && is_numeric(arg(2))) {
    $query = new EntityFieldQuery();
    switch (arg(1)) {
      case 'mapa':
        $field = 'ubicacion';
        break;
      case 'directorio':
        $field = 'directorio_unidad';
        break;
      case 'simbolos':
        $field = 'simbolos_unidad';
        break;
      case 'uniforme':
        $field = 'un_uniforme';
        break;
      default:
        $field = arg(1);
        break;
    }
    if(isset($field)){
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_' . $field, 'target_id', arg(2), '=');
      $result = $query->execute();
    }

    if (isset($result['node'])) {
      $item_nid = array_keys($result['node']);
      $node = node_load($item_nid[0]);
      if($node){
        $list = policia_creacion_menu($node, $arg_menu);
        return $list; 
      }
    }
  }elseif(arg(0) == 'resultados' && arg(1) == 'unidad' && is_numeric(arg(2))){
    $node = node_load(arg(2));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu($node, $arg_menu);
      return $list;
    }
  }elseif(arg(0) == 'resultados' && arg(1) == 'programas' && is_numeric(arg(2))){
    $node = node_load(arg(2));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu($node, $arg_menu);
      return $list;
    }
  }elseif(arg(0) == 'componente-aeronautico' && is_numeric(arg(1))){
    $node = node_load(arg(1));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu($node, $arg_menu);
      return $list;
    }
  }elseif(arg(0) == 'presencia-exterior' && is_numeric(arg(1))){
    $node = node_load(arg(1));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu($node, $arg_menu);
      return $list;
    }
  }elseif(arg(0) == 'directorio' && arg(1) == 'unidad' && is_numeric(arg(2))){
    $node = node_load(arg(2));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu($node, $arg_menu);
      return $list;
    }
  }elseif(arg(0) == 'eventos-unidad' && is_numeric(arg(1))){
    $node = node_load(arg(1));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu($node, $arg_menu);
      return $list;
    }
  }
}

function policia_render_menu_observatorio(){
  if(arg(0) == 'node' && is_numeric(arg(1))){
    $node = node_load(arg(1));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu_observatorio($node);
      return $list;
    }elseif($node){
      $unidad = field_get_items('node', $node, 'field_unidad');
      if($unidad && $unidad[0]['target_id']){
        $node_2 = node_load($unidad[0]['target_id']);
        $tipo = field_get_items('node', $node_2, 'field_tipo_de_unidad');
        if($node_2 && $tipo[0]['tid'] == 63){
          $list = policia_creacion_menu_observatorio($node_2);
          return $list;
        }
      }
    }
  }elseif (arg(0) == 'unidades' && is_numeric(arg(2))) {
    $query = new EntityFieldQuery();
    if(arg(1) == 'funciones'){
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_funciones', 'target_id', arg(2), '=');
      $result = $query->execute();
    }elseif (arg(1) == 'vinculese_a_nuestra_red') {
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_vinculese_a_nuestra_red', 'target_id', arg(2), '=');
      $result = $query->execute();
    }elseif (arg(1) == 'objetivo') {
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_objetivo', 'target_id', arg(2), '=');
      $result = $query->execute();
    }elseif (arg(1) == 'integrantes_de_nuestra_red') {
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_integrantes_de_nuestra_red', 'target_id', arg(2), '=');
      $result = $query->execute();
    }elseif (arg(1) == 'estudio_criminologia') {
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_estudio_criminologia', 'target_id', arg(2), '=');
      $result = $query->execute();
    }elseif (arg(1) == 'analisis_criminologico') {
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_analisis_criminologico', 'target_id', arg(2), '=');
      $result = $query->execute();
    }elseif (arg(1) == 'georeferenciacion_del_delito') {
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_georeferenciacion_del_deli', 'target_id', arg(2), '=');
      $result = $query->execute();
    }elseif (arg(1) == 'inv_criminologica') {
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_investigaci_n_criminologic', 'target_id', arg(2), '=');
      $result = $query->execute();
    }


    if (isset($result['node'])) {
      $item_nid = array_keys($result['node']);
      $node = node_load($item_nid[0]);
      if($node){
        $list = policia_creacion_menu_observatorio($node);
        return $list; 
      }
    }
  }elseif(arg(0) == 'revista-criminalidad' && is_numeric(arg(1))){
    $node = node_load(arg(1));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu_observatorio($node);
      return $list;
    }
  }elseif(arg(0) == 'eventos-observatorio' && is_numeric(arg(1))){
    $node = node_load(arg(1));
    $menu = array();
    if($node && $node->type == 'unidades'){
      $list = policia_creacion_menu_observatorio($node);
      return $list;
    }
  }
}
function policia_creacion_menu_observatorio($node){
  //OBSERVATORIO DEL DELITO
  $menu[0] = array(
    'data' => '<span class="menu-observatorio-js-toggle">OBSERVATORIO DEL DELITO</span>',
    'class' => array('menu-list-1 submenu-observatorio-js-toggle'),
  );
  $menu[0]['children'][] = l('Portada', 'node/' . $node->nid);
  //Quienes somos
  $quienes_avalible = policia_fields_avalibles($node, 'quienes-somos');
  if($quienes_avalible){
    $quienes = field_get_items('node', $node, 'field_mision');
    if($quienes && $quienes[0]['value']){
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $menu[0]['children'][] = l('Quienes Sómos', '', array('fragment' => 'quienes-somos', 'external' => TRUE));
      }else{
        $menu[0]['children'][] = l('Quienes Sómos', 'node/' . $node->nid, array('fragment' => 'quienes-somos', 'external' => FALSE));
      }
    }
  }
  //Objetivo
  $objetivo_avalible = policia_fields_avalibles($node, 'objetivo');
  if($objetivo_avalible){
    $objetivo = field_get_items('node', $node, 'field_objetivo');
    if($objetivo[0]['target_id']){
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $menu[0]['children'][] = l('Objetivo', '', array('fragment' => 'objetivo', 'external' => TRUE));
      }else{
        $menu[0]['children'][] = l('Objetivo', 'node/' . $node->nid, array('fragment' => 'objetivo', 'external' => FALSE));
      }
    }
  }
  //Video
  $video_avalible = policia_fields_avalibles($node, 'video-institucional');
  if($video_avalible){
    if(arg(0) == 'node' && is_numeric(arg(1))){
      $menu[0]['children'][] = l('Video', '', array('fragment' => 'video-institucional', 'external' => TRUE));
    }else{
      $menu[0]['children'][] = l('Video', 'node/' . $node->nid, array('fragment' => 'video-institucional', 'external' => FALSE));
    }
  }
  //Contacto
  $contactenos_avalible = policia_fields_avalibles($node, 'atencion');
  if($contactenos_avalible){
    $atencion = field_get_items('node', $node, 'field_atenci_n_al_ciudadano');
    if($atencion && $atencion[0]['value']){
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $menu[0]['children'][] = l('Contáctenos', '', array('fragment' => 'contactenos', 'external' => TRUE));
      }else{
        $menu[0]['children'][] = l('Contáctenos', 'node/' . $node->nid, array('fragment' => 'contactenos', 'external' => FALSE));
      }
    }
  }
  //RED NACIONAL DE OBSERVATORIOS
  $menu[1] = array(
    'data' => '<span class="menu-red-observatorios-js-toggle">RED NACIONAL DE OBSERVATORIOS</span>',
    'class' => array('menu-list-2 submenu-red-observatorios-js-toggle'),
  );
  //Que es la red
  /*$red_avalible = policia_fields_avalibles($node, 'red');
  if($red_avalible){
    if(arg(0) == 'node' && is_numeric(arg(1))){
      $menu[1]['children'][] = l('Que es la Red', '', array('fragment' => 'red-nacional', 'external' => TRUE));
    }else{
      $menu[1]['children'][] = l('Que es la Red', 'node/' . $node->nid, array('fragment' => 'red-nacional', 'external' => FALSE));
    }
  }
  //Funciones
  $funciones_avalible = policia_fields_avalibles($node, 'funciones');
  if($funciones_avalible){
    $funciones = field_get_items('node', $node, 'field_funciones');
    if($funciones[0]['target_id']){
      $menu[1]['children'][] = l('Funciones', 'unidades/funciones/' . $funciones[0]['target_id']);
    }
  }*/
  //Integrantes de nuestra red
  $integrates_red_avalible = policia_fields_avalibles($node, 'integrantes-red');
  if($integrates_red_avalible){
    $integrantes_red = field_get_items('node', $node, 'field_integrantes_de_nuestra_red');
    if($integrantes_red[0]['target_id']){
      $menu[1]['children'][] = l('Integrantes de Nuestra Red', 'unidades/integrantes_de_nuestra_red/' . $integrantes_red[0]['target_id']);
    }
  }
  
  //Vinculese a nuestra red
  $nuestra_red_avalible = policia_fields_avalibles($node, 'nuestra-red');
  if($nuestra_red_avalible){
    $nuestra_red = field_get_items('node', $node, 'field_vinculese_a_nuestra_red');
    if($nuestra_red[0]['target_id']){
      $menu[1]['children'][] = l('Vincúlese a Nuestra Red', 'unidades/vinculese_a_nuestra_red/' . $nuestra_red[0]['target_id']);
    }
  }
  //PRODUCTOS CRIMINOLÓGICOS
  $menu[2] = array(
    'data' => '<span class="menu-productos-js-toggle">PRODUCTOS CRIMINOLÓGICOS</span>',
    'class' => array('menu-list-3 submenu-productos-js-toggle'),
  );
  //Estudio criminológia
  $estudio_criminologia_avalible = policia_fields_avalibles($node, 'estudio_criminologia');
  if($estudio_criminologia_avalible){
    $estudio_criminologia = field_get_items('node', $node, 'field_estudio_criminologia');
    if($estudio_criminologia[0]['target_id']){
      $menu[2]['children'][] = l('Estudio Criminológico', 'unidades/estudio_criminologia/' . $estudio_criminologia[0]['target_id']);
    }
  }
  //Análisis ciminológico
  $analisis_criminologico_avalible = policia_fields_avalibles($node, 'analisis_criminologico');
  if($analisis_criminologico_avalible){
    $analisis_criminologico = field_get_items('node', $node, 'field_analisis_criminologico');
    if($analisis_criminologico[0]['target_id']){
      $menu[2]['children'][] = l('Análisis Criminológico', 'unidades/analisis_criminologico/' . $analisis_criminologico[0]['target_id']);
    }
  }
  //Georeferenciacion del delito
  $georeferenciacion_del_delito_avalible = policia_fields_avalibles($node, 'georeferenciacion_del_delito');
  if($georeferenciacion_del_delito_avalible){
    $georeferenciacion_del_delito = field_get_items('node', $node, 'field_georeferenciacion_del_deli');
    if($georeferenciacion_del_delito[0]['target_id']){
      $menu[2]['children'][] = l('Georeferenciación del Delito', 'unidades/georeferenciacion_del_delito/' . $georeferenciacion_del_delito[0]['target_id']);
    }
  }
  //Investigacion criminologica
  $investigacion_criminologica_avalible = policia_fields_avalibles($node, 'investigacion_criminologica');
  if($investigacion_criminologica_avalible){
    $investigacion_criminologica = field_get_items('node', $node, 'field_investigaci_n_criminologic');
    if($investigacion_criminologica[0]['target_id']){
      $menu[2]['children'][] = l('Investigación Criminológica', 'unidades/inv_criminologica/' . $investigacion_criminologica[0]['target_id']);
    }
  }
  //Revista criminalidad
  $menu[2]['children'][] = l('Revista Criminalidad', 'revista-criminalidad');
  //EVENTOS
  $menu[3] = array(
    'data' => '<span class="menu-eventos-js-toggle">EVENTOS</span>',
    'class' => array('menu-list-4 submenu-eventos-js-toggle'),
  );
  //historico por años
  $menu[3]['children'][] = l('Histórico por Años', 'eventos-observatorio/' . $node->nid);
  $menu[3]['children'][] = l('Encuentro Observatorios ', '/noticia/vii-encuentro-internacional-y-xi-nacional-red-observatorios-y-centros-investigacion-del');

  //Paginas añadidas por el usuario a su unidad
  //descargables
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'descargable')
    ->propertyCondition('status', NODE_PUBLISHED)
    ->fieldCondition('field_unidad', 'target_id', $node->nid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $news_items_nids = array_keys($result['node']);
    foreach ($news_items_nids as $ckey => $cvalue) {
      $node_unidad = node_load($cvalue);
      $posicion = field_get_items('node', $node_unidad, 'field_ubicacion_menu_observatori');
      if($posicion[0]['value']){
        $menu[$posicion[0]['value']]['children'][] = l($node_unidad->title, 'node/' . $node_unidad->nid);
      }else{
        $menu[0]['children'][] = l($node_unidad->title, 'node/' . $node_unidad->nid);
      }
    }
  }
  //paginas
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'p_gina')
    ->propertyCondition('status', NODE_PUBLISHED)
    ->fieldCondition('field_unidad', 'target_id', $node->nid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $news_items_nids = array_keys($result['node']);
    foreach ($news_items_nids as $ckey => $cvalue) {
      $node_unidad = node_load($cvalue);
      $posicion = field_get_items('node', $node_unidad, 'field_ubicacion_menu_observatori');
      if($posicion[0]['value']){
        $menu[$posicion[0]['value']]['children'][] = l($node_unidad->title, 'node/' . $node_unidad->nid);
      }else{
        $menu[0]['children'][] = l($node_unidad->title, 'node/' . $node_unidad->nid);
      }
    }
  }
  //vinculos
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'vinculos')
    ->propertyCondition('status', NODE_PUBLISHED)
    ->fieldCondition('field_unidad', 'target_id', $node->nid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $news_items_nids = array_keys($result['node']);
    foreach ($news_items_nids as $ckey => $cvalue) {
      $node_unidad = node_load($cvalue);
      $posicion = field_get_items('node', $node_unidad, 'field_ubicacion_menu_observatori');
      if($posicion[0]['value']){
        $menu[$posicion[0]['value']]['children'][] = l($node_unidad->title, 'node/' . $node_unidad->nid);
      }else{
        $menu[0]['children'][] = l($node_unidad->title, 'node/' . $node_unidad->nid);
      }
    }
  }
  //galeria
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'galeria')
    ->propertyCondition('status', NODE_PUBLISHED)
    ->fieldCondition('field_unidad', 'target_id', $node->nid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $news_items_nids = array_keys($result['node']);
    foreach ($news_items_nids as $ckey => $cvalue) {
      $node_unidad = node_load($cvalue);
      $posicion = field_get_items('node', $node_unidad, 'field_ubicacion_menu_observatori');
      if($posicion[0]['value']){
        $menu[$posicion[0]['value']]['children'][] = l($node_unidad->title, 'node/' . $node_unidad->nid);
      }else{
        $menu[0]['children'][] = l($node_unidad->title, 'node/' . $node_unidad->nid);
      }
    }
  }
  
  $type = 'ul';
  // The following attributes apply to the list tag (e.g., <ol> or <ul>)
  $attributes = array(
    'id' => 'menu-policia-unidad-observatorio',
    'class' => 'policia-unidad-observatorio',
  );

  $list = theme_item_list(array('items' => $menu, 'title' => '', 'type' => $type, 'attributes' => $attributes));
  return($list);
}

function policia_creacion_menu($node, $arg_menu){
  //Portada
  $menu[] = l('Portada', 'node/' . $node->nid);
  //Director
  $director_avalible = policia_fields_avalibles($node, 'director', $arg_menu);
  if($director_avalible){
    $director = field_get_items('node', $node, 'field_director');
    $entity = entity_load_single('unidades', $director[0]['target_id']);
    $cargo = field_get_items('unidades', $entity, 'field_cargo_director');
    $my_field = field_info_field('field_cargo_director');
    $allowed_values= list_allowed_values($my_field);
    foreach ($allowed_values as $key => $value) {
      if($key == $cargo[0]['value']){
        $nombre = $value;
      }
    }
    if(!isset($nombre)){
      $nombre = 'Director';
    }
    //$unidad = field_get_items('node', $node, 'field_tipo_de_unidad');
    /*if($unidad[0]['tid'] == 58 || $unidad[0]['tid'] == 54){
      if($node->nid == 128536){
        $nombre = 'Secretario General';
      }else{
        $nombre = 'Jefe de Oficina';
      }
    }elseif($unidad[0]['tid'] == 55){
      $nombre = 'Comandante';
    }else{
      $nombre = 'Director';
    }*/
    if($director[0]['target_id']){
      $menu[] = l($nombre, 'unidades/director/' . $director[0]['target_id']);
    }
  }
  //Componente aeronáutico
  $componente_avalible = policia_fields_avalibles($node, 'componente', $arg_menu);
  if($componente_avalible){
      $menu[] = l('Componente Aeronáutico', 'componente-aeronautico/' . $node->nid);
  }
  //Bases aéreas
  $bases_aereas_avalible = policia_fields_avalibles($node, 'bases_aereas', $arg_menu);
  if($bases_aereas_avalible){
    $bases_aereas = field_get_items('node', $node, 'field_bases_aereas');
    if($bases_aereas[0]['target_id']){
      $menu[] = l('Bases Aéreas', 'unidades/bases_aereas/' . $bases_aereas[0]['target_id']);
    }
  }
  //Funciones
  $funciones_avalible = policia_fields_avalibles($node, 'funciones', $arg_menu);
  if($funciones_avalible){
    $funciones = field_get_items('node', $node, 'field_funciones');
    if($funciones[0]['target_id']){
      $menu[] = l('Funciones', 'unidades/funciones/' . $funciones[0]['target_id']);
    }
  }
  //Actividades
  $noticia_avalible = policia_fields_avalibles($node, 'noticia', $arg_menu);
  if($noticia_avalible){
    $menu[] = l('Actividades', 'resultados/unidad/' . $node->nid);
  }

  //Encuentros Comunitarios
    //$menu[] = l('Encuentros Comunitarios', 'encuentros-comunitarios/'. $node->nid);
 
  //Organigrama
  $organigrama_avalible = policia_fields_avalibles($node, 'organigrama', $arg_menu);
  if($organigrama_avalible){
    $organigrama = field_get_items('node', $node, 'field_organigrama');
    if($organigrama[0]['target_id']){
      $menu[] = l('Organigrama', 'unidades/organigrama/' . $organigrama[0]['target_id']);
    }
  }
  $roles_y_uniformes_avalible = policia_fields_avalibles($node, 'roles_y_uniformes', $arg_menu);
  if($roles_y_uniformes_avalible){
    $roles_y_uniformes = field_get_items('node', $node, 'field_roles_y_uniformes');
    if($roles_y_uniformes[0]['target_id']){
      $menu[] = l('Roles y uniforme', 'unidades/roles_y_uniformes/' . $roles_y_uniformes[0]['target_id']);
    }
  }
  //Mapa
  $mapa_avalible = policia_fields_avalibles($node, 'mapa', $arg_menu);
  if($mapa_avalible){
    $mapa = field_get_items('node', $node, 'field_ubicacion');
    if($mapa[0]['target_id']){
      $menu[] = l('Localización', 'unidades/mapa/' . $mapa[0]['target_id']);
    }
  }
  //Directorio
  $directorio_avalible = policia_fields_avalibles($node, 'directorio', $arg_menu);
  if($directorio_avalible){
    $directorio = field_get_items('node', $node, 'field_directorio_unidad');
    if($directorio[0]['target_id']){
      $menu[] = l('Directorio', 'directorio/unidad/' . $node->nid);
    }
  }
  //Atencion la ciudadano
  $atencion_avalible = policia_fields_avalibles($node, 'atencion', $arg_menu);
  if($atencion_avalible){
    $atencion = field_get_items('node' , $node, 'field_atenci_n_al_ciudadano');
    if($atencion[0]['value']){
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $menu[] = l('Atención al Ciudadano', '', array('fragment' => 'atencion-ciudadano', 'external' => TRUE));
      }else{
        $menu[] = l('Atención al Ciudadano', 'node/' . $node->nid, array('fragment' => 'atencion-ciudadano', 'external' => FALSE));
      }
    }
  }
  //Rendicion de cuentas
  $rendicion_avalible = policia_fields_avalibles($node, 'rendicion', $arg_menu);
  if($rendicion_avalible){
    $rendicion = field_get_items('node', $node, 'field_rendicion_de_cuentas');
    if($rendicion && $rendicion[0]['fid']){
      if(arg(0) == 'node' && is_numeric(arg(1))){
        $menu[] = l('Rendición de Cuentas', '', array('fragment' => 'rendicion-cuentas', 'external' => TRUE));
      }else{
        $menu[] = l('Rendición de Cuentas', 'node/' . $node->nid, array('fragment' => 'rendicion-cuentas', 'external' => FALSE));
      }
    }
  }
  //Bienestar universitario
  $bienestar_avalible = policia_fields_avalibles($node, 'bienestar', $arg_menu);
  if($bienestar_avalible){
    $bienestar = field_get_items('node', $node, 'field_bienestar_universitario');
    if($bienestar[0]['target_id']){
      $menu[] = l('Bienestar Universitario', 'unidades/bienestar_universitario/' . $bienestar[0]['target_id']);
    }
  }
  //Investigacion
  $investigacion_avalible = policia_fields_avalibles($node, 'investigacion', $arg_menu);
  if($investigacion_avalible){
    $investigacion = field_get_items('node', $node, 'field_investigacion');
    if($investigacion[0]['target_id']){
      $menu[] = l('Investigación', 'unidades/investigacion/' . $investigacion[0]['target_id']);
    }
  }
  //Educacion continuada
  $educacion_avalible = policia_fields_avalibles($node, 'educacion', $arg_menu);
  if($educacion_avalible){
    $educacion = field_get_items('node', $node, 'field_educacion_continuada');
    if($educacion[0]['target_id']){
      $menu[] = l('Educación Continuada', 'unidades/educacion_continuada/' . $educacion[0]['target_id']);
    }
  }
  //Biblioteca
  $biblioteca_avalible = policia_fields_avalibles($node, 'biblioteca', $arg_menu);
  if($biblioteca_avalible){
    $biblioteca = field_get_items('node', $node, 'field_biblioteca');
    if($biblioteca[0]['target_id']){
      $menu[] = l('Biblioteca', 'unidades/biblioteca/' . $biblioteca[0]['target_id']);
    }
  }
  //Simbolos
  $simbolos_avalible = policia_fields_avalibles($node, 'simbolos', $arg_menu);
  if($simbolos_avalible){
    $simbolos = field_get_items('node', $node, 'field_simbolos_unidad');
    if($simbolos[0]['target_id']){
      $menu[] = l('Símbolos', 'unidades/simbolos/' . $simbolos[0]['target_id']);
    }
  }
  //perfil
  $perfil_avalible = policia_fields_avalibles($node, 'perfil', $arg_menu);
  if($perfil_avalible){
    $perfil = field_get_items('node', $node, 'field_perfil');
    if($perfil[0]['target_id']){
      $menu[] = l('Perfil', 'unidades/perfil/' . $perfil[0]['target_id']);
    }
  }
  //Medios tecnicos
  $medios_tecnicos_avalible = policia_fields_avalibles($node, 'medios_tecnicos', $arg_menu);
  if($medios_tecnicos_avalible){
    $medios_tecnicos = field_get_items('node', $node, 'field_medios_tecnicos');
    if($medios_tecnicos[0]['target_id']){
      $menu[] = l('Medios Técnicos', 'unidades/medios_tecnicos/' . $medios_tecnicos[0]['target_id']);
    }
  }
  //distribucion
  $distribucion_avalible = policia_fields_avalibles($node, 'distribucion', $arg_menu);
  if($distribucion_avalible){
    $distribucion = field_get_items('node', $node, 'field_distribucion');
    if($distribucion[0]['target_id']){
      $menu[] = l('Distribucion', 'unidades/distribucion/' . $distribucion[0]['target_id']);
    }
  }
  //uniforme
  $uniforme_avalible = policia_fields_avalibles($node, 'uniforme', $arg_menu);
  if($uniforme_avalible){
    $uniforme = field_get_items('node', $node, 'field_un_uniforme');
    if($uniforme[0]['target_id']){
      $menu[] = l('Uniforme', 'unidades/uniforme/' . $uniforme[0]['target_id']);
    }
  }
  //Cooperacion internacional
  $cooperacion_avalible = policia_fields_avalibles($node, 'cooperacion', $arg_menu);
  if($cooperacion_avalible){
    $cooperacion = field_get_items('node', $node, 'field_cooperacion_internacional');
    if($cooperacion[0]['target_id']){
      $menu[] = l('Cooperación Internacional', 'unidades/cooperacion_internacional/' . $cooperacion[0]['target_id']);
    }
  }
  //Misiones de paz
  $misiones_de_paz_avalible = policia_fields_avalibles($node, 'misiones_de_paz', $arg_menu);
  if($misiones_de_paz_avalible){
    $misiones_de_paz = field_get_items('node', $node, 'field_misiones_de_paz');
    if($misiones_de_paz[0]['target_id']){
      $menu[] = l('Misiones de Paz', 'unidades/misiones_de_paz/' . $misiones_de_paz[0]['target_id']);
    }
  }
  //Eventos internacionales
  $eventos_internacionales_avalible = policia_fields_avalibles($node, 'eventos', $arg_menu);
  if($eventos_internacionales_avalible){
    $menu[] = l('Eventos Internacionales', 'eventos-unidad/' . $node->nid);
  }
  //doctrina
  $doctrina_avalible = policia_fields_avalibles($node, 'doctrina', $arg_menu);
  if($doctrina_avalible){
    $doctrina = field_get_items('node', $node, 'field_doctrina');
    if($doctrina[0]['target_id']){
      $menu[] = l('Doctrina', 'unidades/doctrina/' . $doctrina[0]['target_id']);
    }
  }
  //capacitacion
  $capacitacion_avalible = policia_fields_avalibles($node, 'capacitacion', $arg_menu);
  if($capacitacion_avalible){
    $capacitacion = field_get_items('node', $node, 'field_capacitacion');
    if($capacitacion[0]['target_id']){
      $menu[] = l('Capacitación', 'unidades/capacitacion/' . $capacitacion[0]['target_id']);
    }
  }
  //asesoria y acompanamiento
  $asesoria_y_acompanamiento_avalible = policia_fields_avalibles($node, 'asesoria_y_acompanamiento', $arg_menu);
  if($asesoria_y_acompanamiento_avalible){
    $asesoria_y_acompanamiento = field_get_items('node', $node, 'field_asesoria_y_acompanamiento');
    if($asesoria_y_acompanamiento[0]['target_id']){
      $menu[] = l('Asesoria y Acompañamiento', 'unidades/asesoria_y_acompanamiento/' . $asesoria_y_acompanamiento[0]['target_id']);
    }
  }
  //Presencia en el exterior
  $presencia_avalible = policia_fields_avalibles($node, 'presencia-exterior', $arg_menu);
  if($presencia_avalible){
      $menu[] = l('Presencia en el Exterior', 'presencia-exterior/' . $node->nid);
  }
  //productos
  $productos_avalible = policia_fields_avalibles($node, 'productos', $arg_menu);
  if($productos_avalible){
    $productos = field_get_items('node', $node, 'field_productos');
    if($productos[0]['target_id']){
      $menu[] = l('Productos', 'unidades/productos/' . $productos[0]['target_id']);
    }
  }
  //Reseña historica
  $resena_avalible = policia_fields_avalibles($node, 'resena', $arg_menu);
  if($resena_avalible){
    if(arg(0) == 'node' && is_numeric(arg(1))){
      $menu[] = l('Reseña Histórica', '', array('fragment' => 'resena-historica', 'external' => TRUE, 'attributes' => array('title' => 'Title here.')));
    }else{
      $menu[] = l('Reseña Histórica', 'node/' . $node->nid, array('fragment' => 'resena-historica', 'external' => FALSE));
    }
  }
  //Paginas añadidas por el usuario a su unidad
  //descargables
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'descargable')
    ->propertyCondition('status', NODE_PUBLISHED)
    ->fieldCondition('field_unidad', 'target_id', $node->nid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $news_items_nids = array_keys($result['node']);
    $arg = arg();
    if($arg[0] == 'node' && is_numeric($arg[1])){
      $current_node = node_load($arg[1]);
      if($current_node->type == 'unidades'){
        foreach ($news_items_nids as $ckey => $cvalue) {
          $node_unidad = node_load($cvalue);
          $posicion = field_get_items('node', $node_unidad, 'field_ubicacion_menu_escuela');
          if($posicion[0]['value']){
            if($arg_menu == $posicion[0]['value']){
              $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
            }
          }else{
            if($arg_menu == 1){
              $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
            }
          }
        }
      }else{
        foreach ($news_items_nids as $ckey => $cvalue) {
          $node_unidad = node_load($cvalue);
          if($arg_menu == 1){
            $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
          }
        }
      }
    }else{
      foreach ($news_items_nids as $ckey => $cvalue) {
        $node_unidad = node_load($cvalue);
        if($arg_menu == 1){
          $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
        }
      }
    }
  }
  //paginas
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'p_gina')
    ->propertyCondition('status', NODE_PUBLISHED)
    ->fieldCondition('field_unidad', 'target_id', $node->nid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $news_items_nids = array_keys($result['node']);
    $arg = arg();
    if($arg[0] == 'node' && is_numeric($arg[1])){
      $current_node = node_load($arg[1]);
      if($current_node->type == 'unidades'){
        foreach ($news_items_nids as $ckey => $cvalue) {
          $node_unidad = node_load($cvalue);
          $posicion = field_get_items('node', $node_unidad, 'field_ubicacion_menu_escuela');
          if($posicion[0]['value']){
            if($arg_menu == $posicion[0]['value']){
              $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
            }
          }else{
            if($arg_menu == 1){
              $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
            }
          }
        }
      }else{
        foreach ($news_items_nids as $ckey => $cvalue) {
          $node_unidad = node_load($cvalue);
          if($arg_menu == 1){
            $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
          }
        }
      }
    }else{
      foreach ($news_items_nids as $ckey => $cvalue) {
        $node_unidad = node_load($cvalue);
        if($arg_menu == 1){
          $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
        }
      }
    }
  }
  //vinculos
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'vinculos')
    ->propertyCondition('status', NODE_PUBLISHED)
    ->fieldCondition('field_unidad', 'target_id', $node->nid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $news_items_nids = array_keys($result['node']);
    $arg = arg();
    if($arg[0] == 'node' && is_numeric($arg[1])){
      $current_node = node_load($arg[1]);
      if($current_node->type == 'unidades'){
        foreach ($news_items_nids as $ckey => $cvalue) {
          $node_unidad = node_load($cvalue);
          $posicion = field_get_items('node', $node_unidad, 'field_ubicacion_menu_escuela');
          if($posicion[0]['value']){
            if($arg_menu == $posicion[0]['value']){
              $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
            }
          }else{
            if($arg_menu == 1){
              $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
            }
          }
        }
      }else{
        foreach ($news_items_nids as $ckey => $cvalue) {
          $node_unidad = node_load($cvalue);
          if($arg_menu == 1){
            $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
          }
        }
      }
    }else{
      foreach ($news_items_nids as $ckey => $cvalue) {
        $node_unidad = node_load($cvalue);
        if($arg_menu == 1){
          $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
        }
      }
    }
  }
  //galeria
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'galeria')
    ->propertyCondition('status', NODE_PUBLISHED)
    ->fieldCondition('field_unidad', 'target_id', $node->nid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $news_items_nids = array_keys($result['node']);
    $arg = arg();
    if($arg[0] == 'node' && is_numeric($arg[1])){
      $current_node = node_load($arg[1]);
      if($current_node->type == 'unidades'){
        foreach ($news_items_nids as $ckey => $cvalue) {
          $node_unidad = node_load($cvalue);
          $posicion = field_get_items('node', $node_unidad, 'field_ubicacion_menu_escuela');
          if($posicion[0]['value']){
            if($arg_menu == $posicion[0]['value']){
              $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
            }
          }else{
            if($arg_menu == 1){
              $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
            }
          }
        }
      }else{
        foreach ($news_items_nids as $ckey => $cvalue) {
          $node_unidad = node_load($cvalue);
          if($arg_menu == 1){
            $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
          }
        }
      }
    }else{
      foreach ($news_items_nids as $ckey => $cvalue) {
        $node_unidad = node_load($cvalue);
        if($arg_menu == 1){
          $menu[] = l($node_unidad->title, 'node/' . $node_unidad->nid);
        }
      }
    }
  }
  $type = 'ul';
  // The following attributes apply to the list tag (e.g., <ol> or <ul>)
  $attributes = array(
    'id' => 'menu-policia-unidad-'.$arg_menu,
    'class' => 'menu-policia-unidad',
  );
  
  $menu = array_merge(array("0" => $node->nid),$menu);

  $list = theme_item_list(array('items' => $menu, 'title' => '', 'type' => $type, 'attributes' => $attributes));
  return($list);
}

/**
 * Implement hook_form_alter
 */
function policia_form_alter(&$form, &$form_state, $form_id){
  if(isset($form['title'])){
    $form['title']['#title'] = 'Título';
    $form['title']['#maxlength'] = 128;
  }
  switch ($form_id) {
    case 'revista_de_criminalidad_node_form':
      global $user;
      if(in_array('editor', $user->roles)){
        $og_groups = og_get_groups_by_user($user);
        if($og_groups['node']){
          $revista = FALSE;

          foreach ($og_groups['node'] as $key => $value) {
            $entity = node_load($value);
            if(arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'revista-de-criminalidad'){
              $avalible_revista = policia_fields_avalibles($entity, 'revista');
              if($avalible_revista){
                $revista = TRUE;
              }
            }
          }
          if(arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'revista-de-criminalidad'){
            if(!$revista){
              $form['#access'] = FALSE;
            }
          }
        }
      }
      break;
    case 'establecimientos_de_sanidad_node_form':
      $form['title']['#title'] = 'Eps o Programa';
      $form['body'][LANGUAGE_NONE][0]['#title'] = 'Portafolio de Servicios';
      break;
    case 'estado_de_via_node_form':
      $form['title']['#title'] = 'Via';
      break;
    case 'metatag_context_config_add_form':
      $form['name']['#title'] = 'Nombre';
      $form['name']['#description'] = 'El identificador único para esta regla de contexto ruta metaetiqueta. Este debe contener solamente letras minúsculas, números y caracteres de subrayado.';
      break;
    case 'polired_node_form':
      $form['field_polired_noticias']['und']['actions']['ief_add']['#value'] = 'Añadir nueva noticia';
      if(isset($form['field_polired_noticias']['und']['form']['#title'])){
        $form['field_polired_noticias']['und']['form']['#title'] = 'Noticias Polired';
      }
      break;
    case 'galeria_node_form':
    case 'vinculos_node_form':
    case 'descargable_node_form':
      $form = items_editores_unidades($form, 'all');
      break;
    case 'noticias_node_form':
      global $user;
      if(in_array('editor', $user->roles)){
        $og_groups = og_get_groups_by_user($user);
        if($og_groups['node']){
          $noticias = FALSE;
          foreach ($og_groups['node'] as $key => $value) {
            $entity = node_load($value);
            if(arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'noticias') {
              $avalible_noticia = policia_fields_avalibles($entity, 'noticia');
              if($avalible_noticia){
                $noticias = TRUE;
              }
            }
          }
          if(arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'noticias') {
            if(!$noticias){
              $form['#access'] = FALSE;
            }
          }
        }
      }
      $form = items_editores_unidades($form, 'noticia');
      global $user;
      if(in_array('administrator', $user->roles) || in_array('publicador noticias', $user->roles)){
        $form['nodequeue_add'] = array(
          '#type' => 'checkbox', 
          '#title' => t('Adherir a lista de destacados del home'),
          '#description' => 'La noticia se destacara solo si se publicada en el momento de guardarla, de lo contraria debe ir a la pestaña del nodo llamada nodequeue y destacarla',
          '#weight' => 50,
        );
        $form['nodequeue_position'] = array(
          '#type' => 'select',
          '#title' => t('Posicion del destacado'),
          '#options' => array(
            1 => 1,
            2 => 2,
          ),
          '#default_value' => 2,
          '#description' => t('Seleccione la posicion en el home para destacar esta noticia'),
          '#weight' => 51,
        );
        $form['actions']['submit']['#submit'][] = 'policia_noticias_node_form_submit';
      }else{
        $form['field_fecha_de_publicacion']['#access'] = FALSE;
      }
      break;
    case 'componente_aeronautico_node_form':
      global $user;
      if(in_array('editor', $user->roles)){
        $og_groups = og_get_groups_by_user($user);
        if($og_groups['node']){
          $componente = FALSE;

          foreach ($og_groups['node'] as $key => $value) {
            $entity = node_load($value);
            if(arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'componente-aeronautico'){
              $avalible_componente = policia_fields_avalibles($entity, 'componente');
              if($avalible_componente){
                $componente = TRUE;
              }
            }
          }
          if(arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'componente-aeronautico'){
            if(!$componente){
              $form['#access'] = FALSE;
            }
          }
        }
      }
      $items = array();
      $og_groups = og_get_groups_by_user($user);
      $items['_none'] = '- None -'; 
      foreach ($og_groups['node'] as $key => $value) {
        $node = node_load($value);
        if($node){
          $avalible = policia_fields_avalibles($node, 'componente');
          if($avalible){
            $items[$value] = $node->title; 
          }
        }
      }
      $form['field_unidad'][LANGUAGE_NONE]['#options'] = $items;
      if(in_array('editor', $user->roles)){
        $form['field_unidad'][LANGUAGE_NONE]['#required'] = TRUE;
      }
      break;
    case 'evento_node_form':
      global $user;
      if(!in_array('editor glosario', $user->roles)){
        if(in_array('editor', $user->roles)){
          $og_groups = og_get_groups_by_user($user);
          if($og_groups['node']){
            $eventos = FALSE;
            foreach ($og_groups['node'] as $key => $value) {
              $entity = node_load($value);
              if(arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'evento'){
                $avalible_eventos = policia_fields_avalibles($entity, 'eventos');
                if($avalible_eventos){
                  $eventos = TRUE;
                }
              }
            }
            if(arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'evento'){
              if(!$eventos){
                $form['#access'] = FALSE;
              }
            }
          }
        }
        $form = items_editores_unidades($form, 'eventos');
      }else{
        $options['_none'] = '- Ninguno -';
        foreach ($form['field_unidad']['und']['#options'] as $key => $value) {
          $node = node_load($key);
          if(is_object($node)){
            $tid = field_get_items('node', $node, 'field_tipo_de_unidad');
            if($tid[0]['tid'] && in_array($tid[0]['tid'], array(58, 63))){
              $options[$key] = $value;
            }
          }
        }
        $form['field_unidad']['und']['#options'] = $options;
      }
      break;
    case 'unidades_node_form':
      if(isset($form['field_director']['und']['#options'])){
        $result = db_query("SELECT entity_id, field_nombre_value FROM field_data_field_nombre WHERE entity_type = 'unidades' and bundle = 'director'");
        $director = array('_none' => '- Ninguno -');
        foreach ($result as $key => $value){
          $director[$value->entity_id] = $value->field_nombre_value;
        }
        $form['field_director']['und']['#options'] = $director;
      }
      if(isset($form['field_tipo_de_unidad'][LANGUAGE_NONE]['#default_value'][0])){
        $form['field_tipo_de_unidad'][LANGUAGE_NONE]['#disabled'] = TRUE;
      }
      $form['#prefix'] = '<div id="ajax-callback-wrapper">';
      $form['#suffix'] = '</div>';
      $form['field_tipo_de_unidad'][LANGUAGE_NONE]['#ajax'] = array(
        'callback' => 'ajax_unidad_form_node_callback',
        'wrapper' => 'ajax-callback-wrapper',
        'effect' => 'fade',
      );
      if(isset($form['field_tipo_de_unidad'][LANGUAGE_NONE]['#default_value'][0]) && $form['field_tipo_de_unidad'][LANGUAGE_NONE]['#default_value'][0] != 55){
        $form['field_ubicacion'][LANGUAGE_NONE]['form']['field_jurisdiccion']['#access'] = FALSE;
        $form['field_directorio_unidad'][LANGUAGE_NONE]['form']['field_estaciones_cais']['#access'] = FALSE;
      }
      if(isset($form_state['values']['field_tipo_de_unidad'][LANGUAGE_NONE][0]['tid']) && $form_state['values']['field_tipo_de_unidad'][LANGUAGE_NONE][0]['tid'] != 55){
        $form['field_ubicacion'][LANGUAGE_NONE]['form']['field_jurisdiccion']['#access'] = FALSE;
        $form['field_directorio_unidad'][LANGUAGE_NONE]['form']['field_estaciones_cais']['#access'] = FALSE;
      }
      global $user;
      $form = edit_entity_unidades($form, 'field_director', 'director', 'Editar director', $user);
      $form = edit_entity_unidades($form, 'field_organigrama', 'organigrama', 'Editar organigrama', $user);
      $form = edit_entity_unidades($form, 'field_funciones', 'funciones', 'Editar funciones', $user);
      $form = edit_entity_unidades($form, 'field_ubicacion', 'mapa', 'Editar ubicación', $user);
      $form = edit_entity_unidades($form, 'field_directorio_unidad', 'directorio', 'Editar directorio', $user);
      $form = edit_entity_unidades($form, 'field_simbolos_unidad', 'simbolos', 'Editar simbolos', $user);
      $form = edit_entity_unidades($form, 'field_biblioteca', 'biblioteca', 'Editar biblioteca', $user);
      $form = edit_entity_unidades($form, 'field_bienestar_universitario', 'bienestar_universitario', 'Editar bienestar universitario', $user);
      $form = edit_entity_unidades($form, 'field_investigacion', 'investigacion', 'Editar investigación', $user);
      $form = edit_entity_unidades($form, 'field_educacion_continuada', 'educacion_continuada', 'Editar educación continuada', $user);
      $form = edit_entity_unidades($form, 'field_bases_aereas', 'bases_aereas', 'Editar bases aéreas', $user);
      $form = edit_entity_unidades($form, 'field_roles_y_uniformes', 'roles_y_uniformes', 'Editar roles y uniformes', $user);
      $form = edit_entity_unidades($form, 'field_vinculese_a_nuestra_red', 'vinculese_a_nuestra_red', 'Editar vinculese a nuestra red', $user);
      $form = edit_entity_unidades($form, 'field_objetivo', 'objetivo', 'Editar objetivo', $user);
      $form = edit_entity_unidades($form, 'field_integrantes_de_nuestra_red', 'integrantes_de_nuestra_red', 'Editar integrantes de nuestra red', $user);
      $form = edit_entity_unidades($form, 'field_estudio_criminologia', 'estudio_criminologia', 'Editar estudio criminologia', $user);
      $form = edit_entity_unidades($form, 'field_analisis_criminologico', 'analisis_criminologico', 'Editar analisis criminologico', $user);
      $form = edit_entity_unidades($form, 'field_georeferenciacion_del_deli', 'georeferenciacion_del_delito', 'Editar georeferenciacion del delito', $user);
      $form = edit_entity_unidades($form, 'field_investigaci_n_criminologic', 'inv_criminologica', 'Editar investigacion criminologica', $user);
      $form = edit_entity_unidades($form, 'field_perfil', 'perfil', 'Editar perfil', $user);
      $form = edit_entity_unidades($form, 'field_medios_tecnicos', 'medios_tecnicos', 'Editar medios tecnicos', $user);
      $form = edit_entity_unidades($form, 'field_distribucion', 'distribucion', 'Editar distribucion', $user);
      $form = edit_entity_unidades($form, 'field_un_uniforme', 'uniforme', 'Editar uniforme', $user);
      $form = edit_entity_unidades($form, 'field_cooperacion_internacional', 'cooperacion_internacional', 'Editar cooperacion internacional', $user);
      $form = edit_entity_unidades($form, 'field_misiones_de_paz', 'misiones_de_paz', 'Editar Misiones de paz', $user);
      $form = edit_entity_unidades($form, 'field_evento_internacional', 'evento_internacional', 'Editar evento internacional', $user);
      $form = edit_entity_unidades($form, 'field_doctrina', 'doctrina', 'Editar doctrina', $user);
      $form = edit_entity_unidades($form, 'field_capacitacion', 'capacitacion', 'Editar capacitacion', $user);
      $form = edit_entity_unidades($form, 'field_asesoria_y_acompanamiento', 'asesoria_y_acompanamiento', 'Editar Asesoria y acompañamiento', $user);
      $form = edit_entity_unidades($form, 'field_productos', 'productos', 'Editar productos', $user);
      break;
    case 'views_exposed_form':
      switch ($form['#id']) {
        case 'views-exposed-form-establecimientos-de-sanidad-page':
          $form['title']['#title'] = 'Eps o Programa';
          break;
        case 'views-exposed-form-demandas-a-la-institucion-page':
          unset($form['title']['#title']);
          break;
        case 'views-exposed-form-documentos-recuperados-page':
          unset($form['field_tipo_documento_tid']['#description']);
          break;
        case 'views-exposed-form-contratos-page':
          unset($form['field_tipo_contrato_tid']['#description']);
          break;
        case 'views-exposed-form-solr-noticias-page-2':
        case 'views-exposed-form-solr-noticias-page-1':
        case 'views-exposed-form-solr-noticias-page-5':
          $form['#after_build'][] = 'policia_search_after_build';
          unset($form['field_noticia_ciudad']);
          $form['field_noticia_ciudad'] = array(
            '#type' => 'textfield',
            '#autocomplete_path' => 'city/autocomplete',
          );
          $form['submit']['#value'] = 'Buscar';
          $form['#validate'][] = 'result_views_exposed_form_submit';
          break;
        case 'views-exposed-form-eventos-page':
          $form['#after_build'][] = 'policia_search_event_after_build';
          break;
        case 'views-exposed-form-lista-descargable-block-page-1':
          $form['#after_build'][] = 'policia_search_descargables_after_build';
          break;
        case 'views-exposed-form-vinculos-block':
          $form['#after_build'][] = 'policia_search_vinculos_after_build';
          break;
        case 'views-exposed-form-buscador-page':
          $form['#after_build'][] = 'policia_search_buscador_after_build';
          break;
      }
      break;
    case 'p_gina_node_form':
      $form = items_editores_unidades($form, 'all');
      $form['#prefix'] = '<div id="pagina-ajax-callback-wrapper">';
      $form['#suffix'] = '</div>';
      foreach ($form['field_objetos']['und'] as $key => $value) {
        if(isset($value['#entity_type']) && $value['#entity_type'] ==  'field_collection_item'){
          if(!isset($form['field_objetos']['und'][$key]['field_tipo_de_objeto']['und']['#default_value'][0])){
            $form['field_objetos']['und'][$key]['field_title']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_archivo']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_internal_link']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_external_link']['#access'] = FALSE;
          }elseif ($form_state['values']['field_objetos']['und'][$key]['field_tipo_de_objeto']['und'][0]['value'] == 'download' || $form['field_objetos']['und'][$key]['field_tipo_de_objeto']['und']['#default_value'][0]  == 'download') {
            $form['field_objetos']['und'][$key]['field_internal_link']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_external_link']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_tipo_de_objeto']['und']['#disabled'] = TRUE;
          }elseif ($form_state['values']['field_objetos']['und'][$key]['field_tipo_de_objeto']['und'][0]['value'] == 'link_interno' || $form['field_objetos']['und'][$key]['field_tipo_de_objeto']['und']['#default_value'][0]  == 'link_interno') {
            $form['field_objetos']['und'][$key]['field_archivo']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_external_link']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_tipo_de_objeto']['und']['#disabled'] = TRUE;
          }elseif ($form_state['values']['field_objetos']['und'][0]['field_tipo_de_objeto']['und'][0]['value'] == 'link_externo' || $form['field_objetos']['und'][$key]['field_tipo_de_objeto']['und']['#default_value'][0]  == 'link_externo') {
            $form['field_objetos']['und'][$key]['field_archivo']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_internal_link']['#access'] = FALSE;
            $form['field_objetos']['und'][$key]['field_tipo_de_objeto']['und']['#disabled'] = TRUE;
          }
          $form['field_objetos']['und'][$key]['field_tipo_de_objeto']['und']['#ajax'] = array(
            'callback' => 'ajax_unidad_form_node_callback',
            'wrapper' => 'pagina-ajax-callback-wrapper',
            'effect' => 'fade',
          );
        }
      }
      break;
  }
}

function edit_entity_unidades($form, $field, $name_bundle, $label, $user){
  if($form['#entity']){
    $node = $form['#entity'];
    $field_id = field_get_items('node', $node, $field);
    if(is_numeric($field_id[0]['target_id'])){
      $form['link_' . $name_bundle] = array(
        '#prefix' => '<div>',
        '#suffix' => '</div>',
        '#markup' => l($label, 'unidades/'.$name_bundle.'/'.$field_id[0]['target_id'].'/edit', array('attributes' => array('target'=>'_blank'))),
        '#weight' => $form[$field]['#weight'],
      );
    }
  }
  if(!in_array('administrator', $user->roles)){
    $form[$field]['#access'] = FALSE;
  }
  return $form;
}

function items_editores_unidades($form, $tipo){
  global $user;
  if(in_array('editor', $user->roles)){
    $items = array();
    $og_groups = og_get_groups_by_user($user);
    $items['_none'] = '- None -'; 
    foreach ($og_groups['node'] as $key => $value) {
      $node = node_load($value);
      if($node){
        $avalible = policia_fields_avalibles($node, $tipo);
        if($avalible){
          $items[$value] = $node->title; 
        }
      }
    }
    $form['field_unidad'][LANGUAGE_NONE]['#options'] = $items;
    if(!in_array('multisitios', $user->roles)){
      $form['field_unidad'][LANGUAGE_NONE]['#required'] = TRUE;
    }
  }
  return $form;
}
/**
 * Submit noticias_node_form
 */
function policia_noticias_node_form_submit($form, &$form_state){
  if($form_state['values']['nodequeue_add'] && $form_state['nid'] && $form_state['values']['workbench_moderation_state_new'] == 'published'){
    $queue = nodequeue_load(1);
    nodequeue_add_node_to_queue($queue, $form_state['nid'], $form_state['values']['nodequeue_position']);
  }
}

/**
 * Submit view_exposed
 */
function result_views_exposed_form_submit($form, &$form_state){
  $value = explode('|', $form_state['values']['field_noticia_ciudad']);
  if(is_numeric($value[1])){
    $form_state['values']['field_noticia_ciudad'] = $value[1];
  }
}

/**
 * After build
 */
function policia_search_after_build($form, &$form_state){
  for ($i=0; $i < 5; $i++) { 
    if(isset($form['filters']['children']['container-root']['container-container-' . $i])){
      $form['filters']['children']['container-root']['container-container-' . $i]['created']['date']['#title'] = '';
      $form['filters']['children']['container-root']['container-container-' . $i]['created']['date']['#attributes'] = array(
        'placeholder' => format_date(time(), 'custom', 'm/j/Y')
      );
      $form['filters']['children']['container-root']['container-container-' . $i]['created']['date']['#description'] = '';
      $form['filters']['children']['container-root']['container-container-' . $i]['created_1']['date']['#title'] = '';
      $form['filters']['children']['container-root']['container-container-' . $i]['created_1']['date']['#attributes'] = array(
        'placeholder' => format_date(time(), 'custom', 'm/j/Y')
      );
      $form['filters']['children']['container-root']['container-container-' . $i]['created_1']['date']['#description'] = '';
    }
  }
  return $form;
}
/**
 * After build
 */
function policia_search_buscador_after_build($form, &$form_state){
  $form['search_api_views_fulltext']['#attributes'] = array('placeholder' => 'Buscar en el sitio');
  return $form;
}

/**
 * After build
 */
function policia_search_event_after_build($form, &$form_state){
  $form['field_noticia_ciudad_tid']['#attributes'] = array('placeholder' => 'Buscar palabra en eventos');
  $form['title']['#attributes'] = array('placeholder' => 'Buscar Título');
  return $form;
}

/**
 * After build
 */
function policia_search_descargables_after_build($form, &$form_state){
  $form['field_title_value']['#attributes'] = array('placeholder' => 'Ingrese palabra a buscar');
  return $form;
}

/**
 * After build
 */
function policia_search_vinculos_after_build($form, &$form_state){
  $form['field_link_title']['#attributes'] = array('placeholder' => 'Ingrese palabra a buscar');
  return $form;
}

/**
 * Callback ajax
 */
function ajax_unidad_form_node_callback($form, &$form_state){
  return $form;
}

/**
 * 
 */
function policia_token_info() { 
  $info['tokens']['custom']['tid_unidad'] = array(
    'name' => t('Tid Unidad'),
    'description' => t('returna tid de una unidad'),
  );
  return $info;
}


/**
* Implements hook_tokens().
*/
function policia_tokens($type, $tokens, array $data = array(), array $options = array()) {
 $replacements = array();   
   if ($type == 'custom') {   
     foreach ($tokens as $name => $original) {     
      switch ($name) {
        case 'tid_unidad':
          $token = null;
          $current_path = current_path();
          $explode = explode('/', $current_path);
          if($explode[0] = 'node' && is_numeric($explode[1])){
            $node = node_load($explode[1]);
            $unidad = field_get_items('node', $node, 'field_tipo_de_unidad');
            $token = isset($unidad[0]['tid']) ? $unidad[0]['tid'] : null;
          }
          $replacements[$original] = $token;
          break;
      }
     }
  }

  return $replacements;  
}

function policia_fields_avalibles($node, $field, $arg_menu = NULL){
  $unidad = field_get_items('node', $node, 'field_tipo_de_unidad');
  $avalible = array();
  switch ($field) {
    case 'noticia':
        $avalible = array(6, 55, 56, 62, 2305);
      break;
      
    case 'director':
        $avalible = array(6, 54, 55, 56, 58, 59, 60, 62);
      break;
    case 'funciones':
        $avalible = array(57, 61, 63, 64);
      break;
    case 'organigrama':
        $avalible = array(6, 54, 55, 56, 58, 59, 60, 61, 62);
      break;
    case 'mapa':
        $avalible = array(55, 56);
      break;
    case 'directorio':
        $avalible = array(6, 54, 55, 56, 58, 59, 60, 62);
      break;
    case 'simbolos':
    case 'programas':
    case 'biblioteca':
    case 'bienestar':
    case 'investigacion':
    case 'educacion':
        $avalible = array(56);
      break;
    case 'resena':
        $avalible = array(6, 56, 57, 61);
      break;
    case 'atencion':
        $avalible = array(6, 54, 55, 56, 60, 62, 63);
      break;
    case 'rendicion':
        $avalible = array(6, 54, 55, 56, 58, 59, 60, 62);
      break;
    case 'componente':
    case 'bases_aereas':
    case 'roles_y_uniformes':
        $avalible = array(61);
      break;
    case 'mision':
    case 'intercambio_informacion':
    case 'capacitacion':
    case 'asesoria_tecnica':
    case 'asesoria_juridica':
    case 'boletines_fuentes':
        $avalible = array(2305);
      break;
    case 'quienes-somos':
        $avalible = array(63, 2305);
      break;
    case 'video-institucional':
    case 'nuestra-red':
    case 'objetivo':
    case 'red':
    case 'integrantes-red':
    case 'estudio_criminologia':
    case 'analisis_criminologico':
    case 'georeferenciacion_del_delito':
    case 'investigacion_criminologica':
    case 'revista':
        $avalible = array(63);
      break;
    case 'eventos':
        $avalible = array(58, 63);
      break;
    case 'perfil':
    case 'medios_tecnicos':
    case 'distribucion':
    case 'uniforme':
      $avalible = array(57);
      break;
    case 'presencia-exterior':
    case 'misiones_de_paz':
    case 'cooperacion':
    case 'eventos_internacionales':
    case 'cooperacion_internacionales':
      $avalible = array(58);
      break;
    case 'doctrina':
    case 'capacitacion':
    case 'asesoria_y_acompanamiento':
      $avalible = array(65);
      break;
    case 'productos':
      $avalible = array(64);
      break;
    case 'all':
      $avalible = array(6, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 2305);
      break;
  }
  //Valido que sea Escuelas de Policia
  $avalible_menu = FALSE;
  if($unidad[0]['tid'] == 56 && in_array($unidad[0]['tid'], $avalible) && is_numeric($arg_menu)){
    switch ($arg_menu) {
      case 1:
        switch ($field) {
          case 'director':
          case 'organigrama':
          case 'directorio':
          case 'atencion':
          case 'mapa':
          case 'simbolos':
            $avalible_menu = TRUE;
            break;
        }
        break;
      case 2:
        switch ($field) {
          case 'bienestar':
          case 'investigacion':
          case 'educacion':
          case 'biblioteca':
          case 'noticia':
            $avalible_menu = TRUE;
            break;
        }
        break;
    }
    if($avalible_menu){
      return TRUE;
    }else{
      return FALSE;
    }
  }
  if(in_array($unidad[0]['tid'], $avalible)){
    return TRUE;
  }else{
    return FALSE;
  }
}

/**
 * Implement hook_entity_view_mode_alter
 */
function policia_entity_view_mode_alter(&$view_mode, $context){
  $path = explode('/', current_path());
  if($path[0] == 'node' && is_numeric($path[1])){
    if($context['entity_type'] == 'node' && $context['entity']->type == 'unidades'){
      $tid_unidad = field_get_items('node', $context['entity'], 'field_tipo_de_unidad');
      if(isset($tid_unidad[0]['tid'])){
        switch ($tid_unidad[0]['tid']) {
          case 6:
            $view_mode = 'direccion';
            break;
          case 54:
            $view_mode = 'oficinas_asesoras';
            break;
          case 55:
            $view_mode = 'metropolitanas_y_comandos';
            break;
          case 56:
            $view_mode = 'escuelas_de_policia';
            break;
          case 57:
            $view_mode = 'grupos_especializados';
            break;
          case 58:
            $view_mode = 'asuntos_internacionales';
            break;
          case 59:
            $view_mode = 'control_interno';
            break;
          case 60:
            $view_mode = 'inspeccion_general';
            break;
          case 61:
            $view_mode = 'aviacion_policial';
            break;
          case 62:
            $view_mode = 'gestion_fiscal_y_aduanera';
            break;
          case 63:
            $view_mode = 'observatorio_del_delito';
            break;
          case 64:
            $view_mode = 'narcotrafico';
            break;
          case 65:
            $view_mode = 'municipios_seguros';
            break;
          case 2305:
            $view_mode = 'ameripol';
            break;

          default:
            $view_mode = 'full';
            break;
        }
      }
    }elseif ($context['entity_type'] == 'node' && $context['entity']->type == 'plantilla') {
      $plantilla = field_get_items('node', $context['entity'], 'field_plantilla');
      if(isset($plantilla[0]['value'])){
        switch ($plantilla[0]['value']) {
          case 1:
            $view_mode = 'plantilla_1';
            break;
          case 2:
            $view_mode = 'plantilla_2';
            break;
        }
      }
    }elseif($context['entity_type'] == 'unidades' && $context['entity']->type == 'director'){
      $node = node_load($path[1]);
      $tid_unidad = field_get_items('node', $node, 'field_tipo_de_unidad');
      if($tid_unidad[0]['tid'] == 59){
        $saludo = field_get_items('unidades', $context['entity'], 'field_saludo');
        if(empty($saludo[0]['value'])){
          $view_mode = 'teaser';
        }
      }
    }
  }
  if($path[0] == 'unidades' && is_numeric($path[2])){
    if($context['entity_type'] == 'unidades'){
      $section = $context['entity']->type;
      if($context['entity']->type == 'directorio'){
        $section = 'directorio_unidad';
      }elseif($context['entity']->type == 'mapa'){
        $section = 'ubicacion';
      }elseif($context['entity']->type == 'simbolos'){
        $section = 'simbolos_unidad';
      }elseif ($context['entity']->type == 'georeferenciacion_del_delito') {
        $section = 'georeferenciacion_del_deli';
      }elseif ($context['entity']->type == 'inv_criminologica') {
        $section = 'investigaci_n_criminologic';
      }elseif ($context['entity']->type == 'uniforme') {
        $section = 'un_uniforme';
      }
      $node = policia_title_section_unidad($section, $context['entity']->id);
      if($node){
        $unidad = field_get_items('node', $node, 'field_tipo_de_unidad');
        if(isset($unidad[0]['tid'])){
          switch ($unidad[0]['tid']) {
            case 56:
              $view_mode = 'escuelas_de_policia';
              break;
          }
        }
        if($path[1] == 'funciones'){
          if(isset($unidad[0]['tid'])){
            switch ($unidad[0]['tid']) {
              case 63:
                $view_mode = 'presentacion_unidad';
                break;
            }
          } 
        }
      }
    }
  }
}


function policia_preprocess_page(&$variables){
  $path = explode('/', current_path());
  if($path[0] == 'node' && $path[1] == 'add' && isset($path[2])){
    global $user;
    if(in_array('editor', $user->roles)){
      $breadcrumb = array();
      $breadcrumb[] = l('Inicio', '<front>');
      $breadcrumb[] = l($user->name, 'user');
      // Set Breadcrumbs
      drupal_set_breadcrumb($breadcrumb);
    }
  }
  if($path[0] == 'admin' && $path[1] == 'structure' && $path[2] == 'menu' && $path[3] == 'manage' && $path[4] == 'main-menu'){
    drupal_set_title('Menú principal');
  }
  if($path[0] == 'noticias' && $path[1] == 'seccion' && is_numeric($path[2])){
    $term = taxonomy_term_load($path[2]);
    if($term){
      $breadcrumb = array();
      $breadcrumb[] = l('Inicio', '<front>');
      $breadcrumb[] = l('Noticias', 'noticias');
      $breadcrumb[] = $term->name;
      drupal_set_title($term->name);
      // Set Breadcrumbs
      drupal_set_breadcrumb($breadcrumb);
    }
    if($path[2] == 2098){
        $breadcrumb = array();
        $breadcrumb[] = l('Inicio', '<front>');
        $breadcrumb[] = l('Academía de Historia Policial', 'node/126286');
        $breadcrumb[] = drupal_get_title();
        // Set Breadcrumbs
        drupal_set_breadcrumb($breadcrumb);
    }
  }
  if($path[0] == 'unidades' && is_numeric($path[2])){
    $section = $path[1];
    if($path[1] == 'directorio'){
      $section = 'directorio_unidad';
    }elseif($path[1] == 'mapa'){
      $section = 'ubicacion';
    }elseif($path[1] == 'simbolos'){
      $section = 'simbolos_unidad';
    }elseif ($path[1] == 'georeferenciacion_del_delito') {
      $section = 'georeferenciacion_del_deli';
    }elseif ($path[1] == 'inv_criminologica') {
      $section = 'investigaci_n_criminologic';
    }elseif ($path[1] == 'uniforme') {
      $section = 'un_uniforme';
    }
    $node = policia_title_section_unidad($section, $path[2]);
    if($node){
      //drupal_set_title($node->title);
      $breadcrumb = array();
      $breadcrumb[] = l('Inicio', '<front>');
      $breadcrumb[] = l($node->title, 'node/' . $node->nid);
      $breadcrumb[] = drupal_get_title();
      // Set Breadcrumbs
      drupal_set_breadcrumb($breadcrumb);      
    }elseif($path[1] == 'director'){
      $entity = entity_load_single('unidades', $path[2]);
      if($entity){
        $title = field_get_items('unidades', $entity, 'field_nombre');
        if($title && $title[0]['value']){
          drupal_set_title($title[0]['value']);        
        }
      }
    }
  }
  if($path[0] == 'directorio' && $path[1] == 'regionales-y-grupos-de-incorporacion'){
    $breadcrumb = array();
    $breadcrumb[] = l('Inicio', '<front>');
    $breadcrumb[] = 'Incorporación';
    $breadcrumb[] = drupal_get_title();
    // Set Breadcrumbs
    drupal_set_breadcrumb($breadcrumb);
  }
  if(($path[0] == 'resultados' || $path[0] == 'directorio') && $path[1] == 'unidad' && is_numeric($path[2])){
    $node = node_load($path[2]);
    if($node->title){
      //drupal_set_title($node->title);
      $breadcrumb = array();
      $breadcrumb[] = l('Inicio', '<front>');
      $breadcrumb[] = l($node->title, 'node/' . $node->nid);
      $breadcrumb[] = drupal_get_title();
      // Set Breadcrumbs
      drupal_set_breadcrumb($breadcrumb);
    }
  }

  if($path[0] == 'componente-aeronautico' && is_numeric($path[1])){
    $node = node_load($path[1]);
    if($node->title){
      $breadcrumb = array();
      $breadcrumb[] = l('Inicio', '<front>');
      $breadcrumb[] = l($node->title, 'node/' . $node->nid);
      // Set Breadcrumbs
      drupal_set_breadcrumb($breadcrumb);
    }
  }
  if($path[0] == 'archivo' && is_numeric($path[1])){
    $term = taxonomy_term_load($path[1]);
    if($term){
      $breadcrumb = array();
      $breadcrumb[] = l('Inicio', '<front>');
      $breadcrumb[] = l($node->title, 'node/' . $node->nid);
      // Set Breadcrumbs
      drupal_set_breadcrumb($breadcrumb);
    }
  }
  if($path[0] == 'presencia-exterior' && is_numeric($path[1])){
    $node = node_load($path[1]);
    if($node->title){
      drupal_set_title($node->title);
      $breadcrumb = array();
      $breadcrumb[] = l('Home', '<front>');
      $breadcrumb[] = l($node->title, 'node/' . $node->nid);
      // Set Breadcrumbs
      drupal_set_breadcrumb($breadcrumb);
    }
  }
  if($path[0] == 'simbolos'){
    drupal_set_title('Símbolos');
  }
  if($path[0] == 'academia-museo'){
    $breadcrumb = array();
    $breadcrumb[] = l('Inicio', '<front>');
    $breadcrumb[] = l('Historia', 'node/129005');
    $breadcrumb[] = l('Academía de Historia Policial', 'node/126286');
    $breadcrumb[] = drupal_get_title();
    // Set Breadcrumbs
    drupal_set_breadcrumb($breadcrumb);
  }
  $url = null;
  switch ($path[0]) {
    case 'hojas-de-vida':
    case 'contratos':
      $url = $path[0];
      break;
  }
  if($path[0] == 'planeacion-gestion' && $path[1] == 'defensa-judicial'){
    $url = $path[0] . '/' . $path[1];
  }
  if($path[0] == 'directorio' && $path[1] != 'unidad'){
    $url = $path[0] . '/' . $path[1];
  }
  if($url){
    $result = db_query("SELECT n.nid from field_collection_item fc1 left join field_data_field_datos_link dl on fc1.item_id = dl.entity_id AND (dl.entity_type = 'field_collection_item' AND dl.deleted = 0) inner join field_collection_item fc2 on dl.field_datos_link_value = fc2.item_id left join field_data_field_vinculos fv on fc1.item_id = fv.field_vinculos_value left join node n on fv.entity_id = n.nid left join field_data_field_link fl on dl.field_datos_link_value = fl.entity_id where fl.field_link_url = :nid", array('nid' => $url));
    $record = $result->fetchAssoc();
    if(isset($record['nid'])){
      $result1 = db_query('SELECT title FROM {node} WHERE nid = :nid', array('nid' => $record['nid']));
      $record1 = $result1->fetchAssoc();
      if($record1 && isset($record1['title'])){
        $breadcrumb = array();
        $breadcrumb[] = l('Inicio', '<front>');
        $breadcrumb[] = l($record1['title'], 'node/' . $record['nid']);
         $breadcrumb[] = drupal_get_title();
        // Set Breadcrumbs
        drupal_set_breadcrumb($breadcrumb);
      }
    }
  }
  if($path[0] == 'node' &&  is_numeric($path[1])){
    $node = node_load($path[1]);
    if($node && ($node->type == 'p_gina' || $node->type == 'descargable' || $node->type == 'vinculos')){
      $result = db_query("SELECT n.nid from field_collection_item fc1 left join field_data_field_datos_link dl on fc1.item_id = dl.entity_id AND (dl.entity_type = 'field_collection_item' AND dl.deleted = 0) inner join field_collection_item fc2 on dl.field_datos_link_value = fc2.item_id left join field_data_field_vinculos fv on fc1.item_id = fv.field_vinculos_value left join node n on fv.entity_id = n.nid left join field_data_field_link fl on dl.field_datos_link_value = fl.entity_id where fl.field_link_url = :nid", array('nid' => 'node/' . $node->nid));
      $record = $result->fetchAssoc();
      if(isset($record['nid'])){
        $result1 = db_query('SELECT title FROM {node} WHERE nid = :nid', array('nid' => $record['nid']));
        $record1 = $result1->fetchAssoc();
        if($record1 && isset($record1['title'])){
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l($record1['title'], 'node/' . $record['nid']);
           $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
        }
      }else{
        $breadcrumb = drupal_get_breadcrumb();
        $breadcrumb[] = drupal_get_title();
        // Set Breadcrumbs
        drupal_set_breadcrumb($breadcrumb);
      }
    }
    if($node && $node->type == 'componente_aeronautico'){
      $unidad = field_get_items('node', $node, 'field_unidad');
      if($unidad && $unidad[0]['target_id']){
        $result = db_query('SELECT title FROM {node} WHERE nid = :nid', array('nid' => $unidad[0]['target_id']));
        $record = $result->fetchAssoc();
        if($record && isset($record['title'])){
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l($record['title'], 'node/' . $unidad[0]['target_id']);
          $breadcrumb[] = l('Componente aeronáutico', 'componente-aeronautico/' . $unidad[0]['target_id']);
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          //drupal_set_title($record['title']);
        }
      }
    }
    if($node && $node->type == 'unidades'){
      if(isset($variables['page']['content']['system_main']['nodes'][$path[1]]['#fieldgroups']['group_video'])){
        $variables['page']['content']['system_main']['nodes'][128547]['#fieldgroups']['group_video']->format_settings['instance_settings']['label_element'] = 'span';
      }
      if(isset($variables['page']['content']['system_main']['nodes'][$path[1]]['#fieldgroups']['group_resena'])){
        $variables['page']['content']['system_main']['nodes'][$path[1]]['#fieldgroups']['group_resena']->format_settings['instance_settings']['label_element'] = 'span';
      }
      $unidad = field_get_items('node', $node, 'field_tipo_de_unidad');
      if($unidad[0]['tid']){
        $breadcrumb = array();
        $breadcrumb[] = l('Inicio', '<front>');
        $breadcrumb[] = 'La Policía Nacional';
        $breadcrumb[] = 'Unidades de Policía';
        switch ($unidad[0]['tid']) {
          case 55:
            $breadcrumb[] = 'Policía Metropolitanas y Departamentos de Policía';
            $breadcrumb[] = drupal_get_title();
            // Set Breadcrumbs
            drupal_set_breadcrumb($breadcrumb);
            break;
          case 6:
            $breadcrumb[] = 'Direcciones';
            $breadcrumb[] = drupal_get_title();
            // Set Breadcrumbs
            drupal_set_breadcrumb($breadcrumb);
            break;
          case 54:
            $breadcrumb[] = 'Oficinas Asesoras';
            $breadcrumb[] = drupal_get_title();
            // Set Breadcrumbs
            drupal_set_breadcrumb($breadcrumb);
            break;
          case 56:
            $breadcrumb[] = 'Escuelas de Policía';
            $breadcrumb[] = drupal_get_title();
            // Set Breadcrumbs
            drupal_set_breadcrumb($breadcrumb);
            break;
          case 57:
            $breadcrumb[] = 'Unidades y Grupos Especializados';
            $breadcrumb[] = drupal_get_title();
            // Set Breadcrumbs
            drupal_set_breadcrumb($breadcrumb);
            break;
          default:
            $breadcrumb[] = drupal_get_title();
            // Set Breadcrumbs
            drupal_set_breadcrumb($breadcrumb);
            break;
        }
      }
    }
    if($node && $node->type == 'establecimientos_de_sanidad'){
      $breadcrumb = array();
      $breadcrumb[] = l('Home', '<front>');
      $breadcrumb[] = l('Sanidad', 'node/130287');
      $breadcrumb[] = l('Establecimientos de Sanidad', 'establecimientos-de-sanidad');
      $breadcrumb[] = drupal_get_title();
      // Set Breadcrumbs
      drupal_set_breadcrumb($breadcrumb);

    }
    if($node){
      switch ($node->nid) {
        case '115502':
        case '115503':
        case '115504':
        case '115505':
        case '115506':
          $breadcrumb = array();
          $breadcrumb[] = l('Home', '<front>');
          $breadcrumb[] = l('Evolución Histórica - Policía Nacional', 'node/126310');
          $breadcrumb[] = l('Museo Histórico de la Policía Nacional', 'node/112601');
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
        case '126224':
        case '126225':
        case '126226':
        case '126227':
        case '126228':
        case '126302':
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l('Información Turística Ofrecida por la Policía Nacional', 'node/126210');
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
        case '126310':
        case '126286':
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l('Historia', 'node/129005');
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
        case '126272':
        case '126263':
        case '126264':
        case '126265':
        case '126266':
        case '126267':
        case '126268':
        case '126270':
        case '126271':
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l('Revista criminalidad', 'revista-criminalidad');
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
        case '128609':
        case '126290':
        case '126291':
        case '126292':
        case '129803':
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l('Historia', 'node/129005');
          $breadcrumb[] = l('Academía de Historia Policial', 'node/126286');
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
        case '112601':
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l('Evolución Histórica - Policía Nacional', 'node/126310');
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
        case '129657':
        case '129041':
        case '126337':
        case '126338':
        case '129017':
        case '129040':
        case '129042':
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = 'Incorporación';
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
        case '130291':
        case '130296':
        case '130295':
        case '130297':
        case '130345':
        case '130346':
        case '130348':
        case '130347':
        case '130349':
        case '130303':
        case '130305':
        case '130306':
        case '130308':
        case '130311':
        case '130310':
        case '130309':
        case '130314':
        case '130325':
        case '130316':
        case '130326':
        case '130328':
        case '130323':
        case '130330':
        case '130331':
        case '130334':
        case '130339':
        case '130342':
        case '130336':
        case '130340':
        case '130337':
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l('Educación en salud para miembros de la Policía Nacional y sus Familias', 'node/130287');
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
        case '128714':
        case '129815':
        case '129809':
        case '129810':
        case '128713':
        case '128712':
          $breadcrumb = array();
          $breadcrumb[] = l('Inicio', '<front>');
          $breadcrumb[] = l('Plataforma Estratégica del Servicio de Sanidad de la Policía Nacional', 'node/126254');
          $breadcrumb[] = drupal_get_title();
          // Set Breadcrumbs
          drupal_set_breadcrumb($breadcrumb);
          break;
      }
    }
  }
  if(!isset($path[1])){
    switch ($path[0]) {
      case 'eventos':
      case 'linea-de-mando':
      case 'directores-y-comandantes':
        $breadcrumb = drupal_get_breadcrumb();
        $breadcrumb[] = drupal_get_title();
        // Set Breadcrumbs
        drupal_set_breadcrumb($breadcrumb);
        break;
      case 'eventos-museo':
        $breadcrumb = array();
        $breadcrumb[] = l('Inicio', '<front>');
        $breadcrumb[] = l('Evolución Histórica - Policía Nacional', 'node/126310');
        $breadcrumb[] = l('Museo Histórico de la Policía Nacional', 'node/112601');
        $breadcrumb[] = drupal_get_title();
        // Set Breadcrumbs
        drupal_set_breadcrumb($breadcrumb);
        break;
      case 'noticias':
        $breadcrumb = array();
        $breadcrumb[] = l('Inicio', '<front>');
        $breadcrumb[] = 'Noticias';
        $breadcrumb[] = drupal_get_title();
        // Set Breadcrumbs
        drupal_set_breadcrumb($breadcrumb);
        break;
    } 
  }
  $vocabulary = taxonomy_vocabulary_machine_name_load('miga_de_pan');
  if(isset($vocabulary->vid)){
    $terms = entity_load('taxonomy_term', FALSE, array('vid' => $vocabulary->vid));
    if($terms){
      foreach ($terms as $key => $value) {
        $ruta = field_get_items('taxonomy_term', $value, 'field_ruta');
        if($ruta && $ruta[0]['value'] == current_path()){
          $solo_titulo = field_get_items('taxonomy_term', $value, 'field_titulo_miga_de_pan');
          $miga_de_pan = field_get_items('taxonomy_term', $value, 'field_miga_de_pan');
          if($miga_de_pan && $miga_de_pan[0]['value']){
            if($solo_titulo[0]['value']){
              $breadcrumb = drupal_set_breadcrumb();
              $count = count($breadcrumb);
              $count = $count -1;
              if(isset($breadcrumb[1])){
                $miga = explode('|', $miga_de_pan[0]['value']);
                if(isset($miga[1])){
                  $breadcrumb[$count] = l($miga[0], trim($miga[1]));
                }else{
                  $breadcrumb[$count] = $miga[0];
                }
              }else{
                $miga = explode('|', $miga_de_pan[0]['value']);
                if(isset($miga[1])){
                  $breadcrumb[] = l($miga[0], trim($miga[1]));
                }else{
                  $breadcrumb[] = $miga[0];
                }
              }
              // Set Breadcrumbs
              drupal_set_breadcrumb($breadcrumb);
            }else{
              $implode = explode("\n", $miga_de_pan[0]['value']);
              $breadcrumb = array();
              $breadcrumb[] = l('Inicio', '<front>');
              foreach ($implode as $key => $value) {
                $miga = explode('|', $value);
                if(isset($miga[1])){
                  $breadcrumb[] = l($miga[0], trim($miga[1]));
                }else{
                  $breadcrumb[] = $miga[0];
                }
              }
              // Set Breadcrumbs
              drupal_set_breadcrumb($breadcrumb);
            }
          }
        }
      }
    }
  }
}

function policia_title_section_unidad($section, $eid){
  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'unidades')
    ->fieldCondition('field_' . $section, 'target_id', $eid, '=');
  $result = $query->execute();
  if (isset($result['node'])) {
    $item_nid = array_keys($result['node']);
    $node = node_load($item_nid[0]);
    if($node){
      return $node;
    }
  }else{
    return FALSE;
  }
}


/**
 * Implements hook_node_view().
 */
function policia_entity_view($entity, $type, $view_mode, $langcode) {
  switch ($type) {
    case 'field_collection_item':
      if($view_mode == 'full'){
        foreach ($entity->content['field_imagen'] as $key => $value) {
          if(is_numeric($key)){
            $entity->content['field_imagen'][$key]['#suffix'] = '<div class="galeria-title-image">' . $value['#item']['title'] . '</div>';
          }
        }
      }
      break;
    case 'unidades':
      if($view_mode == 'full' || $view_mode == 'escuelas_de_policia'){ 
        foreach ($entity->content['field_imagen_galeria'] as $key => $value) {
          if(is_numeric($key)){
            $entity->content['field_imagen_galeria'][$key]['#suffix'] = '<div class="galeria-title-image">' . $value['#item']['title'] . '</div>';
          }
        }
        foreach ($entity->content['field_imagen'] as $key => $value) {
          if(is_numeric($key)){
            $entity->content['field_imagen'][$key]['#suffix'] = '<div class="galeria-title-image">' . $value['#item']['title'] . '</div>';
          }
        }
        foreach ($entity->content['field_image'] as $key => $value) {
          if(is_numeric($key)){
            $entity->content['field_image'][$key]['#suffix'] = '<div class="galeria-title-image">' . $value['#item']['title'] . '</div>';
          }
        }
        foreach ($entity->content['field_fotografia'] as $key => $value) {
          if(is_numeric($key)){
            $entity->content['field_fotografia'][$key]['#suffix'] = '<div class="galeria-title-image">' . $value['#item']['title'] . '</div>';
          }
        }
      }
      if($entity->type == 'director' && $view_mode == 'token'){
        if(!empty($entity->content['field_saludo'][0]['#markup'])){
          $markup = str_replace('<p>', '', $entity->content['field_saludo'][0]['#markup']);
          $markup = str_replace('</p>', '', $markup);
          $entity->content['field_saludo'][0]['#markup'] = '<p>' . $markup . '...</p>';
        }
      }
      if($entity->type == 'doctrina' && $view_mode == 'teaser'){
        $link = l('VER MÁS', 'unidades/doctrina/' . $entity->id);
        $entity->content['field_body'][0]['#markup'] = $entity->content['field_body'][0]['#markup'] . '...<div class="link-doctrina">' . render($link) . '</div>';
      }
      if($entity->type == 'capacitacion' && $view_mode == 'teaser'){
        $entity->content['field_body'][0]['#markup'] = $entity->content['field_body'][0]['#markup'] . '...';
      }
      if($entity->type == 'organigrama' && ($view_mode == 'full' || $view_mode =='escuelas_de_policia')){
        $areas = field_get_items('unidades', $entity, 'field_areas');
        if(!isset($areas[0]['fid'])){
          unset($entity->content['field_title']);
          unset($entity->content['field_thumbnail_organigrama']);
        }
      }
      break;
    case 'node':
      if($entity->type != 'componente_aeronautico'){
        if($entity->type == 'unidades'){
          $rendicion = field_get_items('node', $entity, 'field_rendicion_de_cuentas');
          if(!isset($rendicion[0]['fid'])){
            unset($entity->content['field_thumbnail_rendicion']);
          }
        }
        if(isset($entity->content, $entity->content['field_galeria'])) {
          foreach ($entity->content['field_galeria'] as $key => $value) {
            if(is_numeric($key)){
              $entity->content['field_galeria'][$key]['#suffix'] = '<div class="galeria-title-image">' . $value['#item']['title'] . '</div>';
            }
          }
        }
        if(isset($entity->content, $entity->content['field_image'])) {
          foreach ($entity->content['field_image'] as $key => $value) {
            if(is_numeric($key)){
              $entity->content['field_image'][$key]['#suffix'] = '<div class="galeria-title-image">' . $value['#item']['title'] . '</div>';
            }
          }
        }
        if(isset($entity->content, $entity->content['field_imagen_grande'])) {
          foreach ($entity->content['field_imagen_grande'] as $key => $value) {
            if(is_numeric($key)){
              $entity->content['field_imagen_grande'][$key]['#suffix'] = '<div class="galeria-title-image">' . $value['#item']['title'] . '</div>';
            }
          }
        }
      }
      break;
  }
}


function policia_block_view_alter(&$data, $block){
  switch ($block->delta) {
    case 'facebook_comments_box':
      $content = str_replace('en_US', 'es_CO', $data['content']);
      $data['content'] = $content;
      break;
    case 'menu-incorporaci-n':
      $fid = variable_get('imagen_incorporaciones');
      $file = file_load($fid);
      if($file->uri){
        $data['content'] = '<div class="thumbnail-incorporaciones">' . theme('image_style', array('style_name' => '150x170', 'path' => $file->uri)) . '</div>' . render($data['content']);
      }
      break;
  }
}

/**
 * Add a node to a nodequeue.
 *
 * @param $queue_name
 *   A machine-readable name of the nodequeue.
 * @param $nid
 *   The nid of the node to add.
 */
function nodequeue_add_node_to_queue($queue, $nid, $position = 2) {
  nodequeue_subqueue_remove($queue->qid, $position);
  $subqueues = nodequeue_load_subqueues_by_queue($queue->qid);
  foreach ($subqueues as $subqueue) {
    nodequeue_subqueue_add($queue, $subqueue, $nid);
  }
  if($position == 1){
    $subqueue = nodequeue_load_subqueue($queue->qid);
    nodequeue_queue_swap($subqueue, 2, 1);
  }
}


/**
 * Implements hook_field_attach_view_alter().
 */
function policia_field_attach_view_alter(&$build, $context) {
  foreach ($build as $key => $value) {
    if(isset($value[0])){
      if(isset($value[0]['#markup'])){
        $schema = NULL;
        switch ($value['#field_name']) {
          case 'field_direccion':
          case 'field_noticia_ciudad':
          case 'field_direccion_exterior':
            $schema = 'itemprop="address"';
            break;
          case 'field_telefono':
          case 'field_telefono_exterior':
            $schema = 'itemprop="telephone"';
            break;
          case 'field_correos':
          case 'field_correo_exterior':
            $schema = 'itemprop="email"';
            break;
          case 'field_twitter':
            $schema = 'itemprop="sameAs"';
            break;
          case 'field_nombre':
          case 'field_nombre_exterior':
            $schema = 'itemprop="name"';
            break;
          case 'field_rango':
          case 'field_cargo_director':
          case 'field_cargo_exterior':
            $schema = 'itemprop="memberOf"';
            break;
          case 'field_telefonos':
            $schema = 'itemprop="telephone"';
            break;
          case 'field_horarios':
            $schema = 'itemprop="openingHours"';
            break;
          case 'field_ciudad':
            $schema = 'itemprop="location"';
            break;
        }
        if(!empty($schema)){
          $arg = arg();
          if($value['#field_name'] == 'field_correos' || $value['#field_name'] == 'field_correo_exterior'){
            $explode = explode(', ', $build[$key][0]['#markup']);
            $mails = array();
            foreach ($explode as $key1 => $value) {
              $mails[] = '<a href="mailto:'.$value.'" target="_top">' . $value . '</a>';
            }
            $mail = implode(', ', $mails);
            $build[$key][0]['#markup'] = '<div ' . $schema . '>' . $mail . '</div>';
          }elseif($arg[0] == 'node' && is_numeric($arg[1]) && !isset($arg[2]) && $value['#field_name'] == 'field_nombre'){ 
            $link = l($build[$key][0]['#markup'], 'unidades/director/' . $value['#object']->id);
            $build[$key][0]['#markup'] = '<div ' . $schema . '>' . $link . '</div>';
          }else{ 
            $build[$key][0]['#markup'] = '<div ' . $schema . '>' . $build[$key][0]['#markup'] . '</div>';
          }
        }
      }
    }
  }
}

function policia_views_pre_render(&$view) {
  if ($view->name == 'solr_noticias' && $view->current_display == 'page_5') {
    if(is_numeric($view->args[0])){
      $node = node_load($view->args[0]);
      $view->build_info['title'] = 'Actividades del ' . $node->title;
    }
  }
}

function policia_views_pre_view(&$view, &$display_id, &$args) {
  if($view->name == 'vinculos'){
    if(arg(0) == 'node' && is_numeric(arg(1))){
      $result = db_query("SELECT count(n.nid) as total from field_collection_item fc1 left join field_data_field_datos_link dl on fc1.item_id = dl.entity_id AND (dl.entity_type = 'field_collection_item' AND dl.deleted = 0) inner join field_collection_item fc2 on dl.field_datos_link_value = fc2.item_id left join field_data_field_vinculos fv on fc1.item_id = fv.field_vinculos_value left join node n on fv.entity_id = n.nid left join field_data_field_link fl on dl.field_datos_link_value = fl.entity_id where n.nid = :nid", array('nid' => arg(1)));
      $record = $result->fetchAssoc();
      if($record['total'] <= 10){
        // Some custom logic wich field_info_instances checking ...
        $filter_field = 'field_link_title';
        // Removes from everywhere where i can find filter or filters properties
        unset($view->display['default']->display_options['filters'][$filter_field]);
        unset($view->display['default']->handler->options['filters'][$filter_field]);
      }
    }
  }
  if($view->name == 'descargable'){
    if(arg(0) == 'node' && is_numeric(arg(1))){
      $result = db_query("SELECT count(n.nid) as total FROM field_collection_item fc LEFT JOIN field_data_field_descargables fdfd ON fc.item_id = fdfd.field_descargables_value LEFT JOIN node n ON fdfd.entity_id = n.nid LEFT JOIN field_data_field_multiple_archivo fdfma ON fc.item_id = fdfma.entity_id AND (fdfma.entity_type = 'field_collection_item' AND fdfma.deleted = '0') LEFT JOIN file_managed fm ON fdfma.field_multiple_archivo_fid = fm.fid where n.nid = :nid", array('nid' => arg(1)));
      $record = $result->fetchAssoc();
      if($record['total'] <= 10){
        unset($view->display['default']->display_options['filters']['filename']);
        unset($view->display['default']->handler->options['filters']['filename']);
      }
    }
  }
}

function policia_init(){
  $arg = arg();
  if($arg[0] == 'node' && is_numeric($arg[1])){
    $node = node_load($arg[1]);
    if($node->type == 'polired'){
      global $user;
      if(in_array('anonymous user', $user->roles)){
       // drupal_goto('user', array('query' => drupal_get_destination()));
      }
    }
  }elseif ($arg[0] == 'polired' && $arg[1] == 'noticias' && is_numeric($arg[2])) {
    global $user;
    if(in_array('anonymous user', $user->roles)){
     // drupal_goto('user', array('query' => drupal_get_destination()));
    }
  }
}

/**
 * Implements hook_url_inbound_alter().
 */
function policia_url_inbound_alter(&$path, $original_path, $path_language) {
  //Creo variable global
  global $_tipo_unidad;
  //Inicializamos variable
  $_tipo_unidad = NULL;
  $explode = explode('/', $path);
  if($explode[0] == 'node' && is_numeric($explode[1])){
    $node = node_load($explode[1]);
    if($node && $node->type == 'unidades'){
      $type = field_get_items('node', $node, 'field_tipo_de_unidad');
      $_tipo_unidad = isset($type[0]['tid']) ? $type[0]['tid'] : NULL;
    }
  }
  if($explode[0] == 'unidades' && isset($explode[1]) && is_numeric($explode[2])){
    $query = new EntityFieldQuery();
    switch ($explode[1]) {
      case 'mapa':
        $field = 'ubicacion';
        break;
      case 'directorio':
        $field = 'directorio_unidad';
        break;
      case 'simbolos':
        $field = 'simbolos_unidad';
        break;
      case 'uniforme':
        $field = 'un_uniforme';
        break;
      default:
        $field = $explode[1];
        break;
    }
    if(isset($field)){
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_' . $field, 'target_id', $explode[2], '=');
      $result = $query->execute();
      if (isset($result['node'])) {
        $item_nid = array_keys($result['node']);
        $node = node_load($item_nid[0]);
        if($node && $node->type == 'unidades'){
          $type = field_get_items('node', $node, 'field_tipo_de_unidad');
          $_tipo_unidad = isset($type[0]['tid']) ? $type[0]['tid'] : NULL;
        }
      }
    }
  }
  if(($explode[0] == 'resultados' || $explode[0] == 'directorio') && $explode[1] == 'unidad' && is_numeric($explode[2])){
    $node = node_load($explode[2]);
    if($node && $node->type == 'unidades'){
      $type = field_get_items('node', $node, 'field_tipo_de_unidad');
      $_tipo_unidad = isset($type[0]['tid']) ? $type[0]['tid'] : NULL;
    }
  }
}


function policia_page_alter(&$page){
  global $user;
  if (in_array('editor', $user->roles) && arg(0) == 'unidades' && is_numeric(arg(2)) && (arg(3) == 'revisions' || arg(3) == 'edit')) {
    $query = new EntityFieldQuery();
    switch (arg(1)) {
      case 'mapa':
        $field = 'ubicacion';
        break;
      case 'directorio':
        $field = 'directorio_unidad';
        break;
      case 'simbolos':
        $field = 'simbolos_unidad';
        break;
      case 'uniforme':
        $field = 'un_uniforme';
        break;
      case 'inv_criminologica':
        $field = 'field_investigaci_n_criminologic';
        break;
      case 'georeferenciacion_del_delito':
        $field = 'field_georeferenciacion_del_deli';
        break;
      default:
        $field = arg(1);
        break;
    }
    if(isset($field)){
      $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'unidades')
        ->propertyCondition('status', NODE_PUBLISHED)
        ->fieldCondition('field_' . $field, 'target_id', arg(2), '=');
      $result = $query->execute();
    }

    if (isset($result['node'])) {
      $item_nid = array_keys($result['node']);
      $node = node_load($item_nid[0]);
      $members = og_get_group_members_properties($node, array(), 'members', 'node');
      if(!in_array($user->uid, $members)){
        drupal_access_denied();
      }
    }
  }
}
