function ajaxTemplate(id){
  var url = "/diner/functions/ajax/ajax_template.asp?id=" + id;
   sendRequest(url, showAlert);
}

function showPrice(choiceID, dishID){
   //hent antal valgte retter
   var ff = document.forms['dish_' + dishID].elements;
   var choices = ff['choice_' + choiceID];
   var antal = 0;
   for(var i = 0; i < choices.length; i++){
      if(choices[i].checked == true){ antal++;}
   }
   var url = "/diner/functions/ajax/price_from_choices.asp?id=" + choiceID + "&antal=" + antal + "&retID=" + dishID + "&rnd=" + Math.random();
   sendRequest(url, showPrice2);
   
}

function showPrice2(req){
   // only if "OK"
  
   if (req.status == 200){
      var arr = req.responseText.split("-");
      var prisDiv = document.getElementById("pris" + arr[0]);
      var pris = arr[1];
      prisDiv.innerHTML = pris;
   } 
}
/**************************************************************/

function getAvailability(d){
   var url = "/diner/functions/ajax/check_date.asp?dato=" + d;
   sendRequest(url, showAvailability);
}


function showAvailability(req){
   // only if "OK"
   if (req.status == 200){
      var str = req.responseText;
      document.getElementById("date_info").innerHTML = str;
   } 
}

/**************************************************************/

function toggleDiner(d){
   var url = "/diner/functions/ajax/toggle_diner.asp?dato=" + d;
   sendRequestToDiv(url, "blockdiner_" + d);
}

function toggleTW(d){
   var url = "/diner/functions/ajax/toggle_diner.asp?mode=tw&dato=" + d;
   sendRequestToDiv(url, "blockTW_" + d);
}

/**************************************************************/


function showAlert(req){
   // only if "OK"
   if (req.status == 200){
      alert('' + req.responseText);
   } 
}

/*******************************************************************************************/
/******* dont mess with this... ************************************************************/

function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
//			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

function sendRequestToDiv(url,divName, postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
//			alert('HTTP error ' + req.status);
			return;
		}
		
                if (req.status == 200){
                   var myDiv = document.getElementById(divName);
                   myDiv.innerHTML = req.responseText;
                }
	}
	if (req.readyState == 4) return;
	req.send(postData);
}


var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

