var object_preload = {};
var standard_right_pages = new Array();

var internet_error_text = "Een onverwachte fout is opgetreden. Het kan gebeuren dat uw browser sessions heeft verloren. Probeer het nog een keer alstublieft.";
var ajaxErrorTimes = 0;
function handleAjaxError(calledBy)
{
	ajaxErrorTimes ++;
	if(ajaxErrorTimes < 5)
	{
		eval(calledBy);
	}
	else
	{
		ajaxErrorTimes = 0;
		showAlert(internet_error_text);
	}
}


function trim(astring)
{
	return new String(astring).replace(/^\s*/, "").replace(/\s*$/, "");
}


function logIn(login, password, remember, url)
{
	var remember = remember || 1;

	if( ("" == trim(login)) || ("" == trim(password)) )
	{
		showAlert("U dient E-mailadres en wachtwoord in te vullen.");
		return false;
	}

	$.post("../includes/panels/_login_check.php", { content:1, login: login, password: password, remember: remember },
		function(reply)
		{
			if("ok" == reply)
			{
				//alert("U bent nu ingelogd.");

				loadPage_default(url, object_preload);
				//loadPage("td_menu_login", "../includes/menu/menu_login", object_preload);
			} else
			{
				if("" == trim(reply))
				{
					reply = "Een onverwachte fout is opgetreden. Het kan gebeuren dat uw browser sessions heeft verloren. Probeer het nog een keer alstublieft.";
				}
				showAlert(reply);
			}
		}
	);
}
function logOut(lo_hash)
{
	$.post("../includes/helpers/get_logged_out.php", { logout: "yes", lo_hash: lo_hash },
		function(reply)
		{
			if("ok" == reply)
			{
				//alert("U bent nu uitgelogd.");
				loadPage("td_menu_login", "../includes/menu/menu_login", object_preload);
				showOptions(false);
			} else
			{
				if("" == trim(reply))
				{
					//reply = "Een onverwachte fout is opgetreden. Het kan gebeuren dat uw browser sessions heeft verloren. Probeer het nog een keer alstublieft.";
					handleAjaxError("logOut('" + lo_hash + "')");
				} else
				{
					showAlert(reply);
				}
			}
		}
	);
}


function showPopup(page)
{
	$.post("../popup/" + page + ".php", { },
		function(reply)
		{
			if("" != trim(reply))
			{
				showAlert(reply, page, 500);
			}
		}
	);
}


function checkKeyTextLogin(event, special_char, callback)
{
	//alert(event.keyCode);
	if(special_char == event.keyCode)
	{
		eval(callback);
	}
	if( (50 == event.keyCode) || (190 == event.keyCode) )
	{
		return true;
	}
	return checkKeyText(event);
}

function checkKeyText(event)
{
	// control characters
	if(event.keyCode < 33)
	{
		return true;
	}
	if( (event.keyCode < 41) && (event.keyCode > 34) )
	{
		return true;
	}

	// - or _, ' or ", DELETE
	if( (189 == event.keyCode) || (222 == event.keyCode) || (46 == event.keyCode))
	{
		return true;
	}
	// letters
	if((event.keyCode < 91) && (event.keyCode > 64))
	{
		return true;
	}
	// numbers
	if((!event.shiftKey) && ((event.keyCode < 58) && (event.keyCode > 47)) )
	{
		return true;
	}
	// numbers on numpad
	if( (event.keyCode < 106) && (event.keyCode > 95) )
	{
		return true;
	}

	return false;
}

function checkKeyNumber(event, with_point)
{
	var width_point = with_point || 1;

	//alert(event.keyCode);
	// control characters
	if(event.keyCode < 33)
	{
		return true;
	}
	if( (event.keyCode < 41) && (event.keyCode > 36) )
	{
		return true;
	}

	if(1 == with_point)
	{
		// . (also on numpad)
		if((190 == event.keyCode) || (110 == event.keyCode))
		{
			return true;
		}
	}

	// - or _, ' or ", DELETE
	if((189 == event.keyCode) || (222 == event.keyCode) || (46 == event.keyCode))
	{
		return true;
	}

	// numbers
	if((!event.shiftKey) && ((event.keyCode < 58) && (event.keyCode > 47)) )
	{
		return true;
	}
	// numbers on numpad
	if( (event.keyCode < 106) && (event.keyCode > 95) )
	{
		return true;
	}

	return false;
}


