var IE = document.all?true:false;

	function openWindow(URL, windowName, opener) {
	    id = windowName;
	    remote = window.open(URL, id,'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=620,height=620,left=60,top=60');
	    remote.opener.name=opener;
	}
	function openBigWindow(URL, windowName, opener) {
	    id = windowName;
	    remote = window.open(URL, id,'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=1024,height=768,left=60,top=60');
	    remote.opener.name=opener;
	}

	function markAllRows( container_id ) {
	    var rows = document.getElementById(container_id).getElementsByTagName('tr');
	    var unique_id;
	    var checkbox;
	
	    for ( var i = 0; i < rows.length; i++ ) {
	
	        checkbox = rows[i].getElementsByTagName( 'input' )[0];
	
	        if ( checkbox && checkbox.type == 'checkbox' ) {
	            unique_id = checkbox.name + checkbox.value;
	            if ( checkbox.disabled == false ) {
	                checkbox.checked = true;
	            }
	        }
	    }
	
	    return true;
	}

	/**
	 * marks all rows and selects its first checkbox inside the given element
	 * the given element is usaly a table or a div containing the table or tables
	 *
	 * @param    container    DOM element
	 */
	function unMarkAllRows( container_id ) {
	    var rows = document.getElementById(container_id).getElementsByTagName('tr');
	    var unique_id;
	    var checkbox;
	
	    for ( var i = 0; i < rows.length; i++ ) {
	
	        checkbox = rows[i].getElementsByTagName( 'input' )[0];
	
	        if ( checkbox && checkbox.type == 'checkbox' ) {
	            unique_id = checkbox.name + checkbox.value;
	            checkbox.checked = false;
	        }
	    }
	
	    return true;
	}
	
	function updateEnd(source, target){
		document.getElementById(target).value = document.getElementById(source).value;
	}

	function updateSort(previousSort, sort, order, url, div){
		if(sort == previousSort && order == 'asc'){
			order='desc';
		}else{
			order = 'asc';
		}
		var parms = 'page=0&order='+order+'&sort='+sort;
		updateDiv(parms, url, div);
	}
	function updatePage(page, order, sort, url, div){
		var parms = 'page='+page+'&order='+order+'&sort='+sort;
		updateDiv(parms, url, div);
	}

	function updateDiv(parms, url, div){
	//var filterparms moet global zijn deze functie
		for (var i=0; i < filterParms.length; i++){
			if (parms.length>0)	{
				parms+="&";
			}
			parms += jQuery(filterParms[i]).serialize();
		}
		//alert(parms);
		jqueryAjax(url, parms, div);
	}
	//var filterparms moet global zijn voor bovenstaande functie
	var filterParms = new Array();

	function jqueryAjax(url, parms, div){
		alert('posting to :'+url+ ' with parms : '+parms);
		$.post(
			url, parms,
			function(data){
			   //alert(data);
			   document.getElementById(div).innerHTML = data;
			 }
		)
	}

	function copyToList(selectFromElementId, selectToElementId) {
	  var fromList = document.getElementById(selectFromElementId);
	  var toList = document.getElementById(selectToElementId);
	  if (toList.options.length > 0 && toList.options[0].value == 'temp') {
	    toList.options.length = 0;
	  }
	  var sel = false;
	  for (i=0;i<fromList.options.length;i++) {
	    var current = fromList.options[i];
	    if (current.selected) {
	      sel = true;
	      if (current.value == 'temp') {
	        alert ('You cannot move this text!');
	        return;
	      }
	      var txt = current.text;
	      var val = current.value;
	      toList.options[toList.length] = new Option(txt,val);
	      fromList.options[i] = null;
	      i--;
	    }
	  }
	  if (!sel) alert ('You haven\'t selected any options!');
	}

	function selectPrePath(prePath, selectElementId) {
		var fromList = document.getElementById(selectElementId);
		var regex = RegExp("URL:"+prePath);
		
		if (document.getElementById(prePath).checked) {
			for (i=0; i<fromList.options.length; i++) {
				if (fromList.options[i].value.search(regex) > -1) {
					fromList.options[i].selected=true;
				}
			}
		} else {
			for (i=0; i<fromList.options.length; i++) {
				if (fromList.options[i].value.search(regex) > -1) {
					fromList.options[i].selected=false;
				}
			}
		}
	}

	function selectAllOfMultipleSelect(selectElementId) {
		var fromList = document.getElementById(selectElementId);
		for(i = 0; i < fromList.options.length; i++) {
			fromList.options[i].selected=true;
		}
	}

	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 += dump(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 removeRow(element, question){
		var table = element.parentNode.parentNode.parentNode;
		var rowNumber = element.parentNode.parentNode.rowIndex-1;
		if(confirm(question)){
			table.deleteRow(rowNumber);
		}
	}
	function addEmptyRow(emptyRowId){
		var template= document.getElementById(emptyRowId);
		var tbody = template.parentNode;
		var newRow = template.cloneNode(true);
		newRow.className='';
		newRow.id='';
		tbody.appendChild(newRow);
	}
