var curselectorinput;
function selectcolor(c)
{
    $.value=c;
    if(document.all)
    {
        $(curselectorinput+'btn').style.background=c;
    }
     else
     if(document.getElementById)
     {
        $(curselectorinput+'btn').style.background='#'+c;
    }
    closecolorselector();
}

function opencolorselector(o, e)
{
    test=false;
    selecto=$('colorselector').style;
    if(selecto.visibility=="visible")
    {
        closecolorselector();
        test=true;
    }
    if(!test || o!=curselectorinput)
    {
        if(document.all)
        {
            selecto.left=event.x+document.body.scrollLeft+"px";
            selecto.top=event.y+document.body.scrollTop+10+"px";
        }
         else
         if(document.getElementById)
         {
            selecto.left=e.clientX+window.pageXOffset+"px";
            selecto.top=e.clientY+window.pageYOffset+10+"px";
        }
        selecto.visibility="visible";
        curselectorinput=o;
    }
}

function closecolorselector()
{
    $('colorselector').style.visibility="hidden";
}

function get_XML(send,value,div_result,protocole) {
    if(window.XMLHttpRequest) // FIREFOX
        xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
        return(false);
    
    xhr_object.onreadystatechange = function() { changeState(xhr_object,div_result,true); };
    
    if (protocole == "post") {
    	xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	xhr_object.open("post", send, true);
    	xhr_object.send(value);
    }
    else {
    	xhr_object.open("get", send+(value.length>0? "?"+value : ""), true);
    	xhr_object.send(null);
    }
}

function get_texte(send,value,div_result,protocole) {
    if(window.XMLHttpRequest) // FIREFOX
        xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
        return(false);
    
    xhr_object.onreadystatechange = function() { changeState(xhr_object,div_result,false); };
    
    if (protocole == "post") {
    	xhr_object.open("post", send, true);
    	xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	xhr_object.send(value);
    }
    else {
    	xhr_object.open("get", send+(value.length >0? "?"+value : ""), true);
    	xhr_object.send(null);
    }
}

function file(fichier,div_result) {
    if(window.XMLHttpRequest) // FIREFOX
        xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
        return(false);
    xhr_object.onreadystatechange = function() { changeState(xhr_object,div_result,false); };

    //writediv(div_result,"in progress...");
    xhr_object.open("GET", fichier, true);
    xhr_object.send(null);
    if(xhr_object.readyState == 4) return(xhr_object.responseText);
    else return(false);
}

function changeState(xhr,div_result,xml_type)
{
    if (xhr.readyState == 4 && xhr.status == 200) 
    {
    	if (xml_type) {
    		// type de reponse XML
    		var response = xhr.responseXML;
    		var zones = response.getElementsByTagName("zone");
    		var count = zones.length;
			for(i = 0; i < count; i++) { /* POUR CHAQUE item */
				div_zone = zones[i].getElementsByTagName("name")[0].firstChild.nodeValue;
				data_info = zones[i].getElementsByTagName("data")[0].firstChild.nodeValue;
				writediv(div_zone,data_info);
			}
    	}
    	else {
    		// type de reponse texte
			writediv(div_result,xhr.responseText);
    	}
    }
}

function writediv(mon_div,texte)
{
    $(mon_div).innerHTML = texte;
}

function change_state(mon_objet,div_result) {
    // boucle sur les elements de la forme
    var adresse = $("adresse").value;
    var maForme = $($("name_form").value);
    var nombre = maForme.elements.length;
    
    //alert(Form.serialize(maForme));
    var retour = "obj="+mon_objet.name;
    retour += "&div="+div_result;
    for (i=0 ; i< nombre; i++) {
        var objet = maForme.elements[i];
        var value;
        if (objet.type == "checkbox" || objet.type == "radio") {
        	value = escape(objet.checked ? objet.value : "");
        }
        else {
        	value = escape(objet.value);
        }
        if(value.length > 0 ) {
			retour += (retour.length == 0 ? "" : "&")+objet.name+"=";
			retour += value;
		}
		//alert(objet.name+"="+value);
    }
    
    //alert(adresse+'?'+retour,div_result);
    texte = get_texte(adresse,retour,div_result,'post');
    return false;
}

function exec_page(numero,div_result) {
    adresse = "exec_page.php";
    texte = file(adresse+'?'+numero,div_result);
}

function exec_menu(numero,div_result) {
    adresse = "exec_page.php";
    texte = file(adresse+'?mnu='+numero,div_result);
}

function load_page(numero,div_result) {
    adresse = "load_page.php";
    texte = file(adresse+'?num='+numero,div_result);
}

function load_liste(numero,action,id,div_result) {
    adresse = "load_liste.php";
    texte = file(adresse+'?num='+numero+'&act='+action+'&id='+id,div_result);
}

function exec_form(numero,action,id,div_result) {
    adresse = "exec_form.php";
    texte = file(adresse+'?mnu='+numero+'&act='+action+'&id='+id,div_result);
}

function reload_form(maForme,div_result) {
    var nombre = maForme.elements.length;
    
    var retour = "";
    for (i=0 ; i< nombre; i++) {
        var objet = maForme.elements[i];
        if (objet.type == "submit") {
        	objet.value="";
        }
    }
	return valide_form(maForme,div_result);
}

function valide_form(maForme,div_result) {
    // boucle sur les elements de la forme
    var nombre = maForme.elements.length;
    
    //alert("valide form");
    var retour = "";
    for (i=0 ; i< nombre; i++) {
        var objet = maForme.elements[i];
        var value;
        if (objet.type == "checkbox") {
        	value = escape(objet.checked ? objet.value : "");
        }
        else {
        	value = escape(objet.value);
        }
        if(value.length > 0 ) {
			retour += (retour.length == 0 ? "" : "&")+objet.name+"=";
			retour += value;
		}
    }
    
    adresse = maForme.action;
    //alert(adresse+'?'+retour,div_result);
    texte = file(adresse+'?'+retour,div_result);
    return false;
}

function openCalendar(form, field, type) {
    window.open("calendar/calendar.php", "Cal", "width=400,height=250,status=yes");
    dateField = eval("document." + form + "." + field);
    dateType = type;
}

function affiche_image(selection) {
	var image = $("view_edition");
	image.src=selection.options[selection.selectedIndex].value;
}


