/* GLOBAL VARIABLES */ var requestInventoryOnFinishJob = false; var selectValuesRequester = null; var inlineGridEditCell = null; var autorefresh = 2000; var autorefreshAlarms = 2000; var autorefreshReports = 5000; var forms = false; var reqPage = false; /* FUNCTIONS */ function objDisplayHide(obj) { var objectObj = document.getElementById(obj); if (objectObj.style.display == "none") objectObj.style.display = ""; else objectObj.style.display = "none"; } function autosize() { var contentDiv = document.getElementById('content'); window.resizeTo(contentDiv.scrollWidth + contentDiv.scrollLeft + contentDiv.offsetLeft + 50, contentDiv.scrollHeight + contentDiv.scrollTop + contentDiv.offsetTop + 120); } function statusName(status) { var result = "Unknown"; switch (status) { case "N": result = "Ouvert"; break; case "F": result = "Retour"; break; case "A": result = "Confirmé"; break; case "W": result = "Démarré"; break; case "V": result = "A vérifier"; break; case "K": result = "Vérifié"; break; case "C": result = "Fermé"; break; } return result; } function get_mysql_datetime(datetime, show_seconds) { return datetime.substring(8, 10) + "." + datetime.substring(5, 7) + "." + datetime.substring(0, 4) + " " + datetime.substring(11, 13) + ":" + datetime.substring(14, 16) + ((show_seconds) ? ":" + datetime.substring(17, 19) : ""); } function get_mysql_date(date) { return datetime.substring(8, 10) + "." + datetime.substring(5, 7) + "." + datetime.substring(0, 4); } function getAbsolutePos(elem) { var element = elem; var coords = { x: 0, y: 0 }; //alert('start...'); while ((element != null) && (element.style != null) && (element.style.top != null)) { /*coords.x += element.offsetLeft; coords.y += element.offsetTop; element = element.offsetParent;*/ coords.x += element.posLeft; coords.y += element.posTop; alert(element + '---' + element.offsetLeft + '---' + element.posTop); element = element.parentNode; } //alert('stop...'); return coords; } function findPosX(obj) { var curleft = 0; if(obj.offsetParent) while(1) { curleft += obj.offsetLeft; if(!obj.offsetParent) break; obj = obj.offsetParent; } else if(obj.x) curleft += obj.x; return curleft; } function findPosY(obj) { var curtop = 0; if(obj.offsetParent) while(1) { curtop += obj.offsetTop; if(!obj.offsetParent) break; obj = obj.offsetParent; } else if(obj.y) curtop += obj.y; return curtop; } function getPos(inputElement) { var coords = new Object(); coords.x = 0; coords.y = 0; try { targetElement = inputElement; if(targetElement.x && targetElement.y) { coords.x = targetElement.x; coords.y = targetElement.y; } else { if(targetElement.offsetParent) { coords.x += targetElement.offsetLeft; coords.y += targetElement.offsetTop; while(targetElement = targetElement.offsetParent) { coords.x += targetElement.offsetLeft; coords.y += targetElement.offsetTop; } } else { //alert("Référence pour positionner les coordonnés - introuvable"); } } return coords; } catch(error) { //alert(error.msg); return coords; } } function getXMLHTTPRequest() { var req = false; try { req = new XMLHttpRequest(); } catch (exception1) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (exception2) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (exception3) { req = false; } } } return req; } function stripHTML(oldString) { var newString = ""; var inTag = false; for (var i = 0; i < oldString.length; i++) { if (oldString.charAt(i) == '<') inTag = true; if (oldString.charAt(i) == '>') { if (oldString.charAt(i + 1) == "<") { //dont do anything } else { inTag = false; i++; } } if(!inTag) newString += oldString.charAt(i); } return newString; } /* GLOBAL */ var sitesRequest = getXMLHTTPRequest(); var siteComponentsRequest = getXMLHTTPRequest(); var alarmsTimer = false; var alarmsRequest = false; var menuTimer = false; var menuRequest = false; var reportsTimer = false; var reportsRequest = false; var alarmType = "*"; function doOnBodyLoad(autorefresh) { autorefreshMenu = autorefresh; requestMenuUpdates(); autorefreshAlarms = autorefresh; requestAlarms('*'); } function doOnAlarmsBodyLoad(autorefresh) { autorefreshAlarms = autorefresh; requestAlarms('N'); } function doOnReportsBodyLoad(autorefresh) { autorefreshReports = autorefresh; requestReports(); } function confirmSubmit(form, submitValue, confirmMessage) { alert(1); var frm = document.getElementById(form); if (confirm(confirmMessage)) { frm.submit.value = submitValue; document.forms[form].submit(); } } /* NAV */ function clearOtherMenus(menu) { if ((menu != 'divMainMenu_Network') && (document.getElementById('divMainMenu_Network'))) dvMenuNetwork.unselectAll(); if ((menu != 'divMainMenu_Work') && (document.getElementById('divMainMenu_Work'))) dvMenuWork.unselectAll(); if ((menu != 'divMainMenu_Reports') && (document.getElementById('divMainMenu_Reports'))) dvMenuReports.unselectAll(); if ((menu != 'divMainMenu_Documents') && (document.getElementById('divMainMenu_Documents'))) dvMenuDocuments.unselectAll(); if ((menu != 'divMainMenu_Admin') && (document.getElementById('divMainMenu_Admin'))) dvMenuAdmin.unselectAll(); if ((menu != 'divMainMenu_Security') && (document.getElementById('divMainMenu_Security'))) dvMenuSecurity.unselectAll(); if ((menu != 'divMainMenu_Profile') && (document.getElementById('divMainMenu_Profile'))) dvMenuProfile.unselectAll(); } function requestPage(page) { if (reqPage) return; reqPage = getXMLHTTPRequest(); reqPage.open("POST", "/index_run.php"); reqPage.onreadystatechange = getPage; reqPage.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); reqPage.send("page=" + page); document.getElementById("pcMainContent").innerHTML = "Loading..."; } function parseScript(_source) { var source = _source; var scripts = new Array(); // Strip out tags while(source.indexOf(" -1 || source.indexOf(" -1) { var s = source.indexOf("", s); var e = source.indexOf("", e); // Add to scripts array scripts.push(source.substring(s_e+1, e)); // Strip from source source = source.substring(0, s) + source.substring(e_e+1); } // Loop through every script collected and eval it for(var i=0; i", 0); var componentNodes = siteComponentsRequest.responseXML.getElementsByTagName("component"); for (var i = 0; i < componentNodes.length; i++) { selectSiteComponents.options[i] = new Option(componentNodes[i].getElementsByTagName("name")[0].firstChild.nodeValue, componentNodes[i].getElementsByTagName("id")[0].firstChild.nodeValue); } if (requestInventoryOnFinishJob) requestInventory(); } else { alert('error'); } } } /* SUPPORT SUBJECTS */ function requestSupportSubjects() { supportSubjectsRequest = getXMLHTTPRequest(); var idSite = document.editForm.id_site.value; var idCategory = document.editForm.id_category.value; var idType = document.editForm.id_type.value; var urlRequest = "scripts/getSupportSubjects.php"; supportSubjectsRequest.open("POST", urlRequest, true); supportSubjectsRequest.onreadystatechange = getSupportSubjects; supportSubjectsRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); supportSubjectsRequest.send("id_site=" + idSite + "&id_category=" + idCategory + "&id_type=" + idType); document.editForm.id_subject.options.length = 0; document.editForm.id_subject.options[0] = new Option("Chargement..."); } function getSupportSubjects() { if (supportSubjectsRequest.readyState == 4) { if (supportSubjectsRequest.status == 200) { var selectSupportSubjects = document.editForm.id_subject; selectSupportSubjects.options.length = 0; selectSupportSubjects.options[0] = new Option("< tous >", 0); var subjectNodes = supportSubjectsRequest.responseXML.getElementsByTagName("subject"); for (var i = 0; i < subjectNodes.length; i++) { selectSupportSubjects.options[i+1] = new Option(subjectNodes[i].attributes.getNamedItem("name").nodeValue, subjectNodes[i].attributes.getNamedItem("id").nodeValue); } if (requestInventoryOnFinishJob) requestInventory(); } else { alert('Erreur'); } } } /* INVENTORY */ function requestInventory() { requestInventoryOnFinishJob = false; inventoryRequest = getXMLHTTPRequest(); var idSite = document.editForm.id_site.value; var idCategory = document.editForm.id_category.value; var idType = document.editForm.id_type.value; var idSubject = document.editForm.id_subject.value; var urlRequest = "scripts/getInventory.php"; inventoryRequest.open("POST", urlRequest, true); inventoryRequest.onreadystatechange = getInventory; inventoryRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); inventoryRequest.send("id_site=" + idSite + "&id_category=" + idCategory + "&id_type=" + idType + "&id_subject=" + idSubject); document.getElementById("report").innerHTML = "Générer Rapport..."; } function getInventory() { if (inventoryRequest.readyState == 4) { if (inventoryRequest.status == 200) { var reportDiv = document.getElementById("report"); reportDiv.innerHTML = inventoryRequest.responseText; } else { alert('error'); } } } /* MENU */ function requestMenuUpdates() { clearTimeout(menuTimer); menuRequest = getXMLHTTPRequest(); var urlRequest = "scripts/getMenuUpdates.php"; menuRequest.open("POST", urlRequest, true); menuRequest.onreadystatechange = getMenuUpdates; menuRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); menuRequest.send(null); } function getMenuUpdates() { try { if (menuRequest.readyState == 4) { if (menuRequest.status == 200) { var xmlNodes = menuRequest.responseXML.getElementsByTagName("menuItem"); for (var i = 0; i < xmlNodes.length; i++) { var menuItemId = xmlNodes[i].attributes.getNamedItem("id").nodeValue; var menuItemValue = xmlNodes[i].attributes.getNamedItem("value").nodeValue; // Daca optiunea exista in meniu (am drepturi pe ea), o actualizez var menuItem = null; var menuView = null; if (document.getElementById('divMainMenu_Network')) { if (dvMenuNetwork.exists(menuItemId)) { menuItem = dvMenuNetwork.get(menuItemId); menuView = dvMenuNetwork; } } if (document.getElementById('divMainMenu_Work')) { if (dvMenuWork.exists(menuItemId)) { menuItem = dvMenuWork.get(menuItemId); menuView = dvMenuWork; } } if (document.getElementById('divMainMenu_Reports')) { if (dvMenuReports.exists(menuItemId)) { menuItem = dvMenuReports.get(menuItemId); menuView = dvMenuReports; } } if (document.getElementById('divMainMenu_Documents')) { if (dvMenuDocuments.exists(menuItemId)) { menuItem = dvMenuDocuments.get(menuItemId); menuView = dvMenuDocuments; } } if (document.getElementById('divMainMenu_Network')) { if (dvMenuAdmin.exists(menuItemId)) { menuItem = dvMenuAdmin.get(menuItemId); menuView = dvMenuAdmin; } } if (document.getElementById('divMainMenu_Security')) { if (dvMenuSecurity.exists(menuItemId)) { menuItem = dvMenuSecurity.get(menuItemId); menuView = dvMenuSecurity; } } if (document.getElementById('divMainMenu_Profile')) { if (dvMenuProfile.exists(menuItemId)) { menuItem = dvMenuProfile.get(menuItemId); menuView = dvMenuProfile; } } if (menuItem != null) { var menuItemCaption = stripHTML(menuItem.MenuItem); if (menuItemCaption.charAt(menuItemCaption.length - 1) == ')') menuItemCaption = menuItemCaption.substr(0, menuItemCaption.lastIndexOf('(')); if (menuItemValue > 0) menuItemCaption = "" + menuItemCaption + " (" + menuItemValue + ")"; menuItem.MenuItem = menuItemCaption; menuView.refresh(menuItemId); } /* var menuItem = document.getElementById(menuItemId); if (menuItem != null) { var menuItemCaption = stripHTML(menuItem.innerHTML); if (menuItemCaption.charAt(menuItemCaption.length - 1) == ')') menuItemCaption = menuItemCaption.substr(0, menuItemCaption.lastIndexOf('(')); if (menuItemValue > 0) menuItem.innerHTML = "" + menuItemCaption + " (" + menuItemValue + ")"; else menuItem.innerHTML = menuItemCaption; } */ } } menuTimer = setTimeout("requestMenuUpdates()", autorefreshMenu); } } catch (ex) { alert("Error updating menu: " + ex); } } /* ALARMS */ function messageBoxYesNo(message, form) { var forms = window.top.window.forms; if (forms == false) { forms = new window.top.window.dhtmlXWindows(); forms.enableAutoViewport(true); //false); forms.setImagePath("/js/dhtmlx/imgs/"); } var formId = 'frmMBYesNo'; var frmMBYesNo = forms.createWindow(formId, document.body.clientWidth / 2 - 150, 120, 300, 150); forms.window(formId).setText("Confirm"); var newContainer = document.createElement("DIV"); var divYes = document.createElement("DIV"); var divNo = document.createElement("DIV"); divYes.style.backgroundColor = "#EFEFEF"; divYes.style.padding = 0; divYes.style.margin = 0; divYes.style.clear = "right"; divYes.style.float = "left"; divYes.style.width = "140px"; divNo.style.backgroundColor = "#EFEFEF"; divNo.style.padding = 0; divNo.style.margin = 0; divNo.style.clear = "left"; divNo.style.float = "rigth"; divNo.style.width = "140px"; var frmYesData = [{type:'button', name:'frmConfirm_btnYes', value:'btnYes'}]; var frmNoData = [{type:'button', name:'frmConfirm_btnNo', value:'btnNo'}]; var frmConfirmYesObj = new window.top.window.dhtmlXForm(divYes, frmYesData); var frmConfirmNoObj = new window.top.window.dhtmlXForm(divNo, frmNoData); frmConfirmYesObj.attachEvent('onButtonClick', function(btnName) { document.forms(form).submit(); frmMBYesNo.close(); }); frmConfirmNoObj.attachEvent('onButtonClick', function(btnName) { frmMBYesNo.close(); }); newContainer.innerHTML = "

" + message + "

"; newContainer.style.overflow = "auto"; newContainer.style.width = "100%"; newContainer.style.height = "100%"; newContainer.style.background.color = "#EFEFEF"; newContainer.appendChild(divYes); newContainer.appendChild(divNo); forms.window(formId).attachObject(newContainer); forms.window(formId).setModal(true); forms.window(formId).centerOnScreen(); } function openAlarm(alarmId) { if (!isFinite(alarmId)) alarmId = this.name.substring(6); if (forms == false) { forms = new dhtmlXWindows(); forms.enableAutoViewport(true); //false); forms.setImagePath("/js/dhtmlx/imgs/"); } var formId = 'frmAlarm_' + alarmId; var frmAlarm = forms.createWindow(formId, document.body.clientWidth / 2 - 275, 80, 550, 560); forms.window(formId).setText("Ticket"); forms.window(formId).progressOn(); var newContainer = document.createElement("DIV"); newContainer.innerHTML = "Se încarcă..."; newContainer.style.overflow = "auto"; newContainer.style.width = "100%"; newContainer.style.height = "100%"; newContainer.style.background.color = "#EFEFEF"; forms.window(formId).attachObject(newContainer); forms.window(formId).attachURL("edit_alarm.php?action=edit&id=" + alarmId + "&js_form_id=" + formId); forms.window(formId).progressOff(); forms.window(formId).setModal(true); //forms.window(formId).button("minmax1").hide(); //forms.window(formId).button("park").hide(); forms.window(formId).centerOnScreen(); //forms.open('edit_alarm.php?action=edit&id=' + alarmId, '_blank', "resizable = 1, height = 420, width = 550, status = 0, toolbar = 0, menubar = 0, scrollbars=1"); } function openAlarmBig(alarmId) { if (!isFinite(alarmId)) alarmId = this.name.substring(6); if (forms == false) { forms = new dhtmlXWindows(); forms.enableAutoViewport(true); //false); forms.setImagePath("/js/dhtmlx/imgs/"); } var formId = 'frmAlarm_' + alarmId; var frmAlarm = forms.createWindow(formId, document.body.clientWidth / 2 - 430, 40, 850, 670); forms.window(formId).setText("Ticket"); forms.window(formId).progressOn(); var newContainer = document.createElement("DIV"); newContainer.innerHTML = "Se încarcă..."; newContainer.style.overflow = "auto"; newContainer.style.width = "100%"; newContainer.style.height = "100%"; newContainer.style.background.color = "#EFEFEF"; forms.window(formId).attachObject(newContainer); forms.window(formId).attachURL("edit_alarm.php?action=edit&id=" + alarmId + "&js_form_id=" + formId); forms.window(formId).progressOff(); forms.window(formId).setModal(true); //forms.window(formId).button("minmax1").hide(); //forms.window(formId).button("park").hide(); forms.window(formId).centerOnScreen(); //forms.open('edit_alarm.php?action=edit&id=' + alarmId, '_blank', "resizable = 1, height = 420, width = 550, status = 0, toolbar = 0, menubar = 0, scrollbars=1"); } function openReport(reportId) { if (!isFinite(reportId)) reportId = this.name.substring(6); openPopup('work_report.php?id=' + reportId); } function openPopup(page) { var myWin = window.open(page, '_blank', "resizable = 1, height = 500, width = 820, scrollbars = 1"); } function openIntervention(interventionId, componentId, procedureId, teamId, comments) { window.open('admin_interventions.php?action=edit&id=' + interventionId + '&id_component=' + componentId + '&id_procedure=' + procedureId + '&id_team=' + teamId + '&comments=' + comments, '_blank', "resizable = 1, status = 0, toobar = 0, menubar = 0, scrollbars = 1"); } function requestAlarms(strAlarmType) { clearTimeout(alarmsTimer); alarmsRequest = getXMLHTTPRequest(); var urlRequest = "scripts/getAlarms.php"; if ( (strAlarmType != "") && (strAlarmType != null) && (strAlarmType != "undefined") ) { urlRequest += "?alarm_type=" + strAlarmType; alarmType = strAlarmType; } else urlRequest += "?alarm_type=" + alarmType; alarmsRequest.open("POST", urlRequest, true); alarmsRequest.onreadystatechange = getAlarms; alarmsRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); alarmsRequest.send(null); } function getAlarms() { try { if (alarmsRequest.readyState == 4) { if (alarmsRequest.status == 200) { var alarms = document.getElementById('newAlarms'); var title = document.getElementById('alarmsNewTitle'); if (alarmsRequest.responseXML != null) { var alarmNodes = alarmsRequest.responseXML.getElementsByTagName("newAlarm"); if ( (alarmNodes.length > 0) && (alarms) ) { var alarmsTable = document.createElement('Table'); alarmsTable.className = "newalarms"; var tr = alarmsTable.insertRow(0); var th = document.createElement('TH'); th.innerHTML = " "; // Rank th.style.width = "20px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Etat"; th.style.width = "5em"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Référence ticket"; th.style.width = "170px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Site"; th.style.width = "130px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Composante"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Code"; th.style.width = "70px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Echéance"; th.style.width = "100px"; tr.appendChild(th); var th = document.createElement('TH'); th.style.width = "50px"; th.innerHTML = " "; tr.appendChild(th); for (var i = 0; i < alarmNodes.length; i++) { if (alarmNodes[i].attributes.getNamedItem("alarm_filter").nodeValue != "*") { alarms.style.display = ''; title.style.display = 'none'; } else { alarms.style.display = ''; title.style.display = ''; } var tr = alarmsTable.insertRow(i + 1); tr.className = alarmNodes[i].attributes.getNamedItem("rank").nodeValue + " " + alarmNodes[i].attributes.getNamedItem("status").nodeValue; var td = tr.insertCell(0); var div = document.createElement('DIV'); div.className = alarmNodes[i].attributes.getNamedItem("rank").nodeValue; div.title = alarmNodes[i].attributes.getNamedItem("type").nodeValue; div.innerHTML = " "; td.appendChild(div); td = tr.insertCell(1); td.innerHTML = statusName(alarmNodes[i].attributes.getNamedItem("status").nodeValue); td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(2); td.innerHTML = alarmNodes[i].attributes.getNamedItem("reference").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(3); td.innerHTML = alarmNodes[i].attributes.getNamedItem("site").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(4); td.innerHTML = alarmNodes[i].attributes.getNamedItem("component").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(5); td.innerHTML = alarmNodes[i].attributes.getNamedItem("code").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(6); td.innerHTML = get_mysql_datetime(alarmNodes[i].attributes.getNamedItem("deadline").nodeValue, false); td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(7); td.className = "buttons"; var f = document.createElement("form"); f.action = "index.php"; f.method = "POST"; f.target = "_blank"; var inp = document.createElement("input"); inp.type = "hidden"; inp.name = "page"; inp.value = "edit_alarm"; f.appendChild(inp); inp = document.createElement("input"); inp.type = "hidden"; inp.name = "action"; inp.value = "edit"; f.appendChild(inp); inp = document.createElement("input"); inp.type = "hidden"; inp.name = "id"; inp.value = alarmNodes[i].attributes.getNamedItem("id").nodeValue; f.appendChild(inp); inp = document.createElement("input"); inp.type = "button"; inp.name = "button" + alarmNodes[i].attributes.getNamedItem("id").nodeValue; inp.className = "open"; inp.value = "Open"; inp.onclick = openAlarm; f.appendChild(inp); td.appendChild(f); } alarms.innerHTML = " "; alarms.appendChild(alarmsTable); } else if (alarms) { alarms.innerHTML = "

Absence des nouvelles alarmes

"; alarms.style.display = 'none'; title.style.display = 'none'; } alarms = document.getElementById('myAlarms'); var title = document.getElementById('alarmsMyTitle'); alarmNodes = alarmsRequest.responseXML.getElementsByTagName("myAlarm"); if ( (alarmNodes.length > 0) && (alarms) ) { var alarmsTable = document.createElement('Table'); alarmsTable.className = "alarms"; var tr = alarmsTable.insertRow(0); var th = document.createElement('TH'); th.innerHTML = " "; // Rank th.style.width = "20px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Etat"; th.style.width = "5em"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Référence ticket"; th.style.width = "170px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Site"; th.style.width = "130px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Composante"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Code"; th.style.width = "70px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Equipe"; th.style.width = "60px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Echéance"; th.style.width = "100px"; tr.appendChild(th); var th = document.createElement('TH'); th.style.width = "50px"; th.innerHTML = " "; tr.appendChild(th); for (var i = 0; i < alarmNodes.length; i++) { if (alarmNodes[i].attributes.getNamedItem("alarm_filter").nodeValue != "*") { alarms.style.display = ''; title.style.display = 'none'; } else { alarms.style.display = ''; title.style.display = ''; } var tr = alarmsTable.insertRow(i + 1); tr.className = alarmNodes[i].attributes.getNamedItem("rank").nodeValue + " " + alarmNodes[i].attributes.getNamedItem("status").nodeValue; var td = tr.insertCell(0); var div = document.createElement('DIV'); div.className = alarmNodes[i].attributes.getNamedItem("rank").nodeValue; div.title = alarmNodes[i].attributes.getNamedItem("type").nodeValue; div.innerHTML = " "; td.appendChild(div); td = tr.insertCell(1); td.innerHTML = statusName(alarmNodes[i].attributes.getNamedItem("status").nodeValue); td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(2); td.innerHTML = alarmNodes[i].attributes.getNamedItem("reference").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(3); td.innerHTML = alarmNodes[i].attributes.getNamedItem("site").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(4); td.innerHTML = alarmNodes[i].attributes.getNamedItem("component").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(5); td.innerHTML = alarmNodes[i].attributes.getNamedItem("code").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(6); td.innerHTML = alarmNodes[i].attributes.getNamedItem("team").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(7); td.innerHTML = get_mysql_datetime(alarmNodes[i].attributes.getNamedItem("deadline").nodeValue, false); td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(8); td.className = "buttons"; var f = document.createElement("form"); f.action = "index.php"; f.method = "POST"; f.target = "_blank"; var inp = document.createElement("input"); inp.type = "hidden"; inp.name = "page"; inp.value = "edit_alarm"; f.appendChild(inp); inp = document.createElement("input"); inp.type = "hidden"; inp.name = "action"; inp.value = "edit"; f.appendChild(inp); inp = document.createElement("input"); inp.type = "hidden"; inp.name = "id"; inp.value = alarmNodes[i].attributes.getNamedItem("id").nodeValue; f.appendChild(inp); inp = document.createElement("input"); inp.type = "button"; inp.name = "button" + alarmNodes[i].attributes.getNamedItem("id").nodeValue; inp.className = "open"; inp.value = "Open"; inp.onclick = openAlarmBig; f.appendChild(inp); td.appendChild(f); } alarms.innerHTML = " "; alarms.appendChild(alarmsTable); } else if (alarms) { alarms.innerHTML = "

Absence d\'alarmes

"; alarms.style.display = 'none'; title.style.display = 'none'; } } alarmsTimer = setTimeout("requestAlarms()", autorefreshAlarms); } else { alert('error'); } } } catch (ex) { alert(ex); } } /* ACTIVITY REPORTS */ function requestReports() { clearTimeout(reportsTimer); reportsRequest = getXMLHTTPRequest(); var urlRequest = "scripts/getActivityReports.php"; reportsRequest.open("POST", urlRequest, true); reportsRequest.onreadystatechange = getReports; reportsRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); reportsRequest.send(null); } function getReports() { try { if (reportsRequest.readyState == 4) { if (reportsRequest.status == 200) { var reportsDiv = document.getElementById('newReports'); var xmlNodes = reportsRequest.responseXML.getElementsByTagName("pvReport"); if (xmlNodes.length > 0) { var reportsTable = document.createElement('Table'); reportsTable.className = "reports_pending"; var tr = reportsTable.insertRow(0); var th = document.createElement('TH'); th.innerHTML = " "; // Rank th.style.width = "20px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Site"; th.style.width = "100px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Composant"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Envoyé le "; th.style.width = "70px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Vérifié a"; th.style.width = "70px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "OT no."; th.style.width = "50px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Incident"; th.style.width = "50px"; tr.appendChild(th); var th = document.createElement('TH'); th.style.width = "110px"; th.innerHTML = " "; tr.appendChild(th); for (var i = 0; i < xmlNodes.length; i++) { var tr = reportsTable.insertRow(i + 1); tr.className = "report_" + xmlNodes[i].attributes.getNamedItem("validated").nodeValue; var td = tr.insertCell(0); var strVerifyTime = xmlNodes[i].attributes.getNamedItem("verify_time").nodeValue; var validated = xmlNodes[i].attributes.getNamedItem("validated").nodeValue; var strImg = ""; if (strVerifyTime.length > 0) if (validated == 1) strImg = ""; else strImg = ""; else strImg = ""; td.innerHTML = strImg; td = tr.insertCell(1); td.innerHTML = xmlNodes[i].attributes.getNamedItem("site").nodeValue; td = tr.insertCell(2); td.innerHTML = xmlNodes[i].attributes.getNamedItem("component").nodeValue; td = tr.insertCell(3); td.innerHTML = get_mysql_datetime(xmlNodes[i].attributes.getNamedItem("submit_time").nodeValue, false); td = tr.insertCell(4); td.innerHTML = get_mysql_datetime(xmlNodes[i].attributes.getNamedItem("verify_time").nodeValue, false); td = tr.insertCell(5); td.innerHTML = xmlNodes[i].attributes.getNamedItem("id_intervention").nodeValue; td = tr.insertCell(6); td.innerHTML = xmlNodes[i].attributes.getNamedItem("alarm_code").nodeValue; td = tr.insertCell(7); td.className = "buttons"; inp = document.createElement("input"); inp.type = "button"; inp.name = "button" + xmlNodes[i].attributes.getNamedItem("id_intervention").nodeValue; inp.className = "open"; inp.value = "Open"; inp.onclick = openReport; td.appendChild(inp); } reportsDiv.innerHTML = " "; reportsDiv.appendChild(reportsTable); } else reportsDiv.innerHTML = "

Absence des nouvelles alarmes

"; /*alarms = document.getElementById('myAlarms'); alarmNodes = alarmsRequest.responseXML.getElementsByTagName("myAlarm"); if (alarmNodes.length > 0) { var alarmsTable = document.createElement('Table'); alarmsTable.className = "alarms"; var tr = alarmsTable.insertRow(0); var th = document.createElement('TH'); th.innerHTML = " "; // Rank th.style.width = "20px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Etat"; th.style.width = "5em"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Référence ticket"; th.style.width = "170px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Site"; th.style.width = "130px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Composante"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Code"; th.style.width = "70px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Equipe"; th.style.width = "60px"; tr.appendChild(th); var th = document.createElement('TH'); th.innerHTML = "Echéance"; th.style.width = "100px"; tr.appendChild(th); var th = document.createElement('TH'); th.style.width = "50px"; th.innerHTML = " "; tr.appendChild(th); for (var i = 0; i < alarmNodes.length; i++) { var tr = alarmsTable.insertRow(i + 1); tr.className = alarmNodes[i].attributes.getNamedItem("rank").nodeValue + " " + alarmNodes[i].attributes.getNamedItem("status").nodeValue; var td = tr.insertCell(0); var div = document.createElement('DIV'); div.className = alarmNodes[i].attributes.getNamedItem("rank").nodeValue; div.title = alarmNodes[i].attributes.getNamedItem("type").nodeValue; div.innerHTML = " "; td.appendChild(div); td = tr.insertCell(1); td.innerHTML = statusName(alarmNodes[i].attributes.getNamedItem("status").nodeValue); td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(2); td.innerHTML = alarmNodes[i].attributes.getNamedItem("reference").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(3); td.innerHTML = alarmNodes[i].attributes.getNamedItem("site").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(4); td.innerHTML = alarmNodes[i].attributes.getNamedItem("component").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(5); td.innerHTML = alarmNodes[i].attributes.getNamedItem("code").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(6); td.innerHTML = alarmNodes[i].attributes.getNamedItem("team").nodeValue; td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(7); td.innerHTML = get_mysql_datetime(alarmNodes[i].attributes.getNamedItem("deadline").nodeValue, false); td.title = alarmNodes[i].attributes.getNamedItem("description").nodeValue; td = tr.insertCell(8); td.className = "buttons"; var f = document.createElement("form"); f.action = "index.php"; f.method = "POST"; f.target = "_blank"; var inp = document.createElement("input"); inp.type = "hidden"; inp.name = "page"; inp.value = "edit_alarm"; f.appendChild(inp); inp = document.createElement("input"); inp.type = "hidden"; inp.name = "action"; inp.value = "edit"; f.appendChild(inp); inp = document.createElement("input"); inp.type = "hidden"; inp.name = "id"; inp.value = alarmNodes[i].attributes.getNamedItem("id").nodeValue; f.appendChild(inp); inp = document.createElement("input"); inp.type = "button"; inp.name = "button" + alarmNodes[i].attributes.getNamedItem("id").nodeValue; inp.className = "open"; inp.value = "Open"; inp.onclick = openAlarm; f.appendChild(inp); td.appendChild(f); } alarms.innerHTML = " "; alarms.appendChild(alarmsTable); } else alarms.innerHTML = "

Absence d\'alarmes

"; */ reportsTimer = setTimeout("requestReports()", autorefreshReports); } } } catch (ex) { alert(ex); } } /* TEAM MEMBERS */ function requestTeamMembers() { if (!document.editFormD.id_team) return; var idTeam = 0; if (typeof(document.editFormD.id_team.value) != "undefined") { idTeam = document.editFormD.id_team.value; } for (var i = 0; i < document.editFormD.id_team.length; i++) { if (document.editFormD.id_team[i].checked) idTeam = document.editFormD.id_team[i].value; } if (idTeam == -1) if (!document.editFormD.id_other_team) return; else idTeam = document.editFormD.id_other_team.value; teamMembersRequest = getXMLHTTPRequest(); var urlRequest = "scripts/getTeamMembers.php"; teamMembersRequest.open("POST", urlRequest, true); teamMembersRequest.onreadystatechange = getTeamMembers; teamMembersRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); teamMembersRequest.send("id_team=" + idTeam); } function getTeamMembers() { if (teamMembersRequest.readyState == 4) { if (teamMembersRequest.status == 200) { var spanTeamName = document.getElementById("team_description_name"); var divTeamMembers = document.getElementById("team_description_members"); var response = teamMembersRequest.responseText; var teamName = response.substr(0, response.indexOf("\n")); var teamMembers = response.substr(response.indexOf("\n")); spanTeamName.innerHTML = teamName; divTeamMembers.innerHTML = teamMembers; } else { alert("Erreur sélection membre d\'équipe"); } } } /* EDITABLE GRID */ var oldGridPadding = ''; function showGridEditor(sender) { var td = sender; var tr = sender.parentNode; var tbody = tr.parentNode; var tableName = "", fieldName = "", fieldValue = "", keyFieldName = "", keyFieldValue = ""; var foreignTableName = "", foreignFieldName = "", foreignKeyFieldName = "", foreignKeyFieldValue = ""; var fieldType = "text"; if (tbody.id.substr(0, 4) == "tbl_") tableName = tbody.id.substr(4); if (tr.id.indexOf("__") >= 0) { keyFieldName = tr.id.substr(0, tr.id.indexOf("__")); keyFieldValue = tr.id.substr(tr.id.indexOf("__") + 2); } if (td.className.indexOf("__") < 0) { if (td.className.substr(0, 4) == "col_") { fieldName = td.className.substr(4); fieldValue = td.innerHTML; } else if (td.className.substr(0, 5) == "cold_") { fieldName = td.className.substr(5); fieldValue = td.innerHTML; fieldType = "date"; } else if (td.className.substr(0, 5) == "colt_") { fieldName = td.className.substr(5); fieldValue = td.innerHTML; fieldType = "time"; } else if (td.className.substr(0, 6) == "coldt_") { fieldName = td.className.substr(6); fieldValue = td.innerHTML; fieldType = "datetime"; } } else { if (td.className.substr(0, 4) == "col_") { var colInfo = td.className.substr(4); fieldName = colInfo.substr(0, colInfo.indexOf("__")); colInfo = colInfo.substr(colInfo.indexOf("__") + 2); foreignTableName = colInfo.substr(0, colInfo.indexOf("__")); colInfo = colInfo.substr(colInfo.indexOf("__") + 2); foreignFieldName = colInfo.substr(0, colInfo.indexOf("__")); colInfo = colInfo.substr(colInfo.indexOf("__") + 2); foreignKeyFieldName = colInfo; foreignKeyFieldValue = td.id.substr(td.id.indexOf("__") + 2); fieldValue = td.innerHTML; } } var newId = tableName + "_" + fieldName + "_AUTO"; var newContainer = document.createElement("DIV"); newContainer.style.position = "absolute"; var element = td; var coords = { x: 0, y: 0 }; while (element) { coords.x += element.offsetLeft; coords.y += element.offsetTop; element = element.offsetParent; } newContainer.style.top = coords.y; newContainer.style.left = coords.x; newContainer.style.width = 100; newContainer.style.height = 20; newContainer.style.display = "block"; document.body.appendChild(newContainer); newContainer.id = "inlineGridContainer"; inlineGridEditCell = td; var newInnerHTML = "
"; newInnerHTML += ""; newInnerHTML += ""; newInnerHTML += ""; newInnerHTML += ""; newInnerHTML += ""; newInnerHTML += ""; newInnerHTML += ""; newInnerHTML += ""; newInnerHTML += ""; var component = null; if (foreignTableName == "") { var w = td.clientWidth; var h = td.clientHeight; var ww = w-4; var hh = h; switch (fieldType) { case "text": newInnerHTML += ""; break; case "date": newInnerHTML += "" + " " + "Select date..."; break; case "datetime": newInnerHTML += "" + " " + "Select date..."; alert(newId); alert(document.getElementById(newId)); document.getElementById(newId).onfocus = saveGridEditorValue; break; default: newInnerHTML += ""; } newInnerHTML += "
"; newContainer.innerHTML = newInnerHTML; //td.innerHTML = newInnerHTML; component = document.getElementById(newId); oldGridPadding = td.style.padding; td.style.padding = '0px'; // component.width = w - 4; // component.height = h - 4; // component.style.padding = '0px'; // component.style.margin = '0px'; // component.style.border = 'none'; // component.style.fontSize = '8pt'; component.focus(); component.select(); } else { var w = td.clientWidth; var h = td.clientHeight; var ww = w; var hh = h;//+4; // newInnerHTML += ""; newInnerHTML += ""; newInnerHTML += ""; newContainer.innerHTML = newInnerHTML; //td.innerHTML = newInnerHTML; var requester = document.getElementById(newId); requestSelectValues(requester, foreignTableName, foreignKeyFieldName, foreignKeyFieldValue, foreignFieldName); oldGridPadding = td.style.padding; td.style.padding = '0px'; component = requester; // component.width = w - 2; // component.height = h - 2; // component.style.padding = '0px'; // component.style.margin = '0px'; // component.style.border = 'none'; // component.style.fontSize = '8pt'; component.focus(); } tr.className = "selected"; td.onclick = null; //td.detachEvent("onClick", showGridEditor); //alert(td.onClick); } function saveGridEditorValue(sender) { var form = sender.parentNode; var tableName = form.tableName.value; var valueField = form.fieldName.value; var keyField = form.keyFieldName.value; var keyValue = form.keyFieldValue.value; var oldValue = form.oldFieldValue.value; if (sender.value != oldValue) { saveRequest = getXMLHTTPRequest(); saveRequester = sender; var urlRequest = "scripts/setValues.php"; saveRequest.open("POST", urlRequest, true); saveRequest.onreadystatechange = getSaveValues; saveRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); saveRequest.send("tableName=" + tableName + "&keyField=" + keyField + "&keyValue=" + keyValue + "&valueField=" + valueField + "&value=" + sender.value); } else { var container = inlineGridEditCell; //sender.parentNode.parentNode; container.onclick = new Function("showGridEditor(this)"); container.innerHTML = oldValue; container.parentNode.className = ""; container.style.padding = oldGridPadding; document.body.removeChild(form.parentNode); } } function getSaveValues() { if (saveRequest.readyState == 4) { if (saveRequest.status == 200) { if (saveRequester != null) { var container = inlineGridEditCell; // saveRequester.parentNode.parentNode; container.onclick = new Function("showGridEditor(this)"); if (saveRequest.responseText != "") container.innerHTML = saveRequest.responseText; else { var displayValue = saveRequester.value; if (saveRequester.options != null) { displayValue = saveRequester.options[saveRequester.selectedIndex].text; if (displayValue.indexOf("[") >= 0) { displayValue = displayValue.substr(displayValue.indexOf("[") + 1, displayValue.indexOf("]") - displayValue.indexOf("[") - 1); } } container.innerHTML = displayValue; if (saveRequester.options != null) container.id = "id_status__" + saveRequester.options[saveRequester.selectedIndex].value; container.parentNode.className = "modified"; container.style.padding = oldGridPadding; document.body.removeChild(saveRequester.parentNode.parentNode); } } } else { alert('Error retrieving data!'); } } } function requestSelectValues(sender, tableName, keyField, keyValue, valueField) { selectValuesRequest = getXMLHTTPRequest(); selectValuesRequester = sender; var urlRequest = "scripts/getSelectValues.php"; selectValuesRequest.open("POST", urlRequest, true); selectValuesRequest.onreadystatechange = getSelectValues; selectValuesRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); selectValuesRequest.send("tableName=" + tableName + "&keyField=" + keyField + "&keyValue=" + keyValue + "&valueField=" + valueField); } function getSelectValues() { if (selectValuesRequest.readyState == 4) { if (selectValuesRequest.status == 200) { if (selectValuesRequester != null) { selectValuesRequester.length = 0; var nodes = selectValuesRequest.responseXML.getElementsByTagName("field"); for (var i = 0; i < nodes.length; i++) { selectValuesRequester.options[i] = new Option(nodes[i].attributes.getNamedItem("value").nodeValue, nodes[i].attributes.getNamedItem("key").nodeValue); if (nodes[i].attributes.getNamedItem("selected").nodeValue == 1) selectValuesRequester.selectedIndex = i; } //selectValuesRequester. } } else { alert('Erreur de recherche dans la base de données'); } } } function handleClicks() {}