var bottomDist = 70, 
    rightDist = 14;

function isExplorer() {
	if (document.all)
		return true;
	return false;
}

function trim(text) {
	if (text)
		return text.replace(/^\s*/,"").replace(/\s*$/,"");
	return "";
}
   
function trimCampo(campo) {
    if (campo.value.length > 0)
        campo.value = trim (campo.value);
}

function getElementFromDocument(document, name) {
	var obj;
	if (document.getElementById) {
		obj = document.getElementById(name);
	} 
	if (! obj && document.getElementByName) {
		obj = document.getElementByName(name);
	} 
	if (! obj && document.all) {
		obj = document.all[name];
	}
	return obj;
}

function getElement(name) {
	var obj=getElementFromDocument(document, name);
	if (! obj) {
		try {
			obj = eval("document.frm."+name);
		} catch(e) {
		}
	}
	return obj;
}

function getElementValue(name) {
	var element = getElement(name);
	if (element) {
		if (isCheck(element))
			return element.checked ? "true" : "false";
		return element.value;
	}
	return "";
}

function setDeps(child, masters) {
	setDep([child], masters);
}

function setDep(child, master) {
	if (! master || ! child)
		return;
	// Identifica filhos
	var lc = new Array();
	for(var j in child) {
		var chd = getElement(child[j]);
		if (chd) {
			lc.push(chd);
		}
	}
	// Identifica mestres
	for(var i in master) {
		var m = getElement(master[i]);
		if (m) {
			if (! m.deps) {
				m.deps = new Array();
				m.isEmptyElement = doCheckEmpty;
			}
			for(j in lc) {
				m.deps.push(lc[j]);
				if (! lc[j].msts) {
					lc[j].msts = new Array();
					lc[j].checkMaster = doCheckMaster;
				}					
				lc[j].msts.push(m);
			}
			addOnChange(m, doCheckChildren);
			m.checkChildren = doCheckChildren;
			m.checkChildren();
		}
	}
}

function isEmpty(value) {
	if (value)
		return /^\s*$/.test(value);
	return true;
}

function diasDoMes(mes, ano) {
	//        ? Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez
	var dias=[0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 30];
	var dia = dias[mes];
	// Se ano é bisexto
	if ((mes == 2) && ((ano % 4) == 0) && ((ano % 100) != 0) && ((ano % 400) != 0))
		dia++;
	return dia;
}

function isValidDate(value) {
	if (isEmpty(value))
		return true;
	if (! /^\d{2}\/\d{2}\/\d{4}$/.test(value))
		return false;
	var m = new String(value).split('/');
	var dia = parseInt(m[0], 10);
	var mes = parseInt(m[1], 10);
	var ano = parseInt(m[2], 10);
	// Faixa de ano tratada
	if (ano < 1950 || ano > 2050)
		return false;
	if (mes < 1 || mes > 12)
		return false;
	if (dia < 1 || dia > diasDoMes(mes, ano))
		return false;
	return true;
}

function doCheckEmpty() {
	if (this.disabled)
		return true;
	if (this.tagName == 'INPUT' && this.type == 'checkbox')
		return ! this.checked;
	return isEmpty(this.value);
}

function doCheckChildren() {
	if (this.deps) {
		for(var i in this.deps) {
			this.deps[i].checkMaster();
		}
	} else {
		alert("sem deps");
	}
}

function doCheckMaster() {
	if (this.msts) {
		// Loop para verificar mestres
		for(var i in this.msts) {
			if (this.msts[i].isEmptyElement()) {
				if (! this.disabled) {
					this.disabled = true;
					if (this.checkChildren)
						this.checkChildren();
				}
				return;
			}
		}
		if (this.disabled) {
			this.disabled = false;
			if (this.checkChildren)
				this.checkChildren();
		}
	}
}

function fireFormatData(element) {
	if (! window.dataFields)
		window.dataFields = new Array();
	window.dataFields.push(element);
	if (isExplorer())
		doFormatDataTimed();
	else
		setTimeout("doFormatDataTimed()", 10);
}
			
function doFormatDataTimed() {
	while (window.dataFields.length > 0) {
		doFormatData(window.dataFields.pop());
	}
}
			
