var core_c = function()
{
	this.explorer_b = (navigator.appName.indexOf('Microsoft') != -1);
};

/* ........................................... */

core_c.prototype.getRandomInt = function(min_i, max_i)
{
	return Math.floor(Math.random() * (max_i - min_i + 1)) + min_i;
};

/* ........................................... */

core_c.prototype.getFlash = function(name_s)
{
	return document.getElementById(name_s);
};

/* ........................................... */

core_c.prototype.getX = function(current_de)
{
   return (current_de.offsetParent) ? current_de.offsetLeft + this.getX(current_de.offsetParent) : current_de.offsetLeft;
};


core_c.prototype.getY = function(current_de)
{
   return (current_de.offsetParent) ? current_de.offsetTop + this.getY(current_de.offsetParent) : current_de.offsetTop;
};

core_c.prototype.getWidth = function(current_de)
{
   return current_de.offsetWidth;
};

core_c.prototype.getHeight = function(current_de)
{
   return current_de.offsetHeight;
};

/* ........................................... */

core_c.prototype.setMenu = function(parent_i, active_i)
{
	setRequest('top.menu_frame', '', {object: 'core__structure__menu__c', method: 'getMenu', parent: parent_i, active: active_i});
};

core_c.prototype.setTitle = function(content_s)
{
	top.title_frame.setTitle(content_s);
};

/* ........................................... */

var __getObjectInfo = function(current_o, prefix_s, separator_s)
{
	var prefix_s = (typeof prefix_s == 'undefined') ? '' : prefix_s;
	var info_s = '';

	for (var i_u in current_o)
	{
		info_s += prefix_s + current_o + '.' + i_u + ' = ' + current_o[i_u] + separator_s/* + this.getObjectInfo(current_o[i_u], prefix_s + i_u + '.')*/;
	}

	return info_s;
};

/* ........................................... */

var __iv_a = new Array();

function __setIntervalAction(index_i)
{
	if (__iv_a[index_i])
	{
		var argument_a = __iv_a[index_i].argument_a;

		var call_s = '__iv_a[index_i].method_o(';

		for (var i_i = 0; i_i < argument_a.length; i_i++)
		{
			call_s += 'argument_a[' + i_i + ']';
			call_s += (i_i < (argument_a.length - 1)) ? ',' : '';
		}

		call_s += ')';

		eval(call_s);

		__iv_a[index_i].timer_id_i = setTimeout("__setIntervalAction(" + index_i + ")", __iv_a[index_i].interval_i);
	}
}

function __setEnhancedInterval(method_o, interval_i)
{
 	var index_i = __iv_a.length;

 	__iv_a[index_i] = new Object();

 	__iv_a[index_i].interval_i = interval_i;
 	__iv_a[index_i].method_o = method_o;
 	__iv_a[index_i].argument_a = new Array();

 	for (var i_i = 2; i_i < arguments.length; i_i++)
 	{
  		__iv_a[index_i].argument_a[__iv_a[index_i].argument_a.length] = arguments[i_i];
 	}

 	__iv_a[index_i].timer_id_i = setTimeout('__setIntervalAction(' + index_i + ')', interval_i);

 	return index_i;
}

function __setEnhancedClearInterval(index_i)
{
	if (__iv_a[index_i])
	{
  		clearTimeout(__iv_a[index_i].timer_id_i);

  		__iv_a[index_i] = null;
 	}
}

function __setRegisterEnhancedInterval()
{
	var core_o = new core_c();

	if (core_o.explorer_b)
	{
		window.setInterval = __setEnhancedInterval;
		window.clearInterval = __setEnhancedClearInterval;
	}
}

__setRegisterEnhancedInterval();

/* ........................................... */

document._setRequest = function(script_path_s, query_o, confirm_b, replace_b)
{
	var pair_s = '';

	/* create the query string */
	if (query_o)
	{
		for (var value_m in query_o)
		{
			pair_s = pair_s ? '&' : '?';
			pair_s += value_m + '=' + escape(query_o[value_m]);

			script_path_s += pair_s;
		}
	}

	/* confirm this action */
	if (confirm_b)
	{
		if (!confirm('Weet u zeker dat u deze actie wilt uitvoeren?'))
		{
			return;
		}
	}

	/* call the server action */
	if (replace_b)
	{
		this.location.replace(script_path_s);
	}
	else
	{
		this.location.href = script_path_s;
	}
};