function NewAjax() { var xmlDoc; if (typeof window.ActiveXObject != 'undefined' ){ xmlDoc = new ActiveXObject("Microsoft.XMLHTTP"); if (!xmlDoc) { xmlDoc = ActiveXObject("Msxml2.XMLHTTP"); } } else{ xmlDoc = new XMLHttpRequest(); } return xmlDoc; } function SendAjax(url,data) { var XmlDoc=NewAjax(); XmlDoc.open( 'POST',url, false ); XmlDoc.setRequestHeader('Content-charset','UTF-8') XmlDoc.setRequestHeader('Charset','UTF-8') XmlDoc.setRequestHeader('Content-Type','text/xml; charset=UTF-8; ') XmlDoc.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8') XmlDoc.send( data ); if ( XmlDoc.readyState != 4 ) return; var ResText = XmlDoc.responseText; return ResText; }; function DateMask(inputName, mask, evt) { var input = document.getElementById(inputName); var inputValue = input.value; var newValue = ""; var numberPattern =/[0-9]/; var datePattern =/^(?:(?:31(\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/; var e = (evt.which) ? evt.which : event.keyCode; if ( e == 46 || e == 8 ) { return; } for (var vId = 0, mId = 0 ; mId < mask.length; ) { if (mId >= inputValue.length) { break; }else if (mask[mId] == '0' && inputValue[vId].match(numberPattern) == null) { break; } newValue += inputValue[vId++]; mId++; if ((vId == 2)||(vId == 5)) { newValue += "."; vId++; mId++; } if (mId == mask.length && inputValue.match(datePattern) == null) { input.style.color = "#f00"; } else { input.style.color = "#000"; } } input.value = newValue; }; function CreatePopupWindow(url,data,parent,child) { var childElement = document.getElementsByClassName(child); if ((typeof childElement[0] !== "undefined")&&(child != "")) { RemovePopupWindow (parent, child); } var TXT = SendAjax(url); var CreatedDiv = document.createElement('div'); CreatedDiv.className = child; CreatedDiv.innerHTML = TXT; var ParentElement = document.getElementsByClassName(parent); ParentElement[0].appendChild(CreatedDiv); }; function RemovePopupWindow(parent, child) { var ParentElement = document.getElementsByClassName(parent); var ChildElement = document.getElementsByClassName(child); ParentElement[0].removeChild(ChildElement[0]); }; function ExportBug(url, step, groupId) { var DateFrom = document.getElementById('dateFrom').value || ""; var DateTo = document.getElementById('dateTo').value || ""; var BugGroupId = document.getElementById('groupId').value; exportData(url,"step="+step+"&bugGroupId="+BugGroupId+"&groupId="+groupId+"&dateFrom="+DateFrom+"&dateTo="+DateTo); }; function ExportDetailedReport(url, step, groupId) { var DateFrom = document.getElementById('dateFrom').value || ""; var DateTo = document.getElementById('dateTo').value || ""; var ModulId = document.getElementById('modulId').value; var Contractor1Id = document.getElementById('contractor1').value; var Contractor2Id = document.getElementById('contractor2').value; exportData(url,"step="+step+"&modulId="+ModulId+"&groupId="+groupId+"&dateFrom="+DateFrom+"&dateTo="+DateTo+"&contractor1Id="+Contractor1Id+"&contractor2Id="+Contractor2Id); }; function exportData(url,param) { window.open(url+"?"+param,'_blank'); }; function passValue(obj) { var forName = obj.getAttribute('for'); var tr = obj.closest('tr'); var input = tr.querySelector('[name='+forName+']'); if (obj.tagName.toLowerCase() == 'select') { input.value = obj.querySelector('option:checked').value; } else if (obj.tagName.toLowerCase() == 'input') { if (obj.type == 'checkbox') { input.value = obj.checked ? 1 : 0; } else { input.value = obj.value; } } else { input.value = 0; } } function backgroundReplace(obj) { var tr = obj.closest('tr'); var check = false; if ((obj.id == 'addButton')||(obj.id == 'delButton')) { var modulId = tr.querySelector('[name=modul]').value; var netId = tr.querySelector('[name=net]').value; var groupTr = document.querySelector('.accessTable [name=aId][value="group"]+[name=modul][value="'+modulId+'"]+[name=net][value="'+netId+'"]').closest('tr'); } if (obj.id == 'addButton') { groupTr.style.backgroundColor = '#DFDFDF'; tr = document.querySelector('.accessTable [name=aId][value=""]+[name=modul][value="'+modulId+'"]+[name=net][value="'+netId+'"]').closest('tr'); var checkBox = tr.querySelectorAll('[type=checkbox]'); for (var i = 0; i != checkBox.length; i++) { check = check || checkBox[i].checked; } tr.style.backgroundColor = check ? '#6BF656' : ''; } else if (obj.id == 'delButton') { var checkBox = groupTr.querySelectorAll('[type=checkbox]'); for (var i = 0; i != checkBox.length; i++) { check = check || checkBox[i].checked; } groupTr.style.backgroundColor = check ? '#87FF9C' : '#DFDFDF'; } else if (obj.type == 'checkbox'){ var checkBox = tr.querySelectorAll('[type=checkbox]'); for (var i = 0; i != checkBox.length; i++) { check = check || checkBox[i].checked; } tr.style.backgroundColor = check ? '#6BF656' : ''; } else if (obj.id == 'clickableTd') { tr.style.backgroundColor = '#DFDFDF'; } } function addAccess(obj, addMethod) { var modulId = obj.querySelector('[name="modul"]').value; var netId = obj.querySelector('[name="net"]').value; var accessTable = document.querySelector('.accessTable tbody'); var isDuplicate = false; var matchesModul = accessTable.querySelectorAll('[name="modul"][value="'+modulId+'"]'); for (var i=0; i != matchesModul.length; i++){ var id = matchesModul[i].closest('tr').querySelector('[name="aId"]').value; if (id == 'group') { continue; } var net = matchesModul[i].closest('tr').querySelector('[name="net"]').value; if (net==netId) { isDuplicate = true; break; } } if (isDuplicate) { alert('Настройка уже добавлена!'); return; } var cloneRow = ''; var insertBeforeRow = accessTable.querySelector('tr:last-child'); if (addMethod == 'cloneFromExternalTable') { var modulName = obj.querySelector('#modulBox select option:checked').textContent; var netName = "[нет]" if (obj.querySelector('#netBox select')) { netName = obj.querySelector('#netBox select option:checked').textContent; } cloneRow = obj.cloneNode(true); cloneRow.querySelector('#modulBox').innerHTML = modulName; cloneRow.querySelector('#modulBox').removeAttribute('id'); cloneRow.querySelector('#netBox').innerHTML = netName; cloneRow.querySelector('#netBox').removeAttribute('id'); cloneRow.querySelector('#delButton').style=''; cloneRow.querySelector('#addButton').remove(); var checkBox = cloneRow.querySelectorAll('[type=checkbox]'); for (var i = 0; i != checkBox.length; i++) { checkBox[i].setAttribute("onchange", checkBox[i].getAttribute('onchange')+'backgroundReplace(this);'); } /*var checkBox = obj.querySelectorAll('[type=checkbox]'); for (var i = 0; i != checkBox.length; i++) { checkBox[i].checked=''; var forName = checkBox[i].getAttribute('for'); var input = obj.querySelector('[name='+forName+']'); input.value = 0; }*/ } else if (addMethod == 'cloneFromCurrentTable') { var userName = document.querySelector('[name=thisUserName]').value; cloneRow = obj.cloneNode(true); cloneRow.querySelector('[name=aId]').value = ''; cloneRow.querySelector('#userName').innerHTML = userName; cloneRow.querySelector('#clickableTd span').remove(); cloneRow.querySelector('#clickableTd').removeAttribute('style'); cloneRow.querySelector('#clickableTd').removeAttribute('onclick'); cloneRow.querySelector('span#aId').remove(); cloneRow.removeAttribute('style'); var checkBox = cloneRow.querySelectorAll('[type=checkbox]'); for (var i = 0; i != checkBox.length; i++) { checkBox[i].checked=''; checkBox[i].removeAttribute('disabled'); } cloneRow.querySelector('#delButton').style=''; cloneRow.querySelector('[for=del]').remove(); insertBeforeRow = obj.nextElementSibling; } accessTable.insertBefore(cloneRow, insertBeforeRow); } window_onload_old = function () { document.body.onclick = function (e) { var target = e.target; var parentElement = document.getElementsByClassName("menu")[0]; var exportParametersMenu = document.getElementsByClassName("exportParametersMenu")[0]; var navigationMenu = document.getElementsByClassName("navigationMenu")[0]; if ((target.id == "bugList")||(target.id == "detailedReport")) { document.getElementById("bugList").style.backgroundColor=""; document.getElementById("bugList").style.color="#000"; document.getElementById("detailedReport").style.backgroundColor=""; document.getElementById("detailedReport").style.color="#000"; target.style.backgroundColor="#06f"; target.style.color="#FFF"; } if ((typeof exportParametersMenu === "undefined")&&(typeof navigationMenu !== "undefined")) { document.getElementById("bugList").style.backgroundColor=""; document.getElementById("bugList").style.color="#000"; document.getElementById("detailedReport").style.backgroundColor=""; document.getElementById("detailedReport").style.color="#000"; } if ((typeof parentElement !== "undefined")&&(typeof navigationMenu !== "undefined")) { var result = parentElement.contains(target); if ((!result)&&(target.id !== "menuClose")&&(target.className !== "navigationMenu")) { if (typeof exportParametersMenu !== "undefined") { RemovePopupWindow (parentElement.className, exportParametersMenu.className); } RemovePopupWindow (parentElement.className, navigationMenu.className); } } var menuExportButton = document.getElementById("menuExport"); var group = document.getElementById("groupId"); var firstContractor = document.getElementById("contractor1"); var secondContractor = document.getElementById("contractor2"); if ((firstContractor)&&(secondContractor)) { if ((firstContractor.value == "")||(secondContractor.value == "")) { menuExportButton.disabled = true; } else if (menuExportButton) { menuExportButton.disabled = false; } } else if (group) { if (group.value == "") { menuExportButton.disabled = true; } else { menuExportButton.disabled = false; } } } // // Настройка событий обработки файлов while(true){ if((typeof(window.FileReader) == 'undefined')) break; // Обработка буфера обмена window.addEventListener('paste', function(event){ if(event.clipboardData.types.indexOf("Files")==-1) return; if(((event.target.tagName=="INPUT")||(event.target.tagName=="TEXTAREA")) &&(event.clipboardData.types.indexOf("text/plain")!=-1)) return; // event.preventDefault(); // var files = event.clipboardData.files; if(!files) return; if(!files.length) return; // var inputs = document.getElementsByName("files"); if(!inputs) return; if(!inputs.length) return; // inputs[0].files = files; }); var dropZone = document.getElementById("TableBugBody"); if(!dropZone) break; // Добавляем класс hover при наведении dropZone.ondragover = function() { dropZone.classList.add("hover"); return false; }; // Убираем класс hover dropZone.ondragleave = function() { dropZone.classList.remove("hover"); return false; }; // Обрабатываем событие Drop dropZone.ondrop = function(event) { event.preventDefault(); dropZone.classList.remove("hover"); // var files = event.dataTransfer.files; if(!files) return; if(!files.length) return; // var inputs = document.getElementsByName("files"); if(!inputs) return; if(!inputs.length) return; // inputs[0].files = files; }; break; } }; window_onload = function () { document.body.onclick = function (e) { var target = e.target; var parentElement = document.getElementsByClassName("menu")[0]; var exportParametersMenu = document.getElementsByClassName("exportParametersMenu")[0]; var navigationMenu = document.getElementsByClassName("navigationMenu")[0]; if ((target.id == "bugList")||(target.id == "detailedReport")) { document.getElementById("bugList").style.backgroundColor=""; document.getElementById("bugList").style.color="#000"; document.getElementById("detailedReport").style.backgroundColor=""; document.getElementById("detailedReport").style.color="#000"; target.style.backgroundColor="#06f"; target.style.color="#FFF"; } if ((typeof exportParametersMenu === "undefined")&&(typeof navigationMenu !== "undefined")) { document.getElementById("bugList").style.backgroundColor=""; document.getElementById("bugList").style.color="#000"; document.getElementById("detailedReport").style.backgroundColor=""; document.getElementById("detailedReport").style.color="#000"; } if ((typeof parentElement !== "undefined")&&(typeof navigationMenu !== "undefined")) { var result = parentElement.contains(target); if ((!result)&&(target.id !== "menuClose")&&(target.className !== "navigationMenu")) { if (typeof exportParametersMenu !== "undefined") { RemovePopupWindow (parentElement.className, exportParametersMenu.className); } RemovePopupWindow (parentElement.className, navigationMenu.className); } } var menuExportButton = document.getElementById("menuExport"); var group = document.getElementById("groupId"); var firstContractor = document.getElementById("contractor1"); var secondContractor = document.getElementById("contractor2"); if ((firstContractor)&&(secondContractor)) { if ((firstContractor.value == "")||(secondContractor.value == "")) { menuExportButton.disabled = true; } else if (menuExportButton) { menuExportButton.disabled = false; } } else if (group) { if (group.value == "") { menuExportButton.disabled = true; } else { menuExportButton.disabled = false; } } } // // Настройка событий обработки файлов while(true){ if((typeof(window.FileReader) == 'undefined')) break; var inputFiles = document.getElementsByName("files")[0]; if(!inputFiles) break; // var maxFileSize = 50*1024*1024; var filesUpload = []; // Скрываем старый input files и Добавляем новую кнопку для открытия файлов inputFiles.style.display="none"; var newEl = document.createElement('button'); newEl.id = "buttonOpenFiles"; newEl.type = "button"; newEl.innerHTML = "Выбрать файлы"; inputFiles.parentNode.insertBefore(newEl, inputFiles.nextSibling); // Обрабатываем событие нажатия на новую кнопку для открытия файлов var buttonOpenFiles = document.getElementById("buttonOpenFiles"); buttonOpenFiles.onclick = function(){ inputFiles.click(); }; // Обработка буфера обмена для вставки изображения в сообщение HD window.addEventListener('paste', function(event){ if(event.clipboardData.types.indexOf("Files")==-1) return; if(((event.target.tagName=="INPUT")||(event.target.tagName=="TEXTAREA")) &&(event.clipboardData.types.indexOf("text/plain")!=-1)) return; // event.preventDefault(); // if(!event.clipboardData) return; var files = event.clipboardData.files; if(!files) return; if(!files.length) return; // appendFilesToUploadFiles(files); }); // Обработка Drag&Drop для вставки файлов в сообщение HD var dropZone = document.getElementById("TableBugBody"); if(!dropZone) break; // Добавляем класс hover при наведении dropZone.ondragover = function() { dropZone.classList.add("hover"); return false; }; // Убираем класс hover dropZone.ondragleave = function() { dropZone.classList.remove("hover"); return false; }; // Обрабатываем событие Drop dropZone.ondrop = function(event) { event.preventDefault(); dropZone.classList.remove("hover"); // if(!event.dataTransfer) return; var files = event.dataTransfer.files; if(!files) return; if(!files.length) return; // appendFilesToUploadFiles(files); }; // Обработка изменения загруженных через input при нажатии на кнопку inputFiles.onchange = function(event){ if(!event.target) return; var files = event.target.files; appendFilesToUploadFiles(files); inputFiles.value = ''; } break; } // Подмена события отправки данных с формы bugForm var form = document.forms.namedItem("bugForm"); if (form){ form.addEventListener('submit', function(event) { var oData = new FormData(form); // Отправляем параметр нажатой кнопки submit if(event.submitter){ oData.append(event.submitter.name, event.submitter.value); } else if (document.activeElement && (document.activeElement.type=="submit")){ // Opera version 60, Edge oData.append(document.activeElement.name, document.activeElement.value); } else{ // original event submit form return true; } // Подменяем данные input files на список файлов oData.delete && oData.delete("files"); for(var i=0;i2); oData.append("files", file); }; // Оправляем данные на сервер в динамическом запросе var oReq = new XMLHttpRequest(); oReq.open("POST", "helpdesk.csp#firstunreadmessage", true); oReq.onload = function(oEvent) { if (oReq.status == 200) { // Подменяем данные страницы на ответ запроса document.body.innerHTML = oReq.responseText; // Подгружаем скрипты window_onload(); } else { alert("Error submit: " + oReq.status + " occurred when trying to upload your file.
"); } }; oReq.send(oData); // Игнорируем обработку основного события submit event.preventDefault(); }, false); } // Настройка событий обработки формы предпросмотра изображений // Get the modal var previewModal = document.getElementById("preview-modal"); // Get the element that closes the modal var previewClose = document.getElementsByClassName("preview-close")[0]; var previewModalImg = document.getElementById("preview-img"); var previewModalPdf = document.getElementById("preview-pdf"); var previewCaptionText = document.getElementById("preview-caption-text"); // When the user clicks on (x), close the modal if (previewClose){ previewClose.onclick = function(){ previewModal.style.display = "none"; } } if (previewModal){ previewModal.onclick = function(event){ if(event.target==previewModal){ previewModal.style.display = "none"; } } } // Массив прикрепленных файлов getUploadFiles = function(){ return [].concat(filesUpload); } // Добавление файлов в массив для загрузки на сервер appendFilesToUploadFiles = function(files){ files = files || []; // Проверяем размер файлов for(var i=0;i maxFileSize) { alert("Размер файла не должен превышать " + (maxFileSize/(1024*1024)) + " МБ"); return; } }; for(var i=0;i0) && (nameFiles += "
"); var size = file.size; var sizetext = ""; (0<1); if (size >= 1024*1024){ sizetext = (size / (1024*1024)).toFixed(2) + " МБ"; (0<1); } else if (size >= 1024){ sizetext = (size / (1024)).toFixed(2) + " КБ"; } else{ sizetext = size + " Б"; } objectURL = URL.createObjectURL(file); var txt = ''; txt += ''; txt += ''; txt += (i+1) + ". " + file.name; txt += " (" + sizetext + ")"; txt += ''; txt += ''; txt += ''; txt += ''; nameFiles += txt; } document.getElementById("divListFiles").innerHTML = nameFiles; document.getElementById("trListFiles").style.display=(filesUpload.length>0)?"":"none"; } updateUploadFilesList(); // Обновление списка файлов на загрузку removeFileFromFilesUpload = function(i) { filesUpload.splice(i,1); updateUploadFilesList(); } // Обработка click на файл из списка файлов на загрузку clickFileFromFilesUpload = function(i) { var file = filesUpload[i]; var url = URL.createObjectURL(file)+"#toolbar=0"; var fileName = file.name; // if(1 && fileName.match(/.(pdf)$/i)){ var ref = window.open(url); ref.onload = function(){ ref.document.title = fileName; } return; // preview pdf file previewModalImg.style.display = "none"; previewModalPdf.style.display = "none"; previewModal.style.display = "block"; previewCaptionText.innerHTML = fileName; // recreate node embed for pdf with new src var newPdf = previewModalPdf.cloneNode(true); newPdf.src = url; previewModalPdf.parentNode.replaceChild(newPdf,previewModalPdf); previewModalPdf = newPdf; // previewModalPdf.style.display = "block"; } else if(fileName.match(/.(jpg|jpeg|png|gif)$/i)){ // preview image file previewModalImg.style.display = "none"; previewModalPdf.style.display = "none"; previewModal.style.display = "block"; previewModalImg.src = url; previewCaptionText.innerHTML = fileName; previewModalImg.style.display = "block"; } else{ // download file downloadFileFromFilesUpload(i); } } // Обработка click на прикрепленный файл clickFileAttachment = function(fileName, url) { if(1 && fileName.match(/.(pdf)$/i)){ var ref = window.open(url); ref.onload = function(){ ref.document.title = fileName; } return; // preview pdf file previewModalImg.style.display = "none"; previewModalPdf.style.display = "none"; previewModal.style.display = "block"; previewCaptionText.innerHTML = fileName; // recreate node embed for pdf with new src var newPdf = previewModalPdf.cloneNode(true); newPdf.src = url; previewModalPdf.parentNode.replaceChild(newPdf,previewModalPdf); previewModalPdf = newPdf; // previewModalPdf.style.display = "block"; } else if(fileName.match(/.(jpg|jpeg|png|gif)$/i)){ // preview image file previewModalImg.style.display = "none"; previewModalPdf.style.display = "none"; previewModal.style.display = "block"; previewModalImg.src = url; previewCaptionText.innerHTML = fileName; previewModalImg.style.display = "block"; } else{ // download file downloadFileAttachment(fileName, url); } } // Скачивание файла из списка файлов на загрузку downloadFileFromFilesUpload = function(i) { var file = filesUpload[i]; var url = URL.createObjectURL(file); var fileName = file.name; // download file var link = document.getElementById("link_download"); link.href = url; link.download = fileName; link.click(); } // Скачивание прикрепленного файла downloadFileAttachment = function(fileName, url) { // download file var link = document.getElementById("link_download"); link.href = url; link.download = fileName; link.click(); } // Скачивание файла из preview downloadFileFromPreview = function() { var img = document.getElementById("preview-img"); var pdf = document.getElementById("preview-pdf"); var href = null; // !!el.offsetParent - check visible if(img&&!!img.offsetParent){ var href = img.src; } else if(pdf&&!!pdf.offsetParent){ var href = pdf.src; } if(!href) return; // download file var link = document.getElementById("link_download"); link.href = href; link.download = previewCaptionText.innerHTML; link.click(); } }; function MenuTD (id,color) { document.getElementById(id).bgColor=color; }; function change(img, ref) { document.images[img].src = ref; }; function DisconnectTelegram(s){ var resstr = cspHttpServerMethod('cDf2OsHiuVGcQEjaeX8LYHD1LyBOPMxE6CaJeNIr8eqmhhoxEUq8leehgqpmaAdU85f4_kZQ914zn7vaTj8Alg--',s); alert(resstr); window.location.reload(); }