function validateDiscount() {
//	alert("this submit function comes from the javascript file.  It works!!!!");

   itemNumber 	= -1;
	d    			= document;
	if (d.forms.length > 0) {
		if (d.forms[0].elements.length > 0) {
			done = false;
			jj   = -1;
			itemIndex  		= new Array();
			rangeIndex 		= new Array();
			prodIndex  		= new Array();
			lengthIndex  	= new Array();
			for (ii=0; ii < d.forms[0].elements.length; ii++)  {				
				temp = d.forms[0].elements[ii].name.split(':');		
				if (temp[1] == 'qnty') {
				
				   jj++;
					prodIndex[jj] 	= temp[0];
					itemIndex[jj] 	= ii;
					lengthIndex[jj] = 0;
																				// alert('qnty: ' + d.forms[0].elements[ii].name + ' element: ' + ii + ' new loc: ' + jj);
																				// alert('prodIdx: ' + prodIndex[jj] + ' itemIdx: ' + itemIndex[jj]);
				} else {
					if ((temp[1] == 'finopt') && (prodIndex[jj] == temp[0])) {
																				// alert('finopt: ' + d.forms[0].elements[ii].name + ' element: ' + ii + ' new loc: ' + jj);							
						rangeIndex[jj] = ii;
						lengthIndex[jj] = d.forms[0].elements[ii].length;
																				// alert('rangeIdx: ' + rangeIndex[jj]);						
					}
				}
			}
		}
	}
// alert ('finished part 1');	
	itemNumber = jj;
// alert ('itemNumber: ' + itemNumber);
	errors     = "";
	for (ii=0; ii <= itemNumber; ii++) {
		prod 				= ii + 1;
		quantity		= d.forms[0].elements[itemIndex[ii]].value;
		quantity		= parseInt(quantity) ;
		range				= d.forms[0].elements[rangeIndex[ii]].selectedIndex;
		range				= parseInt(range) ;
		lgth				= lengthIndex[ii];

//	alert('before: quantity: ' + quantity + ' range: ' + range + ' ii: ' + ii);		

		if ((quantity > 4999) && (lgth == 5)) {
			if (range != 4){
				errors = errors +  "Appropriate discount applied for item " + prod + ".\n";
				d.forms[0].elements[rangeIndex[ii]].selectedIndex = 4;
			}
		}

		else if (quantity > 99) {
			if (range != 3){
				errors = errors +  "Appropriate discount applied for item " + prod + ".\n";
				d.forms[0].elements[rangeIndex[ii]].selectedIndex = 3;
			}
		}

		else if (quantity > 49) {
			if (range != 2){
				errors = errors + "Appropriate discount applied for item " + prod + ".\n";		
				d.forms[0].elements[rangeIndex[ii]].selectedIndex = 2;
			}				
		}
		
		else if (quantity > 9) {
			if (range != 1){
				errors = errors + "Appropriate discount applied for item " + prod + ".\n";				
				d.forms[0].elements[rangeIndex[ii]].selectedIndex = 1;
			}					
		}
		else if (quantity >= 0) {
			if (range != 0){		
				errors = errors + "Appropriate discount applied for item " + prod + ".\n";			
				d.forms[0].elements[rangeIndex[ii]].selectedIndex = 0;
			}
		}
		else {
			errors = errors + "Invalid Appropriate discount applied for item " + prod + ".\n";			
			d.forms[0].elements[rangeIndex[ii]].selectedIndex = -1;
		}
	}

	if (errors.length > 0) {
//  issue an alert but do not force recalculation, because the script has already corrected the index
		errors += "\nPlease recalculate.\n";
		alert(errors);	
//      		return false;	
	}
//      	else return true;
	return true;

}			

function setValidation() {

//	define the onchange function for "quantity specific"

	itemNumber 	= -1;
	d    				= document;
	if (d.forms.length > 0) {
		if (d.forms[0].elements.length > 0) {
		
			done 				= false;
			jj   				= -1;
			itemIndex  	= new Array();
			rangeIndex 	= new Array();
			prodIndex  	= new Array();
			
			for (ii=0; ii < d.forms[0].elements.length; ii++)  {				
				temp = d.forms[0].elements[ii].name.split(':');		
				if (temp[1] == 'qnty') {				
					jj++;
					prodIndex[jj] = temp[0];
					itemIndex[jj] = ii;
				}
			}
		}
	}

	itemNumber = jj;
	errors     = "";
	for (ii=0; ii <= itemNumber; ii++) {
		d.forms[0].elements[itemIndex[ii]].onchange = validateDiscount;		
	}

}	
   onsubmit = validateDiscount();
   document.onload = setValidation();
