function findParent(el, tagName) {
  tagName = tagName.toLowerCase();
  var parentEl = el.parentNode;
  while (parentEl)
  {
    if (parentEl.tagName.toLowerCase() === tagName)
    {
      return parentEl;
    }
    parentEl = parentEl.parentNode;
  }
}

function addEvent(obj, type, fn) {
  if (obj.attachEvent)
  {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function() {
      obj['e'+type+fn](window.event);
    };
    obj.attachEvent('on'+type, obj[type+fn]);
  }
  else
  {
    obj.addEventListener(type, fn, false);
  }
}

function preventDefault(e) {
  e = e.browserEvent || e;
  if (e.preventDefault)
  {
    e.preventDefault();
  }
  else
  {
    e.returnValue = false;
  }
}

function rig_submit_button(button, validation_callback) {
  if (button)
  {
    var form = findParent(button, 'form');
    if (form)
    {
      addEvent(button, 'click', function(e) {
        preventDefault(e);
        if (validation_callback && !validation_callback(form))
        {
          return false;
        }
        form.submit();
      });
    }
  }
}

addEvent(window, 'load', function() {
  rig_submit_button(document.getElementById('contact_form_submit'), function(form) {
    var is_valid = true;
    if (!form.contact_name.value || !form.phone.value || !form.message.value)
    {
      is_valid = false;
    }
    return is_valid;
  });
  rig_submit_button(document.getElementById('search_form_submit'));
  
  var search_input = document.getElementById('search_form_input');
  var search_input_original_value = search_input.value;
  if (search_input)
  {
    addEvent(search_input, 'focus', function() {
      if (search_input.value === search_input_original_value)
      {
        search_input.value = '';
      }
    });
    addEvent(search_input, 'blur', function() {
      if (search_input.value === '')
      {
        search_input.value = search_input_original_value;
      }
    });
  }
  
  
});