summaryrefslogtreecommitdiff
path: root/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights')
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights-home.js510
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights.css111
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights.js519
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bg-strip-dark.pngbin0 -> 237 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/blank.pngbin0 -> 205 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-bottom.pngbin0 -> 11323 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-left.pngbin0 -> 12001 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-right.pngbin0 -> 11509 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-top.pngbin0 -> 12028 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-bottom.pngbin0 -> 24562 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-fragments.pngbin0 -> 10529 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-left.pngbin0 -> 27723 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-right.pngbin0 -> 27329 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-top.pngbin0 -> 24885 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50.pngbin0 -> 6547 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-bottom.pngbin0 -> 29776 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-left.pngbin0 -> 28547 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-right.pngbin0 -> 28209 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-top.pngbin0 -> 31729 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-bottom.pngbin0 -> 35104 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-left.pngbin0 -> 33879 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-right.pngbin0 -> 33442 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-top.pngbin0 -> 37430 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-bottom.pngbin0 -> 42948 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-left.pngbin0 -> 37495 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-right.pngbin0 -> 37860 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-top.pngbin0 -> 44103 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/index.html33
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass0.mp3bin0 -> 8149 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass1.mp3bin0 -> 8985 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass2.mp3bin0 -> 16416 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass3.mp3bin0 -> 23730 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass4.mp3bin0 -> 46111 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass5.mp3bin0 -> 19008 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/yahoo-dom-event-animation-260.js35
35 files changed, 1208 insertions, 0 deletions
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights-home.js b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights-home.js
new file mode 100755
index 0000000..2ebc4fa
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights-home.js
@@ -0,0 +1,510 @@
+// Christmas Light Smashfest
+// Adapted from XLSF 2007 as originally used on http://schillmania.com/?theme=2007&christmas=1
+
+var Y = {
+ // shortcuts
+ A: YAHOO.util.Anim,
+ D: YAHOO.util.Dom,
+ E: YAHOO.util.Event,
+ UE: YAHOO.util.Easing,
+ CA: YAHOO.util.ColorAnim,
+ BG: YAHOO.util.BgPosAnim
+}
+
+function XLSF(oTarget,urlBase,lightClass) {
+ var writeDebug = soundManager._wD;
+ writeDebug('XLSF()');
+ var IS_MOON_COMPUTER = false;
+ var isIE = navigator.userAgent.match(/msie/i);
+ var self = this;
+ var xlsf = self;
+ var animDuration = 1;
+ this.oFrag = document.createDocumentFragment();
+ this.oTarget = (oTarget?oTarget:document.documentElement);
+ this.oExplosionBox = document.createElement('div');
+ this.oExplosionBox.className = 'xlsf-fragment-box';
+ this.oExplosionFrag = document.createElement('div');
+ this.oExplosionFrag.className = 'xlsf-fragment';
+ this.lights = [];
+ this.lightClasses = {
+ pico: 32,
+ tiny: 50,
+ small: 64,
+ medium: 72,
+ large: 96
+ }
+ this.urlBase = (typeof urlBase == 'undefined' || !urlBase?'demo/christmas-lights/':urlBase);
+
+ if (window.innerWidth || window.innerHeight) {
+ var screenX = window.innerWidth; // -(!isIE?24:2);
+ var screenY = window.innerHeight;
+ } else {
+ var screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth); // -(!isIE?8:0);
+ var screenY = (document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
+ }
+
+ this.lightClass = (screenX>1280?'small':'pico'); // kind of light to show (32px to 96px square)
+
+ if (typeof lightClass != 'undefined') {
+ // hack: override
+ this.lightClass = lightClass;
+ }
+
+ if (window.location.href.match(/size=/i)) {
+ this.lightClass = window.location.href.substr(window.location.href.indexOf('size=')+5);
+ }
+
+ this.lightXY = this.lightClasses[this.lightClass]; // shortcut to w/h
+
+ this.lightGroups = {
+ left: [],
+ top: [],
+ right: [],
+ bottom: []
+ }
+ this.lightSmashCounter = 0;
+ this.lightIndex = 0;
+ this.lightInterval = 250;
+ this.timer = null;
+ this.bgBaseX = 0;
+ this.bgBaseY = 0;
+ this.soundIDs = 0;
+ this.soundPan = {
+ panValue: 75,
+ left: 0,
+ mid: 481,
+ right: 962
+ }
+
+ this.cover = document.createElement('div');
+ this.cover.className = 'xlsf-cover';
+ document.documentElement.appendChild(this.cover);
+
+ this.initSounds = function() {
+ for (var i=0; i<6; i++) {
+ soundManager.createSound({
+ id: 'smash'+i,
+ url: xlsf.urlBase+'sound/glass'+i+'.mp3',
+ autoLoad: true,
+ multiShot: true,
+ volume:50
+ });
+ }
+ self.initSounds = function() {} // safety net
+ }
+
+ this.appendLights = function() {
+ writeDebug('xlsf.appendLights()');
+ self.oTarget.appendChild(self.oFrag);
+ self.oFrag = document.createDocumentFragment();
+ }
+
+ function ExplosionFragment(nType,sClass,x,y,vX,vY) {
+ var self = this;
+ this.o = xlsf.oExplosionFrag.cloneNode(true);
+ this.nType = nType;
+ this.sClass = sClass;
+ this.x = x;
+ this.y = y;
+ this.w = 50;
+ this.h = 50;
+ this.bgBaseX = 0;
+ this.bgBaseY = this.h*this.nType;
+ this.vX = vX*(1.5+Math.random());
+ this.vY = vY*(1.5+Math.random());
+ this.oA = null;
+ this.oA2 = null;
+ this.burstPhase = 3; // starting background offset point
+ this.burstPhases = 4; // 1+offset (ignore large size)
+ this.o.style.backgroundPosition = ((this.w*-this.burstPhase)+'px '+(this.h*-nType)+'px');
+
+ // boundary checks
+ if (self.sClass == 'left') {
+ this.vX = Math.abs(this.vX);
+ } else if (self.sClass == 'right') {
+ this.vX = Math.abs(this.vX)*-1;
+ }
+
+ this.burstTween = function() {
+ // determine frame to show
+ var phase = 1+Math.floor((this.currentFrame/this.totalFrames)*self.burstPhases);
+ if (phase != self.burstPhase) {
+ self.burstPhase = phase;
+ self.o.style.backgroundPosition = ((self.w*-self.burstPhase)+'px '+(self.h*-nType)+'px');
+ }
+ }
+
+ this.burst = function() {
+ self.oA = new Y.A(self.o,{marginLeft:{to:(self.vX*8)},marginTop:{to:(self.vY*8)}},animDuration,Y.UE.easeOutStrong);
+ self.oA.onTween.subscribe(self.burstTween);
+ // self.oA.onComplete.subscribe(self.hide);
+ self.oA.animate();
+ }
+
+ this.hide = function() {
+ if (!isIE) self.o.style.opacity = 0;
+ }
+
+ this.reset = function() {
+ self.o.style.left = '0px';
+ self.o.style.top = '0px';
+ self.o.style.marginLeft = '0px';
+ self.o.style.marginTop = '0px';
+ if (!isIE) self.o.style.opacity = 1;
+ }
+
+ this.animate = function() {
+ self.reset();
+ self.burst();
+ }
+
+ }
+
+ function Explosion(nType,sClass,x,y) {
+ var oParent = this;
+ var self = this;
+ this.o = null;
+ this.nType = nType;
+ this.sClass = sClass;
+ this.x = x;
+ this.y = y;
+ this.boxVX = 0;
+ this.boxVY = 0;
+ this.o = xlsf.oExplosionBox.cloneNode(true);
+ this.o.style.left = x+'px';
+ this.o.style.top = y+'px';
+ // this.oFrag = document.createDocumentFragment();
+ this.fragments = [];
+
+ var mX = x;
+ var mY = y;
+
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,-5,-5));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,0,-5));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,-5));
+
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,-5,0));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,0,0));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,0));
+
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,-5));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,0));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,5));
+
+ this.init = function() {
+ for (var i=self.fragments.length; i--;) {
+ self.o.appendChild(self.fragments[i].o);
+ }
+ // xlsf.oTarget.appendChild(self.o);
+ // self.oFrag = document.createDocumentFragment();
+ if (!IS_MOON_COMPUTER) {
+ // faster rendering, particles get cropped
+ xlsf.oFrag.appendChild(self.o);
+ } else {
+ // slower rendering, can overlay body
+ // _id('header').appendChild(self.o);
+ // (document.documentElement?document.documentElement:document.body).appendChild(o);
+ xlsf.oFrag.appendChild(self.o);
+ }
+ }
+
+ this.reset = function() {
+ // clean-up
+ // self.o.parentNode.removeChild(self.o);
+ self.o.style.display = 'none';
+ self.o.style.marginLeft = '0px';
+ self.o.style.marginTop = '0px';
+ self.o.style.left = self.x+'px';
+ self.o.style.top = self.y+'px';
+ if (!isIE) self.o.style.opacity = 1;
+ for (var i=self.fragments.length; i--;) {
+ self.fragments[i].reset();
+ }
+ }
+
+ this.trigger = function(boxVX,boxVY) {
+ self.o.style.display = 'block';
+ self.boxVX = boxVX;
+ self.boxVY = boxVY;
+ // boundary checks
+ if (self.sClass == 'right') {
+ self.boxVX = Math.abs(self.boxVX)*-1;
+ } else if (self.sClass == 'left') {
+ self.boxVX = Math.abs(self.boxVX);
+ }
+ for (var i=self.fragments.length; i--;) {
+ self.fragments[i].animate();
+ }
+ if (!isIE && (IS_MOON_COMPUTER)) {
+ var oAExplode = new Y.A(self.o,{marginLeft:{to:100*self.boxVX},marginTop:{to:150*self.boxVY},opacity:{to:0.01}},animDuration,Y.UE.easeInStrong);
+ } else {
+ // even IE 7 sucks w/alpha-transparent PNG + CSS opacity. Boo urns.
+ var oAExplode = new Y.A(self.o,{marginLeft:{to:100*self.boxVX},marginTop:{to:150*self.boxVY}},animDuration,Y.UE.easeInStrong);
+ }
+ oAExplode.onComplete.subscribe(self.reset);
+ oAExplode.animate();
+ // setTimeout(self.reset,animDuration*1000*1.5);
+ }
+
+ this.init();
+
+ // this.trigger(); // boooom!
+
+ }
+
+ function Light(sSizeClass,sClass,nType,x,y) {
+ var self = this;
+ this.o = document.createElement('div');
+ this.sClass = sClass;
+ this.sSizeClass = sSizeClass;
+ this.nType = (nType||0);
+ this.useY = (sClass == 'left' || sClass == 'right');
+ this.state = null;
+ this.broken = 0;
+ this.w = xlsf.lightClasses[sSizeClass];
+ this.h = xlsf.lightClasses[sSizeClass];
+ this.x = x;
+ this.y = y;
+ this.bg = xlsf.urlBase+'image/bulbs-'+this.w+'x'+this.h+'-'+this.sClass+'.png';
+ this.o.style.width = this.w+'px';
+ this.o.style.height = this.h+'px';
+ this.o.style.background = 'url('+this.bg+') no-repeat 0px 0px';
+ this.bgBaseX = (self.useY?-self.w*this.nType:0);
+ this.bgBaseY = (!self.useY?-self.h*this.nType:0);
+ this.glassType = parseInt(Math.random()*6);
+ this.oExplosion = null;
+ this.soundID = 'smash'+this.glassType;
+ var panValue = xlsf.soundPan.panValue; // eg. +/- 80%
+ this.pan = parseInt(this.x<=xlsf.soundPan.mid?-panValue+((this.x/xlsf.soundPan.mid)*panValue):(this.x-xlsf.soundPan.mid)/(xlsf.soundPan.right-xlsf.soundPan.mid)*panValue);
+
+ this.initSound = function() {
+ }
+
+ this.setBGPos = function(x,y) {
+ self.o.style.backgroundPosition = ((self.bgBaseX+x)+'px '+(self.bgBaseY+y)+'px');
+ }
+
+ this.setLight = function(bOn) {
+ if (self.broken || self.state == bOn) return false;
+ if (!self.w || !self.h) self.getDimensions();
+ self.state = bOn;
+ if (self.useY) {
+ self.setBGPos(0,-this.h*(bOn?0:1));
+ } else {
+ self.setBGPos(-this.w*(bOn?0:1),0);
+ }
+ }
+
+ this.getDimensions = function() {
+ self.w = self.o.offsetWidth;
+ self.h = self.o.offsetHeight;
+ self.bgBaseX = (self.useY?-self.w*self.nType:0);
+ self.bgBaseY = (!self.useY?-self.h*self.nType:0);
+ }
+
+ this.on = function() {
+ self.setLight(1);
+ }
+
+ this.off = function() {
+ self.setLight(0);
+ }
+
+ this.flickr = function() {
+ self.setLight(Math.random()>=0.5?1:0);
+ }
+
+ this.toggle = function() {
+ self.setLight(!self.state?1:0);
+ }
+
+ this.explode = function(e) {
+ // self.oExplosion = new Explosion(self.nType,self.sClass,self.x,self.y);
+ self.oExplosion.trigger(0,1); // boooom!
+ }
+
+ this.smash = function(e) {
+ if (self.broken) return false;
+ self.broken = true;
+ if (soundManager && soundManager.supported()) {
+ soundManager.play(self.soundID,{pan:self.pan});
+ // soundManager.sounds[self.soundID].play({pan:self.pan});
+ // if (self.bonusSound != null) window.setTimeout(self.smashBonus,1000);
+ }
+ self.explode(e);
+ var rndFrame = 2; // +parseInt(Math.random()*3);
+ if (self.useY) {
+ self.setBGPos(0,self.h*-rndFrame);
+ } else {
+ self.setBGPos(self.w*-rndFrame,0);
+ }
+ xlsf.lightSmashCounter++;
+ }
+
+ this.smashBonus = function() {
+ // soundManager.play(self.bonusSounds[self.bonusSound],urlBase+'sound/'+self.bonusSounds[self.bonusSound]+'.mp3');
+ }
+
+ this.reset = function() {
+ if (!self.broken) return false;
+ self.broken = false;
+ self.state = null;
+ xlsf.lightSmashCounter--;
+ self.flickr();
+ }
+
+ this.init = function() {
+ self.o.className = 'xlsf-light '+this.sizeClass+' '+this.sClass;
+ self.o.style.left = self.x+'px';
+ self.o.style.top = self.y+'px';
+ self.o.style.width = self.w+'px';
+ self.o.style.height = self.h+'px';
+ self.o.onmouseover = self.smash;
+ self.o.onclick = self.smash;
+ self.flickr();
+ xlsf.oFrag.appendChild(self.o);
+ self.oExplosion = new Explosion(self.nType,self.sClass,self.x,self.y);
+ }
+
+ this.init();
+
+ } // Light()
+
+ this.createLight = function(sClass,nType,x,y) {
+ var oLight = new Light(self.lightClass,sClass,nType,x,y);
+ self.lightGroups[sClass].push(oLight);
+ self.lights.push(oLight);
+ return oLight;
+ }
+
+ this.rotateLights = function() {
+ self.lights[self.lightIndex==self.lights.length?self.lights.length-1:self.lightIndex].off();
+ self.lightIndex++;
+ if (self.lightIndex == self.lights.length) {
+ self.lightIndex = 0;
+ }
+ self.lights[self.lightIndex].on();
+ }
+
+ this.randomLights = function() {
+ self.lights[parseInt(Math.random()*self.lights.length)].toggle();
+ }
+
+
+ this.destroyLights = function() {
+ self.startSequence(self.destroyLight,20);
+ }
+
+ this.destroyLight = function() {
+ var groupSize = 2; // # to smash at a time
+ if (self.lightSmashCounter<self.lights.length) {
+ var limit = Math.min(self.lightSmashCounter+groupSize,self.lights.length);
+ for (var i=self.lightSmashCounter; i<limit; i++) {
+ self.lights[self.lightSmashCounter].smash();
+ }
+ } else {
+ self.stopSequence();
+ }
+
+ }
+
+ this.uberSmash = function() {
+ // make everything explode - including your CPU.
+ self.stopSequence();
+/*
+ for (var i=0; i<self.lights.length; i++) {
+ if (!self.lights[i].broken) {
+ setTimeout(self.lights[i].smash,parseInt(Math.random()*1000));
+ }
+ }
+*/
+
+ function getRandomLight() {
+ return parseInt(Math.random()*self.lights.length);
+ }
+
+ function smashItUp() {
+ var smashed = 0;
+ var rnd = getRandomLight();
+ if (self.lights[rnd].broken) {
+ for (var i=self.lights.length; i--;) {
+ if (self.lights[i].broken) {
+ smashed++;
+ }
+ }
+ if (smashed < self.lights.length-1) {
+ // missed - do it again
+ smashItUp();
+ } else {
+ // all are done
+ window.clearInterval(t);
+ }
+ } else {
+ // we've got a live one
+ self.lights[rnd].smash();
+ // do some more, too
+ for (var j=parseInt(Math.random()*8); j--;) {
+ self.lights[getRandomLight()].smash();
+ }
+ }
+ }
+ var t = window.setInterval(smashItUp,20);
+ }
+
+ this.smashGroup = function(oGroup) {
+ for (var i=oGroup.length; i--;) {
+ oGroup[i].smash();
+ }
+ }
+
+ this.startSequence = function(fSequence,nInterval) {
+ if (self.timer) self.stopSequence();
+ self.timer = window.setInterval(fSequence,(typeof nInterval != 'undefined'?nInterval:self.lightInterval));
+ }
+
+ this.stopSequence = function() {
+ if (self.timer) {
+ window.clearInterval(self.timer);
+ self.timer = null;
+ }
+ }
+
+ var i=0;
+ var j=0;
+
+ _id('lights').style.display = 'block';
+
+ // start lights to the right of <h1>
+ var offset = parseInt(document.getElementsByTagName('h1')[0].offsetWidth)+16;
+
+ var jMax = Math.floor((screenX-offset-16)/self.lightXY);
+ var iMax = Math.floor((screenY-offset-16)/self.lightXY);
+
+ for (j=0; j<jMax; j++) {
+ this.createLight('top',j%3,offset+j*self.lightXY,0);
+ // this.createLight('bottom',j%3,offset+j*self.lightXY,screenY-offset-offset+1);
+ }
+
+ if (typeof isFun != 'undefined') {
+ for (i=0; i<iMax; i++) {
+ this.createLight('left',i%3,0,offset+i*self.lightXY);
+ // this.createLight('right',i%3,screenX-offset-offset,offset+i*self.lightXY);
+ }
+ }
+
+ this.appendLights();
+
+ this.startSequence(self.randomLights);
+
+ // setTimeout(this.destroyLights,10000);
+ // setTimeout(this.uberSmash,10000);
+
+} // --- XLSF2007()
+
+var xlsf = null;
+
+function smashInit(urlBase,lightClass) {
+ xlsf = new XLSF(document.getElementById('lights'),urlBase,lightClass);
+ xlsf.initSounds();
+ // document.getElementById('loading').style.display = 'none';
+} \ No newline at end of file
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights.css b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights.css
new file mode 100755
index 0000000..f857e60
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights.css
@@ -0,0 +1,111 @@
+/* XLSF 2007 */
+
+body {
+ background:#333 url(image/bg-strip-dark.png) 0px 0px;
+ font-family:lighter "Helvetica Neue Light","Helvetica Neue",georgia,"times new roman","Arial Rounded MT Bold",helvetica,verdana,tahoma,arial,"sans serif";
+ font-size:75%;
+ color:#666;
+}
+
+h1, h1 a {
+ color:#999;
+ text-decoration:none;
+}
+
+h1 {
+ color:#999;
+ margin-bottom:0;
+ margin-left:-5px;
+ margin-top:0;
+ padding-left:5px;
+ padding-right:5px;
+}
+
+h1, h2, h3 {
+ clear:both;
+ float:left;
+ font-family:lighter "Helvetica Neue Light","Helvetica Neue",georgia,"times new roman","Arial Rounded MT Bold",helvetica,verdana,tahoma,arial,"sans serif";
+ font-size:3em;
+ font-size-adjust:none;
+ margin-bottom:0.25em;
+ padding-bottom:1px;
+}
+
+h1, h2 {
+ letter-spacing:-1px;
+ margin-bottom:0;
+ margin-left:-5px;
+ margin-top:0;
+ padding-left:5px;
+ padding-right:5px;
+}
+
+a {
+ color:#6699cc;
+ padding:0px 2px;
+ text-decoration:none;
+}
+
+a:hover {
+ background:#6699cc;
+ color:#fff;
+}
+
+#lights {
+ position:absolute;
+ left:0px;
+ top:0px;
+ width:100%;
+ height:100%;
+ overflow:hidden;
+}
+
+.xlsf-light {
+ position:absolute;
+}
+
+body.fast .xlsf-light {
+ opacity:0.9;
+}
+
+.xlsf-fragment {
+ position:absolute;
+ background:transparent url(image/bulbs-50x50-fragments.png) no-repeat 0px 0px;
+ width:50px;
+ height:50px;
+}
+
+.xlsf-fragment-box {
+ position:absolute;
+ left:0px;
+ top:0px;
+ width:50px;
+ height:50px;
+ *width:100%;
+ *height:100%;
+ display:none;
+}
+
+.xlsf-cover {
+ position:fixed;
+ left:0px;
+ top:0px;
+ width:100%;
+ height:100%;
+ background:#fff;
+ opacity:1;
+ z-index:999;
+ display:none;
+}
+
+/*
+.xlsf-light.bottom {
+ height:49px;
+ border-bottom:1px solid #006600;
+}
+
+.xlsf-light.top {
+ height:49px;
+ border-top:1px solid #009900;
+}
+*/ \ No newline at end of file
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights.js b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights.js
new file mode 100755
index 0000000..9916d90
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/christmaslights.js
@@ -0,0 +1,519 @@
+// Christmas Light Smashfest
+// Adapted from XLSF 2007 as originally used on http://schillmania.com/?theme=2007&christmas=1
+
+var Y = {
+ // shortcuts
+ A: YAHOO.util.Anim,
+ D: YAHOO.util.Dom,
+ E: YAHOO.util.Event,
+ UE: YAHOO.util.Easing,
+ CA: YAHOO.util.ColorAnim,
+ BG: YAHOO.util.BgPosAnim
+}
+
+function XLSF(oTarget) {
+ var writeDebug = soundManager._wD;
+ writeDebug('XLSF()');
+ var IS_MOON_COMPUTER = false;
+ var isIE = navigator.userAgent.match(/msie/i);
+ var self = this;
+ var xlsf = self;
+ var animDuration = 1;
+ this.oFrag = document.createDocumentFragment();
+ this.oTarget = (oTarget?oTarget:document.documentElement);
+ this.oExplosionBox = document.createElement('div');
+ this.oExplosionBox.className = 'xlsf-fragment-box';
+ this.oExplosionFrag = document.createElement('div');
+ this.oExplosionFrag.className = 'xlsf-fragment';
+ this.lights = [];
+ this.lightClasses = {
+ pico: 32,
+ tiny: 50,
+ small: 64,
+ medium: 72,
+ large: 96
+ }
+
+ this.lightClass = 'tiny'; // kind of light to show (32px to 96px square)
+
+ if (window.location.href.match(/size=/i)) {
+ this.lightClass = window.location.href.substr(window.location.href.indexOf('size=')+5);
+ }
+
+ this.lightXY = this.lightClasses[this.lightClass]; // shortcut to w/h
+
+ this.lightGroups = {
+ left: [],
+ top: [],
+ right: [],
+ bottom: []
+ }
+ this.lightSmashCounter = 0;
+ this.lightIndex = 0;
+ this.lightInterval = 250;
+ this.timer = null;
+ this.bgBaseX = 0;
+ this.bgBaseY = 0;
+ this.soundIDs = 0;
+ this.soundPan = {
+ panValue: 75,
+ left: 0,
+ mid: 481,
+ right: 962
+ }
+
+ // this.beavis = null;
+ this.cover = document.createElement('div');
+ this.cover.className = 'xlsf-cover';
+ document.documentElement.appendChild(this.cover);
+
+ this.initSounds = function() {
+ for (var i=0; i<6; i++) {
+ soundManager.createSound({
+ id: 'smash'+i,
+ url: 'sound/glass'+i+'.mp3',
+ autoLoad: true,
+ multiShot: true
+ });
+ }
+ /*
+ for (var i=self.lights.length; i--;) {
+ self.lights[i].initSound();
+ }
+ */
+ self.initSounds = function() {} // safety net
+ }
+
+ this.appendLights = function() {
+ writeDebug('xlsf.appendLights()');
+ self.oTarget.appendChild(self.oFrag);
+ self.oFrag = document.createDocumentFragment();
+ }
+
+ function ExplosionFragment(nType,sClass,x,y,vX,vY) {
+ var self = this;
+ this.o = xlsf.oExplosionFrag.cloneNode(true);
+ this.nType = nType;
+ this.sClass = sClass;
+ this.x = x;
+ this.y = y;
+ this.w = 50;
+ this.h = 50;
+ this.bgBaseX = 0;
+ this.bgBaseY = this.h*this.nType;
+ this.vX = vX*(1.5+Math.random());
+ this.vY = vY*(1.5+Math.random());
+ this.oA = null;
+ this.oA2 = null;
+ this.burstPhase = 1; // starting background offset point
+ this.burstPhases = 4; // 1+offset (ignore large size)
+ this.o.style.backgroundPosition = ((this.w*-this.burstPhase)+'px '+(this.h*-nType)+'px');
+
+ // boundary checks
+ if (self.sClass == 'left') {
+ this.vX = Math.abs(this.vX);
+ } else if (self.sClass == 'right') {
+ this.vX = Math.abs(this.vX)*-1;
+ }
+// */
+
+ this.burstTween = function() {
+ // determine frame to show
+ var phase = 1+Math.floor((this.currentFrame/this.totalFrames)*self.burstPhases);
+ if (phase != self.burstPhase) {
+ self.burstPhase = phase;
+ self.o.style.backgroundPosition = ((self.w*-self.burstPhase)+'px '+(self.h*-nType)+'px');
+ }
+ }
+
+ this.burst = function() {
+ self.oA = new Y.A(self.o,{marginLeft:{to:(self.vX*8)},marginTop:{to:(self.vY*8)}},animDuration,Y.UE.easeOutStrong);
+ self.oA.onTween.subscribe(self.burstTween);
+ // self.oA.onComplete.subscribe(self.hide);
+ self.oA.animate();
+ }
+
+ this.hide = function() {
+ if (!isIE) self.o.style.opacity = 0;
+ }
+
+ this.reset = function() {
+ self.o.style.left = '0px';
+ self.o.style.top = '0px';
+ self.o.style.marginLeft = '0px';
+ self.o.style.marginTop = '0px';
+ if (!isIE) self.o.style.opacity = 1;
+ }
+
+ this.animate = function() {
+ self.reset();
+ self.burst();
+ }
+
+ }
+
+ function Explosion(nType,sClass,x,y) {
+ var oParent = this;
+ var self = this;
+ this.o = null;
+ this.nType = nType;
+ this.sClass = sClass;
+ this.x = x;
+ this.y = y;
+ this.boxVX = 0;
+ this.boxVY = 0;
+ this.o = xlsf.oExplosionBox.cloneNode(true);
+ this.o.style.left = x+'px';
+ this.o.style.top = y+'px';
+ // this.oFrag = document.createDocumentFragment();
+ this.fragments = [];
+
+ var mX = x;
+ var mY = y;
+
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,-5,-5));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,0,-5));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,-5));
+
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,-5,0));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,0,0));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,0));
+
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,-5));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,0));
+ this.fragments.push(new ExplosionFragment(nType,sClass,mX,mY,5,5));
+
+ this.init = function() {
+ for (var i=self.fragments.length; i--;) {
+ self.o.appendChild(self.fragments[i].o);
+ }
+ // xlsf.oTarget.appendChild(self.o);
+ // self.oFrag = document.createDocumentFragment();
+ if (!IS_MOON_COMPUTER) {
+ // faster rendering, particles get cropped
+ xlsf.oFrag.appendChild(self.o);
+ } else {
+ // slower rendering, can overlay body
+ // _id('header').appendChild(self.o);
+ // (document.documentElement?document.documentElement:document.body).appendChild(o);
+ xlsf.oFrag.appendChild(self.o);
+ }
+ }
+
+ this.reset = function() {
+ // clean-up
+ // self.o.parentNode.removeChild(self.o);
+ self.o.style.display = 'none';
+ self.o.style.marginLeft = '0px';
+ self.o.style.marginTop = '0px';
+ self.o.style.left = self.x+'px';
+ self.o.style.top = self.y+'px';
+ if (!isIE) self.o.style.opacity = 1;
+ for (var i=self.fragments.length; i--;) {
+ self.fragments[i].reset();
+ }
+ }
+
+ this.trigger = function(boxVX,boxVY) {
+ self.o.style.display = 'block';
+ self.boxVX = boxVX;
+ self.boxVY = boxVY;
+ // boundary checks
+// /*
+ if (self.sClass == 'right') {
+ self.boxVX = Math.abs(self.boxVX)*-1;
+ } else if (self.sClass == 'left') {
+ self.boxVX = Math.abs(self.boxVX);
+ }
+// */
+ for (var i=self.fragments.length; i--;) {
+ self.fragments[i].animate();
+ }
+ if (!isIE && (IS_MOON_COMPUTER)) {
+ var oAExplode = new Y.A(self.o,{marginLeft:{to:100*self.boxVX},marginTop:{to:150*self.boxVY},opacity:{to:0.01}},animDuration,Y.UE.easeInStrong);
+ } else {
+ // even IE 7 sucks w/alpha-transparent PNG + CSS opacity. Boo urns.
+ var oAExplode = new Y.A(self.o,{marginLeft:{to:100*self.boxVX},marginTop:{to:150*self.boxVY}},animDuration,Y.UE.easeInStrong);
+ }
+ oAExplode.onComplete.subscribe(self.reset);
+ oAExplode.animate();
+ // setTimeout(self.reset,animDuration*1000*1.5);
+ }
+
+ this.init();
+
+ // this.trigger(); // boooom!
+
+ }
+
+ function Light(sSizeClass,sClass,nType,x,y) {
+ var self = this;
+ this.o = document.createElement('div');
+// this.o.src = 'image/empty.gif';
+ this.sClass = sClass;
+ this.sSizeClass = sSizeClass;
+ this.nType = (nType||0);
+ this.useY = (sClass == 'left' || sClass == 'right');
+ this.state = null;
+ this.broken = 0;
+ this.w = xlsf.lightClasses[sSizeClass];
+ this.h = xlsf.lightClasses[sSizeClass];
+ this.x = x;
+ this.y = y;
+ this.bg = 'image/bulbs-'+this.w+'x'+this.h+'-'+this.sClass+'.png';
+ this.o.style.width = this.w+'px';
+ this.o.style.height = this.h+'px';
+ this.o.style.background = 'url('+this.bg+') no-repeat 0px 0px';
+ this.bgBaseX = (self.useY?-self.w*this.nType:0);
+ this.bgBaseY = (!self.useY?-self.h*this.nType:0);
+ this.glassType = parseInt(Math.random()*6);
+ // this.bonusSounds = ['griffin-laugh','bblaff','bblaff2'];
+ // this.bonusSound = null;
+ this.oExplosion = null;
+ this.soundID = 'smash'+this.glassType;
+ var panValue = xlsf.soundPan.panValue; // eg. +/- 80%
+ this.pan = parseInt(this.x<=xlsf.soundPan.mid?-panValue+((this.x/xlsf.soundPan.mid)*panValue):(this.x-xlsf.soundPan.mid)/(xlsf.soundPan.right-xlsf.soundPan.mid)*panValue);
+
+ this.initSound = function() {
+ // soundManager.createSound({id:self.soundID,url:urlBase+'sound/glass'+this.glassType+'.mp3',autoLoad:true,pan:self.pan});
+ }
+
+ this.setBGPos = function(x,y) {
+ self.o.style.backgroundPosition = ((self.bgBaseX+x)+'px '+(self.bgBaseY+y)+'px');
+ }
+
+ this.setLight = function(bOn) {
+ if (self.broken || self.state == bOn) return false;
+ if (!self.w || !self.h) self.getDimensions();
+ self.state = bOn;
+ if (self.useY) {
+ self.setBGPos(0,-this.h*(bOn?0:1));
+ } else {
+ self.setBGPos(-this.w*(bOn?0:1),0);
+ }
+ }
+
+ this.getDimensions = function() {
+ self.w = self.o.offsetWidth;
+ self.h = self.o.offsetHeight;
+ self.bgBaseX = (self.useY?-self.w*self.nType:0);
+ self.bgBaseY = (!self.useY?-self.h*self.nType:0);
+ }
+
+ this.on = function() {
+ self.setLight(1);
+ }
+
+ this.off = function() {
+ self.setLight(0);
+ }
+
+ this.flickr = function() {
+ self.setLight(Math.random()>=0.5?1:0);
+ }
+
+ this.toggle = function() {
+ self.setLight(!self.state?1:0);
+ }
+
+ this.explode = function(e) {
+ // self.oExplosion = new Explosion(self.nType,self.sClass,self.x,self.y);
+ self.oExplosion.trigger(0,1); // boooom!
+ }
+
+ this.smash = function(e) {
+ if (self.broken) return false;
+ self.broken = true;
+ if (soundManager && soundManager.supported()) {
+ soundManager.play(self.soundID,{pan:self.pan});
+ // soundManager.sounds[self.soundID].play({pan:self.pan});
+ // if (self.bonusSound != null) window.setTimeout(self.smashBonus,1000);
+ }
+ self.explode(e);
+ var rndFrame = 2; // +parseInt(Math.random()*3);
+ if (self.useY) {
+ self.setBGPos(0,self.h*-rndFrame);
+ } else {
+ self.setBGPos(self.w*-rndFrame,0);
+ }
+ xlsf.lightSmashCounter++;
+ // xlsf.doNukeCheck();
+ // window.setTimeout(self.reset,3000); // respawn
+ }
+
+ this.smashBonus = function() {
+ // soundManager.play(self.bonusSounds[self.bonusSound],urlBase+'sound/'+self.bonusSounds[self.bonusSound]+'.mp3');
+ }
+
+ this.reset = function() {
+ if (!self.broken) return false;
+ self.broken = false;
+ self.state = null;
+ xlsf.lightSmashCounter--;
+ // self.oExplosion.reset(); // may not be necessary
+ self.flickr();
+ }
+
+ this.init = function() {
+ self.o.className = 'xlsf-light '+this.sizeClass+' '+this.sClass;
+ self.o.style.left = self.x+'px';
+ self.o.style.top = self.y+'px';
+ self.o.style.width = self.w+'px';
+ self.o.style.height = self.h+'px';
+ // self.o.onmouseover = self.toggle;
+ // self.o.onmouseout = self.toggle;
+ self.o.onmouseover = self.smash;
+ self.o.onclick = self.smash;
+ self.flickr();
+ xlsf.oFrag.appendChild(self.o);
+ self.oExplosion = new Explosion(self.nType,self.sClass,self.x,self.y);
+ }
+
+ this.init();
+
+ } // Light()
+
+ this.createLight = function(sClass,nType,x,y) {
+ var oLight = new Light(self.lightClass,sClass,nType,x,y);
+ self.lightGroups[sClass].push(oLight);
+ self.lights.push(oLight);
+ return oLight;
+ }
+
+ this.rotateLights = function() {
+ self.lights[self.lightIndex==self.lights.length?self.lights.length-1:self.lightIndex].off();
+ self.lightIndex++;
+ if (self.lightIndex == self.lights.length) {
+ self.lightIndex = 0;
+ }
+ self.lights[self.lightIndex].on();
+ }
+
+ this.randomLights = function() {
+ self.lights[parseInt(Math.random()*self.lights.length)].toggle();
+ }
+
+
+ this.destroyLights = function() {
+ self.startSequence(self.destroyLight,20);
+ }
+
+ this.destroyLight = function() {
+ var groupSize = 2; // # to smash at a time
+ if (self.lightSmashCounter<self.lights.length) {
+ var limit = Math.min(self.lightSmashCounter+groupSize,self.lights.length);
+ for (var i=self.lightSmashCounter; i<limit; i++) {
+ self.lights[self.lightSmashCounter].smash();
+ }
+ } else {
+ self.stopSequence();
+ }
+
+ }
+
+ this.uberSmash = function() {
+ // make everything explode - including your CPU.
+ self.stopSequence();
+ var ebCN = Y.D.getElementsByClassName;
+/*
+ window.setTimeout(function(){self.smashGroup(self.lightGroups.left)},500);
+ window.setTimeout(function(){self.smashGroup(self.lightGroups.right)},2000);
+ window.setTimeout(function(){self.smashGroup(self.lightGroups.bottom)},4000);
+ window.setTimeout(function(){self.smashGroup(self.lightGroups.top)},6000);
+*/
+ window.setTimeout(function(){self.smashGroup(self.lightGroups.bottom)},500);
+ window.setTimeout(function(){self.smashGroup(self.lightGroups.top)},3500);
+
+ }
+
+ this.smashGroup = function(oGroup) {
+ for (var i=oGroup.length; i--;) {
+ oGroup[i].smash();
+ }
+ }
+
+ this.startSequence = function(fSequence,nInterval) {
+ if (self.timer) self.stopSequence();
+ self.timer = window.setInterval(fSequence,(typeof nInterval != 'undefined'?nInterval:self.lightInterval));
+ }
+
+ this.stopSequence = function() {
+ if (self.timer) {
+ window.clearInterval(self.timer);
+ self.timer = null;
+ }
+ }
+
+ var i=0;
+
+/*
+ for (i=0; i<6; i++) {
+ this.createLight('left',parseInt(Math.random()*4),-2,50+i*(self.lightXY*0.7));
+ this.createLight('right',parseInt(Math.random()*4),962,50+i*(self.lightXY*0.7));
+ }
+
+ for (i=0; i<27; i++) {
+ this.createLight('top',parseInt(Math.random()*4),20+i*(self.lightXY*0.7),23);
+ this.createLight('bottom',parseInt(Math.random()*4),20+i*(self.lightXY*0.7),253);
+ }
+*/
+
+ var j=0;
+
+ if (window.innerWidth || window.innerHeight) {
+ var screenX = window.innerWidth; // -(!isIE?24:2);
+ var screenY = window.innerHeight;
+ } else {
+ var screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth); // -(!isIE?8:0);
+ var screenY = (document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
+ }
+
+ var jMax = Math.floor((screenX-16)/self.lightXY);
+ var iMax = Math.floor((screenY-16)/self.lightXY);
+
+ for (i=0; i<iMax; i++) {
+ for (j=0; j<jMax; j++) {
+ this.createLight((i+1)%2==0?'bottom':'top',i%3,j*self.lightXY,i*self.lightXY);
+ }
+ }
+
+/*
+ var bsCounter = 0;
+ for (i=0; i<8; i++) {
+ // plant a few random seeds.. er, sounds.
+ self.lights[parseInt(Math.random()*self.lights.length)].bonusSound = bsCounter++;
+ if (bsCounter>2) bsCounter = 0; // hack - loop through sounds
+ }
+*/
+
+ this.appendLights();
+
+ // post-load/init case in the event this object is created late
+ // if (soundManager && soundManager._didInit && !soundManager._disabled) this.initSounds();
+
+ this.startSequence(self.randomLights);
+
+ // setTimeout(this.destroyLights,10000);
+ // setTimeout(this.uberSmash,10000);
+
+} // --- XLSF2007()
+
+var xlsf = null;
+
+function smashInit() {
+ xlsf = new XLSF(document.getElementById('lights'));
+ xlsf.initSounds();
+ document.getElementById('loading').style.display = 'none';
+}
+
+soundManager.url = '../../swf/';
+soundManager.flashVersion = 9;
+soundManager.debugMode = false;
+
+soundManager.onload = function() {
+ setTimeout(smashInit,500);
+}
+
+soundManager.onerror = function() {
+ setTimeout(smashInit,500);
+} \ No newline at end of file
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bg-strip-dark.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bg-strip-dark.png
new file mode 100755
index 0000000..80e07d9
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bg-strip-dark.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/blank.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/blank.png
new file mode 100755
index 0000000..85af9fd
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/blank.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-bottom.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-bottom.png
new file mode 100755
index 0000000..7246c01
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-bottom.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-left.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-left.png
new file mode 100755
index 0000000..1cf077f
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-left.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-right.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-right.png
new file mode 100755
index 0000000..8e68ec1
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-right.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-top.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-top.png
new file mode 100755
index 0000000..0156c25
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-32x32-top.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-bottom.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-bottom.png
new file mode 100755
index 0000000..79d3b07
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-bottom.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-fragments.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-fragments.png
new file mode 100755
index 0000000..f963a89
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-fragments.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-left.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-left.png
new file mode 100755
index 0000000..6aa0965
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-left.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-right.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-right.png
new file mode 100755
index 0000000..c095739
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-right.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-top.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-top.png
new file mode 100755
index 0000000..780fe75
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50-top.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50.png
new file mode 100755
index 0000000..eb31135
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-50x50.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-bottom.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-bottom.png
new file mode 100755
index 0000000..49341a1
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-bottom.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-left.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-left.png
new file mode 100755
index 0000000..cb581e4
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-left.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-right.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-right.png
new file mode 100755
index 0000000..fdd54ee
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-right.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-top.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-top.png
new file mode 100755
index 0000000..09b098b
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-64x64-top.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-bottom.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-bottom.png
new file mode 100755
index 0000000..4e5cae3
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-bottom.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-left.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-left.png
new file mode 100755
index 0000000..c8bfa43
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-left.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-right.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-right.png
new file mode 100755
index 0000000..20a614b
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-right.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-top.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-top.png
new file mode 100755
index 0000000..76fd676
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-72x72-top.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-bottom.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-bottom.png
new file mode 100755
index 0000000..3506236
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-bottom.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-left.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-left.png
new file mode 100755
index 0000000..6f727e5
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-left.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-right.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-right.png
new file mode 100755
index 0000000..f4456d6
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-right.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-top.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-top.png
new file mode 100755
index 0000000..5c2ba64
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/image/bulbs-96x96-top.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/index.html b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/index.html
new file mode 100755
index 0000000..ff9c6fe
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/index.html
@@ -0,0 +1,33 @@
+<html>
+<head>
+<title>Smashable Christmas Lights</title>
+<meta name="robots" content="noindex" />
+<link rel="stylesheet" media="screen" href="christmaslights.css" />
+<script type="text/javascript" src="../../script/soundmanager2.js"></script>
+<script type="text/javascript" src="yahoo-dom-event-animation-260.js"></script>
+<script type="text/javascript" src="christmaslights.js"></script>
+</head>
+
+<body>
+
+<div>
+
+ <div id="loading">
+ <h1>Christmas Light Smashfest 2008: Prototype</h1>
+ <h2>Rendering...</h2>
+ </div>
+
+ <div id="lights">
+ <!-- lights go here -->
+ </div>
+
+ <div style="position:absolute;bottom:3px;left:3px">
+ <a href="?size=pico">pico</a> | <a href="?size=tiny">tiny</a> | <a href="?size=small">small</a> | <a href="?size=medium">medium</a> | <a href="?size=large">large</a>
+ </div>
+
+</div>
+
+
+
+</body>
+</html>
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass0.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass0.mp3
new file mode 100755
index 0000000..c161c69
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass0.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass1.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass1.mp3
new file mode 100755
index 0000000..8d7d6b5
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass1.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass2.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass2.mp3
new file mode 100755
index 0000000..ef5f556
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass2.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass3.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass3.mp3
new file mode 100755
index 0000000..be7886e
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass3.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass4.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass4.mp3
new file mode 100755
index 0000000..0f328f6
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass4.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass5.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass5.mp3
new file mode 100755
index 0000000..b54513e
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/sound/glass5.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/yahoo-dom-event-animation-260.js b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/yahoo-dom-event-animation-260.js
new file mode 100755
index 0000000..c38fd9f
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/christmas-lights/yahoo-dom-event-animation-260.js
@@ -0,0 +1,35 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.6.0
+*/
+if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=["toString","valueOf"],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D==="boolean";},isFunction:function(D){return typeof D==="function";},isNull:function(D){return D===null;},isNumber:function(D){return typeof D==="number"&&isFinite(D);},isObject:function(D){return(D&&(typeof D==="object"||A.isFunction(D)))||false;},isString:function(D){return typeof D==="string";},isUndefined:function(D){return typeof D==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error("extend failed, please check that "+"all dependencies are included.");}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error("Absorb failed, verify dependencies.");}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error("Augment failed, verify dependencies.");}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L="{...}",E="f(){...}",J=", ",G=" => ";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}else{K.push("{");for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push("}");}return K.join("");},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J="dump",M=" ",D="{",Q="}";for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||"";var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P="~-"+N.length+"-~";N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError("method undefined");}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.6.0",build:"1321"});(function(){var B=YAHOO.util,F=YAHOO.lang,L,J,K={},G={},N=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,M=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,H=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var O=function(Q){if(!E.HYPHEN.test(Q)){return Q;}if(K[Q]){return K[Q];}var R=Q;while(E.HYPHEN.exec(R)){R=R.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}K[Q]=R;return R;};var P=function(R){var Q=G[R];if(!Q){Q=new RegExp("(?:^|\\s+)"+R+"(?:\\s+|$)");G[R]=Q;}return Q;};if(N.defaultView&&N.defaultView.getComputedStyle){L=function(Q,T){var S=null;if(T=="float"){T="cssFloat";}var R=Q.ownerDocument.defaultView.getComputedStyle(Q,"");if(R){S=R[O(T)];}return Q.style[T]||S;};}else{if(N.documentElement.currentStyle&&H){L=function(Q,S){switch(O(S)){case"opacity":var U=100;try{U=Q.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(T){try{U=Q.filters("alpha").opacity;}catch(T){}}return U/100;case"float":S="styleFloat";default:var R=Q.currentStyle?Q.currentStyle[S]:null;return(Q.style[S]||R);}};}else{L=function(Q,R){return Q.style[R];};}}if(H){J=function(Q,R,S){switch(R){case"opacity":if(F.isString(Q.style.filter)){Q.style.filter="alpha(opacity="+S*100+")";if(!Q.currentStyle||!Q.currentStyle.hasLayout){Q.style.zoom=1;}}break;case"float":R="styleFloat";default:Q.style[R]=S;}};}else{J=function(Q,R,S){if(R=="float"){R="cssFloat";}Q.style[R]=S;};}var D=function(Q,R){return Q&&Q.nodeType==1&&(!R||R(Q));};YAHOO.util.Dom={get:function(S){if(S){if(S.nodeType||S.item){return S;}if(typeof S==="string"){return N.getElementById(S);}if("length" in S){var T=[];for(var R=0,Q=S.length;R<Q;++R){T[T.length]=B.Dom.get(S[R]);}return T;}return S;}return null;},getStyle:function(Q,S){S=O(S);var R=function(T){return L(T,S);};return B.Dom.batch(Q,R,B.Dom,true);},setStyle:function(Q,S,T){S=O(S);var R=function(U){J(U,S,T);};B.Dom.batch(Q,R,B.Dom,true);},getXY:function(Q){var R=function(S){if((S.parentNode===null||S.offsetParent===null||this.getStyle(S,"display")=="none")&&S!=S.ownerDocument.body){return false;}return I(S);};return B.Dom.batch(Q,R,B.Dom,true);},getX:function(Q){var R=function(S){return B.Dom.getXY(S)[0];};return B.Dom.batch(Q,R,B.Dom,true);},getY:function(Q){var R=function(S){return B.Dom.getXY(S)[1];};return B.Dom.batch(Q,R,B.Dom,true);},setXY:function(Q,T,S){var R=function(W){var V=this.getStyle(W,"position");if(V=="static"){this.setStyle(W,"position","relative");V="relative";}var Y=this.getXY(W);if(Y===false){return false;}var X=[parseInt(this.getStyle(W,"left"),10),parseInt(this.getStyle(W,"top"),10)];if(isNaN(X[0])){X[0]=(V=="relative")?0:W.offsetLeft;}if(isNaN(X[1])){X[1]=(V=="relative")?0:W.offsetTop;}if(T[0]!==null){W.style.left=T[0]-Y[0]+X[0]+"px";}if(T[1]!==null){W.style.top=T[1]-Y[1]+X[1]+"px";}if(!S){var U=this.getXY(W);if((T[0]!==null&&U[0]!=T[0])||(T[1]!==null&&U[1]!=T[1])){this.setXY(W,T,true);}}};B.Dom.batch(Q,R,B.Dom,true);},setX:function(R,Q){B.Dom.setXY(R,[Q,null]);},setY:function(Q,R){B.Dom.setXY(Q,[null,R]);},getRegion:function(Q){var R=function(S){if((S.parentNode===null||S.offsetParent===null||this.getStyle(S,"display")=="none")&&S!=S.ownerDocument.body){return false;}var T=B.Region.getRegion(S);return T;};return B.Dom.batch(Q,R,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(U,Y,V,W){U=F.trim(U);Y=Y||"*";V=(V)?B.Dom.get(V):null||N;if(!V){return[];}var R=[],Q=V.getElementsByTagName(Y),X=P(U);for(var S=0,T=Q.length;S<T;++S){if(X.test(Q[S].className)){R[R.length]=Q[S];if(W){W.call(Q[S],Q[S]);}}}return R;},hasClass:function(S,R){var Q=P(R);var T=function(U){return Q.test(U.className);};return B.Dom.batch(S,T,B.Dom,true);},addClass:function(R,Q){var S=function(T){if(this.hasClass(T,Q)){return false;}T.className=F.trim([T.className,Q].join(" "));return true;};return B.Dom.batch(R,S,B.Dom,true);},removeClass:function(S,R){var Q=P(R);var T=function(W){var V=false,X=W.className;if(R&&X&&this.hasClass(W,R)){W.className=X.replace(Q," ");if(this.hasClass(W,R)){this.removeClass(W,R);}W.className=F.trim(W.className);if(W.className===""){var U=(W.hasAttribute)?"class":"className";W.removeAttribute(U);}V=true;}return V;};return B.Dom.batch(S,T,B.Dom,true);},replaceClass:function(T,R,Q){if(!Q||R===Q){return false;}var S=P(R);var U=function(V){if(!this.hasClass(V,R)){this.addClass(V,Q);return true;}V.className=V.className.replace(S," "+Q+" ");if(this.hasClass(V,R)){this.removeClass(V,R);}V.className=F.trim(V.className);return true;};return B.Dom.batch(T,U,B.Dom,true);},generateId:function(Q,S){S=S||"yui-gen";var R=function(T){if(T&&T.id){return T.id;}var U=S+YAHOO.env._id_counter++;if(T){T.id=U;}return U;};return B.Dom.batch(Q,R,B.Dom,true)||R.apply(B.Dom,arguments);},isAncestor:function(R,S){R=B.Dom.get(R);S=B.Dom.get(S);var Q=false;if((R&&S)&&(R.nodeType&&S.nodeType)){if(R.contains&&R!==S){Q=R.contains(S);}else{if(R.compareDocumentPosition){Q=!!(R.compareDocumentPosition(S)&16);}}}else{}return Q;},inDocument:function(Q){return this.isAncestor(N.documentElement,Q);},getElementsBy:function(X,R,S,U){R=R||"*";S=(S)?B.Dom.get(S):null||N;if(!S){return[];}var T=[],W=S.getElementsByTagName(R);for(var V=0,Q=W.length;V<Q;++V){if(X(W[V])){T[T.length]=W[V];if(U){U(W[V]);}}}return T;},batch:function(U,X,W,S){U=(U&&(U.tagName||U.item))?U:B.Dom.get(U);if(!U||!X){return false;}var T=(S)?W:window;if(U.tagName||U.length===undefined){return X.call(T,U,W);}var V=[];for(var R=0,Q=U.length;R<Q;++R){V[V.length]=X.call(T,U[R],W);}return V;},getDocumentHeight:function(){var R=(N.compatMode!="CSS1Compat")?N.body.scrollHeight:N.documentElement.scrollHeight;var Q=Math.max(R,B.Dom.getViewportHeight());return Q;},getDocumentWidth:function(){var R=(N.compatMode!="CSS1Compat")?N.body.scrollWidth:N.documentElement.scrollWidth;var Q=Math.max(R,B.Dom.getViewportWidth());return Q;},getViewportHeight:function(){var Q=self.innerHeight;
+var R=N.compatMode;if((R||H)&&!C){Q=(R=="CSS1Compat")?N.documentElement.clientHeight:N.body.clientHeight;}return Q;},getViewportWidth:function(){var Q=self.innerWidth;var R=N.compatMode;if(R||H){Q=(R=="CSS1Compat")?N.documentElement.clientWidth:N.body.clientWidth;}return Q;},getAncestorBy:function(Q,R){while((Q=Q.parentNode)){if(D(Q,R)){return Q;}}return null;},getAncestorByClassName:function(R,Q){R=B.Dom.get(R);if(!R){return null;}var S=function(T){return B.Dom.hasClass(T,Q);};return B.Dom.getAncestorBy(R,S);},getAncestorByTagName:function(R,Q){R=B.Dom.get(R);if(!R){return null;}var S=function(T){return T.tagName&&T.tagName.toUpperCase()==Q.toUpperCase();};return B.Dom.getAncestorBy(R,S);},getPreviousSiblingBy:function(Q,R){while(Q){Q=Q.previousSibling;if(D(Q,R)){return Q;}}return null;},getPreviousSibling:function(Q){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getPreviousSiblingBy(Q);},getNextSiblingBy:function(Q,R){while(Q){Q=Q.nextSibling;if(D(Q,R)){return Q;}}return null;},getNextSibling:function(Q){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getNextSiblingBy(Q);},getFirstChildBy:function(Q,S){var R=(D(Q.firstChild,S))?Q.firstChild:null;return R||B.Dom.getNextSiblingBy(Q.firstChild,S);},getFirstChild:function(Q,R){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getFirstChildBy(Q);},getLastChildBy:function(Q,S){if(!Q){return null;}var R=(D(Q.lastChild,S))?Q.lastChild:null;return R||B.Dom.getPreviousSiblingBy(Q.lastChild,S);},getLastChild:function(Q){Q=B.Dom.get(Q);return B.Dom.getLastChildBy(Q);},getChildrenBy:function(R,T){var S=B.Dom.getFirstChildBy(R,T);var Q=S?[S]:[];B.Dom.getNextSiblingBy(S,function(U){if(!T||T(U)){Q[Q.length]=U;}return false;});return Q;},getChildren:function(Q){Q=B.Dom.get(Q);if(!Q){}return B.Dom.getChildrenBy(Q);},getDocumentScrollLeft:function(Q){Q=Q||N;return Math.max(Q.documentElement.scrollLeft,Q.body.scrollLeft);},getDocumentScrollTop:function(Q){Q=Q||N;return Math.max(Q.documentElement.scrollTop,Q.body.scrollTop);},insertBefore:function(R,Q){R=B.Dom.get(R);Q=B.Dom.get(Q);if(!R||!Q||!Q.parentNode){return null;}return Q.parentNode.insertBefore(R,Q);},insertAfter:function(R,Q){R=B.Dom.get(R);Q=B.Dom.get(Q);if(!R||!Q||!Q.parentNode){return null;}if(Q.nextSibling){return Q.parentNode.insertBefore(R,Q.nextSibling);}else{return Q.parentNode.appendChild(R);}},getClientRegion:function(){var S=B.Dom.getDocumentScrollTop(),R=B.Dom.getDocumentScrollLeft(),T=B.Dom.getViewportWidth()+R,Q=B.Dom.getViewportHeight()+S;return new B.Region(S,T,Q,R);}};var I=function(){if(N.documentElement.getBoundingClientRect){return function(S){var T=S.getBoundingClientRect(),R=Math.round;var Q=S.ownerDocument;return[R(T.left+B.Dom.getDocumentScrollLeft(Q)),R(T.top+B.Dom.getDocumentScrollTop(Q))];};}else{return function(S){var T=[S.offsetLeft,S.offsetTop];var R=S.offsetParent;var Q=(M&&B.Dom.getStyle(S,"position")=="absolute"&&S.offsetParent==S.ownerDocument.body);if(R!=S){while(R){T[0]+=R.offsetLeft;T[1]+=R.offsetTop;if(!Q&&M&&B.Dom.getStyle(R,"position")=="absolute"){Q=true;}R=R.offsetParent;}}if(Q){T[0]-=S.ownerDocument.body.offsetLeft;T[1]-=S.ownerDocument.body.offsetTop;}R=S.parentNode;while(R.tagName&&!E.ROOT_TAG.test(R.tagName)){if(R.scrollTop||R.scrollLeft){T[0]-=R.scrollLeft;T[1]-=R.scrollTop;}R=R.parentNode;}return T;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.6.0",build:"1321"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(I.length>0){B=I[0];}try{G=M.fn.call(L,B,M.obj);}catch(F){this.lastError=F;if(A){throw F;}}}else{try{G=M.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=H;if(A){throw H;}}}if(false===G){if(!this.silent){}break;}}}return(G!==false);},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};var K=YAHOO.env.ua.ie?"focusin":"focus";var L=YAHOO.env.ua.ie?"focusout":"blur";return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,CAPTURE:7,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){var M=this;var N=function(){M._tryPreloadAttach();};this._interval=setInterval(N,this.POLL_INTERVAL);}},onAvailable:function(R,O,S,Q,P){var M=(YAHOO.lang.isString(R))?[R]:R;for(var N=0;N<M.length;N=N+1){F.push({id:M[N],fn:O,obj:S,override:Q,checkReady:P});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(O,M,P,N){this.onAvailable(O,M,P,N,true);},onDOMReady:function(M,O,N){if(this.DOMReady){setTimeout(function(){var P=window;if(N){if(N===true){P=O;}else{P=N;}}M.call(P,"DOMReady",[],O);},0);}else{this.DOMReadyEvent.subscribe(M,O,N);}},_addListener:function(O,M,X,S,N,a){if(!X||!X.call){return false;}if(this._isValidCollection(O)){var Y=true;for(var T=0,V=O.length;T<V;++T){Y=this._addListener(O[T],M,X,S,N,a)&&Y;}return Y;}else{if(YAHOO.lang.isString(O)){var R=this.getEl(O);if(R){O=R;}else{this.onAvailable(O,function(){YAHOO.util.Event._addListener(O,M,X,S,N,a);});return true;}}}if(!O){return false;}if("unload"==M&&S!==this){J[J.length]=[O,M,X,S,N,a];return true;}var b=O;if(N){if(N===true){b=S;}else{b=N;}}var P=function(c){return X.call(b,YAHOO.util.Event.getEvent(c,O),S);};var Z=[O,M,X,P,b,S,N,a];var U=I.length;I[U]=Z;if(this.useLegacyEvent(O,M)){var Q=this.getLegacyIndex(O,M);if(Q==-1||O!=G[Q][0]){Q=G.length;B[O.id+M]=Q;G[Q]=[O,M,O["on"+M]];E[Q]=[];O["on"+M]=function(c){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(c),Q);};}E[Q].push(Z);}else{try{this._simpleAdd(O,M,P,a);}catch(W){this.lastError=W;this._removeListener(O,M,X,a);return false;}}return true;},addListener:function(O,Q,N,P,M){return this._addListener(O,Q,N,P,M,false);},addFocusListener:function(O,N,P,M){return this._addListener(O,K,N,P,M,true);},removeFocusListener:function(N,M){return this._removeListener(N,K,M,true);},addBlurListener:function(O,N,P,M){return this._addListener(O,L,N,P,M,true);},removeBlurListener:function(N,M){return this._removeListener(N,L,M,true);},fireLegacyEvent:function(Q,O){var S=true,M,U,T,V,R;U=E[O].slice();for(var N=0,P=U.length;N<P;++N){T=U[N];if(T&&T[this.WFN]){V=T[this.ADJ_SCOPE];R=T[this.WFN].call(V,Q);S=(S&&R);}}M=G[O];if(M&&M[2]){M[2](Q);}return S;},getLegacyIndex:function(N,O){var M=this.generateId(N)+O;if(typeof B[M]=="undefined"){return -1;}else{return B[M];}},useLegacyEvent:function(M,N){return(this.webkit&&this.webkit<419&&("click"==N||"dblclick"==N));},_removeListener:function(N,M,V,Y){var Q,T,X;if(typeof N=="string"){N=this.getEl(N);}else{if(this._isValidCollection(N)){var W=true;for(Q=N.length-1;Q>-1;Q--){W=(this._removeListener(N[Q],M,V,Y)&&W);}return W;}}if(!V||!V.call){return this.purgeElement(N,false,M);}if("unload"==M){for(Q=J.length-1;Q>-1;Q--){X=J[Q];if(X&&X[0]==N&&X[1]==M&&X[2]==V){J.splice(Q,1);return true;}}return false;}var R=null;var S=arguments[4];if("undefined"===typeof S){S=this._getCacheIndex(N,M,V);}if(S>=0){R=I[S];}if(!N||!R){return false;}if(this.useLegacyEvent(N,M)){var P=this.getLegacyIndex(N,M);var O=E[P];if(O){for(Q=0,T=O.length;Q<T;++Q){X=O[Q];if(X&&X[this.EL]==N&&X[this.TYPE]==M&&X[this.FN]==V){O.splice(Q,1);break;}}}}else{try{this._simpleRemove(N,M,R[this.WFN],Y);}catch(U){this.lastError=U;return false;}}delete I[S][this.WFN];delete I[S][this.FN];
+I.splice(S,1);return true;},removeListener:function(N,O,M){return this._removeListener(N,O,M,false);},getTarget:function(O,N){var M=O.target||O.srcElement;return this.resolveTextNode(M);},resolveTextNode:function(N){try{if(N&&3==N.nodeType){return N.parentNode;}}catch(M){}return N;},getPageX:function(N){var M=N.pageX;if(!M&&0!==M){M=N.clientX||0;if(this.isIE){M+=this._getScrollLeft();}}return M;},getPageY:function(M){var N=M.pageY;if(!N&&0!==N){N=M.clientY||0;if(this.isIE){N+=this._getScrollTop();}}return N;},getXY:function(M){return[this.getPageX(M),this.getPageY(M)];},getRelatedTarget:function(N){var M=N.relatedTarget;if(!M){if(N.type=="mouseout"){M=N.toElement;}else{if(N.type=="mouseover"){M=N.fromElement;}}}return this.resolveTextNode(M);},getTime:function(O){if(!O.time){var N=new Date().getTime();try{O.time=N;}catch(M){this.lastError=M;return N;}}return O.time;},stopEvent:function(M){this.stopPropagation(M);this.preventDefault(M);},stopPropagation:function(M){if(M.stopPropagation){M.stopPropagation();}else{M.cancelBubble=true;}},preventDefault:function(M){if(M.preventDefault){M.preventDefault();}else{M.returnValue=false;}},getEvent:function(O,M){var N=O||window.event;if(!N){var P=this.getEvent.caller;while(P){N=P.arguments[0];if(N&&Event==N.constructor){break;}P=P.caller;}}return N;},getCharCode:function(N){var M=N.keyCode||N.charCode||0;if(YAHOO.env.ua.webkit&&(M in D)){M=D[M];}return M;},_getCacheIndex:function(Q,R,P){for(var O=0,N=I.length;O<N;O=O+1){var M=I[O];if(M&&M[this.FN]==P&&M[this.EL]==Q&&M[this.TYPE]==R){return O;}}return -1;},generateId:function(M){var N=M.id;if(!N){N="yuievtautoid-"+A;++A;M.id=N;}return N;},_isValidCollection:function(N){try{return(N&&typeof N!=="string"&&N.length&&!N.tagName&&!N.alert&&typeof N[0]!=="undefined");}catch(M){return false;}},elCache:{},getEl:function(M){return(typeof M==="string")?document.getElementById(M):M;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(N){if(!H){H=true;var M=YAHOO.util.Event;M._ready();M._tryPreloadAttach();}},_ready:function(N){var M=YAHOO.util.Event;if(!M.DOMReady){M.DOMReady=true;M.DOMReadyEvent.fire();M._simpleRemove(document,"DOMContentLoaded",M._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var S=!H;if(!S){S=(C>0&&F.length>0);}var R=[];var T=function(V,W){var U=V;if(W.override){if(W.override===true){U=W.obj;}else{U=W.override;}}W.fn.call(U,W.obj);};var N,M,Q,P,O=[];for(N=0,M=F.length;N<M;N=N+1){Q=F[N];if(Q){P=this.getEl(Q.id);if(P){if(Q.checkReady){if(H||P.nextSibling||!S){O.push(Q);F[N]=null;}}else{T(P,Q);F[N]=null;}}else{R.push(Q);}}}for(N=0,M=O.length;N<M;N=N+1){Q=O[N];T(this.getEl(Q.id),Q);}C--;if(S){for(N=F.length-1;N>-1;N--){Q=F[N];if(!Q||!Q.id){F.splice(N,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(Q,R,T){var O=(YAHOO.lang.isString(Q))?this.getEl(Q):Q;var S=this.getListeners(O,T),P,M;if(S){for(P=S.length-1;P>-1;P--){var N=S[P];this._removeListener(O,N.type,N.fn,N.capture);}}if(R&&O&&O.childNodes){for(P=0,M=O.childNodes.length;P<M;++P){this.purgeElement(O.childNodes[P],R,T);}}},getListeners:function(O,M){var R=[],N;if(!M){N=[I,J];}else{if(M==="unload"){N=[J];}else{N=[I];}}var T=(YAHOO.lang.isString(O))?this.getEl(O):O;for(var Q=0;Q<N.length;Q=Q+1){var V=N[Q];if(V){for(var S=0,U=V.length;S<U;++S){var P=V[S];if(P&&P[this.EL]===T&&(!M||M===P[this.TYPE])){R.push({type:P[this.TYPE],fn:P[this.FN],obj:P[this.OBJ],adjust:P[this.OVERRIDE],scope:P[this.ADJ_SCOPE],capture:P[this.CAPTURE],index:S});}}}}return(R.length)?R:null;},_unload:function(S){var M=YAHOO.util.Event,P,O,N,R,Q,T=J.slice();for(P=0,R=J.length;P<R;++P){N=T[P];if(N){var U=window;if(N[M.ADJ_SCOPE]){if(N[M.ADJ_SCOPE]===true){U=N[M.UNLOAD_OBJ];}else{U=N[M.ADJ_SCOPE];}}N[M.FN].call(U,M.getEvent(S,N[M.EL]),N[M.UNLOAD_OBJ]);T[P]=null;N=null;U=null;}}J=null;if(I){for(O=I.length-1;O>-1;O--){N=I[O];if(N){M._removeListener(N[M.EL],N[M.TYPE],N[M.FN],N[M.CAPTURE],O);}}N=null;}G=null;M._simpleRemove(window,"unload",M._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var M=document.documentElement,N=document.body;if(M&&(M.scrollTop||M.scrollLeft)){return[M.scrollTop,M.scrollLeft];}else{if(N){return[N.scrollTop,N.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(O,P,N,M){O.addEventListener(P,N,(M));};}else{if(window.attachEvent){return function(O,P,N,M){O.attachEvent("on"+P,N);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(O,P,N,M){O.removeEventListener(P,N,(M));};}else{if(window.detachEvent){return function(N,O,M){N.detachEvent("on"+O,M);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;EU.onFocus=EU.addFocusListener;EU.onBlur=EU.addBlurListener;
+/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
+if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};
+var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.6.0",build:"1321"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.6.0", build: "1321"});
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.6.0
+*/
+(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,E,D){if(this.patterns.noNegatives.test(C)){E=(E>0)?E:0;}B.Dom.setStyle(this.getEl(),C,E+D);},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G<C;++G){E[G]=I[G]+F[D]["by"][G]*1;}}else{E=I+F[D]["by"]*1;}}}this.runtimeAttributes[D].start=I;this.runtimeAttributes[D].end=E;this.runtimeAttributes[D].unit=(H(F[D].unit))?F[D]["unit"]:this.getDefaultUnit(D);return true;},init:function(E,J,I,C){var D=false;var F=null;var H=0;E=B.Dom.get(E);this.attributes=J||{};this.duration=!YAHOO.lang.isUndefined(I)?I:1;this.method=C||B.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=B.AnimMgr.fps;this.setEl=function(M){E=B.Dom.get(M);};this.getEl=function(){return E;};this.isAnimated=function(){return D;};this.getStartTime=function(){return F;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(B.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}B.AnimMgr.registerElement(this);return true;};this.stop=function(M){if(!this.isAnimated()){return false;}if(M){this.currentFrame=this.totalFrames;this._onTween.fire();}B.AnimMgr.stop(this);};var L=function(){this.onStart.fire();this.runtimeAttributes={};for(var M in this.attributes){this.setRuntimeAttribute(M);}D=true;H=0;F=new Date();};var K=function(){var O={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};O.toString=function(){return("duration: "+O.duration+", currentFrame: "+O.currentFrame);};this.onTween.fire(O);var N=this.runtimeAttributes;for(var M in N){this.setAttribute(M,this.doMethod(M,N[M].start,N[M].end),N[M].unit);}H+=1;};var G=function(){var M=(new Date()-F)/1000;var N={duration:M,frames:H,fps:H/M};N.toString=function(){return("duration: "+N.duration+", frames: "+N.frames+", fps: "+N.fps);};D=false;H=0;this.onComplete.fire(N);};this._onStart=new B.CustomEvent("_start",this,true);this.onStart=new B.CustomEvent("start",this);this.onTween=new B.CustomEvent("tween",this);this._onTween=new B.CustomEvent("_tween",this,true);this.onComplete=new B.CustomEvent("complete",this);this._onComplete=new B.CustomEvent("_complete",this,true);this._onStart.subscribe(L);this._onTween.subscribe(K);this._onComplete.subscribe(G);}};B.Anim=A;})();YAHOO.util.AnimMgr=new function(){var C=null;var B=[];var A=0;this.fps=1000;this.delay=1;this.registerElement=function(F){B[B.length]=F;A+=1;F._onStart.fire();this.start();};this.unRegister=function(G,F){F=F||E(G);if(!G.isAnimated()||F==-1){return false;}G._onComplete.fire();B.splice(F,1);A-=1;if(A<=0){this.stop();}return true;};this.start=function(){if(C===null){C=setInterval(this.run,this.delay);}};this.stop=function(H){if(!H){clearInterval(C);for(var G=0,F=B.length;G<F;++G){this.unRegister(B[0],0);}B=[];C=null;A=0;}else{this.unRegister(H);}};this.run=function(){for(var H=0,F=B.length;H<F;++H){var G=B[H];if(!G||!G.isAnimated()){continue;}if(G.currentFrame<G.totalFrames||G.totalFrames===null){G.currentFrame+=1;if(G.useSeconds){D(G);}G._onTween.fire();}else{YAHOO.util.AnimMgr.stop(G,H);}}};var E=function(H){for(var G=0,F=B.length;G<F;++G){if(B[G]==H){return G;}}return -1;};var D=function(G){var J=G.totalFrames;var I=G.currentFrame;var H=(G.currentFrame*G.duration*1000/G.totalFrames);var F=(new Date()-G.getStartTime());var K=0;if(F<G.duration*1000){K=Math.round((F/H-1)*G.currentFrame);}else{K=J-(I+1);}if(K>0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B<F;++B){C[B]=[E[B][0],E[B][1]];}for(var A=1;A<F;++A){for(B=0;B<F-A;++B){C[B][0]=(1-D)*C[B][0]+D*C[parseInt(B+1,10)][0];C[B][1]=(1-D)*C[B][1]+D*C[parseInt(B+1,10)][1];}}return[C[0][0],C[0][1]];};};(function(){var A=function(F,E,G,H){A.superclass.constructor.call(this,F,E,G,H);};A.NAME="ColorAnim";A.DEFAULT_BGCOLOR="#fff";var C=YAHOO.util;YAHOO.extend(A,C.Anim);var D=A.superclass;var B=A.prototype;B.patterns.color=/color$/i;B.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;B.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;B.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;B.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;B.parseColor=function(E){if(E.length==3){return E;}var F=this.patterns.hex.exec(E);if(F&&F.length==4){return[parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16)];}F=this.patterns.rgb.exec(E);if(F&&F.length==4){return[parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10)];}F=this.patterns.hex3.exec(E);if(F&&F.length==4){return[parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16)];}return null;};B.getAttribute=function(E){var G=this.getEl();
+if(this.patterns.color.test(E)){var I=YAHOO.util.Dom.getStyle(G,E);var H=this;if(this.patterns.transparent.test(I)){var F=YAHOO.util.Dom.getAncestorBy(G,function(J){return !H.patterns.transparent.test(I);});if(F){I=C.Dom.getStyle(F,E);}else{I=A.DEFAULT_BGCOLOR;}}}else{I=D.getAttribute.call(this,E);}return I;};B.doMethod=function(F,J,G){var I;if(this.patterns.color.test(F)){I=[];for(var H=0,E=J.length;H<E;++H){I[H]=D.doMethod.call(this,F,J[H],G[H]);}I="rgb("+Math.floor(I[0])+","+Math.floor(I[1])+","+Math.floor(I[2])+")";}else{I=D.doMethod.call(this,F,J,G);}return I;};B.setRuntimeAttribute=function(F){D.setRuntimeAttribute.call(this,F);if(this.patterns.color.test(F)){var H=this.attributes;var J=this.parseColor(this.runtimeAttributes[F].start);var G=this.parseColor(this.runtimeAttributes[F].end);if(typeof H[F]["to"]==="undefined"&&typeof H[F]["by"]!=="undefined"){G=this.parseColor(H[F].by);for(var I=0,E=J.length;I<E;++I){G[I]=J[I]+G[I];}}this.runtimeAttributes[F].start=J;this.runtimeAttributes[F].end=G;}};C.ColorAnim=A;})();
+/*
+TERMS OF USE - EASING EQUATIONS
+Open source under the BSD License.
+Copyright 2001 Robert Penner All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+YAHOO.util.Easing={easeNone:function(B,A,D,C){return D*B/C+A;},easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeBoth:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},easeInStrong:function(B,A,D,C){return D*(B/=C)*B*B*B+A;},easeOutStrong:function(B,A,D,C){return -D*((B=B/C-1)*B*B*B-1)+A;},easeBothStrong:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B*B*B+A;}return -D/2*((B-=2)*B*B*B-2)+A;},elasticIn:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return -(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;},elasticOut:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return B*Math.pow(2,-10*C)*Math.sin((C*F-D)*(2*Math.PI)/E)+G+A;},elasticBoth:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F/2)==2){return A+G;}if(!E){E=F*(0.3*1.5);}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}if(C<1){return -0.5*(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;}return B*Math.pow(2,-10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E)*0.5+G+A;},backIn:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*(B/=D)*B*((C+1)*B-C)+A;},backOut:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*((B=B/D-1)*B*((C+1)*B+C)+1)+A;},backBoth:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}if((B/=D/2)<1){return E/2*(B*B*(((C*=(1.525))+1)*B-C))+A;}return E/2*((B-=2)*B*(((C*=(1.525))+1)*B+C)+2)+A;},bounceIn:function(B,A,D,C){return D-YAHOO.util.Easing.bounceOut(C-B,0,D,C)+A;},bounceOut:function(B,A,D,C){if((B/=C)<(1/2.75)){return D*(7.5625*B*B)+A;}else{if(B<(2/2.75)){return D*(7.5625*(B-=(1.5/2.75))*B+0.75)+A;}else{if(B<(2.5/2.75)){return D*(7.5625*(B-=(2.25/2.75))*B+0.9375)+A;}}}return D*(7.5625*(B-=(2.625/2.75))*B+0.984375)+A;},bounceBoth:function(B,A,D,C){if(B<C/2){return YAHOO.util.Easing.bounceIn(B*2,0,D,C)*0.5+A;}return YAHOO.util.Easing.bounceOut(B*2-C,0,D,C)*0.5+D*0.5+A;}};(function(){var A=function(H,G,I,J){if(H){A.superclass.constructor.call(this,H,G,I,J);}};A.NAME="Motion";var E=YAHOO.util;YAHOO.extend(A,E.ColorAnim);var F=A.superclass;var C=A.prototype;C.patterns.points=/^points$/i;C.setAttribute=function(G,I,H){if(this.patterns.points.test(G)){H=H||"px";F.setAttribute.call(this,"left",I[0],H);F.setAttribute.call(this,"top",I[1],H);}else{F.setAttribute.call(this,G,I,H);}};C.getAttribute=function(G){if(this.patterns.points.test(G)){var H=[F.getAttribute.call(this,"left"),F.getAttribute.call(this,"top")];}else{H=F.getAttribute.call(this,G);}return H;};C.doMethod=function(G,K,H){var J=null;if(this.patterns.points.test(G)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;J=E.Bezier.getPosition(this.runtimeAttributes[G],I);}else{J=F.doMethod.call(this,G,K,H);}return J;};C.setRuntimeAttribute=function(P){if(this.patterns.points.test(P)){var H=this.getEl();var J=this.attributes;var G;var L=J["points"]["control"]||[];var I;var M,O;if(L.length>0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M<O;++M){K[M]=L[M];}L=K;}if(E.Dom.getStyle(H,"position")=="static"){E.Dom.setStyle(H,"position","relative");}if(D(J["points"]["from"])){E.Dom.setXY(H,J["points"]["from"]);}else{E.Dom.setXY(H,E.Dom.getXY(H));
+}G=this.getAttribute("points");if(D(J["points"]["to"])){I=B.call(this,J["points"]["to"],G);var N=E.Dom.getXY(this.getEl());for(M=0,O=L.length;M<O;++M){L[M]=B.call(this,L[M],G);}}else{if(D(J["points"]["by"])){I=[G[0]+J["points"]["by"][0],G[1]+J["points"]["by"][1]];for(M=0,O=L.length;M<O;++M){L[M]=[G[0]+L[M][0],G[1]+L[M][1]];}}}this.runtimeAttributes[P]=[G];if(L.length>0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.6.0",build:"1321"}); \ No newline at end of file