function NewWindow(mypage,myname,w,h,scroll,pos){ 
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;} 
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} 
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20} 
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no'; 
win=window.open(mypage,myname,settings);} 

function MascaraCPF(Obj,Opcao)
{var KeyCod = window.event.keyCode;
 //PARA EVENTO ONBLUR / ONKEYUP
 if(Opcao == 0 && ((!(KeyCod == 16 || KeyCod == 8 || (KeyCod > 34 && KeyCod < 41)) && ((KeyCod > 47 && KeyCod < 58) || (KeyCod > 95 && KeyCod < 106))) || (KeyCod == 0)) || (RetornaNumeros(Obj.value).length == 11 && (!(KeyCod == 16 || KeyCod == 8 || (KeyCod > 34 && KeyCod < 41)))))
	{
	var NovoTexto = '';
	 var TextoAntigo = RetornaNumeros(Obj.value)
	 if(TextoAntigo.length > 11)
		{TextoAntigo = TextoAntigo.substr(0,11)}
	 for(Pos=0; Pos<TextoAntigo.length; Pos++)
		{NovoTexto+= TextoAntigo.substr(Pos,1)
		 if(NovoTexto.length == 3 || NovoTexto.length == 7)
			{NovoTexto+= '.'}
		 if(NovoTexto.length == 11) 
			{NovoTexto+= '-'}
		}
	 Obj.value = NovoTexto
	}
}

function MascaraCEP(Obj,Opcao)
{var KeyCod = window.event.keyCode;
 //PARA EVENTO ONBLUR / ONKEYUP	
 if(Opcao == 0 && ((!(KeyCod == 16 || KeyCod == 8 || (KeyCod > 34 && KeyCod < 41)) && ((KeyCod > 47 && KeyCod < 58) || (KeyCod > 95 && KeyCod < 106))) || (KeyCod == 0)) || (RetornaNumeros(Obj.value).length == 8 && (!(KeyCod == 16 || KeyCod == 8 || (KeyCod > 34 && KeyCod < 41)))))
	{var NovoTexto = '';
	 var TextoAntigo = RetornaNumeros(Obj.value)
	 if(TextoAntigo.length > 8)
		{TextoAntigo = TextoAntigo.substr(0,8)}
	 for(Pos=0; Pos<TextoAntigo.length; Pos++)
		{NovoTexto+= TextoAntigo.substr(Pos,1)
		 if(NovoTexto.length == 5)
			{NovoTexto+= '-'}
		}
	 Obj.value = NovoTexto
	}
}

function MascaraData(Obj,Opcao)
{var KeyCod = window.event.keyCode;
 //PARA EVENTO ONBLUR / ONKEYUP
 if(Opcao == 0 && ((!(KeyCod == 16 || KeyCod == 8 || (KeyCod > 34 && KeyCod < 41)) && ((KeyCod > 47 && KeyCod < 58) || (KeyCod > 95 && KeyCod < 106))) || (KeyCod == 0)) || (RetornaNumeros(Obj.value).length == 8 && (!(KeyCod == 16 || KeyCod == 8 || (KeyCod > 34 && KeyCod < 41)))))
	{var NovoTexto = '';
	 var TextoAntigo = RetornaNumeros(Obj.value)
	 if(TextoAntigo.length > 8)
		{TextoAntigo = TextoAntigo.substr(0,8)}
	 for(Pos=0; Pos<TextoAntigo.length; Pos++)
		{NovoTexto+= TextoAntigo.substr(Pos,1)
		 if(NovoTexto.length == 2 || NovoTexto.length == 5)
			{NovoTexto+= '/'}
		}
	 Obj.value = NovoTexto
	}
}

