/*
 * Copyright : (c) 2006 Webfish IT Services
 * Website   : http://www.webfish.nl
 * Email     : info@webfish.nl
 * -------------------------------------------------------------------------
 *   $Id$
 * -------------------------------------------------------------------------
 */

var str_prev_nr = '';

function blocking(str_nr)
{
	if (str_prev_nr != '')
	{
		var prev = document.getElementById(str_prev_nr);
		if (prev)
			prev.style.display = 'none';
	}
	if (str_prev_nr != str_nr)
	{
		var nr = document.getElementById(str_nr);
		if (nr)
		{
			nr.style.display = '';
			str_prev_nr = str_nr;
		}
		else
		{
			str_prev_nr = '';
		}
	}
	else
	{
		str_prev_nr = '';
	}

	return false;
}

function swapLink()
{
	str_display = (document.getElementById('link').style.display == 'none') ? '' : 'none';
	document.getElementById('link').style.display = str_display;
}

function appendOnLoadAlert(str_msg)
{
	var appendOnLoadAlert_oldOnload = (window.onload) ? window.onload : function () { };
	window.onload = function () { appendOnLoadAlert_oldOnload(); alert(str_msg); }
}

function input_initSelect(str_id, fnc_changed, bln_callonchange)
{
	if (typeof bln_callonchange == 'undefined')
	{
		bln_callonchange = false;
	}
	var obj_input = document.getElementById(str_id);
	obj_input.onfocus   = input_selectFocussed;
	obj_input.onchange  = input_selectChanged;
	obj_input.onkeydown = input_selectKeyed;
	obj_input.onclick   = input_selectClicked;

	obj_input.fnc_changed = fnc_changed;

	if (bln_callonchange)
	{
		obj_input.changed = true;
		obj_input.onchange();
	}
}

function input_selectChanged(obj_e)
{
	var obj_input;
	if (obj_e && obj_e.value)
	{
		obj_input = obj_e;
	}
	else
	{
		obj_input = this;
	}
	if (!obj_input.changed)
	{
		return ;
	}

	if (obj_input.fnc_changed)
		obj_input.fnc_changed();

	obj_input.changed = false;
}

function input_selectClicked()
{
	this.changed = true;
}

function input_selectFocussed()
{
	this.initValue = this.value;
}

function input_selectKeyed(e)
{
	var obj_e;
	var keyCodeTab   = "9";
	var keyCodeEnter = "13";
	var keyCodeEsc   = "27";

	if (e)
	{
		obj_e = e;
	}
	else
	{
		obj_e = event;
	}

	if ((obj_e.keyCode == keyCodeEnter || obj_e.keyCode == keyCodeTab) && this.value != this.initValue)
	{
		this.changed = true;
		this.onchange(this);
	}
	else if (obj_e.keyCode == keyCodeEsc)
	{
		this.value = this.initValue;
	}
	else
	{
		this.changed = false;
	}
}

function input_onfocus(obj_input, str_default)
{
	if (obj_input.value == str_default)
		obj_input.value = '';
	else
		obj_input.select();

	return true;
}

function input_onblur(obj_input, str_default)
{
	if (obj_input.value == '')
		obj_input.value = str_default;
	return true;
}
