diff --git a/html/css/style-classic7.css b/html/css/style-classic7.css index 8a8578e33..f414de9d6 100644 --- a/html/css/style-classic7.css +++ b/html/css/style-classic7.css @@ -390,7 +390,7 @@ span.even { display:block; } /* highlight table row */ -tr.odd { +div.odd,tr.odd { background-color: #DCE7F5; /*! opacity: 50%; */ } @@ -405,7 +405,7 @@ tr.odd > td,tr.even > td { tr.highlight { font-weight: bold; } -tr.even { +div.even,tr.even { /*! background-color: #F7F8FC; */ } td.odd{ @@ -630,6 +630,12 @@ h1.legend, legend { font-style: italic; font-size: 19.2px; font-size: 1.2rem; + border: navy; + border-width: 1px; + border-style: solid; + padding: 1rem; + width: 20rem; + border-radius: 5px; } fieldset fieldset legend { color:#888; diff --git a/html/js/noalyss_script.js b/html/js/noalyss_script.js index 9dfd5697c..b448b4b64 100644 --- a/html/js/noalyss_script.js +++ b/html/js/noalyss_script.js @@ -25,46 +25,45 @@ */ var ask_reload = 0; // tag_choose Element which contains all the selected tags -var tag_choose = ''; +var tag_choose = ''; var aDraggableElement = new Array(); // document.viewport depends of prototype.js var viewport = document.viewport.getDimensions(); // Gets the viewport as an object literal var width = viewport.width; // Usable window width var height = viewport.height; - /** + +/** * return undefined if nothing is found , otherwise return the DOM elemnt * @param {type} p_name_dom * @param {type} name_child * @returns {undefined} */ -function in_child(p_element,name_child) { - var element=p_element - if ( typeof p_element !== "object" ) { - element=document.getElementById(p_element); - +function in_child(p_element, name_child) { + var element = p_element + if (typeof p_element !== "object") { + element = document.getElementById(p_element); + } - if ( ! element ) return undefined; - for ( var e=0; e < element.childElementCount;e++) { - if ( element.childNodes[e].id == name_child) { + if (!element) return undefined; + for (var e = 0; e < element.childElementCount; e++) { + if (element.childNodes[e].id == name_child) { return element.childNodes[e]; } } } + /** * callback function when we just need to update a hidden div with an info * message */ -function infodiv(req, json) -{ - try - { +function infodiv(req, json) { + try { remove_waiting_box(); var answer = req.responseXML; var a = answer.getElementsByTagName('ctl'); var html = answer.getElementsByTagName('code'); - if (a.length === 0) - { + if (a.length === 0) { var rec = req.responseText; alert_box('erreur :' + rec); } @@ -73,27 +72,23 @@ function infodiv(req, json) code_html = unescape_xml(code_html); g(name_ctl + "info").innerHTML = code_html; - } catch (e) - { + } catch (e) { alert_box("success_box" + e.message); } - try - { + try { code_html.evalScripts(); - } catch (e) - { + } catch (e) { alert_box(content[53] + "\n" + e.message); } } + /** * delete a row from a table (tb) the input button send the this * as second parameter */ -function deleteRow(tb, obj) -{ - smoke.confirm(content[50], function (e) - { +function deleteRow(tb, obj) { + smoke.confirm(content[50], function (e) { if (e) { var td = obj.parentNode; var tr = td.parentNode; @@ -105,18 +100,18 @@ function deleteRow(tb, obj) } }); } -function deleteRowRec(tb, obj) -{ + +function deleteRowRec(tb, obj) { var tr = obj; var lidx = tr.rowIndex; g(tb).deleteRow(lidx); } + /*!\brief remove trailing and heading space * \param the string to modify * \return string without heading and trailing space */ -function trim(s) -{ +function trim(s) { return s.replace(/^\s+/, '').replace(/\s+$/, ''); } @@ -125,33 +120,27 @@ function trim(s) * @param ID is a string * @return the found object of undefined if not found */ -function g(ID) -{ - if (document.getElementById) - { +function g(ID) { + if (document.getElementById) { return this.document.getElementById(ID); - } else if (document.all) - { + } else if (document.all) { return document.all[ID]; - } else - { + } else { return undefined; } } + /** * enable the type of periode */ -function enable_type_periode() -{ - if ($("type_periode").options[$("type_periode").selectedIndex].value == 0) - { +function enable_type_periode() { + if ($("type_periode").options[$("type_periode").selectedIndex].value == 0) { $('from_periode').enable(); $('to_periode').enable(); $('from_date').disable(); $('to_date').disable(); $('p_step').enable(); - } else - { + } else { $('from_periode').disable(); $('to_periode').disable(); $('from_date').enable(); @@ -164,8 +153,7 @@ function enable_type_periode() * will reload the window but it is dangerous if we have submitted * a form with POST */ -function refresh_window() -{ +function refresh_window() { window.location.reload(); } @@ -174,41 +162,34 @@ function refresh_window() * we receive a json object as parameter and the function returns the string * with the format variable=value&var2=val2... */ -function encodeJSON(obj) -{ - if (typeof obj != 'object') - { +function encodeJSON(obj) { + if (typeof obj != 'object') { alert_box('encodeParameter obj n\'est pas un objet'); } - try - { + try { var str = ''; var e = 0; - for (var i in obj) - { - if (e !== 0) - { + for (var i in obj) { + if (e !== 0) { str += '&'; - } else - { + } else { e = 1; } str += i; str += '=' + encodeURI(obj[i]); } return str; - } catch (e) - { + } catch (e) { alert_box('encodeParameter ' + e.message); return ""; } } -function hide(p_param) -{ + +function hide(p_param) { g(p_param).style.display = 'none'; } -function show(p_param) -{ + +function show(p_param) { g(p_param).style.display = 'block'; } @@ -217,23 +198,21 @@ function show(p_param) *@param Field id of the control *@param selectIt : the value selected in case of Field is a object select, numeric */ -function SetFocus(Field, SelectIt) -{ +function SetFocus(Field, SelectIt) { var elem = g(Field); - if (elem) - { + if (elem) { elem.focus(); } return true; } + /** * set a DOM id with a value in the parent window (the caller), @param p_ctl is the name of the control @param p_value is the value to set in @param p_add if we don't replace the current value but we add something */ -function set_inparent(p_ctl, p_value, p_add) -{ +function set_inparent(p_ctl, p_value, p_add) { self.opener.set_value(p_ctl, p_value, p_add); } @@ -244,77 +223,64 @@ function set_inparent(p_ctl, p_value, p_add) @param p_value is the value to set in @param p_add if we don't replace the current value but we add something */ -function set_value(p_ctl, p_value, p_add) -{ - if (g(p_ctl)) - { +function set_value(p_ctl, p_value, p_add) { + if (g(p_ctl)) { var g_ctrl = g(p_ctl); - if (p_add != undefined && p_add === 1) - { - if (g_ctrl.value) - { + if (p_add != undefined && p_add === 1) { + if (g_ctrl.value) { p_value = g_ctrl.value + ',' + p_value; } } - if (g_ctrl.tagName === 'INPUT') - { + if (g_ctrl.tagName === 'INPUT') { g(p_ctl).value = p_value; } - if (g_ctrl.tagName === 'SPAN') - { + if (g_ctrl.tagName === 'SPAN') { g(p_ctl).innerHTML = p_value; } - if (g_ctrl.tagName === 'SELECT') - { + if (g_ctrl.tagName === 'SELECT') { g(p_ctl).value = p_value; } } } + /** * compute small math in numeric cells * @param string value - * @returns float + * @returns float */ -function compute_number(value) -{ +function compute_number(value) { var retval = 0; - + var exp = new RegExp("^[0-9/*+-.()]+$", "g"); /*pour éviter un eval() mal intentionné*/ var res = exp.test(value); - if (res) - { + if (res) { /*pour gérer un nombre non valide comme 5..36 ou 5.3.6 parce qu'il est possible d'entrer plusieurs points dans le nombre et eval() lève une exception*/ - try - { + try { retval = eval(value); - } catch (e) - { - return parseFloat(value); + } catch (e) { + return parseFloat(value); } /*pour gérer les divisions par 0*/ - if (retval == Infinity) - { + if (retval == Infinity) { return 0; - } else - { + } else { return retval; } } else { return 0; } } + /** * format the number change comma to point *@param HTML obj */ -function format_number(obj, p_prec) -{ +function format_number(obj, p_prec) { var precision = 2; - if (p_prec === undefined) - { + if (p_prec === undefined) { precision = 2; } else { precision = p_prec; @@ -323,12 +289,11 @@ function format_number(obj, p_prec) value = value.replace(/ /g, ''); value = value.replace(/,/g, '.'); - - value=compute_number(value); - + + value = compute_number(value); + value = parseFloat(value); - if (isNaN(value)) - { + if (isNaN(value)) { value = 0; } var arrondi = Math.pow(10, precision); @@ -342,29 +307,29 @@ function format_number(obj, p_prec) * Replace slash , space and minus by dot * @param p_object DOM Element date to check */ -function format_date(p_object) -{ - p_object.value=p_object.value.replace(/\//g,'.'); - p_object.value=p_object.value.replace(/-/g,'.'); - p_object.value=p_object.value.replace(/ /g,'.'); - p_object.value=p_object.value.replace(/\.\./g,'.'); +function format_date(p_object) { + p_object.value = p_object.value.replace(/\//g, '.'); + p_object.value = p_object.value.replace(/-/g, '.'); + p_object.value = p_object.value.replace(/ /g, '.'); + p_object.value = p_object.value.replace(/\.\./g, '.'); var tmp_value = p_object.value; - a_split=tmp_value.split('.'); - if (a_split[2] && a_split[2].match(/[0-9]{2}/) && a_split[2].length==2) { - a_split[2]="20"+a_split[2]; - p_object.value=a_split[0]+"."+a_split[1]+"."+a_split[2]; + a_split = tmp_value.split('.'); + if (a_split[2] && a_split[2].match(/[0-9]{2}/) && a_split[2].length == 2) { + a_split[2] = "20" + a_split[2]; + p_object.value = a_split[0] + "." + a_split[1] + "." + a_split[2]; } - var nMonth=parseFloat(a_split[1])-1; + var nMonth = parseFloat(a_split[1]) - 1; var ma_date = new Date(a_split[2], nMonth, a_split[0]); - if(ma_date.getFullYear()==a_split[2] && ma_date.getMonth()==nMonth && ma_date.getDate() == a_split[0]){ + if (ma_date.getFullYear() == a_split[2] && ma_date.getMonth() == nMonth && ma_date.getDate() == a_split[0]) { return; } else { - new Effect.Highlight(p_object.id,{startcolor:"#ff0000"}); - p_object.value=""; + new Effect.Highlight(p_object.id, {startcolor: "#ff0000"}); + p_object.value = ""; } - - + + } + /** * check if the object is hidden or show and perform the opposite, * show the hidden obj or hide the shown one. With display : flex, @@ -372,29 +337,34 @@ function format_date(p_object) * @param button id of the button * @param rotate : if true with rotate the object of p_button otherwise */ -function toggleHideShow(p_obj, p_button,rotate) -{ - var div_obj=g(p_obj); +function toggleHideShow(p_obj, p_button, rotate) { + var div_obj = g(p_obj); var stat = div_obj.style.display; - - var str = ( g(p_button))?g(p_button).value:""; - if (stat === 'none') - { + var str = (g(p_button)) ? g(p_button).value : ""; + + if (stat === 'none') { // specific for the DIV id search_form - if( div_obj.id=='search_form') { show(p_obj); } else { $(p_obj).show()} + if (div_obj.id == 'search_form') { + show(p_obj); + } else { + $(p_obj).show() + } str = str.replace(/Afficher/, content[62]); g(p_button).value = str; - } else - { + } else { // specific for the DIV di search_form - if(!div_obj.id=='search_form') { hide(p_obj); } else { $(p_obj).hide()} + if (!div_obj.id == 'search_form') { + hide(p_obj); + } else { + $(p_obj).hide() + } str = str.replace(/Cacher/, content[63]); g(p_button).value = str; } - if ( ! rotate ) return; - if ( stat == "none") { - g(p_button).addClassName ("icon-up-open-1") + if (!rotate) return; + if (stat == "none") { + g(p_button).addClassName("icon-up-open-1") g(p_button).removeClassName(" icon-down-open-2") } else { g(p_button).removeClassName("icon-up-open-1") @@ -403,22 +373,22 @@ function toggleHideShow(p_obj, p_button,rotate) } } + /** * open popup with the search windows *@param p_dossier the dossier where to search *@param p_style style of the detail value are E for expert or S for simple */ -function popup_recherche(p_dossier) -{ +function popup_recherche(p_dossier) { var w = window.open("recherche.php?gDossier=" + p_dossier + "&ac=SEARCH", '', 'statusbar=no,scrollbars=yes,toolbar=no'); w.focus(); } + /** * replace the special characters (><'") by their HTML representation *@return a string without the offending char. */ -function unescape_xml(code_html) -{ +function unescape_xml(code_html) { code_html = code_html.replace(/\</, '<'); code_html = code_html.replace(/\>/, '>'); code_html = code_html.replace(/\"/, '"'); @@ -426,41 +396,47 @@ function unescape_xml(code_html) code_html = code_html.replace(/\&/, '&'); return code_html; } + /** * Firefox splits the XML into 4K chunk, so to retrieve everything we need * to get the different parts thanks textContent *@param xmlNode a node (result of var data = =answer.getElementsByTagName('code')) *@return all the content of the XML node */ -function getNodeText(xmlNode) -{ +function getNodeText(xmlNode) { if (!xmlNode) return ''; - if (typeof (xmlNode.textContent) != "undefined") - { + if (typeof (xmlNode.textContent) != "undefined") { return xmlNode.textContent; } if (xmlNode.firstChild && xmlNode.firstChild.nodeValue) return xmlNode.firstChild.nodeValue; return ""; } + /** * change the periode in the calendar of the dashboard *@param object select */ -function change_month(obj) -{ +function change_month(obj) { var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: {gDossier: obj.gDossier, op: 'cal', "per": obj.value, t: obj.type_display, notitle: obj.notitle}, - onFailure: ajax_misc_failure, - onSuccess: success_misc - } + "ajax_misc.php", + { + method: 'get', + parameters: { + gDossier: obj.gDossier, + op: 'cal', + "per": obj.value, + t: obj.type_display, + notitle: obj.notitle + }, + onFailure: ajax_misc_failure, + onSuccess: success_misc + } ); } + /** * basic answer to ajax on success, it will fill the DOMID code with * the code. In that case, you need to create the object before the Ajax.Request @@ -470,14 +446,11 @@ function change_month(obj) *@param value is the html code, with it you fill the ctl element */ -function success_misc(req) -{ - try - { +function success_misc(req) { + try { var answer = req.responseXML; var html = answer.getElementsByTagName('code'); - if (html.length === 0) - { + if (html.length === 0) { var rec = req.responseText; alert_box('erreur :' + rec); } @@ -485,82 +458,74 @@ function success_misc(req) var code_html = getNodeText(nodeXml); code_html = unescape_xml(code_html); $("user_cal").innerHTML = code_html; - } catch (e) - { + } catch (e) { alert_box(e.message); } - try - { + try { code_html.evalScripts(); - } catch (e) - { + } catch (e) { alert_box(content[53] + "\n" + e.message); } } -function loading() -{ - var str='
'; - str+='
'; - str+='
'; - str+='
'; - str+='
'; + +function loading() { + var str = '
'; + str += '
'; + str += '
'; + str += '
'; + str += '
'; return str; } -function ajax_misc_failure() -{ +function ajax_misc_failure() { alert_box(content[53]); } + /** * remove a document_modele */ -function cat_doc_remove(p_dt_id, p_dossier) -{ +function cat_doc_remove(p_dt_id, p_dossier) { var queryString = "gDossier=" + p_dossier + "&op=rem_cat_doc" + "&dt_id=" + p_dt_id; var action = new Ajax.Request( - "ajax_misc.php", {method: 'get', - parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) - { - try - { - var answer = req.responseXML; - var html = answer.getElementsByTagName('dtid'); - if (html.length === 0) - { - var rec = req.responseText; - alert_box('erreur
' + rec); - return; - } - var nodeXML = html[0]; - var row_id = getNodeText(nodeXML); - if (row_id === 'nok') - { - var message_node = answer.getElementsByTagName('message'); - var message_text = getNodeText(message_node[0]); - alert_box('erreur
' + message_text); - return; - } - $('row' + row_id).style.textDecoration = "line-through"; - $('X' + row_id).style.display = 'none'; - $('M' + row_id).style.display = 'none'; - } catch (e) - { - alert_box(e.message); + "ajax_misc.php", { + method: 'get', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + try { + var answer = req.responseXML; + var html = answer.getElementsByTagName('dtid'); + if (html.length === 0) { + var rec = req.responseText; + alert_box('erreur
' + rec); + return; } + var nodeXML = html[0]; + var row_id = getNodeText(nodeXML); + if (row_id === 'nok') { + var message_node = answer.getElementsByTagName('message'); + var message_text = getNodeText(message_node[0]); + alert_box('erreur
' + message_text); + return; + } + $('row' + row_id).style.textDecoration = "line-through"; + $('X' + row_id).style.display = 'none'; + $('M' + row_id).style.display = 'none'; + } catch (e) { + alert_box(e.message); } } + } ); } + /** * change a document_modele */ -function cat_doc_change(p_dt_id, p_dossier) -{ +function cat_doc_change(p_dt_id, p_dossier) { var queryString = "gDossier=" + p_dossier + "&op=mod_cat_doc" + "&dt_id=" + p_dt_id; var nTop = calcy(posY); var nLeft = "200px"; @@ -569,17 +534,17 @@ function cat_doc_change(p_dt_id, p_dossier) removeDiv('change_doc_div'); waiting_box(); var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - add_div({id: 'change_doc_div', style: str_style, cssclass: 'inner_box', drag: "1"}); - $('change_doc_div').innerHTML = req.responseText; + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + add_div({id: 'change_doc_div', style: str_style, cssclass: 'inner_box', drag: "1"}); + $('change_doc_div').innerHTML = req.responseText; - } } + } ); } @@ -588,10 +553,8 @@ function cat_doc_change(p_dt_id, p_dossier) *@param obj with 4 attributes gdossier, ctl,popup *@param p_function_callback callback function to be called after, */ -function popup_select_tva(obj,p_function_callback) -{ - try - { +function popup_select_tva(obj, p_function_callback) { + try { if ($('tva_select')) { removeDiv('tva_select'); } @@ -605,48 +568,50 @@ function popup_select_tva(obj,p_function_callback) queryString += '&filter=' + obj.filter; var action = new Ajax.Request( - "ajax_misc.php", - {method: 'get', - parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) - { - try - { - var answer = req.responseXML; - var popup = answer.getElementsByTagName('popup'); - if (popup.length === 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var html = answer.getElementsByTagName('code'); - - var name_ctl = popup[0].firstChild.nodeValue; - var nodeXml = html[0]; - var code_html = getNodeText(nodeXml); - code_html = unescape_xml(code_html); - - var nTop = posY - 200; - var nLeft = "15%"; - var str_style = "top:" + nTop + "px;left:" + nLeft + ";right:" + nLeft + ";width:55em;height:auto"; - - var popup = {'id': 'tva_select', 'cssclass': 'inner_box', 'style': str_style, 'html': code_html, 'drag': false}; - add_div(popup); - $('lk_tva_select_table').focus(); - sorttable.makeSortable($('tva_select_table')); - if ( p_function_callback) { - p_function_callback.call(null); - } - } catch (e) - { - alert_box("success_popup_select_tva " + e.message); + "ajax_misc.php", + { + method: 'get', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + try { + var answer = req.responseXML; + var popup = answer.getElementsByTagName('popup'); + if (popup.length === 0) { + var rec = req.responseText; + alert_box('erreur :' + rec); } + var html = answer.getElementsByTagName('code'); + + var name_ctl = popup[0].firstChild.nodeValue; + var nodeXml = html[0]; + var code_html = getNodeText(nodeXml); + code_html = unescape_xml(code_html); + + var nTop = posY - 200; + var nLeft = "15%"; + var str_style = "top:" + nTop + "px;left:" + nLeft + ";right:" + nLeft + ";width:55em;height:auto"; + + var popup = { + 'id': 'tva_select', + 'cssclass': 'inner_box', + 'style': str_style, + 'html': code_html, + 'drag': false + }; + add_div(popup); + $('lk_tva_select_table').focus(); + sorttable.makeSortable($('tva_select_table')); + if (p_function_callback) { + p_function_callback.call(null); + } + } catch (e) { + alert_box("success_popup_select_tva " + e.message); } } + } ); - } catch (e) - { + } catch (e) { alert_box("popup_select_tva " + e.message); } } @@ -656,40 +621,36 @@ function popup_select_tva(obj,p_function_callback) * display the popup with vat and explanation *@param obj with 4 attributes gdossier, ctl,popup */ -function set_tva_label(obj) -{ - try - { +function set_tva_label(obj) { + try { var queryString = "gDossier=" + obj.gDossier + "&op=label_tva" + "&id=" + obj.value; if (obj.jcode) queryString += '&code=' + obj.jcode; var action = new Ajax.Request( - "ajax_misc.php", - {method: 'get', - parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: success_set_tva_label - } + "ajax_misc.php", + { + method: 'get', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: success_set_tva_label + } ); - } catch (e) - { + } catch (e) { alert_box("set_tva_label " + e.message); } } + /** * display the popup with vat and explanations *@param string req answer from ajax */ -function success_set_tva_label(req) -{ - try - { +function success_set_tva_label(req) { + try { var answer = req.responseXML; var code = answer.getElementsByTagName('code'); var value = answer.getElementsByTagName('value'); - if (code.length === 0) - { + if (code.length === 0) { var rec = req.responseText; alert_box('erreur :' + rec); } @@ -697,8 +658,7 @@ function success_set_tva_label(req) var label_code = code[0].firstChild.nodeValue; var label_value = value[0].firstChild.nodeValue; set_value(label_code, label_value); - } catch (e) - { + } catch (e) { alert_box("success_set_tva_label " + e.message); } @@ -716,10 +676,8 @@ function success_set_tva_label(req) * @returns html dom element * @see add_div */ -function create_div(obj) -{ - try - { +function create_div(obj) { + try { var top = document; var elt = null; if (!$(obj.id)) { @@ -727,27 +685,21 @@ function create_div(obj) } else { elt = $(obj.id); } - if (obj.id) - { + if (obj.id) { elt.setAttribute('id', obj.id); } - if (obj.style) - { - if (elt.style.setAttribute) - { /* IE7 bug */ + if (obj.style) { + if (elt.style.setAttribute) { /* IE7 bug */ elt.style.setAttribute('cssText', obj.style); - } else - { /* good Browser */ + } else { /* good Browser */ elt.setAttribute('style', obj.style); } } - if (obj.cssclass) - { + if (obj.cssclass) { elt.setAttribute('class', obj.cssclass); /* FF */ elt.setAttribute('className', obj.cssclass); /* IE */ } - if (obj.html) - { + if (obj.html) { elt.innerHTML = obj.html; } @@ -757,22 +709,22 @@ function create_div(obj) /* if ( obj.effect && obj.effect != 'none' ) { Effect.Grow(obj.id,{direction:'top-right',duration:0.1}); } else if ( ! obj.effect ){ Effect.Grow(obj.id,{direction:'top-right',duration:0.1}); }*/ - if (obj.drag) - { - aDraggableElement[obj.id] = new Draggable(obj.id, {starteffect: function () - { - new Effect.Highlight(obj.id, {scroll: window, queue: 'end'}); - }} + if (obj.drag) { + aDraggableElement[obj.id] = new Draggable(obj.id, { + starteffect: function () { + new Effect.Highlight(obj.id, {scroll: window, queue: 'end'}); + } + } ); } return elt; - } catch (e) - { + } catch (e) { error_message("create_div " + e.message); } } + /** * add dynamically a object for AJAX *@param obj. @@ -783,51 +735,47 @@ function create_div(obj) * - html is the content * - drag is the div can be moved */ -function add_div(obj) -{ +function add_div(obj) { try { var elt = create_div(obj); /* elt.setStyle({visibility:'visible'}); */ elt.style.visibility = 'visible'; elt.show(); return elt; - } catch (e) - { + } catch (e) { alert_box("add_div " + e.message); } } + /** * remove a object created with add_div * @param elt id of the elt */ -function removeDiv(elt) -{ - if (g(elt)) - { +function removeDiv(elt) { + if (g(elt)) { document.body.removeChild(g(elt)); } // if reloaded if asked the window will be reloaded when // the box is closed - if (ask_reload === 1) - { + if (ask_reload === 1) { // avoid POST window.location = window.location.href; window.location.reload(); } } -function waiting_node() -{ + +function waiting_node() { $('info_div').innerHTML = 'Un instant'; $('info_div').style.display = "block"; } + /** *show a box while loading *must be remove when ajax is successfull * the id is wait_box */ -function waiting_box() -{ +function waiting_box() { var obj = { - id: 'wait_box', html: loading()+'

' + content[65] + '

' + id: 'wait_box', html: loading() + '

' + content[65] + '

' }; var y = fixed_position(10, 250) obj.style = y + ";width:20%;margin-left:40%;"; @@ -839,6 +787,7 @@ function waiting_box() } + /** * call add_div to add a DIV and after call the ajax * the queryString, the callback for function for success and error management @@ -851,42 +800,37 @@ function waiting_box() * - obj.fixed optional let you determine the position, otherwise works like IPopup *@see add_div IBox */ -function show_box(obj) -{ +function show_box(obj) { add_div(obj); - if (!obj.fixed) - { + if (!obj.fixed) { g(obj.id).style.top = calcy(40) + "px"; show(obj.id); - } else - { + } else { show(obj.id); } var action = new Ajax.Request( - obj.callback, - { - method: 'GET', - parameters: obj.qs, - onFailure: eval(obj.js_error), - onSuccess: eval(obj.js_success) - }); + obj.callback, + { + method: 'GET', + parameters: obj.qs, + onFailure: eval(obj.js_error), + onSuccess: eval(obj.js_success) + }); } + /** * receive answer from ajax and just display it into the IBox * XML must contains at least 2 fields : ctl is the ID of the IBOX and * code is the HTML to put in it *@see fill_box */ -function success_box(req, json) -{ - try - { +function success_box(req, json) { + try { var answer = req.responseXML; var a = answer.getElementsByTagName('ctl'); var html = answer.getElementsByTagName('code'); - if (a.length === 0) - { + if (a.length === 0) { var rec = req.responseText; alert_box(content[48] + rec); } @@ -899,30 +843,25 @@ function success_box(req, json) if (name_ctl == 'popup') g(name_ctl).style.width = 'auto'; - } catch (e) - { + } catch (e) { alert_box("success_box" + e.message); } - try - { + try { code_html.evalScripts(); - } catch (e) - { + } catch (e) { alert_box(content[53] + "\n" + e.message); } } -function error_box() -{ +function error_box() { alert_box(content[53]); } + /** * show the ledger choice */ -function show_ledger_choice(json_obj) -{ - try - { +function show_ledger_choice(json_obj) { + try { waiting_box(); var i = 0; var query = "gDossier=" + json_obj.dossier + '&type=' + json_obj.type + '&div=' + json_obj.div + '&op=ledger_show'; @@ -933,68 +872,71 @@ function show_ledger_choice(json_obj) } query = encodeURI(query); var action = new Ajax.Request( - "ajax_misc.php", - {method: 'get', - parameters: query, - onFailure: ajax_misc_failure, - onSuccess: function (req, json) { - try { - if ( req.responseText === 'NOCONX') { reconnect();return;} - var obj = { - id: json_obj.div + 'jrn_search', - cssclass: 'inner_box', - style: ';position:absolute;width:auto;z-index:20;margin-left:20%', - drag: 1 - }; - //var y=calcy(posY); - var y = posY; - - obj.style = "top:" + y + 'px;' + obj.style; - /* if ( json_obj.class ) - { - obj.cssclass=json_obj.class; - }*/ - add_div(obj); - - - var answer = req.responseXML; - var a = answer.getElementsByTagName('ctl'); - var html = answer.getElementsByTagName('code'); - if (a.length === 0) { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var name_ctl = a[0].firstChild.nodeValue; - var code_html = getNodeText(html[0]); - - code_html = unescape_xml(code_html); - remove_waiting_box(); - g(obj.id).innerHTML = code_html; - - } catch (e) { - alert_box("show_ledger_callback" + e.message); - } - try { - code_html.evalScripts(); - } catch (e) { - alert_box(content[53] + "\n" + e.message); + "ajax_misc.php", + { + method: 'get', + parameters: query, + onFailure: ajax_misc_failure, + onSuccess: function (req, json) { + try { + if (req.responseText === 'NOCONX') { + reconnect(); + return; } + var obj = { + id: json_obj.div + 'jrn_search', + cssclass: 'inner_box', + style: ';position:absolute;width:auto;z-index:20;margin-left:20%', + drag: 1 + }; + //var y=calcy(posY); + var y = posY; + obj.style = "top:" + y + 'px;' + obj.style; + /* if ( json_obj.class ) + { + obj.cssclass=json_obj.class; + }*/ + add_div(obj); + + + var answer = req.responseXML; + var a = answer.getElementsByTagName('ctl'); + var html = answer.getElementsByTagName('code'); + if (a.length === 0) { + var rec = req.responseText; + alert_box('erreur :' + rec); + } + var name_ctl = a[0].firstChild.nodeValue; + var code_html = getNodeText(html[0]); + + code_html = unescape_xml(code_html); + remove_waiting_box(); + g(obj.id).innerHTML = code_html; + + } catch (e) { + alert_box("show_ledger_callback" + e.message); + } + try { + code_html.evalScripts(); + } catch (e) { + alert_box(content[53] + "\n" + e.message); } } + + } ); } catch (e) { alert_box('show_ledger_choice' + e.message); } } + /** * hide the ledger choice */ -function hide_ledger_choice(p_frm_search) -{ - try - { +function hide_ledger_choice(p_frm_search) { + try { var nb = $(p_frm_search).nb_jrn.value; var div = ""; if ($(p_frm_search).div) { @@ -1023,25 +965,25 @@ function hide_ledger_choice(p_frm_search) } } + /** * show the cat of ledger choice */ -function show_cat_choice() -{ +function show_cat_choice() { g('div_cat').style.visibility = 'visible'; } + /** * hide the cat of ledger choice */ -function hide_cat_choice() -{ +function hide_cat_choice() { g('div_cat').style.visibility = 'hidden'; } + /** * add a row for the forecast item */ -function for_add_row(tableid) -{ +function for_add_row(tableid) { style = 'class="input_text"'; var mytable = g(tableid).tBodies[0]; var nNumberRow = mytable.rows.length; @@ -1050,8 +992,7 @@ function for_add_row(tableid) var nNumberCell = rowToCopy.cells.length; var nb = g("nbrow"); var oNewRow = mytable.insertRow(nNumberRow); - for (var e = 0; e < nNumberCell; e++) - { + for (var e = 0; e < nNumberCell; e++) { var newCell = oRow.insertCell(e); var tt = rowToCopy.cells[e].innerHTML; new_tt = tt.replace(/an_cat0/g, "an_cat" + nb.value); @@ -1070,86 +1011,75 @@ function for_add_row(tableid) $("an_cat_amount" + nb.value).value = "0"; nb.value++; } + /** * toggle all the checkbox in a given form * @param form_id id of the form */ -function toggle_checkbox(form_id) -{ +function toggle_checkbox(form_id) { var form = g(form_id); - for (var i = 0; i < form.length; i++) - { + for (var i = 0; i < form.length; i++) { var e = form.elements[i]; - if (e.type === 'checkbox') - { - if (e.checked === true) - { + if (e.type === 'checkbox') { + if (e.checked === true) { e.checked = false; - } else - { + } else { e.checked = true; } } } } + /** * select all the checkbox in a given form * @param form_id id of the form */ -function select_checkbox(form_id) -{ +function select_checkbox(form_id) { var form = $(form_id); - for (var i = 0; i < form.length; i++) - { + for (var i = 0; i < form.length; i++) { var e = form.elements[i]; - if (e.type === 'checkbox') - { + if (e.type === 'checkbox') { e.checked = true; } } } + /** - * select all the checkbox in a given form if the specific attribute + * select all the checkbox in a given form if the specific attribute * has the given value * @param form_id id of the form * @param attribute name * @param attribute value */ -function select_checkbox_attribute(form_id, p_attribute_name, p_attribute_value) -{ +function select_checkbox_attribute(form_id, p_attribute_name, p_attribute_value) { var form = $(form_id); - for (var i = 0; i < form.length; i++) - { + for (var i = 0; i < form.length; i++) { var e = form.elements[i]; - if (e.type === 'checkbox' && e.getAttribute(p_attribute_name) == p_attribute_value) - { + if (e.type === 'checkbox' && e.getAttribute(p_attribute_name) == p_attribute_value) { e.checked = true; } } } + /** * unselect all the checkbox in a given form * @param form_id id of the form */ -function unselect_checkbox(form_id) -{ +function unselect_checkbox(form_id) { var form = $(form_id); - for (var i = 0; i < form.length; i++) - { + for (var i = 0; i < form.length; i++) { var e = form.elements[i]; - if (e.type === 'checkbox') - { + if (e.type === 'checkbox') { e.checked = false; } } } + /** * show the calculator */ -function show_calc() -{ - if (g('calc1')) - { +function show_calc() { + if (g('calc1')) { this.document.getElementById('inp').value = ""; this.document.getElementById('inp').focus(); return; @@ -1163,48 +1093,52 @@ function show_calc() shtml += '
' + content[68] + ' '; shtml += '
' + content[67] + ' '; - var obj = {id: sid, html: shtml, + var obj = { + id: sid, html: shtml, drag: false, style: 'z-index:98' }; add_div(obj); this.document.getElementById('inp').focus(); } -function display_periode(p_dossier, p_id) -{ - try - { +function display_periode(p_dossier, p_id) { + + try { var queryString = "gDossier=" + p_dossier + "&op=input_per" + "&p_id=" + p_id; - var popup = {'id': 'mod_periode', 'cssclass': 'inner_box', 'html': loading(), 'style': 'width:30em', 'drag': true}; + var popup = { + 'id': 'mod_periode', + 'cssclass': 'inner_box', + 'html': loading(), + 'style': 'width:30em', + 'drag': true + }; if (!$('mod_periode')) { add_div(popup); } var action = new Ajax.Request( - "ajax_misc.php", - {method: 'get', - parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: success_display_periode - } + "ajax_misc.php", + { + method: 'get', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: success_display_periode + } ); $('mod_periode').style.top = (posY - 70) + "px"; $('mod_periode').style.left = (posX - 70) + "px"; - } catch (e) - { + } catch (e) { alert_box("display_periode " + e.message); } } -function success_display_periode(req) -{ - try - { + +function success_display_periode(req) { + try { var answer = req.responseXML; var html = answer.getElementsByTagName('data'); - if (html.length === 0) - { + if (html.length === 0) { var rec = req.responseText; alert_box('erreur :' + rec); } @@ -1213,41 +1147,38 @@ function success_display_periode(req) code_html = unescape_xml(code_html); $('mod_periode').innerHTML = code_html; - } catch (e) - { + } catch (e) { alert_box("success_display_periode".e.message); } - try - { + try { code_html.evalScripts(); - } catch (e) - { + } catch (e) { alert_box(content[53] + "\n" + e.message); } } -function save_periode(obj) -{ - try - { + +function save_periode(obj) { + try { var queryString = $(obj).serialize() + "&op=save_per"; var action = new Ajax.Request( - "ajax_misc.php", - {method: 'post', - parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: success_display_periode - } + "ajax_misc.php", + { + method: 'post', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: success_display_periode + } ); - } catch (e) - { + } catch (e) { alert_box("display_periode " + e.message); } return false; } + /** * basic answer to ajax on success, it will fill the ctl with * the code. In that case, you need to create the object before the Ajax.Request @@ -1256,10 +1187,12 @@ function save_periode(obj) *@param ctl is the ID of the object containing the html (div, button...) *@param code is the html code, with it you fill the ctl element */ -function fill_box(req) -{ +function fill_box(req) { try { - if (req.responseText=='NOCONX') { reconnect(); return;} + if (req.responseText == 'NOCONX') { + reconnect(); + return; + } remove_waiting_box(); var answer = req.responseXML; @@ -1292,13 +1225,13 @@ function fill_box(req) } + /** *display a popin to let you modified a predefined operation *@param dossier_id *@param od_id from table op_predef */ -function mod_predf_op(dossier_id, od_id,p_ledger) -{ +function mod_predf_op(dossier_id, od_id, p_ledger) { var target = "mod_predf_op"; removeDiv(target); var str_style = "top:10%;left:2%;width:96%"; @@ -1307,31 +1240,30 @@ function mod_predf_op(dossier_id, od_id,p_ledger) add_div(div); - var qs = "gDossier=" + dossier_id + '&op=mod_predf&id=' + od_id+'&ledger_id='+p_ledger; + var qs = "gDossier=" + dossier_id + '&op=mod_predf&id=' + od_id + '&ledger_id=' + p_ledger; var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: fill_box - } + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: fill_box + } ); } -function save_predf_op(obj) -{ +function save_predf_op(obj) { waiting_box(); var querystring = $(obj).serialize() + '&op=save_predf'; // Create a ajax request to get all the person var action = new Ajax.Request('ajax_misc.php', - { - method: 'post', - parameters: querystring, - onFailure: null, - onSuccess: refresh_window - } + { + method: 'post', + parameters: querystring, + onFailure: null, + onSuccess: refresh_window + } ); return false; @@ -1343,23 +1275,19 @@ function save_predf_op(obj) * @param {type} dossier * @param {type} ctl_concern * @param {float or string} amount_id Amount or DOM Id of the element containing the amount - * @param {float} ledger + * @param {float} ledger * @param {type} p_id_targetDom Element (div) where to display the search result * @param p_tiers id of the Tiers * @returns {undefined} */ -function search_reconcile(dossier, ctl_concern, amount_id, ledger, p_id_target, p_tiers) -{ - if (amount_id === undefined) - { +function search_reconcile(dossier, ctl_concern, amount_id, ledger, p_id_target, p_tiers) { + if (amount_id === undefined) { amount_id = 0; - } else if ($(amount_id)) - { - if ($(amount_id).value) - { + } else if ($(amount_id)) { + if ($(amount_id).value) { amount_id = $(amount_id).value; } else if - ($(amount_id).innerHTML) { + ($(amount_id).innerHTML) { amount_id = $(amount_id).innerHTML; } } @@ -1379,7 +1307,8 @@ function search_reconcile(dossier, ctl_concern, amount_id, ledger, p_id_target, var hide_operation = $(ctl_concern).getAttribute("hide_operation"); var single_operation = $(ctl_concern).getAttribute("single_operation"); - var param_send = {gDossier: dossier, + var param_send = { + gDossier: dossier, ctlc: ctl_concern, op: 'search_op', ac: 'JSSEARCH', @@ -1388,31 +1317,31 @@ function search_reconcile(dossier, ctl_concern, amount_id, ledger, p_id_target, target: target, tiers: tiers, hide_operation: hide_operation, - single_operation:single_operation + single_operation: single_operation }; var qs = encodeJSON(param_send); var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - remove_waiting_box(); - var div = {id: target, cssclass: 'inner_box', style: str_style, drag: 0}; - add_div(div); - $(target).innerHTML = req.responseText; - req.responseText.evalScripts(); - } + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + remove_waiting_box(); + var div = {id: target, cssclass: 'inner_box', style: str_style, drag: 0}; + add_div(div); + $(target).innerHTML = req.responseText; + req.responseText.evalScripts(); } + } ); } + /** * search in a popin obj if the object form */ -function search_operation(obj) -{ +function search_operation(obj) { try { var dossier = g('gDossier').value; waiting_box(); @@ -1422,23 +1351,23 @@ function search_operation(obj) } var qs = Form.serialize('search_form_ajx') + "&op=search_op"; var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - remove_waiting_box(); - $(target).innerHTML = req.responseText; - req.responseText.evalScripts(); - } + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + remove_waiting_box(); + $(target).innerHTML = req.responseText; + req.responseText.evalScripts(); } + } ); - } catch (e) - { + } catch (e) { remove_waiting_box(); alert_box(e.message); } } + /** * Update the field e_concerned, from class_iconcerned * Value is the field where to put the quick-code but only if one checkbox has been @@ -1446,25 +1375,20 @@ function search_operation(obj) * @param {type} obj * @returns {undefined} */ -function set_reconcile(obj) -{ +function set_reconcile(obj) { - try - { + try { var ctlc = obj.elements['ctlc']; var tiers = obj.elements['tiers']; if (!obj.elements['target']) return; var target = obj.elements['target'].value; var single_operation = obj.elements['single_operation'].value; - for (var e = 0; e < obj.elements.length; e++) - { + for (var e = 0; e < obj.elements.length; e++) { var elmt = obj.elements[e]; - if (elmt.type === "checkbox") - { - if (elmt.checked === true) - { + if (elmt.type === "checkbox") { + if (elmt.checked === true) { var str_name = elmt.name; var nValue = str_name.replace("jr_concerned", ""); if ($(ctlc.value).value != '') { @@ -1475,50 +1399,50 @@ function set_reconcile(obj) if (tiers && tiers.value != "") { $(tiers.value).value = elmt.value; /* set the name */ - new Ajax.Request("fid.php",{ - method:"get", - parameters:{gDossier:obj.elements['gDossier'].value,"FID":elmt.value}, - onSuccess:function(req){ + new Ajax.Request("fid.php", { + method: "get", + parameters: {gDossier: obj.elements['gDossier'].value, "FID": elmt.value}, + onSuccess: function (req) { // find the row number //tiers.value = e_othern - var tiers_card=new String(tiers.value); - var num=tiers_card.replace("e_other",""); - var tiers_name_id="e_other"+"_name"+num; + var tiers_card = new String(tiers.value); + var num = tiers_card.replace("e_other", ""); + var tiers_name_id = "e_other" + "_name" + num; var answer = req.responseText.evalJSON(); - $(tiers_name_id).value=answer["name"]; + $(tiers_name_id).value = answer["name"]; } }); } } - if (single_operation==0) { + if (single_operation == 0) { $(ctlc.value).value += nValue; } else { $(ctlc.value).value = nValue; - + } } } } removeDiv(obj.elements['target'].value); - } catch (e) - { + } catch (e) { alert_box(e.message) } } -function remove_waiting_node() -{ + +function remove_waiting_node() { $('info_div').innerHTML = ""; $('info_div').style.display = "none"; } -function remove_waiting_box() -{ + +function remove_waiting_box() { if ($('wait_box')) { Effect.Fade('wait_box', {duration: 0.6}); } remove_waiting_node(); } + /** * Show all the detail of a profile : Menu, Management, Repository and * let the user to modify it @@ -1526,38 +1450,37 @@ function remove_waiting_box() * @param {type} profile_id * @returns {undefined} */ -function get_profile_detail(gDossier, profile_id) -{ +function get_profile_detail(gDossier, profile_id) { waiting_box(); var qs = "op=display_profile&gDossier=" + gDossier + "&p_id=" + profile_id + "&ctl=detail_profile"; var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - remove_waiting_box(); - $('list_profile').hide(); - $('detail_profile').innerHTML = req.responseText; - req.responseText.evalScripts(); - $('detail_profile').show(); - if (profile_id != "-1") - profile_show('profile_gen_div'); - } + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + remove_waiting_box(); + $('list_profile').hide(); + $('detail_profile').innerHTML = req.responseText; + req.responseText.evalScripts(); + $('detail_profile').show(); + if (profile_id != "-1") + profile_show('profile_gen_div'); } + } ); } -function get_profile_detail_success_obsolete(xml) -{ + +function get_profile_detail_success_obsolete(xml) { remove_waiting_box(); } + /** * compute the string to position a div in a fixed way * @return string */ -function fixed_position(p_sx, p_sy) -{ +function fixed_position(p_sx, p_sy) { var sx = p_sx; var sy = calcy(p_sy); @@ -1565,135 +1488,135 @@ function fixed_position(p_sx, p_sy) return str_style; } + /** * compute Y even if the windows has scrolled down or up *@return the correct Y position */ -function calcy(p_sy) -{ +function calcy(p_sy) { var sy = p_sy; - if (window.pageYOffset) - { + if (window.pageYOffset) { sy = window.pageYOffset + p_sy; - } else - { + } else { sy = document.documentElement.scrollTop + p_sy; } return sy; } + /** * display a box with the menu option * @param {type} gdossier * @param {type} pm_id * @returns {undefined} */ -function mod_menu(gdossier, pm_id) -{ +function mod_menu(gdossier, pm_id) { waiting_box(); removeDiv('divdm' + pm_id); var qs = "op=det_menu&gDossier=" + gdossier + "&pm_id=" + pm_id + "&ctl=divdm" + pm_id; var pos = fixed_position(50, 250); var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - try { - remove_waiting_box(); - add_div({id: "divdm" + pm_id, drag: 1, cssclass: "inner_box", style: pos}); - $('divdm' + pm_id).innerHTML = req.responseText; - } catch (e) { - alert_box(e.message); - } + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + try { + remove_waiting_box(); + add_div({id: "divdm" + pm_id, drag: 1, cssclass: "inner_box", style: pos}); + $('divdm' + pm_id).innerHTML = req.responseText; + } catch (e) { + alert_box(e.message); } } + } ); } + /** * Display the submenu of a menu or a module, used in setting the menu - * + * * @param {type} p_dossier * @param {type} p_profile * @param {type} p_dep * @returns {undefined} */ -function display_sub_menu(p_dossier, p_profile, p_dep, p_level) -{ +function display_sub_menu(p_dossier, p_profile, p_dep, p_level) { waiting_box(); new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: {op: 'display_submenu', - gDossier: p_dossier, - dep: p_dep, - p_profile: p_profile, - p_level: p_level - }, - onSuccess: function (req) { - try { - remove_waiting_box(); - if ($('menu_table').rows.length > p_level) { - $('menu_table').rows[1].remove(); - } - $('sub' + p_dep).addClassName("selectedmenu"); - var new_row = document.createElement('TR'); - new_row.innerHTML = req.responseText; - $('menu_table').appendChild(new_row); - } catch (e) { - alert_box(e.message); + { + method: 'get', + parameters: { + op: 'display_submenu', + gDossier: p_dossier, + dep: p_dep, + p_profile: p_profile, + p_level: p_level + }, + onSuccess: function (req) { + try { + remove_waiting_box(); + if ($('menu_table').rows.length > p_level) { + $('menu_table').rows[1].remove(); } + $('sub' + p_dep).addClassName("selectedmenu"); + var new_row = document.createElement('TR'); + new_row.innerHTML = req.responseText; + $('menu_table').appendChild(new_row); + } catch (e) { + alert_box(e.message); } - }) + } + }) } + /** * in CFGPRO, ask to confirm before removing a submenu and its children * @param {type} p_dossier * @param {type} profile_menu_id * @returns {undefined} */ -function remove_sub_menu(p_dossier, profile_menu_id) -{ +function remove_sub_menu(p_dossier, profile_menu_id) { confirm_box(null, content[47], - function () { - waiting_box(); - new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: {op: 'remove_submenu', gDossier: p_dossier, - p_profile_menu_id: profile_menu_id}, - onSuccess: function (req) { - try { - remove_waiting_box(); - $('sub' + profile_menu_id).remove(); - if ($('menu_table').rows.length > 1) { - $('menu_table').rows[1].remove(); - } - - } catch (e) - { - alert_box(e.message); - } + function () { + waiting_box(); + new Ajax.Request('ajax_misc.php', + { + method: 'get', + parameters: { + op: 'remove_submenu', gDossier: p_dossier, + p_profile_menu_id: profile_menu_id + }, + onSuccess: function (req) { + try { + remove_waiting_box(); + $('sub' + profile_menu_id).remove(); + if ($('menu_table').rows.length > 1) { + $('menu_table').rows[1].remove(); } + + } catch (e) { + alert_box(e.message); } - ) - }); + } + } + ) + }); } + /** * add a menu to a profile, propose only the available menu - * @param obj json object - * - dossier : , - * - p_id : profile id , - * - type : Type of menu are "pr" for Printing "me" for plain menu + * @param obj json object + * - dossier : , + * - p_id : profile id , + * - type : Type of menu are "pr" for Printing "me" for plain menu * - p_level : level of menu (0 -> module,1-> top menu, 2->submenu) * - dep : the parent menu id (pm_id) - * + * */ -function add_menu(obj) -{ +function add_menu(obj) { var pdossier = obj.dossier; var p_id = obj.p_id; var p_type = obj.type; @@ -1702,164 +1625,165 @@ function add_menu(obj) removeDiv('divdm' + p_id); var pos = fixed_position(250, 150) + ";width:50%;"; var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: {op: 'add_menu', - 'gDossier': pdossier, - 'p_id': p_id, - 'ctl': 'divdm' + p_id, - 'type': p_type, - 'dep': obj.dep, - 'p_level': obj.p_level}, - onFailure: null, - onSuccess: function (req) { - try { - remove_waiting_box(); - add_div({id: "divdm" + p_id, drag: 1, "cssclass": "inner_box", "style": pos}); - $('divdm' + p_id).innerHTML = req.responseText; - } catch (e) { - alert_box(e.message); - } + { + method: 'get', + parameters: { + op: 'add_menu', + 'gDossier': pdossier, + 'p_id': p_id, + 'ctl': 'divdm' + p_id, + 'type': p_type, + 'dep': obj.dep, + 'p_level': obj.p_level + }, + onFailure: null, + onSuccess: function (req) { + try { + remove_waiting_box(); + add_div({id: "divdm" + p_id, drag: 1, "cssclass": "inner_box", "style": pos}); + $('divdm' + p_id).innerHTML = req.responseText; + } catch (e) { + alert_box(e.message); } } + } ); } + /** * Display a box to enter data for adding a new plugin from * the CFGMENU * @param {type} p_dossier * @returns {undefined} */ -function add_plugin(p_dossier) -{ +function add_plugin(p_dossier) { waiting_box(); removeDiv('divplugin'); var qs = "op=add_plugin&gDossier=" + p_dossier + "&ctl=divplugin"; var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - try { - remove_waiting_box(); - var pos = fixed_position(250, 150) + ";width:30%"; - add_div({id: "divplugin", drag: 1, cssclass: "inner_box", style: pos}); - $('divplugin').innerHTML = req.responseText; - } catch (e) { - alert_box(e.message); - } + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + try { + remove_waiting_box(); + var pos = fixed_position(250, 150) + ";width:30%"; + add_div({id: "divplugin", drag: 1, cssclass: "inner_box", style: pos}); + $('divplugin').innerHTML = req.responseText; + } catch (e) { + alert_box(e.message); } } + } ); } + /** * Modify a menu * @param {type} p_dossier * @param {type} me_code * @returns {undefined} */ -function mod_plugin(p_dossier, me_code) -{ +function mod_plugin(p_dossier, me_code) { waiting_box(); removeDiv('divplugin'); var qs = "op=mod_plugin&gDossier=" + p_dossier + "&ctl=divplugin&me_code=" + me_code; var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - try { - remove_waiting_box(); - var pos = fixed_position(250, 150) + ";width:30%"; - add_div({id: "divplugin", drag: 1, cssclass: "inner_box", style: pos}); - $('divplugin').innerHTML = req.responseText; + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + try { + remove_waiting_box(); + var pos = fixed_position(250, 150) + ";width:30%"; + add_div({id: "divplugin", drag: 1, cssclass: "inner_box", style: pos}); + $('divplugin').innerHTML = req.responseText; - } catch (e) { - alert_box(e.message); - } + } catch (e) { + alert_box(e.message); } } + } ); } -function create_menu(p_dossier) -{ + +function create_menu(p_dossier) { waiting_box(); removeDiv('divmenu'); var qs = "op=create_menu&gDossier=" + p_dossier + "&ctl=divmenu"; var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - try { - remove_waiting_box(); - var pos = fixed_position(250, 150) + ";width:30%"; - add_div({ - id: "divmenu", - drag: 1, - cssclass: "inner_box", - style: pos - }); - $('divmenu').innerHTML = req.responseText; - } catch (e) { - alert_box(e.message); - } + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + try { + remove_waiting_box(); + var pos = fixed_position(250, 150) + ";width:30%"; + add_div({ + id: "divmenu", + drag: 1, + cssclass: "inner_box", + style: pos + }); + $('divmenu').innerHTML = req.responseText; + } catch (e) { + alert_box(e.message); } } + } ); } -function modify_menu(p_dossier, me_code) -{ + +function modify_menu(p_dossier, me_code) { waiting_box(); removeDiv('divmenu'); var qs = "op=modify_menu&gDossier=" + p_dossier + "&ctl=divmenu&me_code=" + me_code; var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - try { - remove_waiting_box(); - var pos = fixed_position(250, 150) + ";width:30%"; - add_div({ - id: "divmenu", - drag: 1, - cssclass: "inner_box", - style: pos - }); - $('divmenu').innerHTML = req.responseText; + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + try { + remove_waiting_box(); + var pos = fixed_position(250, 150) + ";width:30%"; + add_div({ + id: "divmenu", + drag: 1, + cssclass: "inner_box", + style: pos + }); + $('divmenu').innerHTML = req.responseText; - } catch (e) { - alert_box(e.message); - } + } catch (e) { + alert_box(e.message); } } + } ); } -function get_properties(obj) -{ + +function get_properties(obj) { var a_array = []; var s_type = "[" + typeof obj + "]"; - for (var m in obj) - { + for (var m in obj) { a_array.push(m); } alert_box(s_type + a_array.join(",")); } + /** * add a line in the form for the report * @param p_dossier dossier id to connect */ -function rapport_add_row(p_dossier) -{ +function rapport_add_row(p_dossier) { style = 'style="border: 1px solid blue;"'; var table = $("rap1"); var line = table.rows.length; @@ -1882,13 +1806,12 @@ function rapport_add_row(p_dossier) g('form' + line).value = ''; } + /** * Search an action in an inner box */ -function search_action(dossier, ctl_concern) -{ - try - { +function search_action(dossier, ctl_concern) { + try { waiting_box(); var dossier = g('gDossier').value; @@ -1899,7 +1822,8 @@ function search_action(dossier, ctl_concern) var div = {id: target, cssclass: 'inner_box', style: str_style, html: loading(), drag: 1}; - var target = {gDossier: dossier, + var target = { + gDossier: dossier, ctlc: ctl_concern, op: 'search_action', ctl: target @@ -1908,73 +1832,66 @@ function search_action(dossier, ctl_concern) var qs = encodeJSON(target); var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (req) { - try { - remove_waiting_box(); - add_div(div); - $('search_action_div').innerHTML = req.responseText; - req.responseText.evalScripts(); - } catch (e) { - alert_box(e.message); - } + { + method: 'get', + parameters: qs, + onFailure: null, + onSuccess: function (req) { + try { + remove_waiting_box(); + add_div(div); + $('search_action_div').innerHTML = req.responseText; + req.responseText.evalScripts(); + } catch (e) { + alert_box(e.message); } } + } ); } catch (e) { alert_box(e.message); } } -function result_search_action(obj) -{ - try - { +function result_search_action(obj) { + try { var queryString = $(obj).serialize() + "&op=search_action"; var action = new Ajax.Request( - "ajax_misc.php", - {method: 'get', - parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - try { - remove_waiting_box(); - $('search_action_div').innerHTML = req.responseText; - req.responseText.evalScripts(); - } catch (e) { - alert_box(e.message); - } + "ajax_misc.php", + { + method: 'get', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + try { + remove_waiting_box(); + $('search_action_div').innerHTML = req.responseText; + req.responseText.evalScripts(); + } catch (e) { + alert_box(e.message); } } + } ) - } catch (e) - { + } catch (e) { alert_box("display_periode " + e.message); } return false; } -function set_action_related(p_obj) -{ +function set_action_related(p_obj) { - try - { + try { var obj = $(p_obj); var ctlc = obj.elements['ctlc']; - for (var e = 0; e < obj.elements.length; e++) - { + for (var e = 0; e < obj.elements.length; e++) { var elmt = obj.elements[e]; - if (elmt.type === "checkbox") - { - if (elmt.checked === true) - { + if (elmt.type === "checkbox") { + if (elmt.checked === true) { var str_name = elmt.name; var nValue = elmt.value; if ($(ctlc.value).value != '') { @@ -1986,19 +1903,18 @@ function set_action_related(p_obj) } removeDiv('search_action_div'); return false; - } catch (e) - { + } catch (e) { alert_box(e.message); return false; } } + /** * Show a form to modify or add a new repository - *@param p_dossier + *@param p_dossier *@param r_id : repository id */ -function stock_repo_change(p_dossier, r_id) -{ +function stock_repo_change(p_dossier, r_id) { var queryString = "gDossier=" + p_dossier + "&op=mod_stock_repo" + "&r_id=" + r_id; var nTop = calcy(posY); var nLeft = "10.1562%"; @@ -2007,21 +1923,21 @@ function stock_repo_change(p_dossier, r_id) removeDiv('change_stock_repo_div'); waiting_box(); var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - add_div({id: 'change_stock_repo_div', style: str_style, cssclass: 'inner_box', drag: "1"}); - $('change_stock_repo_div').innerHTML = req.responseText; + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + add_div({id: 'change_stock_repo_div', style: str_style, cssclass: 'inner_box', drag: "1"}); + $('change_stock_repo_div').innerHTML = req.responseText; - } } + } ); } -function stock_inv_detail(p_dossier, p_id) -{ + +function stock_inv_detail(p_dossier, p_id) { var queryString = "gDossier=" + p_dossier + "&op=view_mod_stock" + "&c_id=" + p_id + "&ctl=view_mod_stock_div"; var nTop = calcy(posY); var nLeft = "10%"; @@ -2030,23 +1946,22 @@ function stock_inv_detail(p_dossier, p_id) removeDiv('view_mod_stock_div'); waiting_box(); var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - add_div({id: 'view_mod_stock_div', style: str_style, cssclass: 'inner_box', drag: "1"}); - $('view_mod_stock_div').innerHTML = req.responseText; - req.responseText.evalScripts(); - } + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + add_div({id: 'view_mod_stock_div', style: str_style, cssclass: 'inner_box', drag: "1"}); + $('view_mod_stock_div').innerHTML = req.responseText; + req.responseText.evalScripts(); } + } ); } -function show_fin_chdate(obj_id) -{ - try - { + +function show_fin_chdate(obj_id) { + try { var ch = $(obj_id).options[$(obj_id).selectedIndex].value; if (ch == 2) { $('chdate_ext').hide(); @@ -2072,50 +1987,67 @@ function show_fin_chdate(obj_id) alert_box(e.message); } } + /** * tab menu for the profile parameter */ -function profile_show(p_div) -{ +function profile_show(p_div) { try { - var div = ['profile_gen_div', 'profile_menu_div', 'profile_print_div', 'profile_gestion_div', 'profile_repo_div','profile_menu_mobile_div']; + var div = ['profile_gen_div', 'profile_menu_div', 'profile_print_div', 'profile_gestion_div', 'profile_repo_div', 'profile_menu_mobile_div']; for (var r = 0; r < div.length; r++) { $(div[r]).hide(); } $(p_div).show(); - } catch (e) - { + } catch (e) { alert_box(e.message); } } -function detail_category_show(p_div, p_dossier, p_id) -{ + +function detail_category_show(p_div, p_dossier, p_id) { $(p_div).show(); waiting_box(); $('detail_category_div').innerHTML = ""; var queryString = "gDossier=" + p_dossier + "&id=" + p_id + "&op=fddetail"; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - $('list_cat_div').hide(); - $('detail_category_div').innerHTML = req.responseText; - $('detail_category_div').show(); - req.responseText.evalScripts(); - } + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + $('list_cat_div').hide(); + $('detail_category_div').innerHTML = req.responseText; + $('detail_category_div').show(); + req.responseText.evalScripts(); } + } ); } + +/** + * check that the form is correct for a new category of card + */ +function check_new_category() +{ + if ( $('nom_mod_id').value.trim()=="") { + new Effect.Highlight('nom_mod_id',{startcolor:"#ff0000"}); + smoke.alert('Nom catégorie obligatoire'); + return false; + } + var TemplateCard= document.getElementsByName('FICHE_REF'); + for (i = 0;i< TemplateCard.length;i++) { + if (TemplateCard[i].checked) return true; + } + new Effect.Highlight('template_category_ck',{startcolor:"#ff0000"}); + smoke.alert('Choisissez une catégorie'); + return false; +} /** * check if the parameter is a valid a valid date or not, returns true if it is valid otherwise * false * @param p_str_date the string of the date (format DD.MM.YYYY) */ -function check_date(p_str_date) -{ +function check_date(p_str_date) { var format = /^\d{2}\.\d{2}\.\d{4}$/; if (!format.test(p_str_date)) { return false; @@ -2131,78 +2063,81 @@ function check_date(p_str_date) } } + /** * get the string in the id and check if the date is valid * @param p_id_date is the id of the element to check * @return true if the date is valid * @see check_date */ -function check_date_id(p_id_date) -{ +function check_date_id(p_id_date) { var str_date = $(p_id_date).value; return check_date(str_date); } + /** * * @param ag_id to view * @param dossier is the folder * @param modify : show the modify button values : 0 for no 1 for yes */ -function view_action(ag_id, dossier, modify) -{ +function view_action(ag_id, dossier, modify) { waiting_box(); layer++; id = 'action' + layer; querystring = 'gDossier=' + dossier + '&op=vw_action&ag_id=' + ag_id + '&div=' + id + '&mod=' + modify; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: querystring, - onFailure: error_box, - onSuccess: function (req) { - try { - if (req.responseText === 'NOCONX') { reconnect();return;} - remove_waiting_box(); - var answer = req.responseXML; - var ctl = answer.getElementsByTagName('ctl'); - if (ctl.length == 0) { - throw 'ajax failed ctl view_action'; - } - var ctl_txt = getNodeText(ctl[0]); - var html = answer.getElementsByTagName('code'); - if (html.length === 0) - { - var rec = req.responseText; - throw 'ajax failed html view_action'; - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - var pos = fixed_position(0, 50) + ";width:90%;left:5%;"; - add_div({ - id: id, - cssclass: "inner_box", - style: pos - }); - $(id).innerHTML = code_html; - if (ctl_txt == 'ok') { - // compute detail - var detail=in_child(id,"follow_up_detail"); - if (detail) { - compute_all_ledger(); - } - - - } - code_html.evalScripts(); - } catch (e) { - alert_box('view_action' + e.message); + "ajax_misc.php", + { + method: 'get', + parameters: querystring, + onFailure: error_box, + onSuccess: function (req) { + try { + if (req.responseText === 'NOCONX') { + reconnect(); + return; } + remove_waiting_box(); + var answer = req.responseXML; + var ctl = answer.getElementsByTagName('ctl'); + if (ctl.length == 0) { + throw 'ajax failed ctl view_action'; + } + var ctl_txt = getNodeText(ctl[0]); + var html = answer.getElementsByTagName('code'); + if (html.length === 0) { + var rec = req.responseText; + throw 'ajax failed html view_action'; + } + var code_html = getNodeText(html[0]); + code_html = unescape_xml(code_html); + var pos = fixed_position(0, 50) + ";width:90%;left:5%;"; + add_div({ + id: id, + cssclass: "inner_box", + style: pos + }); + $(id).innerHTML = code_html; + if (ctl_txt == 'ok') { + // compute detail + var detail = in_child(id, "follow_up_detail"); + if (detail) { + compute_all_ledger(); + } + + + } + code_html.evalScripts(); + } catch (e) { + alert_box('view_action' + e.message); } } + } ); } + /** * filter quickly a table * @param phrase : phrase to seach @@ -2230,11 +2165,9 @@ function filter_table(phrase, _id, colnr, start_row) { for (var r = start_row; r < table.rows.length; r++) { var found = 0; - for (var col = 0; col < aCol.length; col++) - { + for (var col = 0; col < aCol.length; col++) { var idx = aCol[col]; - if (table.rows[r].cells[idx]) - { + if (table.rows[r].cells[idx]) { ele = table.rows[r].cells[idx].innerHTML.replace(/<[^>]+>/g, ""); //var displayStyle = 'none'; if (ele.toLowerCase().indexOf(words) >= 0) { @@ -2264,6 +2197,7 @@ function filter_table(phrase, _id, colnr, start_row) { $('info_div').style.display = "none"; $('info_div').innerHTML = ""; } + /** * filter quickly a list * @param phrase : DOM id of the input text where we find the word to seach, the searchable content use the className searchContent @@ -2291,10 +2225,10 @@ function filter_list(phrase, _id) { let e = 0; for (e = 0; e < la_content.length; e++) { - ele += la_content[e].innerText; + ele += la_content[e].innerText; } - console.debug (`ele = ${ele}`); + console.debug(`ele = ${ele}`); if (ele.toLowerCase().indexOf(words) >= 0) { tot_found++; l_list.childNodes[r].style.display = 'block'; @@ -2317,7 +2251,7 @@ function filter_list(phrase, _id) { } /** - * filter quickly a select + * filter quickly a select * @param phrase : DOM id of the input text where we find the word to seach * @param _id : id of the list * @returns nothing @@ -2339,7 +2273,7 @@ function filter_multiselect(phrase, _id) { tot_found++; l_list.options[r].style.display = 'block'; } else { - l_list.options[r].style.display = 'none'; + l_list.options[r].style.display = 'none'; } $('info_div').style.display = "none"; $('info_div').innerHTML = ""; @@ -2354,12 +2288,12 @@ function filter_multiselect(phrase, _id) { } } } + /** - * + * * Display the task late or for today in dashboard */ -function display_task(p_id) -{ +function display_task(p_id) { $(p_id).style.top = posY + 'px'; $(p_id).style.left = "10%"; @@ -2367,22 +2301,23 @@ function display_task(p_id) $(p_id).style.display = 'block'; } + /** - * + * * Set a message in the info */ -function info_message(p_message) -{ +function info_message(p_message) { $('info_div').innerHTML = p_message; $('info_div').style.display = "block"; } + /** * hide the info box */ -function info_hide() -{ +function info_hide() { $('info_div').style.display = "none"; } + /** * Show the navigator in a internal window * @returns {undefined} @@ -2393,34 +2328,33 @@ function ask_navigator(p_dossier) { removeDiv('navi_div') var queryString = "gDossier=" + p_dossier + "&op=navigator"; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - add_div({id: 'navi_div', style: 'top:2em;', cssclass: 'inner_box'}); - $('navi_div').innerHTML = req.responseText; - try - { - req.responseText.evalScripts(); - sorttable.makeSortable($("navi_tb")); - } catch (e) - { - alert_box("answer_box Impossible executer script de la reponse\n" + e.message); - } - + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + add_div({id: 'navi_div', style: 'top:2em;', cssclass: 'inner_box'}); + $('navi_div').innerHTML = req.responseText; + try { + req.responseText.evalScripts(); + sorttable.makeSortable($("navi_tb")); + } catch (e) { + alert_box("answer_box Impossible executer script de la reponse\n" + e.message); } + } + } ); } catch (e) { info_message(e.message); } } + /** * Display an internal windows to set the user's preference - * + * */ function set_preference(p_dossier) { try { @@ -2428,34 +2362,36 @@ function set_preference(p_dossier) { removeDiv('preference_div') var queryString = "gDossier=" + p_dossier + "&op=preference"; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - if (req.responseText === 'NOCONX') { reconnect();return;} - add_div({id: 'preference_div', drag: 1}); - $('preference_div').innerHTML = req.responseText; - try - { - req.responseText.evalScripts(); - } catch (e) - { - alert_box("answer_box Impossible executer script de la reponse\n" + e.message); - } - + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + if (req.responseText === 'NOCONX') { + reconnect(); + return; } + add_div({id: 'preference_div', drag: 1}); + $('preference_div').innerHTML = req.responseText; + try { + req.responseText.evalScripts(); + } catch (e) { + alert_box("answer_box Impossible executer script de la reponse\n" + e.message); + } + } + } ); } catch (e) { info_message(e.message); } } + /** * Display user's bookmark - * + * */ function show_bookmark(p_dossier) { try { @@ -2465,30 +2401,29 @@ function show_bookmark(p_dossier) { param = param.gsub('?', ''); var queryString = "gDossier=" + p_dossier + "&op=bookmark&" + param; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - add_div({id: 'bookmark_div', cssclass: 'inner_box', drag: 1}); - $('bookmark_div').innerHTML = req.responseText; - try - { - req.responseText.evalScripts(); - } catch (e) - { - alert_box(content[53] + "\n" + e.message); - } - + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + add_div({id: 'bookmark_div', cssclass: 'inner_box', drag: 1}); + $('bookmark_div').innerHTML = req.responseText; + try { + req.responseText.evalScripts(); + } catch (e) { + alert_box(content[53] + "\n" + e.message); } + } + } ); } catch (e) { info_message(e.message); } } + /** * save the bookmark */ @@ -2497,31 +2432,30 @@ function save_bookmark() { waiting_box(); var queryString = "op=bookmark&" + $("bookmark_frm").serialize(); var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - // removeDiv('bookmark_div'); - // - $('bookmark_div').innerHTML = req.responseText; - try - { - req.responseText.evalScripts(); - } catch (e) - { - alert_box(content[53] + "\n" + e.message); - } - + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + // removeDiv('bookmark_div'); + // + $('bookmark_div').innerHTML = req.responseText; + try { + req.responseText.evalScripts(); + } catch (e) { + alert_box(content[53] + "\n" + e.message); } + } + } ); } catch (e) { info_message(e.message); } } + /** * remove selected bookmark */ @@ -2530,101 +2464,95 @@ function remove_bookmark() { waiting_box(); var queryString = "op=bookmark&" + $("bookmark_del_frm").serialize(); var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - remove_waiting_box(); - $('bookmark_div').innerHTML = req.responseText; - try - { - req.responseText.evalScripts(); - } catch (e) - { - alert_box(content[53] + "\n" + e.message); - } - + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + $('bookmark_div').innerHTML = req.responseText; + try { + req.responseText.evalScripts(); + } catch (e) { + alert_box(content[53] + "\n" + e.message); } + } + } ); } catch (e) { error_message(e.message); } } + /** * display the error message into the div error_content_div (included into error_div) *@param message message to display *@note there is no protection */ -function error_message(message) -{ +function error_message(message) { $('error_content_div').innerHTML = message; $('error_div').style.visibility = 'visible'; } + /** * show the detail of a tag and propose to save it */ -function show_tag(p_dossier, p_ac, p_tag_id, p_post) -{ +function show_tag(p_dossier, p_ac, p_tag_id, p_post) { try { waiting_box(); var queryString = "op=tag_detail&tag=" + p_tag_id + "&gDossier=" + p_dossier + "&ac=" + p_ac + '&form=' + p_post; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - var answer = req.responseXML; - var html = answer.getElementsByTagName('code'); - if (html.length === 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - remove_waiting_box(); - var posy = calcy(250); - add_div({id: 'tag_div', cssclass: 'inner_box', drag: 0, style: "position:fixed;top:15%;"}); - $('tag_div').innerHTML = code_html; - try - { - code_html.evalScripts(); - } catch (e) - { - alert_box(content[53] + "\n" + e.message); - } - + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + var answer = req.responseXML; + var html = answer.getElementsByTagName('code'); + if (html.length === 0) { + var rec = req.responseText; + alert_box('erreur :' + rec); } + var code_html = getNodeText(html[0]); + code_html = unescape_xml(code_html); + remove_waiting_box(); + var posy = calcy(250); + add_div({id: 'tag_div', cssclass: 'inner_box', drag: 0, style: "position:fixed;top:15%;"}); + $('tag_div').innerHTML = code_html; + try { + code_html.evalScripts(); + } catch (e) { + alert_box(content[53] + "\n" + e.message); + } + } + } ); } catch (e) { error_message(e.message); } } -/** +/** * save the modified tag */ -function save_tag() -{ +function save_tag() { try { waiting_box(); var queryString = "op=tag_save&" + $("tag_detail_frm").serialize(); var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req, j) { - remove_waiting_box(); - removeDiv('tag_div'); - } + "ajax_misc.php", + { + method: 'get', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req, j) { + remove_waiting_box(); + removeDiv('tag_div'); } + } ); } catch (e) { error_message(e.message); @@ -2633,44 +2561,44 @@ function save_tag() return false; } + /** * Show a list of tag which can be added to the current followup document * @param {type} p_dossier * @param {type} ag_id * @returns {undefined} */ -function action_tag_select(p_dossier, ag_id) -{ +function action_tag_select(p_dossier, ag_id) { try { waiting_box(); var queryString = "ag_id=" + ag_id + "&op=tag_list&gDossier=" + p_dossier; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req, j) { - var answer = req.responseXML; - var html = answer.getElementsByTagName('code'); - if (html.length === 0) - { - var rec = unescape_xml(req.responseText); - error_message('erreur :' + rec); - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - var pos = fixed_position(35, 229); - add_div({id: 'tag_div', style: pos, cssclass: 'inner_box tag', drag: 0}); - - remove_waiting_box(); - $('tag_div').innerHTML = code_html; + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req, j) { + var answer = req.responseXML; + var html = answer.getElementsByTagName('code'); + if (html.length === 0) { + var rec = unescape_xml(req.responseText); + error_message('erreur :' + rec); } + var code_html = getNodeText(html[0]); + code_html = unescape_xml(code_html); + var pos = fixed_position(35, 229); + add_div({id: 'tag_div', style: pos, cssclass: 'inner_box tag', drag: 0}); + + remove_waiting_box(); + $('tag_div').innerHTML = code_html; } + } ); } catch (e) { error_message(e.message); } } + /** * Add the current tag to the current ag_id * @param {type} p_dossier @@ -2678,21 +2606,55 @@ function action_tag_select(p_dossier, ag_id) * @param p_isgroup g it is a group , t is a single tag * @returns {undefined} */ -function action_tag_add(p_dossier, ag_id, t_id,p_isgroup) -{ +function action_tag_add(p_dossier, ag_id, t_id, p_isgroup) { try { waiting_box(); - var queryString = "t_id=" + t_id + "&ag_id=" + ag_id + "&op=tag_add&gDossier=" + p_dossier+"&isgroup="+p_isgroup; + var queryString = "t_id=" + t_id + "&ag_id=" + ag_id + "&op=tag_add&gDossier=" + p_dossier + "&isgroup=" + p_isgroup; var action = new Ajax.Request( + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req, j) { + var answer = req.responseXML; + var html = answer.getElementsByTagName('code'); + if (html.length === 0) { + var rec = unescape_xml(req.responseText); + error_message('erreur :' + rec); + } + var code_html = getNodeText(html[0]); + code_html = unescape_xml(code_html); + remove_waiting_box(); + $('action_tag_td').innerHTML = code_html; + removeDiv('tag_div'); + } + } + ); + } catch (e) { + error_message(e.message); + } +} + +/** + * remove the current tag to the current ag_id + * @param {type} p_dossier + * @param {type} ag_id + * @returns {undefined} + */ +function action_tag_remove(p_dossier, ag_id, t_id) { + confirm_box(null, content[50], function () { + try { + waiting_box(); + var queryString = "t_id=" + t_id + "&ag_id=" + ag_id + "&op=tag_remove&gDossier=" + p_dossier; + var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: queryString, onFailure: ajax_misc_failure, - onSuccess: function (req, j) { + onSuccess: function (req) { var answer = req.responseXML; var html = answer.getElementsByTagName('code'); - if (html.length === 0) - { + if (html.length === 0) { var rec = unescape_xml(req.responseText); error_message('erreur :' + rec); } @@ -2700,46 +2662,9 @@ function action_tag_add(p_dossier, ag_id, t_id,p_isgroup) code_html = unescape_xml(code_html); remove_waiting_box(); $('action_tag_td').innerHTML = code_html; - removeDiv('tag_div'); + } } - ); - } catch (e) { - error_message(e.message); - } -} -/** - * remove the current tag to the current ag_id - * @param {type} p_dossier - * @param {type} ag_id - * @returns {undefined} - */ -function action_tag_remove(p_dossier, ag_id, t_id) -{ - confirm_box(null, content[50], function () { - try { - waiting_box(); - var queryString = "t_id=" + t_id + "&ag_id=" + ag_id + "&op=tag_remove&gDossier=" + p_dossier; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req) { - var answer = req.responseXML; - var html = answer.getElementsByTagName('code'); - if (html.length === 0) - { - var rec = unescape_xml(req.responseText); - error_message('erreur :' + rec); - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - remove_waiting_box(); - $('action_tag_td').innerHTML = code_html; - - } - } ); } catch (e) { error_message(e.message); @@ -2755,19 +2680,20 @@ function action_tag_remove(p_dossier, ag_id, t_id) function activate_tag(p_dossier, p_tag_id) { waiting_box(); new Ajax.Request("ajax_misc.php", - { - method: "get", - parameters: {gDossier: p_dossier, op: 'tag_activate', t_id: p_tag_id}, - onSuccess: function (req) { - remove_waiting_box(); - var answer = req.responseText.evalJSON(); - var tagId = "tag_onoff" + p_tag_id; - $(tagId).update(answer.code); - $(tagId).setStyle(answer.style); - remove_waiting_box(); - } - }) + { + method: "get", + parameters: {gDossier: p_dossier, op: 'tag_activate', t_id: p_tag_id}, + onSuccess: function (req) { + remove_waiting_box(); + var answer = req.responseText.evalJSON(); + var tagId = "tag_onoff" + p_tag_id; + $(tagId).update(answer.code); + $(tagId).setStyle(answer.style); + remove_waiting_box(); + } + }) } + /** * Display a div with available tags, this div can update the cell * tag_choose_td @@ -2775,52 +2701,50 @@ function activate_tag(p_dossier, p_tag_id) { * @param {string} p_prefix is the prefix of the div * @param {string} Calling object either Tag_Operation or Tag_Action * @returns {undefined} - * + * */ -function search_display_tag(p_dossier, p_prefix,p_object) -{ +function search_display_tag(p_dossier, p_prefix, p_object) { try { waiting_box(); - var queryString = { op : "search_display_tag",gDossier:p_dossier,pref:p_prefix,caller_obj:p_object}; + var queryString = {op: "search_display_tag", gDossier: p_dossier, pref: p_prefix, caller_obj: p_object}; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req, j) { - var answer = req.responseXML; - var html = answer.getElementsByTagName('code'); - if (html.length === 0) - { - var rec = unescape_xml(req.responseText); - error_message('erreur :' + rec); - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - remove_waiting_box(); - add_div({id: p_prefix + 'tag_div', style: 'left:10%;width:70%', cssclass: 'inner_box', drag: 1}); - $(p_prefix + 'tag_div').style.top = calcy(200)+"px" - $(p_prefix + 'tag_div').style.left = 20+ "%"; - remove_waiting_box(); - $(p_prefix + 'tag_div').innerHTML = code_html; - code_html.evalScripts(); + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req, j) { + var answer = req.responseXML; + var html = answer.getElementsByTagName('code'); + if (html.length === 0) { + var rec = unescape_xml(req.responseText); + error_message('erreur :' + rec); } + var code_html = getNodeText(html[0]); + code_html = unescape_xml(code_html); + remove_waiting_box(); + add_div({id: p_prefix + 'tag_div', style: 'left:10%;width:70%', cssclass: 'inner_box', drag: 1}); + $(p_prefix + 'tag_div').style.top = calcy(200) + "px" + $(p_prefix + 'tag_div').style.left = 20 + "%"; + remove_waiting_box(); + $(p_prefix + 'tag_div').innerHTML = code_html; + code_html.evalScripts(); } + } ); } catch (e) { error_message(e.message); } } + /** * Add the selected tag (p_tag_id) to the cell of tag_choose_td in the search screen * in the search screen * @param {type} p_dossier * @param {type} p_tag_id - * @param p_prefix is the prefix of the widget + * @param p_prefix is the prefix of the widget * @param p_obj is either g for group of tag or t for a single tag */ -function search_add_tag(p_dossier, p_tag_id, p_prefix,p_obj) -{ +function search_add_tag(p_dossier, p_tag_id, p_prefix, p_obj) { try { var clear_button = 0; if (tag_choose === '' && p_prefix === 'search') { @@ -2828,38 +2752,37 @@ function search_add_tag(p_dossier, p_tag_id, p_prefix,p_obj) clear_button = 1; } waiting_box(); - var queryString = "op=search_add_tag&gDossier=" + p_dossier + "&id=" + p_tag_id + "&clear=" + clear_button + '&pref=' + p_prefix+"&obj="+p_obj; + var queryString = "op=search_add_tag&gDossier=" + p_dossier + "&id=" + p_tag_id + "&clear=" + clear_button + '&pref=' + p_prefix + "&obj=" + p_obj; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req, j) { - var answer = req.responseXML; - var html = answer.getElementsByTagName('html'); - if (html.length === 0) - { - var rec = unescape_xml(req.responseText); - error_message('erreur :' + rec); - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - remove_waiting_box(); - $(p_prefix + 'tag_choose_td').innerHTML = $(p_prefix + 'tag_choose_td').innerHTML + code_html; - removeDiv(p_prefix + 'tag_div'); + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req, j) { + var answer = req.responseXML; + var html = answer.getElementsByTagName('html'); + if (html.length === 0) { + var rec = unescape_xml(req.responseText); + error_message('erreur :' + rec); } + var code_html = getNodeText(html[0]); + code_html = unescape_xml(code_html); + remove_waiting_box(); + $(p_prefix + 'tag_choose_td').innerHTML = $(p_prefix + 'tag_choose_td').innerHTML + code_html; + removeDiv(p_prefix + 'tag_div'); } + } ); } catch (e) { error_message(e.message); } } + /** * Clear the tags in the cell tag_choose_td of the search screen * @returns {undefined} */ -function search_clear_tag(p_dossier, p_prefix) -{ +function search_clear_tag(p_dossier, p_prefix) { if (p_prefix != 'search') { $(p_prefix + 'tag_choose_td').innerHTML = ""; return; @@ -2867,54 +2790,53 @@ function search_clear_tag(p_dossier, p_prefix) try { var queryString = "op=search_clear_tag&gDossier=" + p_dossier + "&pref=" + p_prefix; var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', parameters: queryString, - onFailure: ajax_misc_failure, - onSuccess: function (req, j) { - var answer = req.responseXML; - var html = answer.getElementsByTagName('html'); - if (html.length === 0) - { - var rec = unescape_xml(req.responseText); - error_message('erreur :' + rec); - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - $(p_prefix + 'tag_choose_td').innerHTML = code_html; - tag_choose = ""; + "ajax_misc.php", + { + method: 'get', parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req, j) { + var answer = req.responseXML; + var html = answer.getElementsByTagName('html'); + if (html.length === 0) { + var rec = unescape_xml(req.responseText); + error_message('erreur :' + rec); } + var code_html = getNodeText(html[0]); + code_html = unescape_xml(code_html); + $(p_prefix + 'tag_choose_td').innerHTML = code_html; + tag_choose = ""; } + } ); } catch (e) { error_message(e.message); } } -function action_show_checkbox() -{ + +function action_show_checkbox() { var a = document.getElementsByName('ag_id_td'); for (var i = 0; i < a.length; i++) { a[i].style.display = 'block'; } } -function action_hide_checkbox() -{ + +function action_hide_checkbox() { var a = document.getElementsByName('ag_id_td'); for (var i = 0; i < a.length; i++) { a[i].style.display = 'none'; } } + /** - * + * * @param {type} obj * object attribute : g - * - Dossier dossier_id, + * - Dossier dossier_id, * - invalue DOM Element where you can find the periode to zoom * - outdiv ID of the target (DIV) - * + * */ -function calendar_zoom(obj) -{ +function calendar_zoom(obj) { try { waiting_box(); var per_periode = null; @@ -2927,38 +2849,53 @@ function calendar_zoom(obj) notitle = 1; } var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: {"notitle": notitle, "op": 'calendar_zoom', 'from': from, 'gDossier': obj.gDossier, 'in': per_periode, 'out': obj.outdiv, 'distype': obj.distype}, - onFailure: ajax_misc_failure, - onSuccess: function (req, j) { - if (req.responseText === 'NOCONX') { reconnect();return;} - var answer = req.responseXML; - var html = answer.getElementsByTagName('html'); - if (html.length === 0) - { - var rec = unescape_xml(req.responseText); - error_message('erreur :' + rec); - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - - // if the target doesn't exist - // then create it - if (obj.outdiv === undefined) { - obj.outdiv = 'calendar_zoom_div'; - } - if ($(obj.outdiv) == undefined) { - var str_style = 'top:10%;margin-left:2%;'; -// var str_style = fixed_position(0, 120); - add_div({id: obj.outdiv, style: 'margin-left:3%;width:94%;' + str_style, cssclass: "inner_box", drag: 0}); - } - remove_waiting_box(); - $(obj.outdiv).innerHTML = code_html; - $(obj.outdiv).show(); + "ajax_misc.php", + { + method: 'get', + parameters: { + "notitle": notitle, + "op": 'calendar_zoom', + 'from': from, + 'gDossier': obj.gDossier, + 'in': per_periode, + 'out': obj.outdiv, + 'distype': obj.distype + }, + onFailure: ajax_misc_failure, + onSuccess: function (req, j) { + if (req.responseText === 'NOCONX') { + reconnect(); + return; } + var answer = req.responseXML; + var html = answer.getElementsByTagName('html'); + if (html.length === 0) { + var rec = unescape_xml(req.responseText); + error_message('erreur :' + rec); + } + var code_html = getNodeText(html[0]); + code_html = unescape_xml(code_html); + + // if the target doesn't exist + // then create it + if (obj.outdiv === undefined) { + obj.outdiv = 'calendar_zoom_div'; + } + if ($(obj.outdiv) == undefined) { + var str_style = 'top:10%;margin-left:2%;'; +// var str_style = fixed_position(0, 120); + add_div({ + id: obj.outdiv, + style: 'margin-left:3%;width:94%;' + str_style, + cssclass: "inner_box", + drag: 0 + }); + } + remove_waiting_box(); + $(obj.outdiv).innerHTML = code_html; + $(obj.outdiv).show(); } + } ); } catch (e) { error_message('calendar_zoom ' + e.message); @@ -2966,11 +2903,11 @@ function calendar_zoom(obj) } + /** * add a line in the form for the stock */ -function stock_add_row() -{ +function stock_add_row() { try { style = 'class="input_text"'; var mytable = g("stock_tb").tBodies[0]; @@ -2979,8 +2916,7 @@ function stock_add_row() var nCell = mytable.rows[1].cells.length; var row = mytable.insertRow(line); var nb = g("row"); - for (var e = 0; e < nCell; e++) - { + for (var e = 0; e < nCell; e++) { var newCell = row.insertCell(e); if (mytable.rows[1].cells[e].hasClassName('num')) { newCell.addClassName("num"); @@ -3007,32 +2943,38 @@ function stock_add_row() } } -function show_description(p_id) -{ + +function show_description(p_id) { $('print_desc' + p_id).hide(); $('input_desc' + p_id).show(); } + /** * Display an empty card to fill , with the right card category * @param pn_fiche_card_id : fiche_def.fd_id * @param pn_dossier_id */ -function select_cat(pn_fiche_card_id, pn_dossier_id, ps_element_id) -{ - dis_blank_card({"ctl": "div_new_card", "fd_id": pn_fiche_card_id, "op2": "bc", "op": "card", gDossier: pn_dossier_id, "elementId": ps_element_id}); +function select_cat(pn_fiche_card_id, pn_dossier_id, ps_element_id) { + dis_blank_card({ + "ctl": "div_new_card", + "fd_id": pn_fiche_card_id, + "op2": "bc", + "op": "card", + gDossier: pn_dossier_id, + "elementId": ps_element_id + }); removeDiv('select_card_div'); } + /** * Show the DIV and hide the other, the array of possible DIV are - * in a_tabs, + * in a_tabs, * @param {array} a_tabs name of possible tabs * @param {strng} p_display_tab tab to display */ -function show_tabs(a_tabs, p_display_tab) -{ - try - { +function show_tabs(a_tabs, p_display_tab) { + try { if (a_tabs.length == 0) { console.error('a_tabs in empty'); throw ("a_tabs empty"); @@ -3048,12 +2990,12 @@ function show_tabs(a_tabs, p_display_tab) } } + /** * Change the class of all the "LI" element of a UL or OL * @param node of ul (this) */ -function unselect_other_tab(p_tab) -{ +function unselect_other_tab(p_tab) { try { var other = p_tab.getElementsByTagName("li"); var i = 0; @@ -3068,25 +3010,25 @@ function unselect_other_tab(p_tab) alert_box('unselect_other_tab ' + e.message); } } + /** * logout function call from ajax * @see ajax_disconnected * @returns {undefined} */ -function logout() -{ +function logout() { var tmp_place = window.location.href var tmp_b = tmp_place.split('/') var tmp_last = tmp_b.length - 1 var place_logout = tmp_place.replace(tmp_b[tmp_last], 'logout.php'); window.location.href = place_logout; } + /** * Create a div which can be used in a anchor * @returns {undefined} */ -function create_anchor_up() -{ +function create_anchor_up() { if (document.getElementById('up_top')) return; @@ -3098,22 +3040,25 @@ function create_anchor_up() parent.insertBefore(newElt, $('info_div')); } + /** * Initialize the window to show the button "UP" if the window is scrolled * vertically * @returns {undefined} */ -function init_scroll() -{ - var up = new Element('div', {"class": "", +function init_scroll() { + var up = new Element('div', { + "class": "", "style": "padding:5px;left:auto;width:auto;height: auto;display:none;position:fixed;bottom:30%;right:50px;text-align:center;font-size:20px", id: "go_up" }); up.innerHTML = ' '; document.body.appendChild(up); window.onscroll = function () { - if ( document.getElementById("select_box_content") ) - { document.getElementById("select_box_content").setStyle({display:"none"})}; + if (document.getElementById("select_box_content")) { + document.getElementById("select_box_content").setStyle({display: "none"}) + } + ; if (document.viewport.getScrollOffsets().top > 0) { if ($('go_up').visible() == false) { $('go_up').setOpacity(0.65); @@ -3124,8 +3069,9 @@ function init_scroll() $('go_up').hide(); } } - + } + /** * Confirm a form thanks a modal dialog Box, it returns true if we agree otherwise * false @@ -3139,14 +3085,12 @@ function init_scroll() * @param p_waiting if true display a waiting box * @returns true or false */ -function confirm_box(p_obj, p_message, p_callback_true,p_waiting) -{ +function confirm_box(p_obj, p_message, p_callback_true, p_waiting) { waiting_box(); - try { + try { // Find id of the end var name = ""; - if (p_obj != null) - { + if (p_obj != null) { if (typeof (p_obj) === "object") { name = p_obj.id; } else { @@ -3155,18 +3099,18 @@ function confirm_box(p_obj, p_message, p_callback_true,p_waiting) } // execute the callback function or submit the form - if ( ! p_callback_true ) - { + if (!p_callback_true) { smoke.confirm(p_message, function (e) { if (e) { - if (p_waiting){waiting_box();} + if (p_waiting) { + waiting_box(); + } $(name).submit(); } }); } else { - smoke.confirm(p_message, function (e) - { + smoke.confirm(p_message, function (e) { if (e) { p_callback_true.apply(); } @@ -3178,43 +3122,41 @@ function confirm_box(p_obj, p_message, p_callback_true,p_waiting) remove_waiting_box(); return false; } + /** * Alert box in CSS and HTML to replace the common javascript alert * @param p_message message to display * @returns void */ -function alert_box(p_message) -{ +function alert_box(p_message) { smoke.alert(p_message, undefined, {ok: 'ok', classname: "inner_box"}); } /** - * Colorize the rows of the table + * Colorize the rows of the table * @param string p_table id of the table */ -function alternate_row_color(p_table) -{ - var table_colored=$(p_table); - if (! table_colored.tBodies[0] ) return; +function alternate_row_color(p_table) { + var table_colored = $(p_table); + if (!table_colored.tBodies[0]) return; var len = table_colored.tBodies[0].rows.length; var i = 0; var localClass = ""; for (i = 1; i < len; i++) { localClass = (i % 2 == 0) ? "even" : "odd"; - if ( table_colored.tBodies[0].rows[i].hasClassName("odd")) - { + if (table_colored.tBodies[0].rows[i].hasClassName("odd")) { table_colored.tBodies[0].rows[i].removeClassName("odd"); } - if (table_colored.tBodies[0].rows[i].hasClassName("even")) - { + if (table_colored.tBodies[0].rows[i].hasClassName("even")) { table_colored.tBodies[0].rows[i].removeClassName("even"); } table_colored.tBodies[0].rows[i].addClassName(localClass); } } + /** * Make an DOM element draggable or not * @param object_id DOM id @@ -3225,14 +3167,16 @@ function pin(object_id) { aDraggableElement[object_id] = undefined; $('pin_' + object_id).innerHTML = ""; } else { - aDraggableElement[object_id] = new Draggable(object_id, {starteffect: function () - { - new Effect.Highlight(object_id, {scroll: window, queue: 'end'}); - }} + aDraggableElement[object_id] = new Draggable(object_id, { + starteffect: function () { + new Effect.Highlight(object_id, {scroll: window, queue: 'end'}); + } + } ); $('pin_' + object_id).innerHTML = ""; } } + /** * Show only the rows into the table (p_table_id) with the attribute (p_attribute_name) and if this attribute * has the value of (attribut_value) @@ -3240,8 +3184,7 @@ function pin(object_id) { * @param p_attribute_name the name of the attribute * @param p_attribute_value the value of the attribute we want to show */ -function show_only_row(p_table_id, p_attribute_name, p_attribute_value) -{ +function show_only_row(p_table_id, p_attribute_name, p_attribute_value) { if (!$(p_table_id)) { throw "Invalide table id" } @@ -3256,12 +3199,12 @@ function show_only_row(p_table_id, p_attribute_name, p_attribute_value) } } } + /** - * Show all the rows into the table (p_table_id) + * Show all the rows into the table (p_table_id) * @param p_table_id table id */ -function show_all_row(p_table_id) -{ +function show_all_row(p_table_id) { if (!$(p_table_id)) { throw "Invalide table id" } @@ -3273,6 +3216,7 @@ function show_all_row(p_table_id) } } + /** * @class * Periode handling @@ -3280,16 +3224,16 @@ function show_all_row(p_table_id) * - id of the row of the periode row_per_(p_periode_id) , attribute exercice =per_exercice,periode_id=p_id * - (this.dialog) * - id of the table with the rows : periode_tbl - * + * * Members : * - periode_id the concerned Periode , 0 none * - p_ledger : the id of ledger (jrn_def.jrn_def_id), 0 for global * - pcallback : default ajax_misc.php (this.callback) with the parameter { op:'periode',gDossier,[action:display,remove,save],p_id:p_periode_id} - * - dossier + * - dossier * - js_obj_name : name of the js object (this.js_obj_name) - * - ajax_test : file to include for debugging - * - dialog : id of the dialog box (update / add ) periode_box - * + * - ajax_test : file to include for debugging + * - dialog : id of the dialog box (update / add ) periode_box + * */ var Periode = function (p_ledger) { this.periode_id = 0; @@ -3322,12 +3266,14 @@ var Periode = function (p_ledger) { */ this.remove = function (p_periode_id) { - var js_param = {"gDossier": this.dossier, + var js_param = { + "gDossier": this.dossier, "op": "periode", "act": "remove", "p_id": p_periode_id, "ledger_id": 0, - "js_var": this.js_obj_name}; + "js_var": this.js_obj_name + }; if (this.ajax_test != "") { js_param["TestAjaxFile"] = this.ajax_test; } @@ -3336,27 +3282,26 @@ var Periode = function (p_ledger) { if (e) { waiting_box(); new Ajax.Request(here.pcallback, - { - method: "POST", - parameters: js_param, - onSuccess: function (req) { - var answer = req.responseText.evalJSON(); - remove_waiting_box(); - if (answer.status == "OK") - { - $("row_per_" + p_periode_id).remove(); - alternate_row_color("periode_tbl"); - } else { - smoke.alert(answer.content); - } + { + method: "POST", + parameters: js_param, + onSuccess: function (req) { + var answer = req.responseText.evalJSON(); + remove_waiting_box(); + if (answer.status == "OK") { + $("row_per_" + p_periode_id).remove(); + alternate_row_color("periode_tbl"); + } else { + smoke.alert(answer.content); } - }); + } + }); } }); }; /** - * display a dialog box to update a periode, call save either display + * display a dialog box to update a periode, call save either display * an error box or update the row. * the name of variable is requested * to build the right button , javascript in the html of answer @@ -3367,28 +3312,35 @@ var Periode = function (p_ledger) { smoke.alert("ERROR BOX_ADD") } - var js_param = {"gDossier": this.dossier, + var js_param = { + "gDossier": this.dossier, "op": "periode", "act": "show", "p_id": p_periode_id, "ledger_id": this.p_ledger, - "js_var": this.js_obj_name}; + "js_var": this.js_obj_name + }; if (this.ajax_test != "") { js_param["TestAjaxFile"] = this.ajax_test; } var here = this; new Ajax.Request(here.pcallback, - { - method: "POST", - parameters: js_param, - onSuccess: function (req) { - remove_waiting_box(); - var json = req.responseText.evalJSON(); - var y = 100; - add_div({"id": "mod_periode", "style": "position:fixed;top:" + y + "px;width:50%", "cssclass": "inner_box", 'html': "wait"}); - $('mod_periode').update(json.content); - } - }); + { + method: "POST", + parameters: js_param, + onSuccess: function (req) { + remove_waiting_box(); + var json = req.responseText.evalJSON(); + var y = 100; + add_div({ + "id": "mod_periode", + "style": "position:fixed;top:" + y + "px;width:50%", + "cssclass": "inner_box", + 'html': "wait" + }); + $('mod_periode').update(json.content); + } + }); }; /** * close the periode, call ajax and receive a json object with the attribute @@ -3419,7 +3371,8 @@ var Periode = function (p_ledger) { if (this.js_obj_name == "") { smoke.alert("ERROR BOX_ADD") } - var js_param = {"gDossier": this.dossier, + var js_param = { + "gDossier": this.dossier, "op": "periode", "act": "close", "ledger_id": this.p_ledger, @@ -3432,32 +3385,32 @@ var Periode = function (p_ledger) { var here = this; waiting_box(); new Ajax.Request(here.pcallback, - { - method: "POST", - parameters: js_param, - onSuccess: function (req) { - remove_waiting_box(); - var json = req.responseText.evalJSON(); - if (json.status == 'OK') - { - $('row_per_' + p_periode_id).update(json.content); - new Effect.Highlight('row_per_' + p_periode_id, {startcolor: '#FAD4D4', endcolor: '#F78082'}); - } else { - smoke.alert(json.content); - } + { + method: "POST", + parameters: js_param, + onSuccess: function (req) { + remove_waiting_box(); + var json = req.responseText.evalJSON(); + if (json.status == 'OK') { + $('row_per_' + p_periode_id).update(json.content); + new Effect.Highlight('row_per_' + p_periode_id, {startcolor: '#FAD4D4', endcolor: '#F78082'}); + } else { + smoke.alert(json.content); } - }); + } + }); }; /** * reopen the periode - * @parameter p_periode_id is the SQL id of parm_periode or the id of + * @parameter p_periode_id is the SQL id of parm_periode or the id of * jrn_periode */ this.open_periode = function (p_periode_id) { if (this.js_obj_name == "") { smoke.alert("ERROR BOX_ADD") } - var js_param = {"gDossier": this.dossier, + var js_param = { + "gDossier": this.dossier, "op": "periode", "act": "reopen", "ledger_id": this.p_ledger, @@ -3472,21 +3425,23 @@ var Periode = function (p_ledger) { if (e) { waiting_box(); new Ajax.Request(here.pcallback, - { - method: "POST", - parameters: js_param, - onSuccess: function (req) { - remove_waiting_box(); - var json = req.responseText.evalJSON(); - if (json.status == 'OK') - { - $('row_per_' + p_periode_id).update(json.content); - new Effect.Highlight('row_per_' + p_periode_id, {startcolor: '#FAD4D4', endcolor: '#F78082'}); - } else { - smoke.alert(json.content); - } + { + method: "POST", + parameters: js_param, + onSuccess: function (req) { + remove_waiting_box(); + var json = req.responseText.evalJSON(); + if (json.status == 'OK') { + $('row_per_' + p_periode_id).update(json.content); + new Effect.Highlight('row_per_' + p_periode_id, { + startcolor: '#FAD4D4', + endcolor: '#F78082' + }); + } else { + smoke.alert(json.content); } - }); + } + }); } }); }; @@ -3512,7 +3467,10 @@ var Periode = function (p_ledger) { if (answer.status == "OK") { $('row_per_' + js_param['periode_id']).update(answer.content); removeDiv('mod_periode'); - new Effect.Highlight('row_per_' + js_param['periode_id'], {startcolor: '#FAD4D4', endcolor: '#F78082'}); + new Effect.Highlight('row_per_' + js_param['periode_id'], { + startcolor: '#FAD4D4', + endcolor: '#F78082' + }); } else { smoke.alert(answer.content); } @@ -3522,7 +3480,7 @@ var Periode = function (p_ledger) { }; /** * Thanks the object DOMID sel_per_closed[] the selected periodes are - * closed + * closed * @see Periode._close */ this.close_selected = function () { @@ -3537,26 +3495,27 @@ var Periode = function (p_ledger) { } } if (count == 0) { - smoke.signal("Sélectionner au moins une période", function () {}, {duration: 1500}); + smoke.signal("Sélectionner au moins une période", function () { + }, {duration: 1500}); return; } smoke.confirm("Confirmer fermeture de " + count + " periode", function (e) { - if (e) { - var a_selected = document.getElementsByName('sel_per_close[]'); - var i = 0; - for (i = 0; i < a_selected.length; i++) { - if (a_selected[i].checked == true) { - // Close the selected periode - here._close(a_selected[i].value); + if (e) { + var a_selected = document.getElementsByName('sel_per_close[]'); + var i = 0; + for (i = 0; i < a_selected.length; i++) { + if (a_selected[i].checked == true) { + // Close the selected periode + here._close(a_selected[i].value); + } } } } - } ); }; /** * Insert a periode into the list, always at the bottom ! - * DomId : + * DomId : * # FORM id :insert_periode_frm * # DIV id = periode_add * # table id = periode_tbl @@ -3621,12 +3580,11 @@ var progressBar = []; var progressIdx = 0; /** - * Start the progress bar + * Start the progress bar * @param {string} p_taskid id to monitor * @param {int} p_message */ -function progress_bar_start(p_taskid, p_message) -{ +function progress_bar_start(p_taskid, p_message) { try { progressIdx++; // block the window @@ -3638,7 +3596,11 @@ function progress_bar_start(p_taskid, p_message) add_div({id: "blocking" + progressIdx, cssclass: "smoke-base smoke-visible "}); - add_div({id: "message" + progressIdx, cssclass: "inner_box", style: "z-index:1000;position:fixed;top:30%;width:40%;left:30%"}); + add_div({ + id: "message" + progressIdx, + cssclass: "inner_box", + style: "z-index:1000;position:fixed;top:30%;width:40%;left:30%" + }); $("message" + progressIdx).update('

' + content[65] + '

' + message); // Create a div add_div({id: "progressDiv" + progressIdx, cssclass: "progressbar", html: '0'}); @@ -3650,20 +3612,18 @@ function progress_bar_start(p_taskid, p_message) } /** - * Check every second the status + * Check every second the status * @param {integer} p_idx idx of progressbar * @param {string} p_taskid id to monitor */ -function progress_bar_check(p_idx, p_taskid) -{ +function progress_bar_check(p_idx, p_taskid) { try { new Ajax.Request("ajax_misc.php", { parameters: {gDossier: 0, task_id: p_taskid, op: "progressBar"}, method: "get", onSuccess: function (req) { - try - { + try { var answer = req.responseText.evalJSON(); var progress_div = $("progressDiv" + progressIdx); var a_child = progress_div.childNodes; @@ -3707,13 +3667,16 @@ function progress_bar_check(p_idx, p_taskid) * In the user's setting box, update the period list with the choosen exercice * @param {int} p_dossier */ -function updatePeriodePreference(p_dossier) -{ +function updatePeriodePreference(p_dossier) { waiting_box(); var exercice = $('exercice_setting').value; - new Ajax.Updater('setting_period', "ajax_misc.php", {method: "get", parameters: {"op": "pref_exercice", "gDossier": p_dossier, "exercice": exercice}}); + new Ajax.Updater('setting_period', "ajax_misc.php", { + method: "get", + parameters: {"op": "pref_exercice", "gDossier": p_dossier, "exercice": exercice} + }); remove_waiting_box(); } + /** * Update the from and to periode list when changing the exercice * @param {int} p_dossier @@ -3722,29 +3685,36 @@ function updatePeriodePreference(p_dossier) * @param {type} p_periode_to id of the ending periode * @param {type} p_last possible value = 1 to show last date or 0 the first */ -function updatePeriode(p_dossier, p_exercice, p_periode_from, p_periode_to, p_last) -{ +function updatePeriode(p_dossier, p_exercice, p_periode_from, p_periode_to, p_last) { waiting_box(); var exercice = $(p_exercice).value; - new Ajax.Updater(p_periode_from, "ajax_misc.php", - { method: "get", - parameters: {op: "periode_change", "gDossier": p_dossier, "exercice": exercice, - field: p_periode_from, "type": "from", "last": p_last}}); - if ( p_periode_to && p_last ) { - new Ajax.Updater(p_periode_to, "ajax_misc.php", - { method: "get", - parameters: {op: "periode_change", "gDossier": p_dossier, "exercice": exercice, - field: p_periode_to, "type": "to", "last": p_last}}); + new Ajax.Updater(p_periode_from, "ajax_misc.php", + { + method: "get", + parameters: { + op: "periode_change", "gDossier": p_dossier, "exercice": exercice, + field: p_periode_from, "type": "from", "last": p_last + } + }); + if (p_periode_to && p_last) { + new Ajax.Updater(p_periode_to, "ajax_misc.php", + { + method: "get", + parameters: { + op: "periode_change", "gDossier": p_dossier, "exercice": exercice, + field: p_periode_to, "type": "to", "last": p_last + } + }); } remove_waiting_box(); } + /** - * + * * @param {string} p_domid DOM id of the span containing the padlock icon * @returns none */ -function toggle_lock(p_domid) -{ +function toggle_lock(p_domid) { var padlock = document.getElementById(p_domid); if (padlock == null) { console.error("domid invalid"); @@ -3762,27 +3732,26 @@ function toggle_lock(p_domid) } + /** - * + * * @returns {undefined} */ -function show_ledger_fin_currency() -{ - var ledger=$('p_jrn').value; - var dossier=$('gDossier').value; +function show_ledger_fin_currency() { + var ledger = $('p_jrn').value; + var dossier = $('gDossier').value; // $('ledger_currency'). - var a=new Ajax.Updater("ledger_currency", - "ajax_misc.php", - { - parameters: {"op":"currencyCode","gDossier":dossier,"ledger":ledger} - }); + var a = new Ajax.Updater("ledger_currency", + "ajax_misc.php", + { + parameters: {"op": "currencyCode", "gDossier": dossier, "ledger": ledger} + }); } -/*** - * Update Preference, applied the new CSS +/*** + * Update Preference, applied the new CSS */ -function updatePreference() -{ +function updatePreference() { try { waiting_box(); var param = $('preference_frm').serialize() + "&op=preference&action=save"; @@ -3791,17 +3760,16 @@ function updatePreference() method: "post", parameters: param, onSuccess: function (req) { - var answer = req.responseText.evalJSON(); - // $('pagestyle').setAttribute('href', style.style); - if ( answer['psw']=='NOK') { + var answer = req.responseText.evalJSON(); + // $('pagestyle').setAttribute('href', style.style); + if (answer['psw'] == 'NOK') { smoke.alert(answer['msg']); } else { removeDiv('preference_div'); } } }); - } catch (e) - { + } catch (e) { smoke.alert(content[48] + e.message); } remove_waiting_box(); @@ -3814,8 +3782,7 @@ function updatePreference() * @param string p_value_domid : id of domElement containing 1 or 0 * @see param_jrn.php */ -function toggle_onoff(icon_domid, p_value_domid) -{ +function toggle_onoff(icon_domid, p_value_domid) { if ($(p_value_domid).value == 0) { $(p_value_domid).value = 1; $(icon_domid).innerHTML = ''; @@ -3826,14 +3793,14 @@ function toggle_onoff(icon_domid, p_value_domid) $(icon_domid).style = 'color:red'; } } + /** * turn on or off , set an domElement to 1 or 0 and change the icon * @param string icon_domid : id of the domElement which must be changed * @param string p_value_domid : id of domElement containing 1 or 0 * @see param_jrn.php */ -function toggle_checkbox_onoff(icon_domid, p_value_domid) -{ +function toggle_checkbox_onoff(icon_domid, p_value_domid) { if ($(p_value_domid).value == 0) { $(p_value_domid).value = 1; @@ -3843,15 +3810,15 @@ function toggle_checkbox_onoff(icon_domid, p_value_domid) $(icon_domid).innerHTML = ''; } } + /** * in CFGLED show or hide the row depending if the warning is enable or not - * + * * @param {type} p_enable * @param {type} p_row * @returns {undefined} */ -function toggle_row_warning_enable(p_enable, p_row) -{ +function toggle_row_warning_enable(p_enable, p_row) { if ($(p_enable).value == 1) { $(p_row).show(); } else { @@ -3866,17 +3833,16 @@ function toggle_row_warning_enable(p_enable, p_row) * @param p_json2 object 2 to merge * @returns new json object */ -function json_concat(p_json1,p_json2) -{ +function json_concat(p_json1, p_json2) { - var result = {}; - for (var key in p_json1) { - result[key] = p_json1[key]; - } - for (var key in p_json2) { - result[key] = p_json2[key]; - } - return result; + var result = {}; + for (var key in p_json1) { + result[key] = p_json1[key]; + } + for (var key in p_json2) { + result[key] = p_json2[key]; + } + return result; } @@ -3886,22 +3852,21 @@ function json_concat(p_json1,p_json2) * @param string p_click is the DOM id of the checkbox you clicked * @param string p_name is the name of all the checkbox to uncheck */ -function uncheck_other(p_click,p_name) -{ - var aCheckbox=document.getElementsByName(p_name); +function uncheck_other(p_click, p_name) { + var aCheckbox = document.getElementsByName(p_name); if (aCheckbox.length == 0) return; - var i=0; - for (i=0;i p_max_size) {alert_box(content[78]);return false;} + if (sum_file > p_max_size) { + alert_box(content[78]); + return false; + } return true; } @@ -4059,82 +4027,86 @@ function check_file_size(p_object,p_max_size) * @param p_info name of the waiting box * @returns true if file size is less than the maximum */ -function check_receipt_size(p_max_size,p_info) -{ - document.getElementById(p_info).style.display="inline"; - - var f=document.getElementById("receipt_id"); - if ( f && f.files[0] && f.files[0].size > parseFloat(p_max_size)) { - document.getElementById("receipt_info_id").innerHTML=content[78]; - document.getElementById(p_info).style.display="none"; +function check_receipt_size(p_max_size, p_info) { + document.getElementById(p_info).style.display = "inline"; + + var f = document.getElementById("receipt_id"); + if (f && f.files[0] && f.files[0].size > parseFloat(p_max_size)) { + document.getElementById("receipt_info_id").innerHTML = content[78]; + document.getElementById(p_info).style.display = "none"; return false; } - document.getElementById("receipt_info_id").innerHTML=""; + document.getElementById("receipt_info_id").innerHTML = ""; document.getElementById("form_file").submit(); return true; } + /** * toggle size of a div : fullsize or normal - * + * */ function full_size(p_div) { - div_dom=document.getElementById(p_div); - if ( ! div_dom ) return; - if ( div_dom.hasClassName('fullsize')) { - div_dom.removeClassName('fullsize');$('size_'+p_div).innerHTML=''; + div_dom = document.getElementById(p_div); + if (!div_dom) return; + if (div_dom.hasClassName('fullsize')) { + div_dom.removeClassName('fullsize'); + $('size_' + p_div).innerHTML = ''; } else { - div_dom.addClassName('fullsize');$('size_'+p_div).innerHTML=''; + div_dom.addClassName('fullsize'); + $('size_' + p_div).innerHTML = ''; } - + } /** * download a document from an url */ -function download_document(p_url) -{ +function download_document(p_url) { waiting_box(); - document.location=p_url; + document.location = p_url; remove_waiting_box(); } + /** * download a document from a form */ -function download_document_form(p_form_id) -{ +function download_document_form(p_form_id) { waiting_box(); - var url="export.php?"+$(p_form_id).serialize(); - document.location=url; - remove_waiting_box(); - return false; + var url = "export.php?" + $(p_form_id).serialize(); + document.location = url; + remove_waiting_box(); + return false; } + /** * Pause a javascript */ -function pausecomp(millis) - { - var date = new Date(); - var curDate = null; - do { curDate = new Date(); } - while(curDate-date < millis); +function pausecomp(millis) { + var date = new Date(); + var curDate = null; + do { + curDate = new Date(); + } + while (curDate - date < millis); } + /** * propose to reconnect * @returns {undefined} */ -function reconnect(){ +function reconnect() { remove_waiting_box(); - new Ajax.Request('ajax_misc.php',{ - method:'get', - parameters:{op:"disconnect"}, - onSuccess:function (req) { - var pos="position:fixed;top:0px;width:95%;height:95%"; - var div= add_div({ - 'id':"reconnect_bx", - cssclass:"inner_box", - style:pos - }); - div.innerHTML=req.responseText; + new Ajax.Request('ajax_misc.php', { + method: 'get', + parameters: {op: "disconnect"}, + onSuccess: function (req) { + var pos = "position:fixed;top:0px;width:95%;height:95%"; + var div = add_div({ + 'id': "reconnect_bx", + cssclass: "inner_box", + style: pos + }); + div.innerHTML = req.responseText; } }); } @@ -4143,12 +4115,14 @@ function reconnect(){ * enlarge an INPUT TEXT * */ -function enlarge_text(p_domid,p_size) { +function enlarge_text(p_domid, p_size) { try { - var element= document.getElementById(p_domid); - if ( !element) {console.error (`enlarge text doesn't exist [${p_domid}]`)} - var current_size=parseInt(element.getAttribute('size')); - element.setAttribute('size',current_size+parseInt(p_size)); + var element = document.getElementById(p_domid); + if (!element) { + console.error(`enlarge text doesn't exist [${p_domid}]`) + } + var current_size = parseInt(element.getAttribute('size')); + element.setAttribute('size', current_size + parseInt(p_size)); } catch (e) { console.error(`enlarge text fails with ${p_domid} ${p_size} `); console.error(e.message); @@ -4161,44 +4135,42 @@ function enlarge_text(p_domid,p_size) { * @brief display a box with the customer , supplier or event for today or late * @param p_detail , what to do */ -function event_display_detail(p_dossier,p_detail) { +function event_display_detail(p_dossier, p_detail) { - try - { - // create div if not exists - var dgbox="situation_detail_div"; - waiting_box(); + try { + // create div if not exists + var dgbox = "situation_detail_div"; + waiting_box(); - var queryString={gDossier:p_dossier,op:'event_display_detail','what':p_detail}; - // call ajax and update content of the div - var action = new Ajax.Request( - "ajax_misc.php" , - { - method:'get', - parameters:queryString, - onFailure:ajax_misc_failure, - onSuccess:function(req){ - remove_waiting_box(); - if (req.responseText == 'NOCONX') { - reconnect(); - return; - } - if ( ! document.getElementById(dgbox)) { - var div_style="position:fixed;"+";top:30%"; - add_div({id:dgbox,cssclass:'inner_box',html:loading(),style:div_style,drag:true}); + var queryString = {gDossier: p_dossier, op: 'event_display_detail', 'what': p_detail}; + // call ajax and update content of the div + var action = new Ajax.Request( + "ajax_misc.php", + { + method: 'get', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + if (req.responseText == 'NOCONX') { + reconnect(); + return; + } + if (!document.getElementById(dgbox)) { + var div_style = "position:fixed;" + ";top:30%"; + add_div({id: dgbox, cssclass: 'inner_box', html: loading(), style: div_style, drag: true}); - } + } - $(dgbox).update(req.responseText) + $(dgbox).update(req.responseText) - } - } - ); - event_display_main(p_dossier); - }catch( e) - { - alert_box(e.message); - } + } + } + ); + event_display_main(p_dossier); + } catch (e) { + alert_box(e.message); + } } /** @@ -4206,33 +4178,31 @@ function event_display_detail(p_dossier,p_detail) { * @param p_dossier */ function event_display_main(p_dossier) { - try - { - waiting_box(); - var dgbox="situation_div"; - var queryString={gDossier:p_dossier,op:'event_display_detail','what':"main_display"}; - var action = new Ajax.Request( - "ajax_misc.php" , - { - method:'GET', - parameters:queryString, - onFailure:ajax_misc_failure, - onSuccess:function(req){ - remove_waiting_box(); - if (req.responseText == 'NOCONX') { - reconnect(); - return; - } + try { + waiting_box(); + var dgbox = "situation_div"; + var queryString = {gDossier: p_dossier, op: 'event_display_detail', 'what': "main_display"}; + var action = new Ajax.Request( + "ajax_misc.php", + { + method: 'GET', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + if (req.responseText == 'NOCONX') { + reconnect(); + return; + } - $(dgbox).update(req.responseText) + $(dgbox).update(req.responseText) - } - } - ); - }catch( e) - { - alert_box(e.message); - } + } + } + ); + } catch (e) { + alert_box(e.message); + } } /** @@ -4240,45 +4210,45 @@ function event_display_main(p_dossier) { * @param p_pass_domid DOM ID of the INPUT element with the password * @param p_result_domid DOM ID of the element to update */ -function check_password_strength(p_pass_domid,p_result_domid,details) -{ - try - { - if ( $(p_pass_domid).value=="") { $(p_result_domid).update("");return;} - var queryString= { - 'op':"password_chk" - ,pass:$(p_pass_domid).value - }; - var action = new Ajax.Request( - "ajax_misc.php" , - { - method:'GET', - parameters:queryString, - onFailure:ajax_misc_failure, - onSuccess:function(req){ - remove_waiting_box(); - if (req.responseText == 'NOCONX') { - return; - } - var answer=req.responseJSON; - console.debug(answer); - if (answer['password']=='nok') { +function check_password_strength(p_pass_domid, p_result_domid, details) { + try { + if ($(p_pass_domid).value == "") { + $(p_result_domid).update(""); + return; + } + var queryString = { + 'op': "password_chk" + , pass: $(p_pass_domid).value + }; + var action = new Ajax.Request( + "ajax_misc.php", + { + method: 'GET', + parameters: queryString, + onFailure: ajax_misc_failure, + onSuccess: function (req) { + remove_waiting_box(); + if (req.responseText == 'NOCONX') { + return; + } + var answer = req.responseJSON; + console.debug(answer); + if (answer['password'] == 'nok') { - $(p_pass_domid).setStyle("background-color:red"); - if ( details) { - $(p_result_domid).update(answer['msg']) - } - return; - } - $(p_pass_domid).setStyle("background-color: lightgreen"); - $(p_result_domid).update("") - } - } - ); - }catch( e) - { - alert_box(e.message); - } + $(p_pass_domid).setStyle("background-color:red"); + if (details) { + $(p_result_domid).update(answer['msg']) + } + return; + } + $(p_pass_domid).setStyle("background-color: lightgreen"); + $(p_result_domid).update("") + } + } + ); + } catch (e) { + alert_box(e.message); + } } /** diff --git a/include/ajax/ajax_fiche_def_detail.php b/include/ajax/ajax_fiche_def_detail.php index bebf233cb..891295ccc 100644 --- a/include/ajax/ajax_fiche_def_detail.php +++ b/include/ajax/ajax_fiche_def_detail.php @@ -28,19 +28,11 @@ if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); global $g_user; -$g_user->can_request(FICCAT,0); +if ( $g_user->check_action(FICCAT) == 0 && $g_user->check_module("CCARD") == 0 ) + return; + $http=new HttpInput(); $id=$http->get("id","number"); $fd=new Fiche_Def($cn,$id); -if ( $id > 0 ) -{ - - echo $fd->input_detail(); - echo HtmlInput::button("retour_b", _("Retour à la liste"), "onclick=\"$('detail_category_div').hide();$('list_cat_div').show()\""); -} -else -{ - $fd->input_new(); - -} +$fd->input_new(); ?> diff --git a/include/cfgfiche.inc.php b/include/cfgfiche.inc.php index 7e45027b6..da3468b4f 100644 --- a/include/cfgfiche.inc.php +++ b/include/cfgfiche.inc.php @@ -88,23 +88,21 @@ if ( $action == 'remove_cat' ) /*******************************************************************************************/ if ( isset ($_POST['change_name'])) { - if (isset ($_REQUEST['label']) ) - { - $fiche_def=new Fiche_Def($cn,$_REQUEST['fd_id']); - $label=$http->request("label"); - $fiche_def->SaveLabel($label); - if ( isset($_REQUEST['create'])) - { - $fiche_def->set_autocreate(true); - } - else - { - $fiche_def->set_autocreate(false); - } - $fiche_def->save_class_base($http->request('class_base')); - $fiche_def->save_description($http->request('fd_description')); + $fiche_def=new Fiche_Def($cn,$http->request('fd_id','number')); + $label=$http->request("nom_mod"); + $fiche_def->SaveLabel($label); + if ( isset($_REQUEST['create'])) + { + $fiche_def->set_autocreate(true); } + else + { + $fiche_def->set_autocreate(false); + } + $fiche_def->save_class_base($http->request('class_base')); + $fiche_def->save_description($http->request('fd_description')); + echo $fiche_def->input_detail(); echo $retour; return; @@ -152,8 +150,15 @@ if ( isset($_POST['add_modele'])) alert(_('Doublon')); } } +$fiche_def_id=$http->request("fd","number",0); $fiche_def=new Fiche_def($cn); +if ( $fiche_def_id != 0 ){ + $fiche_def->id=$fiche_def_id; + $fiche_def->load(); + echo $fiche_def->input_detail(); +} elseif ($fiche_def_id == 0) +{ + $fiche_def->display(); -$fiche_def->display(); -$dossier=Dossier::id(); +} ?> diff --git a/include/class/fiche_def.class.php b/include/class/fiche_def.class.php index d48fd6767..9e4375a5c 100644 --- a/include/class/fiche_def.class.php +++ b/include/class/fiche_def.class.php @@ -56,19 +56,7 @@ class Fiche_Def */ function input () { - $ref=$this->cn->get_array("select * from fiche_def_ref order by frd_text"); - $iradio=new IRadio(); - /* the accounting item */ - $class_base=new IPoste('class_base'); - $class_base->set_attribute('ipopup','ipop_account'); - $class_base->set_attribute('account','class_base'); - $class_base->set_attribute('label','acc_label'); - $f_class_base=$class_base->input(); - $fd_description=new ITextarea('fd_description'); - $fd_description->width=80; - $fd_description->heigh=4; - $fd_description->style='class="itextarea" style="margin-left:0px;vertical-align:text-top"'; - require_once NOALYSS_TEMPLATE.'/fiche_def_input.php'; + return; } @@ -131,7 +119,7 @@ class Fiche_Def $this->label=$row['fd_label']; $this->class_base=$row['fd_class_base']; $this->fiche_def=$row['frd_id']; - $this->create_account=$row['fd_create_account']; + $this->create_account=($row['fd_create_account']=='f')?false:true; $this->fd_description=$row['fd_description']; } /*! @@ -196,7 +184,7 @@ frd_text , fd_description FROM fiche_def join fiche_def_ref on (fiche_def.frd_id $order "); - require_once NOALYSS_TEMPLATE.'/fiche_def_list.php'; + require_once NOALYSS_TEMPLATE.'/fiche_def-display.php'; } /*! * \brief Add a fiche category thanks the element from the array @@ -220,7 +208,7 @@ $order $http->set_array($array); $p_nom_mod = $http->extract('nom_mod',"string",""); $p_fd_description = $http->extract('fd_description',"string", ""); - $p_class_base=$http->extract('class_base',"string", ""); + $p_fiche_def= $http->extract('FICHE_REF',"string", ""); $p_create= $http->extract('create',"string", "off"); @@ -253,6 +241,12 @@ $order alert (_('Catégorie existante')); return 1; } + $default_acc=$this->cn->get_value("select frd_class_base from fiche_def_ref where frd_id=$1",[$p_fiche_def]); + + // if the account is empty, takes the account of the template from fiche_def_ref + $p_class_base=$http->extract('class_base',"string", ""); + $p_class_base=(noalyss_trim($p_class_base)=='')?$default_acc:$p_class_base; + // Set the value of fiche_def.fd_create_account // automatic creation for 'poste comptable' if ( $p_create == "on" && noalyss_strlentrim($p_class_base) != 0) @@ -457,41 +451,7 @@ $order echo $bar; } - /*!\brief show input for the basic attribute : label, class_base, create_account - * use only when we want to update - * - *\return HTML string with the form - */ - function input_base() - { - $r=""; - $r.=_('Label'); - $label=new IText('label',$this->label); - $r.=$label->input(); - $r.='
'; - /* the accounting item */ - $class_base=new IPoste('class_base',$this->class_base); - $class_base->set_attribute('ipopup','ipop_account'); - $class_base->set_attribute('account','class_base'); - $class_base->set_attribute('label','acc_label'); - $fd_description=new ITextarea('fd_description',$this->fd_description); - $fd_description->width=80; - $fd_description->heigh=4; - $fd_description->style='class="itextarea" style="margin-left:0px;vertical-align:text-top"'; - $r.=_('Poste Comptable de base').' : '; - $r.=$class_base->input(); - $r.='
'; - $r.='
'; - $r.=" Description ".$fd_description->input(); - /* auto Create */ - $r.='
'; - $ck=new ICheckBox('create'); - $ck->selected=($this->create_account=='f')?false:true; - $r.=_('Chaque fiche aura automatiquement son propre poste comptable : '); - $r.=$ck->input(); - return $r; - } /*!\brief Display all the attribut of the fiche_def *\param $str give the action possible values are remove, empty */ @@ -607,6 +567,7 @@ $order $Res=$this->cn->exec_sql($sql,array($t,$this->id)); + } /*!\brief Save the class base * \param $p_label label @@ -770,7 +731,8 @@ $order } return $array; } - /*!\brief count the number of fiche_def (category) which has the frd_id (type of category) + /*! + * \brief count the number of fiche_def (category) which has the frd_id (type of category) *\param $p_frd_id is the frd_id in constant.php the FICHE_TYPE_ *\return the number of cat. of card of the given type *\see constant.php @@ -780,6 +742,11 @@ $order $ret=$this->cn->count_sql("select fd_id from fiche_def where frd_id=$1",array($p_frd_id)); return $ret; } + + /** + * @brief ask for detail + * @return string + */ function input_detail() { $r = ""; @@ -790,16 +757,32 @@ $order $r.= '

' . $this->id . " " . h($this->label) . '

'; $r.='
'._('Données générales').''; - /* show the values label class_base and create account */ - $r.='
'; - $r.=dossier::hidden(); - $r.=HtmlInput::hidden("fd_id", $this->id); - $r.=HtmlInput::hidden("p_action", "fiche"); - $r.= $this->input_base(); - $r.='
'; - $r.=HtmlInput::submit('change_name', _('Sauver')); - $r.='
'; + $nom_mod=$this->label; + /* the accounting item */ + $class_base=new IPoste('class_base'); + $class_base->set_attribute('ipopup','ipop_account'); + $class_base->set_attribute('account','class_base'); + $class_base->set_attribute('label','acc_label'); + $class_base->value=$this->class_base; + $f_class_base=$class_base->input(); + $fd_description=new ITextarea('fd_description'); + $fd_description->width=80; + $fd_description->heigh=4; + $fd_description->style='class="itextarea form-control input_text" style="margin-left:0px;vertical-align:text-top"'; + $fd_description->value=$this->fd_description; + $r.='
'; + $r.=\HtmlInput::hidden('fd_id',$this->id); + ob_start(); + require_once NOALYSS_TEMPLATE.'/fiche_def_input.php'; + $r.=ob_get_contents(); + ob_clean(); + $r.=HtmlInput::submit('change_name', _('Sauver')); + $r.='
'; + + require NOALYSS_TEMPLATE.'/fiche_def-input_detail.php'; + $r.='
'; + $r.='
'; /* attributes */ $r.='
'._('Détails').''; @@ -807,33 +790,46 @@ $order $r.=dossier::hidden(); $r.=HtmlInput::hidden("fd_id", $this->id); $r.=HtmlInput::hidden("action", ""); - $r.= $this->DisplayAttribut("remove"); - $r.= HtmlInput::submit('add_line_bt', _('Ajoutez cet élément'), - 'onclick="$(\'action\').value=\'add_line\'"'); - $r.= HtmlInput::submit("save_line_bt", _("Sauvez"), - 'onclick="$(\'action\').value=\'save_line\'"'); - - $r.=HtmlInput::submit('remove_cat_bt', _('Effacer cette catégorie'), 'onclick="$(\'action\').value=\'remove_cat\';return confirm_box(\'input_detail_frm\',\'' . _('Vous confirmez ?') . '\')"'); - // if there is nothing to remove then hide the button - if (strpos($r, "chk_remove") != 0) - { - $r.=HtmlInput::submit('remove_line_bt', _("Enleve les éléments cochés"), - 'onclick="$(\'action\').value=\'remove_line\';return confirm_box(\'input_detail_frm\',\'' . _('Vous confirmez ?') . '\')"'); - } + // $r.= $this->DisplayAttribut("remove"); + ob_start(); + require NOALYSS_TEMPLATE."/fiche_def-input_detail-2.php"; + $r.=ob_get_contents(); + ob_clean(); + $r.= ""; - $r.="

" . _("Attention : il n'y aura pas de demande de confirmation pour enlever les - attributs sélectionnés. Il ne sera pas possible de revenir en arrière") . "

"; + $r.='
'; return $r; } + + + /** + * @brief input for creating a new category + * @return void + */ function input_new() { $single=new Single_Record("dup"); - echo '
'; + echo ''; echo $single->hidden(); echo HtmlInput::hidden("p_action","fiche"); echo dossier::hidden(); - echo $this->input(); // CreateCategory($cn,$search); + $ref=$this->cn->get_array("select * from fiche_def_ref order by frd_text"); + $iradio=new IRadio(); + $nom_mod=""; + /* the accounting item */ + $class_base=new IPoste('class_base'); + $class_base->set_attribute('ipopup','ipop_account'); + $class_base->set_attribute('account','class_base'); + $class_base->set_attribute('label','acc_label'); + $f_class_base=$class_base->input(); + $fd_description=new ITextarea('fd_description'); + $fd_description->width=80; + $fd_description->heigh=4; + $fd_description->style='class="itextarea form-control input_text" style="margin-left:0px;vertical-align:text-top"'; + require_once NOALYSS_TEMPLATE.'/fiche_def_input.php'; + require_once NOALYSS_TEMPLATE.'/fiche_def-input_new.php'; + echo HtmlInput::submit("add_modele" ,_("Sauve")); echo '
'; } diff --git a/include/lib/icon_action.class.php b/include/lib/icon_action.class.php index 42fe5d19d..31f0f4277 100644 --- a/include/lib/icon_action.class.php +++ b/include/lib/icon_action.class.php @@ -72,7 +72,19 @@ class Icon_Action $p_javascript, $id, $p_style); return $r; } - + /** + * + * @param type $id + * @param type $p_javascript + * @param type $p_style + * @return type + */ + static function icon_remove($id, $p_javascript, $p_style="") + { + $r=sprintf('', + $p_javascript, $id, $p_style); + return $r; + } /** * * @param string $id @@ -497,4 +509,5 @@ class Icon_Action ); return $r; } + } diff --git a/include/template/fiche_def_list.php b/include/template/fiche_def-display.php similarity index 88% rename from include/template/fiche_def_list.php rename to include/template/fiche_def-display.php index e57eedbb8..7532cf21f 100644 --- a/include/template/fiche_def_list.php +++ b/include/template/fiche_def-display.php @@ -50,13 +50,18 @@ $max=Database::num_row($res); request("ac"); + + for ($i=0;$i<$max;$i++): $class=($i%2==0)?' class="even" ':' class="odd" '; $row=Database::fetch_array($res, $i); + $url=http_build_query(array("ac"=>$ac,"gDossier"=>$dossier,"fd"=>$row['fd_id'])); ?> > - + @@ -84,6 +89,6 @@ endfor; echo HtmlInput::button("cat_fiche_def_add",_("Ajout d'une nouvelle catégorie"), "onclick=\"detail_category_show('detail_category_div','".$dossier."','-1')\""); ?> -