function doSearch(value, id)
{
	var list_element = $('product_' + id + '_adds_list');
	var list_elements = list_element.getElementsByTagName('li');
	if (value != '' && value.length >= 3) 
	{
		for (var i = 0; i < list_elements.length; i++)
		{
			var is = new Is();
 			if (is.ie) 
 			{
 				var content = list_elements[i].innerText;		
 			}
 			else
 			{
 				var content = list_elements[i].textContent;	
 			}
			if (content.toUpperCase().indexOf(value.toUpperCase()) == -1) 
			{
				list_elements[i].style.display = 'none';	
			} 
			else
			{
				list_elements[i].style.display = 'block';				
			}
		}
	}
	else
	{
		for (var i = 0; i < list_elements.length; i++)
		{
			list_elements[i].style.display = 'block';	
		}		
	}
}

function doProductSearch(value)
{
	var div_elements = document.getElementsByTagName('div');
	if (value != '' && value.length >= 3) 
	{
		for (var i = 0; i < div_elements.length; i++)
		{
			if (div_elements[i].id.indexOf('product_name') != -1)
			{
				var is = new Is();
	 			if (is.ie) 
	 			{
	 				var content = div_elements[i].innerText;		
	 			}
	 			else
	 			{
	 				var content = div_elements[i].textContent;	
	 			}
				if (content.toUpperCase().indexOf(value.toUpperCase()) == -1) 
				{
					var_element_id = 'product_' + div_elements[i].id.replace("product_name_","");
					if ($(var_element_id))
					{
						$(var_element_id).style.display = 'none';				
					}	
					var_element_id = 'not_selectable_product_' + div_elements[i].id.replace("product_name_","");
					if ($(var_element_id))
					{
						$(var_element_id).style.display = 'none';				
					}	
				} 
				else
				{
					var_element_id = 'product_' + div_elements[i].id.replace("product_name_","");
					if ($(var_element_id))
					{
						$(var_element_id).style.display = 'block';				
					}
					var_element_id = 'not_selectable_product_' + div_elements[i].id.replace("product_name_","");
					if ($(var_element_id))
					{
						$(var_element_id).style.display = 'block';				
					}	
				}
			}
		}
	}
	else
	{
		for (var i = 0; i < div_elements.length; i++)
		{
			if (div_elements[i].id.indexOf('not_selectable_product_') != -1)			
			{
				div_elements[i].style.display = 'block';	
			}
		}
		var form_products = document.getElementsByTagName('form');
		for (var i = 0; i < form_products.length; i++)
		{
			if (form_products[i].id.indexOf('product_') != -1)			
			{
				form_products[i].style.display = 'block';	
			}
		}		
	}
}

function setAdds(adds_element_id, functionId, loadingMessage, all, none, id_order)
{
	if (typeof(id_order) != 'undefined')
	{
		id_order = id_order;
	}
	else 
	{	
		id_order = '';
	}	
	
	var checkAdds = $('product_' + adds_element_id + '_adds_list').getElementsByTagName('input');
	var addsArray = new Array();
	var checked = 0;
	
	for (var i = 0; i < checkAdds.length; i++)
	{
		if (checkAdds[i].type == 'checkbox') 
		{
			if (all)
			{
				checkAdds[i].checked = true;	
			}
			if (none)
			{
				checkAdds[i].checked = false;	
			}
			if (checkAdds[i].checked)
			{
				addsArray[checked] = checkAdds[i].value; 	
				checked++;
			}
		}
	}
	stringAdds = addsArray.join(','); 	
	$('product_' + adds_element_id + '_add_ids').value = stringAdds;
	return submitString(functionId, 'opened=' + getAddStatus() + '&id_order=' + id_order + '&id=' + adds_element_id + '&ids=' + stringAdds + '&qta=' + $('product_' + adds_element_id + '_qt').value, '', loadingMessage, '');	
}

function getAddStatus()
{
	var elements = document.getElementsByTagName('div');
	var ids = new Array();
	var c = 0;
	for (var i=0; i < elements.length; i++)
	{
		if 
		(
			elements[i].id.indexOf('components_adds') != -1
			&&
			elements[i].style.display != 'none'
		)
		{
			ids[c] = elements[i].id;	
			c++;
		}	
	}
	return ids.join(',');	
}

function toggleAdds(element_cmd, element_id, show_message, hide_message) 
{
    if ($(element_id).style.display == 'none')
	{
		$(element_id).style.display = 'block';
		element_cmd.innerHTML = hide_message;
	}
	else
	{
		$(element_id).style.display = 'none';
		element_cmd.innerHTML = show_message;
	}
	return false;
} 

function setAddsIfAvailable
(
	available,
	id_order,
	id_row,
	functionId,
	loadingMessage,
	all,
	none
)	
{
	if (available == -1)
	{
		window.alert('Il prodotto o alcune aggiunte selezionate non risultano disponibili. Il sistema sta per eliminare questo prodotto dall\'ordinazione.');
		return submitString
		(
			'xajax_public_cart_remove_item', 
			'opened=' + getAddStatus() + '&id_order=' + id_order + '&id_row=' + id_row + '', 
			'', 
			'Rimozione in corso...', 
			'cart_product_' + id_row + '_btn_remove'	
		);			
	}
	else
	{
		setAdds(id_row, functionId, loadingMessage, all, none, id_order);
	}
}	

function setQtIfAvailable
(
	element,
	available,
	id_order,
	id_row
)
{
	if (element.value)
	{ 
    	if	
    	(
    		!isNaN(element.value) && 
    		parseInt(element.value, 10) > 0 && 
    		element.value.indexOf('.') == -1 && 
    		element.value.indexOf(',') == -1
    	)
    	{ 
			if (available == -1)
			{
				window.alert('Il prodotto o alcune aggiunte selezionate non risultano disponibili. Il sistema sta per eliminare questo prodotto dall\'ordinazione.');
				return submitString
				(
					'xajax_public_cart_remove_item', 
					'opened=' + getAddStatus() + '&id_order=' + id_order + '&id_row=' + id_row + '', 
					'', 
					'Rimozione in corso...', 
					'cart_product_' + id_row + '_btn_remove'	
				);			
			}
			else
			{
				return submitString('xajax_public_cart_modify_product',	'opened=' + getAddStatus() + '&id_order=' + id_order + '&id=' + id_row + '&ids=' + $('product_' + id_row + '_add_ids').value + '&qta=' + element.value, '', 'Caricamento in corso...', '');
			}			
    	}
    	else
    	{
    		window.alert('ATTENZIONE: Inserire un numero intero valido maggiore di 0.');		
    	}
	}
}	

function checkQt(value)
{
	if
	(
		isNaN(value) || 
		parseInt(value, 10) <= 0 || 
		value.indexOf('.') != -1 || 
		value.indexOf(',') != -1
	)
	{
		return false;
	}
	else
	{
		return true;
	}
}	
				                        		
