function calculate(func) {
	switch(func) {
		case "dedicated":
			calculateDedicated();
			break;
		case "backup":
			calculateBackup();
			break;
		case "zimbra":
			calculateZimbra();
			break;
	}
}

function calculateBackup() {
	var xmlhttp = createXMLHttpRequest();
	var r = createRandom();
	var url = "/vibit/CalculatorCloud?func=backup";
	var str = "";
	for(i=1; i<=1; i++) {
		str += "&opt"+i+"="+document.forms['frmCloud'].elements['opt'+i].value;
	}
	for(i=1; i<=1; i++) {
		document.getElementById("once_"+i).innerHTML = '';
		document.getElementById("montly_"+i).innerHTML = '';
	}

	document.getElementById("price_montly").innerHTML = '';
	document.getElementById("price_once").innerHTML = '<img src="/images/main-v4/ajax-loader.gif">';
	document.getElementById("once_1").innerHTML = '<img src="/images/main-v4/ajax-loader.gif">';

	xmlhttp.onreadystatechange = function() {
	  	if (xmlhttp.readyState==4 && xmlhttp.status==200) {
			resp = xmlhttp.responseText;
			arr = resp.split("#");
			document.forms['frmNewOrder'].action = '/order/NewHostingOrder?'+arr[0];
			document.getElementById("price_once").innerHTML = "&euro; "+parseFloat(arr[1]).toFixed(2);
			document.getElementById("price_montly").innerHTML = "&euro; "+parseFloat(arr[2]).toFixed(2);
			for(i=1; i<=1; i++) {
				if(arr[i*2+1]==0) { document.getElementById("once_"+i).innerHTML = "&mdash;"; } else {
					document.getElementById("once_"+i).innerHTML = "&euro; "+parseFloat(arr[i*2+1]).toFixed(2); }
				if(arr[i*2+2]==0) { document.getElementById("montly_"+i).innerHTML = "&mdash;"; } else {
					document.getElementById("montly_"+i).innerHTML = "&euro; "+parseFloat(arr[i*2+2]).toFixed(2); }
			}
	    	}
  	}
	xmlhttp.open("GET", url+str+'&r='+r ,true);
	xmlhttp.send();
}

function calculateDedicated() {
	var xmlhttp = createXMLHttpRequest();
	var r = createRandom();
	var url = "/vibit/CalculatorCloud?func=dedicated";
	var str = "";
	for(i=1; i<=7; i++) {
		str += "&opt"+i+"="+document.forms['frmCloud'].elements['opt'+i].value;
	}
	for(i=1; i<=7; i++) {
		document.getElementById("once_"+i).innerHTML = '';
		document.getElementById("montly_"+i).innerHTML = '';
	}

	document.getElementById("price_montly").innerHTML = '';
	document.getElementById("price_once").innerHTML = '<img src="/images/main-v4/ajax-loader.gif">';
	document.getElementById("once_1").innerHTML = '<img src="/images/main-v4/ajax-loader.gif">';

	xmlhttp.onreadystatechange = function() {
	  	if (xmlhttp.readyState==4 && xmlhttp.status==200) {
			resp = xmlhttp.responseText;
			arr = resp.split("#");
			document.forms['frmNewOrder'].action = '/order/NewHostingOrder?'+arr[0];
			document.getElementById("price_once").innerHTML = "&euro; "+parseFloat(arr[1]).toFixed(2);
			document.getElementById("price_montly").innerHTML = "&euro; "+parseFloat(arr[2]).toFixed(2);
			for(i=1; i<=7; i++) {
				if(arr[i*2+1]==0) { document.getElementById("once_"+i).innerHTML = "&mdash;"; } else {
					document.getElementById("once_"+i).innerHTML = "&euro; "+parseFloat(arr[i*2+1]).toFixed(2); }
				if(arr[i*2+2]==0) { document.getElementById("montly_"+i).innerHTML = "&mdash;"; } else {
					document.getElementById("montly_"+i).innerHTML = "&euro; "+parseFloat(arr[i*2+2]).toFixed(2); }
			}
	    	}
  	}
	xmlhttp.open("GET", url+str+'&r='+r ,true);
	xmlhttp.send();
}



