//  vars
var onceResetTableCount            = 0;
var lastSelectedRow                = null;
var lastSelectedRowColor           = null;
var lastSelectedRowFontColor       = null;
var lastBestelInput                = 0;
var count_checked                  = 0;
var OverzichtLastClicked           = null;
var OverzichtLastClicked_CBnr      = null;
var wait                           = false;
var previousRow                    = null;
var OverzichtArtikelLastSelectedID = null;
var lastSelectedSwitchMaat         = null;
var iSelAlphaNr                    = 0;
var iSelAlphaRow                   = 0;
var cAlphanrFilter				   = '';
var iVanRegel                      = 0;
var cSorteerVeld                   = 'AlphaNummer';
var iAlphaMaxRows                  = 10;
var afleverAdressen                = new Array();

function paintButton( Caption, OnClick, ExtraTableData, Width, CustomStyleClass, TextCellId ) {
    if ( Width == 0 ) {
        Width = ( Caption.length * 7 ) + 25;
    }
    document.write( '<table class='+ CustomStyleClass +' border="0" cellpadding="0" cellspacing="0" onClick="'+ OnClick +'"'+ ExtraTableData +'>' );
    document.write( '<tr>' );
    document.write( '  <td><img src="/images/buttonparts/knop_links_boven.gif"></td>' );
    document.write( '  <td style="width:'+ Width +'px;background:url(/images/buttonparts/knop_boven.gif)"></td>' );
    document.write( '  <td><img src="/images/buttonparts/knop_rechts_boven.gif"></td>' );
    document.write( '</tr>' );
    document.write( '<tr>' );
    document.write( '  <td style="background:url(/images/buttonparts/knop_links.gif)"></td>' )
    document.write( '  <td class="AlphaButton" id="'+ TextCellId +'">'+ Caption +'</td>' );
    document.write( '  <td style="background:url(/images/buttonparts/knop_rechts.gif)"></td>' );
    document.write( '</tr>' );
    document.write( '<tr>' );
    document.write( '  <td><img src="/images/buttonparts/knop_links_onder.gif"></td>' );
    document.write( '  <td style="background:url(/images/buttonparts/knop_onder.gif)"></td>' );
    document.write( '  <td><img src="/images/buttonparts/knop_rechts_onder.gif"></td>' );
    document.write( '  </tr>' );
    document.write( '</table>' );
}

// functie om getal af te ronden
function round( integer, komma ) {
    var keer = '1';
	for( var i=0; i < komma; i++ ) {
		keer = keer + '0';
	}

	keer = parseInt( keer );

	integer = Math.round( ( integer * keer ) );
	integer = integer / keer;

	return integer;
}

// quotes afvangen
function onlyQ( code, noqoutes ) {
	if ( noqoutes )	{	
		if ( code == 34 || code == 39 ) {
			return false;
		} else {
			return true;
		}
	} else {
		if ( code == 34 ) {
			return false;
		} else {
			return true;
		}
	}
}

// waarde aan het eind van een array erbij doen
function addArray( arr, value ) {
    return arr[ arr.length ] = value;
}

// opmaak functie
function Pointer( theRow, theDefaultColor, thePointerColor, theFontDefaultColor, theFontPointerColor, multiSelect, ResetTableid, alwaysResetTbl )
{
    var theCells = null;

	var theAction = 'click';

    if ((thePointerColor == '' && thePointerColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // huidige cellen halen, en eventueel exitten
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // huidige kleur ophalen
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
	var currentColor = null;
    var newColor     = null;
	var newFontColor = null;
	
	// 3.1 ... DOM browsers geven nix terug bij 'getAttribute'
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
    }
    // 3 ander browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } 

	///// table reset
	if ( ( ResetTableid != '' ) || ( alwaysResetTbl ) ) {
		if ( onceResetTableCount == 0 ) {
			var tableBody = document.getElementById( ResetTableid ).tBodies[0];

			for (var i = 1; i < tableBody.rows.length; i++) {
				for (var j = 0; j < tableBody.rows[i].cells.length; j++) {
					if ( domDetect ) {				
						tableBody.rows[i].cells[j].setAttribute('bgcolor', theDefaultColor, 0);
					} else {
						tableBody.rows[i].cells[j].style.backgroundColor = theDefaultColor;
					}
					tableBody.rows[i].cells[j].style.color = theFontDefaultColor;							
				}
			}		
			lastSelectedRow = null;
			if ( !alwaysResetTbl ) {			
				onceResetTableCount++;
			}
		}
		
	}
	
	///////////////////////////////////////////////////////////////////////////
	// multiselect

	if ( !multiSelect ) {
		if ( lastSelectedRow != null ) {			
			for (c = 0; c < lastSelectedRow.cells.length; c++) {
				if ( domDetect ) {					
					lastSelectedRow.cells[c].setAttribute('bgcolor', lastSelectedRowColor, 0);
				} else {
					lastSelectedRow.cells[c].style.backgroundColor = lastSelectedRowColor;				
				}
					                
				lastSelectedRow.cells[c].style.color = lastSelectedRowFontColor;
			}
		}
	}

	lastSelectedRow = theRow;

	////////////////////////////////////////////////////////////////////////////
	
    // 4. nieuwe kleur definieren
    if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'click' && thePointerColor != '') {
            newColor = thePointerColor;	
			newFontColor = theFontPointerColor;
        }
    }
    // de kleur is die van de pointer
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()) {
        if (theAction == 'click' && thePointerColor != '') {
            newColor = theDefaultColor;
			newFontColor = theFontDefaultColor;
        }
    }
	// nieuwe kleuren opslaan
	lastSelectedRowColor = theDefaultColor;
	lastSelectedRowFontColor = theFontDefaultColor;

    // 5. nieuwe kleur setten
    if (newColor) {
        var c = null;

        // DOM Detect
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                
                theCells[c].setAttribute('bgcolor', newColor, 0);
				theCells[c].style.color = newFontColor;
                //theCells[c].style.color = '#FFFFFF';
//                document.classes.fnt.td.color = "red";
//                tags.id.color = '#FFFFFF';
                //theCells[c].setAttribute('style', 'color: #FFFFFF;');
            } 
        }
        // 5.2 ... andere browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
				theCells[c].style.color = newFontColor;
            }
        }
    } // end 5

    return true;
}

// artikel var setten
function setArtikel( value, onbedrukt ) {
	selectedArt  = value;
	artOnbedrukt = onbedrukt;
	return true;
}

function orderArtikel() {
	if ( selectedArt != null ) {
		var conf = true;
		if ( artOnbedrukt == 1 ) {
			conf = confirm( ARTIKEL_ONBEDRUKT_MATERIAAL );
		}
		if ( conf ) {		
			document.location.href = baseURL +'afroepen/orderen/'+ selectedArt +'?pageonly=1';
			return true;
		} else {
			return false;
		}
	} else {
		alert( GEEN_ARTIKEL_GESELECTEERD );
		return false;
	}
}

function switchMaat( clickedRow, type, aantal, selAantal, kleurcode, maat, minAfname ) { // wordt gebruikt om eventuele voorraden op scherm te tonen
/*
@param type: -1 : Onvoldoende
              0 : Onbekend
              1 : Aanwezig
		      2 : aantal weergeven
@param aantal   : eventuele aantallen, alleen als type 2 is
*/
	if ( lastSelectedSwitchMaat != clickedRow ) {
		lastSelectedSwitchMaat = clickedRow;

		if ( clickedRow.cells[0].getAttribute('bgcolor') != '#000099' ) {
			Pointer( clickedRow, '#A5D3EC', '#000099', '#000000', '#FFFFFF', false, 'dezetbl' );
		}

		// voorraad wegschrijven
		var inp_voorraad = document.getElementsByName( 'top_voorraad' )[0];
		var voorraad_value = '';
		
		// minimale bestelhoeveelheid wegschrijven
		document.getElementById( 'MinAfname' ).innerHTML = minAfname;

		if ( type == 0 ) {
			voorraad_value = 'Geen voorraad';
		} else {
			if ( aantal == 0 ) {
				if ( type == -1 ) {
					voorraad_value = 'Onvoldoende';
				} else if ( type == 1 )	{
					voorraad_value = 'Aanwezig';
				}
			} else {
				voorraad_value = aantal;
			}
		}

		voorraadProduct = selAantal;
		
		inp_voorraad.value = voorraad_value;

		//  Kleur/Maat wegschrijven
		var inp_kleurmaat = document.getElementsByName( 'top_kleurmaat' )[0];
		var kleurmaat_value = '';

		if ( kleurcode != '' ) {
			kleurmaat_value = maat +'/'+ kleurcode;
		} else {
			kleurmaat_value = maat;
		}

		document.getElementsByName( 'maat' )[0].value = maat;
		document.getElementsByName( 'kleurcode' )[0].value = kleurcode;

		inp_kleurmaat.value = kleurmaat_value;

		// bestel hoeveelheden resetten
		document.getElementsByName( 'bestelaantal' )[0].value = 0;
		document.getElementsByName( 'besteltotaantal' )[0].value = 0;
		document.getElementsByName( 'besteltotprijs' )[0].value = 0;
		lastBestelInput = 0;
	}

	return true;
}

