const movers = document.querySelectorAll("[data-mover]");

Array.from(movers).forEach(mover=>{
    mover.addEventListener('mouseenter', (e) => move(e))
})

function move(e) {
    let amount = parseInt(e.target.dataset.mover)                        // data attribute mover set the amount of movement
    
    let offsetCheck = /translate\(-50%, -50%\)/
    let offsetMatch = e.target.style.transform.match(offsetCheck)
    
    
    let transformCheck = /translate\((\d+\.*\d*)vw, (\d+\.*\d*)vh\)/     // check for pattern like translate(12vw, 34vh)
    const match = e.target.style.transform.match(transformCheck)
    
    if (match) {
        e.target.style.transform = 
            `translate(
            ${parseInt(match[1]) + Math.random() * amount - amount / 2 }vw, 
            ${parseInt(match[2]) + Math.random() * amount - amount / 2}vh)`
    } else {
         e.target.style.transform = 
             `translate(
             ${Math.random() * amount - amount / 2 }vw, 
             ${Math.random() * amount - amount / 2}vh)`
    }
    
    
    if(offsetMatch){
        e.target.style.transform += ' translate(-50%, -50%)'
    }
}

