
function trimInput (obj){
	var v = obj.value.replace(/^ +| +$/g,'');
	obj.value = v;
}

function isEmpty (obj){
	trimInput(obj);
	return obj.value == '';
}

function validateDropbox (obj){
	return obj.options.selectedIndex > 0;
}

var mailregex = /^\S+@+\S+\.+\S+$/;
function validEmail(obj){
	if (isEmpty (obj)){
		return 1; 
	}
	return mailregex.test(obj.value);
}

var regexpostal = /^[1-9]{1}\d{3} *[A-Z]{2}$/;
function validPostal(obj){
	if (isEmpty (obj)){ 
		return 1; 
	}
	var val = obj.value.toUpperCase();
	if (!regexpostal.test(val)){ return 0; }
	obj.value = val.replace (/ /g,'');
	return 1;
}

var regexpostalbelg = /^[1-9]{1}\d{3}$/;
function validPostalBelg(obj){
	if (isEmpty (obj)){ 
		return 1; 
	}
	var val = obj.value.toUpperCase();
	if (!regexpostalbelg.test(val)){ return 0; }
	obj.value = val.replace (/ /g,'');
	return 1;
}

var regextel = /^[\d+ ][\d ]+$/;
function validTel(obj){
	if (isEmpty (obj)){ 
		return 1; 
	}
	var val = obj.value.replace(/[-\/. ]+/g, ' ').replace(/^ +| +$/g, '');
	if ((!regextel.test(val)) || val.replace(/[-\/. +]+/g, '').length < 10){
		return 0;
	}
	obj.value = val;
	return 1;
}

function validateRadio (obj){
	for (var i = 0; i < obj.length; i++){
		if (obj[i].checked){ return 1; }	
	}
	return 0;
}


function updateTotPrijs(value){
	//alert(value);
	var chunks = value.split(':');
	document.getElementById(chunks[0]).innerHTML = chunks[1];
	document.getElementById(chunks[2]).innerHTML = chunks[3];
	document.getElementById('subtot').innerHTML = chunks[4];
	document.getElementById('tottot').innerHTML = chunks[5];
}

function deleteItem(value){
	var chunks = value.split(':');
	var d = document.getElementById('orderList');
	var olddiv = document.getElementById(chunks[0]);
	d.removeChild(olddiv);
	if(d.innerHTML == ''){
		d.innerHTML = '<p class="plattetxt">U heeft geen producten in uw winkelwagentje.</p>';
		var d = document.getElementById('total');
		d.innerHTML = '';
		var d = document.getElementById('knop_verderbestellen');
		if(d){
			d.innerHTML = '';	
		}else{
			var d = document.getElementById('knop_bestel');
			d.innerHTML = '';					
		}
	}else{
		document.getElementById('subtot').innerHTML = chunks[1];
		document.getElementById('tottot').innerHTML = chunks[2];
	}
}

function ajaxRequest(uri,handler,post, async){
 //alert('async'+async);
  var xmlhttp = null;
  var httpMethod = 'GET';

  // Mozilla/Safari/Opera
  if (window.XMLHttpRequest) {
	xmlhttp = new XMLHttpRequest();
	if(xmlhttp.overrideMimeType){ // opera doesn't support this
	 // alert("override");
	  xmlhttp.overrideMimeType("text/plain");
	}
  }
  // IE
  else if (window.ActiveXObject) {
	try {
	  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch(e) {
	  try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	  } catch(e) {
		return false;
	  }
	}
  }
  if (!xmlhttp) {
	if (arguments.length>0) {
	  var throwException = new Error('XMLHttpRequest not supported in this browser!');
	  throwException.name = 'AJAXREQUEST_NOT_SUPPORTED';
	}
	return false;
	// Used to test availability of XMLHttpRequest object rest is skipped
	} else if (arguments.length==0){
	return true;
  }


  if (post) httpMethod = 'POST';
  xmlhttp.open(httpMethod, uri, async);
  xmlhttp.setRequestHeader('Content-Type', 'text/xml');
  xmlhttp.onreadystatechange = function() {
	if (xmlhttp.readyState==4) {
	  try {
		if (xmlhttp.status==200) {
		  handler(xmlhttp.responseText);
		} else {
		  // File could not be loaded probably 404
		  var throwException = new Error('Unable to load\n' +
										  xmlhttp.responseText);
		  throwException.name = 'AJAXREQUEST_LOAD_ERROR';
		  throw(throwException);
		}
	  } catch(exception) {
		  var throwException = new Error('Unable to parse response\n' +
										  exception);
		  throwException.name = 'AJAXREQUEST_PARSE_ERROR';
		  throw(throwException);
	  } finally {
		xmlhttp = null;
	}
	  }
  };
 /* alert('created XML');*/
  xmlhttp.send(post);
  if (!window.ActiveXObject){
	handler(xmlhttp.responseText)
  }
}
