var SEPARADOR = '_';
tr_Anterior = '';


function ItemClick(iElem,TableName){
	var obj = eval('document.all.item'+TableName)
	obj.value = iElem;
	var obj = eval('document.all.grd'+TableName)		
	obj.setAttribute('ITEMSEL',iElem);
	if (typeof(ItemClick_local) == 'function'){
		ItemClick_local(iElem);
	}	
}

//  ********************************************************
//			Limpa os Checks de Um Grid, passando-se um check
//  ********************************************************
function limpaCheck(input){
  var sFunctionName='limpaCheck';
  try{
		var linha = input.parentNode.parentNode;
		var colColunas = linha.cells;
		var tamcolColunas = colColunas.length;
		var i;
		var typeInput;
		var auxinput;
		for(i=1;i<tamcolColunas;i++){
			auxinput = colColunas[i].childNodes[0];
			typeInput = auxinput.type;
			if((typeInput.toUpperCase()=="CHECKBOX") && (input.name!=auxinput.name)){
				auxinput.checked = false;
			}
		}
  }catch(err){
    trataErro(err);
  }
}


function RecuperaGridItem(tabela,linha,coluna,input){
  var sFunctionName='RecuperaGridItem';
  try{
		var i,tam,retorno;
		var colLinhas,colChildren;
		var sTipo = tabela.getAttribute('TIPO');
		if (input == 0){
			input = 1;
		}
		colLinhas = tabela.rows
		colColunas = colLinhas[linha].cells;
		colChildren = colColunas[coluna].childNodes;
		if (colChildren[0].nodeName=='INPUT'){			
			return colColunas[coluna].childNodes[input-1].value;				
		}else if (colChildren[0].nodeName=='SELECT'){			
			return colColunas[coluna].childNodes[input-1].value;				
		}else{
			return colColunas[coluna].innerHTML;
		}
  }catch(err){
    trataErro(err);
  }
}

function input_onvalidate(obj){
  var sFunctionName='input_onvalidate';
  try{
 		var aLinha = obj.parentNode.parentNode
		var img = aLinha.childNodes[0].childNodes[0].childNodes[0];
		if (aLinha.getAttribute('Mark') != 'I'){
			aLinha.setAttribute('PMark', aLinha.getAttribute('Mark') );
			aLinha.setAttribute('Mark', 'A' );		
			trocaImagem(img,pathJS+'images/gridALT.gif');
		}
		aLinha.setAttribute('InFocus' , 'N' );
  }catch(err){
    trataErro(err);
  }
}

function input_onclick(obj){
  var sFunctionName='input_onclick';
  try{
 		var aLinha = obj.parentNode.parentNode
		aLinha.setAttribute('InFocus' , 'N' );  		
		aLinha.style.backgroundColor ='#0066cc';
		if (typeof(tr_Anterior)=='object'){
			if (tr_Anterior.id != aLinha.id){
				tr_Anterior.style.backgroundColor ='#c0c0c0';
			}
		}
		tr_Anterior = aLinha;
		if (typeof(input_onclick_local) == 'function'){
			input_onclick_local(obj);
		}
  }catch(err){
    trataErro(err);
  }
}

function tr_onblur(obj){
  var sFunctionName='tr_onblur';
  try{
 		var aLinha = obj.parentNode
		aLinha.setAttribute('InFocus' , 'N' ); 
		aLinha.style.backgroundColor = '#c0c0c0';
  }catch(err){
    trataErro(err);
  }
}

function tr_onclick(obj){
  var sFunctionName='tr_onclick';
  try{
 		var aLinha = obj.parentNode
		aLinha.setAttribute('InFocus','S'); 		
		aLinha.style.backgroundColor ='#0066cc';
		if (typeof(tr_Anterior)=='object'){
			if (tr_Anterior.id != aLinha.id){
				tr_Anterior.style.backgroundColor ='#c0c0c0';
			}	
		}
		tr_Anterior = aLinha;				
  }catch(err){
    trataErro(err);
  }
}