// checken of er wel een cijfer ingevoerd wordt
function integerKeyCheck( event ) {
	var ret  = false;
	var code = event.keyCode;

	if ( code == 13 ) {		
		ret = true;
	} else if ( ( code == 48 ) || ( code == 49 ) || ( code == 50 ) || ( code == 51 ) || ( code == 52 ) || ( code == 53 ) || ( code == 54 ) || ( code == 55 ) || ( code == 56 ) || ( code == 57 ) ) {
		ret = true;
	}

	return ret;
}

// invoer bij het bestellen verwerken
function berekenBestel( inp, bestelhv, prijs, nogtebesteden, MagNegatiefBestellen ) {	
	var aantal    = inp.value;
	var totaantal = aantal * bestelhv;
	var voorraad  = voorraadProduct;
	var prijstot  = prijs * totaantal;
	var door      = false;
	var MaximaleAfname = document.getElementById( "RestAfname" ).value;

	if ( ( prijstot > nogtebesteden ) && ( nogtebesteden > -1 ) ) {
		//alert( 'U heeft het maximum te besteden bedrag bereikt.\nPas uw order aan of raadpleeg de beheerder.' );
        alert( MAXIMUM_BESTEDEN_BEDRAG_BEREIKT );
	} else {
		if ( ( totaantal > voorraad ) && ( MagNegatiefBestellen == 'Nee' ) ) {
            alert( VOORRAAD_ONTOEREIKEND );
		} else {
			door = true;
		}
	}
	

	if( (totaantal > MaximaleAfname) && (door == true) && (MaximaleAfname != '') ){
		//alert( "U heeft de maximale afname voor dit artikel bereikt, uw order wordt automatisch aangepast.\nvoor meer informatie raadpleeg de beheerder" );
		alert( MAX_AFNAME );
		lastBestelInput = (MaximaleAfname / bestelhv);
		door = false;
	}

	var inp_totaantal   = document.getElementById( 'besteltotaantal' );
	var inp_totprijs    = document.getElementById( 'besteltotprijs' );

	if ( door ) {
		inp_totaantal.innerHTML = round( totaantal, 2);
		inp_totprijs.innerHTML  = '&euro; '+round( prijstot, 2);

		lastBestelInput     = aantal;

		return true;
	} else {
		document.getElementsByName( 'bestelaantal' )[0].value = lastBestelInput;
		inp_totaantal.innerHTML = round( ( lastBestelInput * bestelhv ), 2 );
		inp_totprijs.innerHTML  = '&euro; '+round( ( inp_totaantal.innerHTML * prijs ), 2 );

		return false;
	}
}

// functie om de tabs bij het bestellen te switchen
function tabBestellen( what ) {
	var tblmaten  = document.getElementById( 'tabel_maten' );
	var tblextra  = document.getElementById( 'tabel_extra' );
	var fontmaten = document.getElementById( 'matenfont_set' );
	var fontextra = document.getElementById( 'extrafont_set' );

	if ( what == 'maten' ) {		
	    // tabellen aan en uit
		tblmaten.className = 'Visible';
		tblextra.className = 'notVisible';

		// fonts goed zetten
		matenfont_set.className = 'Bold';
		extrafont_set.className = 'notBold';
	} else if ( what == 'extra' ) {
	    // tabellen aan en uit
		tblextra.className = 'Visible';
		tblmaten.className = 'notVisible';

		// fonts goed zetten
		extrafont_set.className = 'Bold';
		matenfont_set.className = 'notBold';

		inp_width = document.getElementById( 'tabel_extra' ).width;
		document.getElementsByName( 'aflinstruct_1' )[0].style.width = inp_width;
		document.getElementsByName( 'aflinstruct_2' )[0].style.width = inp_width;
		document.getElementsByName( 'aflinstruct_3' )[0].style.width = inp_width;
		document.getElementsByName( 'aflinstruct_4' )[0].style.width = inp_width;
		document.getElementsByName( 'klantref' )[0].style.width = inp_width;
	}
}

function AnnuleerToevoegen( cat, artgrp ) {
	if ( confirm( parent.ARTIKEL_ZEKER_NIET_BESTELLEN ) ) {
		document.location.href = baseURL +'afroepen/artikelen/'+cat+'/'+artgrp+'?pageonly=1';
	}
}

function ToevoegenAanlijst( bestelhv, naam ) {
    var bestelaantal = document.getElementsByName( 'bestelaantal' )[0].value;
    var minHv        = parseInt( document.getElementById( 'MinAfname' ).innerHTML );
    
	if ( ( bestelaantal > 0 ) && ( bestelaantal != '' ) ) {
        bestelaantal = parseInt( bestelaantal );
        if ( minHv > ( bestelaantal * bestelhv ) ) {
            //alert( 'U moet minimaal '+minHv+' '+naam+' bestellen.' );
            alert( sprintf( MINIMAAL_BESTELLEN, minHv, naam ) );
        } else {
    		document.bestellen.submit();
	    	return true;
        }
	} else {
		alert( MOET_AANTAL_INVOEREN );
		return false;
	}
}

function VerwijderVanlijst() {
	var UniekNr = OverzichtArtikelLastSelected;

	if ( UniekNr == null ) {
		alert( MOET_ARTIKEL_SELECTEREN_VOOR_VERWIJDEREN );
	} else {
		if ( confirm( parent.ARTIKEL_ZEKER_VERWIJDEREN_UIT_LIJST  ) ) {
			var maat = document.getElementById( 'divmaat_'+OverzichtArtikelLastSelectedID ).innerHTML;
			var kleurcode = document.getElementById( 'divkleur_'+OverzichtArtikelLastSelectedID ).innerHTML;
			document.location = baseURL+'afroepen/orderverwijderen/'+maat+'/'+kleurcode+'/'+UniekNr+'?pageonly=1';
		}
	}
}

function parentShowName( name ) {
    try {
        parent.document.getElementsByName( name )[0].className = 'Visible';
    } catch( error ) { }
	return true;
}

function parentHideName( name ) {
    try {
	    parent.document.getElementsByName( name )[0].className = 'notVisible';
	    return true;
    } catch ( error ) {}
}

function showOrderOverzicht() {
	contentFrame.location = baseURL +'afroepen/overzicht/?pageonly=1';
	return true;
}

function VoorraadCheckOverzicht( nummer, row ) {
	if ( !wait ) {
		wait = true;

		OverzichtLastClicked      = row;
		OverzichtLastClicked_CBnr = nummer;

		cbname = 'cb_'+ nummer;

		var checkbox = document.getElementsByName( cbname )[0];

		if ( checkbox.checked ) {
			checkbox.checked = false;
			count_checked--;
		} else {
			checkbox.checked = true;
			count_checked++;		
		}

		if ( count_checked == 0 ) {
            parent.document.getElementById( 'btOrderOverzichtPrinter' ).className = 'notVisible';
            parent.document.getElementById( 'btOrderOverzichtExcel' ).className = 'notVisible';
            parent.document.getElementById( 'btOrderVerzenden' ).className = 'notVisible';
			//parentHideName( 'btOrderOverzichtPrinter' );
			//parentHideName( 'btOrderOverzichtExcel' );
			//parentHideName( 'btOrderVerzenden' );
		} else {
            parent.document.getElementById( 'btOrderOverzichtPrinter' ).className = 'Visible';
            parent.document.getElementById( 'btOrderOverzichtExcel' ).className = 'Visible';
            parent.document.getElementById( 'btOrderVerzenden' ).className = 'Visible';
			//parentShowName( 'btOrderOverzichtPrinter' );
			//parentShowName( 'btOrderOverzichtExcel' );
			//parentShowName( 'btOrderVerzenden' );
		}
//      parent.document.getElementsByName( 'btOrderVerzenden' )[0].src = '/images/buttons/order_verzenden_off.gif';
        parent.document.getElementById( 'ORDER_VERZENDEN_TEXT' ).style.color = '#B4A9A9';

		Pointer(row, '#A5D3EC', '#000099', '#000000', '#FFFFFF', true, '' );

		var goto_url = baseURL+'afroepen/checkvoorraad/'+count_checked;

		checkFrame.document.location = goto_url;	
	}
}	