function MascaraFone(Obj,Opcao)
{var KeyCod = window.event.keyCode;
 //PARA EVENTO ONBLUR / ONKEYUP
 if(Opcao == 0 && ((!(KeyCod == 16 || KeyCod == 8 || (KeyCod > 34 && KeyCod < 41)) && ((KeyCod > 47 && KeyCod < 58) || (KeyCod > 95 && KeyCod < 106))) || (KeyCod == 0)) || (RetornaNumeros(Obj.value).length == 10 && (!(KeyCod == 16 || KeyCod == 8 || (KeyCod > 34 && KeyCod < 41)))))
	{var NovoTexto = '(';
	 var TextoAntigo = RetornaNumeros(Obj.value)
	 if(TextoAntigo.length > 12)
		{TextoAntigo = TextoAntigo.substr(0,12)}
	 for(Pos=0; Pos<TextoAntigo.length; Pos++)
		{NovoTexto+= TextoAntigo.substr(Pos,1)
		 if(NovoTexto.length == 3)
			{NovoTexto+= ')'}
		 if(NovoTexto.length == 8)
			{NovoTexto+= '-'}
		}
	 Obj.value = NovoTexto
	}
}

function SomenteNumeros() // PARA EVENTO OnKeyDown
{var Tecla = window.event.keyCode;
if (!(	(Tecla > 95 && Tecla < 106) || 
	(Tecla > 44 && Tecla < 58)  || 
	(Tecla > 32 && Tecla < 41)  ||
	(	Tecla == 17 ||
		Tecla == 16 ||
		Tecla == 8  || 
		Tecla == 9  || 
		Tecla == 13 ||
		Tecla == 144  )))
{window.event.returnValue = false;}

}

function ApagarCaracterSomente()  // PARA EVENTO OnKeyDown
{var Tecla = window.event.keyCode;
 if (!(	(Tecla > 33 && Tecla < 40) ||
 	(Tecla > 16 && Tecla < 18) ||
 	(Tecla == 8) ||
 	(Tecla == 46)))
	{window.event.returnValue = false;}
	
}

function RemoveTexto(Obj)
{CharPego = new RegExp("[^0-9]","gi")
 Obj.value= Obj.value.replace(CharPego,'')
}

function RetornaNumeros(Texto)
{var CharPego = new RegExp("[^0-9]","gi")
 var NovoTexto= Texto.replace(CharPego,'')
 return NovoTexto
}

function RetornaReverse(Texto)
{var str = '';
 for(indx=Texto.length; indx > 0 ;indx--)
	{str+=Texto.substr(indx - 1,1);
	}
return str;
}

function RetornaDecimal(Valor)// PARA VALORES MONETÁRIOS, PORCENTAGENS, ETC.
{Valor = Valor.replace(/[^0-9^\.^\-^\,]/g,'')
 if(Valor.replace(/[^0-9]/g,'') == ''){Valor = '0';}
 var indxVirg = RetornaReverse(Valor.replace(/,/g,'.')).indexOf('.'); // encontra a posição do separador decimal ('.')
 var FormatVal = ''
 FormatVal = RetornaNumeros(Valor.substr(0,Valor.length - indxVirg)) + '.' + RetornaNumeros(Valor.substr((Valor.length - indxVirg),indxVirg))
 return parseFloat(FormatVal);
}

function isDecimal(Valor)
{var indxVirg = RetornaReverse(Valor.replace(/,/g,'.')).indexOf('.'); // encontra a posição do separador decimal ('.')
 var SimulaValor = '';
 SimulaValor = ((Valor.substr(0,Valor.length - indxVirg)).replace(/,/g,'').replace(/\./g,'') + '.' + (Valor.substr((Valor.length - indxVirg),indxVirg)).replace(/,/g,'').replace(/\./g,'')).replace(/ /g,'')
 return !isNaN(SimulaValor)
}


