<?php

/**
 * Implements hook_block_info().
 */
function contactblock_block_info() {
  $blocks['contactblock'] = array(
      'info' => t('Contact block'),
      'cache' => DRUPAL_NO_CACHE,
  );

  return $blocks;
}

/**
 * Implements hook_block_view().
 */
function contactblock_block_view($delta = '') {
  $block = array();

  switch ($delta) {
    case 'contactblock':
      return array(
          'subject' => t('Contact'),
          'content' => contactblock_get_contact_form(),
      );
      break;
  }
  return $block;
}

function contactblock_get_contact_form() {

  _contactblock_add_js();

  form_load_include($form_state, 'inc', 'contact', 'contact.pages');
  $form = drupal_get_form('contact_site_form');
  $output = drupal_render($form);

  return $output;
}

function _contactblock_add_js() {
  $path = drupal_get_path('module', 'contactblock');
  drupal_add_js('http://maps.google.com/maps/api/js?sensor=true', 'external');
  drupal_add_js($path . '/js/jquery_maps.js');
  drupal_add_js($path . '/js/contact_block.js');
}