function showAlert(message, title, width)
{
	var width = width || 300;

	var alert_header = "<br/>";
	var alert_footer = '<br/><br/><div style="float:right;"><a id="close_alert" href="javascript:void(0)" onclick="$(\'#div_alert\').dialog(\'close\');">sluiten<img src="../images/icons/delete.png" align="absmiddle" style="border:0px;" /></a></div>';

	var title = title || "Fout";

	$("#div_alert").dialog("option", "width", width);
	$("#div_alert").dialog("option", "modal", true);
	$("#div_alert").dialog("option", "resizable", false);
	$("#div_alert").dialog("option", "title", title);
	$("#div_alert").bind("dialogclose", function(event, ui)
									{
										return false;
									}
					);

	message = alert_header + message + alert_footer;
	$("#div_alert").html(message);
	$("#div_alert").dialog("open");

	//alert(message);
}


var userAgent = navigator.userAgent.toLowerCase();
var browser = {version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1], safari:/webkit/.test(userAgent), opera:/opera/.test(userAgent), msie:/msie/.test(userAgent)&&!/opera/.test(userAgent), mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};

/*
* sub-menu functions
*/
function openSubMenu(parent_id)
{
	var offsets = _getOffsets(parent_id);
	if(document.getElementById("sub_" + parent_id))
	{
		if(!browser.mozilla)
		{
			$("#sub_" + parent_id).css("top", offsets[1] - 3 + document.getElementById(parent_id).offsetHeight + "px");
		}
		if(document.getElementById(parent_id).getAttribute("alt") && ("right" == document.getElementById(parent_id).getAttribute("alt")))
		{
			var difference = document.getElementById("sub_" + parent_id).offsetWidth - document.getElementById(parent_id).offsetWidth;
			/*if(browser.msie && (8 == parseInt(browser.version) || 7 == parseInt(browser.version)))
			{
				difference ++;
			}*/
			if(browser.mozilla)
			{
				$("#sub_" + parent_id).css("left", (1 - difference) + "px");
			}
		} else
		{
			var difference = 0;
			//if(!(browser.msie && (8 == parseInt(browser.version))))
			/*if((browser.mozilla) || (browser.msie && (7 == parseInt(browser.version))))
			{
				difference ++;
			}*/
		}
		if(!browser.mozilla)
		{
			if(browser.msie && (7 == parseInt(browser.version)))
			{
				difference ++;
			}
			$("#sub_" + parent_id).css("left", (offsets[0] - difference));
		}
		//$("#test").html(offsets[0] + " " + $("#sub_" + parent_id).css("left") + " " + $("#" + parent_id).css("left"));
		//document.getElementById("sub_" + parent_id).style.display = "block";

		$("#sub_" + parent_id).stop(false, true).fadeIn(100);
	}
	closeAllSubMenus(parent_id);
}
function closeAllSubMenus(parent_id)
{
	var parent_id = parent_id || 0;
	//alert(parent_id);
	var submenus = $("div[id^='sub_']");
	for(var ei = 0; ei < submenus.length; ei ++)
	{
		var id = new String(submenus[ei].id).replace("sub_", "");
		if(parent_id != id)
		{
			//$("#" + submenus[ei].id).hide("fast");
			//submenus[ei].style.display = "none";
			$(submenus[ei]).stop(false, true).fadeOut(100);
		} else
		{
			var offsets = _getOffsets(id);
			if(document.getElementById(parent_id).getAttribute("alt") && ("right" == document.getElementById(parent_id).getAttribute("alt")))
			{
				var difference = document.getElementById("sub_" + parent_id).offsetWidth - document.getElementById(parent_id).offsetWidth;
				/*if(browser.msie && (8 == parseInt(browser.version) || 7 == parseInt(browser.version)))
				{
					difference ++;
				}*/
				if(browser.mozilla)
				{
					$("#sub_" + parent_id).css("left", (1 - difference) + "px");
				}
			} else
			{
				difference = 0;
				//if(!(browser.msie && (8 == parseInt(browser.version))))
				/*if((browser.mozilla) || (browser.msie && (7 == parseInt(browser.version))))
				{
					difference ++;
				}*/
			}
			if(!browser.mozilla)
			{
				if(browser.msie && (7 == parseInt(browser.version)))
				{
					difference ++;
				}
				$("#sub_" + id).css("left", offsets[0] - difference + "px");
			}
		}
	}
}


