 var arySelectedIndexes = new Array();
 var aryLen;

 function already_been_processed(c)  
 {  var n;  
    var a = arySelectedIndexes;  
    for (n=0;n<aryLen;n+=2)  
     { if ( ( c>= a[n] ) && (c <= a[n+1] ) && (a[n] > 0)   )  
         return true;  
     }  
    return false;    
 }  
  
 function invalidate_range(c)  
 {  var n;  
    var a = arySelectedIndexes;  
    for (n=0;n<aryLen;n+=2)  
     { if ( (a[n] > 0) && ( c>= a[n] ) && (c <= a[n+1] ) )  
         a[n]=-1;n[n+1]=-1;  
     }  
 }
	
function checkAllNoPar(f) {
  var l = f.elements.length;
  for (var i = 0; i < l; i++) {
    if (f.elements[i].type == "checkbox") { 
				  if (f.elements[i].name != 'newwindow') 
        if (f.elements[i].id.substring(0,3) != 'par') 
  		      check(f.elements[i]);
    }
  }
}
  
function checkRanges(f) {
  var i,n,x,z;  
  var range_begin=0;  
  var l = f.elements.length; 
  var a = arySelectedIndexes; 
 
	 for (z=0;i<l; z++)  
    if (f.elements[z].type == "checkbox") 
      break; 
   
  //set up the ranges    
  for (i=0;i<l; i++) {
			 if (f.elements[i].name != 'newwindow') {
				  if (  f.elements[i].checked==true ) {
						  if (!already_been_processed(i))  
          if (range_begin > 0) {   
            x = arySelectedIndexes.length;                          
            arySelectedIndexes[x] = range_begin;  
            arySelectedIndexes[x+1] = i;  
            aryLen = x+1;  
            for (n=range_begin;n<=i;n++)  
              f.elements[n].checked=true;  
            range_begin = 0;  
          } else {
									   range_begin = i;
								  }
      } else {
				    invalidate_range(i);  
      }  
      pct = parseInt(i / l * 100);  
      if (pct % 10 == 0) 
        window.status = 'working (' + pct + '% done)'; 
				}
  } 
  window.status = "Done!"; 
}   
  
 function checkAll(field) { 
   arySelectedIndexes=new Array();  
   l = field.elements.length; 
   for (i = 0; i < l; i++) 
   { 
     if (field.elements[i].type == "checkbox")
      {   if (field.elements[i].name != 'Terms') field.elements[i].checked = true;  }
      pct = parseInt(i/l*100);
     if (pct % 5 == 0) window.status = 'Working (' + pct + '%)'; 
   } 
   window.status = 'Done';
 } 
 
 function uncheckAll(field) { 
   arySelectedIndexes=new Array();  
   l = field.elements.length; 
   for (i = 0; i < l; i++) 
   { 
     if (field.elements[i].type == "checkbox")
      {   if (field.elements[i].name != 'Terms') field.elements[i].checked = false;  }
      pct = parseInt(i/l*100);
     if (pct % 5 == 0) window.status = 'Working (' + pct + '%)'; 
   } 
   window.status = 'Done';
 } 
