
// E-MAIL HANDLING

var emptyString = /^\s*$/ ;
var proceed = 2;

function evalForm(formId,validationScript) {
	if ((validationScript == "") || eval(validationScript)) {
		document.getElementById(formId).submit();
	}
}

function commonCheck(valfield, required) {
	if (!document.getElementById)  return true; 
	if (emptyString.test(valfield.value)) {
		if (required) {
			setfocus(valfield);
			return false;
		}
		else {
			return true;  
		}
	}
	return proceed;
}

function validatePresent(valfield) {
  var stat = commonCheck(valfield, true);
  if (stat != proceed) return false;
  return true;
}
function validateEmail  (valfield, required) {
	var tfld = trim(valfield.value); 
	var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/  ;
	if (!email.test(tfld)) {
		setfocus(valfield);
		return false;
	}
	var email2 = /^[A-Za-z][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z][A-Za-z]$/  ;
	return true;
}
function validateTelnr  (valfield, required) {
	var tfld = trim(valfield.value);  
	var telnr = /^\+?[0-9 ()-]+[0-9]$/  ;
	if (!telnr.test(tfld)) {
		setfocus(valfield);
		return false;
	}
	var numdigits = 0;
	for (var j=0; j<tfld.length; j++)
	if (tfld.charAt(j)>='0' && tfld.charAt(j)<='9') numdigits++;
	if (numdigits<6) {
		setfocus(valfield);
		return false;
	}
	return true;
}

function trim(str) { return str.replace(/^\s+|\s+$/g, ''); }

function setFocusDelayed() { global_valfield.focus(); }
function setfocus(valfield) {
	global_valfield = valfield;
	setTimeout('setFocusDelayed()',100);
}



/* ---------------------------------------------------------------- //
// CONFIRM                                                          //
// ---------------------------------------------------------------- */

function initiate_confirm(e){
	var elem = e.target;
	var confirmMessage = elem.getAttribute("confirmMessage").replace(/\\n/,"\n");
	if(!confirmMessage) return false;
	if(!confirm(confirmMessage)) {
		window.event? event.returnValue = false : e.preventDefault();
		return false;
	}
}



/***************************************************************
* ORDERDATES
***************************************************************/
document.observe('dom:loaded', function(event){
	if($('orderDateSwitcher')){
		$('orderDateSwitcher').observe('change', function (eventObject){
			var currentObject = eventObject.target;
			var targetDate = $(currentObject.options[currentObject.selectedIndex]).readAttribute('targetDate');
			$$('.orderDates').each(function(elem){
				elem.hide();
				if(elem.id == 'date_' + targetDate) {
					elem.show();
					$("order_afhaalDatum_hour").value = elem.value;
				}
			});
		});
		$$('.orderDates').each(function(elem){
			elem.observe('change',function(eventObject){
				$("order_afhaalDatum_hour").value = this.value;
			});
		});
		
		var firstElem = $('date_' + $($('orderDateSwitcher').options[$('orderDateSwitcher').selectedIndex]).readAttribute('targetDate'));
		firstElem.show();
		$("order_afhaalDatum_hour").value = firstElem.value;
	}
});


/***************************************************************
* DOM EVENT LISTNERS
***************************************************************/
document.observe('dom:loaded', function(event){
	$$('.confirmBox').each(function(elem){elem.observe('click',initiate_confirm)});
});




/* formulieren */

var formValidation = {
	errorClass: 'error'
};




/* special verkoop_orders */

document.observe('dom:loaded',function(eventObject){
	var changeDay = $('verkoop_orders_changeDay');
	if(changeDay){
		changeDay.observe('change',function(eventObject){
			var targetUrl = this.readAttribute('targetPage');
			if(targetUrl) {
				document.location.href = targetUrl + '?setDate=' + this.getValue();
			}
		});
	}
});





