Array.prototype.locate = function( value, pos ) {
pos = pos || [];
for( var i = this.length; --i >= 0; ) {
if (this[i] === value) {
return pos.push(i);
}
else if ( Object.prototype.toString.call( this[i] ) === '[object Array]' ) {
pos.push(i);
if ( this[i].locate( value, pos ) ) {
return pos;
}
else {
pos.pop();
}
}
}
return false;
}