
function matchTitle()
{
	var filename = document.form1.userfile.value;
	filename = filename.substring(filename.lastIndexOf("\\")+1,filename.length);
	document.form1.titel.value = filename;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function getStyle(oElm, strCssRule){
    var strValue = "";
    if(document.defaultView && document.defaultView.getComputedStyle){
        strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
    }
    else if(oElm.currentStyle){
        strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
            return p1.toUpperCase();
        });
        strValue = oElm.currentStyle[strCssRule];
    }
    return strValue;
}

function toggleLayer(whichLayer)
{
	if (document.getElementById) {
		// this is the way the standards work
		var style2 = document.getElementById(whichLayer).style;
	} else if (document.all) {
		// this is the way old msie versions work
		var style2 = document.all[whichLayer].style;
	} else if (document.layers) {
		// this is the way nn4 works
		var style2 = document.layers[whichLayer].style;
	} else {
		var style2 = document.getElementById(whichLayer).style;
	}

	if (style2.display == "block"){
		style2.display = "none";
	} else if(style2.display == "none") {
		style2.display = "block";
	} else {
		style = getStyle(document.getElementById(whichLayer), "display");
		if (style == "block"){
			style2.display = "none";
		} else if(style == "none") {
			style2.display = "block";
		} else {
			style2.display = "block";
		}
	}
}

function showLayer(whichLayer)
{
	if (document.getElementById) {
		// this is the way the standards work
		var style2 = document.getElementById(whichLayer).style;
	} else if (document.all) {
		// this is the way old msie versions work
		var style2 = document.all[whichLayer].style;
	} else if (document.layers) {
		// this is the way nn4 works
		var style2 = document.layers[whichLayer].style;
	} else {
		var style2 = document.getElementById(whichLayer).style;
	}

	style2.display = "block";
}

function hideLayer(whichLayer)
{
	if (document.getElementById) {
		// this is the way the standards work
		var style2 = document.getElementById(whichLayer).style;
	} else if (document.all) {
		// this is the way old msie versions work
		var style2 = document.all[whichLayer].style;
	} else if (document.layers) {
		// this is the way nn4 works
		var style2 = document.layers[whichLayer].style;
	} else {
		var style2 = document.getElementById(whichLayer).style;
	}
	style2.display = "none";
}

function setInnerHTML(whichLayer, txt)
{
    if (document.getElementById) {
        // this is the way the standards work
        var element = document.getElementById(whichLayer);
    } else if (document.all) {
        // this is the way old msie versions work
        var element = document.all[whichLayer];
    } else if (document.layers) {
        // this is the way nn4 works
        var element = document.layers[whichLayer];
    } else {
        var element = document.getElementById(whichLayer);
    }
    
    element.innerHTML = txt;
}


function changeBackground(whichLayer, color)
{
	if (document.getElementById) {
		var style3 = document.getElementById(whichLayer).style;
	} else if (document.all) {
		var style3 = document.all[whichLayer].style;
	} else if (document.layers) {
		var style3 = document.layers[whichLayer].style;
	} else {
		var style3 = document.getElementById(whichLayer).style;
	}

	style3.background = color;
}

function starScore(name, score){
	for(i=1; i<=score; i++){
		var img = "star" + name + i;
        document.images[img].src = document.images[img].src.replace("off", "on");
	}
	if(score < 5){
		for(i=5; i>score; i--){
			var img = "star" + name + i;
        document.images[img].src = document.images[img].src.replace("on", "off");
		}
	}
	document.form1.elements[name].selectedIndex = score - 1;
}

function starScoreDESC(name, score){
    for(i=1; i<=score; i++){
        var img = "star" + name + i;
        document.images[img].src = "images/staron.gif";
    }
    if(score < 5){
        for(i=5; i>score; i--){
            var img = "star" + name + i;
            document.images[img].src = "images/staroff.gif";
        }
    }
    document.form1.elements[name].selectedIndex = 6 - score - 1;
}

//	var star = document.getElementByID("starscore1");
//  var select = document.getElementByID(name);
//	document.starscore1.src = "images/staroff.gif";
//	document.img.src = "images/staroff.gif";

function Browser() {
  var agent;
  var app;
  var i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  agent = navigator.userAgent;

  app = "MSIE";
  if ((i = agent.indexOf(app)) >= 0){
    this.isIE = true;
  } else {
    this.isNS = true;
  }
}

var browser = new Browser();
var dragObj = new Object();
dragObj.zIndex = 0;

function startDrag(event, div) {

  var el;
  var x, y;
  
  dragObj.elNode = document.getElementById(div);

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  } else {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  dragObj.cursorStartX = x;
  dragObj.cursorStartY = y;
  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
  dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);

  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = window.event.clientX - 10;
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = window.event.clientY - 10;
 
  // dragObj.elNode.style.zIndex = ++dragObj.zIndex;
                          
  if (browser.isIE) {
    document.attachEvent("onmousemove", drag);
    document.attachEvent("onmouseup",   stopDrag);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  } else {
    document.addEventListener("mousemove", drag,   true);
    document.addEventListener("mouseup",   stopDrag, true);
    event.preventDefault();
  }
}

