/* 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);
	}
});