function dims_openwin(url,w,h)
{
	dimswin=window.open(url,'dimswin','width='+w+', height='+h+', status=no, menubar=no, toolbar=no, scrollbars=yes, resizable=yes, screenY=20, screenX=20');
	dimswin.moveTo((screen.width-w)/2,(screen.height-(h+60))/2);
	dimswin.focus();
}


function dims_confirmform(form, message)
{
	if (confirm(message)) form.submit();
}

function dims_confirmlink(link, message)
{
	if (confirm(message)) location.href=link;
}


function dims_switchstyle(obj, opacity)
{
	obj.style.filter='alpha(opacity:'+(opacity)+')';
	obj.style.MozOpacity = opacity/100;
}

function dims_validatefield(field_label, field_object, field_type)
{
	var ok = true;
	var i;
	var nbpoint = 0;
	var msg = new String();
	var reg = new RegExp("<FIELD_LABEL>","gi");

	field_value = field_object.value;

	if (field_type == 'email')
	{

		var email = field_value;
		var aroba = email.indexOf("@");

		if (aroba == -1)
		{
			ok = false;
			msg = lstmsg[0];
		}

		if (ok)
		{
			var point = email.indexOf(".", aroba);
			if ((point == -1) || (point == (aroba + 1)))
			{
				ok=false;
				msg = lstmsg[1];
			}
		}

		if (ok)
		{
			var point = email.lastIndexOf(".");
			if ((point + 1) == email.length)
			{
				ok = false;
				msg = lstmsg[2];
			}
		}

		if (ok)
		{
			point = email.indexOf("..")
			if (point != -1)
			{
				ok = false;
				msg = lstmsg[3];
			}
		}
	}

	if (field_type == 'string')
	{
		if (field_value.length==0)
		{
			ok = false;
			msg = lstmsg[4];
		}
	}

	if (field_type == 'int')
	{
		if (field_value.length==0 || field_value.length>12) ok = false;
		for (i=0;i<field_value.length;i++)
		{
			if (field_value.charAt(i)<'0' || field_value.charAt(i)>'9') ok = false;
		}
		if (!ok) msg = lstmsg[5];
	}

	if (field_type == 'float')
	{
		if (field_value.length==0) ok = false;
		for (i=0;i<field_value.length;i++)
		{
			if (field_value.charAt(i)=='.') nbpoint++;
			if (field_value.charAt(i)<'0' || field_value.charAt(i)>'9') ok = false;
		}
		if (nbpoint>1) ok = false;

		if (!ok) msg = lstmsg[6];
	}

	if (field_type == 'date')
	{
		if (field_value.length!=10) ok = false;
		else
		{
			j=field_value.substring(0,2);
			m=field_value.substring(3,5);
			a=field_value.substring(6,10);

			madate=new Date(a,m,j);
			if (madate=="NaN" || field_value.charAt(2)!='/' || field_value.charAt(5)!='/') ok = false;
		}
		if (!ok) msg = lstmsg[7];
	}

	if (field_type == 'time')
	{
		if (field_value.length!=5) ok = false;
		else
		{
			h=field_value.substring(0,2);
			m=field_value.substring(3,5);
			if (parseInt(h)<0 || parseInt(h)>23) ok = false;
			if (parseInt(m)<0 || parseInt(m)>59) ok = false;
			madate=new Date(01,01,2000,h,m);
			if (madate=="NaN" || field_value.charAt(2)!=':') ok = false;
		}
		if (!ok) msg = lstmsg[8];
	}

	if (field_type=='emptydate')
	{
		if (field_value.length!=0)
		{
			if (field_value.length!=10) ok = false;
			else
			{
				j=field_value.substring(0,2);
				m=field_value.substring(3,5);
				a=field_value.substring(6,10);
				madate=new Date(a,m,j);
				if (madate=="NaN" || field_value.charAt(2)!='/' || field_value.charAt(5)!='/') ok = false;
			}
			if (!ok) msg = lstmsg[7];
		}
	}

	if (field_type=='emptytime')
	{
		if (field_value.length!=0)
		{
			if (field_value.length!=5) ok = false;
			else
			{
				h=field_value.substring(0,2);
				m=field_value.substring(3,5);
				if (parseInt(h)<0 || parseInt(h)>23) ok = false;
				if (parseInt(m)<0 || parseInt(m)>59) ok = false;
				madate=new Date(01,01,2000,h,m);
				if (madate=="NaN" || field_value.charAt(2)!=':') ok = false;
			}
			if (!ok) msg = lstmsg[8];
		}
	}

	if (!ok)
	{
		alert(msg.replace(reg,field_label));
		field_object.style.background = error_bgcolor;
		field_object.focus();
	}

	return (ok);
}

var	timer_started = false;
var popup_displayed = false;
var	posx = 0;
var	posy = 0;
var	msg = 'empty';

function dims_showpopup_delayed(w)
{
	if (timer_started)
	{
		w = parseInt(w);
		var dims_popup = (document.getElementById) ? document.getElementById('dims_popup') : eval("document.all['dims_popup']");

		with (dims_popup.style)
		{
			if (visibility != 'visible')
			{
				dims_popup.innerHTML = msg;
				left = parseInt(posx) + 20;
				top = parseInt(posy) + 20;
				if (w > 0) dims_popup.style.width = w;
				else w = parseInt(dims_popup.offsetWidth);

				if (20 + w + parseInt(dims_popup.style.left) > parseInt(document.body.offsetWidth))
				{
					dims_popup.style.left = parseInt(dims_popup.style.left) - w - 40;
				}
				display = 'block';
				visibility = 'visible';
			}
			else
			{
				left = parseInt(posx) + 20;
				top = parseInt(posy) + 20;
				if (w > 0) dims_popup.style.width = w;
				else w = parseInt(dims_popup.offsetWidth);

				if (20 + w + parseInt(dims_popup.style.left) > parseInt(document.body.offsetWidth))
				{
					dims_popup.style.left = parseInt(dims_popup.style.left) - w - 40;
				}
			}
		}

		popup_displayed = true;
	}
}

function dims_showpopup(message, w, e, origine)
{
	msg = message;
	if (w == '') w = 200;

	if (!origine) var origine = '';

	if (!e) var e = window.event;

	if (e.pageX || e.pageY)	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) {
		posx = e.clientX + document.body.scrollLeft;
		posy = e.clientY + document.body.scrollTop;
	}

	if (origine == 'click')
	{
		timer_started = true;
		dims_showpopup_delayed(w);
	}
	else
	{
		if (!timer_started)
		{
			timer_started = true;
			setTimeout("dims_showpopup_delayed("+w+")", 1000*timerdelay);
		}

		if (popup_displayed) dims_showpopup_delayed(w);
	}

}

function dims_movepopup(e)
{
	if (!e) var e = window.event;

	if (e.pageX || e.pageY)	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) {
		posx = e.clientX + document.body.scrollLeft;
		posy = e.clientY + document.body.scrollTop;
	}

	if (popup_displayed) dims_showpopup_delayed(0);
}

function dims_hidepopup()
{
	timer_started = false;
	popup_displayed = false;

	var dims_popup = (document.getElementById) ? document.getElementById('dims_popup') : eval("document.all['dims_popup']");
	dims_popup.innerHTML = '';
	with (dims_popup.style)
	{
		display = 'none';
		visibility = 'hidden';
	}
}