/*
* used to count the number of chars in textelement
*/
function numberChars(textarea_element, span_element_id, max_characters)
{
	var diff_characters = max_characters - parseInt(new String(trim(textarea_element.value)).length);
	if(diff_characters >= 0)
	{
		document.getElementById(span_element_id).innerHTML = diff_characters + " resterend";
		document.getElementById(span_element_id).style.color = "#000000";
	} else
	{
		diff_characters *= -1;
		document.getElementById(span_element_id).innerHTML = diff_characters + " te veel";
		document.getElementById(span_element_id).style.color = "#aa0000";
	}
}


/*
* functions for slide show
*/
function goPhoto(bg_image_element_id, prefix, extension, number_change)
{
	var second_bg_image_element_id = bg_image_element_id + "_second";

	current_photo_number += number_change;
	if(current_photo_number < 0)
	{
		current_photo_number = photos_site.length - 1;
	}
	if(current_photo_number >= photos_site.length)
	{
		current_photo_number = 0;
	}

	$("#" + second_bg_image_element_id).fadeTo(1, 0, function()
		{
			document.getElementById(second_bg_image_element_id).style.background = "url(" + prefix + photos_site[current_photo_number] + extension + ")";
			//document.getElementById(second_bg_image_element_id).style.backgroundColor = "#ffffff";
			document.getElementById(second_bg_image_element_id).style.backgroundPosition = "top center";
			document.getElementById(second_bg_image_element_id).style.backgroundRepeat = "no-repeat";
		}
	);

	$("#" + second_bg_image_element_id).fadeTo(500, 1, function()
		{
			// slide chapter
				$("div[id^='div_home_rotation_']").removeClass("div_home_rotation_over");
				$("div[id^='div_home_rotation_']").addClass("div_home_rotation");

				$("a[id^='a_home_rotation_']").removeClass("a_home_rotation_over");
				$("a[id^='a_home_rotation_']").addClass("a_home_rotation");

				$("#div_home_rotation_" + chapters_site[current_photo_number]).removeClass("div_home_rotation");
				$("#div_home_rotation_" + chapters_site[current_photo_number]).addClass("div_home_rotation_over");

				$("#a_home_rotation_" + chapters_site[current_photo_number]).removeClass("a_home_rotation");
				$("#a_home_rotation_" + chapters_site[current_photo_number]).addClass("a_home_rotation_over");

			$("#div_home_motto_shadow").html(mottos_site[current_photo_number]);
			$("#div_home_motto").html(mottos_site[current_photo_number]);

			// slide image
			document.getElementById(bg_image_element_id).style.background = "url(" + prefix + photos_site[current_photo_number] + extension + ")";
			//document.getElementById(bg_image_element_id).style.backgroundColor = "#ffffff";
			document.getElementById(bg_image_element_id).style.backgroundPosition = "top center";
			document.getElementById(bg_image_element_id).style.backgroundRepeat = "no-repeat";

			$("#" + bg_image_element_id).fadeTo(1, 1);
			$("#" + second_bg_image_element_id).fadeTo(1, 0);
		}
	);
}

var slide_show;
function startSlideShow(bg_image_element_id, prefix, extension)
{
	slide_show = setInterval('goPhoto("' + bg_image_element_id + '", "' + prefix + '", "' + extension + '", 1)', 5000);
}

function highlightPhoto(chapter_id, show_it)
{
	if(show_it)
	{
		for(var ic = 0; ic < chapters_site.length; ic ++)
		{
			if(chapter_id == chapters_site[ic])
			{
				try
				{
					var img = photo_base + photos_site[ic] + ".jpg";
					document.getElementById("td_logo_home_highlight").style.background = "url(" + img + ")";
					document.getElementById("td_logo_home_highlight").style.display = "block";
				} catch(e)
				{
				}
			}
		}
	} else
	{
		document.getElementById("td_logo_home_highlight").style.display = "none";
	}
}

