var location_href = "/inspiratieboek";
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)) )
	{
		alert("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);
				location.href = location_href;
			} 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.";
				}
				alert(reply);
			}
		}
	);
}
function logOut(lo_hash)
{
	$.post("../includes/helpers/get_logged_out.php", { logout: "yes", lo_hash: lo_hash },
	function(reply)
	{
		if("ok" == reply)
		{
			location.href = location_href;
			//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 > 36) )
	{
		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();
}

function activateLesson(lesson, id, conn_id)
{
//	alert(conn_id);
	if($('#activecheck'+lesson).is(':checked'))
	{
		//add activation
		$.post("../modules/object/helpers/_30_client_progress_change.php", { user_id:id , lesson_id:lesson, action:'add'} ,
		function(reply)
		{
			//				$('#menu-popup-content').html(reply);
			//				$('#messageSent').slideDown(500);
			//				setTimeout("$('#messageSent').slideUp(500);", 5000);
		}
		);
	}
	else
	{
		//remove activation
		$.post("../modules/object/helpers/_30_client_progress_change.php", { user_id:id , lesson_id:lesson, action:'remove', id:conn_id} ,
		function(reply)
		{
			//				$('#menu-popup-content').html(reply);
			//				$('#messageSent').slideDown(500);
			//				setTimeout("$('#messageSent').slideUp(500);", 5000);
		}
		);
	}
}

function updateAanmelding(acc, amid)
{

	if ($('#accepted_'+acc).is(':checked'))
	{
		$.post("../modules/object/helpers/_30_aanmelding_change.php", { varname:1, acc:acc, id:amid} ,
			function(reply)
			{
				//
			}
		);
	}
	else
	{
		$.post("../modules/object/helpers/_30_aanmelding_change.php", { varname:0, acc:acc, id:amid} ,
			function(reply)
			{
				//
			}
		);
	}

}

function createUser(id)
{
	if ($('#accepted_1').is(':checked') && $('#accepted_2').is(':checked'))
	{
		$.post("../modules/object/helpers/_30_create_user.php", { userid:id} ,
				function(reply)
				{
					if("ok" == new String(reply).substring(0, 2))
					{
						alert('User aangemaakt.');
					}
					else
					{
						alert('Er is iets misgegaan. \nFoutcode: '+reply);
					}
				}
		);
	}
	else
	{
		alert('Allebei de vinkjes moeten gezet zijn om een user aan te kunnen maken.');
	}
}

function editUser()
{
	$.post("../modules/object/helpers/_30_edit_user.php", $("#form_user_data").serialize() ,
				function(reply)
				{
					$('#div_error_message').hide();
					if("ok" == new String(reply).substring(0, 2))
					{
						$('#div_result_message').slideDown(200);
						setTimeout("$('#div_result_message').slideUp(200);", 7000);
					}
					else
					{
						$('#div_error_message').html(reply);
						$('#div_error_message').slideDown(200);
						//setTimeout("$('#div_error_message').slideUp(200);", 3000);
					}
				}
		);
}

function phoneLog(id)
{
	$.post("../modules/object/helpers/_30_phone_log_add.php", {id:id, text:$('#phone_log_text').val()} ,
				function(reply)
				{
					//
				}
		);
}
