/* NAVIGATION */

var focussed_hoofdmenu;

/* */
function gaNaar(url)
{
	document.location.href = url;
}

/* */
function gaNaarBladzijde(bladzijde)
{
	gaNaar(voegParameterToeAanURL(document.location.href, "blz", bladzijde));
}

/* */
function gaNaarPositie(naam)
{
	document.location.href = "#" + naam;
}

/* zoek machine */
function gaNaarResultaten(bladzijde)
{
	(document.getElementById('blz')).value = bladzijde;

	submitFormulier("zoeken", "zoekmachine");
}

/* */
function gaNaarURL(url, opgegeven_kant)
{
	if(opgegeven_kant == kant)
	{
		document.location.href = url;
	}
}

/* */
function geefOpVoorNieuwsbrief()
{
	gaNaar('index.php?pagina_id=46');
}

/* */
function openCustomPopup(url, breedte, hoogte)
{
	window.open(url, "", "height=" + hoogte + "px,left=200px,scrollbars=yes,top=200px,width=" + breedte + "px");
}

/* */
function openCustomPopupCentered(url, breedte, hoogte)
{
	window.open(url, "", "height=" + hoogte + "px,left=" + (((screen.width - breedte) / 2)) + "px,scrollbars=yes,status=1,top=" + (((screen.height - hoogte) / 2)) + "px,width=" + breedte + "px");
}

/* */
function openPopup(url)
{
	window.open(url, "", "height=300px,left=200px,top=200px,width=420px");
}

/* */
function openPopupFullscreen(url)
{
	window.open(url, "", "height=" + (screen.height - 36) + "px,left=0px,top=0px,width=" + (screen.width - 8) + "px");
}

/* */
function stuurDoor(pagina_id)
{
	openCustomPopupCentered(pad + 'template/popup/vertel_een_vriend.php?pagina_id=' + pagina_id + '', '480', '240');
}

/* */
function verversParentScherm()
{
	self.opener.location.href = self.opener.location.href;
}

/* */
function verversScherm()
{
	document.location.href = document.location.href;
}

/* */
function volgendeBladzijde()
{
	gaNaar(voegParameterToeAanURL(document.location.href, "blz", (parseInt(blz) + 1)));
}

/* */
function vorigeBladzijde()
{
	gaNaar(voegParameterToeAanURL(document.location.href, "blz", (parseInt(blz) - 1)));
}

/* FADE */

