/*
************************************************
Blatantly Copy/Pasted... Real editting needed!!!
************************************************
*/

function submitOnce(theform) {
	if (document.getElementById) {
		for (i=0; i<theform.length; i++) {
			var tempobj = theform.elements[i]
			
			if (tempobj.type.toLowerCase() == 'submit' || tempobj.type.toLowerCase() == 'button') {
				tempobj.disabled = true;
				tempobj.className = 'dinputsubmit';
			}
		}
	}
}

function checkRequired(theform) {
	var submits = new Array();
	var reqs = false;
	
	if (document.getElementById) {
		if (!theform)
			return false;
		
		for (i=0; i<theform.length; i++) {
			var tempobj = theform.elements[i];
			
			if (tempobj.className == 'required') {
				reqs = true;
			} else if(tempobj.type) {
				if(tempobj.type.toLowerCase() == 'submit' || tempobj.type.toLowerCase() == 'button') {
					submits[ submits.length ] = i;
				}
			}
		}
		
		// enable the buttons
		if (!reqs) {
			for (i=0; i<submits.length; i++) {
				var j = submits[i];
				var te = theform.elements[j];
				
				if(te.className.substr(0,1) == 'd') {
					te.className = te.className.substr(1);
					te.disabled = false;
				}
			}
		} else {
			for (i=0; i<submits.length; i++) {
				var j = submits[i];
				var te = theform.elements[j];

				te.className = 'dinputsubmit';
				te.disabled = false;
			}
		}
	}
}

function formCheckStart(elem)
{
	var elemName = elem.name;
	switch(elemName) {
			case 'zip':
			var re = new RegExp(/^[1-9][0-9]{3}\s?([a-zA-Z]{2})?$/);
			var result = re.test(elem.value);
			if (result) {
				//getPostcode('postcode_check.asp?postcode='+removeSpaces(elem.value));
				formCheck(document.orderform.address);
				formCheck(document.orderform.city);
			}
			break;
	}
	
	// finalize it
	if(!result) {
		elem.className = 'required';
	} 
	else {
		elem.className = 'checked';
	}

}

