function rl(conv) {
	var p = 'c=a';
	p += gds();

	if (conv && conv.length != 0) {
		p += gis();
		p += ('&' + conv);
	}

	$('ri').style.cssText = 'display: block;'
	$('ilCont').setOpacity(0.5);
		
	new Ajax.Request("shoppinglist.php", {method: 'post', parameters: p, onSuccess:function(t){ul(t);}});
}

function ul(t) {	
	$('ilCont').removeChild($('il'));
		
	var n = document.createElement('div');
	n.id = 'il';
	n.className = 'ingredientList';
	n.innerHTML = t.responseText;
	$('ilCont').appendChild(n);	
	$('ilCont').setOpacity(1.0);
    		
	hi();	
}	

function hi() {
	var sb = false;
	
	var e = $('il').getElementsByTagName('input');
	for (i = 0; i < e.length; i++) {
		if (e[i].id.startsWith('i') && !e[i].checked) {
			var id = e[i].id.sub('i', '');
			$('di' + id).hide();
			sb = true;
		}
	}	
		
	var e = $('il').getElementsByClassName('catHdr');
	for (i = 0; i < e.length; i++) {
		var di = e[i].getElementsByTagName('input');
		var ah = true;

		for (j = 0; j < di.length; j++) {		
			if (di[j].id.startsWith('i') && di[j].checked) {
				ah = false;
				break;
			}
		}

		if (ah)
			e[i].hide();
	}

	$('ri').style.cssText = 'display: none;';
	if (sb)
		$('si').style.cssText = 'display: block;';
	else
		$('si').style.cssText = 'display: none;';
}
 
function postList(c) {
	var p = 'c=' + c;	
	p += gds() + gis();
	document.location = ("shoppinglist.php?" + p);
}

function gds() {
	var s = '';
	
	for (i = 0; i < 7; i++) {
		var n = 'd' + i;

		if (!$(n).checked)
			s += ('&' + n + '=1');
	}
	
	return s;
}

function gis() {
	var s = '';

	var e = $('il').getElementsByTagName('input');
	for (i = 0; i < e.length; i++) {
		if (e[i].id.startsWith('i') && !e[i].checked)
			s += ('&d' + e[i].id + '=1');
	}		
	
	return s;
}
 
function showItems() {
	var e = $('il').descendants();
	for (i = 0; i < e.length; i++)
		e[i].show();					

	$('si').style.cssText = 'display: none';
}
 
function ri(id, cat) {
	var dN = 'di' + id;
	var iN = 'i' + id;
											
	if ($(iN).checked)
		return;
	
	$(dN).hide();
	
	var e = $('il').getElementsByClassName(cat);
	var ah = true;
	for (i = 0; i < e.length; i++) {
		if (e[i].visible()) {
			ah = false;
			break;
		}
	}
	
	if (ah)
		$(cat).hide();
	   
	$('si').style.cssText = 'display: block';   
}