function sortListView(orderby) {
	frm.orderby.value=orderby;
	frm.submit();
}

// Deze functie converteert een willekeurige waarde naar een Integer waarde
// Als dit niet mogelijk is, is het resultaat 0
function parseIntExt( value ){
	result = parseInt( value );
	
	// Als value geen getal is dan geeft parseFloat NaN (Not a Number)
	if( isNaN(result) ) return 0;
	return result;
}

// Deze functie converteert een willekeurige waarde naar een Float waarde
// Als dit niet mogelijk is, is het resultaat 0
function parseFloatExt( value ){
	result = parseFloat( value );
	
	// Als value geen getal is dan geeft parseFloat NaN (Not a Number)
	if( isNaN(result) ) return 0;
	return result;
}

function openWindow(url, w, h, id) {
	window.open(url,'window'+id,'toolbar=0,location=0,status=1,menubar=0,width='+w+',height='+h+',scrollbars=0,resizable=1')
}

function formatFloat( textbox, decimals ){
	value = textbox.value;
	if( value == '' ) return;
	value = new Number( value.replace( /\,/, '.' ) );
	textbox.value = value.toFixed( decimals );
}

function integerbox_onkeypress( sender, event ){
	keyCode = event.which;
	if( window.event ) keyCode = window.event.keyCode;

    if (keyCode == 45) return true;   // For minus sign
    
	// Als invoer geen getal is
	if( !(keyCode >= 48 && keyCode <= 57) ){
		
		if( keyCode > 27 ){
			if( window.event ) window.event.returnValue = false;
			else event.preventDefault();
		}
	}
}

function floatbox_onkeypress( sender, event ){
	keyCode = event.which;
	if( window.event ) keyCode = window.event.keyCode;
	decimalcount = 0;
	decimals = parseInt( sender.getAttribute('decimals') );
	pos = sender.value.indexOf( '.' );
	hasComma = false;
	isSelected = inputSelected( sender );
	result = true;
	
	if( pos != -1 ){
		hasComma = true;
		decimalcount = sender.value.length - pos - 1;
	}
	
	// Als invoer een getal is
	if(( keyCode >= 48 && keyCode <= 57 )){
		// Als text geselecteerd is
		if( isSelected ) return;
		
		// als maximaal aantal decimalen is bereikt als er een komma is ingevoerd
		if( hasComma && decimalcount == decimals ) result = false;

		// Als het maximaal aantal cijfers voor de komma is bereikt
		else if( sender.value.length == (sender.maxLength - (1+decimals)) && !hasComma ){ 
			result = false;
			alert( 'test' );
		}
		if( result ) return;
		
	// anders als er nog geen komma is ingevoerd
	} else if( !hasComma ){
		// Als komma of een punt is ingevoerd
		if( keyCode == 44 || keyCode == 46 ){
			result = false;
			
			if( sender.value.length == 0 || isSelected ) sender.value = '0';
			sender.value += '.';
		}
	}
    
    if (keyCode == 45) return true;   // For minus sign
	
	if( keyCode > 27 ){ // Nodig voor Mozilla, anders worden alle toetsen geblokkeerd
		if( event.preventDefault ) event.preventDefault();
		else window.event.returnValue = false;
	}
}

function datebox_onkeypress( sender, event ){
	keyCode = event.which;
	if( window.event ) keyCode = window.event.keyCode;
	result = true;
	value = sender.value;
	len = value.length;
	isSelected = inputSelected( sender );
	
	// Als invoer geen getal is
	if( !(keyCode >= 48 && keyCode <= 57) ){
		result = false;
	// Anders
	} else {
		// Als nog niks ingevoerd is of de tekst is geselecteerd 
		// dan mag het ingevoerde cijfer niet hoger liggen dan 3
		if( (len == 0 || isSelected) && keyCode > 51 ){
			result = false;
		// Als lengte invoer is 1
		} else if( len == 1 ){
			// Als ingevoerde cijfer 3 is dan mag het ingevoerde cijfer niet hoger liggen dan 1
			if( parseInt(value) == 3 && keyCode > 49 ){
				result = false;
			}
		// Als lengte = 3 dan mag het ingevoerde cijfer niet hoger liggen dan 1
		} else if( len == 3 && keyCode > 49 ){
			result = false;
		}
		// Als lengte = 4
		else if( len == 4 ){
			// Als ingevoerde maandcijfer 1 is dan mag het ingevoerde cijfer niet hoger liggen dan 2
			if( parseInt(value.substr(3)) == 1 && keyCode > 50 ){
				result = false;
			}
		}
	}
	
	if( !result ){
		if( window.event ) window.event.returnValue = false;
		else if( keyCode > 27 ) event.preventDefault();
	}
}

