
var mouseover_received, mouseout_received, focus_received, blur_received, change_received, click_received;
var events = ""
var lc;




function clear_flags()
{
	mouseover_received = false;
	mouseout_received = false;
	focus_received = false;
	blur_received = false;
	change_received = false;
	click_received = false;
	events = ""
}
function isValidDateInterval(txt)
{
	var ls = txt.split(";")
	if (ls.length == 1)
	{
		if (isdate(ls[0])) return true;
		else return false;
	}
	else if (ls.length == 2)
	{
		if (isdate(ls[0]) && isdate(ls[1])) return true;
		else return false;
	}	
	else return false;
}

function isValidNumberInterval(txt)
{
	var ls = txt.split(";")
	if (ls.length == 1)
	{
		if (isnumber(ls[0])) return true;
		else return false;
	}
	else if (ls.length == 2)
	{
		if (isnumber(ls[0]) && isnumber(ls[1])) return true;
		else return false;

	}	
	else return false;
}

function getflag(event)
{
	var obj;
	eval('obj = ' + event + '_received;')
	return obj;
}

function controlListBox(obj,event)
{
	var cmd = event + '_received = true;'
	events += '\n' + event;
	eval(cmd)

	if ( event == 'mouseover' ) 
	{
		if (exists(lc))	
			NormalViewCombo(lc);
		EnlargedViewCombo(obj);
		lc = obj
	}
	else if ( event == 'change' ) 
	{
		NormalViewCombo(obj);
		browseBy(document.data);
	}
	else if ( event == 'blur' ) 
	{
		NormalViewCombo(obj);
		clear_flags();
	}
	else if ( event == 'mouseout' )
		if (getflag('click'))
		{
			NormalViewCombo(obj);
		}
}


function controlTextBox(obj,event)
{
	if ( event.type == 'keypress' )
	{
		var whichCode = (window.Event) ? event.which : event.keyCode;
		if (whichCode == 13) browseBy(document.data);  
	}
}


function controlTextBoxDateInterval(obj,event)
{
	if ( event.type == 'keypress' )
	{
		var whichCode = (window.Event) ? event.which : event.keyCode;
		if (whichCode == 13)
		if ((!isvoid(obj.value)) && (!isValidDateInterval(obj.value)))
		{
				alert('Não é um intervalo válido! Por favor verifique !');
				obj.focus()
		}
		else browseBy(document.data);  
	}
}

function controlTextBoxNumberInterval(obj,event)
{
	if ( event.type == 'keypress' )
	{
		var whichCode = (window.Event) ? event.which : event.keyCode;
		if (whichCode == 13)
		if ((!isvoid(obj.value)) && (!isValidNumberInterval(obj.value)))
		{
				alert('Não é um intervalo válido! Por favor verifique !');
				obj.focus()
		}
		else browseBy(document.data);  
	}
}

