// search namespace
search = {};

search.article_button_shell;
search.image_button_shell;
search.database_button_shell;
search.article_button;
search.image_button;
search.database_button;
search.submit_button;
search.search_category_field;

search.current_button_shell = null;



search.reset_buttons = function () {
  
  // disable all the buttons
  search.article_button_shell.className = "button_shell shell_off";
  search.image_button_shell.className = "button_shell shell_off";
  search.database_button_shell.className = "button_shell shell_off";
  
}


search.set_element_to_point = function (element) {

  document.body.style.cursor = "default";
  
}





search.handle_button_click = function (button_shell) {
  
  // don't do anything if you're trying to reactivate the current button
  if (button_shell == search.current_button_shell)
    return;
  
  search.reset_buttons();
  
  button_shell.className = "button_shell";
  
  search.current_button_shell = button_shell;
  
}




search.handle_submit_button = function () {
   
  // need to append the current content type selection to the form
  if (search.current_button_shell == search.article_button_shell)
    search.search_category_field.value = "articles";
  else if (search.current_button_shell == search.image_button_shell)
    search.search_category_field.value = "images";
  else if (search.current_button_shell == search.database_button_shell)
    search.search_category_field.value = "database";
  
}





// ******************************************************************************************** //
// ONLOAD

search.initialize = function () {
  
  search.article_button_shell = document.getElementById ("search_article_button_shell");
  search.image_button_shell = document.getElementById ("search_image_button_shell");
  search.database_button_shell = document.getElementById ("search_database_button_shell");
  
  search.article_button = document.getElementById ("search_article_button");
  search.image_button = document.getElementById ("search_image_button");
  search.database_button = document.getElementById ("search_database_button");
  
  search.submit_button = document.getElementById ("search_submit_button");
  search.search_category_field = document.getElementById ("search_category_field");


  
  // when the user clicks on the content type buttons
  listenForMouseClick (search.article_button_shell, function () { search.handle_button_click (search.article_button_shell); });
  listenForMouseClick (search.image_button_shell, function () { search.handle_button_click (search.image_button_shell); });
  listenForMouseClick (search.database_button_shell, function () { search.handle_button_click (search.database_button_shell); });
  
  // make button elements pointset cursor to pointer
  listenForMouseOver (search.article_button_shell, function () { search.set_element_to_point (search.article_button_shell); });
  listenForMouseOver (search.image_button_shell, function () { search.set_element_to_point (search.image_button_shell); });
  listenForMouseOver (search.database_button_shell, function () { search.set_element_to_point (search.database_button_shell); });  
  listenForMouseOver (search.article_button, function () { search.set_element_to_point (search.article_button); });
  listenForMouseOver (search.image_button, function () { search.set_element_to_point (search.image_button); });
  listenForMouseOver (search.database_button, function () { search.set_element_to_point (search.database_button); });
  
  
  // submit button
  listenForMouseClick (search.submit_button, search.handle_submit_button);
  
  // set the default pressed button based off the value of the hidden search_category_field field of the form
  $search_cat = search.search_category_field.value;
    
  if ($search_cat == "articles") {
    search.current_button_shell == search.article_button_shell
    search.article_button_shell.className = "button_shell";
  } else if ($search_cat == "images") {
    search.current_button_shell == search.image_button_shell
    search.image_button_shell.className = "button_shell";
  } else if ($search_cat == "database") {
    search.current_button_shell == search.database_button_shell
    search.database_button_shell.className = "button_shell";
  }
  
}

/*
for load documentation
http://code.google.com/apis/ajax/documentation/#DetailedDocumentation
*/


search.init = function () {

  search.initialize();
  
}


util.addLoadEvent (search.init);