function trim(aString) 
{
	var regExpBeginning = /^\s+/;
	var regExpEnd = /\s+$/; 
    
	return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
}

function setCoefficient(id,val)
{
	vals = trim(val).split('x');
	val = vals[0];
	coef = vals[1];
	document.getElementById('coef-'+id).value=val;
	document.getElementById('coef-'+id).setAttribute('coefficient',coef);
}

function showHide(s,id)
{
	var targets = document.getElementById('form-item-'+id).getElementsByTagName('td')[1].getElementsByTagName('span');
	
	for (var i=0, lim=targets.length; i<lim; i++)
	{
		if (!s.checked) targets[i].style.display='none';
		else targets[i].style.display='inline';
	}
}

function globalResult()
{
	var values = _('span.value');
	var lim = values.length-2;
	
	var result = 0;
	while (lim--)
	{
		result += parseInt(values[lim].innerHTML);
	}
	
	if (result>140) 
	{
		result=140;
		_('#header-result-add-on')[0].style.display = '';			
		_('#header-result span.value')[0].innerHTML = result;
		_('#header-result-gr span.value')[0].innerHTML = result-20;
	}
	else 
	{
		if (result<=30)
		{
			var target = _('#header-result')[0];
			if (target.style.display!='') _('#header-result-add-on')[0].style.display = (_.browser.ie)?'inline':'table-row';			
			
			_('#header-result span.value')[0].innerHTML = '0 à 30';
			_('#header-result-gr span.value')[0].innerHTML = '0 à 30';
		}
		else
		{
			_('#header-result-add-on')[0].style.display = '';
			_('#header-result span.value')[0].innerHTML = result;
			_('#header-result-gr span.value')[0].innerHTML = result-20;
		}
	}
}

function affectValue(obj,show_all)
{
	var val;
	
	if (obj.tagName.toLowerCase()=='select')
		val = (obj.options[obj.selectedIndex]).value;
	else val = obj.value;
		
	var trs = _('#fertimais tr');
		
	var citem;
	for (var i=0, lim=trs.length; i<lim; i++)
	{
		if (trs[i]==obj.parentNode.parentNode.parentNode) break;
		citem = trs[i];
	}
	
	if (citem) 
	{
		var span = _('span.value',citem);
		
		if (val=='hider') 
		{
			span[0].innerHTML=0;
			displayNext(obj,true);
		}
		else
		{
			span[0].innerHTML=val;
			if (show_all!=null) displayNext(obj,false,show_all);
			else displayNext(obj);
		}
	}
	
	globalResult();
}

function affectNumber(sourceNode,domNode)
{
	var val = sourceNode.value;
	if (isNaN(val) || val<0) val=0; 
	
	domNode.value=-val;
	sourceNode.value=val; 
}

function highLightInput(domNode)
{
	domNode.disabled=false;
		
	var color$ = function(color)
	{
		function tmp(index)
		{
			return color.charAt(index);
		};
		
		color = color.substring(1);
		if(color.length == 3) color = tmp(0) + tmp(0) + tmp(1) + tmp(1) + tmp(2) + tmp(2);
		
		return [parseInt(tmp(0) + tmp(1), 16), parseInt(tmp(2) + tmp(3), 16), parseInt(tmp(4) + tmp(5), 16)];
	};

	var $color = function(color)
	{
		function tmp(index)
		{
			var	tmp = color[index].toString(16);
			return tmp.length == 1 ? "0" + tmp : tmp;
		};
		
		return "#" + tmp(0) + tmp(1) + tmp(2);
	};

	var $end = function(x, y, speed)
	{
		return x < y ? Math.min(x + speed, y) : Math.max(x - speed, y);
	};
	
	// animation
	var start = '#FF0000';
	var end = '#FFFFFF';
	
	end = color$(end);
	clearInterval(window.color);
	window.color = setInterval(function()
	{
		var	color = color$(start), index = 3;
		while(index--) color[index] = $end(color[index], end[index], 4);
		domNode.style.backgroundColor = start = $color(color);
		
		if("" + color == "" + end) 
		{
			domNode.focus();
			if (isNaN(domNode.value)) domNode.value='';
			domNode.click();
			clearInterval(window.color);
		}
	}, 1);
}

function calculateAndAffectValue()
{
	var checks = _('.check-container input:checked',document,true);
	var lim = checks.length;
	
	var value=0;
	while (lim--)
	{
		var items = _('input[type=text]',checks[lim].parentNode.parentNode.parentNode);
		
		if (!isNaN(items[0].value) && !isNaN(items[1].value) && items[0].value>0 && items[1].value>0) 
			value -= (items[0].value*items[1].value*items[0].getAttribute('coefficient'));
	}
	
	value = Math.round(value);
	
	var rep = checks[0].parentNode.parentNode.parentNode;
	while (!rep.className || rep.className!='header') rep = rep.previousSibling;
	
	_('span.value',rep)[0].innerHTML = value;
	
	globalResult();
}

function displayNext(obj,hider,showr)
{
	var trs = _('#fertimais tbody tr');
	var lim = trs.length;
	
	while (lim--)
	{
		if (lim-1>=0 && trs[lim-1]==obj.parentNode.parentNode.parentNode) break;
	}
	
	if (hider || showr) 
	{
		var i=lim;
		lim = trs.length;
		while (i<lim) 
		{
			if (hider) trs[i].style.display='none';
			else 
			{
				if (_.browser.ie) trs[i].style.display='inline';
				else trs[i].style.display='table-row';
			}
			i++;
		}
	}
	else
	{
		if (lim>0)
		{
			if (_.browser.ie)
			{	
				trs[lim].style.display='inline';
				trs[lim+1].style.display='inline';
			}
			else
			{
				trs[lim].style.display='table-row';
				trs[lim+1].style.display='table-row';
			}
		}
	}
}

_.ready(function()
{
	var trs = _('#fertimais tbody tr');
	
	if (_.browser.ie)
	{
		trs[0].style.display='inline';
		trs[1].style.display='inline';
	}
	else
	{
		trs[0].style.display='table-row';
		trs[1].style.display='table-row';
	}
	
	//_('#header-corr span.value')[0].innerHTML='10';
});