function deletaRows(linha){
  var sFunctionName='deletaRows';
  try{
		var tabela = linha.parentNode;
		var i;
		i = linha.rowIndex;
		if (tabela.rows.length > 2){
			if (linha.rowIndex==(tabela.rows.length-1)) {
				var oRowProxima = tabela.rows[tabela.rows.length-1];
			} else {
				var oRowProxima = tabela.rows[linha.rowIndex-1];
			}
			var selectedProximo = oRowProxima.childNodes[0].childNodes[2];

      if (typeof(linha.removeNode)=='undefined'){
  			tabela.deleteRow(i);
	    }else{
			  linha.removeNode(true);
      }

			if (typeof(fSetPropGridReferDel) == 'function'){	
				fSetPropGridReferDel(tabela,i);
			}
		} 

    // ID 036 110808
  	if (window.document.getElementById('hidChangedControl')){
			fSetProperty(window.document.getElementById('hidChangedControl'),'value','S');
    }
    
  }catch(err){
    trataErro(err);
  }
}

function tr_onkeydown(obj2,xevent){
  var sFunctionName='tr_onkeydown';
  if (navigator.appName.indexOf("Microsoft") + 1){
     xevent = '';
	}
  xevent = eventCompat(xevent);
  tecla = xevent.keyCode;
  try{
 		var obj = obj2.parentNode		
 		var tabela = obj.parentNode.parentNode 				
		var img = obj.childNodes[0].childNodes[0].childNodes[0]
		if (obj.getAttribute('InFocus') == 'S'){
			if ( tecla==46 && obj.getAttribute('DoDel')=='S'){ // DELETE					
				if (obj.getAttribute('Mark') == 'A'){
					if (confirm("Esta linha foi alterada. Vc tem certeza que deseja excluir sem salvar?")) {
						obj.setAttribute('PMark', obj.getAttribute('Mark') );
						obj.setAttribute('Mark' , 'E' );
						trocaImagem(img,pathJS+'images/gridDEL.gif');
					}
				}else if (obj.getAttribute('Mark') == 'E'){
					obj.setAttribute('PMark' , obj.getAttribute('Mark') );
					obj.setAttribute('Mark' , '');			
					trocaImagem(img,pathJS+'images/gridNUL.gif');												
				}else if (obj.getAttribute('Mark') == ''){
					obj.setAttribute('PMark' , obj.getAttribute('Mark') );
					obj.setAttribute('Mark' , 'E');
					trocaImagem(img,pathJS+'images/gridDEL.gif');
				}else if (obj.getAttribute('Mark') == 'I'){
					obj.setAttribute('PMark' , obj.getAttribute('Mark') );
					obj.setAttribute('Mark' , 'E');
					deletaRows(obj);					
					
				}				

        // ID 036 110808
      	if (window.document.getElementById('hidChangedControl')){
    			fSetProperty(window.document.getElementById('hidChangedControl'),'value','S');
    			//SSI 20999 - DANILO - 27/07/2011
    			if (typeof(fChangedField_Local) == 'function'){
						fChangedField_Local(obj);
					}
        }

			}

		} 
		if (tecla==45 && obj.getAttribute('DoIns')=='S'){ // INSERT
			fcreateRows(tabela);
		}
  }catch(err){
    trataErro(err);
  }
}


function validaGridSelecao(objTable){
  var sFunctionName='validaGridSelecao';
	try{
		if (objTable.getAttribute('ITEMSEL') != '0'){
			return 1		
		}else{
			return 0		
		}
	}catch(err){
    trataErro(err);	
	}
}

function linhaValidaNew(tabela,l){
  var sFunctionName='linhaValidaNew';
  try{
		var linha,coluna,input;
		var c,i;
		var valor,msg,status;
		var contColuna, contInput;
		var colInputs, colLinhas, colColunas;
		colLinhas = tabela.rows;
		linha = colLinhas[l];
		if (linha.getAttribute('Mark') != 'E'){		
			colColunas = linha.cells;
			contColuna = (1 * colColunas.length) -1;
			for (c=1;c<=contColuna;c++){
				coluna = colColunas[c];
				colInputs = coluna.childNodes;
				contInput = 1 * colInputs.length;
				for(input=1;input<=contInput;input++){
					if ((colInputs[input-1].tagName == 'INPUT') || (colInputs[input-1].tagName == 'SELECT')){
						valor = getValueInputNew(colInputs[input-1]);
						if ( (tabela.name == 'grdDMOV_GRID_TELEFONES') && (c==2) ){ //ddd default
							input=input;
						}else{	
							if (valor != '' && valor != "0,00" && (valor * 1) != 0){
								return true;
							}
						}
					}
				}
			}
		}	
		return false;
  }catch(err){
    trataErro(err);
  }
}

