// wForms - a javascript extension to web forms.

base2.DOM.Element.addEventListener(document, 'DOMContentLoaded',enableResumeLater,false);

function enableResumeLater() {
	var b = document.getElementById('tfa_resumeLater');
	if(b) {
		b.onclick = function(e) { 
			this.value=" ... "; 
			var f = this.form;
			var b = wFORMS.getBehaviorInstance(f,"validation");
			if(b) { b.run = function(){ return true;} } // bypass validation
			var b = wFORMS.getBehaviorInstance(f,"paging");
			if(b) { b.behavior.warnOnUnload=false; }
			f.submit();
		};

		var l = document.getElementById('tfa_saveForLaterLink');
		if(l) {	
			l.onclick = function() {
				
				// Get form element, necessary to retrieve instance.
				f = this;
				while(f && f.tagName!='FORM') {
					f = f.parentNode;
				}
				
				elem = document.getElementById('tfa_saveForLater');
				if(!elem.checked) {
					elem.checked = true;
				}
				if(elem.scrollIntoView) {	
					elem.scrollIntoView();
				} else {
					location.hash="#tfa_saveForLater";
				}
				
				var b = wFORMS.getBehaviorInstance(f,"switch");
				b.run(null, elem);
			}
		}
	}
}


wFORMS.behaviors.validation.onFail = function(bInstance) {
	var m = wFORMS.behaviors.validation.messages.notification;
	var firstErrorId = null;
	var c = 0;
	for (var id in bInstance.elementsInError) {
		c++;
		if(!firstErrorId) 
			firstErrorId = id;
	}
	m = m.replace('%%', c);
	
	var elem = document.getElementById(firstErrorId);
	if(elem.scrollIntoView) {	
		elem.scrollIntoView();
	} else {
		location.hash="#"+firstErrorId;
	}
	alert(m);
}