function getTimestamp(date, hour, minute)
{
	var date_parts = new String(date).split("-");
	return new Date(parseInt(1 * date_parts[2]), (parseInt(1 * date_parts[1]) - 1), parseInt(date_parts[0]), parseInt(hour), parseInt(minute), 0, 0).getTime();
}




/*
* INTERACTIVE FUNCTIONS
*/
function addDiv(container_id, div_id)
{
	var html = '<div id="' + div_id + '"></div>';

	$("#" + container_id).append(html);
}


function loadPage_default(file, object_params, get_params)
{
	var object_params = object_params || {};
	var get_params = get_params || "";

	loadPage("td_main", file, object_params, get_params)
}
function loadPage(container_id, file, object_params, get_params)
{
	var object_params = object_params || {};
	var get_params = get_params || "";
	file = decodeURIComponent(encodeURIComponent(file));
	file = new String(file).replace(/ /g, "%20");

	$("#" + container_id).load(file + ".php?nd=" + new Date().getTime() + "&content=1" + get_params, object_params);
	//$("#div_hidden").css("display", "none");
}


function openMenu(admin_page, sub_menu, id)
{
	if(id)
	{
		loadPage_default("../admin/index", {admin_page:admin_page, id:id});
	} else
	{
		loadPage_default("../admin/index", {admin_page:admin_page});
	}

	$("div[id^='div_menu_']").hide("fast");
	if(sub_menu && document.getElementById("div_menu_" + sub_menu))
	{
		$("#div_menu_" + sub_menu).show("fast");
	}
}


function openWindow(file, parameters, title, backContainer, backToPage, backParams, width)
{
	var backParams = backParams || {};
	var width = width || 600;
	var closed = 0;

	$("#div_dialog").dialog("option", "width", width);
	//$("#div_dialog").dialog("option", "position", [10, 10]);
	$("#div_dialog").dialog("option", "modal", true);
	$("#div_dialog").dialog("option", "resizable", false);
	$("#div_dialog").dialog("option", "title", title);
	$("#div_dialog").bind("dialogclose", function(event, ui)
									{
										if(backContainer && backToPage && (0 == closed))
										{
											loadPage(backContainer, backToPage, backParams);
											closed = 1;
										}
										//alert(event);
									}
					);
	$("#div_dialog").load(file + ".php?nd=" + new Date().getTime() + parameters, "", function()
									{
										$("#div_dialog").dialog("open");
									}
					);
}

function closeWindow()
{
	$("#div_dialog").dialog("close");
}


function toggleView(children_type, children_id)
{
	try
	{
		var children = $(children_type + "[id^='" + children_id + "']");
		var first_child = children[0];

		if("none" == first_child.style.display)
		{
			$(children_type + "[id^='" + children_id + "']").css("display", "");
		} else
		{
			$(children_type + "[id^='" + children_id + "']").css("display", "none");
		}
	}
	catch(e)
	{

	}
}


function showOptions(logged_in)
{
	if(logged_in)
	{
		$("div[id^='div_photo_notlogged_']").css("display", "none");
		$("div[id^='div_photo_logged_']").css("display", "block");

		var fav_containers = $("span[id^='container_favorites_']");
		var post_query = "";
		for(var icf = 0; icf < fav_containers.length; icf ++)
		{
			var id = new String(fav_containers[icf].id).replace("container_favorites_", "");
			post_query += "&ids[" + icf + "]=" + id;
		}
		post_query = new String(post_query).substring(1);

		//alert(post_query);
		//return;

		if(post_query)
		{
			$.post("../includes/helpers/get_available_favorites.php", post_query,
				function(reply)
				{
					var html_template = '<a href="javascript:void(0)" title="%title%" onclick="favorites(\'%action%\', %id%)">%innerHTML%</a>';
					for(var icf = 0; icf < fav_containers.length; icf ++)
					{
						var id = new String(fav_containers[icf].id).replace("container_favorites_", "");
						if(-1 == new String(reply).indexOf("," + id + ","))
						{
							var html = new String(html_template).replace('%action%', 'add').replace('%id%', id).replace('%innerHTML%', "<img src='../images/icons/heart_add.png' alt='aan favorieten toevoegen' />").replace('%title%', 'aan favorieten toevoegen');
							$("#container_favorites_" + id).html(html);
						} else
						{
							var html = new String(html_template).replace('%action%', 'remove').replace('%id%', id).replace('%innerHTML%', "<img src='../images/icons/heart_delete.png' alt='uit favorieten verwijderen' />").replace('%title%', 'uit favorieten verwijderen');
							$("#container_favorites_" + id).html(html);
						}
					}
				}
			);
		}
	} else
	{
		$("div[id^='div_photo_logged_']").css("display", "none");
		$("div[id^='div_photo_notlogged_']").css("display", "block");
		$("div[id^='container_favorites_']").html("<br/>");
	}
}


