/* http://www.developpement-web.net */

var requete = null; /* On cr�e une variable globale qui contiendra l'objet XHR moved in navigation page*/

/*
 Fonction qui cr�e un objet XHR.
 Cette fonction initialisera la valeur dans la variable globale "requete"
*/

function buildRequest() {
    try {
        requete = new XMLHttpRequest(); /* On essaye de cr�er un objet XmlHTTPRequest */
    } catch (microsoft) {
        /* Microsoft utilise une autre technique, on tente de cr�er un objet ActiveX */
        try {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        } catch(autremicrosoft) {
            //alert('error - autre microsoft');
            /* On en teste une autre m�thode si la premi�re n'a pas march�e */
            try {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            } catch(echec) {
                /* Si aucune m�thode ne fonctionne, il ne reste plus qu'� mettre � jour le navigateur ! */
                requete = null;
            }
        }
    }
//    if(requete == null) {
//        alert('Votre navigateur ne semble pas supporter les object XMLHttpRequest.');
//    }
    }

function sendRequest(elementId,url) {

	buildRequest();
        requete.open('GET', url, true);
	requete.onreadystatechange = function(){
		if(requete.readyState == 4) {
			if(requete.status == 200) {
				document.getElementById(elementId).innerHTML = requete.responseText;
                                return requete;
			}
		}
	}
	requete.send(null);
}

function sendRequestWithJavascriptResult(url) {

	buildRequest();
        requete.open('GET', url, true);	
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {
                             try{ 
                                 eval(requete.responseText);
                             } catch (e) {
                                 alert("error during action. Sorry for the inconvenience. " + e);
                            }
			}
		}
	}
	requete.send(null);
}

function getAccountOuList(context,accountRootOid,formName) {

	var url = context+'/AccountOuList.nx?accountRootOid='+accountRootOid+'&formName='+formName;
         sendRequest('accountOuList',url);
}

function displayElement(elementName) {
    var myElement = document.getElementById(elementName);
    if (myElement!=null){
        myElement.className = "error visible";
    }
}
function hideElement(elementName) {
    var myElement = document.getElementById(elementName);
    if (myElement!=null){
        myElement.className = "hidden";
    }
}

function displayFields(elementName) {
    var coll;
    if (document.all){
        coll = document.all(elementName);
    } else {
        coll = document.getElementsByName(elementName);
    }

    for(i = 0; i < coll.length; i++){
	if (coll[i].className == "visible"){
	    coll[i].className = "hidden";
	}
	else {
	    coll[i].className = "visible";
	}
    }
}

function switchVisibility(elementName){
    var param = document.getElementById(elementName).className;
    if ("visible" == param){
        document.getElementById(elementName).className = "hidden";
    } else {
        document.getElementById(elementName).className = "visible";
    }
}