// JavaScript Document
function LinksWidget(id, sLinkedClass, sExtKeyToMe, sExtKeyToRemote, aAttributes)
{
this.id = id;
this.sLinkedClass = sLinkedClass;
this.sExtKeyToMe = sExtKeyToMe;
this.sExtKeyToRemote = sExtKeyToRemote;
this.aAttributes = aAttributes;
this.aLinks = new Array();
this.Init = function()
{
sLinks = $('#'+this.id).val();
if (sLinks.length > 0)
{
this.aLinks = JSON.parse(sLinks);
}
this.Refresh();
}
this.Refresh = function ()
{
$('#v_'+this.id).html('
');
sLinks = JSON.stringify(this.aLinks);
if (this.aLinks.length == 0)
{
$('#'+this.id+'_values').empty();
$('#'+this.id).val(sLinks);
$('#'+this.id).trigger('validate');
}
else
{
$('#'+this.id).val(sLinks);
$('#'+this.id+'_values').load('ajax.render.php?operation=ui.linkswidget.linkedset&sclass='+this.sLinkedClass+'&sextkeytome='+this.sExtKeyToMe+'&sextkeytoremote='+this.sExtKeyToRemote+'&myid='+this.id,
{'sset' : sLinks}, function()
{
// Refresh the style of the loaded table
$('#'+this.id+' table.listResults').tableHover();
$('#'+this.id+' .listResults').tablesorter( { headers: { 0:{sorter: false }}, widgets: ['zebra', 'truncatedList']} ); // sortable and zebra tables
}
);
}
}
this.OnOk = function()
{
this.aObjectBeingLinked = new Array();
sSelected = 'selected_objects_'+this.id;
oSelected = document.getElementById(sSelected);
for(i=0; i 0)
{
$('#LinkDlg_'+this.id).dialog('open');
}
else
{
this.Refresh();
$('#ac_add_'+this.id).attr('disabled', 'disabled');
}
}
}
this.OnCancel = function()
{
// Restore the links to their previous value (just in case)
this.aLinks = this.aPreviousLinks;
}
this.OnLinkOk = function()
{
$('#LinkDlg_'+this.id).dialog('close');
for(i=0; i