// ==UserScript==
// @name           Relist item
// @namespace      etsy.com
// @include        http://www.etsy.com/your/listings/sold*
// @description    Adds a link to relist a sold item from the Sold Orders page
// @version        1.1
// @date           2010-04-16
// @author         Ian Malpass ( ian AT etsyhacks DOT com )
// ==/UserScript==

var orders = getElementsByClassName( 'title-info' );
for ( var ord = 0; ord < orders.length; ord++ ) {
    var order = orders[ ord ];
    var link = order.getElementsByTagName( 'a' )[ 0 ].href;
    var transaction_id = link.match( /transaction_id=(\d+)/ )[ 1 ];
    var div = document.createElement( 'div' );
    div.innerHTML = '&bull; <a href="http://www.etsy.com/relist_listing.php?transaction_id=' + transaction_id + '">relist item</a>';
    order.appendChild( div );
}

function getElementsByClassName ( class, node ) {
    if ( node == null ) node = document;
    if ( node.getElementsByClassName ) {
        return node.getElementsByClassName( class );
    } else {
        var classElements = new Array();
        var els = node.getElementsByTagName( '*' );
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+class+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
            if ( pattern.test(els[i].className) ) {
                classElements[j] = els[i];
                j++;
            }
        }
        return classElements;
    }
}