function RetornaMoney(Valor)
{
var decValor = "" + RetornaDecimal(Valor)
var PontoPos = decValor.search(/\./i)
if (PontoPos >= 0)
	{casaDec = "" + decValor.substr(PontoPos+1,decValor.length) + "00000000000000000"
	 Incremento = Math.round("0." + casaDec.substr(2,15))
	 VetorDec = casaDec.substr(0,2).split("");
	 indx = 1;
	 
	 while(Incremento == 1 && indx >= 0)
	 	{VetorDec[indx] = parseInt(VetorDec[indx]) + 1;
	 	 if(VetorDec[indx] > 9)
	 	 	{VetorDec[indx] = 0;}
	 	 else
	 	 	{Incremento = 0;}
	 	 indx-- ;
	 	}
	
	 casaDec = VetorDec.join("")
	 decValor = "" + (parseFloat(decValor) + Incremento);
	 
	 //casaDec = "" + casaDec.substr(0,1) + (parseInt(casaDec.substr(1,1)) + Math.round(parseInt(Arrendonda) / 10000))
	 ValTemp = decValor.substring(decValor.substr(0,PontoPos).length - parseInt(decValor.substr(0,PontoPos).length / 3) * 3,PontoPos)
	 
	 Val = ""
	 for(indx=0; indx < ValTemp.length; indx++)
	 	{Val+= (indx % 3 == 0) ? "." + ValTemp.substr(indx,1) : ValTemp.substr(indx,1);
	 	}
	 
	 valMonetario = decValor.substr(0,PontoPos - ValTemp.length) + Val + "," + casaDec;
	 
	 if ((decValor.substr(0,PontoPos).length) % 3 == 0){valMonetario = valMonetario.substring(1,valMonetario.length)}
	}
else
	{if (decValor.length > 0 && Valor.replace(/ /g,'') != '')
		{ValTemp = decValor.substring(decValor.length - parseInt(decValor.length / 3) * 3,decValor.length)
		 Val = ""
		 for(indx=0; indx < ValTemp.length; indx++)
		 	{Val+= (indx % 3 == 0) ? "." + ValTemp.substr(indx,1) : ValTemp.substr(indx,1);
		 	}
		 valMonetario = decValor.substr(0,decValor.length - ValTemp.length) + Val + ",00";
		 
		 if ((decValor.length) % 3 == 0){valMonetario = valMonetario.substring(1,valMonetario.length)}
		}
	 else
	 	{valMonetario = "0,00";}
		
	}
return valMonetario;
}


function ArredondaDec(Numero, NumCasaDec)
{	var NumDec = "" + RetornaDecimal(Numero);
	var PontoPos = NumDec.search(/\./i);
	var decValor = NumDec.substr(PontoPos+1,NumDec.length) + "00000000000000" ;
	var Arredonda = "";
	var valFinal = "";

	var Incremento = Math.round("0." + decValor.substr(NumCasaDec,decValor.length))
	var VetorDec = decValor.substr(0,NumCasaDec).split("");
	var indx = parseInt(NumCasaDec) - 1;
	
	while(Incremento == 1 && indx >= 0)
	{VetorDec[indx] = parseInt(VetorDec[indx]) + 1;
	 if(VetorDec[indx] > 9)
	 	{VetorDec[indx] = 0;}
	 else
	 	{Incremento = 0;}
	 indx-- ;
	}
	
	decValor = VetorDec.join("")
	NumDec = "" + (parseFloat(NumDec) + Incremento);
	
	
	if(parseInt(NumCasaDec) > 0)
		{Arredonda = "." + decValor.substr(0,NumCasaDec-1) + (parseInt(decValor.substr(NumCasaDec-1,1)) + parseInt(Math.round("0."+decValor.substr(NumCasaDec,decValor.length))));
		 valFinal = NumDec.substr(0,PontoPos) + Arredonda;
		}
	else
		{valFinal = parseInt(NumDec.substr(0,PontoPos)) + parseInt(Math.round("0." + decValor))
		}
	
	return valFinal;
}

function LimitarCaracteres(TextBox, LimiteCaracteres)
{	
	objLabel = arguments[2];
	
	if(objLabel != null)
	{
		objLabel.innerHTML = TextBox.value.length + ' caracteres.';
	}
	
	if(TextBox.value.length > LimiteCaracteres && LimiteCaracteres != null)
	{
		alert('Este campo é limitado a ' + LimiteCaracteres + ' caracteres.');
		TextBox.value = TextBox.value.substr(0, LimiteCaracteres);
		TextBox.focus();
		if(objLabel != null)
		{
			objLabel.innerHTML = TextBox.value.length + ' caracteres.';
		}
		return false;
	}
}