function doFormatData(element) {
	var text = new String(element.value);
	text = text.replace(/[^0-9]/g,"");
	for(var ps = text.length-4; ps > 0 && text.length; ps-=2) {
		text = text.substring(0, ps) + "/" + text.substring(ps);
	}
	element.value = text;
}
			
function fireFormatNumber(element, decimal) {
	if (! window.numberFields) {
		window.numberFields = new Array();
		window.numberDecimals = new Array();
	}
	window.numberFields.push(element);
	window.numberDecimals.push(decimal);
	if (isExplorer()) 
		doFormatNumberTimed();
	else
		setTimeout("doFormatNumberTimed()", 10);
}

function doFormatNumberTimed() {
	while (window.numberFields.length > 0) {
		doFormatNumber(window.numberFields.pop(), window.numberDecimals.pop());
	}
}
			
function doFormatNumber(element, decimals) {
	var text = new String(element.value);
	text = text.replace(/[^0-9]/g,"");
	var ps=text.length-decimals;
	if (ps > 0) {
		text = text.substring(0, ps) + "," + text.substring(ps);
		for(ps-=3; ps > 0; ps-=3)
			text = text.substring(0, ps) + "." + text.substring(ps);
	}
	element.value = text;
}

function addMaskLR(element) {
	if (! element.mask)
		return;
	var value = new String(element.value);
	var text = "";
	var psm = 0;
	var psv = 0;
	var cc;
	while (psm < element.mask.length && psv < value.length) {
		cc = element.mask.charAt(psm);
		if (cc == '#') {
			text += value.charAt(psv);
			psv++;
		} else {
			text += cc;
		}
		psm++;
	}
	if (psv < value.length)
		text += value.substring(psv);
	element.value = text;
}

function addMaskRL(element) {
	if (! element.mask)
		return;
	var value = new String(element.value);
	var text = "";
	var psm = element.mask.length-1;
	var psv = value.length-1;
	var cc;
	while (psm >= 0 && psv >= 0) {
		cc = element.mask.charAt(psm);
		if (cc == '#') {
			text = value.charAt(psv) + text;
			psv--;
		} else {
			if (value.charAt(psv) == '-')
				break;
			text = cc + text;
		}
		psm--;
	}
	if (psv >= 0)
		text = value.substring(0, psv+1) + text;
	element.value = text;
}

function removeMask(element) {
	if (! element.mask)
		return;
	var value = new String(element.value);
	var sign = /^\s*[-]/.test(value);
	element.value = (sign ? "-" : "")+value.replace(/[^0-9]/g,"").replace(/^\s*/,"").replace(/\s*$/,"");
}

function ajustMask() {
	var element = window.fmtElements.pop();
	removeMask(element);
	if (element.style.textAlign == 'right') {
		addMaskRL(element);
	} else {
		addMaskLR(element);
	}
}

function setMask(name, mask) {
	if (! name || ! mask)
		return;
	for(var j in name) {
		var element = getElement(name[j]);
		if (element) {
			if (! window.fmtElements)
				window.fmtElements = new Array();
			element.mask = mask;
			element.onkeypress=function(event) { 
				if (processKeyNum(this, event)) { 
					window.fmtElements.push(this); 
					if (isExplorer())
						ajustMask();
					else
						setTimeout("ajustMask()",10); 
				} 
			};
			if (isExplorer()) {
				element.onkeyup=function(event) { 
					window.fmtElements.push(this); 
					if (isExplorer())
						ajustMask();
					else
						setTimeout("ajustMask()",10); 
				};
			}
		}
	}
}

function processKeyNum(element, event) {
	if (isExplorer()) {
		event = window.event;
		if (event.keyCode < 32 || (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode == 45))
			return true;
		event.returnValue = 0;
		return false;
	}
	if (! event)
		return true;		
	if (event.keyCode && event.keyCode != 0)
		return true;
	if ((event.charCode >= 48 && event.charCode <= 57) || (event.charCode == 45))
		return true;
	event.preventDefault();
	return false;
}

function setMaskCGC(name) {
	setMask([name],"## ### ###/####-##");
}

function setMaskCPF(name) {
	setMask([name],"###.###.###-##");
}

function setMaskData(name) {
	setMask([name],"##/##/####");
}

function setSend(frm, imp, fields) {
	var element = getElement(imp);
	if (element)
		element.sendElements = fields;
}

