document.onmousemove = getMousePosition; //set document to record mouse position //initialize arrays var delayedXPos = new Array(); var delayedYPos = new Array(); var delayedTime = new Array(); var xPos = new Array(); var yPos = new Array(); //initialize time variables var initTime = new Date().getTime(); var dt=10; var timer_is_on=0; var t; //flag signaling whether getMousePosition has been called mp_called = 0; //function that determines action when mouse moves function getMousePosition(mp) { var divPos = getPosition(document.getElementById("Questions")); xPos.push(mp.pageX - divPos[0]); yPos.push(mp.pageY - divPos[1]); mp_called = 1; return true; } function timedCount() { if(mp_called){ delayedXPos.push(xPos[xPos.length-1]); delayedYPos.push(yPos[yPos.length-1]); var timeInSec = (new Date().getTime()-initTime) / 1000.; delayedTime.push(timeInSec); } t=setTimeout("timedCount()",dt); } function doTimer() { if (!timer_is_on) { initTime = new Date().getTime(); timer_is_on=1; timedCount(); } } function stopCount() { clearTimeout(t); timer_is_on=0; Qualtrics.SurveyEngine.setEmbeddedData("xPos", delayedXPos.join()); Qualtrics.SurveyEngine.setEmbeddedData("yPos", delayedYPos.join()); Qualtrics.SurveyEngine.setEmbeddedData("time", delayedTime.join()); } function getPosition(obj){ var topValue= 0,leftValue= 0; while(obj) { leftValue+= obj.offsetLeft; topValue+= obj.offsetTop; obj= obj.offsetParent; } return [leftValue, topValue]; } //start collecting data after page loads document.onload = doTimer();