/**
 * bl_product_toevoegen
 *
 * @param integer id
 * @param string omschrijving
 * @param string prijs
 */
function bl_product_toevoegen(id, omschrijving, prijs) {

	var bl_aanbiedingen = 	readCookie('bl_aanbiedingen');
	var bl_recepten = 		readCookie('bl_recepten');
	var bl_eigen = 			readCookie('bl_eigen');
	
	// Controleer of de cookies al bestaan, zo niet, maak ze dan aan.
	
	if (omschrijving != '') {
		if (bl_aanbiedingen == null) {
			bl_aanbiedingen = '';
		}
		
		if (bl_recepten == null) {
			bl_recepten = '';
		}
		
		if (bl_eigen == null) {
			bl_eigen = '';
		}
		
		if (id == null) {
	
			// Het is geen product van de aanbiedingenpagina maar een eigen product
			if (bl_eigen.length > 0) {
				bl_eigen += '#';
			}
			
			bl_eigen += omschrijving;
			
		} else {
	
			var r = new RegExp('^' + id + '`|#' + id + '`');
			
			if (!r.test(bl_aanbiedingen)) {
			
				// Het is een product van de aanbiedingenpagina
				if (bl_aanbiedingen.length > 0) {
					bl_aanbiedingen += '#';
				}
				
				bl_aanbiedingen += id + '`' + omschrijving + '`' + prijs;
		
				var aanbieding_div = document.getElementById('aanbieding_' + id);
				
				var divs = aanbieding_div.getElementsByTagName('div');
				
				for (var i = 0; i < divs.length; i++) {
					
					if (divs[i].className == 'aanbieding_voeg_toe') {
						
						divs[i].className = 'aanbieding_toegevoegd';
						divs[i].innerHTML = 'toegevoegd';
						
					}
				}
			}
		}
		
		var d = new Date();
		var bl_datum = d.getFullYear() + '-' + d.getMonth() + '-' + d.getDate() + '-' + d.getHours() + '-' + d.getMinutes() + '-' + d.getSeconds();
		createCookie('bl_datum', bl_datum, 14);		
		
		createCookie('bl_aanbiedingen', bl_aanbiedingen, 14);
		createCookie('bl_recepten', bl_recepten, 14);
		createCookie('bl_eigen', bl_eigen, 14);

		
		toon_boodschappenlijstje();
	}
}

/**
 * verwijder_aanbieding_product
 * 
 * @param string c (cookie)
 * @param integer index
 */
function bl_verwijder_aanbieding_product(c, index) {

	var producten = c.split('#');
	var producten_new = new Array();
	
	for (var i = 0; i < producten.length; i++) {
		if (i != index) {
			producten_new[producten_new.length] = producten[i];
		} else {
			
			var product_details = producten[i].split('`');
			var id = product_details[0];
			
			var aanbieding_div = document.getElementById('aanbieding_' + id);
			
			if (aanbieding_div) {
			
				var aanbieding_divs = aanbieding_div.getElementsByTagName('div');
	
				for (var j = 0; j < aanbieding_divs.length; j++) {
					
					if (aanbieding_divs[j].className == 'aanbieding_toegevoegd') {
						aanbieding_divs[j].className = 'aanbieding_voeg_toe';
						aanbieding_divs[j].innerHTML = 'voeg toe';
					}
				}
			}
		}
	}
	
	var d = new Date();
	var bl_datum = d.getFullYear() + '-' + d.getMonth() + '-' + d.getDate() + '-' + d.getHours() + '-' + d.getMinutes() + '-' + d.getSeconds();
	createCookie('bl_datum', bl_datum, 14);		

	var bl_aanbiedingen = producten_new.join('#');
	createCookie('bl_aanbiedingen', bl_aanbiedingen, 14);
}

/**
 * bl_verwijder_recept
 *
 * @param string c (cookie)
 * @param integer index
 */
function bl_verwijder_recept(c, index) {
	
	var recepten = c.split("#");
	var recepten_new = new Array();
	
	for (var i = 0; i < recepten.length; i++) {
		if (i != index) {
			recepten_new[recepten_new.length] = recepten[i];
		}
	}

	var d = new Date();
	var bl_datum = d.getFullYear() + '-' + d.getMonth() + '-' + d.getDate() + '-' + d.getHours() + '-' + d.getMinutes() + '-' + d.getSeconds();
	createCookie('bl_datum', bl_datum, 14);		
	
	var bl_recepten = recepten_new.join("#");
	createCookie('bl_recepten', bl_recepten, 14);
}

/**
 * bl_verwijder_eigen_product
 * @param string c (cookie)
 * @param integer index
 */
function bl_verwijder_eigen_product(c, index) {
	var producten = c.split('#');
	var producten_new = new Array();

	for (var i = 0; i < producten.length; i++) {
		if (i != index) {
			producten_new[producten_new.length] = producten[i];
		}
	}
	
	var d = new Date();
	var bl_datum = d.getFullYear() + '-' + d.getMonth() + '-' + d.getDate() + '-' + d.getHours() + '-' + d.getMinutes() + '-' + d.getSeconds();
	createCookie('bl_datum', bl_datum, 14);		

	var bl_eigen = producten_new.join('#');
	createCookie('bl_eigen', bl_eigen, 14);
}

