function CheckBoxGroup(){
this.controlBox=null;
this.controlBoxChecked=null;this.maxAllowed=null;
this.maxAllowedMessage=null;this.masterBehavior=null;
this.formRef=null;this.checkboxWildcardNames=new Array();
this.checkboxNames=new Array();this.totalBoxes=0;this.totalSelected=0;
this.setControlBox=CBG_setControlBox;
this.setMaxAllowed=CBG_setMaxAllowed;
this.setMasterBehavior=CBG_setMasterBehavior;
this.addToGroup=CBG_addToGroup;
this.expandWildcards=CBG_expandWildcards;
this.addWildcardCheckboxes=CBG_addWildcardCheckboxes;
this.addArrayCheckboxes=CBG_addArrayCheckboxes;
this.addSingleCheckbox=CBG_addSingleCheckbox;
this.check=CBG_check;}
function CBG_setControlBox(name){
this.controlBox=name;
}
function CBG_setMaxAllowed(num,msg){this.maxAllowed=num;
if(msg!=null&&msg!=""){
this.maxAllowedMessage=msg;
}
}
function CBG_setMasterBehavior(b){
this.masterBehavior = b.toLowerCase();
}
function CBG_addToGroup(){if(arguments.length>0){
for(var i=0;i<arguments.length;i++){
this.checkboxWildcardNames[this.checkboxWildcardNames.length]=arguments[i];
}
}
}
function CBG_expandWildcards(){if(this.formRef==null){
alert("ERROR: No form element has been passed.  Cannot extract form name!");
return false;
}
for(var i=0;i<this.checkboxWildcardNames.length;i++){
var n = this.checkboxWildcardNames[i];
var el = this.formRef[n];
if(n.indexOf("*")!=-1){
this.addWildcardCheckboxes(n);
}else if(CBG_nameIsArray(el)){
this.addArrayCheckboxes(n);
}else{
this.addSingleCheckbox(el);
}
}
}
function CBG_addWildcardCheckboxes(name){
var i=name.indexOf("*");
if((i==0) ||(i==name.length-1)){
  searchString=(i)?name.substring(0,name.length-1):
  name.substring(1,name.length);
  for(var j=0;j<this.formRef.length;j++){
    currentElement = this.formRef.elements[j];
    currentElementName=currentElement.name;
    var partialName =(i)?currentElementName.substring(0,searchString.length) : 
    currentElementName.substring(currentElementName.length-searchString.length,currentElementName.length);
	if(partialName==searchString){if(CBG_nameIsArray(currentElement)) 
	this.addArrayCheckboxes(currentElement);
	else 
	this.addSingleCheckbox(currentElement);
	}
   }
  }
}
function CBG_addArrayCheckboxes(name){
if((CBG_nameIsArray(this.formRef[name])) &&(this.formRef[name].length>0)){
for(var i=0;i<this.formRef[name].length;i++){
this.addSingleCheckbox(this.formRef[name][i]);
}
}
}
function CBG_addSingleCheckbox(obj){
  if(obj != this.formRef[this.controlBox]){
	this.checkboxNames[this.checkboxNames.length]=obj;
	this.totalBoxes++;
	}
  }
function CBG_check(obj){if(this.formRef==null){
  this.formRef=obj.form;
  this.expandWildcards();
 }
var checked=obj.checked;
if(this.controlBox!=null&&obj.name==this.controlBox){
  if(this.masterBehavior=="all"){
  for(i=0;i<this.checkboxNames.length;i++){
  	this.checkboxNames[i].checked=checked;}
  	this.totalSelected=(checked)?this.checkboxNames.length:0;
   }else{
	if(!checked){obj.checked =(this.totalSelected>0)
	?true:false;
	obj.blur();
	}
	}
	}
	else{
if(this.masterBehavior=="all"){if(!checked){
this.formRef[this.controlBox].checked=false;this.totalSelected--;
}else{
this.totalSelected++;}if(this.controlBox!=null){
this.formRef[this.controlBox].checked=(this.totalSelected==this.totalBoxes)?true:false;
}
}else{
if(!obj.checked){
this.totalSelected--;}else{this.totalSelected++;
}
if(this.controlBox!=null){
this.formRef[this.controlBox].checked=(this.totalSelected>0)?true:false;
}
if(this.maxAllowed!=null){
if(this.totalSelected>this.maxAllowed){
if(this.maxAllowed==1){
for(i=0;i<this.checkboxNames.length;i++){
this.checkboxNames[i].checked=false;}obj.checked=true;
}else{
obj.checked=false;
this.totalSelected--;
}if(this.maxAllowedMessage!=null){
alert(this.maxAllowedMessage);
}return false;
}}}}}
function CBG_nameIsArray(obj){
return((typeof obj.type!="string")&&(obj.length>0)&&(obj[0]!=null)&&(obj[0].type=="checkbox"));
}



var projetoGroup = new CheckBoxGroup();
projetoGroup.addToGroup("selecao[]");
projetoGroup.setControlBox("todos");
projetoGroup.setMasterBehavior("all");

function Verifica_CPF(formulario) {
var CPF = formulario.CPF.value; 

if (CPF == '') {
 alert('Este campo é de preenchimento obrigatório!');
 return false;
  }

var POSICAO, I, SOMA, DV, DV_INFORMADO;
var DIGITO = new Array(10);
DV_INFORMADO = CPF.substr(9, 2); 
for (I=0; I<=8; I++) {
 DIGITO[I] = CPF.substr( I, 1);
}

POSICAO = 10;
SOMA = 0;
  for (I=0; I<=8; I++) {
     SOMA = SOMA + DIGITO[I] * POSICAO;
     POSICAO = POSICAO - 1;
  }
DIGITO[9] = SOMA % 11;
  if (DIGITO[9] < 2) {
       DIGITO[9] = 0;
}
  else{
      DIGITO[9] = 11 - DIGITO[9];
}

POSICAO = 11;
SOMA = 0;
  for (I=0; I<=9; I++) {
     SOMA = SOMA + DIGITO[I] * POSICAO;
     POSICAO = POSICAO - 1;
  }
DIGITO[10] = SOMA % 11;
  if (DIGITO[10] < 2) {
       DIGITO[10] = 0;
  }
  else {
       DIGITO[10] = 11 - DIGITO[10];
  }

DV = DIGITO[9] * 10 + DIGITO[10];
  if (DV != DV_INFORMADO) {
     alert('CPF inválido');
     formulario.CPF.value = '';
     formulario.CPF.focus();
     return false;
  } 
}

function AbreJanela(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


