function showHideArea( areaId, img, imgShowURL, imgHideURL )
{
	var area	= document.getElementById( areaId );
	var display = "";

	if( area && img )
	{
		if( area.style.display == "none" )
		{
			//Show
			display = "block";
			img.src = imgHideURL;
		}
		else
		{
			//Hide
			display = "none";
			img.src = imgShowURL;
		}
		area.filters[0].Apply(); 
		area.filters[0].Play(); 
		area.style.display = display;
	}
}

function showHideAreaResult( areaId, img, imgShowURL, imgHideURL )
{
	var area = document.getElementById( "result" + areaId );
	var ico	 = document.getElementById( "img" + areaId );
	if( area && img && ico )
	{
		if( area.style.display == "none" )
		{
			//Show
			area.style.display = "block";
			//ico.style.display  = "block";
			img.src = imgHideURL;
		}
		else
		{
			//Hide
			area.style.display = "none";
			//ico.style.display  = "none";
			img.src = imgShowURL;
		}
	}
}


function msgBox( msgBoxId )
{
	this.ErrorMsg	= false;
	this.Mensagem	= "";
	this.ID			= msgBoxId;
}

msgBox.prototype.Display = function( display )
{
	var area	= document.getElementById( this.ID );
	var msg		= document.getElementById( "dvMsg" + this.ID );
	var title	= document.getElementById( "dvMsgTitle" + this.ID );
	if( area && msg && title )
	{
		var corDefault		= msg.getAttribute("defaultColor");
		var corErro			= msg.getAttribute("errorColor");
		var titleDefault	= title.getAttribute("defaultTitle");
		var titleErro		= title.getAttribute("errTitle");

		msg.innerHTML		= this.Mensagem;
		msg.style.color		= (this.ErrorMsg)?corErro:corDefault;
		title.innerHTML		= (this.ErrorMsg)?titleErro:titleDefault;

		area.style.display = (display)?"block":"none";
	}
}

function openPopUp( url, parameter )
{
	return window.showModalDialog( url, parameter, "dialogWidth:600px; dialogHeight:370px;center:yes;resizable:no;status=no;help:no;close:no;scroll:no" );
}

function openPopUpMensagem( url, parameter )
{
	return window.showModalDialog( url, parameter, "dialogWidth:700px; dialogHeight:400px;" );
}


function lockComboObject()
{
	var obj = event.srcElement;
	var vlr = obj.getAttribute("valor");
	if( vlr != null )
		obj.value = vlr;

	return false;
}


function lockCheckBoxObject()
{
	var obj = event.srcElement;
	var vlr = obj.getAttribute("Marcado");
	if( vlr != null )
		obj.checked = (vlr == "true");

	return false;
}

function FindControlInControl(ParentControl, ControlId)
{
	var ret = null;
	
	if( ParentControl.children.length > 0 )
	{
		for( var i=0; i < ParentControl.children.length; i++ )
		{
			if( ParentControl.children[i].id == ControlId )
			{
				ret = ParentControl.children[i];
				break;
			}
			else if( ParentControl.children[i].children.length > 0 )
			{
				ret = FindControlInControl( ParentControl.children[i], ControlId );
				if( ret != null )
					break;
			}
		}
	}
	else
	{
		if( ParentControl.id == ControlId )
			ret = ParentControl;
	}
	return ret;
}

function bloquearControles( controle, bloquear )
{
	if( controle.childNodes != null && controle.childNodes.length > 0 )
	{
		for(var i=0; i < controle.childNodes.length; i++)
		{
			var objeto = controle.childNodes[i];
			if(objeto.childNodes.length > 0)
				bloquearControles(objeto, bloquear);
			else
				bloquerControle( objeto, bloquear );
		}
	}
	else
		bloquerControle( controle, bloquear );
}

function bloquerControle( controle, bloquear )
{
	switch( controle.tagName )
	{
		case "SELECT":
			controle.setAttribute("valor", controle.value );
			if( bloquear )
			{
				controle.attachEvent("onkeypress" , lockComboObject() )
				controle.attachEvent("onmousedown", lockComboObject() )
			}
			else
			{
				controle.detachEvent("onkeypress")
				controle.detachEvent("onmousedown")
			}
			break;

		case "INPUT":
			if( controle.type == "text" || controle.type == "password" )
			{
				controle.readOnly				= bloquear;
				controle.style.backgroundColor	= "white";
			}
			else if( controle.type == "checkbox" )
			{
				controle.setAttribute("Marcado", ((controle.checked)?"true":"false") );
				if( bloquear )
				{
					controle.attachEvent("onkeypress", lockCheckBoxObject())
					controle.attachEvent("onmousedown", lockCheckBoxObject())
				}
				else
				{
					controle.detachEvent("onkeypress")
					controle.detachEvent("onmousedown")
				}
			}
			break;

		case "TEXTAREA":
			controle.readOnly = bloquear;
			break;

		case "A":
			controle.disabled = bloquear;
			break;

		case "IMG":
			controle.disabled = bloquear;
			controle.style.filter = (bloquear)?"gray":"none";
			break;

	}
}

function limparControles( controle )
{
	if( controle.childNodes != null && controle.childNodes.length > 0 )
	{
		for(var i=0; i < controle.childNodes.length; i++)
		{
			var objeto = controle.childNodes[i];
			if(objeto.childNodes.length > 0)
				limparControles( objeto );
			else
				limparControle( objeto );
		}
	}
	else
		limparControle( controle );
}

function limparControle( controle )
{
	switch( controle.tagName )
	{
		case "SELECT":
			controle.setAttribute("valor", controle.value );
			controle.value = "";
			break;

		case "INPUT":
			if( controle.type == "text" || controle.type == "password" )
				controle.value = "";
			
			else if( controle.type == "checkbox" )
				controle.checked = false;
			break;

		case "TEXTAREA":
			controle.value = "";
			break;
	}
}

