function sendForward(o)
{
    if (!o.parentNode) return;
    var swapelems = o.parentNode.childNodes;
    var i = 0;
    // this loop because it seems that in dom tree there's something more than rect
    for (el in swapelems) {
        if (swapelems[el].nodeName == 'rect') {
            // so I remember the index of the last rect son of navplan
            i = el;
        }
    }

    var swapelem = swapelems[i];
    if (swapelem == undefined) return;
    
    if (o.id != swapelem.id) {
        var tmp = o.cloneNode(true);
        o.parentNode.replaceChild(tmp, swapelem);
        o.parentNode.replaceChild(swapelem, o);
    }
}

function sendBackward(o)
{
    if (!o.parentNode) return;
    var swapelems = o.parentNode.childNodes;
    var i = 0;
    // this loop because it seems that in dom tree there's something more than rect
    for (el in swapelems) {
        if (swapelems[el].nodeName == 'rect') {//alert(swapelems[el].id);
            i = el;
            break;
        }
    }
    
    var swapelem = swapelems[i];
    if (swapelem == undefined) return;

    if (o.id != swapelem.id) {
        var tmp = o.cloneNode(true);
        o.parentNode.replaceChild(tmp, swapelem);
        o.parentNode.replaceChild(swapelem, o);
    }
}