function calculateZimbra() {
	var xmlhttp = createXMLHttpRequest();
	var r = createRandom();
	var url = "/vibit/CalculatorCloud?func=zimbra";
	var str = "";

	str += "&opt1="+document.forms['frmCloud'].elements['opt1'].value;
	str += "&opt2="+getCheckedValue(document.forms['frmCloud'].elements['opt2']);
	str += "&opt3="+document.forms['frmCloud'].elements['opt3'].value;
	str += "&opt4="+document.forms['frmCloud'].elements['opt4'].value;

	for(i=1; i<=4; i++) {
		document.getElementById("montly_"+i).innerHTML = '';
		document.getElementById("montly3_"+i).innerHTML = '';
	}

	document.getElementById("price_montly").innerHTML = '<img src="/images/main-v4/ajax-loader.gif">';
	document.getElementById("price_montly3").innerHTML = '';
	document.getElementById("montly_1").innerHTML = '<img src="/images/main-v4/ajax-loader.gif">';

	xmlhttp.onreadystatechange = function() {
	  	if (xmlhttp.readyState==4 && xmlhttp.status==200) {
			resp = xmlhttp.responseText;
			arr = resp.split("#");
			document.forms['frmNewOrder'].action = '/order/NewHostingOrder?'+arr[0];
			document.getElementById("price_montly").innerHTML = "&euro; "+parseFloat(arr[1]).toFixed(2);
			document.getElementById("price_montly3").innerHTML = "&euro; "+parseFloat(arr[2]).toFixed(2);
			for(i=1; i<=4; i++) {
				if(arr[i*2+1]==0) { document.getElementById("montly_"+i).innerHTML = "&mdash;"; } else {
					document.getElementById("montly_"+i).innerHTML = "&euro; "+parseFloat(arr[i*2+1]).toFixed(2); }
				if(arr[i*2+2]==0) { document.getElementById("montly3_"+i).innerHTML = "&mdash;"; } else {
					document.getElementById("montly3_"+i).innerHTML = "&euro; "+parseFloat(arr[i*2+2]).toFixed(2); }
			}
	    	}
  	}
	xmlhttp.open("GET", url+str+'&r='+r ,true);
	xmlhttp.send();
}


function domainCheck(domain, idname) {
	var xmlhttp = createXMLHttpRequest();
	var r = createRandom();
	var url = "../vibit/DomainCheck?action=check&domainName=" + domain;
	xmlhttp.onreadystatechange = function() {
	  	if (xmlhttp.readyState==4 && xmlhttp.status==200) {
			switch(xmlhttp.responseText) {
				case '1': txt = '<div class="msg_failure">De domein naam ' + domain + ' is niet beschikbaar voor registratie.</div>'; 
					break;
				case '2': txt = '<div class="msg_success">De domein naam ' + domain + ' is vrij voor registratie.</div>'; 
					break;
				case '3': txt = '<div class="msg_failure">Ongeldige domein naam.<br>Een geldige domein naam is \'abc123.be\', dus zonder de prefix \'www.\'.</div>'; 
					break;
				case '4': txt = '<div class="msg_failure">Domein kon niet gecontroleerd worden, probeer later opnieuw.</div>'; 
					break;
				default: txt = '<div class="msg_failure">Onbekende fout.</div>'; 
					break;
			}
			document.getElementById(idname).innerHTML = txt;
	    	}
  	}
	xmlhttp.open("GET", url+'&r='+r ,true);
	xmlhttp.send();
}

function domainCheckSmall(domain, nr, isLoggedin) {
	var xmlhttp = createXMLHttpRequest();
	var r = createRandom();
	var url = "../vibit/DomainCheck?action=check&domainName=" + domain;
	xmlhttp.onreadystatechange = function() {
	  	if (xmlhttp.readyState==4 && xmlhttp.status==200) {
			switch(xmlhttp.responseText) {
				case '2': 
					txt = '<img src="/images/main-v4/small-ok.png">';
					if(isLoggedin == '1') {
						chk = '<input type="checkbox" name="domein" value="'+domain+'" checked="checked">';
					}
					break;
				case '1':
				case '3': 
				case '4': 
					txt = '<img src="/images/main-v4/small-nok.png">'; 
					if(isLoggedin == '1') {
						chk = '<input type="checkbox" name="domein" value="'+domain+'" disabled="disabled">';
					}
					break;
				default: 
					txt = '<img src="/images/main-v4/small-unknown.png">'; 
					chk = '';
					break;
			}
			document.getElementById("domain_status_" + nr).innerHTML = txt;
			document.getElementById("domain_check_" + nr).innerHTML = chk;
	    	}
  	}
	xmlhttp.open("GET", url+'&r='+r ,true);
	xmlhttp.send();
}


// ================================================================================ //

function createXMLHttpRequest() {
	var xmlhttp;
	if (window.XMLHttpRequest) {
  		xmlhttp = new XMLHttpRequest();
  	} else {
  		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  	}
	return xmlhttp;
}
function createRandom() {
	return Math.floor(Math.random() * 1000000)-1; 
}
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}


