/*
 * Copyright : (c) 2006 Webfish IT Services
 * Website   : http://www.webfish.nl
 * Email     : info@webfish.nl
 * -------------------------------------------------------------------------
 *   $Id: script.js 332 2007-05-11 08:28:19Z martin $
 * -------------------------------------------------------------------------
 */

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

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;
}

function selectInit(str_id, fnc_changed, bln_callonchange)
{
	if (typeof bln_callonchange == 'undefined')
	{
		bln_callonchange = false;
	}
	var obj_sel = document.getElementById(str_id);
	if (obj_sel)
	{
		obj_sel.onfocus   = selectFocussed;
		obj_sel.onchange  = selectChanged;
		obj_sel.onkeydown = selectKeyed;
		obj_sel.onclick   = selectClicked;

		obj_sel.fnc_changed = fnc_changed;

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

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

	if (obj_sel.fnc_changed)
		obj_sel.fnc_changed();

	this.initValue = this.value;
	obj_sel.changed = false;
}

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

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

function 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;
	}
}

var bln_req_chk = false;
function setReqChk(bln_req)
{
	bln_req_chk = bln_req;
}

function chkCheckbox()
{
	// check required?
	if (bln_req_chk)
	{
		var obj_chk = document.getElementById('chk_step');
		if (!(obj_chk && obj_chk.checked))
		{
			alert('De checkbox voor invulling van de bovenstaande gegevens naar waarheid is niet gechecked.');
			return false;
		}
	}
	return true;
}