msg = "";

function onlyInt(arg) { 
    if (arg == "") { 
               return true; 
    } 
    for (var i = 0; i < arg.length; i++) { 
        var ch = arg.substring(i, i + 1) ;
        if (ch < "0" || ch > "9") { 
            msg = arg + " is invalid. " + "Please enter a numeric value."; 
            return false; 
        } 
    } 
    return true ; 

} 


function sum_up(maxval,FieldList,tot_compare) { 
var splitIndex = 0 ; 
var splitArray = new Array() ; 
var string = FieldList ; 
var separator = "," ; 

while ((string.length > 0) && (separator.length > 0)) { 

    var i = string.indexOf(separator) ; 
    if ((!i) && (separator != string.substring(0,separator.length))) break ; 
    if (i == -1) { 
        splitArray[splitIndex++] = string ; 
        break ; 
    } 

    splitArray[splitIndex++] = string.substring(0,i) ; 
    string = string.substring(i+separator.length,string.length) ; 
} 

var totalval = 0;
for (var i=0 ; i < splitIndex ; i++) { 
	var val = ( eval ("document.myform." + splitArray[i] + ".value" ) );

	if (!val== "" ) {
	if (!onlyInt(val)) {
		alert(msg);
	           return false;
        }
    }
    totalval = parseInt(+totalval, 10) + parseInt(+val, 10);
}


switch(tot_compare){
case "EQ":
      if (totalval != maxval) { 
        alert("Your answers total " + totalval + ". " + "Please re-enter your answers so that they total " + maxval + ".");
        eval('document.myform.' + splitArray[0] + '.focus()');
        return false;
      } 
      break;
case "NE":
      if (totalval == maxval) { 
        alert("Your answers total " + totalval + ". " + "Please re-enter your answers so that they do not total " + maxval + ".");
        eval('document.myform.' + splitArray[0] + '.focus()');
        return false;
      } 
    break;
case "GT":
      if (totalval <= maxval) { 
        alert("Your answers total " + totalval + ". " + "Please re-enter your answers so that they are greater than " + maxval + ".");
        eval('document.myform.' + splitArray[0] + '.focus()');
        return false;
      } 
    break;
case "GE":
      if (totalval < maxval) { 
        alert("Your answers total " + totalval + ". " + "Please re-enter your answers so that they are greater than or equal to " + maxval + ".");
        eval('document.myform.' + splitArray[0] + '.focus()');
        return false;
      } 
    break;
case "LT":
      if (totalval >= maxval) { 
        alert("Your answers total " + totalval + ". " + "Please re-enter your answers so that they are less than " + maxval + ".");
        eval('document.myform.' + splitArray[0] + '.focus()');
        return false;
      } 
    break;
case "LE":
      if (totalval > maxval) { 
        alert("Your answers total " + totalval + ". " + "Please re-enter your answers so that they are less than or equal to " + maxval + ".");
        eval('document.myform.' + splitArray[0] + '.focus()');
        return false;
      } 
    break;
}

     return true;
}

