// set the basic path var urlroot = '/'; /* FADER FUNCTION */ function faderBox (containerId,tag,duration,wait) { var ticker_children = $(containerId).getChildren(tag); var array_length = parseInt(ticker_children.length)-1; var firstBorn = ticker_children[0]; var lastBorn = ticker_children[array_length]; // animate the transition var myEffect = new Fx.Morph(lastBorn, {duration: duration}); myEffect.start({ 'opacity': [1.0, 0.1] }); // clone the element to the end (function() { var cloneBorn = lastBorn.clone().injectBefore(firstBorn); cloneBorn.setStyle('opacity',1); lastBorn.dispose(); }).delay(duration); // set off again (function() {faderBox(containerId,tag,duration,wait)}).delay(wait); } function faderBoxInit (containerId,tag,duration,wait,initialWait) { if (!duration) { var duration = 1000; } if (!tag) { var tag = 'a'; } if (!wait) { var wait = 8000; } if (!initialWait) { var initialWait = 4000; } // set the container as relative $(containerId).setStyle('position','relative'); // absolute position everything inside the container var ticker_children = $(containerId).getChildren(tag); if (ticker_children.length<2) { return false; } for (i=0;i < ticker_children.length;i++) { ticker_children[i].setStyle('position','absolute'); ticker_children[i].setStyle('top','0'); ticker_children[i].setStyle('left','0'); } (function() {faderBox(containerId,tag,duration,wait)}).delay(initialWait); } /* TICKER FUNCTION */ function tickerBox (trackId,size,direction,tag,duration,wait) { var ticker_children = $(trackId).getChildren(tag); var array_length = parseInt(ticker_children.length)-1; var firstBorn = ticker_children[0]; var lastBorn = ticker_children[array_length]; // only animate if the items are bigger than the container if (direction=='h') { var containerSize = $(trackId).getParent().getStyle('width'); } else { var containerSize = $(trackId).getParent().getStyle('height'); } containerSize = containerSize.replace("px", ""); containerSize = parseInt(containerSize); //alert('dir:' + direction + '\n container size:' + containerSize + '\n track size: ' + array_length*size + '(' + (array_length+1) + 'x' + size + ')'); if (containerSize>0 && (array_length+1)*size<=containerSize) { //alert(array_length + ' = ' +containerSize + ' | ' + (array_length+1)*size); return false; } // animate the transition var myEffect = new Fx.Morph(firstBorn, {duration: duration}); if (direction=='h') { myEffect.start({ 'opacity': [1, 0], 'margin-left': [0, -size] }); } else { myEffect.start({ 'opacity': [1, 0], 'margin-top': [0, -size] }); } // clone the element to the end (function() { var cloneBorn = firstBorn.clone().injectAfter(lastBorn); cloneBorn.setStyle('opacity',1); if (direction=='h') { cloneBorn.setStyle('margin-left',0); } else { cloneBorn.setStyle('margin-top',0); } firstBorn.dispose(); }).delay(duration); // set off again (function() {tickerBox(trackId,size,direction,tag,duration,wait)}).delay(wait); } function tickerBoxInit (trackId,size,direction,tag,duration,wait,initialWait) { if (!direction) { var direction = 'h'; } if (!tag) { var tag = 'a'; } if (!duration) { var duration = 500; } if (!wait) { var wait = 7000; } if (!initialWait) { var initialWait = wait; } (function() {tickerBox(trackId,size,direction,tag,duration,wait)}).delay(initialWait); } /* PROMO BOX FUNCTION */ function promoBoxInit() { $each($$('.promobox'), function(el) { //alert(el.length); var elImages = el.getElements('img'); if (elImages.length==2) { //alert(elImages.length); elImages[0].setStyle('opacity',0.5); elImages[1].setStyle('opacity',0.7); el.addEvents({ 'mouseleave' : function() { var morph1 = new Fx.Morph(elImages[0],{ 'duration':'200' }); var morph2 = new Fx.Morph(elImages[1],{ 'duration':'200' }); morph1.start({ 'opacity':0.5 }); morph2.start({ 'opacity':0.7 }); }, 'mouseenter' : function() { var morph1 = new Fx.Morph(elImages[0],{ 'duration':'200' }); var morph2 = new Fx.Morph(elImages[1],{ 'duration':'200' }); morph1.start({ 'opacity':1 }); morph2.start({ 'opacity':1 }); } }); } else { //alert(elImages.length); elImages[0].setStyle('opacity',0.7); el.addEvents({ 'mouseleave' : function() { var morph1 = new Fx.Morph(elImages[0],{ 'duration':'200' }); morph1.start({ 'opacity':0.7 }); }, 'mouseenter' : function() { var morph1 = new Fx.Morph(elImages[0],{ 'duration':'200' }); morph1.start({ 'opacity':1 }); } }); } }) } window.addEvent('domready', function() { if ($$('.promobox').length<1) { return false; } promoBoxInit(); }) /* OFFSITE LINKS */ function offsite () { var agree=confirm("You are about to leave the Suzuki GB website.\nDo you wish to continue?"); if (agree) { return true; } else { return false; } } /* CLICK ON POSTCODE */ function clickon (form,field,label) { var thisform = document.forms[form]; var fieldvalue = thisform.elements[field].value; if (fieldvalue==label) { thisform.elements[field].value = ''; } else if (fieldvalue=='') { thisform.elements[field].value = label; } } /* BLOCKING */ blockingArrayHeight = []; function blocking(cssid,offon) { el = $(cssid); if (!offon) { offon = 'toggle'; } blockingArrayHeight[el] = currentHeight; var currentDisplay = el.getStyle('display'); if (currentDisplay=='none') { el.setStyle('height','0px'); el.setStyle('overflow','hidden'); el.setStyle('display','block'); } var currentHeight = el.getStyle('height'); //alert('[' + currentHeight); if (offon=='on' || (offon=='toggle' && currentHeight == '0px')) { //alert(blockingArray[el]); var blocking1 = new Fx.Morph(el,{ 'duration':'200' }); blocking1.start({ 'height':blockingArrayHeight[el],'opacity':1 }); } else { var blocking2 = new Fx.Morph(el,{ 'duration':'200' }); blocking2.start({ 'height':0,'opacity':0 }).chain(function() { el.setStyle('display','none'); }); } } /* FADE-UP/DOWN */ function fading(cssid,offon) { el = $(cssid); var currentDisplay = el.getStyle('display'); //alert(currentDisplay); if (currentDisplay == 'none' || offon=='on') { //alert(blockingArray[el]); $(cssid).setStyle('opacity','0'); $(cssid).setStyle('display','block'); var blocking1 = new Fx.Morph(el,{ 'duration':'200' }); blocking1.start({ 'opacity':1 }); } else { var blocking2 = new Fx.Morph(el,{ 'duration':'200' }); blocking2.start({ 'opacity':0 }); (function() { $(cssid).setStyle('display','none'); }).delay(200); } }