SERIA.Filearchive2 = { open: function(callback, multiselect, preSelected) { var url = "http:\/\/nongrata.seria.net\/seria\/filearchive2\/index.php?"; if (multiselect) url += 'multiselect=yes'; if (multiselect && preSelected) url += '&'; if (preSelected) url += 'preselected='+preSelected.join(','); SERIA.Popup.show(url, 950, 600, callback, false); }, openSingleSelect: function(callback, preSelected) { SERIA.Filearchive2.open(function (value) { if (value) callback(value[0]); else callback(false); }, false, [preSelected]); }, openMultiSelect: function(callback, preSelected) { SERIA.Filearchive2.open(callback, true, preSelected); }, showSingleFileSelect: function(parentElement, fileId, changeCallback) { var lastRequestedUpdate = 0; var invokeButton = document.createElement('button'); invokeButton.setAttribute('class', 'Filearchive2SingleInvoke'); invokeButton.setAttribute('type', 'button'); invokeButton.innerHTML = "Select a file"; invokeButton.onclick = function () { SERIA.Filearchive2.openSingleSelect(function (value) { if (value) { lastRequestedUpdate++; var updateRequest = lastRequestedUpdate; fileId = value; changeCallback(value); $.get( "\/hsphere\/local\/home\/seriacustomerweb\/nongrata.seria.net\/seria\/filearchive2\/js\/..\/specialTemplates\/thumbnailer.php", { 'multi': 'no', 'fileId': value }, function (data) { if (updateRequest == lastRequestedUpdate) thumbnailArea.innerHTML = data; } ); } }, fileId); } parentElement.appendChild(invokeButton); var clearButton = document.createElement('button'); clearButton.setAttribute('class', 'Filearchive2SingleClear'); clearButton.setAttribute('type', 'button'); clearButton.innerHTML = "Clear"; parentElement.appendChild(clearButton); var thumbnailArea = document.createElement('div'); thumbnailArea.setAttribute('class', 'Filearchive2SingleThumbnailArea'); parentElement.appendChild(thumbnailArea); if (fileId) { (function () { lastRequestedUpdate++; var updateRequest = lastRequestedUpdate; $.get( "\/hsphere\/local\/home\/seriacustomerweb\/nongrata.seria.net\/seria\/filearchive2\/js\/..\/specialTemplates\/thumbnailer.php", { 'multi': 'no', 'fileId': fileId }, function (data) { if (updateRequest == lastRequestedUpdate) thumbnailArea.innerHTML = data; } ); })(); } }, hookSingleSelectOnInput: function (inputObj) { var parent = inputObj.parentNode; var divobj = document.createElement('div'); divobj.setAttribute('class', 'Filearchive2SingleHostObject'); parent.insertBefore(divobj, inputObj); SERIA.Filearchive2.showSingleFileSelect(divobj, inputObj.value, function (newValue) { inputObj.value = newValue; }); } };