/***********************************************************
* Programenhet :	POST-request from JavaScript to PHP
* Reg. Nr :        
* Filnamn :		jsToPhp.js
* Tillhörande 
* filer :			
* Kompliator :
* Externa
* enheter :
*-----------------------------------------------------------
* Beskrivning :
* Funktionerna kan användas till att skapa en POST-request.
* Svaret från anropet skickas till funktionen handleResponse()
* som måste implementeras på sidan där denna kod används.
*
*-----------------------------------------------------------
* Programhistoria : 
* Ver, 	Datum,		Utförd av,     		Beskrivning
* 1.0  	2008-05-30	Linda Svensson  	Ursprungsversion
* 
***********************************************************/
/***********************************************************
* Följande två funktioner är ursprungligen copyright Rasmus Lerdorf.
* Orginalkoden kan ses här:
* http://news.php.net/php.general/219164
***********************************************************/


var http_request = false;

/***********************************************************
* Namn :           	makePOSTRequest()
* Beskrivning :
* Skapar en POST-requeset till en PHP-sida
* Används för att kunna anropa PHP med Javascript
* url är PHP-sidan som anropas
* parameters är datan som ska skickas som POST formaterat som GET
***********************************************************/
function makePOSTRequest(url, parameters)
{
	http_request = false;
	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	}
	else if (window.ActiveXObject)
	{ // IE
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try 
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{}
		}
	}
	if (!http_request)
	{
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange = alertContents;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}
/* Funktionsslut:	makePOSTRequest()	*/


/***********************************************************
* Namn :           	alertContents()
* Beskrivning :
* Tar emot svaret från POST-requesten. Dvs utdatan från PHP-skriptet.
***********************************************************/
function alertContents()
{
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			//alert(http_request.responseText);
			result = http_request.responseText;
			handleResponse(result);
		}
		else
		{
			alert('There was a problem with the request.');
		}
	}
}
/* Funktionsslut:	alertContents()	*/



/***********************************************************
* Namn :           	submitForm()
* Beskrivning :
* Kontrollerar att användaren fortfarande är inloggad innan formuläret
* skickas. Om så inte är fallet så ombedes användaren att logga in så
* att ingen information går förlorad.
***********************************************************/
function submitForm(response, form)
{
	if (response == "loggedin")
		form.submit();
	
	else
	{
		window.open('../global_smalllogin.php', 'login', 'menubar=no,width=430,height=300,toolbar=no,scrollbars=no,');
	}
}
/* Funktionsslut:	submitForm()	*/
