// JavaScript Document

// laden van de loader die wordt gebruikt bij AJAX
loader=new Image();
loader.src="/assets/ajax-loader.gif";



// functie die bij een click alleen de content verandert:
function Click(dataSource, divID, get, noloader, Focus, Help)
{
	// bij demo aan dit meesturen naar content lader
	if(demo_switch.switcher)
	{
		get = 'demo=1&' + get;
	} 
	
	GetData(dataSource, divID, get, noloader, Focus, Help);
}



// DMV GET informatie verzenden en ophalen via AJAX:

// dataSource: waar dient de informatie te worden opgehaald
// divID: naar welke div moet de opgehaalde info worden gestuurd
// get: wat moet via GET doorgegeven worden
// noloader: geeft aan dat de loader niet weergegeven dient te worden
// Focus: legt de focus op het eerste form item
// help: geeft link voor help info nodig indien aanwezig
// updateCheck: voorkomt dat de help link verdwijnt door de continue update_onlineheid checks
function GetData(dataSource, divID, get, noloader, Focus, Help, UpdateCheck)
{

var xmlhttp=false;

	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
	{
  	  xmlhttp = new XMLHttpRequest();  
	}


	  if(xmlhttp) 
	  {
	    var obj = document.getElementById(divID);
	    var laden = document.getElementById('laden-div');
		dataSource = dataSource + "?" + Math.random(); 
		if (get)
		{
		  dataSource = dataSource + "&" + get;
		}
		xmlhttp.open("GET", dataSource);

		xmlhttp.onreadystatechange = function()
		{
		  if (xmlhttp.readyState == 4 && 
		    xmlhttp.status == 200) 
		  {
		    obj.innerHTML = xmlhttp.responseText;
			delete xmlhttp;
			xmlhttp = null;

			// zorgen dat browser bovenaan komt
				var browser=navigator.appName;
				if (browser == 'Netscape')
				{
					obj.scrollTop = 900000000000;
				} else
				{
					var version = defineVersion();
					if (version != "8") // IE8, scrollen net als firefox
					{
						obj.scrollTop = -9000000000000;
					} else {
						obj.scrollTop = 9000000000000;
					}
				}

			// laden div cleanen
//			setTimeout("var laden = document.getElementById('laden-div');laden.innerHTML = ' '", 600);

			// help link weergeven?
			if(Help)
			{
				changeRule(6 ,'visible');
			} else if(!UpdateCheck) 
			{
				changeRule(6 ,'hide');
			}
			//cursor in het eerste veld zetten:
			if (Focus)
			{
				putFocus(0,0);
			}
			// lightwindow (nodig bij AJAX)
			var light = document.getElementById('lightwindow_gallery_div');
			if(light.innerHTML)
			{
				LightWindowGallery();
			}
		  } else if ((xmlhttp.readyState == 1 || xmlhttp.readyState == 2 || xmlhttp.readyState == 3))
		  {
			if (!noloader)
			{
			  if(obj.innerHTML != "<b>Laden</b> <img src='/assets/ajax-loader.gif' />")
			  {
			  	obj.innerHTML = "<b>Laden</b> <img src='/assets/ajax-loader.gif' />";
			  }
			}
		  } else {
			  obj.innerHTML = '<center>Ophalen informatie niet gelukt</center>', xmlhttp.responseText;
		  }
		}
		xmlhttp.send(null);
	  }
}






// functie die voorkomt dat ik alle oude forms van creepmusic moet aanpassen
function postData(dataSource, divID, form, Focus)
{
	PostData(dataSource, divID, '', Focus, form);
}