function getValueInputNew(input){
  var sFunctionName='getValueInputNew';
  try{
		if ((input.type=="radio")||(input.type=="RADIO")||(input.type=="Radio")){
			return input.value;
		}
		if ((input.type=="checkbox")||(input.type=="CHECKBOX")||(input.type=="CheckBox")||(input.type=="Checkbox")){
			return input.value;
		}
		if ((input.type=="hidden")||(input.type=="HIDDEN")||(input.type=="Hidden")){
			return (input.value);
		}
		if ((input.tagName=="select")||(input.tagName=="SELECT")||(input.tagName=="Select")){
			if ((input.value!=0)&&(input.value!="")||(input.value!=null)){
				return(input.value);
			}else{
				return "";
			}
		}
		if ((input.type=="text")||(input.type=="TEXT")||(input.type=="Text")||(input.type=="")){
			return (input.value);
		}
  }catch(err){
    trataErro(err);
  }
}

function subtraiLinhadaStringNew(str){
  var sFunctionName='subtraiLinhadaStringNew';
  try{
		var pos;
		var qtdeLinhas
		pos = inStr(str,SEPARADOR);
		if(pos > -1){
			qtdeLinhas = str.substr(0,pos) * 1;
			str = str.substr(pos+1,str.length);
			qtdeLinhas = qtdeLinhas - 1;
			str = qtdeLinhas + SEPARADOR + str;
		}
		return str;
  }catch(err){
    trataErro(err);
  }
}

//********************************************************
//					Gera String de dados com o Grid
//********************************************************
function RecuperaDadosGridNew(tabela){
  var sFunctionName='RecuperaDadosGridNew';
  try{
		return(geraStringDadosGridNew(tabela,false));
  }catch(err){
    trataErro(err);
  }
}

//********************************************************
//					Gera String de dados com o Grid com Status de Alteracao/Exclusao/Inclusao
//********************************************************
function RecuperaStatusDadosGridNew(tabela){
  var sFunctionName='RecuperaStatusDadosGridNew';
  try{
		return(geraStringDadosGridNew(tabela,true));
  }catch(err){
    trataErro(err);
  }
}