function showLastSearches(parent_id)
{
	if("block" == document.getElementById("div_hidden").style.display)
	{
		$("#div_hidden").css("display", "none");
	} else
	{
		var offsets = _getOffsets(parent_id);
		var left = parseInt(offsets[0]);
		var top = parseInt(offsets[1]);

		//var scrollTop = document.getElementById("div_main_right").scrollTop;
		var scrollTop = 0;

		$("#div_hidden").load("../home/last_searches.php", '', function()
							{
								$("#div_hidden").css("left", left + "px");
								$("#div_hidden").css("top", top - scrollTop + document.getElementById(parent_id).offsetHeight + "px");
								$("#div_hidden").css("display", "block");
							}
					);
	}
}




var current_type = new Array();
var current_selector_type = new Array();
var current_selector_container_id = new Array();

var current_prefix = new Array();
var current_value_field = new Array();
var current_show_field = new Array();

var current_inside_div = new Array();
var current_inside_div_content = new Array();

var suffix_inside_div = "_inside";

function startAddition(type, prefix, selector_type, selector_container_id, value_field, show_field, parent_container_id, new_div, parameters)
{
	var file = "../admin/" + type;

	if(!parameters)
	{
		parameters = {addition:1};
	}

	current_type.push(type);
	current_selector_type.push(selector_type);
	current_selector_container_id.push(selector_container_id);

	current_prefix.push(prefix);
	current_value_field.push(value_field);
	current_show_field.push(show_field);

	$.post("../includes/helpers/start_addition.php", { type:type, selector_type:selector_type, value_field:value_field, show_field:show_field },
		function(reply)
		{
			if("ok" == reply)
			{
				if(true == new_div)
				{
					current_inside_div.push(parent_container_id + suffix_inside_div);
					addDiv(parent_container_id, parent_container_id + suffix_inside_div);
					current_inside_div_content.push("");
				} else
				{
					current_inside_div.push(parent_container_id);
					current_inside_div_content.push($("#" + current_inside_div).html());
				}
				loadPage(current_inside_div, file, parameters);
			} else
			{
				showAlert(reply);
			}
		}
	);
}
function selectAddition(type, value, show, not_close, adjust_value, empty_value)
{
	$.post("../includes/helpers/stop_addition.php", { type:type },
		function(reply)
		{
			if("ok" == reply)
			{
				var this_type = current_type.pop();
				var this_selector_type = current_selector_type.pop();
				var this_selector_container_id = current_selector_container_id.pop();

				var this_prefix = current_prefix.pop();
				var this_value_field = current_value_field.pop();
				var this_show_field = current_show_field.pop();

				var this_inside_div = current_inside_div.pop();
				var this_inside_div_content = current_inside_div_content.pop();

				switch(this_selector_type)
				{
					case "select":
						$("#" + this_selector_container_id).load("../admin/data/get_" + type + "_" + this_selector_type + ".php?default_id=" + value + "&prefix=" + this_prefix);
						break;

					case "selector":
						//var selector_id = this_prefix + "selector_input" + "_" + type;
						if(selectors[this_selector_container_id])
						{
							input_selector = selectors[this_selector_container_id];

							input_selector.setVar('DefaultId', value);
							input_selector.getInfo();
							if(input_selector.isOpen())
							{
								input_selector.open();
							}
						}
						if(empty_value)
						{
							if(value == document.getElementById(this_value_field).value)
							{
								document.getElementById(this_value_field).value = "";
								if(this_show_field)
								{
									document.getElementById(this_show_field).value = show;
								}
							}
						} else if(adjust_value)
						{
							if(value == document.getElementById(this_value_field).value)
							{
								if(this_show_field)
								{
									document.getElementById(this_show_field).value = show;
								}
							}
						} else
						{
							document.getElementById(this_value_field).value = value;
							if(this_show_field)
							{
								document.getElementById(this_show_field).value = show;
							}
						}
						break;
				}

				if(!not_close)
				{
					if(document.getElementById(this_inside_div))
					{
						document.getElementById(this_inside_div).innerHTML = this_inside_div_content;
						if(suffix_inside_div == this_inside_div.substr(new String(this_inside_div).length - new String(suffix_inside_div).length, new String(suffix_inside_div).length))
						{
							this_inside_div = null;
						}
					}
				}
			} else
			{
				showAlert(reply);
			}
		}
	);
}

