function Grid(objHiddenValue, objBtExcluir, divId, tableId){
	this.arrCheckBox = new Array();
	this.hiddenValue = objHiddenValue;
	this.btExcluir = objBtExcluir;
	this.divId = divId;
	this.tableId = tableId;
	this.checkboxName = "gridCheckbox";
	this.cabecalho = new Array();
	this.indexId = 0;
	this.tableWidth = 780;
	this.onRemoveLine = null;
}
Grid.prototype.atualizarHidden = function(){
	var str = "";
	for(var i=0; i < this.arrCheckBox.length; i++){
		str += ((i != 0)? "," : "") + this.arrCheckBox[i].value;
	}

	this.hiddenValue.value=str;
	if(str == ""){
		this.btExcluir.style.display = "none";
	} else {
		this.btExcluir.style.display = "";
	}
}

Grid.prototype.adicionarGrupoRelacionado = function(itens){
	var table = document.getElementById(this.tableId);
	if(!table){
		document.getElementById(this.divId).innerHTML = "";
		table = this.createTable();
		document.getElementById(this.divId).appendChild(table);
	}
	var tBody = null;
	if(table.tBodies.length > 0){
		tBody = table.tBodies[0];
	} else {
		tBody = document.createElement("TBODY");
		table.appendChild(tBody);
	}
	if(itens){
		for(var i=0; i < itens.length; i++){
			var idLinha = tBody.rows.length;
			var tr = tBody.insertRow(idLinha);
			
			var td1 = tr.insertCell(0);
			td1.width="10";
			//td1.innerHTML = "<input type=\"checkbox\" name=\"codGrupoRelacionado\" value=\""+ itens[i][0] + "\" /><input type=\"hidden\" name=\"idLinha\" value=\""+ idLinha +"\" />";
			var checkbox = document.createElement("input");
			checkbox.name=this.checkboxName;
			checkbox.type="checkbox";
			checkbox.className="noborder";
			checkbox.value=itens[i][this.indexId];
			td1.appendChild(checkbox);
			this.arrCheckBox.push(checkbox);
			for(var j=0; j < itens[i].length; j++){
				var td2 = tr.insertCell(j+1);
				td2.innerHTML = itens[i][j];
			}
		}
	}
	this.atualizarHidden();
}

Grid.prototype.createTable = function(){
	var table = document.createElement('TABLE');
	table.width=this.tableWidth;
	table.id=this.tableId;
	table.className="tabela";
	table.cellpadding="3";
	table.cellspacing="0";
	table.border=0;
	table.style.marginTop = "5px";
	var tHead = document.createElement('tHead');
	table.appendChild(tHead);
	var tr = tHead.insertRow(0);

	var td1 = tr.insertCell(0);
	td1.width = "10";
	td1.innerHTML = "&nbsp;";
	for(var i=0; i< this.cabecalho.length; i++){
		var td2 = tr.insertCell(i+1);
		if(this.cabecalho[i][1]){
			td2.width = this.cabecalho[i][1];
		}
		td2.innerHTML = this.cabecalho[i][0];
	}
	return table;
}


Grid.prototype.removerLinha = function(){
	var objChecks = this.arrCheckBox;
	var linhasRemove = new Array();
	var isOk = false;
	var checksDeleteds = new Array();
	for(var i=objChecks.length-1; i >= 0; i--){
		if(objChecks[i].checked){
			checksDeleteds.push(objChecks[i]);
			isOk = true;
			linhasRemove.push(i);
			objChecks.splice(i, 1);
		}
	}
	if(!isOk){
		alert("Por favor, selecione ao menos um item para ser excluido");
		return false;
	}
	this.removerLinhaTabela(linhasRemove);
	this.atualizarHidden();
	if(this.onRemoveLine != null){
		this.onRemoveLine(checksDeleteds);
	}
	return true;
}

Grid.prototype.removerLinhaTabela = function(linhas){
	var table = document.getElementById(this.tableId);
	if(table){
		for(var i=0; i < linhas.length; i++){
			table.tBodies[0].removeChild(table.tBodies[0].rows[linhas[i]]);
		}
	}
}

