function createRequestObject() { 
	var req; 
 
	if(window.XMLHttpRequest){ 
		// Firefox, Safari, Opera... 
		req = new XMLHttpRequest(); 
	} else if(window.ActiveXObject) { 
		// Internet Explorer 5+ 
		req = new ActiveXObject("Microsoft.XMLHTTP"); 
	} else { 
		alert('Deze website vereist dat de browser XMLHttpRequests ondersteunt'); 
	} 
 
	return req; 
}

function addslashes(str) {
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\0/g,'\\0');
return str;
}
function stripslashes(str) {
str=str.replace(/\\'/g,'\'');
str=str.replace(/\\"/g,'"');
str=str.replace(/\\\\/g,'\\');
str=str.replace(/\\0/g,'\0');
return str;
}

function hoofdletter(waarde)
{
	var Naam = waarde;
	var Splitter = Naam.split(" ");
							
	for(i = 0; i < Splitter.length; i++)
	{
	var Naam = trim(Splitter[i]);
	var Naameerste = Naam.substr(0,1);
	var Naamtweede = Naam.substr(1);
	
		if(Splitter[i] != 'de' && Splitter[i] != 'der' && Splitter[i] != 'den' && Splitter[i] != 'van'){
			var Tweedewaarde = Naameerste.toUpperCase() + Naamtweede;
		}
		else{
			var Tweedewaarde = Naameerste.toLowerCase() + Naamtweede;
		}
	
		if(Waarde){
			var Waarde = Waarde + Tweedewaarde + ' ';
		}
		else{
			var Waarde = Tweedewaarde + ' ';
		}
	}
					
	if(Waarde != ''){
		return trim(Waarde);
	}			
}

function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

function trim( value ) {
	return LTrim(RTrim(value));
}

function val_ipadres(waarde){
	var svalue = trim(waarde);
	var splitter = svalue.split('.');
	
	if(splitter.length < 4){
		return false;
	}
	else{
		var error;
		var ValidChars = "0123456789.";
		var splitter2 = svalue.split('');
		
		for(i = 0; i < splitter2.length; i ++){
			if(ValidChars.indexOf(splitter2[i]) == -1){
				error = 'set';
			}
		}
		
		if(error == 'set'){
			return false;
		}
		else{
			return true;
		}
	}
}

function start_domain_req(act, user_session, trash){
	var http = createRequestObject(); 
	var cdiv = document.getElementById('domainWizardContainerDiv');
	var wdiv = document.getElementById('domainWizardDiv');
	var contentdiv = document.getElementById('contentDiv');
	
	if(act < 7){
		var src = 'content/ajax/wizard.php';
		var form = document.wizardForm;
	}
	else{
		var src = 'content/ajax/wizard_chng.php';
		var form = document.wizardFormChng;
	}
		
	if(act == '2' && trim(form.newDomainName.value) == ''){
		return;
	}
	else if(act == '2'){
		trash = trash+'&dn='+trim(form.newDomainName.value);
	}
	
	if(act == '3' && trim(form.clientIPadress.value) == ''){
		return;
	}
	else if(act == '3' && !val_ipadres(form.clientIPadress.value)){
		alert('Voer een geldig IP adres in.');
		return;
	}
	else if(act == '3'){
		trash = trash+'&cip='+trim(form.clientIPadress.value);
	}	
	
	if(act == '4' && trim(form.clientNaam.value) == ''
		|| act == '4' && trim(form.clientWoonplaats.value) == ''
		|| act == '4' && trim(form.clientEmail.value) == ''){
		return;
	}
	else if(act == '4'){
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		
		form.clientNaam.value = hoofdletter(stripslashes(trim(form.clientNaam.value)));
		form.clientWoonplaats.value = hoofdletter(stripslashes(trim(form.clientWoonplaats.value)));
	
		if(form.clientAkkoord.checked != true){
			alert('Je dient akkoord te gaan met de algemene voorwaarden.');
			return;
		}	
		else if(form.clientEmail.value != form.clientEmail2.value){
			alert('De ingevoerde e-mailadressen komen niet overeen.');
			return;		
		}
		else if(!filter.test(trim(form.clientEmail.value))){
			alert('Geef een geldig emailadres op.');
			return;				
		}

		trash = trash+'&cn='+addslashes(trim(form.clientNaam.value))+'&cw='+addslashes(trim(form.clientWoonplaats.value))+'&ce='+
				addslashes(trim(form.clientEmail.value))+'&ce2='+addslashes(trim(form.clientEmail2.value))+'&ca=checked';
		
	}
	else if(act == '8'){
		var lform = document.subDomainLogon;
		
		if(trim(lform.domainName.value) != '' && trim(lform.domainPass.value) != ''){
			trash = '&ud='+trim(lform.domainName.value)+'&up='+trim(lform.domainPass.value);
		}
		else{
			return;
		}
	}	
	else if(act == '9'){
		if(!val_ipadres(form.clientIPadress.value)){
			alert('Voer een geldig IP adres in.');
			return;
		}
		else{
			trash = '&ip='+form.clientIPadress.value;
		}
	}
	
	function handleResponse() {     
        if(http.readyState == 4 && http.status == 200){     
            var response = http.responseText; 
			
            if(response) { 
				wdiv.innerHTML = trim(response);
            } 
        } 
	}	
	
	if(act == ''){
		contentdiv.style.display = 'block';
		cdiv.style.display = 'none';
			
		return;
	}
	else{
		contentdiv.style.display = 'none';
		cdiv.style.display = 'block';
	}

	wdiv.innerHTML = '<div style="left:40%; position:relative;"><br><br>Gegevens worden geladen...<br><br><img src="img/wizard/loading.gif" style="margin-left:50px"><br><br><br></div>';
	http.open('get', src+'?act='+act+'&s='+user_session+trash); 
	http.onreadystatechange = handleResponse; 
	http.send(null);	
	
}

function validate_domain_input(){
	var domain = document.getElementById('reqDomainInput');
	var waarde = trim(domain.value);
	
	var re = /^[\w\s]*$/;
	
	var new_var = '';
	var splitter = waarde.split('');
	
	for(i = 0; i < (splitter.length); i ++){
		if(re.test(splitter[i]) && splitter[i] != '_'){
			new_var = new_var+splitter[i];	
		}
	}
	
	domain.value = new_var;	
}

function setFlasher(elem, startC, endC, pause){
	elem.style.backgroundColor = startC;
	pause = pause * 1000;
	function flash(){
		if(elem.style.backgroundColor == startC)
				elem.style.backgroundColor = endC
		else	elem.style.backgroundColor = startC	
		setTimeout(flash, pause);
	}
	setTimeout(flash, pause);
}

function setBodyEvents(){
	var bodyObj = document.body;
	var input = document.body.getElementsByTagName('input');
	for(i = 0; i < input.length; i ++){
		if(input[i].className == 'flashButton'){
			setFlasher(input[i], '#72bd18', '#4c8607', 1);
		}
	}
}