(function($) { $.fn.fullBg = function(){ var bgImg = $(this); bgImg.addClass('fullBg'); function resizeImg() { var imgwidth = bgImg.width(); var imgheight = bgImg.height(); var winwidth = $(window).width(); var winheight = $(window).height(); var widthratio = winwidth / imgwidth; var heightratio = winheight / imgheight; var widthdiff = heightratio * imgwidth; var heightdiff = widthratio * imgheight; if(heightdiff>winheight) { bgImg.css({ width: winwidth+'px', height: heightdiff+'px' }); } else { bgImg.css({ width: widthdiff+'px', height: winheight+'px' }); } } resizeImg(); $(window).resize(function() { resizeImg(); }); }; })(jQuery) jQuery(function($) { $("#background").fullBg(); }); // |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| // // Coded by Travis Beckham // http://www.squidfingers.com | http://www.podlob.com // If want to use this code, feel free to do so, but please leave this message intact. // // |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| // --- version date: 01/24/03 --------------------------------------------------------- // |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| // Cross-Browser Functions var dom = document.getElementById; var iex = document.all; var ns4 = document.layers; function addEvent(event,method){ this[event] = method; if(ns4) this.captureEvents(Event[event.substr(2,event.length).toUpperCase()]); } function removeEvent(event){ this[event] = null; if(ns4) this.releaseEvents(Event[event.substr(2,event.length).toUpperCase()]); } function getElement(name,nest){ nest = nest ? "document."+nest+"." : ""; var el = dom ? document.getElementById(name) : iex ? document.all[name] : ns4 ? eval(nest+"document."+name) : false; el.css = ns4 ? el : el.style; el.getTop = function(){return parseInt(el.css.top) || 0}; el.setTop = function(y){el.css.top = ns4 ? y: y+"px"}; el.getHeight = function(){return ns4 ? el.document.height : el.offsetHeight}; el.getClipHeight = function(){return ns4 ? el.clip.height : el.offsetHeight}; el.hideVis = function(){el.css.visibility="hidden"}; el.addEvent = addEvent; el.removeEvent = removeEvent; return el; } function getYMouse(e){ return iex ? event.clientY : e.pageY; } document.addEvent = addEvent; document.removeEvent = removeEvent; // |||||||||||||||||||||||||||||||||||||||||||||||||| // Scroller Class ScrollObj = function(speed, dragHeight, trackHeight, trackObj, upObj, downObj, dragObj, contentMaskObj, contentObj){ this.speed = speed; this.dragHeight = dragHeight; this.trackHeight = trackHeight; this.trackObj = getElement(trackObj); this.upObj = getElement(upObj); this.downObj = getElement(downObj); this.dragObj = getElement(dragObj); this.contentMaskObj = getElement(contentMaskObj); this.contentObj = getElement(contentObj,contentMaskObj); this.obj = contentObj+"Object"; eval(this.obj+"=this"); this.trackTop = this.dragObj.getTop(); this.trackLength = this.trackHeight-this.dragHeight; this.trackBottom = this.trackTop+this.trackLength; this.contentMaskHeight = this.contentMaskObj.getClipHeight(); this.contentHeight = this.contentObj.getHeight(); this.contentLength = this.contentHeight-this.contentMaskHeight; this.scrollLength = this.trackLength/this.contentLength; this.scrollTimer = null; if(this.contentHeight <= this.contentMaskHeight){ this.dragObj.hideVis(); }else{ var self = this; this.trackObj.addEvent("onmousedown", function(e){self.scrollJump(e);return false}); this.upObj.addEvent("onmousedown", function(){self.scroll(self.speed);return false}); this.upObj.addEvent("onmouseup", function(){self.stopScroll()}); this.upObj.addEvent("onmouseout", function(){self.stopScroll()}); this.downObj.addEvent("onmousedown", function(){self.scroll(-self.speed);return false}); this.downObj.addEvent("onmouseup", function(){self.stopScroll()}); this.downObj.addEvent("onmouseout", function(){self.stopScroll()}); this.dragObj.addEvent("onmousedown", function(e){self.startDrag(e);return false}); if(iex) this.dragObj.addEvent("ondragstart", function(){return false}); } } ScrollObj.prototype.startDrag = function(e){ this.dragStartMouse = getYMouse(e); this.dragStartOffset = this.dragObj.getTop(); var self = this; document.addEvent("onmousemove", function(e){self.drag(e)}); document.addEvent("onmouseup", function(){self.stopDrag()}); } ScrollObj.prototype.stopDrag = function(){ document.removeEvent("onmousemove"); document.removeEvent("onmouseup"); } ScrollObj.prototype.drag = function(e){ var currentMouse = getYMouse(e); var mouseDifference = currentMouse-this.dragStartMouse; var dragDistance = this.dragStartOffset+mouseDifference; var dragMovement = (dragDistancethis.trackBottom) ? this.trackBottom : dragDistance; this.dragObj.setTop(dragMovement); var contentMovement = -(dragMovement-this.trackTop)*(1/this.scrollLength); this.contentObj.setTop(contentMovement); } ScrollObj.prototype.scroll = function(speed){ var contentMovement = this.contentObj.getTop()+speed; var dragMovement = this.trackTop-Math.round(this.contentObj.getTop()*(this.trackLength/this.contentLength)); if(contentMovement > 0){ contentMovement = 0; }else if(contentMovement < -this.contentLength){ contentMovement = -this.contentLength; } if(dragMovement < this.trackTop){ dragMovement = this.trackTop; }else if(dragMovement > this.trackBottom){ dragMovement = this.trackBottom; } this.contentObj.setTop(contentMovement); this.dragObj.setTop(dragMovement); this.scrollTimer = window.setTimeout(this.obj+".scroll("+speed+")",25); } ScrollObj.prototype.stopScroll = function(){ if(this.scrollTimer){ window.clearTimeout(this.scrollTimer); this.scrollTimer = null; } } ScrollObj.prototype.scrollJump = function(e){ var currentMouse = getYMouse(e); var dragDistance = currentMouse-(this.dragHeight/2); var dragMovement = (dragDistancethis.trackBottom) ? this.trackBottom : dragDistance; this.dragObj.setTop(dragMovement); var contentMovement = -(dragMovement-this.trackTop)*(1/this.scrollLength); this.contentObj.setTop(contentMovement); } // |||||||||||||||||||||||||||||||||||||||||||||||||| window.onload = function(){ // speed, dragHeight, trackHeight, trackObj, upObj, downObj, dragObj, contentMaskObj, contentObj myScroll = new ScrollObj(20,40,356,"track","up","down","drag","contentMask","sailing"); }; // hides teh errors function no_error() { return true; } window.onerror=no_error;