var ddcheckboxesOpened = false;

function ddcheckboxes_hide(p) {
	var oList = document.getElementById('ddcheckboxes_' + p + '_list');
    foform_restaurerSelectsSousElt(oList.id);
	oList.style.display = 'none';
    ddcheckboxesOpened = false;
}

function ddcheckboxes_hideOpened(e) {
    if (ddcheckboxesOpened) {
	    var curX = (w3c) ? e.pageX : event.clientX + ietruebody().scrollLeft;
    	var curY = (w3c) ? e.pageY : event.clientY + ietruebody().scrollTop;
		var oElt = document.getElementById('ddcheckboxes_' + ddcheckboxesOpened + '_list'); // Le div conteneur de la liste checkboxes ouverte
	    var eLeft = offsetDOM(oElt, 'offsetLeft');
	    var eTop = offsetDOM(oElt, 'offsetTop');
	    var eLarg = oElt.offsetWidth;
	    var eHaut = oElt.offsetHeight;
    	if (curX < eLeft || curX > eLeft+eLarg || curY < eTop || curY > eTop+eHaut) {
	        ddcheckboxes_hide(ddcheckboxesOpened);
    	}
    }
    // alert("ddcheckboxes_hideOpened : done");
}

function ddcheckboxes_setDisplayOther(p, show) {
    if (document.getElementById(p + '_other')) {
	   document.getElementById(p + '_other').style.display = ( show ? "block" : "none");
    }
}

function ddcheckboxes_show(p) {
    ddcheckboxes_hideOpened();
	var oList = document.getElementById('ddcheckboxes_' + p + '_list');
	oList.style.display = "block";
    ddcheckboxesOpened = p;
    foform_cacherSelectsSousElt(oList.id);
}

function ddcheckboxes_setValue(p) {
	var i = 0;
	var oCheckbox, valueId, valueTxt, v;
	var val = '';
	var txt = '';
	var otherOn = false;
	while (oCheckbox = document.getElementById('ddcheckboxes_' + p + '_checkbox_id[' + i + ']')) {
		if (oCheckbox.checked) {
			v = oCheckbox.value;
			j = v.indexOf(":");
			valueId = v.substring(0, j);
			val +=  valueId + ";";
			txt += v.substring(j+1, v.length) + ", ";
			if (valueId == "99") {
				otherOn = true;
			}
		}
		i++;
	}
	if (val.length > 0) {
		val = val.substring(0, val.length - 1);
		txt = txt.substring(0, txt.length - 2);
	}
	document.getElementById('ddcheckboxes_' + p + '_input_id').value = txt;
	document.getElementById('ddcheckboxes_' + p + '_hidden_id').value = val;
	ddcheckboxes_setDisplayOther(p, otherOn);
}

function ddcheckboxes_toggle(p) {
	// alert("ddcheckboxes_toggle : in");
	var oList = document.getElementById('ddcheckboxes_' + p + '_list');
	if (oList.style.display == 'none') {
		ddcheckboxes_show(p);
	} else {
		ddcheckboxes_hide(p);
	}
}

function ddcheckboxes_init() {
	var f = document.getElementsByTagName("FORM");
	for (var i=0; i<f.length; i++) {
		f[i].onmousedown = ddcheckboxes_hideOpened;
	}
}

bao_windowOnloadAdd(ddcheckboxes_init);