function doReceive(data) {
	for(var i in this.receiveElements) {
		var element = getElementFromDocument(this.ownerDocument, this.receiveElements[i]);
		if (element) {
			if (isCheck(element)) {
				if ("true" == data[i] || "on" == data[i])
					element.checked = true;
				else
					element.checked = false;
			} else {
				element.value = data[i];
			}
			if (element.checkChildren)
				element.checkChildren();
		}
	}
}

function setReceive(frm, imp, fields) {
	var element = getElement(imp);
	if (element) {
		element.receiveElements = fields;
		element.fireReceive = doReceive;
	}
}

function setResponse(imp, data) {
	var element = getElementFromDocument(opener.document, imp);
	if (element) {
		element.fireReceive(data);
	}
}

function doReload() {
	var f = this.form;
	if (f) {
		f.signal.value = "reload";
		f.submit();
	}
}

function doLookup() {
	var f = this.form;
	if (f) {
		f.signal.value = "lookup:"+this.name;
		f.submit();
	}
}

function doChangeList() {
	for(var idx in this.changeList) {
		this.f = this.changeList[idx];
		this.f();
	}
	this.f = undefined;
}

function doClickList() {
	for(var idx in this.clickList) {
		this.f = this.clickList[idx];
		this.f();
	}
	this.f = undefined;
}

function isCheck(anElement) {
	if (! anElement || ! anElement.tagName || ! anElement.type)
		return false;
	return anElement.tagName == "INPUT" && anElement.type == "checkbox";
}

function isButton(anElement) {
	if (! anElement || ! anElement.tagName || ! anElement.type)
		return false;
	return anElement.tagName == "INPUT" && anElement.type == "button";
}

function isAnchor(anElement) {
	if (! anElement || ! anElement.tagName)
		return false;
	return anElement.tagName == "A";
}

function addOnChange(anElement, aFunction) {
	if (isCheck(anElement) || isButton(anElement) || isAnchor(anElement)) {
		if (anElement.onclick) {
			if (! anElement.clickList) {
				anElement.clickList = new Array();
				anElement.clickList.push(anElement.onclick);
				anElement.onclick = doClickList;
			}
		} else {
			anElement.onclick = aFunction;
		}
	} else {
		if (anElement.onchange) {
			if (! anElement.changeList) {
				anElement.changeList = new Array();
				anElement.changeList.push(anElement.onchange);
				anElement.onchange = doChangeList;
			}
			anElement.changeList.push(aFunction);
		} else {
			anElement.onchange = aFunction;
		}
	}
}

function doPopup() {
	var params=this.popupParams[0];
	params += (params.indexOf("?") < 0 ? "?" : "&")+"signal=popup%3A"+this.name;
	for(var i in this.sendElements) {
		var n = this.sendElements[i];
		if (n.indexOf("=") < 0) {
			params += "&" + n + "=" + escape(getElementValue(n));
		} else {
			params += "&" + n;
		}
	}
	var options="";
	var w = 0;
	var h = 0;
	if (this.popupParams.length > 2) {
		w = parseInt(this.popupParams[1]);
		h = parseInt(this.popupParams[2]);
		options += "width="+w+",height="+h;
	}
	if (this.popupParams.length > 4) {
		var x = this.popupParams[3];
		var y = this.popupParams[4];
		if (w != 0) {
			if (x == "center")
				x = (screen.width - w) / 2;
			else if (x == "right")
				x = screen.width - w - rightDist;
			else if (x == "out")
				x = screen.width+1;
		}
		if (h != 0) {
			if (y == "center")
				y = (screen.height - h) / 2;
			else if (y == "bottom")
				y = screen.height - h - bottomDist;
			else if (y == "out")
				y = screen.height+1;
		}
		options += ",left="+x+",top="+y;
	}
	// alert(options);
	if (this.popupWindow)
		this.popupWindow.close();
	this.popupWindow = open(params, this.name, options);
	window.mainForm = this.form;
}

function doChangeFolder(sender, enableClass, disableClass) {
	var element;
	if (sender.parentNode.lastFolder) {
		sender.parentNode.lastFolder.style.display = "none";
		sender.parentNode.lastGuide.className = disableClass;
	} else {
		element = getElement(sender.parentNode.firstChild.id.substring(1));
		if (element) {
			element.style.display = "none";
			sender.parentNode.firstChild.className = disableClass;
		}
	}
	element = getElement(sender.id.substring(1));
	if (element) {
		sender.parentNode.lastFolder = element;
		sender.parentNode.lastGuide = sender;
		sender.className = enableClass;
		element.style.display="";
	}
}