function geraStringDadosGridNew(tabela,bStatus){
  var sFunctionName='geraStringDadosGridNew';
  try{
  	ppcIE = (navigator.appName == 'Microsoft Internet Explorer');
		var linha, coluna, input, status;
		var l, c, i;
		var colLinhas, colColunas, colInputs;
		var contLinha, contColuna, contInput;
		var valor = '', strRetorno = '';
		var qt_inputs_adicionados = 0;
		var srcimg, stsimg;		
		colLinhas = tabela.rows;
		contLinha = (1 * colLinhas.length)-1;
		
		//ADICIONA QUANTIDADE DE LINHAS DO GRID
		strRetorno = strRetorno + contLinha + SEPARADOR;
		for (linha=1;linha<=contLinha;linha++){
		
			if (bStatus){
				stsimg = tabela.rows[linha].getAttribute('Mark')
      }
			if (linha == 1){
				//alert(stsimg);
			}
			if ( (bStatus) || (linhaValidaNew(tabela,linha)) ){			
				colColunas = colLinhas[linha].cells;
				contColuna = (1 * colColunas.length) - 1;				

				//ADICIONA QUANTIDADE DE COLUNAS DA LINHA DO GRID
				strRetorno += contColuna + SEPARADOR;

        if (bStatus){
    			//ADICIONA O STATUS DA LINHA
    			strRetorno += stsimg + SEPARADOR;
        }				        
				
				for(coluna=1;coluna<=contColuna;coluna++){
					colInputs = colColunas[coluna].childNodes;
					contInput = 1 * colInputs.length;
					
					//ADICIONA QUANTIDADE DE INPUTS DA COLUNA DA LINHA DO GRID
					qtdValues	= 0;
					qtdValuesText	= 0;					
					strFields = ''
					for (input=1;input<=contInput;input++){
						sNodeName = colInputs[input-1].nodeName;
						if (sNodeName == 'SELECT' || sNodeName == 'INPUT'){
							valor = getValueInputNew(colInputs[input-1]);
							objType = colInputs[input-1].type;	
							if (objType.toUpperCase() == "CHECKBOX"){
								if (valor==''){							
									if (colInputs[input-1].getAttribute('SN01') == '1'){
										valor = '0';
									}else{
										valor = 'N';
									}
								}									 
							}
							++qtdValues;
							strFields += valor + SEPARADOR;
						}else if (sNodeName == '#text'){
							++qtdValuesText;
							strFields += colInputs[input-1].nodeValue + '@';
						}
					}
					if (qtdValuesText > 0){
						++qtdValues;
						strFields += SEPARADOR;
					}
					strRetorno += qtdValues + SEPARADOR;
					strRetorno += strFields;
				}
			}else{
				strRetorno = subtraiLinhadaStringNew(strRetorno);
				if (typeof(fSetPropGridReferDel) == 'function'){
					fSetPropGridReferDel(tabela,linha);
				}
			}
		}
		return strRetorno;
  }catch(err){
    trataErro(err);
  }
}

