if (typeof GRAFS == 'undefined') {
    var GRAFS = {};
}

if (typeof GRAFS.widget == 'undefined') {
    GRAFS.widget = {};
}

GRAFS.widget.InStockNotificationCellRenderer = function(productId, url) {
    var cells = YAHOO.util.Dom.getElementsByClassName(
        'grafs-in-stock-notification-cell-renderer'
    );

    for (var i = 0; i < cells.length; i++) {
        var cell = cells[i];

        var link = cell.firstChild;

        YAHOO.util.Event.on(link, 'click', function(e) {
            YAHOO.util.Event.stopEvent(e);
       
            YAHOO.util.Dom.addClass(
                cell,
                'grafs-in-stock-notification-cell-renderer-pending'
            );

            YAHOO.util.Connect.asyncRequest(
                'POST',
                url,
                {
                    success: function(o) {
                        YAHOO.util.Dom.removeClass(
                            cell,
                            'grafs-in-stock-notification-cell-renderer-pending'
                        );

                        YAHOO.util.Dom.addClass(
                            cell,
                            'grafs-in-stock-notification-cell-renderer-success'
                        );
                        
                        link.innerHTML = 'Thanks!';
                    }
                },
                'productId=' + productId
            );
        });

        
    }
};

