/* 	
	Browseronafhankelijke functies
 	Maarten: creatie 10/07/2009
*/

var intBrowser = checkBrowser();

/*
	Bepaalt welke browser je gebruikt
 */
function checkBrowser(){ // bepaalt of je IE gebruikt of een andere browser
	var intBrowser;
	
	if (window.ActiveXObject){ // IE
	    intBrowser = 1;		
	}
    else if (document.implementation && document.implementation.createDocument){ // Chrome, Firefox
        intBrowser = 2;
    }
    else{
        intBrowser = 0;
    }
	
	return intBrowser;
}

/*  
	Zet een responseXML om in XML-object.
 	Input: xmlstring
 	Output: xml-document
*/
function getXML(strXml){ 
	var xml, blnLoaded = false;
	
	try{
		switch(intBrowser){
			case 1:
				xml 		= new ActiveXObject("Microsoft.XMLDOM");
		    	blnLoaded 	= xml.loadXML(strXml);
			break;
			case 2:
				var parser 	= new DOMParser();
				xml 		= document.implementation.createDocument("", "", null);
				xml 		= parser.parseFromString(strXml, "text/xml");
				blnLoaded 	= true;
			break;
		}
	}catch(e){}
	
	if (blnLoaded){
		return xml;
	}
	else{
		return blnLoaded; // false
	}
}

/*
	Functie die een event van een object uitvoert.
	Input: de referentie naar het object en de naam van het event (zonder 'on'). vb "click"			
 */
function fireEvent(oObject, strEvent){
    if (intBrowser == 1){ // Internet Eplorer
        oObject.fireEvent("on" + strEvent); // "onclick"
    }
    else { // Firefox, Chrome
        var event = window.document.createEvent("MouseEvent");
        event.initEvent(strEvent, false, true); // "click"
        oObject.dispatchEvent(event);
    }
}

/*
	Stelt de innertext van een object in
	Input: het object en de inhoud (string)
	Output: het object
 */
function setInnerText(oObject, strTekst){
	if (intBrowser == 1){ // Internet Eplorer
		oObject.innerText = strTekst;
	}
	else{ // Firefox, Chrome
		oObject.textContent = strTekst;
	}
	
	return oObject;
}

/*
	Haalt de innertext van een object op
	Input: het object
	Output: de innerText (string)
 */
function getInnerText(oObject){
	var strTekst;
	
	if (intBrowser == 1){ // Internet Eplorer
		strTekst = oObject.innerText;
	}
	else{ // Firefox, Chrome	
		strTekst = oObject.textContent;
	}
	
	return strTekst;
}

/* 	
 	Retourneert de aangevinkte waarde van radio-object
 	Input: overkoepelende naam (niet id) van het radioobject
 	Output: geselecteerd waarde of undefined indien er niets geselecteerd is
 	(Heeft eigenlijk weinig te maken met browseronafhankelijkheid ware het niet dat je in de bestaande functie in radio.js het object zelf dient mee te geven, nvdr)
*/
function getRadioValue(strRadio){
	var strRadValue;
	var arrRadio = document.getElementsByName(strRadio);	
	
	for (var i=0;i<arrRadio.length;i++){
		if (arrRadio[i].checked){
			strRadValue = arrRadio[i].value;
			i = arrRadio.length;
	    }
	}
	
   	return strRadValue;
}

/* 	
 	Vinkt een radiobutton aan
 	Input: overkoepelende naam (niet id) van het radioobject 	
 	(Heeft eigenlijk weinig te maken met browseronafhankelijkheid ware het niet dat je in de bestaande functie in radio.js het object zelf dient mee te geven, nvdr)
*/
function setRadioValue(strRadio, strWaarde){
	var arrRadio = document.getElementsByName(strRadio);
	
	for (var i=0;i<arrRadio.length;i++){
		if (arrRadio[i].value == strWaarde){
			arrRadio[i].checked = true;
			i = arrRadio.length;
	    }
	}   	
}
