?
Path : /home/admin/domains/happytokorea.com/public_html_bk/test3/plugins/system/jatoggler/ |
Current File : /home/admin/domains/happytokorea.com/public_html_bk/test3/plugins/system/jatoggler/jatoggler.js |
var JAToggler_loaded = 0; var JAToggler = { init: function(){ this.old_task = null; this.x = '<img src="images/publish_x.png" border="0" alt="Toggle state" />'; this.tick = '<img src="images/tick.png" border="0" alt="Toggle state" />'; if (JAToggler_loaded == 0) { this.script2 = new Asset.javascript('/plugins/system/jatoggler/jatoggler2.js'); this.spinner = new Asset.image('/plugins/system/jatoggler/spinner.gif', {border: '0', alt: 'Loading...'}); this.spinner2 = new Asset.image('/plugins/system/jatoggler/spinner2.gif', {'alt': 'Loading...', 'align': 'top', 'styles': {'margin': '50px auto 0 auto', 'border' : '1px solid silver'}}); jatoggler_script2 = 1; } document.body.style.cursor = 'wait'; // save form default task if (document.adminForm != null) this.old_task = document.adminForm.task.value; for (i=0; i<document.links.length; i++) { var el = document.links[i]; if (el.href == 'javascript:void(0);') { var tmp = el.parentNode.innerHTML; var tmp2 = ''; if (tmp.indexOf(' listItemTask(') != -1) { if (tmp.indexOf('\'unpublish\'') != -1) tmp2 = 'unpublish'; if (tmp.indexOf('\'publish\'') != -1) tmp2 = 'publish'; if (tmp.indexOf('\'toggle_frontpage\'') != -1) tmp2 = 'toggle_frontpage'; if (tmp.indexOf('\'block\'') != -1) tmp2 = 'block'; if (tmp.indexOf('\'unblock\'') != -1) tmp2 = 'unblock'; if (tmp.indexOf('\'accessregistered\'') != -1) tmp2 = 'accessregistered'; if (tmp.indexOf('\'accessspecial\'') != -1) tmp2 = 'accessspecial'; if (tmp.indexOf('\'accesspublic\'') != -1) tmp2 = 'accesspublic'; if (tmp2 != '') { el.rel = tmp2; el.title = 'Toggle state'; el.onclick = this.click.pass(el, this); } } } if (el.href.indexOf('#reorder') != -1) { var tmp = el.parentNode.innerHTML; var tmp2 = ''; if (tmp.indexOf('\'orderup\'') != -1) tmp2 = 'orderup'; if (tmp.indexOf('\'orderdown\'') != -1) tmp2 = 'orderdown'; if (tmp2 != '') { el.rel = tmp2; el.onclick = this.clickOrder.pass(el, this); } } if (el.href == '') { var tmp = el.parentNode.innerHTML; var tmp2 = ''; if (tmp.indexOf('javascript: document.adminForm.limitstart.value=') != -1) { el.rel = this.old_task; el.onclick = this.clickOrder.pass(el, this); } } } // limit box if (document.adminForm) { if (document.adminForm.limit && document.adminForm.boxchecked && $('cb0')) { document.adminForm.limit.onchange = this.clickLimit.pass(document.adminForm.limit, this); } } document.body.style.cursor = 'default'; }, clickLimit: function(sel){ this.insertDiv(sel); this.startLimit(sel); new Ajax('index.php', { method: 'post', data: document.adminForm, onComplete: function(text, xml) { this.completeOrder(text, xml, sel) }.bind(this) } ).request(); return false; }, clickOrder: function(link){ this.insertDiv(link); this.start(link); new Ajax('index.php', { method: 'post', data: document.adminForm, onComplete: function(text, xml) { this.completeOrder(text, xml, link) }.bind(this) } ).request(); return false; }, completeOrder: function(text, xml, link){ var tbl = this.getTable(link); tbl.remove(); document.getElementById('jattoggle_div').innerHTML = text; this.endOrder(link); }, endOrder: function(link) { document.getElementById('jattoggle_overlay').remove(); document.adminForm.jatoggler.value = ''; document.adminForm.task.value = this.old_task; document.body.style.cursor = 'default'; //JAToggler.init(); window.fireEvent('domready'); }, insertDiv: function(el) { if (document.getElementById('jattoggle_div') == null ) { var tbl = this.getTable(el); this.jattoggle_div = new Element('div', {id: 'jattoggle_div'}).injectBefore(tbl); } }, click: function(link){ var old = link.innerHTML; this.start(link); new Ajax('index.php', { method: 'post', data: document.adminForm, onComplete: function(text, xml) { this.complete(text, xml, link, old) }.bind(this) } ).request(); return false; }, complete: function(text, xml, link, old){ // unpublished if (link.rel == 'unpublish') { if (text != 'JAT OK') { this.error(link); } else { link.rel = 'publish'; link.innerHTML = this.x; this.end(link); } return; } // published if (link.rel == 'publish') { if (text != 'JAT OK') { this.error(link); } else { link.rel = 'unpublish'; link.innerHTML = this.tick; // com_content if (document.adminForm.option.value == 'com_content') { link.innerHTML = '<img src="images/publish_g.png" border="0" alt="Published" />'; } this.end(link); } return; } // frontpage toggled if (link.rel == 'toggle_frontpage') { if (text != 'JAT OK') { this.error(link); } else { if (old.indexOf('publish_x') != -1) link.innerHTML = this.tick; else link.innerHTML = this.x; this.end(link); } return; } // unblock if (link.rel == 'unblock') { if (text != 'JAT OK') { this.error(link); } else { link.rel = 'block'; link.innerHTML = this.tick; this.end(link); } return; } // block if (link.rel == 'block') { if (text != 'JAT OK') { this.error(link); } else { link.rel = 'unblock'; link.innerHTML = this.x; this.end(link); } return; } // registered if (link.rel == 'accessregistered') { if (text != 'JAT OK') { this.error(link); } else { link.rel = 'accessspecial'; link.innerHTML = jmrat_Registered; link.style.color = 'red'; this.end(link); } return; } // special if (link.rel == 'accessspecial') { if (text != 'JAT OK') { this.error(link); } else { link.rel = 'accesspublic'; link.innerHTML = jmrat_Special; link.style.color = 'black'; this.end(link); } return; } // public if (link.rel == 'accesspublic') { if (text != 'JAT OK') { this.error(link); } else { link.rel = 'accessregistered'; link.innerHTML = jmrat_Public; link.style.color = 'green'; this.end(link); } return; } }, start: function(link){ // insert spinner if (link.rel.indexOf('order') != -1) { this.overlay(link); } else { link.innerHTML = ''; this.spinner.injectInside(link); } this.insertHiddens(); // set task document.adminForm.task.value = link.rel; // check cid var tmp = document.adminForm.elements; var i = 0; var i2 = 0; for (i=0; i<tmp.length; i++) { if (tmp[i].name == 'cid[]') { i2++; tmp[i].checked = false; var tr = link.parentNode; while (tr.nodeName != 'TR') { tr = tr.parentNode; } if (i2 == tr.rowIndex) tmp[i].checked = true; } } document.body.style.cursor = 'wait'; }, end: function(link){ // uncheck cid var tmp = document.adminForm.elements; var i = 0; for (i=0; i<tmp.length; i++) { if (tmp[i].name == 'cid[]') { tmp[i].checked = false; } } document.body.style.cursor = 'default'; document.adminForm.jatoggler.value = ''; document.adminForm.task.value = this.old_task; }, error: function(link){ document.body.style.cursor = 'default'; link.parentNode.innerHTML = '<span style="color:red">Error</span>'; document.adminForm.task.value = this.old_task; }, getTable: function(link){ el = link.parentNode; while(el.nodeName != 'TABLE') { el = el.parentNode; } return el; }, startLimit: function(sel){ // insert spinner this.overlay(sel) this.insertHiddens(); document.body.style.cursor = 'wait'; }, insertHiddens: function() { if (document.adminForm['jatoggler'] == undefined) { this.input = new Element('input', {'type': 'hidden', 'name': 'jatoggler', 'value': '1'}).injectInside(document.adminForm); } else document.adminForm.jatoggler.value = '1'; }, overlay: function(el) { var tbl = this.getTable(el); this.overlayDiv = new Element('div', {'id': 'jattoggle_overlay', 'styles': {'padding-top':'30px', 'background':'transparent','position': 'absolute', 'z-index':'99999', 'left':'0', 'top':tbl.offsetTop+'px', 'width':'100%', 'height':tbl.offsetHeight+'px', 'text-align':'center', 'overflow':'hidden'}}).injectInside(document.body); this.spinner2.injectInside(this.overlayDiv); var fx = new Fx.Styles(tbl, {duration:200, wait:false}).start({'opacity':0.5}); } }; window.addEvent('domready', JAToggler.init.bind(JAToggler));