var delay=function(){var timer=0;return function(callback,ms){clearTimeout(timer),timer=setTimeout(callback,ms)}}();Element.addMethods({setVisibility:function(element,show){return element=$(element),show?element.show():element.hide(),element},readHtmlDataAttribute:function(element,attribute){return(element=$(element)).readAttribute("data-"+attribute)}}),Element.addMethods("form",{findFirstElement:function(firstByIndex){(new Date).getTime();var result=$(firstByIndex).getElements().findAll(function(element){return"hidden"!=element.type&&"button"!=element.type&&!element.disabled&&!element.readOnly&&StepUtils.isFormElementVisible(element)});errors=result.findAll(function(element){return element.hasClassName("error")});firstByIndex=(result=0