melbourne
Health and Safety
Consultancy Services

health and  safety Support

Professional Health and Safety Consultancy Services

Solve Safety is committed to offering top-tier professional health and safety consultancy services. Our dedicated team of experts provides guidance on a wide range of issues to ensure your workplace meets all workplace safety regulations in Melbourne.

We design personalised strategies to help you create an environment that is compliant and promotes the wellbeing of all employees. Our holistic approach encompasses everything from risk assessment to employee training, fostering a safe culture in your organisation.

Health and Safety Consultancy Services | Workplace Safety Services

Ongoing Safety Support (Partner Program)

  • Scheduled Visits
  • Safety Follow Ups
  • Phone Support
  • Safety Meetings / Toolbox Meetings

Workplace Safety Risk Assessments

  • Provision of required lawful workplace safety risk assessments. (Risk Assessment – Discover where the hazards lurk in your business)

Workplace Safety Risk Controls

  • Provision of required lawful workplace safety risk controls.

Workplace Safety Documentation

  • Provision of required lawful workplace safety documentation. (Provision Of – Relevant Procedures, Checklist and Forms aligned to Legal and Regulatory Requirements)

Workplace Safety Checklists

  • Provision of required lawful workplace safety checklists.

Workplace Safe Work Method Statements

  • Development of required lawful workplace safety SWMS/JSA. (We’ll tell you just how well your workers are working safely)

Hazardous Substances & Dangerous Goods

  • Assessment and Documentation (Our staff will show you how to store dangerous items and provide full legally required documentation for them)

Workplace WorkSafe Interventions

  • Assistance with WorkSafe workplace interventions. (New regulations must be complied with. We’ll show you how)

Workplace Incident and Investigation Process & Assistance

  • Assistance with workplace Incident and Investigation Process

Internal Safety Training

Workplace Safety Management

  • Development of required lawful workplace safety management plan. (Public Liability Audits and Reviews – What risk is there to the public at your business? Let us take a close look, identify the dangers, and tell you how to minimise the risks)
  • Development of required lawful workplace safety management plan implementation.
  • OHS Consulting

Our Mission Statement

Solve Safety Pty Ltd is committed to providing its clients, professional Safety, Quality & Environmental Consultation services. Our Mission is to always provide our clients the highest standard of professionalism and shall always meet or surpass our client’s requirements and expectations.

Our Leadership Team

Jon Brierley
Managing Director & Certified Practicing Safety Consultant
Ray Boekelaar
Senior Certified Practicing Safety Consultant
Adrian Eagles
Certified Practicing Safety Consultant

Schedule Your Safety Consultation & Compliance Assessment

Contact Us

