/*****************************

 VHS - Vyre HiJAX Search
 Author: Phil Nash
 Purpose: Make search pages accessible to users without JavaScript and remove JavaScript from the page level, insead performing functions on the page load.
 Requires: JQuery, AJAX Search Framework
 HiJAX? http://domscripting.com/blog/display/41
 
*****************************/

VHS={
  searchDiv:'<div id ="searchResults"></div>',
  before:null,
  after:null,
  results:null,
  form:null,
  search:null,
  debugging:false,
  hijack:function() {
    $(this.results).before(this.before).wrap(this.searchDiv);
    $('#searchResults').after(this.after);
    $(this.form+' input[type="submit"]').replaceWith('<input type="button" class="portlet-form-button" id="ajaxSearchButton" value="Search"/>');
    $(this.form).append('<input id="ajaxResetButton" class="portlet-form-button" value="Reset" type="button" />');
  },
  init:function(s) {
    if(s.debugging) { this.debugging = s.debugging; }
    var error = '';
    if(s.results) { if($(s.results).length > 0) { this.results = s.results; } else { error+='Could not select '+s.results+' to hijack the results.\n'; } } else { error += 'No results div to hijack.\n'; }
    if(s.form) { if($(s.form).length > 0) { this.form = s.form; } else { error+='Could not select '+s.form+' to hijack the form.\n';} } else { error += 'No search form to hijack.\n'; }
    if(s.searchDiv) { this.searchDiv = s.searchDiv; }
    if(s.before) { this.before = s.before; }
    if(s.after) { this.after = s.after; }
    if(s.search) { this.search = s.search; } else { error += ' No search to perform.\n'; }
    if(error == '') {
      this.hijack();
      this.search();
    }
    else { 
      if(this.debugging) {
        error += 'AJAX Search will not be performed. Falling back to regular search.'; alert(error);
      }
    }
  }
}

// shows and hides the advanced search panel
function showAdvanced() {
  $('#advanced-search').css("display","block");
  $('#advanced-search-head a').unbind('click').click(hideAdvanced);
  return false;
}

function hideAdvanced() {
  $('#advanced-search').css("display","none");
  $('#advanced-search-head a').unbind('click').click(showAdvanced);
  return false;
}

$(function() {
$('#advanced-search-head').html('<a href="#">Advanced Search</a>').children().click(showAdvanced).end().siblings('#advanced-search').hide();
$('ul.pagination').hide();
});

