function setButtonStates( element ) { var form = element.form; var checked = 0; for ( var i=0; i < form.elements.length; i++ ) { if ( form.elements[i].type=="checkbox" && form.elements[i].name=="markMids[]" ) { var tr = $j(form.elements[i]).closest("tr"); if ( form.elements[i].checked ) { checked ++; tr.addClass("danger"); } else { tr.removeClass("danger"); } } } if ( checked ) { form.editBtn.disabled = false; form.deleteBtn.disabled = false; form.selectBtn.disabled = false; if ( checked == 1 ) { $j(form.cloneBtn).css('display', 'inline'); } else { form.cloneBtn.hide(); } } else { form.cloneBtn.hide(); form.editBtn.disabled = true; form.deleteBtn.disabled = true; form.selectBtn.disabled = true; } } function addMonitor(element) { createPopup( '?view=monitor', 'zmMonitor0', 'monitor' ); } function cloneMonitor(element) { var form = element.form; var monitorId=-1; // get the value of the first checkbox for ( var i = 0; i < form.elements.length; i++ ) { if ( form.elements[i].type == "checkbox" && form.elements[i].name == "markMids[]" && form.elements[i].checked ) { monitorId = form.elements[i].value; break; } } // end foreach element if ( monitorId != -1 ) { createPopup( '?view=monitor&dupId='+monitorId, 'zmMonitor0', 'monitor' ); } } function editMonitor( element ) { var form = element.form; var monitorIds = Array(); for ( var i = 0; i < form.elements.length; i++ ) { if ( form.elements[i].type == "checkbox" && form.elements[i].name == "markMids[]" && form.elements[i].checked ) { monitorIds.push( form.elements[i].value ); //form.elements[i].checked = false; //setButtonStates( form.elements[i] ); //$(form.elements[i]).getParent( 'tr' ).removeClass( 'highlight' ); //break; } } // end foreach checkboxes if ( monitorIds.length == 1 ) { createPopup( '?view=monitor&mid='+monitorIds[0], 'zmMonitor'+monitorIds[0], 'monitor' ); } else if ( monitorIds.length > 1 ) { createPopup( '?view=monitors&'+(monitorIds.map(function(mid) { return 'mids[]='+mid; }).join('&')), 'zmMonitors', 'monitors' ); } } function deleteMonitor( element ) { if ( confirm( 'Warning, deleting a monitor also deletes all events and database entries associated with it.\nAre you sure you wish to delete?' ) ) { var form = element.form; form.elements['action'].value = 'delete'; form.submit(); } } function selectMonitor(element) { var form = element.form; var url = thisUrl+'?view=console'; for ( var i = 0; i < form.elements.length; i++ ) { if ( form.elements[i].type == "checkbox" && form.elements[i].name == "markMids[]" && form.elements[i].checked ) { url += '&MonitorId='+form.elements[i].value; } } window.location.replace(url); } function reloadWindow() { window.location.replace( thisUrl ); } function initPage() { reloadWindow.periodical(consoleRefreshTimeout); if ( showVersionPopup ) { createPopup('?view=version', 'zmVersion', 'version'); } if ( showDonatePopup ) { createPopup('?view=donate', 'zmDonate', 'donate'); } // Makes table sortable $j( function() { $j( "#consoleTableBody" ).sortable({ handle: ".sort", update: applySort, axis: 'Y'} ); $j( "#consoleTableBody" ).disableSelection(); } ); } function applySort(event, ui) { var monitor_ids = $j(this).sortable('toArray'); var ajax = new Request.JSON( { url: 'index.php?request=console', data: {monitor_ids: monitor_ids, action: 'sort'}, method: 'post', timeout: AJAX_TIMEOUT } ); ajax.send(); } // end function applySort(event,ui) window.addEventListener( 'DOMContentLoaded', initPage );