/************************************************ * mooquee v.0 * * Dirar Abu Kteish dirar@zanstudio.com * /***********************************************/ var mooquee = new Class({ initialize: function(element, options) { this.setOptions({ marHeight: 18, marWidth: 357, marSpacing: 10, speed: 10, direction: 'left', pauseOnOver: true }, options); this.timer = null; this.textElement = null; this.mooqueeElement = element; this.constructMooquee(); }, constructMooquee: function() { var el = this.mooqueeElement; el.setStyles({ 'width' : this.options.marWidth ,'height' : this.options.marHeight }); this.textElement = new Element('div',{ 'class' : 'mooquee-text' ,'id' : 'mooquee-text' }).setHTML(el.innerHTML); el.setHTML(''); this.textElement.injectInside(el); this.textElement = $('mooquee-text'); (this.options.direction == 'left') ? this.textElement.setStyle('left', ( -1 * this.textElement.getCoordinates().width.toInt())) : this.textElement.setStyle('left', this.options.marWidth); if(this.options.pauseOnOver){this.addMouseEvents();} //start marquee this.timer = this.startMooquee.delay(this.options.speed, this); }, addMouseEvents : function(){ this.textElement.addEvents({ 'mouseenter' : function(me){ this.clearTimer(); }.bind(this), 'mouseleave' : function(me){ this.timer = this.startMooquee.delay(this.options.speed, this); }.bind(this) }); }, startMooquee: function(){ var pos = this.textElement.getStyle('left').toInt(); this.textElement.setStyle('left', ( pos + ((this.options.direction == 'left') ? -1 : 1)) + 'px'); this.checkEnd(pos); this.timer = this.startMooquee.delay(this.options.speed, this); }, resumeMooquee: function(){ this.stopMooquee(); if(this.options.pauseOnOver){this.addMouseEvents();} this.timer = this.startMooquee.delay(this.options.speed, this); }, stopMooquee: function(){ this.clearTimer(); this.textElement.removeEvents(); }, clearTimer: function(){ $clear(this.timer); }, checkEnd: function(pos){ if(this.options.direction == 'left'){ if(pos < -1 * (this.textElement.getCoordinates().width.toInt())){ this.textElement.setStyle('left', this.options.marWidth); } } else{ if(pos > this.options.marWidth.toInt()){ this.textElement.setStyle('left', -1 * (this.textElement.getCoordinates().width.toInt()) ); } } }, setDirection: function(dir){ this.options.direction = dir; } }); mooquee.implement(new Options); /* 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"); } } //Chrome Drop Down Menu v2.01- Author: Dynamic Drive (http://www.dynamicdrive.com) //Last updated: November 14th 06- added iframe shim technique var cssdropdown={ disappeardelay: 250, //set delay in miliseconds before menu disappears onmouseout disablemenuclick: true, //when user clicks on a menu item with a drop down menu, disable menu item's link? enableswipe: 1, //enable swipe effect? 1 for yes, 0 for no enableiframeshim: 1, //enable "iframe shim" technique to get drop down menus to correctly appear on top of controls such as form objects in IE5.5/IE6? 1 for yes, 0 for no //No need to edit beyond here//////////////////////// dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all, swipetimer: undefined, bottomclip:0, getposOffset:function(what, offsettype){ var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop; var parentEl=what.offsetParent; while (parentEl!=null){ totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop; parentEl=parentEl.offsetParent; } return totaloffset; }, swipeeffect:function(){ if (this.bottomclip