var nbCtr=4;
var tblICCData = new Array();
var tblTeksten = new Array();
var infoval = new Array();
var lastindex = 0;
var lastindextxt = 0;
var zipfile="";
var myObj;
var RQWindow=null ;

function ResetAllCombos(myix) {
for (var i=myix; i<(nbCtr-2); ++i) {
        myObj=myForm1.elements["myCombo"+(i+1)];
        myObj.options.length = 1;
        myObj.options[0].text = ZoekTekst(1000+i);
        myObj.options[0].value = 0;
}
if (myix <=2) {
        myForm1.edtinfo.value="";
        zipfile="";
        mylink.href="";
        myForm1.mybutton.alt=ZoekTekst(1010);
}
} //ResetAllCombos

function AddData(val1,val2,val3,val4) {
//OpgeletL val7 komt overeen met nbCtr
        tblICCData[lastindex]=new Array(val1,val2,val3,val4);
	lastindex++;
} //AddData

function AddTekst(val1,val2) {
        tblTeksten[lastindextxt]=new Array(val1,val2);
	lastindextxt++;
} //AddTekst


function verifyInputa(myix) {
//
var myval=new Array(nbCtr);
//Zoek de waardes van de vorige combos
for (i=0; i<=myix; ++i) {
        myval[i]=myForm1.elements["myCombo"+(i+1)].value;
}
//reset de volgende
for (var i=myix+1; i<nbCtr; ++i) {
        myval[i]=0;
}
invulveld(myix+1,myval,true);
//ResetAllCombos(myix+2);
}       //verifyinputa

function ZoekTekst(ix) {
var j;
for(j=0; j<lastindextxt; ++j) {
        if (tblTeksten[j][0] == ix) {
                return tblTeksten[j][1];
        }
} //for j
return "TextID ("+ix+")"
}

function invulveld(myix,tstarray,bWrite) {
    //zoek de het aantal printers
    var myObj;
    var lengte;
    var j;
    var i;
    var mytxt;
    var myval;
    var oldval=-1;
    var aantal=0;
    var bIsTrue;
    var bIsLast=(myix+2)>=nbCtr;

    if (bWrite) {
        lengte=invulveld(myix,tstarray,false);
        if(bIsLast) {
                myObj=myForm1.elements["edtinfo"];
        } else {
                ResetAllCombos(myix+1);
                myObj=myForm1.elements["myCombo"+(myix+1)];
                myObj.options.length = lengte+1;
                //eerste veld staat altijd vast
                myObj.options[0].text = ZoekTekst(1000+myix);
                myObj.options[0].value = 0;
        }
    }
for (j=0; j<lastindex;++j) {
        myval=tblICCData[j][myix];
        //onderzoek ook vorige velden
        bIsTrue = (myval != oldval);
        if ((myix>=1) && bIsTrue) {
                for(i=0; i<myix && bIsTrue; ++i) {
                    bIsTrue= bIsTrue && (tblICCData[j][i]==tstarray[i]);
                }
        } //ix==1
        if (bIsTrue) {
           oldval=myval;
           aantal++;
           if (bWrite) {
                if (bIsLast) {
                        myObj.value=ZoekTekst(myval);
                        //download
                        zipfile=ZoekTekst(tblICCData[j][myix+1]);
                        myForm1.mybutton.alt=ZoekTekst(1011);
                        mylink.href=zipfile;
			if (zipfile.indexOf(".htm") > 0) {
				mylink.href=location.pathname;
				myForm1.mybutton.onclick=OpenRequest;
				infoval[0]=ZoekTekst(myForm1.myCombo1.value);
				infoval[1]=ZoekTekst(myForm1.myCombo2.value);
			}
                } else {
                        myObj.options[aantal].text = ZoekTekst(myval); 
                        myObj.options[aantal].value = myval;
                        myObj.value = 0; //reset
                }
           }
        }
} //for j
return aantal;
}

function PrintDebug(mytxt) {
//debug venster
        myForm1.edtinfo.value=mytxt;
}

function printtabel() {
var i;
document.write("Lastindex="+lastindex+"<BR>");
for (i=0; i<lastindex; i++) {
        document.write("i="+i+" "+tblICCData[i][0]+" "+tblICCData[i][1]+" "+tblICCData[i][2]+"<BR>");
} //for i
for (i=0; i<lastindextxt; i++) {
        document.write("TXT="+i+" "+tblTeksten[i][0] +" "+tblTeksten[i][1]+"<BR>");
} //for i
} //printtabel


function OpenRequest() {
	RQWindow = window.open(zipfile,"rqWindow");
	if(RQWindow.opener == null) RQWindow.opener = self;
		RQWindow.myForm2.XP1Printer.value = infoval[0];
		RQWindow.myForm2.XP2Ink.value = infoval[1];
		RQWindow.myForm2.XP3Medium.value = infoval[2];
		RQWindow.myForm2.XP4Quality.value = infoval[3];
		RQWindow.myForm2.XP5Software.value = infoval[4];
RQWindow = null;	
} //OpenRequest