var advices=new Array();

function adviceHide(name)
{
	if (document.getElementById('advice' + name))
		document.body.removeChild(document.getElementById('advice' + name));
}

function adviceShow(name)
{
	var div=document.createElement('div');
	var pos=getPosition(document.getElementById('valid_' + name));
	div.id="advice" + name;
	div.setAttribute('id', "advice" + name);
	div.style.position="absolute";
	div.style.left=(pos.x + 30) + "px";
	div.style.top=(pos.y) + "px";
	div.style.border="1px solid #000000";
	div.style.width="250px";
	div.style.padding="5px";
	div.style.textAlign="center";
	div.appendChild(document.createTextNode(advices[name]));
	document.body.appendChild(div);
}

function clearElement(element)
{
	if (element.firstChild)
		while (element.firstChild)
			element.removeChild(element.firstChild);
}

function changeSelection(form, mode)
{
	var inputs=form.elements;
	for ( i=0 ; i<inputs.length ; ++i )
		if (inputs[i].type=="checkbox")
		{
			if (inputs[i].checked && (mode=="invert" || mode=="none"))
			{
				inputs[i].onchange();
				inputs[i].checked=false;
			}
			else if (!inputs[i].checked && (mode=="invert" || mode=="all"))
			{
				inputs[i].onchange();
				inputs[i].checked=true;
			}
		}
}

function getPosition(e)
{
        var left=0;
        var top=0;
        do
        {
        	left+=e.offsetLeft;
        	top+=e.offsetTop;
        } while (e=e.offsetParent)

        return {x:left, y:top};
}

function smile(name, value, text)
{
	if (value==-1)
		return;
	img=document.createElement('img');
	if (value==1)
		img.src="http://dev.cenus.eu/theme/default/img/icon/ok.gif";
	else
		img.src="http://dev.cenus.eu/theme/default/img/icon/error.gif";
	advices[name]=text;
	img.setAttribute('onMouseOut', 'adviceHide("' + name + '");');
	img.setAttribute('onMouseOver', 'adviceShow("' + name + '");');
	img.onMouseOut=function() { adviceHide(name); }
	img.onMouseOver=function() { adviceShow(name); }
	clearElement(document.getElementById('valid_' + name));
	document.getElementById('valid_' + name).appendChild(img);
}

function toggleSelection(id)
{
	var selected=document.getElementById('selected').value;
	if (selected.match(',' + id + ','))
		selected=selected.replace(',' + id + ',', ',');
	else
		selected=selected + id + ',';
	document.getElementById('selected').value=selected;
	var selectedCount=selected.split(',').length-2;
	if (document.getElementById('selectedCount'))
		document.getElementById('selectedCount').innerHTML=selectedCount;
}

function toggleRowVisibility(element)
{
	if (element.style.display=='table-row' || element.style.display=='')
		element.style.display='none';
	else
		element.style.display='table-row';
	return element.style.display=='table-row';
}

function toggleVisibility(element)
{
	if (element.style.display=='block' || element.style.display=='')
		element.style.display='none';
	else
		element.style.display='block';
	return element.style.display=='block';
}

var activeCart=null;

function hideCarts(except, cards)
{
	for ( i=0 ; i<cards.length ; ++i )
		toggleVisibility(document.getElementById(cards[i]));
	showCart(except);
}

function showCart(cartName)
{
	if (activeCart)
		toggleVisibility(document.getElementById(activeCart));
	activeCart=cartName;
	toggleVisibility(document.getElementById(cartName));
}