// JavaScript Document
isMozilla = (document.all) ? 0 : 1;

function getObj(name) 
{
	
	
	if (!isMozilla)
	{
		if (document.getElementById) 
		{
			this.obj = document.getElementById(name);
			this.style = document.getElementById(name).style;
		} 
		else if (document.all) 
		{
			this.obj = document.all[name];
			this.style = document.all[name].style;
		}
		else if (document.layers) 
		{
			this.obj = document.layers[name];
			this.style = document.layers[name];
		}
	}
	else
	{
		if (document.getElementById) 
		{
			this.obj = document.getElementById(name);
		} 
		else if (document.all) 
		{
			this.obj = document.all[name];
		}
		else if (document.layers) 
		{
			this.obj = document.layers[name];
		}
	}
	
}

function mudaCorFundo(obj, cor)
{
	obj.backgroundColor = cor;
}

function mudaCorFundoLista(obj, cor, selItem)
{
	if (selItem != document.frmMenu.itemSelected.value)
	{
		obj.backgroundColor = cor;
	}
}

function checkTotalChar(nTotalChar, obj, objFocus)
{
	if (nTotalChar == obj.length)
	{
		objFocus.focus();
	}
}


function eliminaEspaco(s){
	var achou = false
	var index;
	for ( i=0 ; i < s.length ; i++ ) {
		if (s.charCodeAt(i) == 32) { index = i ; achou = true } else { break }
	}
	if (achou) s = s.slice (index + 1); achou = false;
	for ( i=s.length-1 ; i >= 0 ; i-- ) {
		if (s.charCodeAt(i) == 32) { index = i; achou = true } else { break }
	}
	if (achou) s = s.slice (0,index); achou = false;
	return (s)
}

function EhNumero (InString) {
	var RefString="1234567890";
	for (Count=0;Count<InString.length;Count++) {
		TempChar=InString.substring(Count,Count+1);
		if (RefString.indexOf(TempChar,0)==-1)
			return (false);
	}
	return (true);
}

function EhTelefone (InString) {
	var RefString="1234567890-";
	for (Count=0;Count<InString.length;Count++) {
		TempChar=InString.substring(Count,Count+1);
		if (RefString.indexOf(TempChar,0)==-1)
			return (false);
	}
	return (true);
}

/*function validaCpf(strTemp) {
	cpfmf = leftTrim(strTemp);
	cpfmf = rightTrim(strTemp);
	if (cpfmf.length != 11) {
		alert("O CPF deve conter 11 dígitos!");
		return (false) ;
	}
	if (EhNumero(cpfmf) != 1) {
		alert("O CPF não foi digitado corretamente!");
		return (false);
	}
	Multiplic = "1110 9 8 7 6 5 4 3 2";
	soma = 0;
	for (Count=0;Count < 9;Count++){
		cchar = cpfmf.substring(8-Count,8-Count+1);
		cpeso = Multiplic.substring(18-Count*2,18-Count*2+2);
		soma = soma + parseInt(cchar) * parseInt(cpeso);
	}
	resto = soma % 11;
	if (resto == 0) {
		digito = 0
	}
	else {
		digito = 11 - resto;
		if (digito>9) {
			digito = digito -10
		}
	}
	if (cpfmf.substring(9,10) != digito) return (false);
	soma = 0;
	for (Count=0;Count < 10;Count++){
		cchar = cpfmf.substring(9-Count,9-Count+1);
		cpeso = Multiplic.substring(18-Count*2,18-Count*2+2);
		soma = soma + parseInt(cchar) * parseInt(cpeso);
	}
	resto = soma % 11;
	if (resto ==0) digito = 0
	else {
		digito = 11-resto ;
		if (digito > 9) digito = digito-10;
	}
	if (rightString(cpfmf,1) != digito) return (false);
	return (true);
}*/

function Mod11(strTemp) {
	if (strTemp.length > 20) return (false);
	var tam = strTemp.length-1
	var Multiplic = "54329876543298765432" ;
	Multiplic = rightString(Multiplic,tam+1);
	var soma = 0;
	for (Count=0;Count < tam+1;Count++)	{
		cchar = strTemp.substring(tam-Count,tam-Count+1);
		cpeso = Multiplic.substring(tam-Count,tam-Count+1);
		soma = soma + parseInt(cchar) * parseInt(cpeso);	
	}	
	resto = soma % 11;
	if (resto == 0) return 0;
	cret = 11-resto ;
	if (cret > 9) cret = cret -10;
	return cret
}

function rightString (InString, num) {
	OutString=InString.substring (InString.length-num, InString.length);
	return (OutString);
}

function leftTrim (InString) {
	OutString=InString;
	for (Count=0; Count < InString.length; Count++) {
		TempChar=InString.substring (Count, Count+1);
		if (TempChar!=" ") {
			OutString=InString.substring (Count, InString.length)
			break;
		}
	}
	return (OutString);
}

function rightTrim (InString) {
	OutString=InString;
	for (Count=InString.length; Count > 0; Count) {
		TempChar=InString.substring (Count-1, Count);
		if (TempChar!=" ") {
			OutString=InString.substring (0, Count)
		break;
		}
	}
	return (OutString);
}
	
function leftString (InString, num) {
	OutString=InString.substring (0, num);
	return (OutString);
} 