function fcreateRows(tabela,sInsertContent){
  var sFunctionName='fcreateRows';
  try{			  
		var novaLinha, ultimaLinha;
		var colLinhas, colColunas, colInputs, colOptions;
		var novaColColunas;
		var coluna, input, novoInput, option;
		var nInsertContentCount = 0
		var PrimeiraLinha = false
		colLinhas = tabela.rows;							
		var NomeGrid = tabela.id;
		if (sInsertContent == null){
	    sInsertContent = '';
		}
		NomeGrid = NomeGrid.substr(3);
		ultimaLinha = colLinhas[colLinhas.length-1];
		colColunas = ultimaLinha.cells;
		if (colLinhas.length == 0){
			novaLinha = colLinhas[colLinhas.length-1];
			PrimeiraLinha = true			
		}else{
			novaLinha = tabela.insertRow(colLinhas.length);
			// propriedades e eventos da novaLinha;
			novaLinha.onkeydown = ultimaLinha.onkeydown;
			novaLinha.onclick = ultimaLinha.onclick;
		}

		novaLinha.setAttribute('PMark', '');
		novaLinha.setAttribute('Mark', 'I' );
		novaLinha.setAttribute('InFocus', 'N');
		novaLinha.setAttribute('DoIns', ultimaLinha.getAttribute('DoIns') );
		novaLinha.setAttribute('DoDel', ultimaLinha.getAttribute('DoDel') );

		novaLinha.name = 'tr' + NomeGrid.substr(3) + '_' + (colLinhas.length - 1)
		novaLinha.id = 'tr' + NomeGrid.substr(3) + '_' + (colLinhas.length - 1)

		novaColColunas = novaLinha.cells;
		var novaColuna = new Array();
		for(coluna = 0; coluna < colColunas.length; coluna++){
			colInputs = colColunas[coluna].childNodes;
			if (!PrimeiraLinha){			
				novaColuna[coluna] = colLinhas[novaLinha.rowIndex].insertCell(novaColColunas.length);
			}else{
				x = colLinhas[novaLinha.rowIndex];
				novaColuna[coluna]	= x.Cell[coluna];
			}	
			novaColuna[coluna].className = ultimaLinha.cells[coluna].className;
			novaColuna[coluna].align = ultimaLinha.cells[coluna].align;
			if (coluna == 0){
				novaColuna[coluna].onclick = ultimaLinha.cells[coluna].onclick;								
				novaColuna[coluna].onblur = ultimaLinha.cells[coluna].onblur;
			}

			for(input = 0; input < colInputs.length;input++){
				TAG = colInputs[input].tagName;
				TAG = TAG.toUpperCase();
				//  parametros gerais
				novoInput = document.createElement(TAG);
				novoInput.className = colInputs[input].className;
	  			ObjCreate=true;
				TIPO_CLASSE = subleft(colInputs[input].name,3);
				switch (TAG){

          case 'A':
    				novoInput.href = colInputs[input].href;
            novoInput.onkeydown = colInputs[input].onkeydown;
    				if (typeof(novaColuna[coluna].insertAdjacentElement) == 'undefined'){
      				novoInput2 = novaColuna[coluna].appendChild(novoInput);
  	  			}else{
			    		novoInput2 = novaColuna[coluna].insertAdjacentElement("beforeEnd", novoInput);
            }
      			novoInput = document.createElement('IMG');  
						novoInput.src = pathJS+'images/gridNEW.gif';
						novoInput.name= 'img' + novaLinha.rowIndex;
						novoInput.border = '0';           
    				if (typeof(novoInput2.insertAdjacentElement) == 'undefined'){
      				novoInput2 = novoInput2.appendChild(novoInput);
  	  			}else{
			    		novoInput2 = novoInput2.insertAdjacentElement("beforeEnd", novoInput);
            }
      			ObjCreate=false;
						break;

					case 'IMG':
						novoInput.src = pathJS+'images/gridNEW.gif';
						novoInput.name= 'img' + novaLinha.rowIndex;
						novoInput.border = '0';
						break;

					case 'INPUT':
						TIPO = colInputs[input].type;
						TIPO = TIPO.toUpperCase()
						novoInput.type = TIPO;	

						//TIPO_CLASSE = subleft(colInputs[input].name,3);
						switch(TIPO){
							case 'TEXT':
								novoInput.name = colInputs[input].name;
								novoInput.id = TIPO_CLASSE + NomeGrid + '_' + coluna + '_' + novaLinha.rowIndex;
								novoInput.setAttribute('depend',colInputs[input].getAttribute('depend'));
								novoInput.setAttribute('obrig',colInputs[input].getAttribute('obrig'));
								novoInput.className = colInputs[input].className;
								if (typeof(colInputs[input].originalOnChange) == 'function'){
									novoInput.onchange = colInputs[input].originalOnChange;
								}else{
								novoInput.onchange = colInputs[input].onchange;
								}
								if (typeof(colInputs[input].originalOnFocus) == 'function'){
									novoInput.onfocus = colInputs[input].originalOnFocus;
								}else{
									novoInput.onfocus = colInputs[input].onfocus;
								}
								if (typeof(colInputs[input].originalOnBlur) == 'function'){
									novoInput.onblur = colInputs[input].originalOnBlur;
								}else{
								novoInput.onblur = colInputs[input].onblur;
								}
								novoInput.onclick = colInputs[input].onclick;
								novoInput.onkeydown = colInputs[input].onkeydown;
								novoInput.onkeypress = colInputs[input].onkeypress;
								novoInput.onkeyup = colInputs[input].onkeyup;
								novoInput.style.textAlign = colInputs[input].style.textAlign;
								novoInput.style.width = colInputs[input].style.width;
								if (colInputs[input].maxLength > -1){
									novoInput.maxLength = colInputs[input].maxLength;
								}
								novoInput.size = colInputs[input].size;
								fstat = colInputs[input].getAttribute('fstat');
								if (fstat != ''){
									if (fstat == 'readonly'){
										novoInput.readOnly = colInputs[input].readOnly;
									}else if (fstat == 'disabled'){
										novoInput.disabled = colInputs[input].disabled;
									}
									novoInput.setAttribute('fstat',fstat);
								}
								//*****
								if (sInsertContent != ""){												
									nInsertContentCount = nInsertContentCount + 1
									conteudo = getParamDelimited(sInsertContent,"@", nInsertContentCount)
									if (conteudo != ""){
										novoInput.value = conteudo;
									}						
								}	
								//***********
								break;
							case 'HIDDEN':
								novoInput.name = colInputs[input].name;
								switch(novoInput.name){
									case 'status':
										novoInput.value= 'N';
										break;
									case 'selected':
										novoInput.value= 'N';
										break;
									case 'statusInicial':
										novoInput.value= 'N';
										break;
									case 'focus':
										novoInput.value= 'N';
										break;
									default:
										novoInput.value= '';
                    novaColuna[coluna].style.display='none';
								}
								break;
							case 'CHECKBOX':
								novoInput.name = colInputs[input].name;
								novoInput.id = TIPO_CLASSE + NomeGrid + '_' + coluna + '_' + novaLinha.rowIndex;
								novoInput.value = '';
								novoInput.setAttribute('depend',colInputs[input].getAttribute('depend'));
								novoInput.setAttribute('obrig',colInputs[input].getAttribute('obrig'));
								novoInput.className = colInputs[input].className;
								novoInput.onchange = colInputs[input].onchange;
								novoInput.onfocus = colInputs[input].onfocus;
								novoInput.onblur = colInputs[input].onblur;
								novoInput.onclick = colInputs[input].onclick;
								if (colInputs[input].getAttribute('fstat') == 'readonly'){
									novoInput.readOnly = colInputs[input].readOnly;
								}else if (colInputs[input].getAttribute('fstat') == 'disabled'){
									novoInput.disabled = colInputs[input].disabled;
								}
								break;
						}
						break;
					case 'SELECT':
						novoInput.name = colInputs[input].name;
						novoInput.id = TIPO_CLASSE + NomeGrid + '_' + coluna + '_' + novaLinha.rowIndex;
						colOptions = colInputs[input].childNodes;
						novoInput.setAttribute('depend',colInputs[input].getAttribute('depend'));
						novoInput.setAttribute('obrig',colInputs[input].getAttribute('obrig'));
						novoInput.style.textAlign = colInputs[input].style.textAlign;						
						novoInput.onchange = colInputs[input].onchange;
						novoInput.onfocus = colInputs[input].onfocus;
						novoInput.onblur = colInputs[input].onblur;
						novoInput.onclick = colInputs[input].onclick;
						for(option = 0; option < colOptions.length; option++){
							var novoOption = document.createElement("OPTION");
							novoOption.text=colOptions[option].text;
							novoOption.value=colOptions[option].value;
							novoInput.options.add(novoOption);
						}
						break;
				}
        if (ObjCreate){
  				if (typeof(novaColuna[coluna].insertAdjacentElement) == 'undefined'){
    				novoInput = novaColuna[coluna].appendChild(novoInput);
  				}else{
  					novoInput = novaColuna[coluna].insertAdjacentElement("beforeEnd", novoInput);
  			  }
        }
			}
		}
		tr_onclick(novaLinha.childNodes[0]);
		if (typeof(fcreateRows_local) == 'function'){
			fcreateRows_local(tabela,colLinhas.length-1);
		}	
    
    // ID 036 110808
  	if (window.document.getElementById('hidChangedControl')){
			fSetProperty(window.document.getElementById('hidChangedControl'),'value','S');
    }

  }catch(err){
    trataErro(err);
  }
}

