
// global variabel til xmlHttp-objektet
var xmlHttp;


// funktion der eksekveres når en detalje ændres
// omk_id indeholder streng, således at der er muligt at identificere
// - total-feltet, hvor resultatet skal placeres
// - øvrige detalje-felter
// - formel-feltet


function AjaxUpdateResult(omk_id, call_total_calculation, omk_type) {
	
	// Check om ajax-funktion er mulig
	
	
	xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null) {
		window.status = "DIN BROWSER UNDERSTØTTER IKKE AJAX - ER PÅKRÆVET FOR AT KUNNE LAVE REAL-TIME PRIS-BEREGNINGER";
		return;
  	} 

	// Hent detalje-objekter fra siden
	var i = 1;
	var detail_array=new Array();
	
	while(document.getElementById("omk_detail_" + omk_id + "_" + i) != null) {
	
		// Detaljer ligger altid i et hidden/text-felt
		detail_array[i-1] = document.getElementById("omk_detail_" + omk_id + "_" + i).value;
		i++;
	}


	// hent formel-felt - ligger altid i et hidden-felt
	var formula = "";
	if(document.getElementById("omk_formula_" + omk_id) != null) {
		formula = document.getElementById("omk_formula_" + omk_id).value;
	}
	

	
	// Undersøg om total-feltet er i et span-felt eller text-felt
	var total_felt_type = null;
	if(document.getElementById("omk_total_" + omk_id) != null) {
	
		if(document.getElementById("omk_total_" + omk_id).tagName.toUpperCase() == "SPAN") {
			total_felt_type = "SPAN";
		} else {
			total_felt_type = "FORMFIELD";
		}	
	}



	// Opbyg URL til side, hvor indhold skal indsættes i total-feltet
	var sideURL = "ajax.php";
	sideURL = sideURL + "?beregning=st_omkostning&formula=" + encodeURIComponent(formula);
	
	for(j = 1;j<i;j++) {
		sideURL = sideURL + "&detail_" + j + "=" + encodeURIComponent(detail_array[j-1]);
	}
	
	// alert(sideURL);
	
	// return;

	// kald ajax-side

	xmlHttp.onreadystatechange=function() {
      		if (xmlHttp.readyState==4) { 
			if(total_felt_type) {
			
				if(total_felt_type == "SPAN") {
					document.getElementById("omk_total_" + omk_id).innerText=xmlHttp.responseText;
				} else {
					document.getElementById("omk_total_" + omk_id).value=xmlHttp.responseText;
				}
				
				// Der ligger et felt, som indeholder den beregnede værdi (til sammenligning hvis total bliver justeret af bruger)
				if(document.getElementById("omk_beregnet_" + omk_id) != null) {
					document.getElementById("omk_beregnet_" + omk_id).value=xmlHttp.responseText;
				}
			
				if(call_total_calculation) {
					BeregnGruppe(omk_type);
				}
			}
		}
        }
	
	xmlHttp.open("GET",sideURL,true);
	xmlHttp.send();

	
}


// Funktion der checker om ajax er mulig
// Hvis ja returneres et XMLHttpRequest-objekt
function GetXmlHttpObject() {
	if (window.XMLHttpRequest) return new XMLHttpRequest();
	else if (window.ActiveXObject) {
		var msxmls = new Array(5);
		msxmls[0] = "Msxml2.XMLHTTP.5.0";
		msxmls[1] = "Msxml2.XMLHTTP.4.0";
		msxmls[2] = "Msxml2.XMLHTTP.3.0";
		msxmls[3] = "Msxml2.XMLHTTP";
		msxmls[4] = "Microsoft.XMLHTTP";
		for (var i = 0; i < msxmls.length; i++) {
			try {return new ActiveXObject(msxmls[i]);}
			catch (e) {}
		}
	}
	return null;
}



