 function enableOther(elementNumber, isOther){
   if(isOther == false){
   //go through the elements to find the next other text box
      for ( i = 0; i < document.frmResponse.elements[elementNumber].size ; i++){
         if(	document.frmResponse.elements[elementNumber+i].type =='text'){
            enableOther(elementNumber+i-1,true);
            break;
         }
      }

   }
   else{
      if(document.frmResponse.elements[elementNumber].checked == true){
         document.frmResponse.elements[elementNumber+1].value = '';
         document.frmResponse.elements[elementNumber+1].disabled = false;
      }
      else{
         document.frmResponse.elements[elementNumber+1].value = '';
         document.frmResponse.elements[elementNumber+1].disabled = true;
      }
   }
}

function addSums(theField, elementNumber, compareValue, operator){
    buildNumber(theField, 2, false);
   var s = 0;
   for ( i = 1;; i++){
      if(document.frmResponse.elements[elementNumber-i].name.substring(0,3) =='sID'){
         s = elementNumber-i;
         document.frmResponse.elements[s].value = compareValue;
         for ( j = s+1; ; j++){
            if(document.frmResponse.elements[j].name.substring(0,5) =='break'){
               break;
            }
            document.frmResponse.elements[s].value =
            document.frmResponse.elements[s].value - document.frmResponse.elements[j].value;
         }
         break;
      }
   }

    if (document.frmResponse.elements[s].value < 0 && operator == '='){
      alert ("The sum of your answers must not be greater than "+compareValue +".");
      theField.value = (theField.value) - (document.frmResponse.elements[s].value * -1);
      document.frmResponse.elements[s].value = 0;

   }
   if (document.frmResponse.elements[s].value <= 0 && operator == '<'){
      alert ("The sum of your answers must be less than "+compareValue +".");
      theField.value = (theField.value) - (document.frmResponse.elements[s].value * -1)-1;
      document.frmResponse.elements[s].value = 1;

   }
   if (document.frmResponse.elements[s].value < 0 && operator == '<='){
      alert ("The sum of your answers must be less than or equal to "+compareValue +".");
      theField.value = (theField.value) - (document.frmResponse.elements[s].value * -1);
      document.frmResponse.elements[s].value = 0;

   }
}

function loadSums(){

   for ( i = 0;i < document.frmResponse.elements.length; i++){
      if(document.frmResponse.elements[i].name.substring(0,3) =='sID'){
         for ( j = i+1; ; j++){
            if(document.frmResponse.elements[j].name.substring(0,5) =='break'){
               break;
            }
            document.frmResponse.elements[i].value =
            document.frmResponse.elements[i].value - document.frmResponse.elements[j].value;

         }
      }
   }

}
//Sudheer 18-Jan-06
function goBack(){
	document.frmResponse.isBack.value = 'true';	
	document.frmResponse.submit();
}

function submitForm(){
   var operator = '=';
   var compareValue = '100';
   var submit = true;
   for ( i = 0;i < document.frmResponse.elements.length; i++){
      if(document.frmResponse.elements[i].name.substring(0,3) =='sID'){
         operator = document.frmResponse.elements[i-1].value;
         compareValue = document.frmResponse.elements[i-2].value;
         if (!evaluateSum(document.frmResponse.elements[i],compareValue,operator)){
            submit = false;
            break;
         }
      }
   }
   if (submit == true){
      for ( i = 0;i < document.frmResponse.elements.length; i++){
	  	if(document.frmResponse.elements[i].type =='button' && (document.frmResponse.elements[i].value =='Submit' || document.frmResponse.elements[i].value =='Next')){
			document.frmResponse.elements[i].disabled = true;
		}
	  }       
	  document.frmResponse.submit();
   }
   else{
      document.frmResponse.elements[i+1].select();
   }
}

function evaluateSum(sumField, compareValue,operator){
    if (sumField.value != 0 && operator == '='){
         alert ("The sum of your answers must equal "+compareValue +".");
         return false;
   }
   else if (sumField.value <= 0 && operator == '<'){
         alert ("The sum of your answers must be less than "+compareValue +".");
         return false;
   }
   else if (sumField.value >= 0 && operator == '>'){
         alert ("The sum of your answers must be greater than "+compareValue +".");
         return false;
   }
   else if (sumField.value < 0 && operator == '<='){
         alert ("The sum of your answers must be less than or equal to "+compareValue +".");
         return false;
   }
   else if (sumField.value > 0 && operator == '>='){
         alert ("The sum of your answers must be greater than or equal to "+compareValue +".");
   }
   else if (sumField.value == 0 && operator == '!='){
         alert ("The sum of your answers must not equal "+compareValue +".");
   }
   else{
      return true;
   }
}




function buildNumber(theField, numDec, isCommaIncluded)
{

   num = theField.value;
    num = num.toString().replace(/\,/g,'');
    if(isNaN(num)) num = '0';
    sign = (num == (num = Math.abs(num)));
    if (numDec >= 0) {
        module = Math.pow(10, numDec);
        num = Math.floor(num*module+0.50000000001);
        if (module == 1) {
            num = Math.floor(num).toString();
            decPart = '';
        }
        else {
            decPart = num%module;
            num = Math.floor(num/module).toString();
            fact = module / 10;
            while (true) {
                if (fact == 1) break;
                if (decPart < fact) decPart = '0' + decPart;
                fact = fact / 10;
            }
        }
    }
    else {
        num = Math.floor(num + '.').toString();
    }
    if (isCommaIncluded) {
        for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
            num = num.substring(0,num.length-(4*i+3))+','+
                    num.substring(num.length-(4*i+3));
    }
    if (numDec >= 0) {
        retValue = (((sign)?'':'-') + num + '.' + decPart);
    }
    else retValue = (((sign)?'':'-') + num);
    theField.value = retValue;
}


function buildNumber2(theField, numDec, isCommaIncluded)
{

   num = theField.value;
    num = num.toString().replace(/\,/g,'');
    if(isNaN(num)) num = '0';
    sign = (num == (num = Math.abs(num)));
    if (numDec >= 0) {
        module = Math.pow(10, numDec);
        num = Math.floor(num*module+0.50000000001);
        if (module == 1) {
            num = Math.floor(num).toString();
            decPart = '';
        }
        else {
            decPart = num%module;
            num = Math.floor(num/module).toString();
            fact = module / 10;
            while (true) {
                if (fact == 1) break;
                if (decPart < fact) decPart = '0' + decPart;
                fact = fact / 10;
            }
        }
    }
    else {
        num = Math.floor(num + '.').toString();
    }
    if (isCommaIncluded) {
        for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
            num = num.substring(0,num.length-(4*i+3))+','+
                    num.substring(num.length-(4*i+3));
    }
//    if (numDec >= 0) {
//        retValue = (((sign)?'':'-') + num + '.' + decPart);
//    }
//else
        retValue = (((sign)?'':'-') + num);
    theField.value = retValue;
}


