$(document).ready(function(){

  if (window.history.length > 1) {

    /*sid view back button*/
    $('#rule-search-back').click(function(){
      window.history.back();
      return false;
    });

    /*text highlighting*/
    function highLight(str) {
      var searchTerms = str;
      var end = searchTerms.search(/&/);
      end = (end == -1) ? searchTerms.length:end;
      searchTerms = searchTerms.substring(0, end);
      if (searchTerms.length != 0) {
        searchTerms = searchTerms.replace(/\+/g, " ");
        searchTerms = searchTerms.replace(/\b[a-z]*%3A/g, "");
        searchTerms = searchTerms.replace(/(AND|OR|NOT)/ig, "");
        searchArray = searchTerms.split(/\s+/);
        return searchArray;
      }    
    }  
    
    if(document.location.href.search(/\?r=/)==-1) {
      if(document.location.href.search(/\/search\/sid/)){
        var start = document.referrer.search(/q=/);
        var searchSidArray = highLight(document.referrer.substring(start + 2));
        for (var term in searchSidArray) {
         if(searchSidArray[term] != ''){ $("div#sid-display p, div#sid-display li").highlight(searchSidArray[term]);}
        }
      }
    }

  }
 
  /*replace url text with active links*/
  $('div#sid-display p, div#sid-display li').each(function() {
    var text = $(this).html().replace(/(http\:\/\/(.+?))([\s]+)/, "<a href='$1'>$1</a> ");
    $(this).html(text);
  });


  /*associated terms collapse*/
  if($('#rule-search-systems').length > 0){
  
    var oses = {};
    var oses_count = {};

    $("#rule-search-systems li").each(function() {
    
      var os = $(this).text();
      var major = os.split(' ', 2)[0];
      //alert($(this).html());
   
      if( oses[major] == undefined ) {
        oses[major] = "";
        oses_count[major] = 0;
      }
   
      oses[major] += "<li>" + $(this).html() + "</li>";
      oses_count[major] += 1;
    });
 
    for( var key in oses) {
      
      $(".rule-search-expanded").append( "<h5>" + key + " (" + oses_count[key] + ")" +"</h5>");
      $(".rule-search-expanded").append( "<ul class='" + key + "'>" + oses[key] + "</ul>");
      $(".rule-search-expanded ." + key ).hide();
    }
 
    $("h5").live("click", function(){
      var label = $(this).text().split(' ', 2)[0];
      $( ".rule-search-expanded ." + label ).toggle(300);
    });

    $("#rule-search-systems").hide();

  }

  $('#rule-search-results img').click(function(){
    var sid=$(this).attr('id').split('_',2)[1];
    $('p#desc_'+sid).toggle(300);
  });

});