function datebox_onkeyup( sender, event ){
	keyCode = event.which;
	if( window.event ) keyCode = window.event.keyCode;
	len = sender.value.length;
	
	// Als backspace is ingedrukt geen actie ondernemen
	if( keyCode == 8 ){
		return;
	}

	if( len == 2 || len == 5 ){
		sender.value += '-';
	}
}

function datebox_onblur( sender, event ){
	len = sender.value.length;

	if( len != 0 && len != 10 ){
		sender.value = '';
	}
}

function quarterbox_onkeypress( sender, event ){
	keyCode = event.which;
	if( window.event ) keyCode = window.event.keyCode;
	result = true;
	value = sender.value;
	len = value.length;
	isSelected = inputSelected( sender );
	
	// Als invoer geen getal is
	if( !(keyCode >= 48 && keyCode <= 57) ){
		result = false;
	// Anders
	} else {
		// Als nog niks ingevoerd is of de tekst is geselecteerd 
		// dan mag het ingevoerde cijfer niet hoger liggen dan 4
		if( (len == 0 || isSelected) && (keyCode < 49 || keyCode > 52 )){
			result = false;
		// Als lengte invoer is 1
		} 
	}
	
	if( !result ){
		if( window.event ) window.event.returnValue = false;
		else if( keyCode > 27 ) event.preventDefault();
	}

	if (sender.name=="Opzetkwartaal_start" || sender.name=="Opzetkwartaal_eind") {
		document.getElementById('txtAfleverkwartaal_start').value = '';	
		document.getElementById('txtAfleverkwartaal_eind').value = '';	
	} else {
		document.getElementById('txtOpzetkwartaal_start').value = '';	
		document.getElementById('txtOpzetkwartaal_eind').value = '';	
	}

}


function quarterbox_onkeyup( sender, event ){
	keyCode = event.which;
	if( window.event ) keyCode = window.event.keyCode;
	len = sender.value.length;
	
	// Als backspace is ingedrukt geen actie ondernemen
	if( keyCode == 8 ){
		return;
	}

	if( len == 1){
		sender.value += '-';
	}
}

function quarterbox_onblur( sender, event ){
	len = sender.value.length;
	if( len != 6 ){
		document.getElementById('txtOpzetkwartaal_start').value = "";
		document.getElementById('txtOpzetkwartaal_eind').value = ""
		document.getElementById('txtAfleverkwartaal_start').value = "";
		document.getElementById('txtAfleverkwartaal_eind').value = ""
		fireOnchange(document.getElementById('txtOpzetkwartaal_eind'));
		fireOnchange(document.getElementById('txtOpzetkwartaal_start'));
		fireOnchange(document.getElementById('txtAfleverkwartaal_eind'));
		fireOnchange(document.getElementById('txtAfleverkwartaal_start'));
	} else {

		if (sender.name=="Opzetkwartaal_start") {
			var start = sender.value;
			var eind = document.getElementById('txtOpzetkwartaal_eind').value;	
			if (document.getElementById('txtOpzetkwartaal_eind').value !="" ) {
				sender.value = getMinMaxKwartaal (start, eind, 'min',4);
				fireOnchange(document.getElementById('txtOpzetkwartaal_start'));
			} else {
				document.getElementById('txtOpzetkwartaal_eind').value = getMinMaxKwartaal ('4-2100', start, 'max',4);
				fireOnchange(document.getElementById('txtOpzetkwartaal_eind'));
			}
		} else if (sender.name=="Opzetkwartaal_eind") {
			var start = document.getElementById('txtOpzetkwartaal_start').value;	
			var eind = sender.value;
			if (document.getElementById('txtOpzetkwartaal_start').value !="" ) {
				sender.value = getMinMaxKwartaal (eind, start, 'max',4);
				fireOnchange(document.getElementById('Opzetkwartaal_eind'));
			} else {
				document.getElementById('txtOpzetkwartaal_start').value = getMinMaxKwartaal ('1-1900', eind, 'min',4);
				fireOnchange(document.getElementById('txtOpzetkwartaal_start'));
			}

		} else if (sender.name=="Afleverkwartaal_start") {
			var start = sender.value;
			var eind = document.getElementById('txtAfleverkwartaal_eind').value;	
			if (document.getElementById('txtAfleverkwartaal_eind').value !="" ) {
				sender.value = getMinMaxKwartaal (start, eind, 'min',4);
				fireOnchange(document.getElementById('Afleverkwartaal_start'));
			} else {
				document.getElementById('txtAfleverkwartaal_eind').value = getMinMaxKwartaal ('4-2100', start, 'max',4);
				fireOnchange(document.getElementById('txtAfleverkwartaal_eind'));
			}

		} else if (sender.name=="Afleverkwartaal_eind") {
			var start = document.getElementById('txtAfleverkwartaal_start').value;	
			var eind = sender.value;
			if (document.getElementById('txtAfleverkwartaal_start').value !="" ) {
				sender.value = getMinMaxKwartaal (eind, start, 'max',4);
				fireOnchange(document.getElementById('Afleverkwartaal_eind'));
			} else {
				document.getElementById('txtAfleverkwartaal_start').value = getMinMaxKwartaal ('1-1900', eind, 'min',4);
				fireOnchange(document.getElementById('txtAfleverkwartaal_start'));
			}

		}
			
	}
}


