1 /* 2 * Superfish v1.4.8 - jQuery menu widget 3 * Copyright (c) 2008 Joel Birch 4 * 5 * Dual licensed under the MIT and GPL licenses: 6 * http://www.opensource.org/licenses/mit-license.php 7 * http://www.gnu.org/licenses/gpl.html 8 * 9 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt 10 */ 11(function($){$.fn.superfish=function(op){var sf=$.fn.superfish,c=sf.c,$arrow=$(['<span class="',c.arrowClass,'"> »</span>'].join("")),over=function(){var $$=$(this),menu=getMenu($$);clearTimeout(menu.sfTimer);$$.showSuperfishUl().siblings().hideSuperfishUl();},out=function(){var $$=$(this),menu=getMenu($$),o=sf.op;clearTimeout(menu.sfTimer);menu.sfTimer=setTimeout(function(){o.retainPath=($.inArray($$[0],o.$path)>-1);$$.hideSuperfishUl();if(o.$path.length&&$$.parents(["li.",o.hoverClass].join("")).length<1){over.call(o.$path);}},o.delay);},getMenu=function($menu){var menu=$menu.parents(["ul.",c.menuClass,":first"].join(""))[0];sf.op=sf.o[menu.serial];return menu;},addArrow=function($a){$a.addClass(c.anchorClass).append($arrow.clone());};return this.each(function(){var s=this.serial=sf.o.length;var o=$.extend({},sf.defaults,op);o.$path=$("li."+o.pathClass,this).slice(0,o.pathLevels).each(function(){$(this).addClass([o.hoverClass,c.bcClass].join(" ")).filter("li:has(ul)").removeClass(o.pathClass);});sf.o[s]=sf.op=o;$("li:has(ul)",this)[($.fn.hoverIntent&&!o.disableHI)?"hoverIntent":"hover"](over,out).each(function(){if(o.autoArrows){addArrow($(">a:first-child",this));}}).not("."+c.bcClass).hideSuperfishUl();var $a=$("a",this);$a.each(function(i){var $li=$a.eq(i).parents("li");$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});});o.onInit.call(this);}).each(function(){var menuClasses=[c.menuClass];if(sf.op.dropShadows&&!($.browser.msie&&$.browser.version<7)){menuClasses.push(c.shadowClass);}$(this).addClass(menuClasses.join(" "));});};var sf=$.fn.superfish;sf.o=[];sf.op={};sf.IE7fix=function(){var o=sf.op;if($.browser.msie&&$.browser.version>6&&o.dropShadows&&o.animation.opacity!=undefined){this.toggleClass(sf.c.shadowClass+"-off");}};sf.c={bcClass:"sf-breadcrumb",menuClass:"sf-js-enabled",anchorClass:"sf-with-ul",arrowClass:"sf-sub-indicator",shadowClass:"sf-shadow"};sf.defaults={hoverClass:"sfHover",pathClass:"overideThisToUse",pathLevels:1,delay:800,animation:{opacity:"show"},speed:"normal",autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};$.fn.extend({hideSuperfishUl:function(){var o=sf.op,not=(o.retainPath===true)?o.$path:"";o.retainPath=false;var $ul=$(["li.",o.hoverClass].join(""),this).add(this).not(not).removeClass(o.hoverClass).find(">ul").hide().css("visibility","hidden");o.onHide.call($ul);return this;},showSuperfishUl:function(){var o=sf.op,sh=sf.c.shadowClass+"-off",$ul=this.addClass(o.hoverClass).find(">ul:hidden").css("visibility","visible");sf.IE7fix.call($ul);o.onBeforeShow.call($ul);$ul.animate(o.animation,o.speed,function(){sf.IE7fix.call($ul);o.onShow.call($ul);});return this;}});})(jQuery); 12 13 $(document).ready(function($) { 14 15 $('ul.menu, ul#children, ul.sub-menu').superfish({ 16 delay: 100, // 0.1 second delay on mouseout 17 animation: {opacity:'show',height:'show'}, // fade-in and slide-down animation 18 dropShadows: false // disable drop shadows 19 }); 20 21}); 22 23$(document).ready(function() { 24 // Create the dropdown base 25 $("<select />").appendTo("#navigation"); 26 27 // Create default option "Go to..." 28 $("<option />", { 29 "selected": "selected", 30 "value" : "", 31 "text" : "Go to..." 32 }).appendTo("#navigation select"); 33 34 // Populate dropdown with menu items 35 $("#navigation > ul > li:not([data-toggle])").each(function() { 36 37 var el = $(this); 38 39 var hasChildren = el.find("ul"), 40 children = el.find("li > a"); 41 42 if (hasChildren.length) { 43 44 $("<optgroup />", { 45 "label": el.find("> a").text() 46 }).appendTo("#navigation select"); 47 48 children.each(function() { 49 50 $("<option />", { 51 "value" : $(this).attr("href"), 52 "text": " - " + $(this).text() 53 }).appendTo("optgroup:last"); 54 55 }); 56 57 } else { 58 59 $("<option />", { 60 "value" : el.find("> a").attr("href"), 61 "text" : el.find("> a").text() 62 }).appendTo("#navigation select"); 63 64 } 65 66 }); 67 68 $("#navigation select").change(function() { 69 window.location = $(this).find("option:selected").val(); 70 }); 71 72 //END -- Menus to <SELECT> 73 74 }); //END -- JQUERY document.ready 75 76jQuery(document).ready(function(){ 77 78 // UL = .tabs 79 // Tab contents = .inside 80 81 var tag_cloud_class = '#tag-cloud'; 82 83 //Fix for tag clouds - unexpected height before .hide() 84 var tag_cloud_height = jQuery('#tag-cloud').height(); 85 86 jQuery('.inside ul li:last-child').css('border-bottom','0px') // remove last border-bottom from list in tab conten 87 jQuery('.tabs').each(function(){ 88 jQuery(this).children('li').children('a:first').addClass('selected'); // Add .selected class to first tab on load 89 }); 90 jQuery('.inside > *').hide(); 91 jQuery('.inside > *:first-child').show(); 92 93 94 jQuery('.tabs li a').click(function(evt){ // Init Click funtion on Tabs 95 96 var clicked_tab_ref = jQuery(this).attr('href'); // Strore Href value 97 98 jQuery(this).parent().parent().children('li').children('a').removeClass('selected'); //Remove selected from all tabs 99 jQuery(this).addClass('selected'); 100 jQuery(this).parent().parent().parent().children('.inside').children('*').hide(); 101 102 /* 103 if(clicked_tab_ref === tag_cloud_class) // Initiate tab fix (+20 for padding fix) 104 { 105 clicked_tab_ref_height = tag_cloud_height + 20; 106 } 107 else // Other height calculations 108 { 109 clicked_tab_ref_height = jQuery('.inside ' + clicked_tab_ref).height(); 110 } 111 */ 112 //jQuery('.inside').stop().animate({ 113 // height: clicked_tab_ref_height 114 // },400,"linear",function(){ 115 //Callback after new tab content's height animation 116 jQuery('.inside ' + clicked_tab_ref).fadeIn(500); 117 // }) 118 119 evt.preventDefault(); 120 121 }) 122 123}) 124 125// Scroll to Top script 126jQuery(document).ready(function($){ 127 $('a[href=#top]').click(function(){ 128 $('html, body').animate({scrollTop:0}, 'slow'); 129 return false;
130 }); 131$(".togglec").hide(); 132 133 $(".togglet").click(function(){ 134 135 $(this).toggleClass("toggleta").next(".togglec").slideToggle("normal"); 136 return true; 137 }); 138}); 139 140function swt_format_twitter(twitters) { 141 var statusHTML = []; 142 for (var i=0; i<twitters.length; i++){ 143 var username = twitters[i].user.screen_name; 144 var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) { 145 return '<a href="'+url+'">'+url+'</a>'; 146 }).replace(/\B@([_a-z0-9]+)/ig, function(reply) { 147 return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>'; 148 }); 149 statusHTML.push('<li><span>'+status+'</span> <a style="font-size:90%; color:#bbb;" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'">'+relative_time(twitters[i].created_at)+'</a></li>'); 150 } 151 return statusHTML.join(''); 152} 153 154function relative_time(time_value) { 155 var values = time_value.split(" "); 156 time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; 157 var parsed_date = Date.parse(time_value); 158 var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); 159 var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); 160 delta = delta + (relative_to.getTimezoneOffset() * 60); 161 162 if (delta < 60) { 163 return 'less than a minute ago'; 164 } else if(delta < 120) { 165 return 'about a minute ago'; 166 } else if(delta < (60*60)) { 167 return (parseInt(delta / 60)).toString() + ' minutes ago'; 168 } else if(delta < (120*60)) { 169 return 'about an hour ago'; 170 } else if(delta < (24*60*60)) { 171 return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago'; 172 } else if(delta < (48*60*60)) { 173 return '1 day ago'; 174 } else { 175 return (parseInt(delta / 86400)).toString() + ' days ago'; 176 } 177}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.