var imagesTreeNode=["treeNodeOpen.gif", "treeNodeClose.gif"];

function doSelectTree(name, sender) {
}

function doChangeTree(name, sender) {
	if (! sender.changeTreeNode) {
		sender.treeName = name;
		sender.idTreeNode = sender.id.substring(2+name.length);
		sender.changeTreeNode = fireChangeTreeNode;
		sender.childrenTreeNode = getElement("dv" + name + sender.idTreeNode);
		if (sender.childrenTreeNode) {
			if (sender.childrenTreeNode.style.display == 'none')
				sender.defaultExpanded = false;
			else
				sender.defaultExpanded = true;
		}
	}
	sender.changeTreeNode();
}

function fireChangeTreeNode() {
	if (! this.stateTreeNode) {
		this.stateTreeNode = this.ownerDocument.createElement("INPUT");
		this.stateTreeNode.type = "hidden";
		this.stateTreeNode.name = "treeNodeState"+this.treeName;
		this.parentNode.appendChild(this.stateTreeNode);
	}
	if (this.childrenTreeNode.style.display == "none") { 
		this.childrenTreeNode.style.display = "";
		this.src = "img/" + imagesTreeNode[0];
		if (this.defaultExpanded) {
			this.stateTreeNode.value = "";
		} else {
			this.stateTreeNode.value = this.idTreeNode;
		}
	} else {
		this.childrenTreeNode.style.display = "none";
		this.src = "img/" + imagesTreeNode[1];
		if (this.defaultExpanded) {
			this.stateTreeNode.value = "-" + this.idTreeNode;
		} else {
			this.stateTreeNode.value = "";
		}
	}
}

function initTree() {
}

function doReloadTree(name, sender) {
	var f = sender.form;
	if (! f) {
		f = sender;
		while (f && f.tagName != "FORM")
			f = f.parentNode;
	}
	if (f) {
		f.signal.value = "treeLoad:"+name+":"+sender.id.substring(2+name.length);
		f.submit();
	}
}

function doMove(elementFrom, elementTo) {
	if (elementFrom) {
		if (elementTo) {
			for(var i=0; i < elementFrom.options.length;) {
				var option = elementFrom.options.item(i);
				if (option.selected) {
					elementTo.appendChild(option);
					option.selected = false;
				} else {
					i++;
				}
			}
			ajustSelect(elementFrom);
			ajustSelect(elementTo);
		} else {
			alert("Elemento Destino Nulo");
		}
	} else {
		alert("Elemento Origem Nulo");
	}
}

function ajustSelect(element) {
	element.doAjustOptions = fireAjustOptions;
	element.onchange = function() { this.doAjustOptions(); }
	element.doAjustOptions();
}

function fireAjustOptions() {
	for(var i=0; i < this.options.length; i++) {
		var option = this.options[i];
		if (option.selected) {
			if (option.itemSelected) {
				option.itemSelected.parentNode.removeChild(option.itemSelected);
				option.itemSelected = undefined;
			}
		} else {
			if (! option.itemSelected) {
				var item = this.ownerDocument.createElement("INPUT");
				item.type = "hidden";
				item.value = option.value;
				option.appendChild(item);
				option.itemSelected = item;
			}
			option.itemSelected.name = this.name;
		}
	}
}

function doCloseWindow() {
	// Somente funciona se janela for um popup
	window.close();
}