// Functie om info via de POST te versturen via AJAX
// variabelen: de link en de info die via de post wordt verstuurd
// als ook de divID en eventueel focus
function PostData(dataSource, divID, Poststr, Focus, form)
{
var xmlhttp=false;

/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
{
  xmlhttp = new XMLHttpRequest();  
}

	  if(xmlhttp) 
	  {
	    var obj = document.getElementById(divID);
		xmlhttp.open("POST", dataSource, true);
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		xmlhttp.onreadystatechange = function()
		{
		  if (xmlhttp.readyState == 4 && 
		    xmlhttp.status == 200) 
		  {
		    obj.innerHTML = xmlhttp.responseText;

			//cursor in het eerste veld zetten:
			if (Focus)
			{
				putFocus(0,0);
			}
			
		  } else if (xmlhttp.readyState == 1 || xmlhttp.readyState == 2 || xmlhttp.readyState == 3 )
		  {
			obj.innerHTML = "<center><br /><img src='/assets/ajax-loader.gif' /></center>";
		  } else {
			  obj.innerHTML = '<center>Ophalen informatie niet gelukt.</center>';
		  }
		}
    }


	//////// De informatie uit de formulieren halen: ////////////////////

		if(form == 'titel_aanpassen')
		{
			// variabelen ophalen:
			// verzenden van variabelen:
			xmlhttp.send("titel=" + escape(encodeURI(document.titel_aanpassen.titel.value)));


		} else if(form == 'songtext_aanpassen')
		{
			// variabelen ophalen:
			// verzenden van variabelen:
			xmlhttp.send("songtext=" + escape(encodeURI(document.songtext_aanpassen.songtext.value)));


		} else if(form == 'songpage_verwijderen')
		{
			var songpage_id = document.getElementById('songpage_id').
			    options[document.getElementById('songpage_id').selectedIndex].value;

			xmlhttp.send("songpage_id=" + songpage_id);


		} else if(form == 'songpage_verwijderen_bevestigd')
		{
			xmlhttp.send("songpage_id=" + escape(encodeURI(document.songpage_verwijderen.songpage_id.value)));


		// bericht_toevoegen:
		} else if(form == 'bericht_toevoegen')
		{
			// variabelen ophalen:
			if(typeof(document.book.elements['naam']) != 'undefined')
			{
			  // naam opgegeven:
			  var info = document.book.naam.value;
			} else {
				var info = "";
			}
			if(typeof(document.book.elements['email']) != 'undefined')
			{
			  // email opgegeven:
			  info += "&=&&&=&" + document.book.email.value;
			} else {
				info += "&=&&&=&";
			}
			if(typeof(document.book.elements['website']) != 'undefined')
			{
			  // naam opgegeven:
			  info += "&=&&&=&" + document.book.website.value;
			} else {
				info += "&=&&&=&";
			}
			if(typeof(FCKeditorAPI) == "object")
			{
			  var fckcontent = escape(FCKeditorAPI.GetInstance('message').GetXHTML());
			  info += "&=&&&=&" + fckcontent;
			} else if(typeof(document.book.elements['message']) != 'undefined')
			{
			  // bericht opgegeven:
			  info += "&=&&&=&" + document.book.message.value;

			} else {
				info += "&=&&&=&";
			}

			// verzenden van variabelen:
			xmlhttp.send("post=" + escape(encodeURI(info)));

			// bevestigen van het te plaatsen bericht. alle info zit in de hidden variabele post
		} else if(form == 'bericht_toevoegen_bevestigen')
		{
			var Sending = document.bericht_toevoegen.post.value;

			xmlhttp.send("post=" + escape(encodeURI(Sending)));


		} else if(form == 'titel_aanpassen')
		{
			// variabelen ophalen:
			// verzenden van variabelen:
			xmlhttp.send("titel=" + escape(encodeURI(document.titel_aanpassen.titel.value)));


		} else if(form == 'songtext_aanpassen')
		{
			// variabelen ophalen:
			// verzenden van variabelen:
			xmlhttp.send("songtext=" + escape(encodeURI(document.songtext_aanpassen.songtext.value)));


		} else if(form == 'songpage_verwijderen')
		{
			var songpage_id = document.getElementById('songpage_id').
			    options[document.getElementById('songpage_id').selectedIndex].value;

			xmlhttp.send("songpage_id=" + songpage_id);


		} else if(form == 'songpage_verwijderen_bevestigd')
		{
			xmlhttp.send("songpage_id=" + escape(encodeURI(document.songpage_verwijderen.songpage_id.value)));


		} else if(form == 'kalenderitem_add')
		{

			// ophalen informatie uit de verschillende velden:
			// dag:
			var dag = document.kalenderitem_toevoegen.dag.value;
			// maand:
			var maand = document.kalenderitem_toevoegen.maandID.value;
			// jaar:
			var jaar = document.kalenderitem_toevoegen.jaar.value;
			// tijd:
			var tijd = document.kalenderitem_toevoegen.tijd.value;
			// titel:
			var titel = document.kalenderitem_toevoegen.titel.value;
			// details:
			var details = document.kalenderitem_toevoegen.details.value;
			// jaarlijks:

			if(typeof(document.kalenderitem_toevoegen.elements['exp_dag']) != 'undefined')
			{
			  // exp_dag:
			  var exp_dag = document.kalenderitem_toevoegen.exp_dag.value;
			  // exp_maand:
			  var exp_maand = document.kalenderitem_toevoegen.exp_maandID.value;
			  // exp_jaar:
			 var exp_jaar = document.kalenderitem_toevoegen.exp_jaar.value;
			}


			for (var i=0; i < document.kalenderitem_toevoegen.jaarlijks.length; i++)
			{
			   if (document.kalenderitem_toevoegen.jaarlijks[i].checked)
			      {
			      var jaarlijks = document.kalenderitem_toevoegen.jaarlijks[i].value;
			      }
			}

			
			//array aanmaken met de gegevens:
			var kalenderitems;
			kalenderitems = dag;
			kalenderitems += "&=&&&=&" + maand;
			kalenderitems += "&=&&&=&" + jaar;
			kalenderitems += "&=&&&=&" + tijd;
			kalenderitems += "&=&&&=&" + titel;
			kalenderitems += "&=&&&=&" + details;
			kalenderitems += "&=&&&=&" + jaarlijks;
			
			if(typeof(document.kalenderitem_toevoegen.elements['exp_dag']) != 'undefined')
			{
			  kalenderitems += "&=&&&=&" + exp_dag;
			  kalenderitems += "&=&&&=&" + exp_maand;
			  kalenderitems += "&=&&&=&" + exp_jaar;
			}

			xmlhttp.send("post=" + escape(encodeURI(kalenderitems)));


		} else if(form == 'kalenderitem_addPost')
		{
			var Sending = document.kalenderitem_toevoegen.post.value;

			xmlhttp.send("post=" + escape(encodeURI(Sending)));

		} else {
			xmlhttp.send(Poststr);
		}
}