/* This script and many more are available free online at The JavaScript Source :: http://javascript.internet.com Created by: Philip Myers :: http://virtualipod.tripod.com/bookmark.html */ function bookmark(url,title){ if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) { window.external.AddFavorite(url,title); } else if (navigator.appName == "Netscape") { window.sidebar.addPanel(title,url,""); } else { alert("Press CTRL-D (Netscape) or CTRL-T (Opera) to bookmark"); } } /* --------------------------------------------------------------------------- CLASS: Marquee() OPTIONS: speed the speed of the animation in milliseconds (default:20) pauseOnOver boolean value to stop animation on mouse over (default:true) AUTHOR: Ryan J. Salva, ryan@capitolmedia.com ABOUT: Creates a single line marquee for scrolling text */ var Marquee = new Class({ Implements: [Events, Options], options: { speed: 25, pauseOnOver: true, onStart: $empty, onUpdate: $empty }, initialize: function(element, options) { this.container = $(element); this.el = this.container.clone({'contents':'true'}); this.el.erase('style'); this.el.erase('class'); this.el.setStyles({ 'position':'absolute', 'top':0, 'left':this.pos, 'white-space':'nowrap' }); this.container.setStyle('position','relative'); this.container.empty(); this.pos = this.container.getSize().x; this.container.adopt(this.el); if (this.options.pauseOnOver) { this.container.addEvents({ 'mouseenter' : function(e){ this.stop(); }.bind(this), 'mouseleave' : function(e){ this.start(); }.bind(this) }); } this.start(); }, start: function() { this.timer = this.update.periodical(this.options.speed, this); }, stop: function(){ $clear(this.timer); }, update: function(){ this.pos--; if (-this.pos > this.el.getCoordinates().width) this.pos = this.container.getSize().x; this.el.setStyle('left',this.pos); } });