function resourcebrowser_popup(url) {
    var popup_args = 'width=500,height=600,scrollbars=1';
    var name = 'resourcebrowser_popup';

    window.open(url, name, popup_args);
}

function resourcebrowser_open_search(portal_type) { 
    var url = 'search-and-add-popup' +
              '?form.portal_type:str='+portal_type;

    resourcebrowser_popup(url);
}

function resourcebrowser_open_browser(field_name, in_url, field_real_name,
                                      portal_type) {

    var url = in_url + '/' +
              'search-and-add-popup' +
              '?field_name='+field_name +
              '&form.display_inserting:bool=true' +
              '&form.portal_type:str='+portal_type;

    resourcebrowser_popup(url);
}

function resourcebrowser_add_ref(uid, label, field_name, popup_window) {
    multi = 1;

    if (multi==0) {
        element=document.getElementById(widget_id)
        label_element=document.getElementById(widget_id + '_label')
        element.value=uid
        label_element.value=label
     } else {
         list = document.getElementById(field_name);
         list = list.options;

         // check if the item isn't already in the list
         for (var x=0; x < list.length; x++) {
             if (list[x].value == uid) {
                 return false;
             }
         }         

         opt = new Option(label, uid);

         try {
             list.add(opt, null);
         } catch(e) {
             list.add(opt);
         }

         opt.selected='selected';

         new Ajax.Request('/resource-short-description?of_uid=' + uid,
                          {method: 'get',
                           onSuccess:
             function(transport) {
                 widgets = $('select-' + field_name + '-widgets');
                 widgets.innerHTML = widgets.innerHTML + (
'<li id="select-' + field_name + '-' + uid + '"><div style="float:right">' +
'<input type="button" value="Delete" class="context" onClick="' +
'javascript:confirm_resourcebrowser_remove_ref(\'' + uid + '\', \'' +
field_name + '\')" /></div>' + transport.responseText + '</li>'
                                                          );
                 popup_window.alert("Item added");
                 popup_window.close();
             }
                          })
     }
}

function resourcebrowser_remove_ref(uid, field_name) {
    multi = 1;

    if (multi) {
        list = document.getElementById(field_name);
        list = list.options;

        for (var x=list.length-1; x >= 0; x--) {
            if (list[x].value == uid)
                list[x] = null;
        }
        for (var x=0; x < list.length; x++) {
            list[x].selected='selected';
        }

        widget = document.getElementById('select-' + field_name + '-' + uid);
        widget.parentNode.removeChild(widget);
    } else {
        element=document.getElementById(widget_id);
        label_element=document.getElementById(widget_id + '_label');
        label_element.value = "";
        element.value="";
    }
}

function confirm_resourcebrowser_remove_ref(uid, field_name) {
    var answer = confirm("Are you sure you want to delete this affiliation? " +
                         "The "+ field_name +" profile itself will not be " +
                         "deleted.");
    if (answer) {
        resourcebrowser_remove_ref(uid, field_name);
    }
}