document.getElementById('loader_bar').style.width = '30%';
var p4 = p4 || {};
var baskAjax, baskAjaxrunning;
baskAjaxrunning = false;
var answAjax, answAjaxrunning;
answAjaxrunning = false;
var searchAjax, searchAjaxRunning;
searchAjaxRunning = false;
var language = {};
var bodySize = {
x: 0,
y: 0
};
function resizePreview() {
p4.preview.height = $('#PREVIEWIMGCONT').height();
p4.preview.width = $('#PREVIEWIMGCONT').width();
setPreview();
}
function getHome(cas, page) {
if (typeof(page) === 'undefined')
page = 0;
switch (cas) {
case 'QUERY':
selectedFacetValues = [];
newSearch($("#EDIT_query").val());
break;
case 'PUBLI':
answAjax = $.ajax({
type: "GET",
url: "../prod/feeds/",
dataType: 'html',
data: {
page: page
},
beforeSend: function () {
if (answAjaxrunning && answAjax.abort)
answAjax.abort();
if (page === 0)
clearAnswers();
answAjaxrunning = true;
$('#answers').addClass('loading');
},
error: function () {
answAjaxrunning = false;
$('#answers').removeClass('loading');
},
timeout: function () {
answAjaxrunning = false;
$('#answers').removeClass('loading');
},
success: function (data) {
answAjaxrunning = false;
var answers = $('#answers');
$('.next_publi_link', answers).remove();
answers.append(data);
answers.find("img.lazyload").lazyload({
container: answers
});
afterSearch();
if (page > 0) {
answers.stop().animate({
scrollTop: answers.scrollTop() + answers.height()
}, 700);
}
return;
}
});
break;
case 'HELP':
$.ajax({
type: "POST",
url: "/client/home/",
dataType: 'html',
data: {
type: cas
},
beforeSend: function () {
if (answAjaxrunning && answAjax.abort)
answAjax.abort();
clearAnswers();
answAjaxrunning = true;
$('#answers').addClass('loading');
},
error: function () {
answAjaxrunning = false;
$('#answers').removeClass('loading');
},
timeout: function () {
answAjaxrunning = false;
$('#answers').removeClass('loading');
},
success: function (data) {
answAjaxrunning = false;
$('#answers').append(data);
afterSearch();
return;
}
});
break;
default:
break;
}
}
function getLanguage() {
$.ajax({
type: "GET",
url: "../prod/language/",
dataType: 'json',
success: function (data) {
language = data;
return;
}
});
}
function is_ctrl_key(event) {
if (event.altKey)
return true;
if (event.ctrlKey)
return true;
if (event.metaKey) // apple key opera
return true;
if (event.keyCode === 17) // apple key opera
return true;
if (event.keyCode === 224) // apple key mozilla
return true;
if (event.keyCode === 91) // apple key safari
return true;
return false;
}
function is_shift_key(event) {
if (event.shiftKey)
return true;
return false;
}
/**
* adv search : check/uncheck all the collections (called by the buttons "all"/"none")
*
* @param bool
*/
function checkBases(bool) {
$('form.phrasea_query .sbas_list').each(function () {
var sbas_id = $(this).find('input[name=reference]:first').val();
if (bool)
$(this).find(':checkbox').attr('checked', 'checked');
else
$(this).find(':checkbox').removeAttr('checked');
});
checkFilters(true);
}
function checkFilters(save) {
var danger = false;
var search = {
bases: {},
fields: [],
dates: {},
status: []
};
var adv_box = $('form.phrasea_query .adv_options');
var container = $("#ADVSRCH_OPTIONS_ZONE");
var fieldsSort = $('#ADVSRCH_SORT_ZONE select[name=sort]', container);
var fieldsSortOrd = $('#ADVSRCH_SORT_ZONE select[name=ord]', container);
var fieldsSelect = $('#ADVSRCH_FIELDS_ZONE select', container);
var dateFilterSelect = $('#ADVSRCH_DATE_ZONE select', container);
var scroll = fieldsSelect.scrollTop();
// hide all the fields in the "sort by" select, so only the relevant ones will be shown again
$("option.dbx", fieldsSort).hide().prop("disabled", true); // dbx is for "field of databases"
// hide all the fields in the "fields" select, so only the relevant ones will be shown again
$("option.dbx", fieldsSelect).hide().prop("disabled", true); // option[0] is "all fields"
// hide all the fields in the "date field" select, so only the relevant ones will be shown again
$("option.dbx", dateFilterSelect).hide().prop("disabled", true); // dbx = all "field" entries in the select = all except the firstt
var nbTotalSelectedColls = 0;
$.each($('.sbascont', adv_box), function () {
var $this = $(this);
var sbas_id = $this.parent().find('input[name="reference"]').val();
search.bases[sbas_id] = [];
var nbCols = 0;
var nbSelectedColls = 0;
$this.find('.checkbas').each(function (idx, el) {
nbCols++;
if($(this).prop('checked')) {
nbSelectedColls++;
nbTotalSelectedColls++;
search.bases[sbas_id].push($(this).val());
}
});
// display the number of selected colls for the databox
$('.infos_sbas_' + sbas_id).empty().append(nbSelectedColls + '/' + nbCols);
// if one coll is not checked, show danger
if(nbSelectedColls != nbCols) {
$("#ADVSRCH_SBAS_LABEL_" + sbas_id).addClass("danger");
danger = true;
}
else {
$("#ADVSRCH_SBAS_LABEL_" + sbas_id).removeClass("danger");
}
if(nbSelectedColls == 0) {
// no collections checked for this databox
// hide the status bits
$("#ADVSRCH_SB_ZONE_"+sbas_id, container).hide();
// uncheck
$("#ADVSRCH_SB_ZONE_"+sbas_id+" input:checkbox", container).prop("checked", false);
}
else {
// at least one coll checked for this databox
// show again the relevant fields in "sort by" select
$(".db_"+sbas_id, fieldsSort).show().prop("disabled", false);
// show again the relevant fields in "from fields" select
$(".db_"+sbas_id, fieldsSelect).show().prop("disabled", false);
// show the sb
$("#ADVSRCH_SB_ZONE_"+sbas_id, container).show();
// show again the relevant fields in "date field" select
$(".db_"+sbas_id, dateFilterSelect).show().prop("disabled", false);
}
});
if (nbTotalSelectedColls == 0) {
// no collections checked at all
// hide irrelevant filters
$("#ADVSRCH_OPTIONS_ZONE").hide();
}
else {
// at least one collection checked
// show relevant filters
$("#ADVSRCH_OPTIONS_ZONE").show();
}
// --------- sort --------
// if no field is selected for sort, select the default option
if($("option:selected:enabled", fieldsSort).length == 0) {
$("option.default-selection", fieldsSort).prop("selected", true);
$("option.default-selection", fieldsSortOrd).prop("selected", true);
}
//--------- from fields filter ---------
// unselect the unavailable fields (or all fields if "all" is selected)
var optAllSelected = false;
$("option", fieldsSelect).each(
function(idx, opt) {
if(idx == 0) {
// nb: unselect the "all" field, so it acts as a button
optAllSelected = $(opt).is(":selected");
}
if(idx == 0 || optAllSelected || $(opt).is(":disabled") || !$(opt).is(":visible") ) {
$(opt).prop("selected", false);
}
}
);
// here only the relevant fields are selected
search.fields = fieldsSelect.val();
if(search.fields == null || search.fields.length == 0) {
$('#ADVSRCH_FIELDS_ZONE', container).removeClass('danger');
search.fields = [];
}
else {
$('#ADVSRCH_FIELDS_ZONE', container).addClass('danger');
danger = true;
}
//--------- status bits filter ---------
// here only the relevant sb are checked
for(sbas_id in search.bases) {
var nchecked = 0;
$("#ADVSRCH_SB_ZONE_"+sbas_id+" :checkbox[checked]", container).each(function () {
var n = $(this).attr('n');
search.status[n] = $(this).val().split('_');
nchecked++;
});
if(nchecked == 0) {
$("#ADVSRCH_SB_ZONE_"+sbas_id, container).removeClass('danger');
}
else {
$("#ADVSRCH_SB_ZONE_"+sbas_id, container).addClass('danger');
danger = true;
}
}
//--------- dates filter ---------
// if no date field is selected for filter, select the first option
$('#ADVSRCH_DATE_ZONE', adv_box).removeClass('danger');
if($("option.dbx:selected:enabled", dateFilterSelect).length == 0) {
$("option:eq(0)", dateFilterSelect).prop("selected", true);
$("#ADVSRCH_DATE_SELECTORS", container).hide();
}
else {
$("#ADVSRCH_DATE_SELECTORS", container).show();
search.dates.minbound = $('#ADVSRCH_DATE_ZONE input[name=date_min]', adv_box).val();
search.dates.maxbound = $('#ADVSRCH_DATE_ZONE input[name=date_max]', adv_box).val();
search.dates.field = $('#ADVSRCH_DATE_ZONE select[name=date_field]', adv_box).val();
console.log(search.dates.minbound, search.dates.maxbound, search.dates.field)
if ($.trim(search.dates.minbound) || $.trim(search.dates.maxbound)) {
danger = true;
$('#ADVSRCH_DATE_ZONE', adv_box).addClass('danger');
}
}
fieldsSelect.scrollTop(scroll);
// if one filter shows danger, show it on the query
if (danger) {
$('#EDIT_query').addClass('danger');
}
else {
$('#EDIT_query').removeClass('danger');
}
if (save === true) {
setPref('search', JSON.stringify(search));
}
}
function toggleFilter(filter, ele) {
var el = $('#' + filter);
if (el.is(':hidden'))
$(ele).parent().addClass('open');
else
$(ele).parent().removeClass('open');
el.slideToggle('fast');
}
function setVisible(el) {
el.style.visibility = 'visible';
}
function resize() {
var body = $('#mainContainer');
bodySize.y = body.height();
bodySize.x = body.width();
$('.overlay').height(bodySize.y).width(bodySize.x);
var headBlockH = $('#headBlock').outerHeight();
var bodyY = bodySize.y - headBlockH - 2;
var bodyW = bodySize.x - 2;
//$('#desktop').height(bodyY).width(bodyW);
if (p4.preview.open)
resizePreview();
if ($('#idFrameC').data('ui-resizable')) {
$('#idFrameC').resizable('option', 'maxWidth', (480));
$('#idFrameC').resizable('option', 'minWidth', 300);
}
answerSizer();
linearize();
}
function clearAnswers() {
$('#formAnswerPage').val('');
$('#searchForm input[name="nba"]').val('');
$('#answers, #dyn_tool').empty();
}
function reset_adv_search() {
var container = $("#ADVSRCH_OPTIONS_ZONE");
var fieldsSort = $('#ADVSRCH_SORT_ZONE select[name=sort]', container);
var fieldsSortOrd = $('#ADVSRCH_SORT_ZONE select[name=ord]', container);
var dateFilterSelect = $('#ADVSRCH_DATE_ZONE select', container);
$("option.default-selection", fieldsSort).prop("selected", true);
$("option.default-selection", fieldsSortOrd).prop("selected", true);
$('#ADVSRCH_FIELDS_ZONE option').removeAttr("selected");
$('#ADVSRCH_OPTIONS_ZONE input:checkbox.field_switch').removeAttr('checked');
$("option:eq(0)", dateFilterSelect).prop("selected", true);
$('#ADVSRCH_OPTIONS_ZONE .datepicker').val('');
$('form.adv_search_bind input:text').val('');
checkBases(true);
}
function search_doubles() {
selectedFacetValues = [];
$('#EDIT_query').val('sha256=sha256');
newSearch('sha256=sha256');
}
function newSearch(query) {
p4.Results.Selection.empty();
clearAnswers();
$('#SENT_query').val(query);
var histo = $('#history-queries ul');
histo.prepend('
' + query + '');
var lis = $('li', histo);
if (lis.length > 25) {
$('li:last', histo).remove();
}
$('#idFrameC li.proposals_WZ').removeClass('active');
$('#searchForm').submit();
return false;
}
function beforeSearch() {
if (answAjaxrunning)
return;
answAjaxrunning = true;
clearAnswers();
$('#tooltip').css({
'display': 'none'
});
$('#answers').addClass('loading').empty();
$('#answercontextwrap').remove();
}
function afterSearch() {
if ($('#answercontextwrap').length === 0)
$('body').append('');
$.each($('#answers .contextMenuTrigger'), function () {
var id = $(this).closest('.IMGT').attr('id').split('_').slice(1, 3).join('_');
$(this).contextMenu('#IMGT_' + id + ' .answercontextmenu', {
appendTo: '#answercontextwrap',
openEvt: 'click',
dropDown: true,
theme: 'vista',
showTransition: 'slideDown',
hideTransition: 'hide',
shadow: false
});
});
answAjaxrunning = false;
$('#answers').removeClass('loading');
$('.captionTips, .captionRolloverTips').tooltip({
delay: 0,
isBrowsable: false,
extraClass: 'caption-tooltip-container'
});
$('.infoTips').tooltip({
delay: 0
});
$('.previewTips').tooltip({
fixable: true
});
$('.thumb .rollovable').hover(
function () {
$('.rollover-gif-hover', this).show();
$('.rollover-gif-out', this).hide();
},
function () {
$('.rollover-gif-hover', this).hide();
$('.rollover-gif-out', this).show();
}
);
viewNbSelect();
$('#answers div.IMGT').draggable({
helper: function () {
$('body').append('' + p4.Results.Selection.length() + '
');
return $('#dragDropCursor');
},
scope: "objects",
distance: 20,
scroll: false,
cursorAt: {
top: -10,
left: -20
},
start: function (event, ui) {
if (!$(this).hasClass('selected'))
return false;
}
});
linearize();
}
function initAnswerForm() {
var searchForm = $('#searchForm');
$('button[type="submit"]', searchForm).bind('click', function () {
selectedFacetValues = [];
newSearch($("#EDIT_query").val());
return false;
});
searchForm.unbind('submit').bind('submit', function () {
var $this = $(this),
method = $this.attr('method') ? $this.attr('method') : 'POST';
var data = $this.serializeArray();
answAjax = $.ajax({
type: method,
url: $this.attr('action'),
data: data,
dataType: 'json',
beforeSend: function (formData) {
if (answAjaxrunning && answAjax.abort)
answAjax.abort();
beforeSearch();
},
error: function () {
answAjaxrunning = false;
$('#answers').removeClass('loading');
},
timeout: function () {
answAjaxrunning = false;
$('#answers').removeClass('loading');
},
success: function (datas) {
// DEBUG QUERY PARSER
try {
console.info(JSON.parse(datas.parsed_query));
}
catch(e) {}
$('#answers').empty().append(datas.results).removeClass('loading');
$("#answers img.lazyload").lazyload({
container: $('#answers')
});
loadFacets(datas.facets);
$('#answers').append('');
$('#tool_results').empty().append(datas.infos);
$('#tool_navigate').empty().append(datas.navigation);
$.each(p4.Results.Selection.get(), function (i, el) {
$('#IMGT_' + el).addClass('selected');
});
p4.tot = datas.total_answers;
p4.tot_options = datas.form;
p4.tot_query = datas.query;
if (datas.next_page) {
$("#NEXT_PAGE, #answersNext").bind('click', function () {
gotopage(datas.next_page);
});
}
else {
$("#NEXT_PAGE").unbind('click');
}
if (datas.prev_page) {
$("#PREV_PAGE").bind('click', function () {
gotopage(datas.prev_page);
});
}
else {
$("#PREV_PAGE").unbind('click');
}
afterSearch();
}
});
return false;
});
if (searchForm.hasClass('triggerAfterInit')) {
searchForm.removeClass('triggerAfterInit').trigger('submit');
}
}
var selectedFacetValues = [];
function loadFacets(facets) {
// Convert facets data to fancytree source format
var treeSource = _.map(facets, function(facet) {
// Values
var values = _.map(facet.values, function(value) {
return {
title: value.value + ' (' + value.count + ')',
query: value.query,
label: value.value,
tooltip: value.value + ' (' + value.count + ')'
}
});
// Facet
return {
name: facet.name,
title: facet.label,
folder: true,
children: values,
expanded: _.isUndefined(selectedFacetValues[facet.name])
};
});
treeSource.sort(sortFacets('title', true, function(a){return a.toUpperCase()}));
treeSource = sortByPredefinedFacets(treeSource, 'name', ['Base_Name', 'Collection_Name', 'Type_Name']);
return getFacetsTree().reload(treeSource);
}
function sortByPredefinedFacets(source, field, predefinedFieldOrder) {
var filteredSource = _.extend([], source),
ordered = [];
_.forEach(predefinedFieldOrder, function(fieldValue, index){
_.forEach(source, function(facet, facetIndex) {
if( facet[field] !== undefined) {
if (facet[field] === fieldValue) {
ordered.push(facet);
// remove from filtered
filteredSource.splice(facetIndex, 1);
}
}
});
});
// push reordoned objects on top of array:
// walk backward
var olen = ordered.length;
for(var i = olen-1; i>=0; i--) {
filteredSource.unshift(ordered[i]);
}
return filteredSource;
}
// from stackoverflow
// http://stackoverflow.com/questions/979256/sorting-an-array-of-javascript-objects/979325#979325
function sortFacets(field, reverse, primer) {
var key = function (x) {return primer ? primer(x[field]) : x[field]};
return function (a,b) {
var A = key(a), B = key(b);
return ( (A < B) ? -1 : ((A > B) ? 1 : 0) ) * [-1,1][+!!reverse];
}
}
function getFacetsTree() {
var $facetsTree = $('#proposals');
if (!$facetsTree.data('ui-fancytree')) {
$facetsTree.fancytree({
clickFolderMode: 3, // activate and expand
icons:false,
source: [],
activate: function(event, data){
var query = data.node.data.query;
if (query) {
var facet = data.node.parent;
selectedFacetValues[facet.title] = data.node.data;
facetCombinedSearch();
}
},
renderNode: function(event, data){
var facetFilter = "";
if(data.node.folder && !_.isUndefined(selectedFacetValues[data.node.title])) {
facetFilter = selectedFacetValues[data.node.title].label;
var s_label = document.createElement("SPAN");
s_label.setAttribute("class", "facetFilter-label");
s_label.setAttribute("title", facetFilter);
var length = 15;
var facetFilterString = facetFilter;
if( facetFilterString.length > length) {
facetFilterString = facetFilterString.substring(0,length) + '…';
}
s_label.appendChild(document.createTextNode(facetFilterString));
var s_closer = document.createElement("A");
s_closer.setAttribute("class", "facetFilter-closer");
var s_gradient = document.createElement("SPAN");
s_gradient.setAttribute("class", "facetFilter-gradient");
s_gradient.appendChild(document.createTextNode("\u00A0"));
s_label.appendChild(s_gradient);
var s_facet = document.createElement("SPAN");
s_facet.setAttribute("class", "facetFilter");
s_facet.appendChild(s_label);
s_closer = $(s_facet.appendChild(s_closer));
s_closer.data("facetTitle", data.node.title);
s_closer.click(
function(event) {
event.stopPropagation();
var facetTitle = $(this).data("facetTitle");
delete selectedFacetValues[facetTitle];
facetCombinedSearch();
return false;
}
);
$(".fancytree-folder", data.node.li).append(
$(s_facet)
);
}
}
});
}
return $facetsTree.fancytree('getTree');
}
function facetCombinedSearch() {
var q = $("#EDIT_query").val();
var q_facet = "";
_.each(_.values(selectedFacetValues), function(facetValue) {
q_facet += (q_facet ? " AND " : "") + '(' + facetValue.query + ')';
});
if(q_facet) {
if(q) {
q = '(' + q + ') AND '
}
q += q_facet;
}
checkFilters();
newSearch(q);
}
$(document).ready(function() {
});
function answerSizer() {
var el = $('#idFrameC').outerWidth();
if (!$.support.cssFloat) {
// $('#idFrameC .insidebloc').width(el - 56);
}
var widthA = Math.round(bodySize.x - el - 10);
$('#rightFrame').width(widthA);
$('#rightFrame').css('left', $('#idFrameC').width());
}
function linearize() {
var list = $('#answers .list');
if (list.length > 0) {
var fllWidth = $('#answers').innerWidth();
fllWidth -= 16;
var stdWidth = 460;
var diff = 28;
var n = Math.round(fllWidth / (stdWidth));
var w = Math.floor(fllWidth / n) - diff;
if (w < 360 && n > 1)
w = Math.floor(fllWidth / (n - 1)) - diff;
$('#answers .list').width(w);
}
else {
var margin = 0;
var el = $('#answers .diapo:first');
var brdrWidth = el.css('border-width');
var stdWidth = el.outerWidth() + 10;
var fllWidth = $('#answers').innerWidth();
fllWidth -= 16;
var n = Math.floor(fllWidth / (stdWidth));
margin = Math.floor((fllWidth % stdWidth) / (2 * n));
$('#answers .diapo').css('margin', '5px ' + (5 + margin) + 'px');
}
}
function initLook() {
$('#nperpage_slider').slider({
value: parseInt($('#nperpage_value').val()),
min: 10,
max: 100,
step: 10,
slide: function (event, ui) {
$('#nperpage_value').val(ui.value);
},
stop: function (event, ui) {
setPref('images_per_page', $('#nperpage_value').val());
}
});
$('#sizeAns_slider').slider({
value: parseInt($('#sizeAns_value').val()),
min: 90,
max: 270,
step: 10,
slide: function (event, ui) {
$('#sizeAns_value').val(ui.value);
},
stop: function (event, ui) {
setPref('images_size', $('#sizeAns_value').val());
}
});
}
function acceptCgus(name, value) {
setPref(name, value);
}
function cancelCgus(id) {
$.ajax({
type: "POST",
url: "../prod/TOU/deny/" + id + "/",
dataType: 'json',
success: function (data) {
if (data.success) {
alert(language.cgusRelog);
self.location.replace(self.location.href);
}
else {
humane.error(data.message);
}
}
});
}
function activateCgus() {
var $this = $('.cgu-dialog:first');
$this.dialog({
autoOpen: true,
closeOnEscape: false,
draggable: false,
modal: true,
resizable: false,
width: 800,
height: 500,
open: function () {
$this.parents(".ui-dialog:first").find(".ui-dialog-titlebar-close").remove();
$('.cgus-accept', $(this)).bind('click', function () {
acceptCgus($('.cgus-accept', $this).attr('id'), $('.cgus-accept', $this).attr('date'));
$this.dialog('close').remove();
activateCgus();
});
$('.cgus-cancel', $(this)).bind('click', function () {
if (confirm(language.warningDenyCgus)) {
cancelCgus($('.cgus-cancel', $this).attr('id').split('_').pop());
}
});
}
});
}
$(document).ready(function () {
humane.forceNew = true;
activateCgus();
});
function triggerShortcuts() {
$('#keyboard-stop').bind('click', function () {
var display = $(this).get(0).checked ? '0' : '1';
setPref('keyboard_infos', display);
});
var buttons = {};
buttons[language.fermer] = function () {
$("#keyboard-dialog").dialog('close');
};
$('#keyboard-dialog').dialog({
closeOnEscape: false,
resizable: false,
draggable: false,
modal: true,
width: 600,
height: 400,
overlay: {
backgroundColor: '#000',
opacity: 0.7
},
open: function (event, ui) {
$(this).dialog("widget").css("z-index", "1400");
},
close: function () {
$(this).dialog("widget").css("z-index", "auto");
if ($('#keyboard-stop').get(0).checked) {
var dialog = $('#keyboard-dialog');
if (dialog.data("ui-dialog")) {
dialog.dialog('destroy');
}
dialog.remove();
}
}
}).dialog('option', 'buttons', buttons).dialog('open');
$('#keyboard-dialog').scrollTop(0);
return false;
}
function activeZoning() {
$('#idFrameC, #rightFrame').bind('mousedown', function (event) {
var old_zone = p4.active_zone;
p4.active_zone = $(this).attr('id');
if (p4.active_zone !== old_zone && p4.active_zone !== 'headBlock') {
$('.effectiveZone.activeZone').removeClass('activeZone');
$('.effectiveZone', this).addClass('activeZone');//.flash('#555555');
}
$('#EDIT_query').blur();
});
$('#rightFrame').trigger('mousedown');
}
function RGBtoHex(R, G, B) {
return toHex(R) + toHex(G) + toHex(B);
}
function toHex(N) {
if (N === null) return "00";
N = parseInt(N);
if (N === 0 || isNaN(N)) return "00";
N = Math.max(0, N);
N = Math.min(N, 255);
N = Math.round(N);
return "0123456789ABCDEF".charAt((N - N % 16) / 16)
+ "0123456789ABCDEF".charAt(N % 16);
}
function hsl2rgb(h, s, l) {
var m1, m2, hue;
var r, g, b;
s /= 100;
l /= 100;
if (s === 0)
r = g = b = (l * 255);
else {
if (l <= 0.5)
m2 = l * (s + 1);
else
m2 = l + s - l * s;
m1 = l * 2 - m2;
hue = h / 360;
r = HueToRgb(m1, m2, hue + 1 / 3);
g = HueToRgb(m1, m2, hue);
b = HueToRgb(m1, m2, hue - 1 / 3);
}
return {
r: r,
g: g,
b: b
};
}
function HueToRgb(m1, m2, hue) {
var v;
if (hue < 0)
hue += 1;
else if (hue > 1)
hue -= 1;
if (6 * hue < 1)
v = m1 + (m2 - m1) * hue * 6;
else if (2 * hue < 1)
v = m2;
else if (3 * hue < 2)
v = m1 + (m2 - m1) * (2 / 3 - hue) * 6;
else
v = m1;
return 255 * v;
}
$(document).ready(function () {
$('input[name=search_type]').bind('click', function () {
console.log('search bind')
var $this = $(this);
var $record_types = $('#recordtype_sel');
console.log($this.hasClass('mode_type_reg'), $record_types)
if ($this.hasClass('mode_type_reg')) {
$record_types.css("visibility", "hidden"); // better than hide because does not change layout
$record_types.prop("selectedIndex", 0);
} else {
$record_types.css("visibility", "visible");
}
});
$('.adv_search_button').on('click', function () {
var searchForm = $('#searchForm');
var parent = searchForm.parent();
var options = {
size: (bodySize.x - 120)+'x'+(bodySize.y - 120),
loading: false,
closeCallback: function (dialog) {
var datas = dialog.find('form.phrasea_query').appendTo(parent);//.clone();
$('.adv_trigger', searchForm).show();
$('.adv_options', searchForm).hide();
}
};
$dialog = p4.Dialog.Create(options);
searchForm.appendTo($dialog.getDomElement());
$dialog.getDomElement().find('.adv_options').show();
$dialog.getDomElement().find('.adv_trigger').hide();
$dialog.getDomElement().find('form').bind('submit.conbo', function () {
$(this).unbind('submit.conbo');
$dialog.Close();
return false;
});
return false;
});
$(document).bind('contextmenu', function (event) {
var targ;
if (event.target)
targ = event.target;
else if (event.srcElement)
targ = event.srcElement;
if (targ.nodeType === 3)// safari bug
targ = targ.parentNode;
var gogo = true;
var targ_name = targ.nodeName ? targ.nodeName.toLowerCase() : false;
if (targ_name !== 'input' && targ_name.toLowerCase() !== 'textarea') {
gogo = false;
}
if (targ_name === 'input') {
if ($(targ).is(':checkbox'))
gogo = false;
}
return gogo;
});
$('.basket_refresher').on('click', function () {
return p4.WorkZone.refresh('current');
return false;
});
$('#loader_bar').stop().animate({
width: '70%'
}, 450);
p4.preview = {
open: false,
current: false
};
p4.currentViewMode = 'classic';
p4.nbNoview = 0;
p4.reg_delete = true;
p4.sel = [];
p4.baskSel = [];
p4.edit = {};
p4.thesau = {
tabs: null
};
p4.active_zone = false;
p4.next_bask_scroll = false;
$('#backcolorpickerHolder').ColorPicker({
flat: true,
color: '404040',
livePreview: false,
eventName: 'mouseover',
onSubmit: function (hsb, hex, rgb, el) {
var back_hex = '';
var unactive = '';
if (hsb.b >= 50) {
back_hex = '000000';
var sim_b = 0.1 * hsb.b;
}
else {
back_hex = 'FFFFFF';
var sim_b = 100 - 0.1 * (100 - hsb.b);
}
var sim_b = 0.1 * hsb.b;
var sim_rgb = hsl2rgb(hsb.h, hsb.s, sim_b);
var sim_hex = RGBtoHex(sim_rgb.r, sim_rgb.g, sim_rgb.b);
setPref('background-selection', hex);
setPref('background-selection-disabled', sim_hex);
setPref('fontcolor-selection', back_hex);
$('style[title=color_selection]').empty();
var datas = '.diapo.selected,#reorder_box .diapo.selected, #EDIT_ALL .diapo.selected, .list.selected, .list.selected .diapo' +
'{' +
' COLOR: #' + back_hex + ';' +
' BACKGROUND-COLOR: #' + hex + ';' +
'}';
$('style[title=color_selection]').empty().text(datas);
}
});
$('#backcolorpickerHolder').find('.colorpicker_submit').append($('#backcolorpickerHolder .submiter')).bind('click', function () {
$(this).highlight('#CCCCCC');
});
$('#answers .see_more a').on('click', function (event) {
$see_more = $(this).closest('.see_more');
$see_more.addClass('loading');
});
$('#answers .feed .entry').on('mouseover', function () {
$(this).addClass('hover');
});
$('#answers .feed .entry').on('mouseout', function () {
$(this).removeClass('hover');
});
$('a.ajax_answers').on('click', function (event) {
event.stopPropagation();
var $this = $(this);
var append = $this.hasClass('append');
var no_scroll = $this.hasClass('no_scroll');
$.ajax({
type: "GET",
url: $this.attr('href'),
dataType: 'html',
success: function (data) {
var $answers = $('#answers');
if (!append) {
$answers.empty();
if (!no_scroll) {
$answers.scrollTop(0);
}
$answers.append(data);
$answers.find("img.lazyload").lazyload({
container: $answers
});
}
else {
$('.see_more.loading', $answers).remove();
$answers.append(data);
$answers.find("img.lazyload").lazyload({
container: $answers
});
if (!no_scroll) {
$answers.animate({
'scrollTop': ($answers.scrollTop() + $answers.innerHeight() - 80)
});
}
}
afterSearch();
}
});
return false;
});
$('a.subscribe_rss').on('click', function (event) {
var $this = $(this);
if (typeof(renew) === 'undefined')
renew = 'false';
else
renew = renew ? 'true' : 'false';
var buttons = {};
buttons[language.renewRss] = function () {
$this.trigger({
type: 'click',
renew: true
});
};
buttons[language.fermer] = function () {
$('#DIALOG').empty().dialog('destroy');
};
event.stopPropagation();
var $this = $(this);
$.ajax({
type: "GET",
url: $this.attr('href') + (event.renew === true ? '?renew=true' : ''),
dataType: 'json',
success: function (data) {
if (data.texte !== false && data.titre !== false) {
if ($("#DIALOG").data("ui-dialog")) {
$("#DIALOG").dialog('destroy');
}
$("#DIALOG").attr('title', data.titre)
.empty()
.append(data.texte)
.dialog({
autoOpen: false,
closeOnEscape: true,
resizable: false,
draggable: false,
modal: true,
buttons: buttons,
width: 650,
height: 250,
overlay: {
backgroundColor: '#000',
opacity: 0.7
}
}).dialog('open');
}
}
});
return false;
});
$('#search_submit').on('mousedown', function (event) {
return false;
});
$('#history-queries ul li').on('mouseover',function () {
$(this).addClass('hover');
}).on('mouseout', function () {
$(this).removeClass('hover');
});
startThesaurus();
checkFilters();
activeZoning();
$('.shortcuts-trigger').bind('click', function () {
triggerShortcuts();
});
$('#idFrameC').resizable({
handles: 'e',
resize: function () {
answerSizer();
linearize();
},
stop: function () {
var el = $('.SSTT.active').next().find('div:first');
var w = el.find('div.chim-wrapper:first').outerWidth();
var iw = el.innerWidth();
var diff = $('#idFrameC').width() - el.outerWidth();
var n = Math.floor(iw / w);
$('#idFrameC').height('auto');
var nwidth = (n) * w + diff + n;
if (isNaN(nwidth)) {
saveWindows();
return;
}
if (nwidth < 265)
nwidth = 265;
if (el.find('div.chim-wrapper:first').hasClass('valid') && nwidth < 410)
nwidth = 410;
$('#idFrameC').stop().animate({
width: nwidth
},
300,
'linear',
function () {
answerSizer();
linearize();
saveWindows();
});
}
});
$('#idFrameC .ui-tabs-nav li').on('click', function (event) {
if($('#idFrameC').attr('data-status') == 'closed'){
$('#idFrameC').width(300);
$('#rightFrame').css('left', 300);
$('#rightFrame').width($(window).width()-300);
$('#baskets, #proposals, #thesaurus_tab').hide();
$('.ui-resizable-handle, #basket_menu_trigger').show();
var IDname = $(this).attr('aria-controls');
$('#'+IDname).show();
}
$('#idFrameC').attr('data-status', 'open');
$('.WZbasketTab').css('background-position', '9px 21px');
$('#idFrameC').removeClass('closed');
});
var previousTab = "";
$('#idFrameC #retractableButton').bind('click', function (event) {
if($('#idFrameC').attr('data-status') != 'closed'){
$('#idFrameC').width(80);
$('#rightFrame').css('left', 80);
$('#rightFrame').width($(window).width()-80);
$('#idFrameC').attr('data-status', 'closed');
$('#baskets, #proposals, #thesaurus_tab, .ui-resizable-handle, #basket_menu_trigger').hide();
$('#idFrameC .ui-tabs-nav li').removeClass('ui-state-active');
$('.WZbasketTab').css('background-position', '15px 16px');
$('#idFrameC').addClass('closed');
previousTab = $('#idFrameC .icon-menu').find('li.ui-tabs-active');
}else{
$('#idFrameC').width(300);
$('#rightFrame').css('left', 300);
$('#rightFrame').width($(window).width()-300);
$('#idFrameC').attr('data-status', 'open');
$('.ui-resizable-handle, #basket_menu_trigger').show();
$('.WZbasketTab').css('background-position', '9px 16px');
$('#idFrameC').removeClass('closed');
$('#idFrameC .icon-menu li').last().find('a').trigger('click');
$('#idFrameC .icon-menu li').first().find('a').trigger('click');
$(previousTab).find('a').trigger('click');
}
event.stopImmediatePropagation();
//p4.WorkZone.close();
return false;
});
$('#look_box .tabs').tabs();
resize();
$(window).bind('resize', function () {
resize();
});
$('body').append('');
$('body').append('');
$('#basket_menu_trigger').contextMenu('#basket_menu', {
openEvt: 'click',
dropDown: true,
theme: 'vista',
showTransition: 'slideDown',
hideTransition: 'hide',
shadow: false
});
$('#basket_menu_trigger').trigger("click");
$('#basket_menu_trigger').trigger("click");
$('.datepicker').datepicker({
changeYear: true,
changeMonth: true,
dateFormat: 'yy/mm/dd'
});
$.ajaxSetup({
error: function (jqXHR, textStatus, errorThrown) {
//Request is aborted
if (errorThrown === 'abort') {
return false;
} else {
showModal('error', {
title: language.errorAjaxRequest + ' ' + jqXHR.responseText
});
}
},
timeout: function () {
showModal('timeout', {
title: 'Server not responding'
});
}
});
$('.tools .answer_selector').bind('click',function () {
selector($(this));
}).bind('mouseover',function (event) {
if (is_ctrl_key(event)) {
$(this).addClass('add_selector');
}
else {
$(this).removeClass('add_selector');
}
}).bind('mouseout', function () {
$(this).removeClass('add_selector');
});
getLanguage();
activeIcons();
initAnswerForm();
initLook();
setTimeout("pollNotifications();", 10000);
$(this).bind('keydown', function (event) {
var cancelKey = false;
var shortCut = false;
if ($('#MODALDL').is(':visible')) {
switch (event.keyCode) {
case 27:
hideDwnl();
break;
}
}
else {
if ($('#EDITWINDOW').is(':visible')) {
switch (event.keyCode) {
case 9: // tab ou shift-tab
edit_chgFld(event, is_shift_key(event) ? -1 : 1);
cancelKey = shortCut = true;
break;
case 27:
edit_cancelMultiDesc(event);
shortCut = true;
break;
case 33: // pg up
if (!p4.edit.textareaIsDirty || edit_validField(event, "ask_ok"))
skipImage(event, 1);
cancelKey = true;
break;
case 34: // pg dn
if (!p4.edit.textareaIsDirty || edit_validField(event, "ask_ok"))
skipImage(event, -1);
cancelKey = true;
break;
}
}
else {
if (p4.preview.open) {
if (($('#dialog_dwnl:visible').length === 0 && $('#DIALOG1').length === 0 && $('#DIALOG2').length === 0)) {
switch (event.keyCode) {
case 39:
getNext();
cancelKey = shortCut = true;
break;
case 37:
getPrevious();
cancelKey = shortCut = true;
break;
case 27://escape
closePreview();
break;
case 32:
if (p4.slideShow)
stopSlide();
else
startSlide();
cancelKey = shortCut = true;
break;
}
}
}
else {
if ($('#EDIT_query').hasClass('focused'))
return true;
if ($('.overlay').is(':visible'))
return true;
if ($('.ui-widget-overlay').is(':visible'))
return true;
switch (p4.active_zone) {
case 'rightFrame':
switch (event.keyCode) {
case 65: // a
if (is_ctrl_key(event)) {
$('.tools .answer_selector.all_selector').trigger('click');
cancelKey = shortCut = true;
}
break;
case 80://P
if (is_ctrl_key(event)) {
printThis("lst=" + p4.Results.Selection.serialize());
cancelKey = shortCut = true;
}
break;
case 69://e
if (is_ctrl_key(event)) {
editThis('IMGT', p4.Results.Selection.serialize());
cancelKey = shortCut = true;
}
break;
case 40: // down arrow
$('#answers').scrollTop($('#answers').scrollTop() + 30);
cancelKey = shortCut = true;
break;
case 38: // down arrow
$('#answers').scrollTop($('#answers').scrollTop() - 30);
cancelKey = shortCut = true;
break;
case 37://previous page
$('#PREV_PAGE').trigger('click');
shortCut = true;
break;
case 39://previous page
$('#NEXT_PAGE').trigger('click');
shortCut = true;
break;
case 9://tab
if (!is_ctrl_key(event) && !$('.ui-widget-overlay').is(':visible') && !$('.overlay_box').is(':visible')) {
document.getElementById('EDIT_query').focus();
cancelKey = shortCut = true;
}
break;
}
break;
case 'idFrameC':
switch (event.keyCode) {
case 65: // a
if (is_ctrl_key(event)) {
p4.WorkZone.Selection.selectAll();
cancelKey = shortCut = true;
}
break;
case 80://P
if (is_ctrl_key(event)) {
printThis("lst=" + p4.WorkZone.Selection.serialize());
cancelKey = shortCut = true;
}
break;
case 69://e
if (is_ctrl_key(event)) {
editThis('IMGT', p4.WorkZone.Selection.serialize());
cancelKey = shortCut = true;
}
break;
// case 46://del
// deleteThis(p4.Results.Selection.serialize());
// cancelKey = true;
// break;
case 40: // down arrow
$('#baskets div.bloc').scrollTop($('#baskets div.bloc').scrollTop() + 30);
cancelKey = shortCut = true;
break;
case 38: // down arrow
$('#baskets div.bloc').scrollTop($('#baskets div.bloc').scrollTop() - 30);
cancelKey = shortCut = true;
break;
// case 37://previous page
// $('#PREV_PAGE').trigger('click');
// break;
// case 39://previous page
// $('#NEXT_PAGE').trigger('click');
// break;
case 9://tab
if (!is_ctrl_key(event) && !$('.ui-widget-overlay').is(':visible') && !$('.overlay_box').is(':visible')) {
document.getElementById('EDIT_query').focus();
cancelKey = shortCut = true;
}
break;
}
break;
case 'mainMenu':
break;
case 'headBlock':
break;
default:
break;
}
}
}
}
if (!$('#EDIT_query').hasClass('focused') && event.keyCode !== 17) {
if ($('#keyboard-dialog.auto').length > 0 && shortCut) {
triggerShortcuts();
}
}
if (cancelKey) {
event.cancelBubble = true;
if (event.stopPropagation)
event.stopPropagation();
return(false);
}
return(true);
});
$('#EDIT_query').bind('focus',function () {
$(this).addClass('focused');
}).bind('blur', function () {
$(this).removeClass('focused');
});
$('.basketTips').tooltip({
delay: 200
});
$('#idFrameC .tabs').tabs({
activate: function (event, ui) {
if (ui.newTab.context.hash == "#thesaurus_tab") {
thesau_show();
}
p4.WorkZone.open();
}
});
$('#PREVIEWBOX .gui_vsplitter', p4.edit.editBox).draggable({
axis: 'x',
containment: 'parent',
drag: function (event, ui) {
var x = $(ui.position.left)[0];
if (x < 330 || x > (bodySize.x - 400)) {
return false;
}
var v = $(ui.position.left)[0];
$("#PREVIEWLEFT").width(v);
$("#PREVIEWRIGHT").css("left", $(ui.position.left)[0]);
resizePreview();
}
});
$('input.input_select_copy').on('focus', function () {
$(this).select();
});
$('input.input_select_copy').on('blur', function () {
$(this).deselect();
});
$('input.input_select_copy').on('click', function () {
$(this).select();
});
$('#answers .feed .entry a.options').on('click', function () {
var $this = $(this);
$.ajax({
type: "GET",
url: $this.attr('href'),
dataType: 'html',
success: function (data) {
return set_up_feed_box(data);
}
});
return false;
});
$('#answers .feed .entry a.feed_delete').on('click', function () {
if (!confirm('etes vous sur de vouloir supprimer cette entree ?'))
return false;
var $this = $(this);
$.ajax({
type: "POST",
url: $this.attr('href'),
dataType: 'json',
success: function (data) {
if (data.error === false) {
var $entry = $this.closest('.entry');
$entry.animate({
height: 0,
opacity: 0
}, function () {
$entry.remove();
});
}
else
alert(data.message);
}
});
return false;
});
$('#loader_bar').stop().animate({
width: '100%'
}, 450, function () {
$('#loader').parent().fadeOut('slow', function () {
$(this).remove();
});
});
});
function editThis(type, value) {
$('#idFrameE').empty().addClass('loading');
showOverlay(2);
$('#EDITWINDOW').show();
var options = {
lst: '',
ssel: '',
act: ''
};
switch (type) {
case "IMGT":
options.lst = value;
break;
case "SSTT":
options.ssel = value;
break;
case "STORY":
options.story = value;
break;
}
$.ajax({
url: "../prod/records/edit/",
type: "POST",
dataType: "html",
data: options,
success: function (data) {
initializeEdit();
$('#idFrameE').removeClass('loading').empty().html(data);
$('#tooltip').hide();
return;
},
error: function (XHR, textStatus, errorThrown) {
if (XHR.status === 0) {
return false;
}
}
});
return;
}
(function ($) {
$.fn.extend({
highlight: function (color) {
if ($(this).hasClass('animating')) {
return;
}
color = typeof color !== 'undefined' ? color : 'red';
var oldColor = $(this).css('backgroundColor');
return $(this).addClass('animating').stop().animate({
backgroundColor: color
}, 50, 'linear', function () {
$(this).stop().animate({
backgroundColor: oldColor
}, 450, 'linear', function () {
$(this).removeClass('animating');
});
});
}
});
})(jQuery);
(function ($) {
$.fn.extend({
flash: function (color) {
if ($(this).hasClass('animating')) {
return true;
}
color = typeof color !== 'undefined' ? color : 'red';
var pos = $(this).offset();
if (!pos) {
pos = {
top: 0,
left: 0
};
}
var h = $(this).height();
var w = $(this).width();
$('body').append('');
$(this).addClass('animating');
var el = $(this);
$('#flashing').stop().animate({
top: (pos.top + (h / 4)),
left: (pos.left + (w / 4)),
opacity: 0,
width: ($(this).width() / 2),
height: ($(this).height() / 2)
}, 700, function () {
$('#flashing').remove();
$(el).removeClass('animating');
});
}
});
})(jQuery);
function toggleRemoveReg(el) {
var state = !el.checked;
setPref('reg_delete', (state ? '1' : '0'));
p4.reg_delete = state;
}
function deleteThis(lst) {
if (lst.split(';').length === 0) {
alert(language.nodocselected);
return false;
}
var $dialog = p4.Dialog.Create({
size: 'Small',
title: language.deleteRecords
});
$.ajax({
type: "POST",
url: "../prod/records/delete/what/",
dataType: 'html',
data: {lst: lst},
success: function (data) {
$dialog.setContent(data);
}
});
return false;
}
function chgCollThis(datas) {
$dialog = p4.Dialog.Create({
size: 'Small',
title: language.move,
closeButton: true
});
$.ajax({
type: "POST",
url: "../prod/records/movecollection/",
data: datas,
success: function (data) {
$dialog.setContent(data);
}
});
}
function pushThis(sstt_id, lst, story) {
$dialog = p4.Dialog.Create({
size: 'Full',
title: language.push
});
$.post("../prod/push/sendform/", {
lst: lst,
ssel: sstt_id,
story: story
}, function (data) {
$dialog.setContent(data);
return;
});
}
function feedbackThis(sstt_id, lst, story) {
/* disable push closeonescape as an over dialog may exist (add user) */
$dialog = p4.Dialog.Create({
size: 'Full',
title: language.feedback
});
$.post("../prod/push/validateform/", {
lst: lst,
ssel: sstt_id,
story: story
}, function (data) {
$dialog.setContent(data);
return;
});
}
function toolREFACTOR(datas, activeTab) {
var dialog = p4.Dialog.Create({
size: 'Medium',
title: language.toolbox,
loading: true
});
$.get("../prod/tools/"
, datas
, function (data) {
dialog.setContent(data);
dialog.setOption('contextArgs', datas);
var tabs = $('.tabs', dialog.getDomElement()).tabs();
// activate tab if exists:
if( activeTab !== undefined ) {
tabs.tabs('option', 'active', activeTab);
}
return;
}
);
}
function activeIcons() {
var $container = $('body');
$container.on('click', '.TOOL_print_btn', function (e) {
e.preventDefault();
var value = "";
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
value = "lst=" + p4.Results.Selection.serialize();
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0)
value = "lst=" + p4.WorkZone.Selection.serialize();
else
value = "SSTTID=" + $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('basket_element')) {
value = "SSTTID=" + $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
value = "lst=" + p4.WorkZone.Selection.serialize();
}
else {
value = "story=" + $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
if (value !== '') {
printThis(value);
}
else {
alert(language.nodocselected);
}
});
$container.on('click', '.TOOL_bridge_btn', function (e) {
e.preventDefault();
var $button = $(this);
var datas = {};
var bridgeHref = $button.attr("href");
if ($button.hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
datas.lst = p4.Results.Selection.serialize();
}
else {
if ($button.hasClass('basket_window')) {
bridgeHref = $button.attr("data-href");
if (p4.WorkZone.Selection.length() > 0)
datas.lst = p4.WorkZone.Selection.serialize();
else
datas.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($button.hasClass('basket_element')) {
datas.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($button.hasClass('story_window')) {
bridgeHref = $button.attr("data-href");
if (p4.WorkZone.Selection.length() > 0) {
datas.lst = p4.WorkZone.Selection.serialize();
}
else {
datas.story = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
if (datas.ssel || datas.lst || datas.story) {
init_publicator(bridgeHref, datas);
}
else {
alert(language.nodocselected);
}
});
$container.on('click', '.TOOL_trash_btn', function () {
var type = "";
var el = false;
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
type = 'IMGT';
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0)
type = 'CHIM';
else {
type = 'SSTT';
el = $('.SSTT.active');
}
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
type = 'CHIM';
}
else {
type = 'STORY';
el = $(this).find('input[name=story_key]');
}
}
}
}
if (type !== '') {
checkDeleteThis(type, el);
}
else {
alert(language.nodocselected);
}
});
$container.on('click', '.TOOL_ppen_btn', function () {
var value = "";
var type = "";
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0) {
type = 'IMGT';
value = p4.Results.Selection.serialize();
}
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0) {
type = 'IMGT';
value = p4.WorkZone.Selection.serialize();
}
else {
type = 'SSTT';
value = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
else {
if ($(this).hasClass('basket_element')) {
type = 'SSTT';
value = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
type = 'IMGT';
value = p4.WorkZone.Selection.serialize();
}
else {
type = 'STORY';
value = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
if (value !== '') {
editThis(type, value);
}
else {
alert(language.nodocselected);
}
});
$container.on('click', '.TOOL_publish_btn', function () {
var value = "";
var type = "";
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0) {
type = 'IMGT';
value = p4.Results.Selection.serialize();
}
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0) {
type = 'IMGT';
value = p4.WorkZone.Selection.serialize();
}
else {
type = 'SSTT';
value = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
else {
if ($(this).hasClass('basket_element')) {
type = 'SSTT';
value = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
type = 'IMGT';
value = p4.WorkZone.Selection.serialize();
}
else {
type = 'STORY';
value = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
if (value !== '') {
feedThis(type, value);
}
else {
alert(language.nodocselected);
}
});
function feedThis(type, value) {
var options = {
lst: '',
ssel: '',
act: ''
};
switch (type) {
case "IMGT":
case "CHIM":
options.lst = value;
break;
case "STORY":
options.story = value;
break;
case "SSTT":
options.ssel = value;
break;
}
$.post("../prod/feeds/requestavailable/"
, options
, function (data) {
return set_up_feed_box(data);
});
return;
}
$container.on('click', '.TOOL_chgcoll_btn', function () {
var value = {};
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
value.lst = p4.Results.Selection.serialize();
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0)
value.lst = p4.WorkZone.Selection.serialize();
else
value.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('basket_element')) {
value.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
value.lst = p4.WorkZone.Selection.serialize();
}
else {
value.story = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
/**
* if works, then the object is not empty
*/
for (i in value) {
return chgCollThis(value);
}
alert(language.nodocselected);
});
$container.on('click', '.TOOL_chgstatus_btn', function () {
var params = {};
var $this = $(this);
if ($this.hasClass('results_window')) {
if (p4.Results.Selection.length() > 0) {
params.lst = p4.Results.Selection.serialize();
}
} else {
if ($this.hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0) {
params.lst = p4.WorkZone.Selection.serialize();
} else {
params.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
} else {
if ($this.hasClass('basket_element')) {
params.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
} else {
if ($this.hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
params.lst = p4.WorkZone.Selection.serialize();
} else {
params.story = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
if (false === $.isEmptyObject(params)) {
var dialog = p4.Dialog.Create();
dialog.load('../prod/records/property/', 'GET', params);
} else {
alert(language.nodocselected);
}
});
$container.on('click', '.TOOL_pushdoc_btn', function () {
var value = "", type = "", sstt_id = "", story = "";
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
value = p4.Results.Selection.serialize();
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0)
value = p4.WorkZone.Selection.serialize();
else
sstt_id = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('basket_element')) {
sstt_id = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
value = p4.WorkZone.Selection.serialize();
}
else {
story = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
if (value !== '' || sstt_id !== '' || story !== '') {
pushThis(sstt_id, value, story);
}
else {
alert(language.nodocselected);
}
});
$container.on('click', '.TOOL_feedback_btn', function () {
var value = "", type = "", sstt_id = "", story = '';
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
value = p4.Results.Selection.serialize();
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0)
value = p4.WorkZone.Selection.serialize();
else
sstt_id = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('basket_element')) {
sstt_id = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
value = p4.WorkZone.Selection.serialize();
}
else {
story = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
if (value !== '' || sstt_id !== '' || story !== '') {
feedbackThis(sstt_id, value, story);
}
else {
alert(language.nodocselected);
}
});
$container.on('click', '.TOOL_imgtools_btn', function () {
var datas = {};
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
datas.lst = p4.Results.Selection.serialize();
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0)
datas.lst = p4.WorkZone.Selection.serialize();
else
datas.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('basket_element')) {
datas.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
datas.lst = p4.WorkZone.Selection.serialize();
}
else {
datas.story = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
if (!$.isEmptyObject(datas)) {
toolREFACTOR(datas);
}
else {
alert(language.nodocselected);
}
});
$container.on('click', '.TOOL_disktt_btn', function () {
var datas = {};
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0) {
datas.lst = p4.Results.Selection.serialize();
}
}
else {
if ($(this).hasClass('basket_window')) {
if (p4.WorkZone.Selection.length() > 0) {
datas.lst = p4.WorkZone.Selection.serialize();
}
else {
datas.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
else {
if ($(this).hasClass('basket_element')) {
datas.ssel = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
else {
if ($(this).hasClass('story_window')) {
if (p4.WorkZone.Selection.length() > 0) {
datas.lst = p4.WorkZone.Selection.serialize();
}
else {
datas.story = $('.SSTT.active').attr('id').split('_').slice(1, 2).pop();
}
}
}
}
}
for (var i in datas) {
return downloadThis(datas);
}
alert(language.nodocselected);
});
}
function checkDeleteThis(type, el) {
el = $(el);
switch (type) {
case "IMGT":
case "CHIM":
var lst = '';
if (type === 'IMGT')
lst = p4.Results.Selection.serialize();
if (type === 'CHIM')
lst = p4.WorkZone.Selection.serialize();
deleteThis(lst);
return;
break;
case "SSTT":
var buttons = {};
buttons[language.valider] = function (e) {
deleteBasket(el);
};
$('#DIALOG').empty().append(language.confirmDel).attr('title', language.attention).dialog({
autoOpen: false,
resizable: false,
modal: true,
draggable: false
}).dialog('open').dialog('option', 'buttons', buttons);
$('#tooltip').hide();
return;
break;
case "STORY":
lst = el.val();
deleteThis(lst);
break;
}
}
function shareThis(bas, rec) {
var dialog = p4.Dialog.Create({
title: language['share']
});
dialog.load("../prod/share/record/" + bas + "/" + rec + "/", "GET");
}
function printThis(value) {
if ($("#DIALOG").data("ui-dialog")) {
$("#DIALOG").dialog('destroy');
}
$('#DIALOG').attr('title', language.print)
.empty().addClass('loading')
.dialog({
resizable: false,
closeOnEscape: true,
modal: true,
width: '800',
height: '500',
open: function (event, ui) {
$(this).dialog("widget").css("z-index", "1999");
},
close: function (event, ui) {
$(this).dialog("widget").css("z-index", "auto");
}
})
.dialog('open');
$.ajax({
type: "POST",
url: '../prod/printer/?' + value,
dataType: 'html',
beforeSend: function () {
},
success: function (data) {
$('#DIALOG').removeClass('loading').empty()
.append(data);
return;
}
});
}
function downloadThis(datas) {
var dialog = p4.Dialog.Create({title: language['export']});
$.post("../prod/export/multi-export/", datas, function (data) {
dialog.setContent(data);
$('.tabs', dialog.getDomElement()).tabs();
$('.close_button', dialog.getDomElement()).bind('click', function () {
dialog.Close();
});
return false;
});
}
function viewNbSelect() {
$("#nbrecsel").empty().append(p4.Results.Selection.length());
}
function selector(el) {
if (el.hasClass('all_selector')) {
p4.Results.Selection.selectAll();
}
else {
if (el.hasClass('none_selector')) {
p4.Results.Selection.empty();
}
else {
if (el.hasClass('starred_selector')) {
}
else {
if (el.hasClass('video_selector')) {
p4.Results.Selection.empty();
p4.Results.Selection.select('.type-video');
}
else {
if (el.hasClass('image_selector')) {
p4.Results.Selection.empty();
p4.Results.Selection.select('.type-image');
}
else {
if (el.hasClass('document_selector')) {
p4.Results.Selection.empty();
p4.Results.Selection.select('.type-document');
}
else {
if (el.hasClass('audio_selector')) {
p4.Results.Selection.empty();
p4.Results.Selection.select('.type-audio');
}
}
}
}
}
}
}
}
function evt_dwnl(value) {
downloadThis("lst=" + value);
}
function evt_print(value) {
printThis("lst=" + value);
}
function evt_add_in_chutier(sbas_id, record_id, event, singleSelection) {
var singleSelection = singleSelection || false;
p4.WorkZone.addElementToBasket(sbas_id, record_id, event, singleSelection);
}
function remove_from_basket(el, confirm) {
var confirm = confirm || false;
p4.WorkZone.removeElementFromBasket(el, confirm);
}
function doSpecialSearch(qry, allbase) {
if (allbase) {
checkBases(true);
}
selectedFacetValues = [];
$('#EDIT_query').val(decodeURIComponent(qry).replace(/\+/g, " "));
newSearch(qry);
}
function clktri(id) {
var o = $('#TOPIC_UL' + id);
if ($('#TOPIC_UL' + id).hasClass('closed'))
$('#TOPIC_TRI' + id + ' ,#TOPIC_UL' + id).removeClass('closed').addClass('opened');
else
$('#TOPIC_TRI' + id + ' ,#TOPIC_UL' + id).removeClass('opened').addClass('closed');
}
// ---------------------- fcts du thesaurus
function chgProp(path, v, k) {
var q2;
if (!k)
k = "*";
//if(k!=null)
v = v + " [" + k + "]";
$("#thprop_a_" + path).html('"' + v + '"');
// q = document.getElementById("thprop_q").innerText;
// if(!q )
// if(document.getElementById("thprop_q") && document.getElementById("thprop_q").textContent)
// q = document.getElementById("thprop_q").textContent;
q = $("#thprop_q").text();
q2 = "";
for (i = 0; i < q.length; i++)
q2 += q.charCodeAt(i) == 160 ? " " : q.charAt(i);
selectedFacetValues = [];
$('#EDIT_query').val(q);
newSearch(q);
return(false);
}
function doDelete(lst) {
var children = '0';
if (document.getElementById('del_children') && document.getElementById('del_children').checked)
children = '1';
$.ajax({
type: "POST",
url: "../prod/delete/",
dataType: 'json',
data: {
lst: lst.join(';'),
del_children: children
},
success: function (data) {
$.each(data, function (i, n) {
var imgt = $('#IMGT_' + n),
chim = $('.CHIM_' + n),
stories = $('.STORY_' + n);
$('.doc_infos', imgt).remove();
imgt.unbind("click").removeAttr("ondblclick").removeClass("selected").removeClass("IMGT").find("img").unbind();
if (imgt.data("ui-draggable")) {
imgt.draggable("destroy");
}
imgt.find(".thumb img").attr("src", "/assets/common/images/icons/deleted.png").css({
width: '100%',
height: 'auto',
margin: '0 10px',
top: '0'
});
chim.parent().slideUp().remove();
imgt.find(".status,.title,.bottom").empty();
p4.Results.Selection.remove(n);
if (stories.length > 0) {
p4.WorkZone.refresh();
}
else {
p4.WorkZone.Selection.remove(n);
}
});
viewNbSelect();
}
});
}
function archiveBasket(basket_id) {
$.ajax({
type: "POST",
url: "../prod/baskets/" + basket_id + "/archive/?archive=1",
dataType: 'json',
beforeSend: function () {
},
success: function (data) {
if (data.success) {
var basket = $('#SSTT_' + basket_id);
var next = basket.next();
if (next.data("ui-droppable")) {
next.droppable('destroy');
}
next.slideUp().remove();
if (basket.data("ui-droppable")) {
basket.droppable('destroy');
}
basket.slideUp().remove();
if ($('#baskets .SSTT').length === 0) {
return p4.WorkZone.refresh(false);
}
}
else {
alert(data.message);
}
return;
}
});
}
function deleteBasket(item) {
if ($("#DIALOG").data("ui-dialog")) {
$("#DIALOG").dialog('destroy');
}
var k = $(item).attr('id').split('_').slice(1, 2).pop(); // id de chutier
$.ajax({
type: "POST",
url: "../prod/baskets/" + k + '/delete/',
dataType: 'json',
beforeSend: function () {
},
success: function (data) {
if (data.success) {
var basket = $('#SSTT_' + k);
var next = basket.next();
if (next.data("ui-droppable")) {
next.droppable('destroy');
}
next.slideUp().remove();
if (basket.data("ui-droppable")) {
basket.droppable('destroy');
}
basket.slideUp().remove();
if ($('#baskets .SSTT').length === 0) {
return p4.WorkZone.refresh(false);
}
}
else {
alert(data.message);
}
return;
}
});
}
function deploy(deployer, todeploy_selector)
{
if($(deployer).hasClass("deployer_opened")) {
$(deployer).removeClass("deployer_opened").addClass("deployer_closed");
$(todeploy_selector).hide();
}
else {
$(deployer).removeClass("deployer_closed").addClass("deployer_opened");
$(todeploy_selector).show();
}
}
function clksbas(el, sbas_id) {
var bool = $(el).prop('checked');
$.each($('.sbascont_' + sbas_id + ' :checkbox'), function () {
this.checked = bool;
});
checkFilters(true);
}
function advSearch(event) {
event.cancelBubble = true;
// alternateSearch(false);
$('#idFrameC .tabs a.adv_search').trigger('click');
}
function start_page_selector() {
var el = $('#look_box_settings select[name=start_page]');
switch (el.val()) {
case "LAST_QUERY":
case "PUBLI":
case "HELP":
$('#look_box_settings input[name=start_page_value]').hide();
break;
case "QUERY":
$('#look_box_settings input[name=start_page_value]').show();
break;
}
}
function set_start_page() {
var el = $('#look_box_settings select[name=start_page]');
var val = el.val();
var start_page_query = $('#look_box_settings input[name=start_page_value]').val();
if (val === 'QUERY') {
setPref('start_page_query', start_page_query);
}
setPref('start_page', val);
}
function basketPrefs() {
$('#basket_preferences').dialog({
closeOnEscape: true,
resizable: false,
width: 450,
height: 500,
modal: true,
draggable: false,
overlay: {
backgroundColor: '#000',
opacity: 0.7
}
}).dialog('open');
}
function lookBox(el, event) {
$("#look_box").dialog({
closeOnEscape: true,
resizable: false,
width: 450,
height: 500,
modal: true,
draggable: false,
overlay: {
backgroundColor: '#000',
opacity: 0.7
}
}).dialog('open');
}
function showAnswer(p) {
var o;
if (p === 'Results') {
// on montre les results
if (o = document.getElementById("AnswerExplain"))
o.style.visibility = "hidden";
if (o = document.getElementById("AnswerResults")) {
o.style.visibility = "";
o.style.display = "block";
}
// on montre explain
if (document.getElementById("divpage"))
document.getElementById("divpage").style.visibility = visibilityDivPage;
if (document.getElementById("explainResults"))
document.getElementById("explainResults").style.display = "none";
}
else {
// on montre explain
if (document.getElementById("divpage")) {
visibilityDivPage = "visible";
document.getElementById("divpage").style.visibility = "hidden";
}
if (document.getElementById("explainResults"))
document.getElementById("explainResults").style.display = "block";
if (o = document.getElementById("AnswerResults")) {
o.style.visibility = "hidden";
o.style.display = "none";
}
if (o = document.getElementById("AnswerExplain"))
o.style.visibility = "";
if (o = document.getElementById("AnswerExplain")) {
o.style.display = "none";
setTimeout('document.getElementById("AnswerExplain").style.display = "block";', 200);
}
}
}
/** FROM INDEX.php **/
function saveeditPbar(idesc, ndesc) {
document.getElementById("saveeditPbarI").innerHTML = idesc;
document.getElementById("saveeditPbarN").innerHTML = ndesc;
}
function getSelText() {
var txt = '';
if (window.getSelection) {
txt = window.getSelection();
}
else if (document.getSelection) {
txt = document.getSelection();
}
else if (document.selection) {
txt = document.selection.createRange().text;
}
else
return;
return txt;
}
function getWinPosAsXML() {
var ret = '';
if ($('#idFrameE').is(':visible') && $('#EDITWINDOW').is(':visible'))
ret += '';
return ret;
}
function saveWindows() {
var key = '';
var value = '';
if ($('#idFrameE').is(':visible') && $('#EDITWINDOW').is(':visible')) {
key = 'edit_window';
value = $('#idFrameE').outerWidth() / $('#EDITWINDOW').innerWidth();
}
else {
key = 'search_window';
value = $('#idFrameC').outerWidth() / bodySize.x;
}
setPref(key, value);
}
function gotopage(pag) {
$('#searchForm input[name="sel"]').val(p4.Results.Selection.serialize());
$('#formAnswerPage').val(pag);
$('#searchForm').submit();
}
function addFilterMulti(filter, link, sbasid) {
var clone = $('#filter_multi_' + sbasid + '_' + filter);
var orig = clone;
if (!$('#filter_multi_' + sbasid + '_' + filter).is(':visible')) {
clone = orig.clone(true);
var par = orig.parent();
orig.remove();
par.append(clone);
clone.slideDown('fast', function () {
$(this);
});
$(link).addClass('filterActive');
}
else {
clone.slideUp();
$(link).removeClass('filterActive');
}
return false;
}
function autoorder() {
var val = $.trim($('#auto_order').val());
if (val === '')
return;
var sorter = new Array();
$('#reorder_box .diapo form').each(function (i, n) {
var id = $('input[name=id]', n).val();
switch (val) {
case 'title':
default:
var data = $('input[name=title]', n).val();
break;
case 'default':
var data = $('input[name=default]', n).val();
break;
}
sorter[id] = data;
});
var data_type = 'string';
switch (val) {
case 'default':
var data_type = 'integer';
break;
}
sorter = arraySortByValue(sorter, data_type);
var last_moved = false;
for (i in sorter) {
var elem = $('#ORDER_' + i);
if (last_moved) {
elem.insertAfter(last_moved);
}
else {
$('#reorder_box').prepend(elem);
}
last_moved = elem;
}
}
function set_up_feed_box(data) {
var buttons = {};
buttons[language.valider] = function () {
var dialog = p4.Dialog.get(1);
var error = false;
var $form = $('form.main_form', dialog.getDomElement());
$('.required_text', $form).each(function (i, el) {
if ($.trim($(el).val()) === '') {
$(el).addClass('error');
error = true;
}
});
if (error) {
alert(language.feed_require_fields);
}
if ($('input[name="feed_id"]', $form).val() === '') {
alert(language.feed_require_feed);
error = true;
}
if (error) {
return false;
}
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: $form.serializeArray(),
dataType: 'json',
beforeSend: function () {
$('button', dialog.getDomElement()).prop('disabled', true);
},
error: function () {
$('button', dialog.getDomElement()).prop('disabled', false);
},
timeout: function () {
$('button', dialog.getDomElement()).prop('disabled', false);
},
success: function (data) {
$('button', dialog.getDomElement()).prop('disabled', false);
if (data.error === true) {
alert(data.message);
return;
}
if ($('form.main_form', dialog.getDomElement()).hasClass('entry_update')) {
var id = $('form input[name="entry_id"]', dialog.getDomElement()).val();
var container = $('#entry_' + id);
container.replaceWith(data.datas);
container.hide().fadeIn();
var answers = $('#answers');
answers.find("img.lazyload").lazyload({
container: answers
});
}
p4.Dialog.Close(1);
}
});
p4.Dialog.Close(1);
};
var dialog = p4.Dialog.Create({
size: 'Full',
closeOnEscape: true,
closeButton: true,
buttons: buttons
});
dialog.setContent(data);
var $feeds_item = $('.feeds .feed', dialog.getDomElement());
var $form = $('form.main_form', dialog.getDomElement());
$feeds_item.bind('click',function () {
$feeds_item.removeClass('selected');
$(this).addClass('selected');
$('input[name="feed_id"]', $form).val($('input', this).val());
}).hover(function () {
$(this).addClass('hover');
}, function () {
$(this).removeClass('hover');
});
$form.bind('submit', function () {
return false;
});
return;
}
//clear search
$(document).ready(function () {
$('#thesaurus_tab .input-medium').on('keyup', function(){
if($('#thesaurus_tab .input-medium').val() != ''){
$('#thesaurus_tab .th_clear').show();
}else{
$('#thesaurus_tab .th_clear').hide();
}
});
$('.th_clear').on('click', function(){
$('#thesaurus_tab .input-medium').val('');
$('#thesaurus_tab .gform').submit();
$('#thesaurus_tab .th_clear').hide();
});
$('.treeview>li.expandable>.hitarea').on('click', function(){
if($(this).css('background-position') == '99% 22px'){
$(this).css('background-position', '99% -28px');
$(this).addClass('active');
}else{
$(this).css('background-position', '99% 22px');
$(this).removeClass('active');
}
});
});