function GetHttpRequest() { // Functie die http_request vult met een XmlHttp object, geeft false terug als er een fout optreedt.
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} 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('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	return http_request
}

//Smartcard validatie
var oMscErrorMessageContainer
var oMscStatusContainer
var smcIsOk = false
var oForm
var blnTest=false

function doSmartcardCheck(strOSc1,strOSc2,strOSc3,strOSc4,strOSc5,strOSc6,cmd,rules,strmsgCont,strMscStatusContainer,strForm){   
	//Toon het bezig met scherm
    GB_showCenter("","../loading.asp",120,500)
    //einde tonen
    if(strmsgCont!=''){
        oMscErrorMessageContainer = document.getElementById(strmsgCont)
    }
    if(strMscStatusContainer!=''){
        oMscStatusContainer = document.getElementById(strMscStatusContainer)
    }
    if(strForm!=''){
        oForm = document.getElementById(strForm)
    }
    //Vraag het smartcardnummer op
    var oSc1    = document.getElementById(strOSc1) 
    var oSc2    = document.getElementById(strOSc2)
    var oSc3    = document.getElementById(strOSc3)
    var oSc4    = document.getElementById(strOSc4)
    var oSc5    = document.getElementById(strOSc5)
    var oSc6    = document.getElementById(strOSc6)
    
    var smartcardnumber = oSc1.value + oSc2.value + oSc3.value + oSc4.value + oSc5.value + oSc6.value
    if (smartcardnumber=='66666666666666' || smartcardnumber=='17777777777777') blnTest=true;
	
    
    //Maak een http object aan
    var http_request = GetHttpRequest()    
    if(!http_request) return false; // Kan geen ajax component aanmaken.
      
    var url = "/xml/checkSmartcard.xml.asp?smartcardnumber=" + smartcardnumber+"&cmd="+cmd+"&rules="+rules

	if (!blnTest) 
	{
    		//Voor het xml request uit
    		http_request.onreadystatechange = function() { getSmartcardCheckResult(http_request); };
		http_request.open('GET', url, true);
		http_request.send(null);
	}	else
	{	http_request.onreadystatechange = function() { getSmartcardCheckResult2(http_request); };
		http_request.open('GET', url, true);
		http_request.send(null);
	}

}

function getSmartcardCheckResult(http_request)
{	//Controleer of het laden van de xml voltooid is
    	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			if(!IE) http_request.responseXML.normalize() 
	        	var xmldoc = http_request.responseXML;
	        	var actionResult_node = xmldoc.getElementsByTagName('errorMessage').item(0);
	        	var statusResult_node = xmldoc.getElementsByTagName('actionResult').item(0);

	
	        	if ( actionResult_node.firstChild==null)
			{//Het valideren is gelukt
				                
				if(oMscErrorMessageContainer)
				{	//Controleer of er wel een container is om de melding in te plaatsen
	                		oMscErrorMessageContainer.innerHTML=''
	            		}
	            		smcIsOk = true
	            		if(oMscStatusContainer && statusResult_node.firstChild != null)
				{	
					
					oMscStatusContainer.value=statusResult_node.firstChild.data
				}
	            		GB_hide()
	       		}	else
			{
	        		if(oMscErrorMessageContainer)
				{//Controleer of er wel een container is om de melding in te plaatsen
					
					oMscErrorMessageContainer.innerHTML = '<strong style="color:#FF0000;">' + actionResult_node.firstChild.data + '</strong>'
	        		}
	        		smcIsOk = false
	        		GB_hide()
	       		}
			if(smcIsOk)
			{           
                		if(oForm)
				{
					oForm.submit()

                		}
           		}
		}
	}    
}
//Einde smartcard validatie

//<?xml version="1.0" encoding="UTF-8" ?>
//<response>
//	<actionResult>
//	</actionResult>
//	<errorMessage>
//	* Le numéro de carte que vous avez introduit n'existe pas.</errorMessage>
//	</response>

function getSmartcardCheckResult2(http_request)
{	//Controleer of het laden van de xml voltooid is
    	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{       
			if(!IE) http_request.responseXML.normalize() 
	        	var xmldoc = http_request.responseXML;
	        	var actionResult_node = xmldoc.getElementsByTagName('errorMessage').item(0);
	        	var statusResult_node = xmldoc.getElementsByTagName('actionResult').item(0);

			//alert(http_request.responseText);
			//alert('actionResult_node=' + xmldoc.getElementsByTagName('errorMessage').firstChild )


			var txt= http_request.responseText; //alert(txt.length)


			//oMscErrorMessageContainer.innerHTML=xmldoc.getElementsByTagName('actionResult').text
			GB_hide()
		
	
	        	if (txt.length<120)
			{//Het valideren is gelukt                
				if(oMscErrorMessageContainer)
				{	//Controleer of er wel een container is om de melding in te plaatsen
	                		oMscErrorMessageContainer.innerHTML=''
	            		}
	            		smcIsOk = true
	            		if(oMscStatusContainer && statusResult_node.firstChild != null)
				{	
					oMscStatusContainer.value=''
				}
	            		GB_hide()
	       		}	else
			{
	        		if(oMscErrorMessageContainer)
				{//Controleer of er wel een container is om de melding in te plaatsen
					oMscErrorMessageContainer.innerHTML = '<strong style="color:#FF0000;">' + txt + '</strong>'
	        		}
	        		smcIsOk = false
	        		GB_hide()
	       		}
			if(smcIsOk)
			{           
                		if(oForm)
				{
					oForm.submit()
                		}
           		}
		}
	}    
}