// deze functie wordt vanuit het checkframe aangeroepen, zodat je *zeker* weet dat die pagina geladen is
function goReadVoorraad( voorraadtoereikend, budgettoereikend, artoms ) {
	var ok = true;

	if ( voorraadtoereikend == 'false' ) {
		//alert( "Er is te weinig voorraad van:\n"+ artoms );
        alert( sprintf( VOORRAAD_ONTOEREIKEND_VOOR_ARTIKEL, artoms ) );

		ok = false;
	}

	if ( ok ) {
		if ( budgettoereikend == 'false' ) {
			alert( MAXIMUM_BESTEDEN_BEDRAG_BEREIKT );
			ok = false;
		}
	}

	if ( !ok ) {
		// kleur terug zetten
		Pointer( OverzichtLastClicked, '#A5D3EC', '#000099', '#000000', '#FFFFFF', true, '' );		
		// checkbox unchecken
		document.getElementsByName( 'cb_'+OverzichtLastClicked_CBnr )[0].checked = false;
		// counter verlagen
		count_checked--;
	} else {
        addArray( afleverAdressen, OverzichtLastClicked_CBnr );
    }
	
	wait = false;

	return ok;
}

function goCountAdresses() {
    var afladr = '';

	for( var i=0; i < aflAdressen; i++ ) {
		var cbname  = 'cb_'+i;
		var gebname = 'geb_'+i;

		if ( document.getElementsByName( cbname )[0].checked ) {
			var value = document.getElementsByName( gebname )[0].value;

			afladr += value+'-';
		}
	}

/*
	for( var i=0; i < afleverAdressen.length; i++ ) {
		var cbname  = 'cb_'+afleverAdressen[i];
		var gebname = 'geb_'+afleverAdressen[i];

        var value = document.getElementsByName( gebname )[0].value;

        afladr += value+'-';		
	}
*/
    return afladr;
}

function showPrintOverzicht() {
	var afladr = goCountAdresses();

	if ( afladr == '' ) {
		alert( EERST_AFLEVERADRES_SELECTEREN );
		return false;
	} else {
		var url = baseURL+'afroepen/overzicht/print/?afl=' + afladr;

		value = window.showModalDialog( url, 'Printoverzicht', 'dialogWidth: 800px; dialogHeight: 600px; dialogTop: 10px; dialogLeft: 10px; toolbar: no; status: no; location: no; scrolling: yes; resizable: yes; help: no; edge: Raised;');
        //parent.document.getElementsByName( 'btOrderVerzenden' )[0].src = '/images/buttons/order_verzenden.gif';
        parent.document.getElementById( 'ORDER_VERZENDEN_TEXT' ).style.color = '#FFFFFF';

        MagOrderVerzenden = true;
	}
	return true;
}

function showExcelOverzicht() {
    var afladr = goCountAdresses();
    
    if ( afladr == '' ) {
		alert( EERST_AFLEVERADRES_SELECTEREN );
		return false;
	} else {
		var url = baseURL+'afroepen/overzicht/excel/?afl=' + afladr;
//		value = window.showModalDialog( url, 'Exceloverzicht', 'dialogWidth: 800px; dialogHeight: 600px; dialogTop: 10px; dialogLeft: 10px; toolbar: yes; menubar: yes; status: yes; location: no; scrolling: yes; resizable: yes; help: no; edge: Raised;');

		var calwindow = window.open(
			url,
			'_blank', 'width=600,height=400'+
			',status=no,menubar=yes,resizable=yes,toolbar=no,location=no,copyhistory=no,directories=no,scrollbars=yes,dependent=yes,alwaysRaised=yes,top=10,left=10'
		);
		calwindow.opener = window;
		calwindow.focus();

        //parent.document.getElementsByName( 'btOrderVerzenden' )[0].src = '/images/buttons/order_verzenden.gif';
        parent.document.getElementById( 'ORDER_VERZENDEN_TEXT' ).style.color = '#FFFFFF';

        MagOrderVerzenden = true;
	}
	return true;
}

var MagOrderVerzenden = false;

function verzendOrder() {
	//if ( parent.document.getElementById( 'ORDER_VERZENDEN_TEXT' ).style.color == '#FFFFFF' ) {
    if ( MagOrderVerzenden ) {
		document.verzenden.submit();
	} else {
		alert( EERST_OVERZICHT_GENEREREN );
	}
}

