<!--
/*
##########################################
# Script: /js/functions.js               #
# Copyright (C) 2003-2007 Forwart Design #
# Author: Peter Arts                     #
# http://www.forwart.nl                  #
##########################################
*/

function submitEvenementenFilter(url, small) {
	var from;
	var till;
	
	if (small == 1) {
		from = document.getElementById('date-from-s').innerHTML;
		till = document.getElementById('date-till-s').innerHTML;
	} else {
		from = document.getElementById('date-from').innerHTML;
		till = document.getElementById('date-till').innerHTML;
	}
	if ((from.length == 10) && (till.length == 10)) {
		// lengtes url in orde
		url += ":" + from + "&" + till;
		nav(url);
	}
}

// a-z: 97 - 122
// _: 95
function filterInput() 
{
	if (window.event == undefined)
		return // geen compatible browser
	else
	{
		if (window.event.keyCode != 95  // _
		&& (window.event.keyCode < 97 || window.event.keyCode > 122) // a - z
		&& (window.event.keyCode < 48 || window.event.keyCode > 57)) // 0 - 9	
			window.event.keyCode = 0;
	}
}

function showFileUpload(id, on) {
	var div = document.getElementById(id);
	if (div.style.display == '') div.style.display = 'none';
	else div.style.display = '';
}

function stem(poll)
{
	var keuze_nr;
	if (document.getElementById('keuze_1').checked)
		keuze_nr = 1;
	else if (document.getElementById('keuze_2').checked)
		keuze_nr = 2;
	else if (document.getElementById('keuze_3').checked)
		keuze_nr = 3;
	
	if ((keuze_nr >= 1) && (keuze_nr <= 3))
		nav('/poll/' + keuze_nr + '/p/' + poll);
	else
		alert('Selecteer uw keuze');
}

function printRadres(naam, domein, ext)
{
	document.write(naam + '@' + domein + '.' + ext);
}

function URLDecode(encoded)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				//alert( 'Bad escape combination near ...' + encoded.substr(i) );
				//plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   return plaintext;
}

function nav(url)
{
	url = URLDecode(url);
	window.location.href = url;
}

function nav_new(url)
{
	window.open(url);
}

function changeStatus(id) {
	if (document.getElementById(id).style.display == 'none') {
		document.getElementById(id).style.display = '';
	} else {
		document.getElementById(id).style.display = 'none';
	}
}

function replaceText(text){
  while(text.lastIndexOf("&") > 0){
      text = text.replace('&', '[i-Stats]');
  }
  return text;
}

var web_referrer = replaceText(document.referrer);
      
istat = new Image(1,1);
istat.src = "/fwstats/counter.php?sw="+screen.width+"&sc="+screen.colorDepth+"&referer="+web_referrer+"&page="+location.href;

/* ##################################

 Ajax/MPlayer functions
 Copyright (C) 2003-2007 Forwart Design
 
##################################### */

var req_url = '';
var cur_offset = 0;

function updateMplayer(title, contents, showfooter) {
	var mpid = document.getElementById('mplayer');
	var footer = '';
	var c;
	
	c = '<p class="mtitle">' + title + '</p>';
	c += contents;
	if (showfooter) {
		footer = '<a href="" onclick=\"showMItem(-1);return false;\"><img src="/img/arrow-left.gif" alt="" width="29" height="22"></a> <a href="" onclick=\"showMItem(1);return false;\"><img src="/img/arrow-right.gif" alt="" width="29" height="22"></a>';
	} else footer = '&nbsp;';
	c += '<p class="mfooter">' + footer + '</p>';
	mpid.innerHTML = c;
	//mpid.style.height = '165px';
	//mpid.style.width = '252px';
	//alert(mpid.offsetWidth);
	//alert(mpid.offsetHeight );
	//252 165
	//setTimeout("setcontent('" + c + "')", 50);
}

function setcontent(c) {
	var mpid = document.getElementById('mplayer');
	mpid.innerHTML = c;
}

function showMItem(dir) {
	if ((dir == 1) || (dir == -1)) {
		cur_offset += dir;
		xmlhttpPost(req_url);
	}
}

function setLoading(val) {
	if (val) {
		document.getElementById("mplayer-loading").style.visibility='visible';
	} else document.getElementById("mplayer-loading").style.visibility='hidden';
}

function showMplayer(in_url) {
	req_url = in_url;
	updateMplayer('', '', false);
	xmlhttpPost(req_url);
}