/**
 * bl_product_verwijderen
 * @param integer id
 * @param string cookie
 */
function bl_product_verwijderen(id, cookie) {

	var c = readCookie(cookie);

	switch(cookie) {
		case 'bl_aanbiedingen':
			bl_verwijder_aanbieding_product(c, id);
			break;
		case 'bl_recepten':
			bl_verwijder_recept(c, id);
			break;
		case 'bl_eigen':
			bl_verwijder_eigen_product(c, id);
			break;
	}
	
	toon_boodschappenlijstje();
}

/**
 * bl_recept_toevoegen
 *
 * @param recept_id
 * @param recept
 */
function bl_recept_toevoegen(recept_id, recept) {

	
	var bl_recepten = readCookie('bl_recepten');
	
	var r = new RegExp('^' + recept_id + '~|#' + recept_id + '~');
	
	if (!r.test(bl_recepten)) {
	
		if (bl_recepten == null || bl_recepten == '') {
			bl_recepten = '';
		} else {
			bl_recepten += '#';
		}
		
		bl_recepten += recept_id + '~' + recept;
	}
	
	var d = new Date();
	var bl_datum = d.getFullYear() + '-' + d.getMonth() + '-' + d.getDate() + '-' + d.getHours() + '-' + d.getMinutes() + '-' + d.getSeconds();
	createCookie('bl_datum', bl_datum, 14);		
	
	createCookie('bl_recepten', bl_recepten, 14);
	
	toon_boodschappenlijstje();
}

/**
 * bl_wissen
 *
 * @param string cookie
 */
function bl_wissen(cookie) {

	if (cookie != null) {
		eraseCookie(cookie);
	} else {
		eraseCookie('bl_aanbiedingen');
		eraseCookie('bl_recepten');
		eraseCookie('bl_eigne');
	}
}