function ShowHideBloco(idContainer)
{
	var Container = document.getElementById(idContainer);
	var indx = 0;
	
	Container.style.display = Container.style.display == 'none' ? 'block' : 'none';
	
	if(Container.hasChildNodes() && Container.style.display == 'block')
	{
		for(indx = 0; indx < Container.childNodes.length; indx++)
		{
			ShowHideChildNodes(Container.childNodes[indx], true);
		}
	}
}

function ShowHideChildNodes(obj)
{
	var indx = 0;
	forceShow = arguments[1];

	if(obj.hasChildNodes())
	{
		for(indx = 0; indx < obj.childNodes.length; indx++)
		{
			if(obj.nodeType == 1 && obj.tagName != 'LABEL' && obj.tagName != 'SPAN') //LABEL/SPAN BUGA NA HORA DE ATRIBUIR DISPLAY=BLOCK
			{
				obj.style.display = forceShow ? 'block' : obj.style.display == 'none' ? 'block' : 'none';
			}
			ShowHideChildNodes(obj.childNodes[indx], forceShow);
		}
	}
}

function VisualizarImagem(baseName, basePath)
{
	objFile = document.getElementById(baseName);
	objHidden = document.getElementById("hid" + baseName);
	var srcImage = '';
	
	var vBasePath = basePath.split('/');
	if(vBasePath[vBasePath.length-1].length > 0) //Normaliza basePath
	{
		basePath = vBasePath.join('/') + '/';
	}
	
	if(objHidden.value.split('\\').length > 1) //Estrutura de pastas
	{
		srcImage = objHidden.value;
	}
	
	if(objHidden.value.split('\\').length == 1 && objHidden.value.length > 0) //Somente nome da imagem
	{
		srcImage = basePath + objHidden.value;
	}
	
	if(srcImage != '')
	{
		window.showModalDialog("ShowImage.asp?imagepath=" + srcImage, null,'dialogHeight:200px; dialogWidth:250px; center: yes; scroll: no; status: no;');
		
	}
	else
	{
		alert('Nenhuma imagem atribuída!');
	}
}

function GetFileName(baseName)
//função para verificação de imagem pré-upload
{
	var objFile = document.getElementById(baseName);
	var TipoFile = arguments[1] ? arguments[1] : 'image'; //Imagem é padrão!
	if(objFile.value != '')
	{
		var objHidden = document.getElementById("hid" + baseName);
		var objLabel = document.getElementById("lbl" + baseName);
		vPath = objFile.value.split('\\');
		var ImageName = vPath[vPath.length-1]
		var Extensao = ImageName.substr(ImageName.length - 4, 4).toLowerCase();
		if(TipoFile == 'image' && Extensao != ".jpg" && Extensao != ".gif" && Extensao != ".png")
		{
			alert("O arquivo selecionado não é uma imagem válida!\nSelecione imagens do tipo JPG, GIF ou PNG");
			CancelFile(baseName);
			return false;
		}
		objHidden.value = objFile.value;
		objLabel.innerHTML = ImageName;
	}
}

function GetFileName2(baseName)
//função para verificação de arquivos pré-upload
{
	var objFile = document.getElementById(baseName);
	if(objFile.value != '')
	{
		var objHidden = document.getElementById("hid" + baseName);
		var objLabel = document.getElementById("lbl" + baseName);
		vPath = objFile.value.split('\\');
		var ImageName = vPath[vPath.length-1]
		var Extensao = ImageName.substr(ImageName.length - 4, 4).toLowerCase();
		if(Extensao != ".pdf" && Extensao != ".cad" && Extensao != ".zip" && Extensao != ".dwg")
		{
			alert("O arquivo selecionado não é válido!");
			CancelFile(baseName);
			return false;
		}
		objHidden.value = objFile.value;
		objLabel.innerHTML = ImageName;
	}
}

