/************************************************ * mooquee v.0 * * Dirar Abu Kteish dirar@zanstudio.com * /***********************************************/ var mooquee = new Class({ initialize: function(element, options) { this.setOptions({ marHeight: 25, marWidth: 258, 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); /************************************************ * carousel v.0 * /***********************************************/ var CNETcarousel = new Class({ initialize: function(container, options){ this.container = $(container); if(!this.container.hasClass('hasCarousel')){ this.container.addClass('hasCarousel'); this.slides = []; this.buttons = []; this.setOptions({ onRotate: Class.empty, onStop: Class.empty, onAutoPlay: Class.empty, onShowSlide: Class.empty, slidesSelector: ".slide", buttonsSelector: ".button", slideInterval: 4000, transitionDuration: 700, startIndex: 0, buttonOnClass: "selected", buttonOffClass: "off", rotateAction: "none", rotateActionDuration: 100, autoplay: false }, options); this.slides = $(container).getElements(this.options.slidesSelector); this.buttons = $(container).getElements(this.options.buttonsSelector); this.createFx(); this.showSlide(this.options.startIndex); if(this.options.autoplay) this.autoplay(); if(this.options.rotateAction != 'none') this.setupAction(this.options.rotateAction); return this; } else return false; }, setupAction: function(action) { this.buttons.each(function(el, idx){ $(el).addEvent(action, function() { this.slideFx.setOptions(this.slideFx.options, {duration: this.options.rotateActionDuration}); if(this.currentSlide != idx) this.showSlide(idx); this.stop(); }.bind(this)); }, this); }, createFx: function(){ this.slideFx = new Fx.Elements(this.slides, {duration: this.options.transitionDuration}); this.slides.each(function(slide){ slide.setStyle('opacity',0); }); }, showSlide: function(slideIndex){ var action = {}; this.slides.each(function(slide, index){ if(index == slideIndex && index != this.currentSlide){ //show $(this.buttons[index]).removeClass(this.options.buttonOffClass).addClass(this.options.buttonOnClass); action[index.toString()] = { 'opacity': [1] }; } else { $(this.buttons[index]).removeClass(this.options.buttonOnClass).addClass(this.options.buttonOffClass); action[index.toString()] = { 'opacity':[0] }; } }, this); this.fireEvent('onShowSlide', slideIndex); this.currentSlide = slideIndex; this.slideFx.start(action); }, autoplay: function(){ this.createFx(); this.slideshowInt = this.rotate.periodical(this.options.slideInterval, this); this.fireEvent('onAutoPlay'); }, stop: function(){ clearInterval(this.slideshowInt); this.fireEvent('onStop'); }, rotate: function(){ current = this.currentSlide; next = (current+1 >= this.slides.length) ? 0 : current+1; this.showSlide(next); this.fireEvent('onRotate'); }, show: function() { $(this.options.carouselContainer).setStyle('visibility','visible'); if(!$(this.options.carouselContainer).isVisible())$(this.options.carouselContainer).setStyle('display','block'); }, hide: function(){ $(this.options.carouselContainer).setStyle('visibility','hidden'); } }); CNETcarousel.implement(new Options); CNETcarousel.implement(new Events); var CNETcarouselWithButtons = CNETcarousel.extend({ initialize:function(el, options){ this.parent(el, $merge({ bubbleButtonBGImgSelector: '.bbg', buttonOnGifSrc: 'http://i.i.com.com/cnwk.1d/i/fd/c/green_button.gif', buttonOffGifSrc: 'http://i.i.com.com/cnwk.1d/i/fd/c/gray_button.gif' }, options)); }, showSlide: function(slideIndex){ this.buttons.each(function(button, index){ $(button).getElement(this.options.bubbleButtonBGImgSelector).src = (index == slideIndex)?this.options.buttonOnGifSrc:this.options.buttonOffGifSrc; }, this); this.parent(slideIndex); } }); var carousel = null; window.addEvent('domready', function(){ if($('Carousel')) { carousel = new CNETcarouselWithButtons($('Carousel'),{buttonsSelector:'.bubble', rotateAction:'mouseover'}); } }); /* 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: 750, //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: 0, //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