function opacity(id, opacStart, opacEnd, millisec)
{
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("pasOpacityAan(" + i + ",'" + id + "');",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("pasOpacityAan(" + i + ",'" + id + "');",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function pasOpacityAan(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

/* GUI METHODEN */

/*
	bestand invoegen
*/
function bestandInvoegen(bestand, veld_id)
{
	(document.getElementById(veld_id)).value = bestand;

	if(document.getElementById("afbeelding_" + veld_id) != null)
	{
		document.getElementById("afbeelding_" + veld_id).src = upload_pad + bestand;
	}
}

function bestandRemoteInvoegen(bestand, veld_id)
{
	self.opener.bestandInvoegen(bestand, veld_id);
	window.close();
}

/*
	reacties
*/

function plaatsReactie()
{
	document.getElementById("reacties_div").style.visibility       = "hidden";
	document.getElementById("plaats_reactie_div").style.visibility = "visible";

	document.location.href = "#reactie";
}

function toonReacties()
{
	document.getElementById("reacties_div").style.visibility       = "visible";
	document.getElementById("plaats_reactie_div").style.visibility = "hidden";
}

/*
	selecteer template type
*/

function selecteerTemplateType(sectie_id, template_type)
{
	var static_selector  = document.getElementById("sectie_" + sectie_id + "_static");
	var pointer_selector = document.getElementById("sectie_" + sectie_id + "_pointer");
	var custom_selector  = document.getElementById("sectie_" + sectie_id + "_custom");

	static_selector.style.visibility  = (template_type == "static"  ? "visible" : "hidden");
	pointer_selector.style.visibility = (template_type == "pointer" ? "visible" : "hidden");
	custom_selector.style.visibility  = (template_type == "custom"  ? "visible" : "hidden");

	static_selector.style.position  = (template_type == "static"  ? "relative" : "absolute");
	pointer_selector.style.position = (template_type == "pointer" ? "relative" : "absolute");
	custom_selector.style.position  = (template_type == "custom"  ? "relative" : "absolute");
}

/*
	template bar
*/

var current_template = 0;

function toggleTemplateBar(template_id)
{
	if(current_template > 0)
	{
		(document.getElementById("template_" + current_template)).style.zIndex = 2;
		(document.getElementById("template_" + template_id)).style.zIndex = 10;
	}

	current_template = template_id;

	var template_bar            = document.getElementById(template_id + "_template_bar");
	var template_bar_button     = document.getElementById(template_id + "_template_bar_button");
	var template_bar_background = document.getElementById(template_id + "_template_bar_background");

	if(template_bar != null)
	{
		if(template_bar.style.visibility == "hidden")
		{
			template_bar.style.visibility            = "visible";
			//CHANGED
			//template_bar_background.style.visibility = "visible";
			//template_bar_background.zIndex           = 11;
			template_bar.style.zIndex                = 12;
			template_bar_button.style.zIndex         = 13;
		}
		else
		{
			template_bar.style.visibility            = "hidden";
			//CHANGED
			//template_bar_background.style.visibility = "hidden";
			//template_bar_background.zIndex           = 1;
			template_bar.style.zIndex                = 2;
			template_bar_button.style.zIndex         = 3;
		}
	}
}

/*
	bewerk blok
*/

function bewerkBlok(template_id)
{
	openCustomPopupCentered(pad + "php/util/popup/blok.php?template_id=" + template_id, 566, 600);
}

/*
	bewerk template
*/

function bewerkTemplate(template_id, taal)
{
	openCustomPopupCentered(pad + "php/util/popup/template.php?template_id=" + template_id + "&taal=" + taal, 506, 600);
}

function bewerkTemplateWizzard(template_id)
{
	openCustomPopupCentered("nieuw.stap1.php?template_id=" + template_id, 540, 560);

	return false;
}

function verplaatsTemplate(template_id, richting)
{
	document.getElementById('id').value     = template_id;
	document.getElementById('waarde').value = richting;

	submitFormulier('verplaats', 'template');
}


/* FORM METHODEN */

/*
	item gewijzigd
*/

function isGewijzigd(id, sectie)
{
	//item(s)
	document.getElementById("id").value += (id + ",");

	//sectie(s)
	document.getElementById("sectie").value += (sectie + ",");
}

/*
*/

function zetGewijzigd(id)
{
	document.getElementById("id").value = id;
}

/*
	item toevoegen
*/

function itemToevoegen(object, item_id)
{
	document.getElementById("id").value = item_id;

	submitFormulier("toevoegen", object);
}

/*
	item toevoegen aan sectie
*/

function bepaaldeTemplateToevoegenAanSectie(object, pagina_id, sectie_id, template_naam)
{
	document.getElementById("pagina").value = pagina_id;
	document.getElementById("sectie").value = sectie_id;
	document.getElementById("id").value = template_naam;
	submitFormulier("toevoegen", object);
}

function itemToevoegenAanSectie(object, pagina_id, sectie_id, item_type)
{
	document.getElementById("pagina").value = pagina_id;
	document.getElementById("sectie").value = sectie_id;
	document.getElementById("id").value     = item_type;

	submitFormulier("toevoegen", object);
}

function templateToevoegenAanSectie(object, pagina_id, sectie_id)
{
	document.getElementById("pagina").value = pagina_id;
	document.getElementById("sectie").value = sectie_id;
	var template_type                       = document.getElementById("sectie_" + sectie_id + "_type");
	template_type                           = template_type.options[template_type.selectedIndex].value;
	var template_naam                       = document.getElementById("sectie_" + sectie_id + "_" + template_type);

	if(template_naam != null)
	{
		template_naam                           = template_naam.options[template_naam.selectedIndex].value;
		document.getElementById("id").value     = template_naam;

		if(template_type != "" && template_naam != "")
		{
			submitFormulier("toevoegen", object);
		}
		else
		{
			alert("U heeft geen geldige template geselecteerd");
		}
	}
	else
	{
		alert("U heeft geen geldige template type geselecteerd");
	}
}

/*
	item toevoegen aan template
*/

function blokToevoegenAanTemplate(template_id)
{
	var template_naam                         = document.getElementById("template_" + template_id + "_blok");
	template_naam                             = template_naam.options[template_naam.selectedIndex].value;
	document.getElementById("id").value       = template_naam;
	document.getElementById("template").value = template_id;

	submitFormulier("toevoegen", "blok");
}

/*
	item verwijderen
*/

function itemVerwijderen(object, item_id)
{
	document.getElementById("id").value = item_id;

	if(confirm("Weet u zeker dat u dit item wilt verwijderen?") == true)
	{
		submitFormulier("verwijderen", object);
	}
}

/*
	item verwijderen uit sectie
*/

function itemVerwijderenUitSectie(object, sectie_id, item_id)
{
	document.getElementById("sectie").value = sectie_id;
	document.getElementById("id").value = item_id;

	submitFormulier("verwijderen", object);
}

/*
	item wijzigen
*/

function itemWijzigen(object, item_id)
{
	document.getElementById("id").value = item_id;

	submitFormulier("wijzigen", object);
}

/*
	item (on)zichtbaar maken
*/

function itemZichtbaar(object, item_id)
{
	isGewijzigd(item_id);
	var zichtbaar = document.getElementById(item_id + "_zichtbaar").value;

	if(zichtbaar == "0")
	{	//maak zichtbaar
		document.getElementById(item_id + "_zichtbaar").value           = "1";
	}
	else
	{ //maak onzichtbaar
		document.getElementById(item_id + "_zichtbaar").value           = "0";
	}
}

/*
	submit (globaal) formulier
*/

function submitFormulier(actie, object)
{
	//zet actie
	document.getElementById("actie").value = actie;

	//zet object
	document.getElementById("object").value = object;

	//submit formulier
	document.getElementById("globaal_formulier").submit();
}

/*
*/

function selecteerModus(modus)
{
	var url = document.location.href;

	url     = voegParameterToeAanURL(url, "modus", modus);

	gotoURL(url);
}

function voegURLToe(id, groep)
{
	openCustomPopupCentered(pad + "php/util/popup/url.php?template_id=" + id + "&groep=" + groep, 400, 200);

	isGewijzigd(id);

	submitFormulier("wijzigen", "template");
}

function wijzigURL(id)
{
	openCustomPopupCentered(pad + "php/util/popup/url.php?id=" + id, 400, 200);
}


/* GLOBAL */

function gotoURL(url)
{
	document.location.href = url;
}


/* MENU */

var current_menu   = null;
var previous_menu  = null;

function mouseOutMenu(object)
{
	if(object != focussed_hoofdmenu)
	{
		mouseOverMenu(focussed_hoofdmenu);
	}

	if(object != null)
	{
		object.className = "menu_tab";

		document.getElementById("sub" + object.id).style.visibility = "hidden";
	}
}

function mouseOverMenu(object)
{
	if(object != current_menu)
	{
		previous_menu = current_menu;

		current_menu  = object;

		if(previous_menu != null)
		{	//deselecteer vorig menu
			previous_menu.className = "menu_tab";

			document.getElementById("sub" + previous_menu.id).style.visibility = "hidden";
		}
	}

	if(object != focussed_hoofdmenu)
	{
		mouseOutMenu(focussed_hoofdmenu);
	}

	if(object != null)
	{
		object.className = "menu_tab_mouseover";

		document.getElementById("sub" + object.id).style.visibility = "visible";
	}
}

/* VIDEO GUIDE */
var standard_tv_guide = "video_1";

function mouseOutVideoItem(object)
{
	object.className = "tv_guide_item";

	document.getElementById("tv_guide_description").innerHTML = document.getElementById("tv_guide_" + standard_tv_guide).innerHTML;
}

function mouseOverVideoItem(object)
{
	object.className = "tv_guide_item_mouseover";

	document.getElementById("tv_guide_description").innerHTML = document.getElementById("tv_guide_" + object.id).innerHTML;
}

function showVideoItem()
{
	document.getElementById("tv_guide_description").innerHTML = document.getElementById("tv_guide_" + standard_tv_guide).innerHTML;
}

/* VIDEO PLAYER */
var video_player_state = "paused";
var video_sound_state  = "normal";
var tv_object = null;
var tv_object_embedded = null;

function initPlayer()
{
	tv_object          = document.getElementById("tv");
	tv_object_embedded = document.getElementById("tv_embedded");

	document.getElementById("tv_guide_description").innerHTML = document.getElementById("tv_guide_" + standard_tv_guide).innerHTML;
}

function muteVolumePlayer(object)
{
	if(video_sound_state == "normal")
	{
		object.src = pad + "images/button_sound_mousedown.jpg";

		video_sound_state = "mute";

		tv_object.settings.mute = "1";

		object.src = pad + "images/button_muted.jpg";
	}
	else
	{
		object.src = pad + "images/button_muted_mousedown.jpg";

		video_sound_state = "normal";

		tv_object.settings.mute = "0";

		object.src = pad + "images/button_sound.jpg";
	}
}

function pausePlayer(object)
{
	if(video_player_state == "playing")
	{
		object.src = pad + "images/button_play_mousedown.jpg";

		video_player_state = "paused";

		tv_object.controls.play();

		object.src = pad + "images/button_pause.jpg";
	}
	else
	{
		object.src = pad + "images/button_pause_mousedown.jpg";

		video_player_state = "playing";

		tv_object.controls.pause();

		object.src = pad + "images/button_play.jpg";
	}
}

function stopPlayer(object)
{
	pausePlayer(object);

	if(tv_object != null)
	{
		tv_object.src = "";
	}

	if(tv_object_embedded != null)
	{
		tv_object_embedded.src = "";
	}
}

//mouse action(s)

function mouseOutPauseButton(object)
{
	if(video_player_state == "paused")
	{
		object.src = pad + "images/button_play.jpg";
	}
	else
	{
		object.src = pad + "images/button_pause.jpg";
	}
}

function mouseOverPauseButton(object)
{
	if(video_player_state == "paused")
	{
		object.src = pad + "images/button_play_mouseover.jpg";
	}
	else
	{
		object.src = pad + "images/button_pause_mouseover.jpg";
	}
}

function mouseOutMuteButton(object)
{
	if(video_sound_state == "normal")
	{
		object.src = pad + "images/button_sound.jpg";
	}
	else
	{
		object.src = pad + "images/button_muted.jpg";
	}
}

function mouseOverMuteButton(object)
{
	if(video_sound_state == "normal")
	{
		object.src = pad + "images/button_sound_mouseover.jpg";
	}
	else
	{
		object.src = pad + "images/button_muted_mouseover.jpg";
	}
}

/*
	UTIL
*/

function transformeerDatum(bron_object_id, doel_object_id)
{
	var datum       = document.getElementById(bron_object_id).value;

	var datum_array = datum.split("-");

	document.getElementById(doel_object_id).value = (datum_array[2] + "-" + datum_array[1] + "-" + datum_array[0]);
}

function verwijderParameterUitURL(url, naam)
{
	var url_splitted = url.split("?");
	var url          = url_splitted[0];

	if(url_splitted.length > 1)
	{
		var params = url_splitted[1];

		if(params.indexOf("&") > 0)
		{
			var param_array = params.split("&");

			for(var p = 0; p < param_array.length; p++)
			{
				var param_name = param_array[p].split("=");

				if(param_name[0] != naam)
				{
					url += (p == 0 ? "?" : "&") + param_array[p];
				}
			}
		}
		else
		{
			var param_name = params.split("=");

			if(param_name[0] != naam)
			{
				url += "?" + params;
			}
		}
	}

	return url;
}

function voegParameterToeAanURL(url, naam, waarde)
{
	url = verwijderParameterUitURL(url, naam);

	if(url.indexOf("?") > 0)
	{
		url += "&" + naam + "=" + waarde;
	}
	else
	{
		url += "?" + naam + "=" + waarde;
	}

	return url;
}

function zetDatumTijd(object_id, type, field, value)
{
	var object = document.getElementById(object_id);
	var object_value = object.value;

	//the value of the object has not beed set yet
	if(object_value == "")
	{
		if(type == "date")
		{
			object_value = "0000-00-00";
		}
		if(type == "time")
		{
			object_value = "00:00:00";
		}
		if(type == "datetime")
		{
			object_value = "0000-00-00 00:00:00";
		}
	}

	var new_object_value = "";

	//process date
	if(type == "date" || type == "datetime")
	{
		var date       = object_value.split(" ");
		var date_array = date[0].split("-");

		if(field == "day")  { date_array[2] = value; }
		if(field == "month"){ date_array[1] = value; }
		if(field == "year") { date_array[0] = value; }

		new_object_value += date_array[0] + "-" + date_array[1] + "-" + date_array[2];
	}

	//process time
	if(type == "time" || type == "datetime")
	{
		var time       = object_value.split(" ");
		var time_array = (type == "datetime" ? time[1].split(":") : time[0].split(":"));

		if(field == "hour")  { time_array[0] = value; }
		if(field == "minute"){ time_array[1] = value; }
		if(field == "second"){ time_array[2] = value; }

		new_object_value += (type == "datetime" ? " " : "") + time_array[0] + ":" + time_array[1] + ":" + time_array[2];
	}

	object.value = new_object_value;

	return new_object_value;
}
function voegProductSpecToe(id)
{
	openCustomPopupCentered(pad + "php/util/popup/productspec.php?template_id=" + id, 300, 200);

	isGewijzigd(id);

	submitFormulier("wijzigen", "template");
}

function wijzigProductSpec(id)
{
	openCustomPopupCentered(pad + "php/util/popup/productspec.php?id=" + id, 300, 200);
}
function verwijderProductSpec(id, name)
{
	if( window.confirm( "Weet u zeker dat u het productspecificatie '" + name + "' wilt verwijderen?" ) )
		openCustomPopupCentered(pad + "php/util/popup/productspec.php?actie=verwijder&id=" + id, 300, 200);
}


function voegProductFileToe(id)
{
	openCustomPopupCentered(pad + "php/util/popup/productfile.php?template_id=" + id, 300, 200);

	isGewijzigd(id);

	submitFormulier("wijzigen", "template");
}

function verwijderProductFile(id, name)
{
	if( window.confirm( "Weet u zeker dat u het productsbestand '" + name + "' wilt verwijderen?" ) )
		openCustomPopupCentered(pad + "php/util/popup/productfile.php?actie=verwijder&id=" + id, 300, 200);
}