function closeAllAdditions()
{
	while(current_inside_div.length > 0)
	{
		this_type = closeLastAddition();
	}
}

function closeAddition(type)
{
	this_type = "none";
	do
	{
		this_type = closeLastAddition();
	} while(type != this_type);
}

function closeLastAddition()
{
	this_type = current_type.pop();
	this_selector_type = current_selector_type.pop();
	this_selector_container_id = current_selector_container_id.pop();

	this_prefix = current_prefix.pop();
	this_value_field = current_value_field.pop();
	this_show_field = current_show_field.pop();

	this_inside_div = current_inside_div.pop();
	this_inside_div_content = current_inside_div_content[0];
	this_inside_div_content_waste = current_inside_div_content.pop();

	$.post("../includes/helpers/stop_addition.php", { type:this_type });

	if(document.getElementById(this_inside_div))
	{
		document.getElementById(this_inside_div).innerHTML = this_inside_div_content;

		if(suffix_inside_div == this_inside_div.substr(new String(this_inside_div).length - new String(suffix_inside_div).length, new String(suffix_inside_div).length))
		{
			if("td_main_right" != this_inside_div)
			{
				var to_dump = document.getElementById(this_inside_div);
				to_dump = null;
			}
		}
	}

	return this_type;
}


function openCloseSubmenu(submenu_div_id, submenu_img_id)
{
	if("block" == document.getElementById(submenu_div_id).style.display)
	{
		document.getElementById(submenu_img_id).src = "../images/bg/arrow_up_menu.gif";
	} else
	{
		document.getElementById(submenu_img_id).src = "../images/bg/arrow_down_menu.gif";
	}
	$("#" + submenu_div_id).slideToggle("fast");
}



// opens and closes sub divs
function openCloseGroup(id, control_element_id, container_element_id, control_rule, array_controls)
{
	var containers_status_array = array_controls[0];
	var control_status_array = array_controls[1];

	control_element_id += id;
	container_element_id += id;

	if(containers_status_array[1] == document.getElementById(container_element_id).style.display)
	{
		eval("document.getElementById(control_element_id)." + control_rule + "= '" + control_status_array[0] + "';");
		$("#" + container_element_id).slideToggle("fast");
	} else
	{
		eval("document.getElementById(control_element_id)." + control_rule + "= '" + control_status_array[1] + "';");
		if(browser.msie)
		{
			$("#" + container_element_id).css("display", "block");
		} else
		{
			$("#" + container_element_id).slideToggle("fast");
		}
	}
}


