Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /***********************************/
- /* JS by gonchuki - (c)soho - 2006 */
- /***********************************/
- var Dynatable = new Class ({
- initialize: function() {
- if (!document.getElementsByTagName){ return; }
- $$('a.link_delete').each(function(anchor) {
- anchor.onclick = function() { myDynatable.delete_item(this); return false; }
- })
- $$('a.link_cancel').each(function(anchor) {
- anchor.onclick = function() { myDynatable.close_form(this); return false; }
- })
- $$('a.link_show').each(function(anchor) {
- anchor.onclick = function() { myDynatable.show_form(this); return false; }
- })
- },
- delete_item: function(sohoLink) {
- var table = find_parent(sohoLink, 'TABLE');
- var tr = find_parent(sohoLink, 'TR');
- $ES('td', tr).each(function(td) {
- new fx.Style(td, 'opacity', {duration:500}).custom(1, 0);
- });
- (function() {
- tr.parentNode.removeChild(tr);
- /* checkea si la tabla esta vacia y muestra un item por default */
- if (table.getElementsByTagName('TD')[0] == null) {
- var thead = new Element('thead');
- var tr2 = new Element('tr');
- var td = new Element('td');
- td.innerHTML = 'esta lista está vacía';
- tr2.appendChild(td);
- thead.appendChild(tr2);
- table.appendChild(thead);
- }
- }).delay(500);
- },
- show_form: function(sohoLink) {
- var box_outer = find_parent(sohoLink, 'DIV');
- var box_wrap = $E('div.box_wrap', box_outer);
- box_wrap.setStyle('display', 'block');
- new fx.Height(box_wrap).toggle();
- new fx.Style(box_wrap, 'opacity', {duration:500}).custom(0, 1);
- new fx.Style(sohoLink, 'opacity', {duration:500}).custom(1, 0);
- },
- close_form: function(sohoLink) {
- var box_in = find_parent(sohoLink, 'DIV');
- var box_out = find_parent(box_in, 'DIV');
- var box_wrap = find_parent(box_out, 'DIV');
- var box_outer = find_parent(box_wrap, 'DIV');
- new fx.Height(box_wrap).toggle();
- new fx.Style(box_wrap, 'opacity', {duration:500}).custom(1, 0);
- new fx.Style($E('a.link_show', box_outer), 'opacity', {duration:500}).custom(0, 1);
- },
- submit: function(form) {
- /* cambiar el method a form.method si se va a correr contra un script de server */
- //alert(form.toQueryString());
- alert(form.toQueryString());
- //new ajax(form.action, { postBody: form.toQueryString(), method: 'get', onComplete: myDynatable.ajax_callback }).request();
- //new ajax('../inc/xml/ejemplo_web.xml', { postBody: form.toQueryString(), method: 'get' }).request();
- //return(false);
- },
- ajax_callback: function(responseText, responseXML) {
- var result = responseXML.getElementsByTagName('result')[0];
- var table = $('dynatable_' + result.getAttribute('for'));
- var tbody = $E('tbody', table);
- var tr = new Element("tr");
- for (var i = 0; i < result.getElementsByTagName('field').length; i++) {
- var field = result.getElementsByTagName('field')[i].firstChild.nodeValue;
- var td = new Element("td");
- /* oink */
- if (i == 1) {
- switch (result.getAttribute('for')) {
- case 'web':
- case 'email':
- td.innerHTML = '<span class="no_bold">capacidad<span> ';
- break;
- }
- }
- td.innerHTML += field;
- tr.appendChild(td);
- }
- var td = new Element("td");
- var del = new Element("a");
- del.setAttribute('href', 'javascript:;');
- del.className = 'link_delete';
- del.onclick = function() { myDynatable.delete_item(this); return false; }
- switch (result.getAttribute('for')) {
- case 'mac':
- del.innerHTML = 'X';
- break;
- case 'email':
- del.innerHTML = 'Eliminar Casilla';
- break;
- case 'web':
- del.innerHTML = 'Eliminar Página';
- break;
- default:
- del.innerHTML = 'Eliminar';
- break;
- }
- td.appendChild(del);
- tr.appendChild(td);
- tbody.appendChild(tr);
- myDynatable.close_form($E('a.link_cancel', find_parent(table, 'DIV')));
- }
- })
- function initDynatable() { myDynatable = new Dynatable(); }
- Window.onDomReady( function(){ initDynatable(); } );
Add Comment
Please, Sign In to add comment