function fSetCheckValue(Obj,vChecked,vUnChecked){
  var sFunctionName='fSetCheck';
  try{
		if (typeof(Obj) == 'object'){
			if (Obj.checked){
				Obj.value = vChecked;
			}else{
				Obj.value = vUnChecked;
			}
		}
  }catch(err){
    trataErro(err);
  }
}

//********************************************************
//		Recupera Valor do Campo em um grid de Selecao de linha
//********************************************************
function RecuperaSelecaoLinhaInputValueNew(obj,coluna){
  var sFunctionName='RecuperaSelecaoLinhaInputValueNew';
  try{
		if (obj.tagName != 'TR'){
			obj = obj.parentNode;
			if (obj.tagName != 'TR'){
				obj = obj.parentNode;
			}
		}
		if (typeof(obj.cells[coluna].childNodes[0].value) == 'undefined'){
			return(obj.cells[coluna].innerHTML);
		}else{	
			return(obj.cells[coluna].childNodes[0].value);		
		}	
  }catch(err){
    trataErro(err);
  }
}

//********************************************************
//	Verifica se o item selecionado nao está duplicado
//********************************************************
function validaComboDuplicadoNew(input){
  var sFunctionName='validaComboDuplicado';
  try{
  	if (subleft(input.id,22) == 'cbfTREFER_PROPRIEDADES'){
  		cMensDupl = 'O tipo da propriedade deve ser único!';
  	}else if (subleft(input.id,25) == 'cbfTREFER_CARTOES_CREDITO'){
  		cMensDupl = 'O tipo de cartão deve ser único!';
  	}else{
  		cMensDupl = 'O valor desse campo não pode ser duplicado na lista!';
  	}
		var i;
		var valorInput;
		var coluna = input.parentNode;
		var linha  = input.parentNode.parentNode;
		var tabela = input.parentNode.parentNode.parentNode;
		var idxLinha = linha.rowIndex;
		var idxColuna = coluna.cellIndex;
		for(indice=1; indice<tabela.rows.length;indice++){
			valorInput = tabela.rows[indice].cells[idxColuna].childNodes[0].value;
			if (indice!=idxLinha && valorInput!='0'){
				if (getValueInputNew(input) == valorInput){
					alert(cMensDupl);
					selecionaCombo(' ',input);
					input.focus();
					break;
				}
			}
		}
  }catch(err){
    trataErro(err);
  }
}

