/* 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 gaNaarGolfbaanResultaten(bladzijde)
{
  (document.getElementById('blz')).value = bladzijde;
  
  submitFormulier("zoeken", "golfbaan");
}

/* */
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,resizable=yes,scrollbars=yes,top=200px,width=" + breedte + "px");
}

/* */
function openCustomPopupCentered(url, breedte, hoogte)
{
  window.open(url, "", "height=" + hoogte + "px,left=" + (((screen.width - breedte) / 2)) + "px,resizable=yes,scrollbars=yes,status=1,top=" + (((screen.height - hoogte) / 2)) + "px,width=" + breedte + "px,resizable=1");
}

/* */
function openPopup(url)
{
  window.open(url, "", "height=300px,left=200px,resizable=yes,top=200px,width=420px");
}

/* */
function openPopupFullscreen(url)
{
  window.open(url, "", "height=" + (screen.height - 36) + "px,left=0px,scrollbars=yes,resizable=yes,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");
  
  var type_selector = document.getElementById("sectie_" + sectie_id + "_type");
  
  for(var i = 0; i < type_selector.options.length; i++)
  {
    if(type_selector.options[i].value == template_type)
    {
      type_selector.selectedIndex = i;
      
      break;
    }
  }
}

/* 
  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.style.zIndex                = 12;
      template_bar_button.style.zIndex         = 13;
    }
    else
    {
      template_bar.style.visibility            = "hidden";
      //CHANGED
      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)
{
  openCustomPopupCentered(pad + "php/util/popup/template.php?template_id=" + template_id, 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";
  }
}

function checkPollValue()
{ 		
}

/*
  submit (globaal) formulier
*/

function submitFormulier(actie, object)
{
		var intError = 0;
  
	//var pollSubmit = "0";
	
	//if(object =="poll")
	//{
		//check input
		//pollSubmit = "1";
		//checkPollValue();
		//if (document.form.type.value == "") 
		//type = name of 
		/* if (checkPollValue() == true ) 
		{
			alert("a value is submitted");
		}
		else
		{
			alert("there is no value submitted");
		}
		*/
	//}
	
	//alert("submit word aangeroepen");	
	
	//check baan reactie input
	if(object == "waardering")
	{
		
		var msg = "Niet alle velden zijn ingevuld";
		
		var post_email = document.forms['globaal_formulier'].elements['email'].value;
		var post_naam = document.forms['globaal_formulier'].elements['naam'].value;
		var post_waardering = document.forms['globaal_formulier'].elements['waardering'].value;
		
		if(post_email == "Email" || post_email == "" || post_naam == "Naam" || post_naam == "" || post_waardering == "")
		{
			intError = 1;
			alert(msg);
		}
		
	}	
	
	
	if(actie == "opzeggen")
	{		
		var answer = confirm ("Druk op 'Ok' om uw lidmaatschap opzegging te bevestigen.");
		if (!answer)
			intError = 1;
	}
			
	//zet actie
  document.getElementById("actie").value = actie;
  
  //zet object
  document.getElementById("object").value = object;
  	
	//if(pollSubmit == 0)
	//{
		//submit formulier
		
	if(intError == 0)
	{
		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, 500, 200);
  
  isGewijzigd(id);
  
  submitFormulier("wijzigen", "template");
}

function wijzigURL(id)
{
  openCustomPopupCentered(pad + "php/util/popup/url.php?id=" + id, 500, 200);
}


/* GLOBAL */
function gotoURL(url)
{
  document.location.href = url;
}


/* MAIN MENU */
var menu_id_array    = new Array();
var focussed_menu;
var focussed_submenu;

function focusMenu(object_id)
{   
  var object = document.getElementById("menu_" + object_id);
  
  if(object != null)
  {
    object.className = "menu_tab_mouseover";
  }
}

function focusSubMenu(object_id)
{
  var object = document.getElementById("submenu_" + object_id);
  
  if(object != null)
  {
    object.style.visibility = "visible";
  }
}

