
function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
	// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if (xmlHttp==null)
	{
		alert ("Voor het bekijken van deze pagina is AJAX ondersteuning vereist. Uw browser ondersteunt echter geen AJAX.");
		return false;
	} 
	
	return xmlHttp;
}

var windowReference;

var imageBrowser=new Array('createFolder','deleteFolder','uploadFiles','deleteFiles');

function openPopup(url, name, args) {
  windowReference = window.open(url,name, args);
  if (!windowReference.opener)
    windowReference.opener = self;
}

function selectDiv(id){	
	hideAllDivs();
	showdiv(id);
}

function hideAllDivs(){
	//loop through the array and hide each element by id
	for (var i=0;i<imageBrowser.length;i++){
		hidediv(imageBrowser[i]);
	}		  
}


function addHTMLtoDiv(id,html)
{
	var div = document.getElementById(id);
	
	if (div.style.display = 'none')
	{
		div.style.display = 'block';	
	}
	
	div.innerHTML = html + div.innerHTML;
}

function clearDiv(id)
{
	var div = document.getElementById(id);
	div.innerHTML = '';
}


function hideDiv(id) {
	//safe function to hide an element with a specified id
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'none';
		}
		else { // IE 4
			document.all.id.style.display = 'none';
		}
	}
}

function showdiv(id) {
	//safe function to show an element with a specified id
		  
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'block';
		}
		else { // IE 4
			document.all.id.style.display = 'block';
		}
	}
}

//http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/
function MultiSelector( list_target, shorten, max ){

	//EDITED: filenaam na 10 tekens inkorten of niet
	if (shorten)
	{
		this.shorten = shorten;
	}
	else
	{
		this.shorten = false;
	}
	// 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++;
			//element.name = 'newFile[]';

			// 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 = 'button';
		
		if (shorten)
		{
			new_row_button.value = 'Verw.';
		}
		else
		{
			new_row_button.value = 'Verwijder';
		}
		// 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
		//new_row.innerHTML = element.value;
		element_work = element.value;
		element_tab = element_work.split("\\");
		nbr_elements = element_tab.length;
		filename = element_tab[nbr_elements-1];
		
		if (this.shorten == true)
			if (filename.length > 9)
				filename = filename.substring(0,9) + "..";
			
		new_row.innerHTML = filename + " ";

		// Add button
		new_row.appendChild( new_row_button );

		// Add it to the list
		this.list_target.appendChild( new_row );
		
	};

};


function selectImage(num)
{
	var selectedColor = '#aaaaaa';
	var unselectedColor = '#f8f8f8';

	document.debug.field.value = document.debug.field.value + "+";
	
	if (document.imageForm.elements['imageSelection' + num].value == 'y')
	{
		document.imageForm.elements['imageSelection' + num].value = 'n';
		document.getElementById('image' + num).style.borderColor = unselectedColor;
		checkImageOptions();
	}
	else
	{
		document.imageForm.elements['imageSelection' + num].value = 'y';			
		document.getElementById('image' + num).style.borderColor = selectedColor;
		checkImageOptions();		
	}

}

function checkImageOptions()
{
	var size = (document.imageForm.imageCount.length) ? document.imageForm.imageCount.length : 1;
	var selected = 0;

	document.debug.field.value = ":";
	
	for (var i=0;i<size;i++) 
	{	
		if (document.imageForm.elements['imageSelection' + i].value == 'y')
		{
			selected++;
			document.debug.field.value = document.debug.field.value + i + " ";	
		}
	}

	//laat optie deleteImages zien als er 1 of meer geselecteerd zijn
	if (selected > 0)
	{
		document.getElementById('deleteImagesOption').style.display = 'block';	
	}
	else
	{
		document.getElementById('deleteImagesOption').style.display = 'none';	
	}
}


function selectOneImage(num)
{

	//SELECT THIS ONE
	if (isSelectedImage(num))
		unselectImage(num);
	else
		selectImage(num);


	//UNSELECT THE REST
	var size = (document.imageForm.imageCount.length) ? document.imageForm.imageCount.length : 1;
	for (var i=0;i<size;i++) 
		if (isSelectedImage(i) && i != num)
			unselectImage(i);

}

function unselectImage(num)
{
	var unselectedColor = '#f8f8f8';	

	document.imageForm.elements['imageSelection' + num].value = 'n';
	document.getElementById('image' + num).style.borderColor = unselectedColor;	
}

function selectImage(num)
{
	var selectedColor = '#aaaaaa';

	document.imageForm.elements['imageSelection' + num].value = 'y';
	document.getElementById('image' + num).style.borderColor = selectedColor;	
}

function isSelectedImage(num)
{
	return (document.imageForm.elements['imageSelection' + num].value == 'y');
}

function imageSelected()
{
	var size = (document.imageForm.imageCount.length) ? document.imageForm.imageCount.length : 1;

	//document.debug.field.value = "";
	
	for (var i=0;i<size;i++) 
	{	
		if (document.imageForm.elements['imageSelection' + i].value == 'y')
		{
			var selected = document.imageForm.elements['imageName' + i].value;
			//document.debug.field.value = document.debug.field.value + i + " ";	
		}
	}
	window.parent.SelectFile( selected );
	//window.parent.opener.SetUrl( selected );
	//window.parent.close();
}

//function showParentFileController()
//{
//	window.parent.toggleDiv('fileControllerStatus')	
//}