function xmlhttpPost(strURL) {
    var xmlHttpReq = false;
    xmlHttpReq = getHTTPObject("xml");

    setLoading(true);
    strURL += "/" + cur_offset + "?ajaxUniqueId=" + new Date().getTime();
    try {
	    xmlHttpReq.open('GET', strURL, true);
	    //xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	    xmlHttpReq.onreadystatechange = function() {
	        if (xmlHttpReq.readyState == 4) {
	        	if (xmlHttpReq.status == 200) {
					if (xmlHttpReq.responseText.indexOf('invalid') == -1) {
		        		var xmlDocument = xmlHttpReq.responseXML;
		        		try {
							var type = xmlDocument.getElementsByTagName('type').item(0).firstChild.data;
							var nr = xmlDocument.getElementsByTagName('nr').item(0).firstChild.data;
							var title = xmlDocument.getElementsByTagName('title').item(0).firstChild.data;
							var data = xmlDocument.getElementsByTagName('data').item(0).firstChild.data;
							var footer = false;
							if (nr > 1) footer = true;
							updateMplayer(URLDecode(title), URLDecode(data), footer);
							setLoading(false);
		        		} catch (error) {
		        			updateMplayer('Default...', 'Selecteer een set met standaard img/movies...', false);
		        			setLoading(false);
		        		}
					}
	        	}
	        };
	    }
	    //xmlHttpReq.setRequestHeader("Connection", "close");
	    xmlHttpReq.send('');
    } catch (err) {
    	alert ("Fout: " + err.name + ': ' + err.message );
    }
}

function getHTTPObject(type) {
	var xmlhttp;
	if (!type) type = "xml";
	/*@cc_on
	@if (@_jscript_version >= 5)
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	@else
		xmlhttp = false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
			if (type == "xml")
				xmlhttp.overrideMimeType("text/xml"); 
			else 
				xmlhttp.overrideMimeType("text/html"); 
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

// Multifile upload
function MultiSelector( list_target, max ){

	// Where to write the list
	this.list_target = list_target;
	// How many elements?
	this.count = 0;
	// How many elements?
	this.id = 0;
	// Is there a maximum?
	if( max ){
		this.max = max;
	} else {
		this.max = -1;
	};
	
	/**
	 * Add a new file input element
	 */
	this.addElement = function( element ){

		// Make sure it's a file input element
		if( element.tagName == 'INPUT' && element.type == 'file' ){

			// Element name -- what number am I?
			element.name = 'file_' + this.id++;

			// Add reference to this object
			element.multi_selector = this;

			// What to do when a file is selected
			element.onchange = function(){

				// New file input
				var new_element = document.createElement( 'input' );
				new_element.type = 'file';

				// Add new element
				this.parentNode.insertBefore( new_element, this );

				// Apply 'update' to element
				this.multi_selector.addElement( new_element );

				// Update list
				this.multi_selector.addListRow( this );

				// Hide this: we can't use display:none because Safari doesn't like it
				this.style.position = 'absolute';
				this.style.left = '-1000px';

			};
			// If we've reached maximum number, disable input element
			if( this.max != -1 && this.count >= this.max ){
				element.disabled = true;
			};

			// File element counter
			this.count++;
			// Most recent element
			this.current_element = element;
			
		} else {
			// This can only be applied to file input elements!
			alert( 'Fout: de gevraagde aktie kan niet uitgevoerd worden.' );
		};

	};

	/**
	 * Add a new row to the list of files
	 */
	this.addListRow = function( element ){

		// Row div
		var new_row = document.createElement( 'div' );

		// Delete button
		var new_row_button = document.createElement( 'input' );
		new_row_button.type = 'button';
		new_row_button.value = 'Verwijderen';

		// References
		new_row.element = element;

		// Delete function
		new_row_button.onclick= function(){

			// Remove element from form
			this.parentNode.element.parentNode.removeChild( this.parentNode.element );

			// Remove this row from the list
			this.parentNode.parentNode.removeChild( this.parentNode );

			// Decrement counter
			this.parentNode.element.multi_selector.count--;

			// Re-enable input element (if it's disabled)
			this.parentNode.element.multi_selector.current_element.disabled = false;

			// Appease Safari
			//    without it Safari wants to reload the browser window
			//    which nixes your already queued uploads
			return false;
		};

		// Get filename
		var fileName = element.value;
		var lastSlash;
		fileName = fileName.substring((fileName.lastIndexOf("\\")+1),fileName.length);
		
		// Check for extensions (just jpeg in this case)
		var ext = fileName.substring((fileName.lastIndexOf(".")+1),fileName.length).toLowerCase();
		if (ext != 'jpg') {
			this.count--;
			alert('Alleen jpg bestanden worden geaccepteerd.');
		} else {
			// Set row value	
			new_row.innerHTML = (this.count - 1) + '. ' + fileName + '&nbsp;';
	
			// Add button
			new_row.appendChild( new_row_button );
	
			// Add it to the list
			this.list_target.appendChild( new_row );
		}
	};

};

var dragobjekt = null;

// objekt
var dragx = 0;
var dragy = 0;

// muis
var posx = 0;
var posy = 0;

function draginit() {
 // Init events
  document.onmousemove = drag;
  document.onmouseup = dragstop;
}


function dragstart(element) {
  dragobjekt = element;
  dragx = posx - dragobjekt.offsetLeft;
  dragy = posy - dragobjekt.offsetTop;
}

function dragstop() {
  dragobjekt=null;
}

function drag(ereignis) {
  posx = document.all ? window.event.clientX : ereignis.pageX;
  posy = document.all ? window.event.clientY : ereignis.pageY;
  if(dragobjekt != null) {
    dragobjekt.style.left = (posx - dragx) + "px";
    dragobjekt.style.top = (posy - dragy) + "px";
  }
}

// Fade functions:
function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function fadeIn(objId,opacity) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 10;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
    }
  }
}

//-->