var timeout_menu    = null;
var timeout_submenu = null;

function toonMenu(object_id, delay)
{
  var delay = 200;
	
	clearTimeout(timeout_menu);
  clearTimeout(timeout_submenu);
	 
  for(var i = 0; i < menu_id_array.length; i++)
  {
    if(menu_id_array[i] == object_id)
    {
      focusMenu(menu_id_array[i]);      
      
      timeout_submenu = setTimeout('toonSubMenu(' + menu_id_array[i] + ');', delay);
    }
    else if(menu_id_array[i] != focussed_hoofdmenu)
    {
      unfocusMenu(menu_id_array[i]);
    }
    else
    {
      focusMenu(focussed_hoofdmenu);
    }
  }
}

function toonSubMenu(object_id)
{
  clearTimeout(timeout_menu);
  clearTimeout(timeout_submenu);
  
  unfocusSubMenu(focussed_hoofdmenu);
  
  for(var i = 0; i < menu_id_array.length; i++)
  {
    if(menu_id_array[i] == object_id)
    {     
      focusMenu(menu_id_array[i]);
      
      focusSubMenu(menu_id_array[i]);
    }
    else
    {
      unfocusMenu(menu_id_array[i]);
      
      unfocusSubMenu(menu_id_array[i]);
    }
  } 
}

function unfocusMenu(object_id)
{
  var object = document.getElementById("menu_" + object_id);
  
  if(object != null)
  {
    object.className = "menu_tab";
  }
}

function unfocusSubMenu(object_id)
{
  var object = document.getElementById("submenu_" + object_id);
  
  if(object != null)
  {
    object.style.visibility = "hidden";
  }
}


/* VIDEO GUIDE */
var standard_tv_guide;

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 = "playing";
var video_sound_state  = "normal";
var tv_object = null;
var tv_object_embedded = null;

//init objecten
tv_object_embedded = document.getElementById("tv_embedded");

function initPlayer()
{
  if(document.getElementById("tv_guide_description") != null && document.getElementById("tv_guide_" + standard_tv_guide) != null)
  {
    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 if(video_player_state == "stopped")
  {
    object.src = pad + "images/button_pause_mousedown.jpg";
    
    video_player_state = "playing";

    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)
{
	tv_object = document.getElementById("tv");

	video_player_state = "stopped";
  
  //tv_object.controls.stop();
	
	var video_player_div = document.getElementById("video_player");
	var flash_player_div = document.getElementById("flash_player");
	
	video_player_div.style.display = "none";
	flash_player_div.style.display = "block";
	
	//showVideoItem();

  //object.src = pad + "images/button_pause.jpg";
  
  //var play_button = document.getElementById('play_button');
  
  //play_button.src = pad + "images/button_play.jpg";
}

//mouse action(s)

function mouseOutPauseButton(object)
{
  if(video_player_state == "paused")
  {
    object.src = pad + "images/button_play.jpg";
  }
  else if(video_player_state == "stopped")
  {
    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 if(video_player_state == "stopped")
  {
    object.src = pad + "images/button_play_mouseover.jpg";
  }
  else
  {
    object.src = pad + "images/button_pause_mouseover.jpg";
  }
}

function mouseOutStopButton(object)
{
  object.src = pad + "images/button_stop.jpg";
}

function mouseOverStopButton(object)
{
  object.src = pad + "images/button_stop_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 geefObject(id)
{
  var object = document.getElementById(id);
  
  return object;
}

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.length < 2 ? "0" : "") + value; }
    if(field == "minute"){ time_array[1] = (value.length < 2 ? "0" : "") + value; }
    if(field == "second"){ time_array[2] = (value.length < 2 ? "0" : "") + 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 checkInputValue(fieldId, fieldValue)
{	
	var field = document.getElementById(fieldId);

	if(field.value == fieldValue)
	{
		field.value = "";
	}		
}