function setActions(frm, imp, actions) {
	for(var i in actions) {
		var n = actions[i];
		var ps = n.indexOf("(");
		if (ps > 0) {
			var p = n.substring(ps+1);
			n = n.substring(0, ps);
			ps = p.lastIndexOf(")");
			if (ps > 0)
				p = p.substring(0, ps);
			p = p.split(",");
		}
		// Ativa recarga de formulário ao mudar conteudo de campo
		if (n == "reloadOnChange") {
			var element = getElement(imp);
			if (element) {
				addOnChange(element, doReload);
			}
		} else if (n == "lookupOnChange") {
			var element = getElement(imp);
			if (element) {
				addOnChange(element, doLookup);
			}
		} else if (n == "closeWindow") {
			var element = getElement(imp);
			if (element) {
				addOnChange(element, doCloseWindow);
			}
		} else if (n == "popup") {
			var element = getElement(imp);
			if (element) {
				element.popupParams = p;
				addOnChange(element, doPopup);
			} else {
				alert("element " + element + " nao foi encontrado");
			}
		} else if (n == "signal") {
			var element = getElement(imp);
			if (element) {
				element.signalParams = p;
				addOnChange(element, doSignal);
			} else {
				alert("element " + element + " nao foi encontrado");
			}
		} else if (n == "alert") {
			var element = getElement(imp);
			if (element) {
				element.alertParams = p;
				addOnChange(element, doAlert);
			} else {
				alert("element " + element + " nao foi encontrado");
			}
		} else if (n == "reloadParent") {
			var element = getElement(imp);
			if (element) {
				addOnChange(element, doReloadParent);
			} else {
				alert("element " + element + " nao foi encontrado");
			}
		}
	}
}

function doSignal() {
	if (this.signalParams) {
		signal(this.signalParams, this.form);
	} else {
		signal("signal", this.form);
	}
}

function doAlert() {
	eval('alert('+this.alertParams+')');
}

function doFirstFocus() {
	if (document.forms && document.forms.length > 0) {
		for(i in document.forms[0].elements) {
			var element = document.forms[0][i];
			if (element && element.type && element.type == "hidden") {
				element.focus();
				element.select();
				return;
			}
		}
		alert("Nao encontrei elemento");
	} else {
		alert("sem form");
	}
}

function doSendValues(document, action, values) {
	var frm = document.createElement("FORM");
	frm.action = action;
	for(var i in values) {
		var element = document.createElement("INPUT");
		element.type="hidden";
		element.name = i;
		element.value = values[i];
		frm.addChild(element);
	}
	frm.method = "post";
	frm.submit();
}

function doSubmit(signal, values) {
	var frm = document.createElement("FORM");
	var element = document.createElement("INPUT");
	element.type = "hidden";
	element.name="signal";
	element.value = signal;
	frm.appendChild(element);
	if (values) {
		if (values.to) {
			frm.action=values.to;
		}
		if (values.method) {
			frm.method=values.method;
		}
		for(var i in values) {
			if (i != "to" && i != "method") {
				element = document.createElement("INPUT");
				element.type="hidden";
				element.name = i;
				element.value = values[i];
				frm.appendChild(element);
			}
		}
	}
	document.body.appendChild(frm);
	frm.submit();
}

function doReloadParent(sinal) {
	if (opener) 
	{
		var frmList = opener.document.forms;

		for(var c = 0;c<frmList.length;c++)
		{
			if (frmList[c].signal)
			{
				frmList[c].signal.value=sinal ? sinal : "reload";
				frmList[c].submit();
			}
		}

		/*

		var frm = opener.document.createElement("FORM");
		var element = opener.document.createElement("INPUT");
		element.type="hidden";
		element.name="signal";
		element.value=sinal ? sinal : "reload";
		frm.appendChild(element);
//		alert("Submentendo formulario : " + opener.document.forms[0].name);
//		alert("Action : " + opener.document.forms[0].action);
//		alert("Method : " + opener.document.forms[0].method);
		frm.action = opener.document.forms[0].action;
		frm.method = opener.document.forms[0].method;
		opener.document.body.appendChild(frm);
		frm.submit();
		*/
	}
}

function doCloseWindow() {
	window.close();
}

function signal(sinal, frm) {
	// alert("signal:"+sinal);
	if (! frm) {
		frm = document.frm;
	}
	if (frm) {
		if (! frm.signal) {
			alert("nao encontrei signal");
		} else {
			frm.signal.value = sinal;
		}
		if (frm.checks) {
			for(var i in frm.checks) {
				if (! eval(frm.checks[i])) {
					return;
				}
			}
		}
		frm.submit();
	} else {
		alert("frm nao foi encontrado");
	}
}

function signalExcuir() {
	if (confirm("Deseja realmente excluir"))
		signal('excluir');
}