First Name:
Last Name:
Your Email:
Phone:
Business Name:
Subject:
Health and Safety Goals - What are you trying to Achieve?
Please use the QR Code to Complete the Form to tell us more about your Safety Requirements.
Workplace health and safety assessment
// Site-Wide Form Field Fix for Solve Safety - Exsalerate CRM Integration // This script should be added to your website's global footer or header (function() { 'use strict'; let fixAttempts = 0; const maxAttempts = 10; // Comprehensive list of possible first name field selectors const firstNameSelectors = [ // Common name attributes 'input[name="firstname"]', 'input[name="first_name"]', 'input[name="FirstName"]', 'input[name="first-name"]', 'input[name="fname"]', // Common ID attributes 'input[id="firstname"]', 'input[id="first_name"]', 'input[id="FirstName"]', 'input[id="first-name"]', 'input[id="fname"]', // Class-based selectors '.firstname input', '.first-name input', '.fname input', 'input.firstname', 'input.first-name', // Data attributes '[data-field="firstname"] input', '[data-field="first_name"] input', '[data-name="firstname"]', // Exsalerate specific selectors (common patterns) 'form[data-source="exsalerate"] input[type="text"]:first-of-type', '.exsalerate-form input[type="text"]:first-of-type', // Generic form selectors (first text input in contact forms) 'form input[type="text"]:first-of-type', '.contact-form input[type="text"]:first-of-type', '.consultation-form input[type="text"]:first-of-type' ]; // Function to enable and fix form fields function enableFormFields() { let fieldsFixed = 0; fixAttempts++; console.log(`Solve Safety Form Fix - Attempt ${fixAttempts}`); firstNameSelectors.forEach((selector, index) => { try { const fields = document.querySelectorAll(selector); fields.forEach(field => { if (field && (field.disabled || field.readOnly || field.style.pointerEvents === 'none')) { // Enable the field field.disabled = false; field.readOnly = false; // Fix styling issues field.style.opacity = '1'; field.style.pointerEvents = 'auto'; field.style.backgroundColor = ''; field.style.cursor = 'text'; field.style.color = ''; // Remove problematic classes field.classList.remove('disabled', 'readonly', 'inactive'); // Ensure proper attributes field.setAttribute('tabindex', '0'); field.removeAttribute('readonly'); field.removeAttribute('disabled'); // Add placeholder if missing if (!field.placeholder) { field.placeholder = 'Enter your first name'; } fieldsFixed++; console.log(`Fixed field with selector: ${selector}`); // Add event listener to ensure field stays enabled field.addEventListener('focus', function() { this.disabled = false; this.readOnly = false; }); } }); } catch (error) { console.log(`Error with selector ${selector}:`, error); } }); // Also fix any iframe forms (if Exsalerate uses iframes) const iframes = document.querySelectorAll('iframe'); iframes.forEach(iframe => { try { if (iframe.contentDocument) { const iframeFirstName = iframe.contentDocument.querySelector('input[name*="first"], input[id*="first"]'); if (iframeFirstName) { iframeFirstName.disabled = false; iframeFirstName.readOnly = false; fieldsFixed++; console.log('Fixed iframe first name field'); } } } catch (error) { // Cross-origin iframe access - can't fix console.log('Cannot access iframe content (cross-origin)'); } }); if (fieldsFixed > 0) { console.log(`Solve Safety Form Fix: Fixed ${fieldsFixed} field(s) on attempt ${fixAttempts}`); } else if (fixAttempts < maxAttempts) { // Retry if no fields found yet setTimeout(enableFormFields, 500); } return fieldsFixed; } // Function to add CSS fixes function addCSSFixes() { const existingStyle = document.getElementById('solve-safety-form-fix'); if (existingStyle) return; // Already added const style = document.createElement('style'); style.id = 'solve-safety-form-fix'; style.textContent = ` /* Solve Safety Form Fix - Override any conflicting styles */ /* First name field fixes */ input[name*="first"], input[id*="first"], .firstname input, .first-name input, [data-field*="first"] input, form input[type="text"]:first-of-type { opacity: 1 !important; pointer-events: auto !important; background-color: #ffffff !important; border: 1px solid #ddd !important; cursor: text !important; color: #333 !important; padding: 8px 12px !important; } /* Hover and focus states */ input[name*="first"]:hover, input[id*="first"]:hover, input[name*="first"]:focus, input[id*="first"]:focus { border-color: #007cba !important; outline: none !important; box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.1) !important; } /* Ensure disabled state is visible but still functional */ input[name*="first"]:disabled, input[id*="first"]:disabled { opacity: 1 !important; background-color: #ffffff !important; cursor: text !important; pointer-events: auto !important; } /* Fix for any wrapper elements */ .form-field:has(input[name*="first"]), .input-wrapper:has(input[name*="first"]) { opacity: 1 !important; pointer-events: auto !important; } /* Mobile responsive fixes */ @media (max-width: 768px) { input[name*="first"], input[id*="first"] { font-size: 16px !important; /* Prevents zoom on iOS */ padding: 12px !important; } } `; document.head.appendChild(style); console.log('Solve Safety Form Fix: CSS fixes applied'); } // Initialize the fix function initializeFormFix() { console.log('Solve Safety Form Fix: Initializing...'); // Add CSS fixes first addCSSFixes(); // Enable form fields enableFormFields(); // Try again after common script loading delays setTimeout(enableFormFields, 1000); setTimeout(enableFormFields, 2000); setTimeout(enableFormFields, 3000); } // Multiple initialization strategies if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initializeFormFix); } else { initializeFormFix(); } // Backup initialization window.addEventListener('load', function() { setTimeout(enableFormFields, 500); setTimeout(enableFormFields, 1500); }); // Watch for dynamic content changes (AJAX loaded forms) if (window.MutationObserver) { const observer = new MutationObserver(function(mutations) { let shouldCheck = false; mutations.forEach(function(mutation) { if (mutation.addedNodes.length) { // Check if any new form elements were added mutation.addedNodes.forEach(function(node) { if (node.nodeType === 1) { // Element node if (node.tagName === 'FORM' || node.querySelector && node.querySelector('form') || node.querySelector && node.querySelector('input')) { shouldCheck = true; } } }); } }); if (shouldCheck) { setTimeout(enableFormFields, 100); } }); observer.observe(document.body, { childList: true, subtree: true }); } // Expose a global function for manual fixing if needed window.solveSafetyFixForms = enableFormFields; console.log('Solve Safety Form Fix: Script loaded and ready'); })();