
uppdateringsIntervall = 20;		// Hur ofta ska den kontrollera om ändringar skett? Sekunder.

vagnInfo = "";
auTimer = false;


function xmlhttpPost(strURL,typ,kartlager,arri,depar,platsNR,kartid) {


	//errorTimeout = 8;	// Ajax timeout innan den ska rapportera att det blev fel, i sekunder
	//var errorTime=setTimeout("ajaxTimeout('"+kartid+"',"+arri+","+depar+","+platsNR+");",errorTimeout*1000);	// starta timeouten


	// ajax-startsekvens, browser compatibility osv.
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari/IE7
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE5.5/IE6
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }

    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    self.xmlHttpReq.onreadystatechange = function() {

        if (self.xmlHttpReq.readyState == 4 && self.xmlHttpReq.status == 200) {

			if(typ == "mark")
			{
				// Skriver ut vagnInfo till ett lager
				//document.getElementById('infoplatta').innerHTML = document.getElementById('infoplatta').innerHTML + '<div style="position:absolute; top:0px; left:0px; width:100%; height:100%; background-color:white;">'+self.xmlHttpReq.responseText+'</div>';
				//document.getElementById('infoplatta').style.display='block';

				if(self.xmlHttpReq.responseText != "0")
				{
					avmarkera();
					if(document.getElementById("pl"+self.xmlHttpReq.responseText) != undefined)
					{
						rutan = document.getElementById("pl"+self.xmlHttpReq.responseText);
	
						rutan.src = rutan.src.replace(/id=1/g,"id=3");
						rutan.title = "Under bokning";
						rutan.onmousedown = null;
						rutan.onmouseover = null;
						rutan.onmouseout = null;
						alert("Någon annan hann boka denna plats, välj en annan");
					}
				}

			}
			else if(typ == "uppdatera")
			{
				dat = new Date();
				str = dat.getTime().toString();
				document.title = "Nu har den körts!"+str.substr(0,str.length-4);

				// Servern skickar tillbaka javscriptkod, kör den
				if(self.xmlHttpReq.responseText != "")
				{	//document.write(self.xmlHttpReq.responseText);
					eval(self.xmlHttpReq.responseText);
					//document.getElementById(kartlager).innerHTML = self.xmlHttpReq.responseText;
				}
				clearTimeout(errorTime);
				clearTimeout(auTimer);
				auTimer = setTimeout("uppdateraKarta('"+kartid+"',"+arri+","+depar+","+platsNR+")",uppdateringsIntervall*1000);
			}
			else // typ = "hamta"
			{

				// Starta om timeouten med rätt värden och rätt tid
				document.getElementById(kartlager).innerHTML = self.xmlHttpReq.responseText;
				//clearTimeout(errorTime);
				//clearTimeout(auTimer);
				//auTimer = setTimeout("uppdateraKarta('"+kartid+"',"+arri+","+depar+","+platsNR+")",uppdateringsIntervall*1000);
				/*
					out = "";
					code = "";
	
					// Hämtar följande <HTML-kod, husvagnar>_::<ev. javascript>:upd:<senast uppdaterad>
					txt = self.xmlHttpReq.responseText.split("_::");
					// Ta ut vagn-delen av koden:
					for(i=0;i<txt.length-1;i++)
						out += txt[i];
	
					endData = txt[txt.length-1].split(":upd:");
					senastUppdaterad = endData[endData.length-1];
	
					for(i=0;i<endData.length-1;i++)
						code += endData[i];
	
	
					// Kör ev. kod:
					if(code != "")
						eval(code);
	
					document.getElementById(kartlager).innerHTML = out;	// skicka iväg datan för utskrift
				*/
				//sen_upp=senupp();
				//alert(sen_upp);
			}
        }
	}
	self.xmlHttpReq.send(null);
}

// Funktion för att skicka data
function getquerystring() {
    var word ="";
    qstr = 'v=' + escape(word);
	//alert(qstr);
    return qstr;
}

function hamtaVagnar(kartid,arri,depar,platsNR){
	url = "inacamp_files/map.php?kid="+kartid+"&a="+arri+"&d="+depar;
	if(platsNR>0)
		url += "&platsnr="+platsNR;
	//prompt("",url);
	xmlhttpPost(url,"hamta","kartlager",arri,depar,platsNR,kartid);
}

function markeraVagn(platsNR){
	url = "inacamp_files/mark.php";
	if(platsNR>0)
		url += "?platsnr="+platsNR;
	xmlhttpPost(url,"mark","kartlager",0,0,0,0);
}




/*****************************/
/* Automatiska uppdateringar */

function uppdateraKarta(kartid,arri,depar,platsNR){
	document.title = "Nu körs den!";
	url = "inacamp_files/mapupdate.php?kid="+kartid+"&a="+arri+"&d="+depar+"&u=1";
	if(platsNR>0)
		url += "&platsnr="+platsNR;
	//prompt("",url);
	xmlhttpPost(url,"uppdatera","kartlager",0,0,0,kartid);
}

// När ajax timeat ut (tog för lång tid att ladda) körs den här funktionen
function ajaxTimeout(kartid,arri,depar,platsNR)
{
	self.xmlHttpReq.abort();	// avbryt ajax-kommandot. När javascriptets timeout timar ut och felmeddelande viasas ska inte datan poppa upp efteråt.
	//alert("Ajax tog för lång tid på sig\nFörsök igen, eller kontrollera nätverksförbindelsen!");
	auTimer = setTimeout("uppdateraKarta('"+kartid+"',"+arri+","+depar+","+platsNR+")",uppdateringsIntervall*1000);	
}


/*                           */
/*****************************/