function toon_boodschappenlijstje() {
	
	var bl_div = document.getElementById('boodschappenlijstje_container');
	
	var bl_datum = 			readCookie('bl_datum');
	var bl_aanbiedingen = 	readCookie('bl_aanbiedingen');
	var bl_recepten = 		readCookie('bl_recepten');
	var bl_eigen = 			readCookie('bl_eigen');

	if (bl_aanbiedingen == null) {
		bl_aanbiedingen = '';
	}
	
	if (bl_recepten == null) {
		bl_recepten = '';
	}
	
	if (bl_eigen == null) {
		bl_eigen = '';
	}

	// Bepaal of de prijzen in de cookies gewist moeten worden.
	var d = new Date();
	
	var max_seconden = ((d.getDay() * 24 + d.getHours() + 27) * 60 + d.getMinutes()) * 60 + d.getSeconds();

	if (bl_datum != null) {
		
		bl_datum_elementen = bl_datum.split('-');
		
		var bl_datum_d = new Date();
		
		bl_datum_d.setFullYear(bl_datum_elementen[0]);
		bl_datum_d.setMonth(bl_datum_elementen[1]);
		bl_datum_d.setDate(bl_datum_elementen[2]);
		bl_datum_d.setHours(bl_datum_elementen[3]);
		bl_datum_d.setMinutes(bl_datum_elementen[4]);
		bl_datum_d.setSeconds(bl_datum_elementen[5]);
		
		if ((d - bl_datum_d) / 1000 > max_seconden) {
			var prijzen_wissen = true;
			
			var producten_strings = bl_aanbiedingen.split("#");
			
			for (i = 0; i < producten_strings.length; i++) {
				
				var product = producten_strings[i].split('`');
				producten_strings[i] = product[0] + '`' + product[1] + '`';
			}

			var d = new Date();
			var bl_datum = d.getFullYear() + '-' + d.getMonth() + '-' + d.getDate() + '-' + d.getHours() + '-' + d.getMinutes() + '-' + d.getSeconds();
			createCookie('bl_datum', bl_datum, 14);		
			
			bl_aanbiedingen = producten_strings.join("#");
			createCookie('bl_aanbiedingen', bl_aanbiedingen, 14);

		} else {
			
			var prijzen_wissen = false;
			
		}
	}
	
	
	var bl_aanbiedingen_div = document.getElementById('bl_aanbiedingen_div');
	var h6_aanbiedingen = document.getElementById('h6_aanbiedingen');
	
	// Wis het lijstje.
	bl_aanbiedingen_div.innerHTML = '';
	
	
	// Zijn er aanbiedingen die op het lijstje mogen?
	if (bl_aanbiedingen.length > 0) {
		
		// Bouw het lijstje opnieuw op.
		
		var table = document.createElement('table');
		
		var tbody = document.createElement('tbody');
		
		var producten_strings = bl_aanbiedingen.split('#');
		
		for (var i = 0; i < producten_strings.length; i++) {
			
			var product = producten_strings[i].split('`');
			
			var tr = document.createElement('tr');

			var td_titel = document.createElement('td');
			
			td_titel.innerHTML = product[1];
			
			var td_prijs = document.createElement('td');

			td_prijs.className = 'prijs';
			
			if (prijzen_wissen) {
				td_prijs.innerHTML = '';
			} else {
				td_prijs.innerHTML = product[2];
			}
			
			var td_trash = document.createElement('td');
			
			td_trash.className = 'trash';
		
			td_trash.innerHTML = '<img src="images/verwijderen.gif" alt="verwijderen" />';
			td_trash.product_index = i;
			
			td_trash.onclick = function() {
				bl_product_verwijderen(this.product_index, 'bl_aanbiedingen');
			}
			
			tr.appendChild(td_titel);
			tr.appendChild(td_prijs);
			tr.appendChild(td_trash);
			
			tbody.appendChild(tr);
		}
		
		table.appendChild(tbody);
		
		bl_aanbiedingen_div.appendChild(table);
		
		h6_aanbiedingen.style.display = 'inline';
		bl_aanbiedingen_div.style.display = 'block';
		
	} else {
		
		h6_aanbiedingen.style.display = 'none';
		bl_aanbiedingen_div.style.display = 'none';
		
	}

	var bl_recepten_div = document.getElementById('bl_recepten_div');
	var h6_recepten = document.getElementById('h6_recepten');
	
	bl_recepten_div.innerHTML = '';
	
	if (bl_recepten.length > 0) {
		
		h6_recepten.style.display = 'inline';
		bl_recepten_div.style.display = 'block';
		
		var table = document.createElement('table');
		var tbody = document.createElement('tbody');
		
		var recepten_strings = bl_recepten.split("#");
		
		for (var i = 0; i < recepten_strings.length; i++) {

			var recept_elementen = recepten_strings[i].split('~');
			
			var tr = document.createElement('tr');
			var th_titel = document.createElement('th');
			th_titel.setAttribute('colspan', '3');
			th_titel.className = 'recept_titel';
			th_titel.innerHTML = recept_elementen[1];
			tr.appendChild(th_titel);
			
			var th_trash = document.createElement('th');
			th_trash.className = 'trash';
			th_trash.innerHTML = '<img src="images/verwijderen.gif" alt="verwijderen" />';
			th_trash.product_index = i;
			
			th_trash.onclick = function() {
				bl_product_verwijderen(this.product_index, 'bl_recepten');
			}
			
			tr.appendChild(th_trash);
			
			tbody.appendChild(tr);
			
			var recept_producten = recept_elementen[2].split('`');
			
			for (j = 0; j < recept_producten.length; j++) {
				
				var tr = document.createElement('tr');
				
				var td_titel = document.createElement('td');
				td_titel.innerHTML = recept_producten[j];
				
				var td_prijs = document.createElement('td');
				td_prijs.className = 'prijs';
				td_prijs.innerHTML = '';
				
				var td_trash = document.createElement('td');
				
				tr.appendChild(td_titel);
				tr.appendChild(td_prijs);
				tr.appendChild(td_trash);
				
				tbody.appendChild(tr);
			}
			
			table.appendChild(tbody);
			
			bl_recepten_div.appendChild(table);

		}
		
	} else {
		
		h6_recepten.style.display = 'none';
		bl_recepten_div.style.display = 'none';
	}
	
	var bl_eigen_div = document.getElementById('bl_eigen_div');
	var h6_eigen = document.getElementById('h6_eigen');
	
	// Wis het lijstje
	bl_eigen_div.innerHTML = '';

	// Zijn er eigen producten die op het lijstje mogen?
	if (bl_eigen.length > 0) {
		
		// Bouw het lijstje opnieuw op.
		var table = document.createElement('table');
		
		var tbody = document.createElement('tbody');
		
		var producten_strings = bl_eigen.split('#');
		
		for (var i = 0; i < producten_strings.length; i++) {
			
			var product = producten_strings[i].split('`');
			
			var tr = document.createElement('tr');

			var td_titel = document.createElement('td');
			
			td_titel.innerHTML = product[0];
			
			var td_prijs = document.createElement('td');
			td_prijs.className = 'prijs';
			
			td_prijs.innerHTML = ''; // Geen prijs bij eigen producten
			
			var td_trash = document.createElement('td');
			
			td_trash.className = 'trash';
			td_trash.innerHTML = '<img src="images/verwijderen.gif" alt="verwijderen" />';
			td_trash.product_index = i;
			
			td_trash.onclick = function() {
				bl_product_verwijderen(this.product_index, 'bl_eigen');
			}
			
			tr.appendChild(td_titel);
			tr.appendChild(td_prijs);
			tr.appendChild(td_trash);
			
			tbody.appendChild(tr);
		}
		
		table.appendChild(tbody);
		
		bl_eigen_div.appendChild(table);
		
	} 
	
	// Maak het boodschappenlijstje zichtbaar
	bl_div.style.display = 'block';

}
