var stopEvent = function(e){ if (e.stopPropagation){ e.stopPropagation(); e.preventDefault(); } else { e.returnValue = false; e.cancelBubble = true; } return false; }; //following is in the initialize method of Accordion togglers.each(function(tog, i){ $(tog).addEvent('click', function(e){ this.showThisHideOpen(i); return stopEvent(e); }.bind(this)); }, this);
var display_results=function(r, str)
{
   
    var rlist=$('#glossaryresultset');
    var rpanel=$('#glossaryresultcontainer');
    var recho=$('#echoglossaryquery');
    
    if(r.length){
        recho.html('Terms starting with: "'+str+'"');
    }else{
        recho.html('No terms starting with: "'+str+'"');
    }
    
    var resultsHTML="";
    
    if(!str.length){
        recho.html('');
        rpanel.css("display","none");
    }else{
        for(var i=0; i < r.length; i++){        
            resultsHTML+="<h6>"+r[i].term+"</h6>"+"<p>"+r[i].definition+"</p>"; 
        }
    }
    rlist.html(resultsHTML);
    
    if(resultsHTML.length){
        rpanel.css("display","block");
        rpanel.scrollTop=0;
    }else{
        rpanel.css("display","none");
    }
    
}


var do_filter = function (str)
{
    var filtered = jQuery.grep(glossary_items,function(item,index){
        
        var r = new RegExp("^"+str,"i");
        return r.test(item.label);
        
    });    
    
    display_results(filtered, str);
}



var do_search = function(e)
{

    
 	//e.preventDefault();
    var str = (e.target.value);
   
    var filtered = jQuery.grep(glossary_items,function(item,index){
       
       
       var r = new RegExp("^"+str,"i");
        return r.test(item.label);
        
      
        
        
    });
    
    display_results(filtered, str);

}


var filterclick = function(e){
    var letter = (e.target.href.split("/").pop());    
   
    
    do_filter(letter);
    e.preventDefault();
}



var init_jargon_buster=function()
{
   var alphabet_buttons = $('#glossary-az a');
	
	//console.log(alphabet_buttons.length);
	
   for(var i=0;i<alphabet_buttons.length;i++){
        alphabet_buttons.bind("click",filterclick);   
   }
   
   var jargon_search = $("jargon_q");
   $("#glossary_q").bind('keyup',do_search);
   
   $("#glossary_q").bind('focus',function(e){
	   	if(e.target.value=='search'){
	   		e.target.value='';
	   	}
   });
   
   
   $("#glossary_q").bind('blur',function(e){
	   	if(e.target.value==''){
	   		e.target.value='search';
	   	}
   });
   
}


$(document).ready(init_jargon_buster);