function formCheck(elem) {
	var elemName = elem.name;
	switch(elemName) {
		case 'shippingZip':
			if(document.orderform.shippinglocCountry.value=='NL')
			{
				var re = new RegExp(/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/);
			}
			else
			{
				var re = new RegExp(/^[1-9][0-9]{3}\s?([a-zA-Z]{2})?$/);
			}
			var result = re.test(elem.value);
			if (result) {
				getPostcode('postcode_check.asp?deliver=1&postcode='+removeSpaces(elem.value));
				//formCheck(document.orderform.address);
				//formCheck(document.orderform.city);
			}
			break;
		case 'klant_voornaam':
			var re = new RegExp(/^[a-zA-Z][\w\.\-\'\s]*[a-zA-Z]{2,32}$/);
//			alert('parent?:'+elem.form.name);
			var result = re.test(elem.value);
			break;
//		case 'klant_tussenvoegsel':
//			var re = new RegExp(/^[\w\s\.\-\']{2,32}$/);
//			var result = re.test(elem.value);
//			break;
		case 'klant_achternaam':
			var re = new RegExp(/^[a-zA-Z][\w\.\-\'\s]*[a-zA-Z]{2,32}$/);
			var result = re.test(elem.value);
			break;
		case 'klant_telefoon':
			var re = new RegExp(/^[0-9-+\s]{8,13}$/);
			var result = re.test(elem.value);
			break;
		case 'klant_fax':
			var re = new RegExp(/^[0-9-+\s]{8,13}$/);
			var result = re.test(elem.value);
			break;
		case 'klant_mobiel':
			var re = new RegExp(/^[0-9-+\s]{8,13}$/);
			var result = re.test(elem.value);
			break;
		case 'klant_email':
			var re = new RegExp(/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/);
			var result = re.test(elem.value);
			if (document.getElementById('showmsg')) {
				if (result) {
					document.LogonForm.email.value = elem.value;
					getDocument('/scripts/_INCcheckEmail.asp?email='+elem.value, 'logon');
				}
				else {
					document.getElementById('logon').className = 'tr_inv';
					document.getElementById('showmsg').innerHTML = '';
				}
			}
			break;
		case 'klant_password':
			var re = new RegExp(/^\w{3,16}$/);
			var result = re.test(elem.value);
			break;
		case 'klant_password2':
			var re = new RegExp(/^\w{3,16}$/);
			var result = re.test(elem.value);
			if (result && elem.form.klant_password.value == elem.value) {
				result = true
			}
			break;
		case 'passwordLogon':
			var re = new RegExp(/^\w{3,16}$/);
			var result = re.test(elem.value);
			if (result) {
				document.LogonForm.password.value = elem.value;
				getDocument('/scripts/_INCcheckEmail.asp?email='+document.LogonForm.email.value+'&pass='+elem.value, 'logon');
			}
			else {
				document.getElementById('logon').className = 'tr_inv';
				document.getElementById('showmsg').innerHTML = '';
			}
			if (result)
			break;
		case 'klant_adres':
			var re = new RegExp(/^[\w\s\.\-\']{3,32}$/);
			var result = re.test(elem.value);
			break;
		case 'addressNr':
			var re = new RegExp(/^[\w\s\.\-\']{1,8}$/);
			var result = re.test(elem.value);
			break;
		case 'klant_postcode':
//			Code toevoegen om straat en plaats automatisch in te vullen... 
			//var re = new RegExp(/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/);
			var re = new RegExp(/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/);
			var result = re.test(elem.value);
//			if (result) {
//				getPostcode('postcode_check.asp?postcode='+removeSpaces(elem.value));
//				formCheck(document.orderform.address);
//				formCheck(document.orderform.city);
//			}
			break;
		case 'klant_plaats':
			var re = new RegExp(/^[a-zA-Z][\w\.\-\'\s]*[a-zA-Z]{2,32}$/);
			var result = re.test(elem.value);
			break;
		case 'klant_land':
			var re = new RegExp(/^[a-zA-Z][\w\.\-\'\s]*[a-zA-Z]{2,32}$/);
			var result = re.test(elem.value);
			break;
		case 'bedrijf_naam':
			var re = new RegExp(/^[a-zA-Z][\w\.\-\'\s]*[a-zA-Z]{2,32}$/);
			//var result = re.test(elem.value);
			var result = true;
			break;
			
	}
	
	// finalize it
	if(!result) {
		elem.className = 'required';
	} 
	else {
		elem.className = 'checked';
	}
//	alert('elemname:'+elem.name+', elemclass:'+elem.className)
}

function getDocument() {
	var args = getDocument.arguments;

	var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest();
	if (x) {
		var el = document.getElementById(args[1]);
		x.onreadystatechange = function() {
/*			
			if (x.readyState == 0) {
				el.innerHTML = "initializing...";
			}
			else if (x.readyState == 1) {
				el.innerHTML = "processing request...";
			}
			else if (x.readyState == 2) {
				el.innerHTML = "request acknowledged...";
			}
			else if (x.readyState == 3) {
				el.innerHTML = "Requesting data...";
			}
*/
			if (x.readyState == 4) {
//				el.innerHTML = "&nbsp;";
				var strResponseText = x.responseText;
				if (strResponseText.length == 149)
				{
					submitForm();
				}
				if (strResponseText.length > 2 && el.className == 'tr_inv') {
					document.getElementById('showmsg').innerHTML = strResponseText;
					el.className = 'tr_vis';
				} else if (strResponseText.length < 2 && el.className == 'tr_vis') {
					document.getElementById('showmsg').innerHTML = '';
					el.className = 'tr_inv';
				} else if (strResponseText.length > 2 && el.className == 'tr_vis') {
					document.getElementById('showmsg').innerHTML = strResponseText;
					el.className = 'tr_vis';
				}

//				el.innerHTML = x.responseText;
//				document.write(x.responseText);
			}
		}
		x.open("GET", args[0], true);
		x.send(null);
	}
}

function doValidate(elem) {
	formCheck(elem);
	checkRequired(elem.form);	
}

function submitForm() {
//	document.LogonForm.password.value = document.orderform.passwordLogon.value;
//	document.LogonForm.submit();
}
