Tower.OF.Elaboration = {
toggle: function(objectFileId, type, screenName, maxWidth, maxHeight, externalOperationOption) {
var instance = this,
w = Tower.Util.getWindowWidth(800),
popupWidth = w - 200,
position = 'center';
if (popupWidth < 100) popupWidth = 100;
w = w - popupWidth;
if (w > 0) position = [(w / 2), 50];
instance._fileId = objectFileId;
instance._type = type;
instance._maxWidth = maxWidth || -1;
instance._maxHeight = maxHeight || -1;
if (externalOperationOption) {
instance._externalOperation = externalOperationOption.operation || '';
instance._externalOperationContent = externalOperationOption.content || '';
} else {
instance._externalOperation = '';
instance._externalOperationContent = '';
}
instance._reload = false;
instance._dialog = Liferay.Popup({
width: popupWidth,
message: '<div class="loading-animation" />',
position: position,
modal: true,
resizable: true,
title: Liferay.Language.get("elaborations-of-x-x", [Liferay.Language.get("file." + type), screenName]),
onClose: function() {
if (instance._reload) window.location.reload();
}
});
instance._loadStart();
},
_loadStart: function() {
var instance = this,
iterPage = '';
instance._dialog.html('<div class="loading-animation" />');
if (instance._type == 'image') iterPage = '/html/portlet/tower/editorial_office_files/taglib/ui/search_iterator/image_elaborations.jsp';
jQuery.ajax({
url: themeDisplay.getPathMain() + '/portal/render_portlet',
data: {
p_l_id: themeDisplay.getPlid(),
p_p_id: 'TOWER_17',
p_p_state: 'exclusive',
p_p_lifecycle: 0,
doAsUserId: themeDisplay.getDoAsUserIdEncoded(),
_TOWER_17_iterPage: iterPage,
_TOWER_17_fileId: instance._fileId,
_TOWER_17_maxWidth: instance._maxWidth,
_TOWER_17_maxHeight: instance._maxHeight,
_TOWER_17_externalOperation: instance._externalOperation,
_TOWER_17_externalOperationContent: instance._externalOperationContent
},
success: function(message) {
instance._dialog.html(message);
instance._bindCommands1();
}
});
},
_bindCommands1: function() {
var instance = this,
baseUrl = themeDisplay.getPathMain() + '/portal/render_portlet',
baseActionUrl = themeDisplay.getPathMain() + '/portal/tower/elaborate_file',
tmpHref;			
instance._addNewQueryString = '';
var addNew = instance._dialog.find('#tower_file_new_elaboration');
if (addNew.length > 0) {
tmpHref = addNew.attr('href');
addNew.attr('href', '#tower_file_elaborations_anchor');
if (tmpHref.indexOf("?") != -1) instance._addNewQueryString = tmpHref.substr(tmpHref.indexOf("?") + 1);
addNew.click(function() {
var url = '';
if (instance._addNewQueryString != '') url = Liferay.Util.addParams(instance._addNewQueryString, baseUrl);
if (url != '') {
instance._dialog.html('<div class="loading-animation" />');
jQuery.ajax({
url: url,
data: {
_TOWER_17_fileId: instance._fileId,
_TOWER_17_maxWidth: instance._maxWidth,
_TOWER_17_maxHeight: instance._maxHeight,
_TOWER_17_externalOperation: instance._externalOperation,
_TOWER_17_externalOperationContent: instance._externalOperationContent
},
success: function(message) {
instance._dialog.html(message);
instance._bindCommands2();
}
});
}
});
}
instance._deleteLinkQueryStrings = [];
var deleteLinks = instance._dialog.find('a.tower-file-delete-elaboration');
if (deleteLinks.length > 0) {
for (var i = 0; i < deleteLinks.length; i++) {
tmpHref = jQuery(deleteLinks[i]).attr('href');
instance._deleteLinkQueryStrings[i] = '';
if (tmpHref.indexOf("?") != -1) {
instance._deleteLinkQueryStrings[i] = tmpHref.substr(tmpHref.indexOf("?") + 1);
if (instance._deleteLinkQueryStrings[i].indexOf('p_p_lifecycle') != -1) {
instance._deleteLinkQueryStrings[i] = instance._deleteLinkQueryStrings[i].replace(/p_p_lifecycle=1/, 'p_p_lifecycle=0');
} else {
instance._deleteLinkQueryStrings[i] = instance._deleteLinkQueryStrings[i] + "&p_p_lifecycle=0";
}
}
jQuery(deleteLinks[i]).attr('href', '#tower_file_elaborations_anchor');
jQuery(deleteLinks[i]).attr('tabIndex', '' + i);
jQuery(deleteLinks[i]).click(function() {
if (confirm(Liferay.Language.get('are-you-sure-you-want-to-delete-the-selected-elaboration'))) {
var url = '',
index = jQuery(this).attr('tabIndex');
if (instance._deleteLinkQueryStrings[index] != '') url = Liferay.Util.addParams(instance._deleteLinkQueryStrings[index], baseActionUrl);
if (url != '') {
instance._dialog.html('<div class="loading-animation" />');
jQuery.ajax({
url: url,
data: {
_TOWER_17_externalOperation: instance._externalOperation,
_TOWER_17_externalOperationContent: instance._externalOperationContent
},
success: function(message) {
instance._reload = true;
instance._dialog.html(message);
instance._bindCommands1();
}
});
}
}
});
}
}
instance._editLinkQueryStrings = [];
var editLinks = instance._dialog.find('a.tower-file-edit-elaboration');
if (editLinks.length > 0) {
for (var i = 0; i < editLinks.length; i++) {
tmpHref = jQuery(editLinks[i]).attr('href');
instance._editLinkQueryStrings[i] = '';
if (tmpHref.indexOf("?") != -1) {
instance._editLinkQueryStrings[i] = tmpHref.substr(tmpHref.indexOf("?") + 1);
if (instance._editLinkQueryStrings[i].indexOf('p_p_lifecycle') != -1) {
instance._editLinkQueryStrings[i] = instance._editLinkQueryStrings[i].replace(/p_p_lifecycle=1/, 'p_p_lifecycle=0');
} else {
instance._editLinkQueryStrings[i] = instance._editLinkQueryStrings[i] + "&p_p_lifecycle=0";
}
}
jQuery(editLinks[i]).attr('href', '#tower_file_elaborations_anchor');
jQuery(editLinks[i]).attr('tabIndex', '' + i);
jQuery(editLinks[i]).click(function() {
var url = '',
index = jQuery(this).attr('tabIndex');
if (instance._editLinkQueryStrings[index] != '') url = Liferay.Util.addParams(instance._editLinkQueryStrings[index], baseActionUrl);
if (url != '') {
instance._dialog.html('<div class="loading-animation" />');
jQuery.ajax({
url: url,
data: {
_TOWER_17_maxWidth: instance._maxWidth,
_TOWER_17_maxHeight: instance._maxHeight,
_TOWER_17_externalOperation: instance._externalOperation,
_TOWER_17_externalOperationContent: instance._externalOperationContent
},
success: function(message) {
instance._dialog.html(message);
instance._bindCommands2();
}
});
}
});
}
}
},
_bindCommands2: function() {
var instance = this,
baseUrl = themeDisplay.getPathMain() + '/portal/render_portlet',
baseActionUrl = themeDisplay.getPathMain() + '/portal/tower/elaborate_file',
tmpHref;
instance._addNewTabQueryStrings = [];
var newTabs = instance._dialog.find('a.tower-file-elaboration-action');
if (newTabs.length > 0) {
for (var i = 0; i < newTabs.length; i++) {
tmpHref = jQuery(newTabs[i]).attr('href');
instance._addNewTabQueryStrings[i] = '';
if (tmpHref.indexOf("?") != -1) instance._addNewTabQueryStrings[i] = tmpHref.substr(tmpHref.indexOf("?") + 1);
jQuery(newTabs[i]).attr('href', '#tower_file_elaborations_anchor');
jQuery(newTabs[i]).attr('tabIndex', '' + i);
jQuery(newTabs[i]).click(function() {
var url = '',
index = jQuery(this).attr('tabIndex');
if (instance._addNewTabQueryStrings[index] != '') url = Liferay.Util.addParams(instance._addNewTabQueryStrings[index], baseUrl);
if (url != '') {
instance._dialog.html('<div class="loading-animation" />');
jQuery.ajax({
url: url,
data: {
_TOWER_17_fileId: instance._fileId,
_TOWER_17_maxWidth: instance._maxWidth,
_TOWER_17_maxHeight: instance._maxHeight,
_TOWER_17_externalOperation: instance._externalOperation,
_TOWER_17_externalOperationContent: instance._externalOperationContent
},
success: function(message) {
instance._dialog.html(message);
instance._bindCommands1();
instance._bindCommands2();
}
});
}
});
}
}
var form = instance._dialog.find('#tower_file_elaboration_form');
if (form.length > 0) {
instance._form = form;
instance._formQueryString = '';
tmpHref = form.attr('action');
if (tmpHref.indexOf("?") != -1) {
instance._formQueryString = tmpHref.substr(tmpHref.indexOf("?") + 1);
if (instance._formQueryString.indexOf('p_p_lifecycle') != -1) {
instance._formQueryString = instance._formQueryString.replace(/p_p_lifecycle=1/, 'p_p_lifecycle=0');
} else {
instance._formQueryString = instance._formQueryString + "&p_p_lifecycle=0";
}
}
form.attr('action', '#tower_file_elaborations_anchor');
var source = instance._form.find('#tower_file_elaboration_form_source');
if (source.length > 0) {
source.removeAttr('onchange');
source.unbind('change');
source.change(function() {
var url = baseUrl + "?",
inputs = instance._form.find('input.tower-file-elaboration-form-input:not(:checkbox):not(:radio),input.tower-file-elaboration-form-input:radio:checked,input.tower-file-elaboration-form-input:checkbox:checked,select.tower-file-elaboration-form-input');
if (inputs.length > 0) {
var value,
paramName;
for (var i = 0; i < inputs.length; i++) {
value = jQuery(inputs[i]).val();
paramName = jQuery(inputs[i]).attr('name');
if (paramName == '_TOWER_17_addNew') value = 'true';
if (Liferay.Util.isArray(value)) {
url = Tower.Util.addParamArrayURL(url, paramName, value);
} else {
url = Tower.Util.addParamURL(url, paramName, value);
}
}
}
instance._dialog.html('<div class="loading-animation" />');
jQuery.ajax({
url: url,
data: {
p_l_id: themeDisplay.getPlid(),
p_p_id: 'TOWER_17',
p_p_state: 'exclusive',
p_p_lifecycle: 0,
_TOWER_17_fileId: instance._fileId,
_TOWER_17_maxWidth: instance._maxWidth,
_TOWER_17_maxHeight: instance._maxHeight,
_TOWER_17_addNew: 'true',
_TOWER_17_externalOperation: instance._externalOperation,
_TOWER_17_externalOperationContent: instance._externalOperationContent
},
success: function(message) {
instance._dialog.html(message);
instance._bindCommands2();
}
});
});
}
var submit = instance._form.find('#tower_file_elaboration_form_submit');
if (submit.length > 0) {
submit.attr('href', '#tower_file_elaborations_anchor');
submit.removeAttr('onclick');
submit.unbind('click');
submit.click(function() {
var url = '',
inputs = instance._form.find('input:hidden, input:text, input:checkbox:checked, input:radio:checked, select');
if (instance._formQueryString != '') url = Liferay.Util.addParams(instance._formQueryString, baseActionUrl);
if (inputs.length > 0) {
var value,
paramName;
for (var i = 0; i < inputs.length; i++) {
value = jQuery(inputs[i]).val();
paramName = jQuery(inputs[i]).attr('name');
if (paramName == '_TOWER_17_temp') value = 'false';
if (Liferay.Util.isArray(value)) {
url = Tower.Util.addParamArrayURL(url, paramName, value);
} else {
url = Tower.Util.addParamURL(url, paramName, value);
}
}
}
if (url != '') {
instance._dialog.html('<div class="loading-animation" />');
jQuery.ajax({
url: url,
data: {
_TOWER_17_fileId: instance._fileId,
_TOWER_17_maxWidth: instance._maxWidth,
_TOWER_17_maxHeight: instance._maxHeight,
_TOWER_17_externalOperation: instance._externalOperation,
_TOWER_17_externalOperationContent: instance._externalOperationContent
},
success: function(message) {
instance._reload = true;
instance._dialog.html(message);
instance._bindCommands1();
instance._bindCommands2();
}
});
}
});
}
var submit_temp = instance._form.find('#tower_file_elaboration_form_submit_temp');
if (submit_temp.length > 0) {
submit_temp.attr('href', '#tower_file_elaborations_anchor');
submit_temp.removeAttr('onclick');
submit_temp.unbind('click');
submit_temp.click(function() {
var url = '',
inputs = instance._form.find('input:hidden, input:text, input:checkbox:checked, input:radio:checked, select');
if (instance._formQueryString != '') url = Liferay.Util.addParams(instance._formQueryString, baseActionUrl);
if (inputs.length > 0) {
var value,
paramName;
for (var i = 0; i < inputs.length; i++) {
value = jQuery(inputs[i]).val();
paramName = jQuery(inputs[i]).attr('name');
if (paramName == '_TOWER_17_temp' || paramName == '_TOWER_17_addNew') value = 'true';
if (Liferay.Util.isArray(value)) {
url = Tower.Util.addParamArrayURL(url, paramName, value);
} else {
url = Tower.Util.addParamURL(url, paramName, value);
}
}
}
if (url != '') {
instance._dialog.html('<div class="loading-animation" />');
jQuery.ajax({
url: url,
data: {
_TOWER_17_fileId: instance._fileId,
_TOWER_17_maxWidth: instance._maxWidth,
_TOWER_17_maxHeight: instance._maxHeight,
_TOWER_17_externalOperation: instance._externalOperation,
_TOWER_17_externalOperationContent: instance._externalOperationContent
},
success: function(message) {
instance._reload = true;
instance._dialog.html(message);
instance._bindCommands1();
instance._bindCommands2();
}
});
}
});
}
}
}
}