function CancelFile(baseName)
{
	var objHidden = document.getElementById("hid" + baseName);
	var objLabel = document.getElementById("lbl" + baseName);
	objHidden.value = objHidden.getAttribute("Original");
	vPath = objHidden.value.split('\\');
	objLabel.innerHTML = vPath[vPath.length-1]!= '' ? vPath[vPath.length-1] : 'Sem Arquivo';
}

function RelaceRow(booleanRealce, ID_TR)
{
	var objTR = document.getElementById(ID_TR);
	var originalClass = objTR.getAttribute("originalclass");
	var indx = 0;

	for(indx = 0; indx < objTR.childNodes.length; indx++)
	{
		var objTD = (objTR.childNodes[indx].tagName == 'TD' ? objTR.childNodes[indx] : null);
		if(objTD != null)
		{
			objTD.className = booleanRealce ? 'TD_ListagemRealce' : originalClass;
		}
	}
}

function ListaSelecionarTodos(TrBaseName, ChecksName)
{
	var ColChecks = document.getElementsByName(ChecksName);
	var indx = 0;

	for(indx = 0; indx < ColChecks.length; indx++)
	{
		ColChecks[indx].checked = true;
		RelaceRow(true, TrBaseName + ColChecks[indx].value);
	}
}

function ListaDeselecionarTodos(TrBaseName, ChecksName)
{
	var ColChecks = document.getElementsByName(ChecksName);
	var indx = 0;
	for(indx = 0; indx < ColChecks.length; indx++)
	{
		ColChecks[indx].checked = false;
		RelaceRow(false, TrBaseName + ColChecks[indx].value);
	}
}

function isMail(MailAddress)
{
	var R,S,T,U,V,X,Y,Z;
	var ErroM = 0; My = MailAddress;
	X = My.search('@');// Procura pela Primeira @
	Y = My.substr((X+1));// Guarda todo o texto após a primeira @
	Z = Y.search('@');// Procura por uma segunda @
	V = My.search('.');// Procura pelo primeiro ponto(.)  
	U = Y.length;// Guarda o numero de caracteres após a primeira @
	T = Y.charAt(U-1);// Pega o primeiro caracter de pois da primeira @
	S = My.slice(0,X);//
	for (L = 1; L < U; L++)// Pega o Numero de pontos(.) encontrados apos a primeira @
	{
		if (Y.charAt(L)=='.')
		{
			ErroM++;
		}
	}
	if (Y.charAt(0) == '.' || ErroM > 8 || ErroM == 0 || T == '.' || U == 0 || X == (-1) || Z != (-1) || S == '')
	{
		return false;
	}
	return true;
}

function isDate(day, month, year)
{
		Data=
			(!(
				isNaN(day) ||
				isNaN(month) ||
				isNaN(year) ||
				(day>31)||
				(month>12)||
				(day<0)||
				(month<0)||
				(day == '') ||
				(month == '') ||
				(year == '') ||
				(
					(day == 31) &&
					(
						(month == 2) ||
						(month == 4) ||
						(month == 6) ||
						(month == 9) ||
						(month == 11)
					)
				)
				||
				(
					(
						(year % 4) == 0
					)
					?
					(
						(month == 2) &&
						(day > 29)
					)
					:
					(
						(month == 2) &&
						(day > 28)
					)
				)
			))
		
		return Data;
}

function getHTMLEditorContent(instanceName)
{
	instanceName += '___Frame'
	var FrameExt = document.frames(instanceName);
	var FrameInt = FrameExt.document.frames;
	var iFrameEditor = FrameInt[0];
	return iFrameEditor.document.body.innerHTML;
}


function getHTMLEditorReference(instanceName)
{
	instanceName += '___Frame'
	var FrameExt = document.frames(instanceName);
	var FrameInt = FrameExt.document.frames;
	var iFrameEditor = FrameInt[0];
	return iFrameEditor;
}