/* JoomlaXTC showcaseFX version 2.1 Copyright (C) 2009,2010 Monev Software LLC. All Rights Reserved. THIS PROGRAM IS NOT FREE SOFTWARE You shall not modify, copy, duplicate, reproduce, sell, license or sublicense the Software, or transfer or convey the Software or any right in the Software to anyone else without the prior written consent of Developer; provided that Licensee may make one copy of the Software for backup or archival purposes. Monev Software LLC www.joomlaxtc.com */ if (typeof showcaseFX != 'function') { function showcaseFX(id, o){ var dix = $(id); if (dix) { var showcase = dix.getElement('.showcase'); var frames = dix.getElements('.sframe'); if(frames.length > 1) {/* For 2 frames or more */ var a = frames.length - 1; var b = 0; var fh = 0; var fw = 0; var f = {}; var fx; var fxReady = (o.fxpause == -1) ? true : false; var periodical; /* * Initial Styles */ showcase.setStyles({'position':'relative','display':'block','visibility':'visible','overflow':'hidden','z-index':o.fxlayer}); frames.each(function(f,i){ fh = (f.getSize().size.y > fh) ? f.getSize().size.y : fh; fw = (f.getSize().size.x > fw) ? f.getSize().size.x : fw; }) frames.setStyles({'position':'absolute','display':'block','visibility':'visible'}); showcase.setStyles({'width':fw,'height':fh}); frames.setStyles({'width':fw,'height':fh}); /* Only for IE */ if (window.ie){ /* Fix for png image */ var fixyimg = showcase.getElements('img.imgpngfix'); fixyimg.each(function(im){ var imgName = im.src.toUpperCase(); if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){ var img = im; var w = img.width; var h = img.height; var imgURL = img.src; var imgID = (img.id) ? "id='" + img.id + "' " : ""; var imgClass = (img.className) ? "class='" + img.className + "' " : ""; var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "; var imgStyle = "display:inline-block;" + img.style.cssText; if (img.align == "left") imgStyle = "float:left;" + imgStyle; if (img.align == "right") imgStyle = "float:right;" + imgStyle; if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle; var strNewHTML = ""; img.outerHTML = strNewHTML; } }); } /* * Control Triggers */ var prevs = dix.getElements('.prev'); var nexts = dix.getElements('.next'); var pags = dix.getElements('.pag'); /* * Animation options */ switch (o.fxmode) { case 'fade': fx = new Fx.Elements(frames, {duration: o.fxspeed, wait: true, transition: o.fxtype, onComplete: function(){fxReady = true;}}); var start = 0; var end = 1; frames.setStyles({'opacity': start}); frames[0].setStyles({'opacity': end}); var fxIn = {'opacity': end}; var fxOut = {'opacity': start}; var fxInR = {'opacity': end}; var fxOutR = {'opacity': start}; break; case 'slideHor': fx = new Fx.Elements(frames, {duration: o.fxspeed, wait: true, transition: o.fxtype, onComplete: function(){fxReady = true;}}); var dir = (o.fxflow == 'LR') ? 1 : -1; var start = dir * fw; var mid = 0; var end = -start; frames.setStyles({'left': start}); frames[0].setStyles({'left': mid}); var fxIn = {'left': [start, mid]}; var fxOut = {'left': [mid, end]}; var fxInR = {'left': [end, mid]}; var fxOutR = {'left': [mid, start]}; break; case 'slideVer': fx = new Fx.Elements(frames, {duration: o.fxspeed, wait: true, transition: o.fxtype, onComplete: function(){fxReady = true;}}); var dir = (o.fxflow == 'TB') ? 1 : -1; var start = -dir * fh; var mid = 0; var end = -start; frames.setStyles({'top': start}); frames[0].setStyles({'top': mid}); var fxIn = {'top': [start, mid]}; var fxOut = {'top': [mid, end]}; var fxInR = {'top': [end, mid]}; var fxOutR = {'top': [mid, start]}; break; } /* * Z-Index reverse fix */ frames.each(function(f, i){f.setStyles({'z-index': i});}); /* * Foward Method */ function foward(){ a = (a == frames.length - 1) ? 0 : a + 1; b = (b == frames.length - 1) ? 0 : b + 1; f = {}; f[a] = fxOut; f[b] = fxIn; fx.start(f); } /* * Rewind Method */ function rewind(){ f = {}; f[a] = fxInR; f[b] = fxOutR; fx.start(f); a--; b--; a = (a < 0) ? frames.length - 1 : a; b = (b < 0) ? frames.length - 1 : b; } /* * GoTo Method */ function goTo(g){ f = {}; f[b] = fxOut; f[g] = fxIn; fx.start(f); a = g - 1; b = g; a = (a < 0) ? frames.length - 1 : a; b = (b < 0) ? frames.length - 1 : b; } /* * Animate Method */ function animate(){ foward(); fxReady = false; } /* * Controls Actions: Previous */ prevs.each(function(prev,i){ prev.addEvent('click', function(e){ e = new Event(e).stop(); if (fxReady) { rewind(); $clear(periodical); if(o.fxpause != -1) periodical = animate.periodical(o.fxspeed + o.fxpause); fxReady = false; } }); }); /* * Controls Actions: Next */ nexts.each(function(next, i){ next.addEvent('click', function(e){ e = new Event(e).stop(); if (fxReady) { foward(); $clear(periodical); if(o.fxpause > 0) periodical = animate.periodical(o.fxspeed + o.fxpause); fxReady = false; } }); }); /* * Controls Actions: Paginations */ pags.each(function(pag,i){ pag.addEvent('click', function(e){ e = new Event(e).stop(); if(fxReady){ if (i != b) { goTo(i); $clear(periodical); if(o.fxpause > 0) periodical = animate.periodical(o.fxspeed + o.fxpause); fxReady = false; } } }); }); /* * Init Method */ function init(){ if(o.fxpause > 0) periodical = animate.periodical(o.fxspeed + o.fxpause); } init(); }else{/* For 1 single frame */ showcase.setStyles({'position':'relative','display':'block','visibility':'visible','z-index':o.fxlayer}); } }/* End if(dix) */ }/* End showcasefx */ }/* End typeof showcasefx */ /* * Showcase Complements: JXTC HOVER */ if (typeof jxtchover != 'function'){ function jxtchover(id,hi,ho){ var ghover = $(id).getElements('.js_hover'); ghover.each(function(el) { el.setStyles({'background-color':'#' + ho}); var fx = new Fx.Styles(el, {duration:300, wait:false}); el.addEvent('mouseenter', function(){ fx.start({ 'background-color': '#' + hi }); }); el.addEvent('mouseleave', function(){ fx.start({ 'background-color': '#' + ho }); }); }); } } /* * Showcase Complements: JXTC POPS */ if (typeof jxtcpops != 'function') { function jxtcpops(id, o){ var dix = $(id); var popsh = dix.getElements('.popuphover'); var vo = 0; var vi = 0; var ho = 0; var hi = 0; var box = new Element('div',{ styles:{'opacity':0,'display':'none'} }); box.injectInside(document.body); box.addClass('jxtcpopup'); var inner = new Element('div'); inner.addClass('jxtcinner'); var x = new Element('div'); x.addClass('jxtcpopupclose'); x.innerHTML = 'CLOSE'; var d = new Element('div'); d.addClass('jxtcpopupdrag'); d.innerHTML = 'DRAG'; x.injectInside(box); d.injectInside(box); inner.injectInside(box); var fx = new Fx.Styles(box,{duration:o.durationin,transition:o.fxtype,wait:false}); x.addEvent('click',function(){ fx.start({ 'top':window.getScrollTop() + vo, 'left':window.getScrollLeft() + ho, 'opacity':o.opacityout }).chain(function(){ box.setStyles({'display':'none'}); }); }); popsh.each(function(p,i){ var pop = p.getElement('.pop'); pop.setStyles({'display':'none'}); x.addEvent('click',function(){ pop.setStyles({'display':'none'}); p.adopt(pop); }); p.addEvent('click',function(){ box.setStyles({ 'position':'absolute', 'display':'block' }); box.makeDraggable(); inner.adopt(pop); pop.setStyles({'display':'block'}); box.setStyles({ 'height':'auto', 'top': window.getScrollTop() + o.verticalout + 'px', 'left': window.getScrollLeft() + o.horizontalout + 'px' }); if(o.centered=='1'){ var bw = box.getSize().size.x; var bh = box.getSize().size.y; box.setStyles({ 'top': (window.getScrollTop()) + (window.getHeight() - box.getSize().size.y)/2 + 'px', 'left': (window.getScrollLeft() + window.getWidth() - bw)/2 + 'px' }); vo = vi = (window.getHeight() - box.getSize().size.y)/2; ho = hi = (window.getScrollLeft() + window.getWidth() - bw)/2; } fx.start({ 'top':window.getScrollTop() + vi, 'left':window.getScrollLeft() + hi, 'opacity':o.opacityin }); }); }); } } /* * Showcase Complements: JXTC TIPS */ if (typeof jxtctips != 'function') { function jxtctips(id,options){ var dix = $(id); var triggers = dix.getElements('.jxtctooltip'); triggers.each(function(t,i){ var tip = t.getElement('.tip'); t.setStyles({'position':'relative'}); tip.setStyles({'opacity':0,'display':'block','position':'absolute','z-index':9999,'top':options.verticalout,'left':options.horizontalout}); var tfxi = new Fx.Styles(tip, {duration: options.durationin, transtion: options.fxtype, wait: false}); var tfxo = new Fx.Styles(tip, {duration: options.durationout, transtion: options.fxtype, wait: false}); var tfxp = new Fx.Styles(tip, {duration: options.pause,wait: true}); t.addEvent('mouseenter', function(){ tfxi.start({ 'opacity': options.opacityin, 'top': options.verticalin + 'px', 'left': options.horizontalin + 'px' }); }); t.addEvent('mouseleave', function(){ tfxp.start({}).chain(function(){ tfxo.start({ 'opacity': options.opacityout, 'top' : options.verticalout + 'px', 'left' : options.horizontalout + 'px' }); }); }); tip.addEvent('mouseenter', function(){ tfxp.stop(); tfxi.start({ 'opacity': options.opacityin, 'top': options.verticalin + 'px', 'left': options.horizontalin + 'px' }); }); }); } } /* * Showcase Complements: SLIDEBOX */ if (typeof slidebox != 'function') { function slidebox(id,sbfx,p,a){ var dix = $(id); var boxslides = dix.getElements('.slidebox'); var pos = p; boxslides.each(function(b, i){ b.setStyles({'overflow': 'hidden','position':'relative'}); var slide = b.getElement('.slidepanel'); slide.setStyles({'position': 'relative'}); (function(){ var s = b.getSize().size; switch(sbfx) { case 'RSO': pos.xi = s.x; pos.xo = 0; pos.yi = 0; pos.yo = 0; break; case 'RSI': pos.xo = s.x; pos.xi = 0; pos.yi = 0; pos.yo = 0; break; case 'LSO': pos.xi = -s.x; pos.xo = 0; pos.yi = 0; pos.yo = 0; break; case 'LSI': pos.xo = -s.x; pos,xi = 0; pos.yi = 0; pos.yo = 0; break; case 'BSO': pos.yi = s.y; pos.yo = 0; pos.xi = 0; pos.xo = 0; break; case 'BSI': pos.yo = s.y; pos.yi = 0; pos.xi = 0; pos.xo = 0; break; case 'TSO': pos.yo = s.y; pos.yi = 0; pos.xi = 0; pos.xo = 0; break; case 'TSI': pos.yo = -s.y; pos.yi = 0; pos.xi = 0; pos.xo = 0; break; case 'TRSO': pos.xi = s.x; pos.xo = 0; pos.yi = -s.y; pos.yo = 0; break; case 'TRSI': pos.xo = s.x; pos.xi = 0; pos.yo = -s.y; pos.yi = 0; break; case 'TLSO': pos.xi = -s.x; pos.xo = 0; pos.yi = -s.y; pos.yo = 0; break; case 'TLSI': pos.xo = -s.x; pos.xi = 0; pos.yo = -s.y; pos.yi = 0; break; case 'BRSO': pos.xi = s.x; pos.xo = 0; pos.yi = s.y; pos.yo = 0; break; case 'BRSI': pos.xo = s.x; pos.xi = 0; pos.yo = s.y; pos.yi = 0; break; case 'BLSO': pos.xi = -s.x; pos.xo = 0; pos.yi = s.y; pos.yo = 0; break; case 'BLSI': pos.xo = -s.x; pos.xi = 0; pos.yo = s.y; pos.yi = 0; break; } slide.setStyles({ 'top': pos.yo, 'left': pos.xo }); }).delay(100); var sfx = new Fx.Styles(slide,{duration:a.dura,fps:a.frames,transition:a.fxtype,wait:false}); b.addEvent('mouseenter', function(){ sfx.start({ 'top': pos.yi, 'left':pos.xi }); }); b.addEvent('mouseleave', function(){ sfx.start({ 'top': pos.yo, 'left':pos.xo }); }); }); } } /* * WallFX */ if (typeof wallfx != 'function') { function wallfx(id, w, h, mode){ var mode = (typeof mode != 'undefined') ? mode : 0; var con = $(id); if (con) { var conSize = con.getSize(); var inside = con.getElement('.showcase'); if (inside) { inside.setStyles({ 'position': 'relative', 'display':'block', 'visibility':'visible', 'top':0, 'left':0, 'width': w + 'px', 'height': h + 'px' }); var inSize = inside.getSize(); var divShow = inside.getElement('.sframe'); if(divShow){ divShow.setStyles({ 'position':'absolute', 'display':'block' }); switch(mode) { case 0: inside.setStyles({ 'overflow': 'hidden' }); var table = divShow.getElement('.table'); var tSize = table.getSize().size; table.setStyles({ 'position':'relative', 'width':tSize.x, 'height':tSize.y, 'top':tSize.y - h, 'left':tSize.x - w }); divShow.setStyles({ 'left': -(tSize.x - w), 'top': -(tSize.y - h), 'width': (tSize.x - w) + tSize.x, 'height': (tSize.y - h) + tSize.y }); table.makeDraggable({container:divShow}); break; case 1: var table = divShow.getElement('table'); var tSize = table.getSize().size; table.setStyles({ 'position':'relative', 'top':0, 'left':0 }); divShow.setStyles({ 'overflow': 'hidden', 'position':'relative', 'width': w, 'height': h }); var margenx = inSize.size.x * .05; var margeny = inSize.size.y * .05; var dimDiffsx = tSize.x - inSize.size.x; var dimDiffsy = tSize.y - inSize.size.y; var dimPropsx = dimDiffsx / (inSize.size.x - (margenx * 2)); var dimPropsy = dimDiffsy / (inSize.size.y - (margeny * 2)); inside.addEvent('mousemove', function(event){ var event = new Event(event); var mposx = event.page.x - inside.offsetLeft; var mposy = event.page.y - inside.offsetTop; var newx = parseInt(dimPropsx * (mposx - margenx)); if (newx < 0) {newx = 0}; if (newx > tSize.x - inSize.size.x) {newx = tSize.x - inSize.size.x}; var newy = parseInt(dimPropsy * (mposy - margeny)); if (newy < 0) {newy = 0}; if (newy > tSize.y - inSize.size.y) {newy = tSize.y - inSize.size.y}; table.style.left = -newx + 'px'; table.style.top = -newy + 'px'; }); break; } } } } } }