var bWebDialog = false;
var bDialogVisible = false;
var bFading = false;
var mouseX=-1;
var mouseY=-1;
var thisX=-1;
var thisY=-1;
var iOpacity = 0;
var iTrigger = 10;	// Aantal pixels dat de muis moet bewegen of aantal seconden dat er moet gewacht worden om de dialoog te verbergen
var maxOpacity = 90;
var bTriggerMouse = false;

/*
In de properties van de page:

HTML Header:
	<link rel="stylesheet" href="http://gm.emsecure.net/images/messagent.css">
	<script language="javascript" type="text/javascript" src="http://pad.naar.site/messagent.js"></script>
	<style type="text/css">
		.error input, .error select, .error textarea {
			border:1px solid red;
		}
		.error select {
			background-color:#FF9999;
		}
		.error td {
			color:red;
			font-weight:bold;
		}
		ul {
			margin:0;
			margin-left:20px;
			padding-left:40px;
		}
	</style>	
	
BODY attributes:
	 onload="ParseErrors('~DATA_ERROR~')"
	 

MESSAGE source:

	Kader met foutmeldingen:
	
	<DIV id=MASECTION contentEditable=true MACONSTRAINT="DATA_ERROR<>''" MAPARAMETER="">
		<table width="600" border="0" cellspacing="0" cellpadding="0">
		  <tr>
			<td width="8" height="8"><img src="http://gm.emsecure.net/images/boxcorner_FF0000_white.gif" width="8" height="8"></td>
			<td style="border-top:1px solid #FF0000; border-right:1px solid #FF0000;"><img src="http://www.opel.be/images/spacer.gif" width="1" height="1"></td>
		  </tr>
		  <tr>
			<td style="border-left:1px solid #FF0000; border-bottom:1px solid #FF0000;"><img src="http://www.opel.be/images/spacer.gif" width="1" height="1"></td>
			<td style="border-right:1px solid #FF0000; border-bottom:1px solid #FF0000; padding-bottom:10px;"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
			  <tr>
				<td style="color:#FF0000"><img src="http://gm.emsecure.net/optireport/images/warning.gif" alt="Fout" width="16" height="16" align="absmiddle" /> Er zijn fouten opgetreden. Gelieve de velden met de rode rand na te kijken.<br />
				<span id="customErrors"></span></td>
			  </tr>
			</table></td>
		  </tr>
		</table>
		<br>
	</DIV>

	Bij de validatie heeft ekle validatie als foutmelding de veldnaam.
	Indien er meer info gegeven moet worden bij een foutmelding die specifiek op 1 of meerdere veld slaat, dan is de foutmelding "VELDNAAM|beschrijvende tekst" of "VELDNAAM1|VELDNAAM2|VELDNAAM3|beschrijvende tekst".
	Heeft de foutmelding betrekking op meerdere velden tegelijkertijd, dan wordt er enkel een beschrijvende tekst gezet. Deze verschijnt dan bovenaan.
*/

// === Afhandeling van errors ============================ 
function findRow(elementName)
{
	var x = document.getElementById(elementName);
	if(!x)
		return;
	while(x.tagName.toUpperCase()!="TR" && x.tagName.toUpperCase()!="BODY")
		x = x.parentNode;
	return x;
}
function ParseErrors(strError)
{
	//alert(strError);
	var errStr = "";
	if(strError!="")
	{
		strError = strError.replace("'","&acute;");
		var names = strError.split("<BR>");
		for(i=0;i<names.length-1;i++)
		{
			if(names[i]!="")
			{
				var x = findRow(names[i]);
				if(x)
				{
					x.className="error";
					var el = document.getElementById(names[i]);
					if(el.type=="radio" || el.type=="checkbox") el.style.borderWidth=0;
				}
				else
				{
					if(names[i].indexOf("|")>0)
					{
						var arr = names[i].split("|");
						for(j=0;j<arr.length-1;j++)
						{
							//alert(arr[j]);
							el = findRow(arr[j]);
							if(el)
							{
								//--- Veld ----------------------------------------------
								var field = document.getElementById(arr[j]);
								field.title = arr[arr.length-1];
								if(field.type=="radio" || field.type=="checkbox") field.style.borderWidth=0;
								//--- TabelRij ------------------------------------------
								el.title = arr[arr.length-1];
								el.className="error";
							}
						}
						errStr += "<li>"+arr[arr.length-1]+"</li>";
					}
					else
						errStr += "<li>"+names[i]+"</li>";
				}
			}
		}
		if(errStr!="" && (bWebDialog || document.getElementById("customErrors")))
			if(bWebDialog)
			{
				document.write(CreateDialog(errStr));
				if(bTriggerMouse) 
					AttachEvent();
				else
					setTimeout("hideDialog()", iTrigger*1000);
				bDialogVisible = true;
				showDialog();
			}
			else
				document.getElementById("customErrors").innerHTML = "<ul style='margin-left:17px' class='OptzUl'>"+errStr+"</ul>";
	}
}
