
$(document).ready(function()
{
	$("div#search input.search-input, div#searchresult-input input.search-input").keydown( checkSearchEnter );
	$("div#search input.search-button, div#searchresult-input input.search-button").click( startSearch );
	$("div#contentcolmain div.contentpane").mouseover(cacher);
	$("div#search input.search-input").focus(searchInputFocus);
	$("div#search input.search-input").keyup(searchInputFocus);
	$("div#search input.search-input").blur(searchInputBlur);

	// Hoofdpaneel iets smaller maken in admin modus, zodat deze met de door dnn toegevoegde border
	// erbij nog naast het leftpane en rightpane past.
	if ($('input#_hx_admin').val() == 'true')
	{
		// $('div#pageframe div#contentcolmain').css('width', '793px');
		$('div#pageframe div#contentcolmain div.tweekolom div.tweekolom-A').css('width', '525px');
		$('div#pageframe div#contentcolmain div.driekolom div.driekolom-A').css('width', '220px');
		$('div#pageframe div#contentcolmain div.driekolom div.driekolom-C').css('width', '220px');
		// $('a.CommandButton:contains["Tekst bewerken"]').addClass('actionbutton-tekst-bewerken');
	}
	
	var searchterm = $("input#highlight-searchterm");
	if (searchterm.length > 0)
	{
		$('div#contentcolmain div.contentpane').highlight(searchterm.val());
	}
});


function startSearch($evt)
{
	$evt.preventDefault();
	
	/*
	var q = $('div#search-basic input.search-input').val();
	q = q.replace(/^\s+/, '').replace(/\s+$/, '');  // trim left, trim right
	// search with empty querystring allowed if arbocat filters are activated
	if (q.length === 0 && $('input#search-filter-all').attr('checked')) return;
	*/
	
	var url = "/Default.aspx?tabid=595&" + $($evt.target).parent().find('input').serialize();
	
	document.location = url;
}


function checkSearchEnter($evt)
{
	if ($evt.keyCode == 13)
	{
		$evt.stopPropagation();
		startSearch($evt);
	}
}


function searchInputFocus($evt)
{
	var s = $("div#search input.search-input").val()
	if (s == "ZOEKEN")
	{
		$("div#search input.search-input").val("");
	}
	else
	{
		if (s.length > 2)
		{
			var url = "/Portals/vo/controls/SearchTips.aspx?q=" + $("div#search input.search-input").val();
			$("div#searchtips div.links").load(url,
				function()
				{
					if ($("div#searchtips div.links a.type").length == 0)
					{
						$("div#searchtips").hide();
					}
					else
					{
						$("div#searchtips").show();
						$("div#searchtips div.alles a").attr("href", "/Default.aspx?tabid=595&q=" + $("div#search input.search-input").val());
					}
				});
		}
		else
		{
			$("div#searchtips").hide();
		}
	}
}


function searchInputBlur($evt)
{
	window.setTimeout('$("div#searchtips").hide();', 250);
}


function montre(pObj, id)
{
	cacher();

	if (id == null) return;
	if (id.length == 0) return;
	
	var element = document.getElementById(id);
	if (element)
	{
		var top = pObj.offsetTop + 30;
		element.style.top = top + "px";
		element.style.left = pObj.offsetLeft + "px";
		element.style.display = "block";
	}
}

function cacher()
{
	var menubar = document.getElementById("menubar");
	var containers = menubar.getElementsByTagName("dd");

	for (var i = 0; i <= containers.length; i++)
	{
		if (containers[i])
		{
			if (containers[i].id.substring(0, 7) == "submenu")
				containers[i].style.display = "none";
		}
	}
}


// Afdrukken van de pagina-inhoud m.b.v. een nieuw window waar het inhoud-deel van de huidige
// pagina naar toe wordt gekopieerd.
function printInhoud()
{
	// neem inhoud van tabelcel voor het contentpane
	var html = new String(document.getElementById("contentcolmain").innerHTML);

	// plaats inhoud in html context met stylesheet
	html = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
		+ "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
		+ "<title>" + document.title + "</title>\n"
		+ "<style type='text/css'> \n"
		+ "@import '/Portals/vo/Skins/vo/print.css'; \n"
		+ "</style>\n"
		+ "<script type='text/javascript' src='/Portals/vo/Skins/vo/print.js'></script>\n"
		+ "</head>\n"
		+ "<body>\n"
		+ "<div id='printbar'>\n"
		+ "<img src='/Portals/vo/Skins/vo/images/logo-print.png' />\n"
		+ "<a href='javascript:afdrukken();'>Afdrukken</a> <a href='javascript:window.close();'>Sluiten</a>"
		+ "</div>\n"
		+ html
		+ "</body></html>";

	if (html.length)
	{
		// open popup window, schrijf print-inhoud erin en open print dialog
		var args = "height=520, width=620, resizable=yes, scrollbars=yes, directories=no, location=no, menubar=no, toolbar=no";
		var printwindow = window.open("", "printwindow", args);
		printwindow.document.write(html);
		printwindow.document.close(); // (flush buffer met in window geschreven html)
	}
}


