Take a look at setTimeout or setInterval javascript functions.
Here is an example of some code that will click the next button after 10 seconds.
Code:
<script>
$(document).ready(function() {
timeOut = setTimeout(function() {
$('#movenextbtn').trigger('click');
},10000);
});
</script>
You can adjust the 10000 to change when it will fire (its in milliseconds).
You could start with this and adapt it to what you need. If the questions are set to mandatory and this fires, the page will just reload. You can either go by the honor system and have them not mandatory, or add more code that takes care of mandatory logic when someone attempts to press next before the timer goes off.
Some added mandatory logic could look something like this. (this is for a group that contains both radios and checkboxes).
Code:
<script>
$(document).ready(function () {
var stopNext = true;
timeOut = setTimeout(function () {
stopNext = false;
$('#movenextbtn').trigger('click');
}, 10000);
$('#movenextbtn').click(function (e) {
if (stopNext) {
var radioCount = $('.list-radio').length,
radioChecked = $('.list-radio :checked').length,
checkCount = $('.multiple-opt').length,
checkChecked = $('.multiple-opt :checked').length;
if ((radioCount != radioChecked) || (checkCount != checkChecked)) {
e.preventDefault();
alert('Please answer all questions to continue');
}
}
});
});
</script>
The above code should (haven't tested it) stop someone from moving next if they haven't answered all of the radio and multiple choice questions on the current page before the timer goes off. If the timer goes off, it will press next and the mandatory logic wont run.
Hopefully this is a good starting point for you. You can even add a hidden question and answer it if the timer goes off so you can tell in the results easily if someone didn't answer the group in time.
*EDIT: missed a couple words