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


/*
* functions for modal popup window
*/
// parameters for opening file on close modal
var modal_back_container_id = "";
var modal_back_open_file = "";
var modal_back_parameters = "";
function openModal(file, parameters, title, _modal_back_container_id, _modal_back_open_file, _modal_back_parameters)
{
	modal_back_container_id = _modal_back_container_id || "";
	modal_back_open_file = _modal_back_open_file || "";
	modal_back_parameters = _modal_back_parameters || "";

	$("#div_modal_bg").css({display:'block'})
	$("#div_modal_bg").animate({opacity:0.5}, 750);

	//document.getElementById("div_modal").style.left = (screen.width - 840) / 2 + "px";

	var title = title || "";
	document.getElementById("div_modal_title").innerHTML = title;

	$("#div_modal_content").load(file + ".php?nd=" + new Date().getTime() + parameters, "", function()
		{
			$("#div_modal").fadeIn(150);
			setTimeout("document.documentElement.scrollTop = 0; document.body.scrollTop = 0;", 100);
			document.getElementById("div_modal").style.left = (screen.width - document.getElementById("div_modal").offsetWidth) / 2 + "px";
		}
	);
}
function closeModal()
{
	$("#div_modal_bg").animate({opacity:0.5}, 150, function(){ $(this).css({display:'none'}); });
	$("#div_modal_content").load("../images/empty.php", {}, function()
		{
			$("#div_modal").fadeOut(150);
		}
	);
	
	//opening a call_back file if this parameter is given
	if(("" != modal_back_container_id) && ("" != modal_back_open_file))
	{
		var modal_back_dir = getDirName(modal_back_open_file);
		$("#" + modal_back_container_id).load(modal_back_dir + "/" + modal_back_open_file + ".php?nd=" + new Date().getTime() + modal_back_parameters);
		// reset parameters for opening file on close modal
		modal_back_container_id = "";
		modal_back_open_file = "";
		modal_back_parameters = "";
	}
}



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";
		document.getElementById(submenu_img_id).innerHTML = "&nbsp;+&nbsp;";
	} else
	{
		//document.getElementById(submenu_img_id).src = "../images/bg/arrow_down_menu.gif";
		document.getElementById(submenu_img_id).innerHTML = "&nbsp;&ndash;&nbsp;";
	}
	$("#" + submenu_div_id).slideToggle(125);
}


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



/*
* rotate quotes
*/
var quotes = new Array();
quotes[0] = "Na het volgen van de online cursus KopOpOuders is mijn zelfvertrouwen langzaam gegroeid. Ook in mijn rol als moeder voel ik mij steeds zekerder. Ik durf meer op mijn eigen indrukken en ideeën te vertrouwen. En wat lol te maken.";
quotes[1] = "Vroeger legde ik mijn zoontje niks uit, omdat ik dacht dat hij het toch niet zou begrijpen. Tijdens de online cursus kreeg ik tips om mijn problemen in kindertaal uit te leggen. En het werkt!";
quotes[2] = "Na het volgen van de cursus zeg ik niet alleen maar 'nee' meer tegen mijn kind. Ik zeg ook waarom hij iets niet mag of ga in overleg om tot een compromis te komen.";
quotes[3] = "Sinds ik heb meegedaan aan de online cursus heeft mijn dochter minder driftbuien. Ze ziet zelfs wanneer ik het een keer niet kan opbrengen iets leuks met haar te doen. 'Je bent moe hè, mamma', zegt ze dan.";
quotes[4] = "Hoewel het al een jaar geleden is dat ik meedeed aan de online cursus, pas ik de adviezen nog steeds toe. Met name de 'ik-boodschap' en het actief luisteren naar mijn kinderen hebben mij geholpen.";
quotes[5] = "Toen ik begon met de cursus geloofde ik niet dat de nieuwe manieren om mijn kind te benaderen, zouden helpen. De huiswerkopdrachten stimuleren je om ze toch uit te proberen. Het gaf mij een kick om te merken dat ze toch werken!";
quotes[6] = "Door de cursus werd ik me ervan bewust dat als er spanningen in huis zijn, mijn kinderen daar ieder op hun eigen manier op reageren. Ik geef ze nu extra individuele aandacht. Dan voelen ze zich begrepen.";
quotes[7] = "Door de cursus kwam ik erachter dat mijn dochter een verzorgende rol op zich neemt als ik niet lekker in mijn vel zit. Nu weet ik haar op de juiste manier te benaderen en geef ik haar de mogelijkheid om gewoon kind te zijn.";
quotes[8] = "Door de cursus ben ik erachter gekomen dat ik niet de enige ouder ben, die moeite heeft met de opvoeding van mijn kinderen. Het idee dat er andere ouders in eenzelfde situatie zitten, gaf mij veel steun.";

function showRandomQuote()
{
	if(document.getElementById("span_quote"))
	{
		var random_index = Math.floor(Math.random() * quotes.length);
		$("#span_quote").fadeOut(150, function()
				{
					$("#span_quote").html("&quot;" + quotes[random_index] + "&quot;");
					$("#span_quote").fadeIn(450);
				}
		);
		setTimeout("showRandomQuote();", 30 * 1000);
	}
}

