django.jQuery(document).ready(function($){
    
    window.dismissChangeRelatedPopup = function(win, objId, newRepr) {
        objId = html_unescape(objId);
        newRepr = html_unescape(newRepr);
        var id = windowname_to_id(win.name).replace(/^edit_/, ''),
            selects = $(interpolate('#%s, #%s_from, #%s_to', [id, id, id]));
        selects.find('option').each(function(){
            if (this.value == objId) this.innerHTML = newRepr;
        });
        win.close();
    };
    
    if (!dismissAddAnotherPopup.original) {
        var originalDismissAddAnotherPopup = dismissAddAnotherPopup;
        dismissAddAnotherPopup = function(win, newId, newRepr) {
            originalDismissAddAnotherPopup(win, newId, newRepr);
            newId = html_unescape(newId);
            newRepr = html_unescape(newRepr);
            $('#' + windowname_to_id(win.name)).trigger('change');
        };
        dismissAddAnotherPopup.original = originalDismissAddAnotherPopup;
    }
    
    window.dismissDeleteRelatedPopup = function(win, objId) {
        objId = html_unescape(objId);
        var id = windowname_to_id(win.name).replace(/^delete_/, ''),
            selects = $(interpolate('#%s, #%s_from, #%s_to', [id, id, id]));
        selects.find('option').each(function(){
            if (this.value == objId) $(this).remove();
        }).trigger('change');
        win.close();
    };
    
	var relatedWidgetCSSSelector = '.related-widget-wrapper-change-link, .related-widget-wrapper-delete-link',
  		hrefTemplateAttr = 'data-href-template';
  
    $('#container').delegate('.related-widget-wrapper', 'change', function(event){
        var siblings = $(this).nextAll(relatedWidgetCSSSelector),
            value = event.target.value;
        if (!siblings.length) return;
        if (value) {
	       siblings.each(function(){
		      var elm = $(this);
		      elm.attr('href', elm.attr(hrefTemplateAttr).replace('__pk__', value));
	       });
        } else siblings.removeAttr('href');
    });

	$('#container').delegate('.related-widget-wrapper-link', 'click', function(event){
    	if (this.href) {
    		return showAddAnotherPopup(this);
    	} else return false;
    });
});