function createRequestObject()
{
   	var ro;
   	var browser = navigator.appName;
   	
	if(browser == "Microsoft Internet Explorer")
	{
        	
		Ajax = new ActiveXObject("Microsoft.XMLHTTP");
   	
	}
	else
	{
       	
		Ajax = new XMLHttpRequest();
  	 	
	}
  	
	return Ajax;
		
}

var http = new createRequestObject();

//
//AJAX Call Function
//Will make a get request to the functions file and then will return its values to the actionFunction.
//All values that are returnd are seperated by a ';' and escaped when needed with a '\' 
//

function callBack(actionFunction, actionParameters)
{
	var actionString = '';
	for(var i = 0; i < actionParameters.length; i++)
	{
		actionString = actionString +  '&a' + i.toString() + '=' + actionParameters[i];
	}
	http.open('get', 'Ajax/functions.php?action=' + actionFunction + actionString +"&uniek="+ Math.random());
	http.onreadystatechange = eval(actionFunction);
	http.send(null);
}

//
//Create List of String function
//Will use the HTTP response and make a list of this.
//
function createListOfString(stringList, seperator)
{
	var returnArray = new Array();
	var pointer = 0;
	while(stringList.indexOf(seperator) != -1)
	{
		var p = stringList.indexOf(seperator);
		returnArray[pointer] = stringList.substr(0, p);
		stringList = stringList.substr(p+1,stringList.length);
		pointer++;
	}
	if(stringList != '')
		returnArray[pointer] = stringList;
	return returnArray;
}

//
//Update the users data for classes the lecture
//
function updateLectureClass(vakID,boxID,gebruikerID)
{
	if(!document.forms['aanbiederForm'].elements[boxID].checked)
	{
		callBack("LectureClass",new Array(vakID,gebruikerID,0));
	}
	else
	{
		callBack("LectureClass",new Array(vakID,gebruikerID,1));
	}
}

//
//Event Handlers
//

function getRegioByProvincie()
{
	if(http.readyState == 4){
		var resultList = createListOfString(http.responseText,';');
		if(resultList.length != 0)
		{
			var optionName = '';
			var optionCount = 1;
			document.forms['searchBalk'].regio.options.length = 0;
			document.forms['searchBalk'].regio.options[0] = new Option("Regio", "");
			for(var i = 1; i <= resultList.length; i++)
			{
				if(i % 2 == 0)
				{
					document.forms['searchBalk'].regio.options[optionCount] = new Option(optionName, resultList[i-1]);
					optionCount++;
				}
				else
				{
					optionName = resultList[i-1];
				}				
			}
		}
	}
}

function getRegioByProvincieBlackBox()
{
	if(http.readyState == 4){
		var resultList = createListOfString(http.responseText,';');
		if(resultList.length != 0)
		{
			var optionName = '';
			var optionCount = 1;
			document.forms['placeAd'].regio.options.length = 0;
			document.forms['placeAd'].regio.options[0] = new Option("Regio", "");
			for(var i = 1; i <= resultList.length; i++)
			{
				if(i % 2 == 0)
				{
					document.forms['placeAd'].regio.options[optionCount] = new Option(optionName, resultList[i-1]);
					optionCount++;
				}
				else
				{
					optionName = resultList[i-1];
				}				
			}
		}
	}
}

function getRegioByProvincieProfile()
{
	if(http.readyState == 4){
		var resultList = createListOfString(http.responseText,';');
		if(resultList.length != 0)
		{
			var optionName = '';
			var optionCount = 1;
			document.forms['frmProfiel'].regio.options.length = 0;
			document.forms['frmProfiel'].regio.options[0] = new Option("Regio", "");
			for(var i = 1; i <= resultList.length; i++)
			{
				if(i % 2 == 0)
				{
					document.forms['frmProfiel'].regio.options[optionCount] = new Option(optionName, resultList[i-1]);
					optionCount++;
				}
				else
				{
					optionName = resultList[i-1];
				}				
			}
		}
	}
}

function getRegioByProvincieEditAdv()
{
	if(http.readyState == 4){
		var resultList = createListOfString(http.responseText,';');
		if(resultList.length != 0)
		{
			var optionName = '';
			var optionCount = 1;
			document.forms['advwijzig'].regio.options.length = 0;
			document.forms['advwijzig'].regio.options[0] = new Option("Regio", "");
			for(var i = 1; i <= resultList.length; i++)
			{
				if(i % 2 == 0)
				{
					document.forms['advwijzig'].regio.options[optionCount] = new Option(optionName, resultList[i-1]);
					optionCount++;
				}
				else
				{
					optionName = resultList[i-1];
				}				
			}
		}
	}
}

function checkEmailStatus()
{
	if(http.readyState == 4)
	{
		if(http.responseText != "FREE")
		{
			var span = document.getElementById("blackBoxPassword");	
			span.style.visibility = "visible";		
		}
		else
		{
			var span = document.getElementById("blackBoxPassword");	
			span.style.visibility = "hidden";	
		}
	}
}
function LectureClass()
{
//dummy
}

function updateAdvertentieStatus()
{
	if(http.readyState == 4)
	{
		var span = document.getElementById('changeStatusOk');
		if(http.responseText == 'true')
		{			
			span.innerHTML = '<img src="Images/ok.png"/>';
		}	
		else
		{
			span.innerHTML = '<img src="Images/miss.png"/>';
		}
	}
}

function getCourseTeachersByCourse()
{
	if(http.readyState == 4)
	{
		var result = createListOfString(http.responseText,';');
		var courseDiv = document.getElementById("aanbiederContainer");
		if(result[1] != "ERROR")
		{
			var returnHTML = '';
			if(result.length != 1)
			{
				for(var i = 1; i < result.length;i++)
				{
					var userInfo = createListOfString(result[i],'|');
					//alert(userInfo);
					returnHTML += '<div class="courseTeacher"><table><tr><td><img src="user/'+(userInfo[2] != 0 ?userInfo[1] : 0 )+'.jpg" width="25"/></td><td><a href="?p=profiel&id='+userInfo[1]+'">'+userInfo[0]+'</a><br/>Provincie & Regio: '+(userInfo[3] == '' || userInfo[3] == null ? 'Onbekend' : userInfo[3]) +', '+(userInfo[4] == '' || userInfo[4] == null ? 'Onbekend' : userInfo[4])+'</td></tr></table></div>';
				}
				returnHTML += '';				
				courseDiv.innerHTML = returnHTML;				
			}
			else
			{
				courseDiv.innerHTML = 'Er zijn geen aanbieders voor dit vak.';	
			}		
		}
		else
		{
			courseDiv.innerHTML = 'Fout bij het ophalen van de gegevens.';
		}		
	}
}