var clapi_divs = new Array(); function clapi__init() { var test = ''; var divs = document.getElementsByTagName('div'); for (var i = 0; i < divs.length; i++) { if (divs[i].className != null && divs[i].className.indexOf('clapi_') > -1) { var cn = divs[i].className.substr(divs[i].className.indexOf('clapi_')); if (cn.indexOf(' ') > -1) cn = cn.substring(0, cn.indexOf(' ')); var top = cn.substring(cn.indexOf('_')+1, cn.lastIndexOf('_')); var bottom = cn.substring(cn.lastIndexOf('_')+1); test += '-' + cn + "-"; test += ' ' + top + ' | ' + bottom + "\n"; var elem = new Object(); elem['div'] = divs[i]; elem['top'] = top; elem['bottom'] = bottom; elem['fx'] = null; divs[i].onmouseover = function() { clapi_click(this); } //divs[i].onclick = function() { clapi_click(this); } //var idiv = divs[i].getElementsByTagName('div'); //idiv[0].onmouseover = function() { clapi_click(this.parentNode); } clapi_divs[clapi_divs.length] = elem; } } //alert(test); } var lastclick = null; function clapi_click(div) { if (div == lastclick) return; //alert(div.className); var down = false; var test = ''; for (var i = 0; i < clapi_divs.length; i++) { var from = clapi_divs[i]['div'].style.top.substring(0, clapi_divs[i]['div'].style.top.indexOf('p')); var to = down ? clapi_divs[i]['bottom'] : clapi_divs[i]['top']; if (from != to) { //test += clapi_divs[i]['div'].className + ' | ' + from + ', ' + to + "\n"; clapi_move(i, from, to); } if (clapi_divs[i]['div'] == div) down = true; } lastclick = div; //alert(test); } function clapi_move(arpos, from, to) { //div.style.top = to + 'px'; //new Effect.Move (div,{ x: 0, y: to, mode: 'absolute'}); if (clapi_divs[arpos]['fx'] != null) clapi_divs[arpos]['fx'].stop(); var div = clapi_divs[arpos]['div']; var target = div; var matransition = new Fx.Transition(Fx.Transitions.Quint, 4); //use the number you want or none if you want to leave it default clapi_divs[arpos]['fx'] = new Fx.Styles(target, {duration: 1000, wait: false, transition: matransition.easeInOut}); clapi_divs[arpos]['fx'].start({'top': to}); }