// 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