function paginaDoorsturen()
{
	if ($('div#paginadoorsturen').length == 0)
	{
		paginaDoorsturenSetup();
	}
	else
	{
		$('div#paginadoorsturen .validatie').remove();
		$('div#paginadoorsturen div.paginaverstuurd').hide();
		$('div#paginadoorsturen img.loader').hide();
		$('div#paginadoorsturen div.invoer').show();
	}
	
	$('div#paginadoorsturen').dialog('open');
}


function paginaDoorsturenSetup()
{
	var tabid = $('input#_hx_tabid').val();
	var popuphtml
		= "<div id='paginadoorsturen' title=\"Pagina doorsturen: " + document.title +"\">"
			+ "<div class='invoer'>"
				+ "<input type='hidden' name='tabid' value='" + tabid + "' />"
				+ "<label for='ontvanger'>Aan (E-mail):</label>"
				+ "<input name='ontvanger' id='ontvanger' class='frmveld' type='text' /><br />"
				+ "<label for='afzender'>Naam afzender:</label>"
				+ "<input name='afzender' id='afzender' class='frmveld' type='text' />"
				+ "<label for='afzenderadres'>E-mail afzender:</label>"
				+ "<input name='afzenderadres' id='afzenderadres' class='frmveld' type='text' />"
				+ "<p>&nbsp;</p>"
				+ "<div>Bericht:</div><label for='bericht'></label>"
				+ "<div><textarea name='bericht' id='bericht' class='bericht'></textarea></div>"
				+ "<img class='loader' src='/Portals/vo/Skins/vo/images/ajax-loader.gif' alt='' />"
			+ "</div>"
		+ "</div>";
	$('div#pageframe').append(popuphtml);


	$('div#paginadoorsturen').dialog(
	{
		autoOpen: false,
		width: 500,
		resizable: false,
		buttons:
		{
			"Verzenden": function()
			{
				$('div#paginadoorsturen .validatie').remove();
				$('div#paginadoorsturen img.loader').show();
				// todo: maak verzend knop disabled
				var input = $('div#paginadoorsturen div.invoer input, div#paginadoorsturen div.invoer textarea').serialize();

				$.getJSON('/Portals/vo/controls/PaginaDoorsturen.aspx', input, function(result)
				{
					if (result.success)
					{
						var ontvanger = $('div.invoer input#ontvanger').val();
						$('div#paginadoorsturen img.loader').hide();
						$('div#paginadoorsturen div.invoer').hide().after(
							"<div class='paginaverstuurd'>"
							+ "<p>Uw bericht is met een link naar deze pagina verstuurd naar</p>"
							+ "<span class='ontvanger'>" + ontvanger + "</span>."
							+ "<div class='knoppen'><a class='sluitknop' href='" + document.location + "'>Sluiten</a></div>"
							+ "</div>");
					}
					else if (result.errors)
					{
						$('div.invoer div.knoppen img.loader').hide();
						for (var i = 0; i < result.errors.length; i++)
						{
							var lbl = $('div#paginadoorsturen label[for=' + result.errors[i].field + ']');
							lbl.before("<div class='validatie'>" + result.errors[i].msg + "</div>");
						}
					}
					else
					{
						$('div.invoer').hide().after(
							"<div class='foutmelding'>"
							+ "<p>Er is een fout opgetreden, uw bericht kon niet verstuurd worden.</p>"
							+ "<div class='knoppen'><a class='sluitknop' href='" + document.location + "'>Sluiten</a></div>"
							+ "</div>");
					}
				});
			}, 
			"Annuleren": function()
			{ 
				$(this).dialog("close");
				// dit is niet bij annuleren, maar bij sluiten na succesvolle versturing
				// ik moet nog uitzoeken hoe ik de tekst van deze knop verander als de
				// verzenden geslaagd mededeling getoond wordt.
				var x = $('div#paginadoorsturen div.paginaverstuurd')
				if (x.length) $('div#paginadoorsturen').remove();
			} 
		}
	});
}


