(function($){$.fn.listnav=function(options){var opts=$.extend({},$.fn.listnav.defaults,options);var letters=['_','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];var firstClick=false;return this.each(function(){var $wrapper,list,$list,$letters,$letterCount,id;id=this.id;$wrapper=$('#'+id+'-nav');$list=$(this);var counts={},allCount=0,isAll=true,numCount=0,prevLetter='';function init(){$wrapper.append(createLettersHtml());$letters=$('.ln-letters',$wrapper).slice(0,1);if(opts.showCounts)$letterCount=$('.ln-letter-count',$wrapper).slice(0,1);$('.z',$letters).addClass('ln-last');addClasses();addNoMatchLI();if(opts.flagDisabled)addDisabledClass();bindHandlers();if(!opts.includeAll)$list.show();if(!opts.includeAll)$('.all',$letters).hide();if(!opts.includeNums)$('._',$letters).hide();if($.cookie&&(opts.cookieName!=null)){var cookieLetter=$.cookie(opts.cookieName);if(cookieLetter!=null)opts.initLetter=cookieLetter;}
if(opts.initLetter!=''){firstClick=true;$('.'+opts.initLetter.toLowerCase(),$letters).slice(0,1).click();}
else{if(opts.includeAll)$('.all',$letters).addClass('ln-selected');else{for(var i=((opts.includeNums)?0:1);i<letters.length;i++){if(counts[letters[i]]>0){firstClick=true;$('.'+letters[i],$letters).slice(0,1).click();break;}}}}}
function setLetterCountTop(){$letterCount.css({top:$('.a',$letters).slice(0,1).offset({margin:false,border:true}).top-$letterCount.outerHeight({margin:true})});}
function addClasses(){var str,firstChar;$($list).children().each(function(){str=$(this).text().replace(/\s+/g,'');if(str!=''){firstChar=str.slice(0,1).toLowerCase();if(!isNaN(firstChar))firstChar='_';$(this).addClass('ln-'+firstChar);if(counts[firstChar]==undefined)counts[firstChar]=0;counts[firstChar]++;allCount++;}});}
function addDisabledClass(){for(var i=0;i<letters.length;i++){if(counts[letters[i]]==undefined)$('.'+letters[i],$letters).addClass('ln-disabled');}}
function addNoMatchLI(){$list.append('<li class="ln-no-match" style="display:none">'+opts.noMatchText+'</li>');}
function getLetterCount(el){if($(el).hasClass('all'))return allCount;else{var count=counts[$(el).attr('class').split(' ')[0]];return(count!=undefined)?count:0;}}
function bindHandlers(){if(opts.showCounts){$wrapper.mouseover(function(){setLetterCountTop();});}
if(opts.showCounts){$('a',$letters).mouseover(function(){var left=$(this).position().left;var width=($(this).outerWidth({margin:true})-1)+'px';var count=getLetterCount(this);$letterCount.css({left:left,width:width}).text(count).show();});$('a',$letters).mouseout(function(){$letterCount.hide();});}
$('a',$letters).click(function(){$('a.ln-selected',$letters).removeClass('ln-selected');var letter=$(this).attr('class').split(' ')[0];if(letter=='all'){$list.children().show();$list.children('.ln-no-match').hide();isAll=true;}else{if(isAll){$list.children().hide();isAll=false;}else if(prevLetter!='')$list.children('.ln-'+prevLetter).hide();var count=getLetterCount(this);if(count>0){$list.children('.ln-no-match').hide();$list.children('.ln-'+letter).show();}
else $list.children('.ln-no-match').show();prevLetter=letter;}
if($.cookie&&(opts.cookieName!=null))$.cookie(opts.cookieName,letter);$(this).addClass('ln-selected');$(this).blur();if(!firstClick&&(opts.onClick!=null))opts.onClick(letter);else firstClick=false;return false;});}
function createLettersHtml(){var html=[];for(var i=1;i<letters.length;i++){if(html.length==0)html.push('<a class="all" href="#">ALL</a><a class="_" href="#">0-9</a>');html.push('<a class="'+letters[i]+'" href="#">'+letters[i].toUpperCase()+'</a>');}
return'<div class="ln-letters">'+html.join('')+'</div>'+((opts.showCounts)?'<div class="ln-letter-count" style="display:none; position:absolute; top:0; left:0; width:20px;">0</div>':'');}
init();});};$.fn.listnav.defaults={initLetter:'',includeAll:true,includeNums:true,flagDisabled:true,noMatchText:'No matching entries',showCounts:true,cookieName:null,onClick:null};})(jQuery);;jQuery(document).ready(function($){$('#listed-bus-ul').listnav();})
