// OM DE Ineternet Explorer CACHING ISSUE TE ONTLOPEN WORDT DE XMLHTTP FUNFTIE open() AANGEROEPEN VOORDAT DE onreadystatechange wordt gebruikt.

// Niet vergeten even checken in opera en safari. Las net iets over de volgorde waar iets mis kan gaan.
// Het plaatsen van de open() methode VOOR de onreadyStateChange kan volgens dit artikel enige problemen opleveren:
// http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_r_2.html

var ajax = ajaxRequest();

// BETAAL WIZARD FUNTIONS
function getForm(host, step){
	ajax.open("GET", "http://"+host+"/webshop/ajax_responder.php?act=getForm&step="+step,true);
	ajax.onreadystatechange=function(){
		if(ajax.readyState==4){
			document.getElementById("betaal_wizard").innerHTML = ajax.responseText;
		}
	}
	ajax.send(null);
}

//	FORMULIERCHECK FUNCTIES

function checkEmail(field, defaultclassname){
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    if(pattern.test(field.value)){         
		field.className = defaultclassname;
		document.getElementById(field.name + '_error').innerHTML = '';
    }else{   
		field.className = 'error'; 
		document.getElementById(field.name + '_error').innerHTML = 'Dit is geen geldig email adres';
    }

}

function checkPass(field, defaultclassname){
	if(field.value.length > 4){
		field.className = defaultclassname;
		document.getElementById(field.name + '_error').innerHTML = '';
	}
	else{
		field.className = 'error'; 
		document.getElementById(field.name + '_error').innerHTML = 'Het wachtwoord moet uit minimaal 5 tekens bestaan';
    }
}

function isEmpty(field, defaultclassname){
	if(field.value != ''){ // even trim functie bijinzetten nog een keer
		field.className = defaultclassname;
		document.getElementById(field.name + '_error').innerHTML = '';
	}
	else{   
		field.className = 'error'; 
		document.getElementById(field.name + '_error').innerHTML = 'Dit is een verplicht veld';
    }
}

// SIDEBAR FUNCTIONS
function addToCart(host, id){
	ajax.open("GET", "http://"+host+"/webshop/ajax_responder.php?act=add&id="+id,true);
	ajax.onreadystatechange=function(){
		if(ajax.readyState==4){
			document.getElementById("webshop_content").innerHTML = ajax.responseText; 
		}
	}
	ajax.send(null);
}

// SHOPPING CART FUNCTIONS 
function deleteFromCart(host, id){ 
	ajax.open("GET", "http://"+host+"/webshop/ajax_responder.php?act=del&id="+id,true);
	ajax.onreadystatechange=function(){
		if(ajax.readyState==4){
			document.getElementById("shopping_cart").innerHTML = ajax.responseText;
		}
	}
	ajax.send(null);
}

function updateQuantity(host, id, field){
	if(field.value == '' || field.value == 0)
	{
		field.value = 1;
	}
	
	quantity = field.value;
	ajax.open("GET", "http://"+host+"/webshop/ajax_responder.php?act=updateQuantity&id="+id+"&quantity="+quantity,true);
	ajax.onreadystatechange=function(){
		if(ajax.readyState==4){
			document.getElementById("shopping_cart").innerHTML = ajax.responseText;
			document.getElementById(field.id).focus();
		}
	}
	ajax.send(null);
}

// GENERAL FUNCTIONS
function ajaxRequest(){ var date = new Date().getTime(); // IE CATCH ontlopen 
	var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
	if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
		for (var i=0; i<activexmodes.length; i++){
			try{
				return new ActiveXObject(activexmodes[i]);
			}
			catch(e){
			//suppress error
			}
		}
	}
	else if (window.XMLHttpRequest){ // if Mozilla, Safari etc
		return new XMLHttpRequest();
	}
	else{
		return false;
	}
}