function addCheck(check, frm) {
	if (! check)
		return;
	if (! frm) {
		frm = document.frm;
	}
	if (! frm) {
		alert("Nao e' possivel adicionar checks ao form\npois nao foi encontrado form na pagina");
		return;
	}
	if (! frm.checks)
		frm.checks = new Array();
	if (check instanceof Array) {
		for(i in check)
			frm.checks.push(check[i]);
	} else {
		frm.checks.push(check);
	}
}

function chkNotEmpty(element, message) {
	var e = getElement(element);
	if (e) {
		if (isEmpty(e.value)) {
			if (message)
				alert(message);
			else
				alert(element+" não pode estar vazio");
			e.focus();
			return false;
		}
		return true;
	}
	alert('Não encontrei elemento ' + element);
	return false;
}

//Alterado para incluir checagem AND

function chkElements4Empty(element, element2, message) {
	var e = getElement(element);
	var e2 = getElement(element2);
	if (e || e2) {
		if (isEmpty(e.value)) {
			if(isEmpty(e2.value)){
				if (message){
					alert(message);
				}else{
					alert(element+" ou "+element2+" não podem estar ambos sem preenchimento");
				}
				e.focus();
				return false;
			}
			return true;
		}
		return true;
	}
	alert('Não encontrei o campo ' + element);
	return false;
}
function chkMinLength(element, minimo, message) {
	var e = getElement(element);
	if (e) {
		var v = trim(new String(e.value));
		if (v.length < minimo) {
			if (message)
				alert(message);
			else
				alert(element+" deve ter no mínimo " + minimo + " caracteres");
			e.focus();
			return false;
		}
		return true;
	}
	alert('Não encontrei elemento ' + element);
	return false;
}

function cvtUpper(element) {
	var e = getElement(element);
	if (e) {
		e.value = new String(e.value).toUpperCase();
		return true;
	}
	alert('Não encontrei elemento ' + element);
	return false;
}

function cvtLower(element) {
	var e = getElement(element);
	if (e) {
		e.value = new String(e.value).toLowerCase();
		return true;
	}
	alert('Não encontrei elemento ' + element);
	return false;
}

function chkDate(element, message) {
	var e = getElement(element);
	if (e) {
		if (! isValidDate(e.value)) {
			if (message)
				alert(message);
			else
				alert(element + " não contém uma data válida");
			e.focus();
			return false;
		}
		return true;
	}
	alert('Não encontrei elemento ' + element);
	return false;
}

function doRemove()
{
	var b = confirm("Confirma eliminação do registro?");

	if (b)
	{
		signal("excluir");
	}

	return b;
}

// Funções para validar CPF e CNPJ

function ValidaCPF(CNUMB) {
  var numero = CNUMB;
  var algUnico;
  var i;
  algUnico = true;
  if (Verify(numero, 'CPF')) 
  {
      for (i = 1;  i < 11; i++ ) 
      {
           algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));
      }
      return (!algUnico);  
  }
  return (false);
}
		
function ValidaCNPJ(CNUMB) {
  var numero = CNUMB;
  var algUnico;
  var i;
  algUnico = (numero.charAt(0) != '0');
  if (Verify(numero, 'CNPJ'))  
  {
      for ( i = 1; i < 8; i++ ) 
      {
           algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));
      }
      return (!algUnico);  
  }
  return (false);
}

function Verify(CNUMB,CTYPE)
{
  if(CNUMB == 0)
  {
    return(false);
  }
  else
  {
    g=CNUMB.length-2;
    if(TestDigit(CNUMB,CTYPE,g))
    {
      g=CNUMB.length-1;
      if(TestDigit(CNUMB,CTYPE,g))
      {	
        return(true);
      }
      else
      {
        return(false);
      }
    }
    else
    {
      return(false);
    }
  }
}

function TestDigit(CNUMB,CTYPE,g)
{
  var dig=0;
  var ind=2;
  for(f=g;f>0;f--)
  {
    dig+=parseInt(CNUMB.charAt(f-1))*ind;
    if (CTYPE=='CNPJ')
    { if(ind>8) {ind=2} else {ind++} }
    else
    { ind++ }
  }
  dig%=11;
  if(dig<2)
  {
    dig=0;
  }
  else
  {
    dig=11-dig;
  }
  if(dig!=parseInt(CNUMB.charAt(g)))
  {
    return(false);
  }
  else
  {
    return(true);
  }
}