function drag(event) {

  var x, y;
  
  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  } else {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }   

  dragObj.elNode.style.left =
    (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
  dragObj.elNode.style.top  =
    (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";

  if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }else {
    event.preventDefault();
  }
}

function stopDrag(event) {

  // Stop capturing mousemove and mouseup events.

  if (browser.isIE) {
    document.detachEvent("onmousemove", drag);
    document.detachEvent("onmouseup",   stopDrag);
  } else {
    document.removeEventListener("mousemove", drag,   true);
    document.removeEventListener("mouseup",   stopDrag, true);
  }
}

<!--************************************************************************-->
<!--* Drag functions above are inspired by a tutorial:                     *-->
<!--* Generic Drag Demo                                                    *-->
<!--*                                                                      *-->
<!--* Copyright 2001 by Mike Hall                                          *-->
<!--* Please see http://www.brainjar.com for terms of use.                 *-->
<!--************************************************************************-->

function toggleLayerTop(div){
	toggleLayer(div);
	toTopScreen(div);
}

function toTopScreen(div){
	
	if (browser.isIE) {
	    y = document.documentElement.scrollTop + document.body.scrollTop;
	 } else {
	    y = window.scrollY;
	 }

	box = document.getElementById(div);
	box.style.top = (y + 90) + "px";
}

function submitForm(){
	var popuptext;

	if(document.form1.submitButton){
		document.form1.submitButton.disabled = true;
	}
	if(document.form1.cancelButton){
		document.form1.cancelButton.disabled = true;
	}

	popuptext = document.getElementById("formsubmitmessage");
	if(popuptext){
		popuptext.innerHTML = "<img src='images/progress.gif' align='absMiddle'> <b>Een ogenblik geduld a.u.b:</b> De aanvraag wordt verwerkt en eventuele bestanden worden geüpload..."; 
	}
	
	document.form1.submit();
	return true;
}

function doSubmit()
{
	document.form1.submit();
	return true;
}

function multiUpload()
{ 
	var multi_selector = new MultiSelector( document.getElementById('files_list'), 25);
	multi_selector.addElement(document.getElementById('my_file_element'));
}

// Multiple file selector by Stickman -- http://www.the-stickman.com 
// with thanks to: [for Safari fixes] Luis Torrefranca -- http://www.law.pitt.edu and Shawn Parker & John Pennypacker -- http://www.fuzzycoconut.com [for duplicate name bug] 'neal'

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( 'Error: not a file input element' );
		};

	};

	/**
	 * 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 = 'image';
		new_row_button.src = 'images/thumbdelete.gif';
		new_row_button.align = 'left'

		// 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;
		};

		// Set row value
		if(new_row.element.multi_selector.count % 3 == 2){
			new_row.innerHTML += "<div class='photothumb' style='clear: both'><img src='file:///" + element.value + "' height=93 width=124></div>";
		} else {
			new_row.innerHTML += "<div class='photothumb'><img src='file:///" + element.value + "' height=93 width=124></div>";
		}

			
		// Add button
		new_row.appendChild( new_row_button );

		// Add it to the list
		this.list_target.appendChild( new_row );
		
	};

};

function activateControls(){
    //Use this function to bypass the IE 'feature' that an Flash-object need to be clicked to be activated. 
    if (document.getElementsByTagName && document.body.outerHTML) { 
        var tag, arTag = Array('object','embed','applet'); 
        for(tag in arTag) { 
            var arEl = document.getElementsByTagName(arTag[tag]); 
            for(var i = 0; i < arEl.length; i++) { 
                var el = arEl.item(i); 
                var params = el.getElementsByTagName('param'); 
                var html = ''; 
                if (params.length && !/<param/i.test(el.innerHTML)) 
                    for (var x=0;x < params.length;x++)html += params.item(x).outerHTML; 
                el.outerHTML = el.outerHTML.replace('>', '>' + html); 
            } 
        } 
    } 
}

function print_r(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects
 for(var item in arr) {
  var value = arr[item];
 
  if(typeof(value) == 'object') { //If it is an array,
   dumped_text += level_padding + "'" + item + "' ...\n";
   dumped_text += print_r(value,level+1);
  } else {
   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
  }
 }
} else { //Stings/Chars/Numbers etc.
 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
} 

function getElement(whichLayer)
{
    if (document.getElementById) {
        // this is the way the standards work
        return document.getElementById(whichLayer);
    } else if (document.all) {
        // this is the way old msie versions work
        return document.all[whichLayer];
    } else if (document.layers) {
        // this is the way nn4 works
        return document.layers[whichLayer];
    } else {
        return document.getElementById(whichLayer);
    }
}


