//find start position
function getStartPos(sForm, sField, iDimension) {
	bFound=false;
	i=0;
	tFormField = eval('document.' + sForm + '.' + sField);
	do {
		if (q[i]&&q[i][iDimension]) {
			if (q[i][iDimension] == tFormField[tFormField.selectedIndex].value) {
				bFound=true;
				iStartPos=i;
			}
		}
		i++;
	} while((bFound==false)&&(i<q.length));
	return iStartPos;
}

//find end position
function getEndPos(iDimension,iStartPos) {
	bFound=false;
	i=iStartPos;
	do {
		if (q[i]&&q[i][iDimension]) {
			if (q[i][iDimension] != '') {
				bFound=true;
				iEndPos=i;
			}
		}
		i++;
	} while((bFound==false)&&(i<q.length));
	if (bFound == false) {
		iEndPos = q.length;
	}
	return iEndPos-1;
}

//populate series
function loadSeries(sFormName, sFieldName, sParentField, sSelectedSeries) {
	tempDocument = eval('document.' + sFormName);
	with (tempDocument) {
		tempFieldName = eval(sFieldName);
		//empty makes box
		for (i=0;i<tempFieldName.length;i++) {
			tempFieldName.options[i]=null
		}
		tempFieldName.options.length = 0;
		
		//determine range
		tmField = eval('document.' + sFormName + '.' + sParentField);
		if ( tmField.type == 'hidden' ) {
			iStartPosition = parseInt(tmField.value);
		} else {
			iStartPosition = getStartPos(sFormName, sParentField, 0);
		}
		iEndPosition = getEndPos(1,iStartPosition+1);
		
		j=0;
		for (i=iStartPosition;i<iEndPosition+1;i++) {
			if (q[i]&&q[i][2]!='') {
				tempVal = q[i][2];
				var tempOption = new Option(tempVal, tempVal)
				tempFieldName.options[j] = tempOption;
				if ( sSelectedSeries == tempFieldName.options[j].value ) {
					tempFieldName.options[j].selected = true;
				}
				j++;
			}
		}
	}
}

