Fix for IE from Michael, fixes #1634

git-svn-id: http://svn.automattic.com/wordpress/trunk@2862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
matt 2005-09-10 09:16:32 +00:00
parent 3859dd35a6
commit 7c8cba9fa8
1 changed files with 96 additions and 96 deletions

View File

@ -1,96 +1,96 @@
var listItems; var listItems;
var reg_color = '#FFFFFF'; var reg_color = '#FFFFFF';
var alt_color = '#F1F1F1'; var alt_color = '#F1F1F1';
addLoadEvent(getListItems); addLoadEvent(getListItems);
function deleteSomething( what, id, message ) { function deleteSomething( what, id, message ) {
what.replace('-', ' '); what.replace('-', ' ');
if (!message) message = 'Are you sure you want to delete this ' + what + '?'; if (!message) message = 'Are you sure you want to delete this ' + what + '?';
if ( confirm(message) ) { if ( confirm(message) ) {
return ajaxDelete( what.replace(' ', '-'), id ); return ajaxDelete( what.replace(' ', '-'), id );
} else { } else {
return false; return false;
} }
} }
function getResponseElement() { function getResponseElement() {
var p = document.getElementById('ajax-response-p'); var p = document.getElementById('ajax-response-p');
if (!p) { if (!p) {
p = document.createElement('p'); p = document.createElement('p');
p.id = 'ajax-response-p'; p.id = 'ajax-response-p';
document.getElementById('ajax-response').appendChild(p); document.getElementById('ajax-response').appendChild(p);
return p; return p;
} }
} }
function ajaxDelete(what, id) { function ajaxDelete(what, id) {
ajaxDel = new sack('list-manipulation.php'); ajaxDel = new sack('list-manipulation.php');
if ( ajaxDel.failed ) return true; if ( ajaxDel.failed ) return true;
ajaxDel.myResponseElement = getResponseElement(); ajaxDel.myResponseElement = getResponseElement();
ajaxDel.method = 'POST'; ajaxDel.method = 'POST';
ajaxDel.onLoading = function() { ajaxDel.myResponseElement.innerHTML = 'Sending Data...'; }; ajaxDel.onLoading = function() { ajaxDel.myResponseElement.innerHTML = 'Sending Data...'; };
ajaxDel.onLoaded = function() { ajaxDel.myResponseElement.innerHTML = 'Data Sent...'; }; ajaxDel.onLoaded = function() { ajaxDel.myResponseElement.innerHTML = 'Data Sent...'; };
ajaxDel.onInteractive = function() { ajaxDel.myResponseElement.innerHTML = 'Processing Data...'; }; ajaxDel.onInteractive = function() { ajaxDel.myResponseElement.innerHTML = 'Processing Data...'; };
ajaxDel.onCompletion = function() { removeThisItem( what + '-' + id ); }; ajaxDel.onCompletion = function() { removeThisItem( what + '-' + id ); };
ajaxDel.runAJAX('action=delete-' + what + '&id=' + id); ajaxDel.runAJAX('action=delete-' + what + '&id=' + id);
return false; return false;
} }
function removeThisItem(id) { function removeThisItem(id) {
var response = ajaxDel.response; var response = ajaxDel.response;
if ( isNaN(response) ) { alert(response); } if ( isNaN(response) ) { alert(response); }
response = parseInt(response, 10); response = parseInt(response, 10);
if ( -1 == response ) { ajaxDel.myResponseElement.innerHTML = "You don't have permission to do that."; } if ( -1 == response ) { ajaxDel.myResponseElement.innerHTML = "You don't have permission to do that."; }
else if ( 0 == response ) { ajaxDel.myResponseElement.interHTML = "Something odd happened. Try refreshing the page? Either that or what you tried to delete never existed in the first place."; } else if ( 0 == response ) { ajaxDel.myResponseElement.interHTML = "Something odd happened. Try refreshing the page? Either that or what you tried to delete never existed in the first place."; }
else if ( 1 == response ) { else if ( 1 == response ) {
item = document.getElementById(id); theItem = document.getElementById(id);
Fat.fade_element(item.id,null,700,'#FF3333'); Fat.fade_element(id,null,700,'#FF3333');
setTimeout('item.parentNode.removeChild(item)', 705); setTimeout('theItem.parentNode.removeChild(theItem)', 705);
var pos = getListPos(id); var pos = getListPos(id);
listItems.splice(pos,1); listItems.splice(pos,1);
recolorList(pos); recolorList(pos);
ajaxDel.myResponseElement.parentNode.removeChild(ajaxDel.myResponseElement); ajaxDel.myResponseElement.parentNode.removeChild(ajaxDel.myResponseElement);
} }
} }
function getListPos(id) { function getListPos(id) {
for (var i = 0; i < listItems.length; i++) { for (var i = 0; i < listItems.length; i++) {
if (id == listItems[i]) { if (id == listItems[i]) {
var pos = i; var pos = i;
break; break;
} }
} }
return pos; return pos;
} }
function getListItems() { function getListItems() {
if (list) return; if (list) return;
listItems = new Array(); listItems = new Array();
var extra = false; var extra = false;
var list = document.getElementById('the-list'); var list = document.getElementById('the-list');
if (!list) { var list = document.getElementById('the-list-x'); extra = true; } if (!list) { var list = document.getElementById('the-list-x'); extra = true; }
if (list) { if (list) {
var items = list.getElementsByTagName('tr'); var items = list.getElementsByTagName('tr');
if (!items[0]) { items = list.getElementsByTagName('li'); } if (!items[0]) { items = list.getElementsByTagName('li'); }
for (var i=0; i<items.length; i++) { listItems.push(items[i].id); } for (var i=0; i<items.length; i++) { listItems.push(items[i].id); }
if (extra) { listItems.splice(0,1); } if (extra) { listItems.splice(0,1); }
} }
} }
function recolorList(pos,dur,from) { function recolorList(pos,dur,from) {
if (!pos) pos = 0; if (!pos) pos = 0;
if (!from) { if (!from) {
reg_from = alt_color; reg_from = alt_color;
alt_from = reg_color; alt_from = reg_color;
} else { } else {
reg_from = from; reg_from = from;
alt_from = from; alt_from = from;
} }
for (var i = pos; i < listItems.length; i++) { for (var i = pos; i < listItems.length; i++) {
if (i % 2 == 1) Fat.fade_element(listItems[i],null,dur,reg_from,reg_color); if (i % 2 == 1) Fat.fade_element(listItems[i],null,dur,reg_from,reg_color);
else Fat.fade_element(listItems[i],null,dur,alt_from,alt_color); else Fat.fade_element(listItems[i],null,dur,alt_from,alt_color);
} }
} }