/*
* slider functions
*/
var Scroller = function(container_id, width, number, left_button_id, right_button_id, class_active_left, class_active_right, class_idle_left, class_idle_right)
{
	this.ContainerId = container_id;
	this.Width = width;
	this.Number = number;
	this.ClassActiveLeft = class_active_left || "mouseover";
	this.ClassActiveRight = class_active_right || "mouseover";
	this.ClassIdleLeft = class_idle_left || "";
	this.ClassIdleRight = class_idle_right || "";

	$("#" + this.ContainerId).animate( { scrollLeft:"0px" }, 10);

	this.LeftButton = document.getElementById(left_button_id);
	this.RightButton = document.getElementById(right_button_id);

	var scroller = this;

	var el = this.LeftButton;
	var type = "click";
	var handle = function()
		{
	        scroller.scrollLeft();
	    };
	try
	{
		if(el.addEventListener)
		{
			el.addEventListener(type, handle, false);
		} else if(el.attachEvent)
		{
			el.attachEvent("on" + type, handle);
		}
	} catch(e)
	{
	}

	var el = this.RightButton;
	var type = "click";
	var handle = function()
		{
	        scroller.scrollRight();
	    };
	try
	{
		if(el.addEventListener)
		{
			el.addEventListener(type, handle, false);
		} else if(el.attachEvent)
		{
			el.attachEvent("on" + type, handle);
		}
	} catch(e)
	{
	}
}
/**
* scrolls to left
*/
Scroller.prototype.scrollLeft = function()
{
	var container = document.getElementById(this.ContainerId);
	var left = container.scrollLeft;
	var newleft = (left - this.Width);

	$("#" + this.ContainerId).animate( { scrollLeft:newleft + "px" }, 500);
	if(newleft <= 0)
	{
		$(this.LeftButton).removeClass(this.ClassActiveLeft);
		if("" != this.ClassIdleLeft)
		{
			$(this.LeftButton).addClass(this.ClassIdleLeft);
		}
	}
	if(this.Number > 1)
	{
		if("" != this.ClassIdleRight)
		{
			$(this.RightButton).removeClass(this.ClassIdleRight);
		}
		$(this.RightButton).addClass(this.ClassActiveRight);
	}
	//$("#test").html(newleft);
}
/**
* scrolls to right
*/
Scroller.prototype.scrollRight = function()
{
	var container = document.getElementById(this.ContainerId);
	var left = container.scrollLeft;
	var newleft = (left + this.Width);

	$("#" + this.ContainerId).animate( { scrollLeft:newleft + "px" }, 500);
	if(newleft >= this.Width * (this.Number - 1))
	{
		$(this.RightButton).removeClass(this.ClassActiveRight);
		if("" != this.ClassIdleRight)
		{
			$(this.RightButton).addClass(this.ClassIdleRight);
		}
	}
	if(this.Number > 1)
	{
		if("" != this.ClassIdleLeft)
		{
			$(this.LeftButton).removeClass(this.ClassIdleLeft);
		}
		$(this.LeftButton).addClass(this.ClassActiveLeft);
	}
	//$("#test").html(newleft);
}





/*
* SEARCH FUNCTIONS
*/
function loadSearchResults(object, from, orderby, file)
{
	var object = object || {};
	var from = from || 0;
	var orderby = orderby || "id DESC";
	var file = file || "../modules/object/_19.inc.php";
	loadSearchResults_options("div_content", file, object, from, orderby);
}
function loadSearchResults_options(container_id, file, object, from, orderby, do_search)
{
	if(document.getElementById("span_search_end"))
	{
		document.getElementById("span_search_end").style.display = "none";
	}
	if(document.getElementById("span_search_wait"))
	{
		document.getElementById("span_search_wait").style.display = "block";
	}

	var object = object || {};
	var params = "";
	var do_search = do_search || "doSearch=1";

	for(var parameter in object)
	{
		params += "&parameters[" + parameter + "]=" + new String(object[parameter]).replace(/ /g, '+');
	}
	//alert(params);
	var from = from || "";
	if("" != from)
	{
		params += "&from=" + from;
	}
	var orderby = orderby || "id DESC";

	if(typeof closeAssistants == "function")
	{
		closeAssistants();
	}
	$("#div_hidden").css("display", "none");
	closeSelectors();

	file = new String(file).replace(/ /g, '%20');
	$("#" + container_id).load(file + "?" + do_search + "&content=" + new Date().getTime() + params, "", function(responseText, textStatus, XMLHttpRequest)
					{
						if("error" == textStatus)
						{
							//alert(textStatus);
						}

						setTimeout("releaseWait()", 100);
					}
				);
}


function searchQuery(form_object, search_what_element)
{
	if("" != trim(search_what_element.value))
	{
		form_object.submit();
	}
	//loadSearchResults_options('div_content', '../zoeken/results.php', {search_what:search_what_element.value});
}


function goPage(from)
{
	goPage_options("div_content", "../modules/object/helpers/_19.php", from);
}
function goPage_options(container_id, file, from, params)
{
	var params = params || "";
	file = new String(file).replace(/ /g, '%20');
	$("#" + container_id).load(file + "?content=" + new Date().getTime() + "&from=" + from + params);
}