function fireOnchange(obj) {
	if( ie ){
		obj.fireEvent( 'onChange' );
	} else {
		var objEvent = document.createEvent('HTMLEvents');
		objEvent.initEvent( 'change', true, true );
		obj.dispatchEvent( objEvent );
	}	
}
// bepaal de het start of eindkwartaal van de periode afhankelijk vh aantal kwartalen
function getMinMaxKwartaal (input,compare,minmax,aantkwart) {
	arr_input = input.split("-");
	arr_comp = compare.split("-");

	inp  = arr_input[1] + arr_input[0];
	comp = arr_comp[1] + arr_comp[0];

	jaar = arr_comp[1]*1;
	kwart = arr_comp[0]*1;
	if (minmax=='min') {
		if (arr_comp[0] - aantkwart + 1 < 1) {
			kwart = arr_comp[0] - aantkwart + 5;
			jaar = jaar*1 -1;
		} else {
			kwart =	arr_comp[0]*1 - aantkwart + 1;
		}
		min_start = jaar + '' + kwart;
		if ( (arr_input[1]+''+arr_input[0]) < min_start) {
			return kwart + "-" + jaar;
		} else if ( (arr_input[1]+''+arr_input[0]) > (arr_comp[1]+''+arr_comp[0])) {
			return compare;
		} else return input;
	} else {
		if (arr_comp[0]*1 + aantkwart - 1 > 4) {
			kwart = arr_comp[0]*1 + aantkwart - 5;
			jaar = jaar*1 + 1;
		} else {
			kwart =	arr_comp[0]*1 + aantkwart - 1;
		}
		max_eind = jaar + '' + kwart;
		if ( (arr_input[1]+''+arr_input[0]) > max_eind) {
			return kwart + "-" + jaar;
		} else if ( (arr_input[1]+''+arr_input[0]) < (arr_comp[1]+''+arr_comp[0])) {
			return compare;
		} else return input;
	}
}

/*	Deze functie geeft true terug als de tekst in de tekstbox is geselecteerd
	input is tekstbox die wordt gechecked
*/
function inputSelected( input ){
	if (window.getSelection){	// Mozilla / Firefox check
		if( window.getSelection() == input.value ) return true;
	} else if (document.selection){	// IE check
		if( document.selection.createRange().text == input.value ) return true;
	} 
	
	return false;
}

/*	switchCheckbox( checkbox ) verandert de checkbox in gecheckt of ongecheckt
	afhankelijk van de huidige status
*/
function switchCheckbox( checkbox ){
	ckb = document.getElementById( checkbox );
	
	// Als checkbox niet bestaat
	if( !ckb ) return;
	
	ckb.checked = !ckb.checked;
}
