
/*
* nome:        add_blur_event
* versión:     1.0
* descripción: añadir funcións ó evento onblur dun obxecto
* entradas:
*              obj: o obxecto ó que añadir o evento
*              func: a función a añadir ó evento
* saidas:
*
*/
function add_blur_event(obj, func)
{
	var old_onblur = obj.onblur;

	if (typeof old_onblur != "function")
	{
		obj.onblur = func;
	}
	else
	{
		obj.onblur = function()
		{
			old_onblur(obj);
			func(obj);
		};
	}
}


/*
* nome:        add_focus_event
* versión:     1.0
* descripción: añadir funcións ó evento onfocus dun obxecto
* entradas:
*              obj: o obxecto ó que añadir o evento
*              func: a función a añadir ó evento
* saidas:
*
*/
function add_focus_event(obj, func)
{
	var old_onfocus = obj.onfocus;

	if (typeof old_onfocus != "function")
	{
		obj.onfocus = func;
	}
	else
	{
		obj.onfocus = function()
		{
			old_onfocus(obj);
			func(obj);
		};
	}
}


/*
* nome:        add_load_event
* versión:     1.0
* descripción: añadir funcións ó evento onload da ventá
* orixen:      http://simon.incutio.com/archive/2004/05/26/addLoadEvent
* entradas:
*              func: a función a añadir ó evento onload
* saidas:
*
*/
function add_load_event(func)
{
	var old_onload = window.onload;

	if (typeof window.onload != "function")
	{
		window.onload = func;
	}
	else
	{
		window.onload = function()
		{
			old_onload();
			func();
		};
	}
}


/*
* nome:        ie_inputbox_focus
* versión:     1.0
* descripción: facer que en IE tamén haxa o efecto de caixa de texto activa
* entradas:
*
* saidas:
*
*/
function ie_inputbox_focus(the_type, the_class)
{
	if (navigator.userAgent.indexOf("MSIE") != -1)
	{
		var inputs = document.getElementsByTagName(the_type);
		var num_inputs = inputs.length;

		for (var i = 0; i < num_inputs; i++)
		{
			var inputbox = inputs[i];

			if (inputbox.className == the_class)
			{
				add_focus_event(inputbox, function (obj)
				{
					if (!obj || (obj.type && obj.type == "focus"))
					{
						var obj = this;
					}

					obj.className = the_class + " focus";
				});

				add_blur_event(inputbox, function (obj)
				{
					if (!obj || (obj.type && obj.type == "blur"))
					{
						var obj = this;
					}

					obj.className = the_class;
				});
			}
		}
	}
}


/*
* nome:        set_ie_inputboxes_focus
* versión:     1.0
* descripción: darlle ás caixas de texto o comportamento esperado en IE
* entradas:
*
* saidas:
*
*/
function set_ie_inputboxes_focus()
{
	ie_inputbox_focus("input", "inputbox");
	ie_inputbox_focus("textarea", "inputbox");
}


add_load_event(set_ie_inputboxes_focus);