function orderPage(orderby)
{
	orderPage_options("div_content", "../modules/object/helpers/_19.php", orderby);
}
function orderPage_options(container_id, file, orderby, params)
{
	var params = params || "";
	file = new String(file).replace(/ /g, '%20');
	$("#" + container_id).load(file + "?content=" + new Date().getTime() + "&orderby=" + orderby + params);
}

function loadResult(type, id, current_number)
{
	loadResult_options("div_content", "../modules/object/helpers/_19.php", type, id, current_number);
}
function loadResult_options(container_id, file, type, id, current_number)
{
	file = new String(file).replace(/ /g, '%20');
	$("#" + container_id).load(file + "?content=" + new Date().getTime() + "&type=" + type + "&id=" + id + "&current_number=" + current_number);
}

function backToResults()
{
	backToResults_options("div_content", "../modules/object/helpers/_19.php");
}
function backToResults_options(container_id, file)
{
	file = new String(file).replace(/ /g, '%20');
	$("#" + container_id).load(file + "?content=" + new Date().getTime());
}

function goNumber(go_number)
{
	goNumber_options("div_content", "../modules/object/helpers/_19.php", go_number);
}
function goNumber_options(container_id, file, go_number)
{
	file = new String(file).replace(/ /g, '%20');
	$("#" + container_id).load(file + "?content=" + new Date().getTime() + "&go_number=" + go_number);
}


function searchOnEnter(event)
{
	if(13 == event.keyCode)
	{
		loadSearchResults({search_what:document.getElementById('search_what').value})
	}
}


function releaseWait()
{
	if(document.getElementById("span_search_wait"))
	{
		document.getElementById("span_search_wait").style.display = "none";
		document.getElementById("span_search_end").style.display = "block";
		var w;
		if(w)
		{
			w.stop();
		}
		w = setTimeout("releaseWaitEnd()", 1500);
	}
}
function releaseWaitEnd()
{
	if(document.getElementById("span_search_end"))
	{
		document.getElementById("span_search_end").style.display = "none";
	}
}


/*
* INIT FUNCTIONS
*/
function init()
{
	/*$("#div_dialog").dialog
		(
			{ autoOpen: false },
			{ bgiframe: true }
		);

	$("#div_alert").dialog
		(
			{ autoOpen: false },
			{ bgiframe: true }
		);*/

	$("#div_logo").click(function()
		{
			window.location.href = home_page;
		}
	);
}


/*
* FUNCTIONS CONTACT
*/
function sendContact(form_object, prefix)
{
	var form_validator = new formValidator(form_object, '../includes/helpers/get_contact_edit_results.php', {'Prefix':prefix, 'CloseOnSubmit':'true'});
	if(form_validator.send())
	{
		setTimeout("document.documentElement.scrollTop = 0; document.body.scrollTop = 0;", 200);
	}
}
function radioSelected(prefix, name)
{
	document.getElementById(prefix + name + "_empty").style.display = "none";
}

function sendEmailservice(form_object, prefix)
{
	var form_validator = new formValidator(form_object, '../includes/helpers/get_emailservice.php', {'Prefix':prefix, 'CloseOnSubmit':'true'});
	if(form_validator.send())
	{
		setTimeout("document.documentElement.scrollTop = 0; document.body.scrollTop = 0;", 200);
	}
}
function sendEvaluation(form_object, prefix)
{
	var form_validator = new formValidator(form_object, '../includes/helpers/get_evaluation.php', {'Prefix':prefix, 'CloseOnSubmit':'true'});
	if(form_validator.send())
	{
		setTimeout("document.documentElement.scrollTop = 0; document.body.scrollTop = 0;", 200);
	}
}
function sendFriend(form_object, prefix)
{
	var form_validator = new formValidator(form_object, '../includes/helpers/get_friend_edit_results.php', {'Prefix':prefix, 'CloseOnSubmit':'true'});
	if(form_validator.send())
	{
		setTimeout("document.documentElement.scrollTop = 0; document.body.scrollTop = 0;", 200);
	}
}
function sendAanmelden(form_object, prefix)
{
	var form_validator = new formValidator(form_object, '../includes/helpers/get_aanmelden_edit_results.php', {'Prefix':prefix, 'CloseOnSubmit':'true'});
	if(form_validator.send())
	{
		setTimeout("document.documentElement.scrollTop = 0; document.body.scrollTop = 0;", 200);
	}
}