//********************************************************
//					Gera String de dados com o Grid
//********************************************************
function SomaColunaGridNew(tabela,col,inp,chk){
  var sFunctionName='SomaColunaGridNew';
  try{
		var linha, coluna, input;
		var l, c, i, ok;
		var colLinhas, colColunas, colInputs;
		var contLinha, contColuna, contInput;
		var valor="", total ;
		
		colLinhas = tabela.rows;
		contLinha = (1 * colLinhas.length)-1;
    total = 0;
		for (linha=1;linha<=contLinha;linha++){
			if (linhaValidaNew(tabela,linha)){
				colColunas = colLinhas[linha].cells;
				contColuna = (1 * colColunas.length) - 1;
					
			  ok=true;
				for(coluna=1;coluna<=contColuna;coluna++){
					colInputs = colColunas[coluna].childNodes;
					contInput = 1 * colInputs.length;
						
					for (input=1;input<=contInput;input++){
						if ((colInputs[input-1].tagName == 'INPUT')||(colInputs[input-1].tagName == 'SELECT')){
							valor = getValueInputNew(colInputs[input-1]);
    				  if (chk!=''){
    				    if (coluna == chk && input == 1){
    				      if (valor != 'S'){
    				        ok=false;
    				      }
    				    }
    				  }  
							if (coluna == col && input == inp){
							  if (ok){ 
  							  valor = valor.replace('.','');
  							  valor = valor.replace(',','');
  								total = total + (valor * 1);
                }
							}
						}
					}
				}
			}
		}
		return(total);
  }catch(err){
    trataErro(err);
  }
}

function fGetColumnValue(oGrid,nRow,nCol,inp){
  var sFunctionName='fGetColumnValue';
  try{
    if (inp==''){
      inp=0
    }
    return oGrid.rows[nRow].cells[nCol].childNodes[inp].value;
  }catch(err){
    trataErro(err);
  }
}

function fSetColumnValue(oGrid,nRow,nCol,xValue){
  var sFunctionName='fGetColumnValue';
  try{
    oGrid.rows[nRow].cells[nCol].childNodes[0].value=xValue;
  }catch(err){
    trataErro(err);
  }
}

function SelOptGrid(oObj){
  var sFunctionName='SelOptGrid';
  try{
    oObj.checked=true;
    if (typeof(oObj.onclick())=='object'){
      oObj.onclick();
    }
  }catch(err){
    trataErro(err);
  }
}

function deletaTodasRows(tabela){
  var sFunctionName='deletaTodasRows';
  try{
		var linha;
		var colLinhas, colColunas, colInputs;
		var z, i, c, pos;
		colLinhas = tabela.rows;
		while (colLinhas.length > 2){		
			z = colLinhas.length-1
			linha = colLinhas[z];
			linha.removeNode(true);
			colLinhas = tabela.rows;			
		}
  }catch(err){
    trataErro(err);
  }
}