function showGebrBeheer() {
	var url = baseURL+'/modal.php?url='+baseURL+'gebruikers/&title='+GEBRUIKERSBEHEER;

	value = window.showModalDialog( url, window, 'dialogWidth: '+document.body.clientWidth+'px; dialogHeight: '+screen.availHeight+'px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	return false;
}

function viewPicture( imageId ) {
	var url = baseURL+'afbeelding/bekijk/'+imageId;

    try {
        window = window.open( url, '_blank', 'width=600,height=400,status=no,resizeable=yes,toolbar=no,location=no,copyhistory=no,directories=no,scrollbars=yes,top=10,left=10' );
    } catch( error ) {}
}

// multidimentionale array
function multiGebr( GebrNaam, GebrPass, Aflnr, Inloggen, Voorraad, Bestellen, Inkoopprijs, Verrekenprijs, Verzendkosten, Verzendbedrag, VerzendStaffel, BTW, MaxBedrag, RestMaxBedrag, Orderentot, MaxBestedingPer, UserLevel, myStatus, OrderInformatie, Retouren, Orderstatus ) {
// GebrId  GebrNaam  GebrPass Aflnr Inloggen  Voorraad  Bestellen  Inkoopprijs  Verrekenprijs  Verzendkosten  Verzendbedrag  VerzendStaffel  BTW  MaxBedrag  RestMaxBedrag  Orderentot  MaxBestedingPer UserLevel
	this.GebrNaam        = GebrNaam;
	this.GebrPass        = GebrPass;
	this.Aflnr           = Aflnr;
	this.Inloggen        = Inloggen;
	this.Voorraad        = Voorraad;
	this.Bestellen       = Bestellen;
	this.Inkoopprijs     = Inkoopprijs;
	this.Verrekenprijs   = Verrekenprijs;
	this.Verzendkosten   = Verzendkosten;
	this.Verzendbedrag   = Verzendbedrag;
	this.VerzendStaffel  = VerzendStaffel;
	this.BTW             = BTW;
	this.MaxBedrag       = MaxBedrag;
	this.RestMaxBedrag   = RestMaxBedrag;
	this.Orderentot      = Orderentot;
	this.MaxBestedingPer = MaxBestedingPer;
	this.UserLevel       = parseInt( UserLevel );
	this.Mystatus        = myStatus;
	this.OrderInformatie = OrderInformatie;
	this.Retouren 		 = Retouren;
	this.Orderstatus	 = Orderstatus
	this.MaxAfname = [];
}

function multiAfname( Artnr, Afname, Tijd, Artoms ){
	this.Artnr = Artnr;
	this.Afname = Afname;
	this.Tijd = Tijd;
	this.Artoms = Artoms;
}

function validateDate( inp ) {
	var value    = inp.value;
	if ( value != '' ) {
		try {		
			var ok       = true;
			var RE_NUM   = /^\-?\d+$/;
			var arr_date = value.split('-');

			if (arr_date.length != 3) { ok = false; }
			if (!arr_date[0]) { ok = false; }
			if (!RE_NUM.exec(arr_date[0])) { ok = false; }
			if (!arr_date[1]) { ok = false; }
			if (!RE_NUM.exec(arr_date[1])) { ok = false; }
			if (!arr_date[2]) { ok = false; }
			if (!RE_NUM.exec(arr_date[2])) { ok = false; }

			if ( arr_date[0].length != 2 ){ ok = false; }
			if ( arr_date[1].length != 2 ){ ok = false; }
			if ( arr_date[2].length != 4 ){ ok = false; }

			if ( isNaN( arr_date[0] ) ) { ok = false; }
			if ( isNaN( arr_date[1] ) ) { ok = false; }
			if ( isNaN( arr_date[2] ) ) { ok = false; }

			var dt_date = new Date();
			dt_date.setDate(1);

			if (arr_date[1] < 1 || arr_date[1] > 12) { ok = false };
			dt_date.setMonth(arr_date[1]-1);
			 
			if (arr_date[2] < 100) arr_date[2] = Number(arr_date[2]) + (arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);
			dt_date.setFullYear(arr_date[2]);

			var dt_numdays = new Date(arr_date[2], arr_date[1], 0);
			dt_date.setDate(arr_date[0]);
			if (dt_date.getMonth() != (arr_date[1]-1)) { ok = false };

			if ( !ok ) {
				alert( DATUM_VERKEERD );
				inp.value = '';
			}
		} catch (error){
			alert( DATUM_VERKEERD );
			inp.value = '';
		}
	}
	return true;
}

function popSelectTotDate() {
	if ( document.gebrbeheer.elements['use_besteding'].checked ) {
		var url = baseURL+'/modal.php?url='+baseURL+'calender.html&title='+ ORDEREN_TOT +'...';

		value = window.showModalDialog( url, window, 'dialogWidth: 190px; dialogHeight: 200px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
		
        if ( value != null ) {
		    document.gebrbeheer.elements[ 'orderen_tot' ].value = value;
        }
		return false;
	}
}

function switchBesteding( on ) {
	if ( on ) {
		document.gebrbeheer.elements['maxbesteding'].disabled     = false;
		//document.gebrbeheer.elements['restbedrag'].disabled       = false;
		document.gebrbeheer.elements['orderen_tot'].disabled      = false;
		document.gebrbeheer.elements['besteding_per'][0].disabled = false;
		document.gebrbeheer.elements['besteding_per'][1].disabled = false;
		document.gebrbeheer.elements['besteding_per'][2].disabled = false;
	} else {
		document.gebrbeheer.elements['maxbesteding'].disabled     = true;
		//document.gebrbeheer.elements['restbedrag'].disabled       = true;
		document.gebrbeheer.elements['orderen_tot'].disabled      = true;
		document.gebrbeheer.elements['besteding_per'][0].disabled = true;
		document.gebrbeheer.elements['besteding_per'][1].disabled = true;
		document.gebrbeheer.elements['besteding_per'][2].disabled = true;
	}
}

function checkGebr( name, key ) {
	document.gebrbeheer.elements[ name ][ key ].checked = true;
}

function switchUser( row, gebrid, theDefaultColor, thePointerColor, theFontDefaultColor, theFontPointerColor ) {
	if ( previousRow != row  ) {
		if ( !wait ) {
			var g = gebr[ gebrid ];
			previousRow = row;

			// naam veranderen
			document.getElementById( 'authVoorNaam' ).innerHTML = g.GebrNaam;

			// id updaten
			document.gebrbeheer.elements[ 'gebrUpdId' ].value = gebrid;
			// naam updaten
			document.gebrbeheer.elements[ 'gebrUpdName' ].value = g.GebrNaam;

			// keuze vakjes uit
			try {
				document.getElementById( 'hfdbeheerder_div' ).className = 'notVisible';
				document.getElementById( 'beheerder_div' ).className    = 'notVisible';
			} catch (error){}

			// besteding
			if ( g.MaxBedrag > 0 ) {
				document.gebrbeheer.elements[ 'use_besteding' ].checked = true;
				switchBesteding( true );
			} else {
				document.gebrbeheer.elements[ 'use_besteding' ].checked = false;
				switchBesteding( false );
			}
			document.gebrbeheer.elements[ 'maxbesteding' ].value = g.MaxBedrag;
			document.gebrbeheer.elements[ 'restbedrag' ].value   = g.RestMaxBedrag;

			if ( g.Orderentot == '00-00-0000') {
				g.Orderentot = '';
			}
			document.gebrbeheer.elements[ 'orderen_tot' ].value  = g.Orderentot;

			// userlevel setten
			try {
				if ( userlevel < 50 ) {
					if ( g.UserLevel == 90 ) {
						document.gebrbeheer.elements[ 'level' ][0].selected = true;
					} else if ( g.UserLevel == 50 ) {
						document.gebrbeheer.elements[ 'level' ][1].selected = true;
					} else if ( g.UserLevel == 30 ) {
						document.gebrbeheer.elements[ 'level' ][2].selected = true;
					}
				}
			} catch (error) {}

			if ( g.MaxBestedingPer == 0 ) {
				checkGebr( 'besteding_per', 0 );
			} else if ( g.MaxBestedingPer == 1 ) {
				checkGebr( 'besteding_per', 1 );
			} else if ( g.MaxBestedingPer == 2 ) {
				checkGebr( 'besteding_per', 2 );
			} else {
				checkGebr( 'besteding_per', 0 );
			}
			// rechten geven
			if ( g.Inloggen == 'Ja' ) {
				checkGebr( 'inloggen', 0 );
			} else {
				checkGebr( 'inloggen', 1 );
			}
			if ( g.Voorraad == 'Ja' ) {
				checkGebr( 'voorraad', 0 );
			} else {
				checkGebr( 'voorraad', 1 );
			}
			if ( g.Bestellen == 'Ja' ) {
				checkGebr( 'bestellen', 0 );
			} else {
				checkGebr( 'bestellen', 1 );
			}
			if ( g.Inkoopprijs == 'Ja' ) {
				checkGebr( 'inkoopprijs', 0 );
			} else {
				checkGebr( 'inkoopprijs', 1 );
			}
			if ( g.Verrekenprijs == 'Ja' ) {
				checkGebr( 'verrekenprijs', 0 );
			} else {
				checkGebr( 'verrekenprijs', 1 );
			}
			if ( g.Verzendkosten == 'Ja' ) {
				checkGebr( 'verzendkosten', 0 );
			} else {
				checkGebr( 'verzendkosten', 1 );
			}
			if ( g.BTW == 'Ja' ) {
				checkGebr( 'btw', 0 );
			} else {
				checkGebr( 'btw', 1 );
			}
			if ( g.Mystatus == 'Ja' ) {
				checkGebr( 'mystatus', 0 );
			} else {
				checkGebr( 'mystatus', 1 );
			}
			if ( g.OrderInformatie == 'Ja' ) {
				checkGebr( 'orderinfo', 0 );
			} else {
				checkGebr( 'orderinfo', 1 );
			}
			
			if ( g.Retouren == 'Ja' ) {
				checkGebr( 'retouren', 0 );
			} else {
				checkGebr( 'retouren', 1 );
			}
				
			if ( g.Orderstatus == 'Ja' ) {
				checkGebr( 'orderstatus', 0 );
			} else {
				checkGebr( 'orderstatus', 1 );
			}
		
			if ( row != 'nopointer' ) {
				// kleur veranderen
				Pointer(row, theDefaultColor, thePointerColor, theFontDefaultColor, theFontPointerColor, false, '' );
			}
			
			//Tabel met maximale afname legen
			var aTable = document.getElementById( "table_afname" );
			var lengte = aTable.rows.length;
			for( var i = lengte; i > 1; i-- ){
				aTable.deleteRow(i-1);
			}
			
			//Tabel met maximale afname vullen			
			for( var i = 0; i < g.MaxAfname.length; i++ ){
				var afname = g.MaxAfname[i];
				
				var row = aTable.insertRow(aTable.rows.length);
				row.id = afname.Artnr;
				row.ondblclick = verwijder;
				row.style.cursor = 'hand';		
				var cell = row.insertCell(row.cells.length);
				cell.innerHTML = afname.Artnr;
				cell.style.background = "#A5D3EC";
				var cell = row.insertCell(row.cells.length);
				cell.innerHTML = afname.Artoms;
				cell.style.background = "#A5D3EC";				
				var cell = row.insertCell(row.cells.length);
				cell.innerHTML = afname.Afname;
				cell.style.background = "#A5D3EC";
				var cell = row.insertCell(row.cells.length);
				if( afname.Tijd == 'jaar' ){
					cell.innerHTML = JAAR;
				} else if( afname.Tijd == 'maand' ){
					cell.innerHTML = MAAND;
				} else {
					cell.innerHTML = DAG;
				}
				cell.style.background = "#A5D3EC";

			}	
		}
	}	
	
	function verwijder(){
		if( confirm( ASK_DELETE_ROW ) ){	
			
			//Rij weggooien
			aTable.deleteRow(this.rowIndex);
			
			//Hmm hij moet ook nog uit Javascript
			for( var i = 0; i < g.MaxAfname.length; i++ ){
				var afname = g.MaxAfname[i];
				if( afname.Artnr == this.id ){
					var delindex = i;
					break;
				}
			}	
			
			deleteArrayElement( g.MaxAfname, delindex );
				
			document.gebrbeheer.action = baseURL+"gebruikers/verwijderafname/?id="+this.id;
			document.gebrbeheer.submit();
		}
	}
	
	return true;
}

function levelChangeVsb( value ) {
	var ok = false;
	var g  = gebr[ document.gebrbeheer.elements[ 'gebrUpdId' ].value ];

	if ( g.UserLevel == 30 &&  value == "gebruiker" ) {
		alert( 'U kunt maar 1 niveau naar beneden, zonder de rechten te verwerken (van hoofdbeheerder > beheerder).' );
	} else {
		if ( value == "gebruiker" && g.UserLevel == 50 ) {
			alert( 'U moet een beheerder kiezen voor deze gebruiker.' );
			document.getElementById( 'hfdbeheerder_div' ).className = 'notVisible';
			document.getElementById( 'beheerder_div' ).className    = 'Visible';
		} else if ( value == "beheerder" && g.UserLevel == 30 ) {
			alert( 'U moet een hoofdbeheerder kiezen voor deze beheerder.' );
			document.getElementById( 'hfdbeheerder_div' ).className = 'Visible';
			document.getElementById( 'beheerder_div' ).className    = 'notVisible';
		} else {
			document.getElementById( 'hfdbeheerder_div' ).className = 'notVisible';
			document.getElementById( 'beheerder_div' ).className    = 'notVisible';
		}
	}
}

function verwerkAfname() {
	var gebrID = document.gebrbeheer.elements[ 'gebrUpdId' ].value;
	var UniekArtikelNummer = document.getElementById( "afname_artikel" ).value;
	var MaximaleAfname = document.getElementById( "max_afname" ).value;	
	var AfnamePeriode = document.getElementById( "afname_tijd" ).value;
	var s = document.getElementById( "afname_artikel" );
	var Artoms = s.options[s.selectedIndex].text;
	var Artoms = Artoms.replace("'","\'");
	var g = gebr[ gebrID ];
	var bestaat = false;
	
	if( UniekArtikelNummer != "-1" ){
		
		if( MaximaleAfname == "" ){
			alert("U bent verplicht een maximale afname in te vullen...");
			document.getElementById( "max_afname" ).focus();
			document.getElementById( "max_afname" ).select();
			return false;			
		}	
		
		for ( var i = 0; i < g.MaxAfname.length; i++ ) {
			if ( g.MaxAfname[i].Artnr == UniekArtikelNummer ) {
				g.MaxAfname[i].Afname = MaximaleAfname;
				g.MaxAfname[i].Tijd = AfnamePeriode;
				var bestaat = true;
				break;
			} 
		}
		
		if( bestaat == false ){
			g.MaxAfname[ g.MaxAfname.length ] = new multiAfname( UniekArtikelNummer, MaximaleAfname, AfnamePeriode, Artoms );						
		}
		
		//Table updaten uiteraard
		//Tabel met maximale afname legen
		var aTable = document.getElementById( "table_afname" );
		var lengte = aTable.rows.length;
		for( var i = lengte; i > 1; i-- ){
			aTable.deleteRow(i-1);
			//alert(i);
		}
			
		//Tabel met maximale afname vullen			
		for( var i = 0; i < g.MaxAfname.length; i++ ){
			var afname = g.MaxAfname[i];
//			alert(i);
			var row = aTable.insertRow(aTable.rows.length);		
			row.id = afname.Artnr;
			row.ondblclick = verwijder;
			row.style.cursor = 'hand';										
			var cell = row.insertCell(row.cells.length);
			cell.innerHTML = afname.Artnr;
			cell.style.background = "#A5D3EC";
			var cell = row.insertCell(row.cells.length);
			cell.innerHTML = afname.Artoms;
			cell.style.background = "#A5D3EC";				
			var cell = row.insertCell(row.cells.length);
			cell.innerHTML = afname.Afname;
			cell.style.background = "#A5D3EC";
			var cell = row.insertCell(row.cells.length);
			cell.innerHTML = afname.Tijd;
			cell.style.background = "#A5D3EC";
		}			
		
		document.gebrbeheer.action = baseURL+"gebruikers/verwerkafname/";
		document.gebrbeheer.submit();
				
	}

	function verwijder(){
		if( confirm('Weet u zeker dat u deze regel wilt verwijderen?') ){	
			
			//Rij weggooien
			aTable.deleteRow(this.rowIndex);
			
			//Hmm hij moet ook nog uit Javascript
			for( var i = 0; i < g.MaxAfname.length; i++ ){
				var afname = g.MaxAfname[i];
				if( afname.Artnr == this.id ){
					var delindex = i;
					break;
				}
			}	
			
			deleteArrayElement( g.MaxAfname, delindex );
				
			document.gebrbeheer.action = baseURL+"gebruikers/verwijderafname/?id="+this.id;
			document.gebrbeheer.submit();
		}
	}	
	
}

function laadAfname(){
	var gebrID = document.gebrbeheer.elements[ 'gebrUpdId' ].value;
	var UniekArtikelNummer = document.getElementById( "afname_artikel" ).value;
	var g = gebr[ gebrID ];

	var MaxAfnameValue = null;
	for ( var i = 0; i < g.MaxAfname.length; i++ ) {
		if ( g.MaxAfname[i].Artnr == UniekArtikelNummer ) {
		    MaxAfnameValue = g.MaxAfname[i].Afname;
		    break; 
		}
	}
    
    if ( MaxAfnameValue == null ) {
	    document.getElementById( "max_afname" ).value = 0;
    } else {
    	document.getElementById( "max_afname" ).value = MaxAfnameValue;
    }
}


// rechten verwerken ( js en in de db )
function verwerkRechten() {
	wait = true;
	var gebrID = document.gebrbeheer.elements[ 'gebrUpdId' ].value;
	var g      = gebr[ gebrID ];

	// rechten 
	var Inloggen      	= ( document.gebrbeheer.elements[ 'inloggen' ][0].checked ) ? 'Ja' : 'Nee';
	var Verrekenprijs 	= ( document.gebrbeheer.elements[ 'verrekenprijs' ][0].checked ) ? 'Ja' : 'Nee';
	var BTW           	= ( document.gebrbeheer.elements[ 'btw' ][0].checked ) ? 'Ja' : 'Nee';
	var Verzendkosten 	= ( document.gebrbeheer.elements[ 'verzendkosten' ][0].checked ) ? 'Ja' : 'Nee';
	var Inkoopprijs   	= ( document.gebrbeheer.elements[ 'inkoopprijs' ][0].checked ) ? 'Ja' : 'Nee';
	var Bestellen     	= ( document.gebrbeheer.elements[ 'bestellen' ][0].checked ) ? 'Ja' : 'Nee';
	var Voorraad      	= ( document.gebrbeheer.elements[ 'voorraad' ][0].checked ) ? 'Ja' : 'Nee';
	var myStatus 	  	= ( document.gebrbeheer.elements[ 'mystatus' ][0].checked ) ? 'Ja' : 'Nee';
	var Orderinformatie = ( document.gebrbeheer.elements[ 'orderinfo' ][0].checked ) ? 'Ja' : 'Nee';
	var Retouren	  	= ( document.gebrbeheer.elements[ 'retouren' ][0].checked ) ? 'Ja' : 'Nee';
	var Orderstatus	  	= ( document.gebrbeheer.elements[ 'orderstatus' ][0].checked ) ? 'Ja' : 'Nee';	

	// besteding
	if ( document.gebrbeheer.elements[ 'use_besteding' ].checked ) {
		var MaxBedrag       = document.gebrbeheer.elements[ 'maxbesteding' ].value;
		var RestMaxBedrag   = document.gebrbeheer.elements[ 'restbedrag' ].value;
		var Orderentot      = document.gebrbeheer.elements[ 'orderen_tot' ].value;
	} else {
		var MaxBedrag       = 0;
		var RestMaxBedrag   = 0;
		var Orderentot      = '00-00-0000';
	}
	
	if ( document.gebrbeheer.elements[ 'besteding_per' ][0].checked ) {
		var MaxBestedingPer = 0;
	} else if ( document.gebrbeheer.elements[ 'besteding_per' ][1].checked ) {
		var MaxBestedingPer = 1;
	} else if ( document.gebrbeheer.elements[ 'besteding_per' ][2].checked ) {
		var MaxBestedingPer = 2;
	}

	// niveau
	try	{
		var niveau = document.gebrbeheer.elements[ 'level' ].value;
		if ( niveau == 'gebruiker' ) {
			var UserLevel = 90;
		} else if ( niveau == 'beheerder' ) {
			var UserLevel = 50;
		} else if ( niveau == 'hoofdbeheerder' ) {
			var UserLevel = 30;
		}
	} catch ( error ){
		var UserLevel = 90;
	}

//BUG MySTatus en Orderinformatie werden niet eens verwerkt in JS!! OPGELOST!
		
//GebrNaam,   GebrPass,   Aflnr,   Inloggen, Voorraad, Bestellen, Inkoopprijs, Verrekenprijs, Verzendkosten, Verzendbedrag,   VerzendStaffel,   BTW, MaxBedrag, RestMaxBedrag, Orderentot, MaxBestedingPer, UserLevel, Retouren, Orderstatus
	gebr[ gebrID ] = new multiGebr( g.GebrNaam, g.GebrPass, g.Aflnr, Inloggen, Voorraad, Bestellen, Inkoopprijs, Verrekenprijs, Verzendkosten, g.Verzendbedrag, g.VerzendStaffel, BTW, MaxBedrag, RestMaxBedrag, Orderentot, MaxBestedingPer, UserLevel, myStatus, Orderinformatie, Retouren, Orderstatus );

	
	document.gebrbeheer.submit();
}

function clearFrameSRC() {
	document.getElementsByName( 'modalSubmitFrame' )[0].src = '';
	document.getElementsByName( 'modalSubmitFrame' )[0].location = '';

	// keuze vakjes uit
	try {
		document.getElementById( 'hfdbeheerder_div' ).className = 'notVisible';
		document.getElementById( 'beheerder_div' ).className    = 'notVisible';		
	} catch (error){}

	wait = false;

	return true;
}

function muteerAdresgegevens( id ) {
	if ( id > 0 ) {
		var url = baseURL+'/modal.php?url='+baseURL+'gebruikers/adres/'+id;
	} else {
		var url = baseURL+'/modal.php?url='+baseURL+'gebruikers/adres/'+document.gebrbeheer.elements[ 'gebrUpdId' ].value;
	}

	url += '&title='+ MUTEER_ADRESGEGEVENS;

	value = window.showModalDialog( url, window, 'dialogWidth: 492px; dialogHeight: 411px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	return true;
}

function nieuweGebr() {
	var url = baseURL+'/modal.php?url='+baseURL+'gebruikers/nieuw/&title='+ NIEUWE_GEBRUIKER_AANMAKEN

	value = window.showModalDialog( url, window, 'dialogWidth: 492px; dialogHeight: 220px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	return true;
}

// gebruiker maken
function maakGebr( submitonly, id ) {
	if ( submitonly ) {
		if ( document.nieuwgebr.elements[ 'gebrnaam' ].value == '' ) {
			alert( GEBRUIKER_GEEN_NAAM );
		} else if ( document.nieuwgebr.elements[ 'gebrww' ].value == '' ) {
			alert( GEBRUIKER_GEEN_WACHTWOORD );
		} else {
			document.nieuwgebr.submit();
		}
	} else {
		if ( confirm( GEBRUIKER_ADRESGEGEVENS_INVULLEN ) ) {
			muteerAdresgegevens( id );
		} else {
			alert( GEBRUIKER_LETOP_NIETAFGELEVERDWORDEN );
		}
		alert( GEBRUIKER_LETOP_GEENRECHTEN );
		parent.window.dialogArguments.document.location = parent.window.dialogArguments.document.location+'/';				
		parent.window.close();		
	}
	return true;
}

function check4gebrsel( value ) {
	if ( value == 90 ) {
		try {
			document.nieuwgebr.elements[ 'behid' ].disabled        = false;
			document.getElementById( 'beheerder_set' ).style.color = '#000000';
			document.nieuwgebr.elements[ 'hfdbehid' ].disabled = true;
			document.getElementById( 'hfdbeheerder_set' ).style.color = '#9F9F9F';
		} catch (error) { }
	} else if ( value == 50 ) {
		try {
			document.nieuwgebr.elements[ 'behid' ].disabled = true;
			document.getElementById( 'beheerder_set' ).style.color = '#9F9F9F';
			document.nieuwgebr.elements[ 'hfdbehid' ].disabled        = false;
			document.getElementById( 'hfdbeheerder_set' ).style.color = '#000000';	
		} catch (error) { }
	} else if ( value == 30 ) {
		document.nieuwgebr.elements[ 'hfdbehid' ].disabled        = true;
		document.getElementById( 'hfdbeheerder_set' ).style.color = '#9F9F9F';
		document.nieuwgebr.elements[ 'behid' ].disabled = true;
		document.getElementById( 'beheerder_set' ).style.color = '#9F9F9F';
	} else {
		document.nieuwgebr.elements[ 'behid' ].disabled = true;
		document.getElementById( 'beheerder_set' ).style.color = '#9F9F9F';
	}
	return true;
}

// gebruiker verwijderen
function verwGebr() {
	var id   = document.gebrbeheer.elements[ 'gebrUpdId' ].value;
	var g    = gebr[ id ];
	var naam = g.GebrNaam;

	if ( g.UserLevel == 30 ) {
		var levelNaam = HOOFDBEHEERDER;
	} else if ( g.UserLevel == 50 ) {
		var levelNaam = BEHEERDER;
	} else {
		var levelNaam = GEBRUIKER;
	}

	//if ( confirm( 'Weet u zeker dat u \''+naam+'\' wilt verwijderen? ('+levelNaam+')' ) ) {
    if ( confirm( sprintf( GEBRUIKER_VERWIJDEREN, naam, levelNaam ) ) ) {
		document.getElementsByName( 'modalSubmitFrame' )[0].src = baseURL+'gebruikers/verwijdergebr/'+id;
	}
	return true;
}

function muteerInlog() {
	var url = baseURL+'/modal.php?url='+baseURL+'gebruikers/muteerinlog/'+document.gebrbeheer.elements[ 'gebrUpdId' ].value+'&title='+ MUTEER_INLOGGEGEVENS;

	value = window.showModalDialog( url, window, 'dialogWidth: 492px; dialogHeight: 210px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	return true;
}

// inlog gebruiker verwerken
function verwerkInlog() {
	if ( document.mutinlog.elements[ 'gebrnaam' ].value == '' ) {
		alert( GEBRUIKER_GEEN_NAAM );
	} else if ( document.mutinlog.elements[ 'gebrww' ].value == '' ) {
		alert( GEBRUIKER_GEEN_WACHTWOORD );
	} else {
		document.mutinlog.submit();
	}
	return true;
}

function exportGebrs() {
	var url = baseURL+'/modal.php?url='+baseURL+'gebruikers/export/&title='+ EXPORTEER_GEBRUIKERS;

	value = window.showModalDialog( url, window, 'dialogWidth: 492px; dialogHeight: 120px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	return true;
}

function exportGebrs2Excel() {
	var type = document.getElementsByName( 'exporttype' )[0].value;

	var url = baseURL+'gebruikers/export/excel/'+type+'/';

	var calwindow = window.open(
		url,
		'_blank', 'width=600,height=400'+
		',status=no,menubar=yes,resizable=yes,toolbar=no,location=no,copyhistory=no,directories=no,scrollbars=yes,dependent=yes,alwaysRaised=yes,top=10,left=10'
	);
	calwindow.opener = window;
	calwindow.focus();
}

function elementByName( name ) {
    return document.getElementsByName( name )[0];
}

function importGebrs() {
	var url = baseURL+'/modal.php?url='+baseURL+'gebruikers/import/&title='+ IMPORTEER_GEBRUIKERS;

	value = window.showModalDialog( url, window, 'dialogWidth: 500px; dialogHeight: 160px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	
	return true;
}

// import invoervakjes aan / uitzetten
function setUserImport( cb, i ) {
    var dis = true;

    if ( cb.checked ) {
        dis = false;
    }
    
    elementByName( 'gebrnaam['+i+']' ).disabled      = dis; 
    elementByName( 'wachtwoord['+i+']' ).disabled    = dis;

    try{ elementByName( 'niveau['+i+']' ).disabled = dis; } catch( error ) { }
    
    elementByName( 'afl_naam['+i+']' ).disabled      = dis;
    elementByName( 'afl_adres1['+i+']' ).disabled    = dis;
    elementByName( 'afl_adres2['+i+']' ).disabled    = dis;
    elementByName( 'afl_postcode['+i+']' ).disabled  = dis;
    elementByName( 'afl_plaats['+i+']' ).disabled    = dis;
    elementByName( 'afl_land['+i+']' ).disabled      = dis;
    
    elementByName( 'fact_naam['+i+']' ).disabled     = dis;
    elementByName( 'fact_adres['+i+']' ).disabled    = dis;
    elementByName( 'fact_postcode['+i+']' ).disabled = dis;
    elementByName( 'fact_plaats['+i+']' ).disabled   = dis;
    elementByName( 'fact_land['+i+']' ).disabled     = dis;
    elementByName( 'email['+i+']' ).disabled         = dis;
    elementByName( 'internet['+i+']' ).disabled      = dis;
    
    if ( cb.checked ) {
        import_aantal++;
    } else {
        import_aantal--;
    }
}

// import verwerken
function verwerkImportedGebrs( aantal_gebrs ) {
    var gebrnaam_filled = 0;
    if ( import_aantal == 0 ) {
      alert( GEBRUIKER_IMPORTEREN_MINIMAAL );
    } else {
        // kijken of alle gebruikersname wel zijn ingevuld
        for ( var i = 0; i < aantal_gebrs; i++ ) {
			if ( document.getElementsByName( 'import['+i+']' )[0].checked ) {
                try {
                    var inp_gebrnaam = document.getElementsByName( 'gebrnaam['+i+']' )[0];
                    var gebrnaam     = inp_gebrnaam.value;

                    if ( !inp_gebrnaam.disabled ) {
                        if ( gebrnaam.length != 0 ) {
                            gebrnaam_filled++;
                        }
                    }
                } catch( error ) { }
			}
        }
        
        if ( gebrnaam_filled != import_aantal ) {
            alert( GEBRUIKER_IMPORTEREN_ALLEMAAL_NAAM );
        } else {      
            //if ( confirm( 'Weet u zeker dat u deze '+import_aantal+' gebruikers wil importeren?' ) ) {
            if ( confirm( sprintf( GEBRUIKERS_IMPORTEREN, import_aantal ) ) ) {
                document.gebr_import.submit();
            }
        }
    }
}

// artikel var setten
function setMyStatusArtikel( value, onbedrukt ) {
   selectedArt  = value;
   artOnbedrukt = onbedrukt;
   if ( parent.iSelAlphaRow == value ) {
       parent.iSelAlphaRow = 0;
	   parent.iSelAlphaNr = 0;
   	   parent.iVanRegel = 0;
   } else {
   	   parent.iSelAlphaRow = value;
   }
   return true;
}

function ToonLijst( vanParent, sorteer ) {
    if ( sorteer != null ) {
        cSorteerVeld = sorteer;
    }
	if (parent.iVanRegel == '') 
		parent.iVanRegel = 0;
//	if (parent.cAlphanrFilter < '')
//		parent.cAlphanrFilter == '';
	if (parent.iAlphaMaxRows == '')
		parent.iAlphaMaxRows = 10;
    if (vanParent == 'menu') {
        contentFrame.location = baseURL + 'mystatus.php?Order=' + cSorteerVeld  + '&VanRegel=' + parent.iVanRegel + 
								'&AlphanrFilter=' + parent.cAlphanrFilter + '&AlphaMaxRows=' + parent.iAlphaMaxRows +
								'&pageonly=1';
    } else if ( vanParent == 'column' ) {
	    location = baseURL + 'mystatus.php?Order=' + cSorteerVeld + '&VanRegel=0&AlphaMaxRows=' + parent.iAlphaMaxRows +
							 '&pageonly=1';
	    parent.iSelAlphaNr = 0;
	    parent.iSelAlphaRow = 0;
    }
}

function OrderDetails() {
	if (parent.iSelAlphaNr == '')
		parent.iSelAlphaNr = 0;
   if (iSelAlphaNr > 0) {
      contentFrame.location = baseURL + 'mystatus.php?Order=' + cSorteerVeld + '&ToonOrder=' + parent.iSelAlphaNr + '&ToonDetails=1&pageonly=1';
   } else {
	   alert( SELECTEER_ORDER );
   }
}

function searchBy( zoek_str, in_str ) {
    var from_url = escape( contentFrame.location );
    //from_url     = from_url.replace( '&', '|en|' );
    
    zoek_str     = zoek_str.replace( ' ', '+' );
    
    var goto_url = baseURL+'afroepen/search/' + in_str + '/' + zoek_str + '/?from=' + from_url + '&pageonly=1';

    //window.frames['checkFrame'].document.location = goto_url;	
    contentFrame.location = goto_url;
}

function showOrderHistorie() {
	var url = baseURL+'/modal.php?url='+baseURL+'historie/&title='+ ORDER_HISTORIE;

	value = window.showModalDialog( url, window, 'dialogWidth: '+document.body.clientWidth+'px; dialogHeight: '+screen.availHeight+'px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	return false;
}

function showVoorraad() {
	var url = baseURL+'/modal.php?url='+baseURL+'voorraad/&title='+ VOORRAAD_OVERZICHT ;

	value = window.showModalDialog( url, window, 'dialogWidth: '+document.body.clientWidth+'px; dialogHeight: '+screen.availHeight+'px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	return false;
}

function compareDates( dateFirst, dateSecond, maggelijkzijn ) { // returned true als eerste datum
  var ret = true;

  var firstDag   = parseInt( dateFirst.substring( 0, dateFirst.indexOf( '-' ) ), 10 );
  var firstMaand = parseInt( dateFirst.substring( ( dateFirst.indexOf( '-' ) + 1 ), dateFirst.lastIndexOf( '-' ) ), 10 );
  var firstJaar  = parseInt( dateFirst.substring( ( dateFirst.lastIndexOf( '-' ) + 1 ), dateFirst.length ), 10 );

  var secondDag   = parseInt( dateSecond.substring( 0, dateSecond.indexOf( '-' ) ), 10 );
  var secondMaand = parseInt( dateSecond.substring( ( dateSecond.indexOf( '-' ) + 1 ), dateSecond.lastIndexOf( '-' ) ), 10 );
  var secondJaar  = parseInt( dateSecond.substring( ( dateSecond.lastIndexOf( '-' ) + 1 ), dateSecond.length ), 10 );

  // data genereren
  firstDate = new Date();
  firstDate.setYear( firstJaar );
  firstDate.setMonth( ( firstMaand-1) );
  firstDate.setDate( firstDag );
  secondDate = new Date();
  secondDate.setYear( secondJaar );
  secondDate.setMonth( ( secondMaand - 1 ) );
  secondDate.setDate( secondDag );

  if ( maggelijkzijn ) {
	  if ( firstDate > secondDate ) {
		  ret = false;
		  alert( DATUM_MAGNIETGROTER );
	  }
  } else {
	  if ( firstDate >= secondDate ) {
		  ret = false;
		  alert( DATUM_MAGNIETGROTEROFGELIJK );
	  }
  }

  return ret;
}

function DoCheckDate( type, maggelijkzijn ) {
    var ok = true;

    var vanaf    = document.getElementsByName( 'datum_vanaf' )[0].value;
    var totenmet = document.getElementsByName( 'datum_totenmet' )[0].value;

    ok = compareDates( vanaf, totenmet, maggelijkzijn );

    if ( !ok ) {
        if ( type == 'vanaf' ) {
            document.getElementsByName( 'datum_vanaf' )[0].value = datumVanaf;
        } else if ( type == 'totenmet' ) {
            document.getElementsByName( 'datum_totenmet' )[0].value = datumTotenmet;
        }
    } else {
        datumVanaf    = vanaf;
        datumTotenmet = totenmet;
    }

	return ok;
}

function checkDate( type ) {
	return DoCheckDate( type, false );
}

function checkDateGelijk( type ) {
    return DoCheckDate( type, true );
}

// datum selecteren
function datumSelect( name ) {
	var url = baseURL+'/modal.php?url='+baseURL+'calender.php?datum='+document.getElementsByName( name )[0].value+'&title=Selecteer datum...';

	value = window.showModalDialog( url, window, 'dialogWidth: 190px; dialogHeight: 200px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	
	if ( value != null ) {
		document.getElementsByName( name )[0].value = value;
	}
	document.getElementsByName( name )[0].select();
	return false;
}

function controleerOrderhistorieSelectie( frm ) {
	var ok = true;
    if ( !document.getElementsByName( 'show_gebruikers' )[0].checked && !document.getElementsByName( 'show_artikelgroepen' )[0].checked && !document.getElementsByName( 'show_artikelen' )[0].checked ) {
        alert( MINIMAAL_EEN_NIVEAU );
		ok = false;
	}
    var vanaf = ( document.getElementsByName( 'datum_vanaf' )[0].value );
    if ( vanaf == '' && ok ) {
		alert( DATUM_VANAF_NIETINGEVULD );
		ok = false;
    }
	if ( document.getElementsByName( 'datum_totenmet' )[0].value == '' && ok ) {
		alert( DATUM_TOTENMET_NIETINGEVULD );
		ok = false;
    }
    if ( !checkDateGelijk( 'vanaf' ) && ok ) {
		//alert( 'De datum \'vanaf\' is niet geldig.' );
	    ok = false;
    }
	if ( !checkDateGelijk( 'totenmet' ) && ok ) {
		//alert( 'De datum \'tot en met\' is niet geldig.' );
	    ok = false;
    }
	
    if ( ok ) {
		frm.submit();
	}
}

function historieCheck( row, id, theDefaultColor, thePointerColor, theFontDefaultColor, theFontPointerColor ) {
	selectie[ id ] = !selectie[ id ];

    if ( !document.getElementsByName( 'alles' )[0].checked ) {
	    Pointer(row, theDefaultColor, thePointerColor, theFontDefaultColor, theFontPointerColor, true, '' );
	}
}

function createHistorieWindow() {
	var post_selectie = '';
	if ( !document.getElementsByName( 'alles' )[0].checked ) {
		for ( var i = 0; i <= selectie.length; i++ ) {
			if ( selectie[ i ] == true ) {
				post_selectie = post_selectie + ',' + i;
			}
		}
		var str_selectie = post_selectie.substring( 1, post_selectie.length );
	} else {
        var str_selectie = 'alles';
	}
	
    if ( show_gebruikers ) {
		var str_show_gebruikers = 'true'; 
	} else {
		var str_show_gebruikers = 'false';
	}
    if ( show_categorien ) {
		var str_show_categorien = 'true'; 
	} else {
		var str_show_categorien = 'false';
	}
    if ( show_artikelgroepen ) {
		var str_show_artikelgroepen = 'true'; 
	} else {
		var str_show_artikelgroepen = 'false';
	}
    if ( show_artikelen ) {
		var str_show_artikelen = 'true'; 
	} else {
		var str_show_artikelen = 'false';
	}

	if ( str_selectie == '' ) {
	   alert( NO_SELECTION );
	} else {
	   var url = baseURL+'/modal.php?url='+ baseURL +'historie/overzicht/?selectie='+ str_selectie +'@show_gebruikers='+ str_show_gebruikers +'@show_categorien='+str_show_categorien+'@show_artikelgroepen='+ str_show_artikelgroepen +'@show_artikelen='+ str_show_artikelen +'@vanaf='+ datum_vanaf +'@totenmet='+ datum_totenmet +'@vergelijk_vanaf='+ vergelijkdatum_vanaf +'@vergelijk_totenmet='+ vergelijkdatum_totenmet +'@nocompressie=true&title='+ ORDER_HISTORIE_OVERZICHT +'...';

       value = window.showModalDialog( url, window, 'dialogWidth: '+document.body.clientWidth+'px; dialogHeight: '+screen.availHeight+'px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	}
}

function createHistorieWindowExcel() {
	var post_selectie = '';
	if ( !document.getElementsByName( 'alles' )[0].checked ) {
		for ( var i = 0; i <= selectie.length; i++ ) {
			if ( selectie[ i ] == true ) {
				post_selectie = post_selectie + ',' + i;
			}
		}
		var str_selectie = post_selectie.substring( 1, post_selectie.length );
	} else {
        var str_selectie = 'alles';
	}
	
    if ( show_gebruikers ) {
		var str_show_gebruikers = 'true'; 
	} else {
		var str_show_gebruikers = 'false';
	}
    if ( show_categorien ) {
		var str_show_categorien = 'true'; 
	} else {
		var str_show_categorien = 'false';
	}
    if ( show_artikelgroepen ) {
		var str_show_artikelgroepen = 'true'; 
	} else {
		var str_show_artikelgroepen = 'false';
	}
    if ( show_artikelen ) {
		var str_show_artikelen = 'true'; 
	} else {
		var str_show_artikelen = 'false';
	}

	if ( str_selectie == '' ) {
	   alert( NO_SELECTION );
	} else {
//       var url = baseURL+'/modal.php?url='+ baseURL +'historie/overzicht/?export=excel@selectie='+ str_selectie +'@show_gebruikers='+ str_show_gebruikers +'@show_categorien='+str_show_categorien+'@show_artikelgroepen='+ str_show_artikelgroepen +'@show_artikelen='+ str_show_artikelen +'@vanaf='+ datum_vanaf +'@totenmet='+ datum_totenmet +'@vergelijk_vanaf='+ vergelijkdatum_vanaf +'@vergelijk_totenmet='+ vergelijkdatum_totenmet +'@nocompressie=true&title='+ ORDER_HISTORIE_OVERZICHT +'...';
   var url = baseURL +'historie/overzicht/?export=excel&selectie='+ str_selectie +'&show_gebruikers='+ str_show_gebruikers +'&show_categorien='+str_show_categorien+'&show_artikelgroepen='+ str_show_artikelgroepen +'&show_artikelen='+ str_show_artikelen +'&vanaf='+ datum_vanaf +'&totenmet='+ datum_totenmet +'&vergelijk_vanaf='+ vergelijkdatum_vanaf +'&vergelijk_totenmet='+ vergelijkdatum_totenmet +'&nocompressie=true';

       //value = window.showModalDialog( url, window, 'dialogWidth: '+document.body.clientWidth+'px; dialogHeight: '+screen.availHeight+'px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
	   window.open( url );
	}
}

function printHistorieOverzicht( ganaarPrintopmaak ) {
//    var url = document.location +'&print=true';
//    value = window.showModelessDialog( url, window, 'dialogWidth: 1px; dialogHeight: 1px; center: yes; toolbar: no; status: no; location: no; scrolling: yes; resizable: no; help: no; edge: Raised;');
//	alert( 'Om de pagina te kunnen printen moet de pagina opnieuw geladen worden.\nHierdoor kan het een moment duren voordat u het printerscherm krijgt.' );

    if ( ganaarPrintopmaak ) {
        document.getElementById( 'logoenbuttons' ).className  = 'notVisible';
		document.getElementById( 'normale_opmaak' ).className = 'Visible';
		window.print();
	} else {
		document.getElementById( 'logoenbuttons' ).className  = 'Visible';
		document.getElementById( 'normale_opmaak' ).className = 'notVisible';
	}
}

function deleteArrayElement( array, delindex ) {
	size = array.length;
	validNo = ( delindex != "NaN" );
	inRange = ( ( delindex >= 0 ) && ( delindex <= array.length ) );
	
	if ( validNo && inRange ) {
		/*for ( var i = 0; i <= size; i++ ) {
			array[ i ] = ( ( i == delindex) ? "delete" : array[ i ] );
		}
		for ( var j = delindex; j < size -1; j++ ) {
			if ( j != size ) {
				array[ j ] = array[ j +1 ];
			}
			array.length = size -1;
		}*/
		delete( array[ delindex ] );
		for ( var j = delindex; j < size -1; j++ ) {
			array[ j ] = array[ j +1 ];
		}
		array.length = size -1;
	}
}