Q(1)
I have created an array and store 3 functions in it. Eg.


this.validateCols = new Array();

this.validateCols[this.COST] = function(obj, index)
{
return 0;
};

this.validateCols[this.LOCKED] = function(obj, index)
{
return 0;
};

this.validateCols[this.COMPLETION] = function(obj, index)
{
return 0;
};


Calling validateCols[0](0, 0) works in IE, but in Firefox I get:

validateCols[0] is not a function


Is this the correct way to define functions in an array? Or is there a better way?
Or is this not supported at all in Firefox?


Q(2)
Also .swapNode() is not in Firefox? Any alternatives?



Q(3)
I implemented drag 'n' drop and it works in IE but not in Firefox.

Each droppable HTML TD element has:

ondragenter="this.parentNode.style.backgroundColor = 'gray'; window.event.returnValue = false;"
ondragover="window.event.returnValue = false;"
ondragleave="this.parentNode.style.backgroundColor = 'white'; window.event.returnValue = false;"
ondrop="OnDrop(this);"



Each draggable URL element has attributes:

id='draggable'
onmousemove='window.event.srcElement.dragDrop();'
ondragstart='window.event.dataTransfer.setData("text", "data");'






But this doesn't work in Firefox. Anyone got any ideas?