/** By Shlomi Levi **/

jQuery.fn.getPath = function(limit) {
    if (this.length != 1) throw 'Requires one element.';

    var path, node = this;
    while (node.length) {
        var realNode = node[0], name = realNode.nodeName;
        if (!name) break;
        if (realNode.id == limit) {
            path = name + "#" + limit + ">" + path;
            break;
        }

        name = name.toLowerCase();

        var parent = node.parent();

        var siblings = parent.children(name);
        if (siblings.length > 1) {
            name += ':eq(' + siblings.index(realNode) + ')';
        }

        path = name + (path ? '>' + path : '');
        node = parent;
    }

    return path;
};