function email_valido(email) {
	var formato_errado = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
	var formato_certo = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
	var errado = new RegExp(formato_errado);
	var certo = new RegExp(formato_certo);
	return (!errado.test(email) && certo.test(email))
}

function getElements(strExclude)
{
	var inputs = document.getElementsByTagName("input");
	var txtAreas = document.getElementsByTagName("textarea");
	var selects = document.getElementsByTagName("select");
	var aElements = new Array();
	var aElementsOut = new Array();
	var sExcludePrefix = strExclude
	var sExcludeElements = '/^('+strExclude+')';
	var sExcludeExp = new RegExp(sExcludePrefix);
		
	for (i=0;i<inputs.length;i++)
	{
		var sType = inputs[i].name.substr(0, 1);
		var sValue = inputs[i].name.substr(1, inputs[i].name.length);
		var sName = inputs[i].name.substr(0, inputs[i].name.length);
		var nIDValueIdent = inputs[i].name.substr(0, 3);
		if (!sExcludeExp.test(sName))
		{
			if((inputs[i].type == 'text') || (inputs[i].type == 'textarea') || (inputs[i].type == 'password'))
			{
				if (sType == 's') 
					aElements[i] = sValue+"|'"+inputs[i].value+"'";
				else if (sType == 'n') 
					aElements[i] = sValue+"|"+inputs[i].value;
				}
				else if ((inputs[i].type == 'hidden') && (nIDValueIdent== '_id') )
				{
					aElements[i] = sValue+"|"+inputs[i].value+"";
				}
				else if ((inputs[i].type == 'hidden') && (nIDValueIdent == 'nid') )
				{
					if (inputs[i].value !=  '')
						aElements[i] = sValue+"|"+inputs[i].value+"";
					else
						aElements[i] = sValue+"|"+inputs[i].value+"NULL";
				}
				else if ((inputs[i].type == 'hidden') && (sType == 's') )
				{
					aElements[i] = sValue+"|'"+inputs[i].value+"'";
				}
				else if (inputs[i].type == 'checkbox')
				{
					if (inputs[i].checked == true)
					{
						if (sType == 's') 
							aElements[i] = sValue+"|'"+inputs[i].value+"'";
						else if (sType == 'n') 
							aElements[i] = sValue+"|"+inputs[i].value;
					}
					else
					{
						if (sType == 's') 
							aElements[i] = sValue+"|''";
						else if (sType == 'n') 
							aElements[i] = sValue+"|NULL";
					}
				}
				else if (inputs[i].type == 'radio')
				{
					if (inputs[i].checked == true)
					{
						if (sType == 's') 
							aElements[i] = sValue+"|'"+inputs[i].value+"'";
						else if (sType == 'n') 
							aElements[i] = sValue+"|"+inputs[i].value;
					}
					else
					{
						if (sType == 's') 
							aElements[i] = sValue+"|''";
						else if (sType == 'n') 
							aElements[i] = sValue+"|NULL";
					}
				}
			} 
		}
	
	for (k=0; k<txtAreas.length; k++)
	{
		sType = txtAreas[k].name.substr(0, txtAreas[k].name.length-(txtAreas[k].name.length-1));
		sValue = txtAreas[k].name.substr(1, txtAreas[k].name.length);
		sName = txtAreas[k].name.substr(0, txtAreas[k].name.length);
		if (!sExcludeExp.test(sName))
		{
			if ( sType == 's') 
			{
				aElements[i+(k+1)] = sValue+"|'"+txtAreas[k].value+"'";
			}
			else if (sType == 'n') 
			{
				aElements[i+(k+1)] = sValue+"|"+txtAreas[k].value;
			}
		}
	}
	
	
	for (j=0; j<selects.length; j++)
	{
		var sType = selects[j].name.substr(0, selects[j].name.length-(selects[j].name.length-1));
		var sValue = selects[j].name.substr(1, selects[j].name.length);
		var sName = selects[j].name.substr(0, selects[j].name.length);
		if (!sExcludeExp.test(sName))
		{
			if ( sType == 's') 
			{
				aElements[i+(j+k+1)] = sValue+"|'"+selects[j].value+"'";
			}
			else if (sType == 'n') 
			{
				aElements[i+(j+k+1)] = sValue+"|"+selects[j].value;
			}
		}
	}
	
	j = 0
	
	for(i=0; i<aElements.length; i++)
	{
		if (aElements[i]  != undefined)
		{
			aElementsOut[j] = aElements[i] 
			j++
			
		}
		
	}
	
	return aElementsOut
	
}


function txtBoxFormat(objForm, strField, sMask, evtKeyPress) 
{
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if(document.all) 
	{ // Internet Explorer
		nTecla = evtKeyPress.keyCode; 
	}
	else {
		//if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	}
	
	sValue = document.getElementById(strField).value;
	
	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	// Caso seja pressionado backspace, então ignora a verificação da máscara
	if (nTecla !=8){
	   while (i <= mskLen) {
		  bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		  bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
	
		  if (bolMask) {
			 sCod += sMask.charAt(i);
			 mskLen++; 
		  } else {
			 sCod += sValue.charAt(nCount);
		     nCount++;
		  }
	
	       i++;
	   }	
		
	   document.getElementById(strField).value = sCod;
	   
	}
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); 
		} // números de 0 a 9
		else { // qualquer caracter...
			return true;
		} 
	} else {
		return true;
	}
}


