function PTADetectorBrowser(){
	this.ver    = navigator.appVersion
	this.agent  = navigator.userAgent
	this.dom    = document.getElementById?1:0
	this.opera5 = this.agent.indexOf("Opera 5")>-1
	this.ie4    = (document.all && !this.dom && !this.opera5)                 ? 1 : 0;
	this.ie5    = (this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5) ? 1 : 0; 
	this.ie6    = (this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5) ? 1 : 0;
	this.ie7    = (this.ver.indexOf("MSIE 7")>-1 && this.dom && !this.opera5) ? 1 : 0;
	this.ie     = (this.ie4||this.ie5||this.ie6||this.ie7)
	this.mac    = this.agent.indexOf("Mac")>-1
	this.ns4    = (document.layers && !this.dom)        ? 1 : 0;
	this.ns6    = (this.dom && parseInt(this.ver) >= 5) ? 1 : 0; 
	this.bw     = (this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}


//Nome do txt que eh passado no strMessage = txt_msg_ck_in_Sel 
//Menssagem do txt_msg_ck_ex_Sel = 'Erro: Nenhum item selecionado.'
//Nome do txt que eh passado no strMessageconfirm = txt_msg_ck_in_Sel_confirm 
//Menssagem do txt_msg_ck_in_Sel_confirm = ' item(ns) selecionado(s).\nContinuar ?'
function incluirSelecionados(strFormName, strCheckName,strMessage,strMessageconfirm){
	if (strFormName == null || strFormName == "" || strFormName == "undefined") {
		alert(strMessage)
		return false
	}
	
	if (strCheckName == null || strCheckName == "" || strCheckName == "undefined") {
		alert(strMessage)
		return false
	}
	
	var blFound = false
	var count   = 0;
	
	for (var x = 0; x < strFormName.length; x++){
		if (strCheckName.length > 1) {
			if ( strCheckName[0].name.search(strFormName.elements[x].name) != -1 ){
				if (strFormName.elements[x].checked) {
					blFound = true
					count++
				}
			}
		} else {
			if ( strCheckName.name.search(strFormName.elements[x].name) != -1 ){
				if (strFormName.elements[x].checked) {
					blFound = true
					count++
				}
			}
		}
	}
	
	if (blFound)
	{
		if (confirm(count + strMessageconfirm))		
		{
			return true;
		}
		else
		{
			return false;
		}	
	}	
	else {
		alert(strMessage)
	}
	
	return (blFound)
}

//Nome do txt que eh passado no strMessage = txt_msg_ck_ex_Sel 
//Menssagem do txt_msg_ck_ex_Sel = 'Erro: Nenhum item selecionado.'
//Nome do txt que eh passado no strMessageconfirm = txt_msg_ck_ex_Sel_confirm 
//Menssagem do txt_msg_ck_ex_Sel_confirm = ' item(ns) selecionado(s).\nContinuar ?'
function excluirSelecionados(strFormName, strCheckName,strMessage,strMessageconfirm)
{
	if (strFormName == null || strFormName == "" || strFormName == "undefined")
	{
		alert(strMessage);
		return false
	}
	
	if (strCheckName == null || strCheckName == "" || strCheckName == "undefined")
	{
		alert(strMessage);
		return false
	}
	
	var blFound = false
	var count   = 0;
	
	for (var x = 0; x < strFormName.length; x++)
	{
		if (strCheckName.length > 1)
		{
			if ( strCheckName[0].name.indexOf(strFormName.elements[x].name) != -1 )
			{				
				if (strFormName.elements[x].checked)
				{
					blFound = true
					count++
				}
			}
		}
		else
		{
			if ( strCheckName.name.indexOf(strFormName.elements[x].name) != -1 )
			{
				if (strFormName.elements[x].checked)
				{
					blFound = true
					count++
				}
			}
		}
	}
	
	if (blFound)
	{
		if (strMessageconfirm != '')
		{
			if (confirm("Aviso", strMessageconfirm))
			{
				return true;
			}
			else
			{
				return false;
			}
		}
	}
	else
	{
		alert(strMessage);
	}
	
	return (blFound)
}

//Nome do txt que eh passado no strMessage = txt_msg_rd_Sel 
//Menssagem do txt = 'Erro: é necessário selecionar um item.'
function radioSelecionados(strFormName, strCheckName,strMessage){
	if (strFormName == null || strFormName == "" || strFormName == "undefined") {
		alert(strMessage)
		return false
	}
	
	if (strCheckName == null || strCheckName == "" || strCheckName == "undefined") {
		alert(strMessage)
		return false
	}
	
	var blFound = false
	var count   = 0;
	
	for (var x = 0; x < strFormName.length; x++){
		if (strCheckName.length > 1) {
			if ( strCheckName[0].name.search(strFormName.elements[x].name) != -1 ){
				if (strFormName.elements[x].checked) {
					blFound = true
					count++
				}
			}
		} else {
			if ( strCheckName.name.search(strFormName.elements[x].name) != -1 ){
				if (strFormName.elements[x].checked) {
					blFound = true
					count++
				}
			}
		}
	}
	
	if (!blFound)
	{		
		alert(strMessage)
	}
	
	return (blFound)
}

//Nome do txt que eh passado no strMessage = txt_msg_ck_ex_Sel 
//Menssagem do txt_msg_ck_ex_Sel = 'Erro: Nenhum item selecionado.'
function verificaCampo(strFormName, strFieldName, strMessage) {
	if (strFormName == null || strFormName == "") {
		alert(strMessage)
		return false
	}
	
	if (strFieldName == null || strFieldName == "") {
		alert(strMessage)
		return false
	}
	
	if (strFieldName.text == "") 
	{
		alert(strMessage);
		return false;
	}
	else
	{
		return true;
	}
}
//Nome do txt que eh passado no strMessage = txt_msg_confirmarExclusao 
//Messagem do txt = 'Você tem certeza que deseja excluir o registro ?'
function confirmarExclusao(strMessage) {
	return confirm(strMessage);
}

/*
Função de Abrir nova Janela
*/
<!--
function popupGetArgument (url, nome, largura, altura, pos, scroll, barras, menu) {
	if (pos == 0) {
		posleft = 20;
		postop  = (screen.height) ? (screen.height - altura) / 2 - 50 : 100;
	} else if (pos == 1) {
		posleft = (screen.width) ? (screen.width - largura) / 2 : 100;
		postop  = (screen.height) ? (screen.height - altura) / 2 - 50 : 100;
	} else if (pos == 2) {
		posleft = (screen.width) ? (screen.width - largura) - 28 : 100;
		postop  = (screen.height) ? (screen.height - altura) / 2 - 50 : 100;
	}
	if (barras == true) opbarras = "yes"; else opbarras = "no";

	settings = 'width=' + largura + ', height=' + altura + ', top=' + postop + ', left=' + posleft + ', scrollbars=' + opbarras + ', location=no, directories=no, status=no, menubar='+ menu +', toolbar=no, resizable=' + scroll;
	var NovaJanela = window.open(url, nome, settings);
		NovaJanela.focus();
}

function PTA_NovaJanela(theURL,winName,features) { 
  window.open(theURL,winName,features);
}

function addOption(oSource, oDestiny, check) {

	arraySelecionados = new Array();
	var contador = 0;
	
	for (var i=0; i< oSource.options.length;i++){

		if (oSource.options[i].selected == true) {

			var achou = false;
			var total_optionLista2 = oDestiny.options.length;
			var texto = oSource.options[i].text;
			var valor = oSource.options[i].value;
   
			// inclui na lista 2 o(s) elemento(s) selecionado(s) na lista 1
			if (check == 1) { 
			
				if (total_optionLista2 != 0){
			
					// loop para checar se já existe o valor na lista2
					for (var x=0; x < total_optionLista2; x++){
				
						for (var y=0; y < oSource.options.length; y++){

							if (oSource.options[i].value == oDestiny.options[x].value) { 
								achou = true;
								break;
							}
						}
					}
			
					// se não achou igual inclui na lista2 
					if (!achou) {
						oDestiny.options[total_optionLista2] = new Option(texto, valor);
						
						arraySelecionados[contador] = i;
						contador++;
					} 
				// se lista 2 está vazia, inclui o primeiro selecionado
				}else {
						oDestiny.options[total_optionLista2] = new Option(texto, valor);
						
						arraySelecionados[contador] = i;
						contador++;
				}
				
			// se check diferente de 1 inclui direto 
			} else {
				oDestiny.options[total_optionLista2] = new Option(texto, valor);
			}
		}
	}
	
	for (i = arraySelecionados.length; i > -1 ; i--) {
		oSource.options[arraySelecionados[i]] = null;
	}
}

//-----------------------------------------------------------------------------------------------
//Função	 : removeItem(frmOrigem)
//Autor		 : Ivo Luiz Campagnolo
//Objetivo	 : Excluir um item selecionado
//Parâmetros : 
//				frmOrigem  - List Box que contém os itens disponiveis
//Retorno	 : Inexistente
//-----------------------------------------------------------------------------------------------
function removeItem(frmOrigem) {

	arrSelected = new Array();
	count = 0;

	//looping até o fim da list box para localizar o item a ser excluso
	for (i = 0; i < frmOrigem.length; i++) {
		if (frmOrigem.options[i].selected) {
			arrSelected[count] = frmOrigem.options[i].value;
			count++;
		}
	}
		
	i = 0;
	count = 0;
	while (count < arrSelected.length) {
		for (x = 0; x < arrSelected.length; x++) {
			if (frmOrigem.options[i].value == arrSelected[x]) {
				frmOrigem.options[i] = null;
				count++;
			}
		}
		i++;
	}
}

//------------------------------------------------------------------------------------------------
//Função	 : saveItens()
//Autor		 : Ivo Luiz Campagnolo
//Objetivo	 : Gerar a string com os itens selecionados
//Parâmetros : 
//			   Podem ser passados n parametros, que são compostos dos objetos listBox
//Retorno	 : String com os dados gerados
//------------------------------------------------------------------------------------------------
function saveItens() {

	var strResults = "";
	var count = 0;
	var i = 0;
	var x = 0;
	var element;
	
	var parametros = saveItens.arguments;
	
	for (x = 0; x < parametros.length; x++) {
	
		element = parametros[x];
		if (element.length != 0) {
			
			for (i = 0; i < element.length; i++) {
				
				strResults = strResults + element.options[i].value + "*";
				count++;
			}
		}
	}

		return strResults;
}

//------------------------------------------------------------------------------------------------
//Função	 : moveItemByVal(frmDestino, frmOrigem)
//Autor		 : Ivo Luiz Campagnolo
//Objetivo	 : Selecionar itens de uma lista para outra mediante um click
//Parâmetros : 
//				frmDestino - List Box que contém os itens selecionados
//				frmOrigem  - List Box que contém os itens disponiveis
//Retorno	 : Inexistente
//-------------------------------------------------------------------------------------------------
function moveItemByVal(frmDestino, frmOrigem) {

	var boxLength = frmDestino.length;                         //número de itens já selecionados
	var selectedItem = frmOrigem.selectedIndex;                //indice do item selecionado
	
	if (selectedItem > -1)
	{
		var selectedText = frmOrigem.options[selectedItem].text;   //descricao do item selecionado
		var selectedValue = frmOrigem.options[selectedItem].value; //valor do item selecionado
		var i;
		var isNew = true;
	
		//realiza looping até o fim da list box para localizar o item
		if (boxLength != 0) { 
			for (i = 0; i < boxLength; i++) {
				thisitem = frmDestino.options[i].value;
				if (thisitem == selectedValue) {
				isNew = false;
				break;
				}
			}	
		} 

		//se o item não existe no destino move o mesmo de uma lista para outra
		if (isNew) {
			newoption = new Option(selectedText, selectedValue, false, false);
			frmDestino.options[boxLength] = newoption;
		}

		//remove o item da lista de origem
		removeItem(frmOrigem);
		frmOrigem.selectedIndex=-1;
	}
}

//------------------------------------------------------------------------------------------------
//Função	 : moveItem(frmDestino, frmOrigem)
//Autor		 : Ivo Luiz Campagnolo
//Objetivo	 : Selecionar itens de uma lista para outra mediante um click
//Parâmetros : 
//				frmDestino - List Box que contém os itens selecionados
//				frmOrigem  - List Box que contém os itens disponiveis
//Retorno	 : Inexistente
//-------------------------------------------------------------------------------------------------

function moveItem(frmDestino, frmOrigem)  
{
	//looping até o fim da list box para localizar os 
	//item selecionado a serem incluidos
	for (i = 0; i < frmOrigem.length; i++) 
	{
		if (frmOrigem.options[i].selected) 
		{
			selectedText = frmOrigem.options[i].text;   //descricao do item selecionado
			selectedValue = frmOrigem.options[i].value; //valor do item selecionado
			
			//se o item não existe na lista de destino adiciona			
			if(SearchItem(frmDestino,selectedValue) == 0)
			{
				newoption = new Option(selectedText, selectedValue, false, false);
				frmDestino.options[frmDestino.length] = newoption;
			}		
		}
	}
	//remove o item da lista de origem
	removeItem(frmOrigem);
	frmOrigem.selectedIndex=-1;
}	
function SearchItem(frmDestino,strValor){
	var isNew = true;			
	var thisitem = "";
	var j=0;
	//realiza looping até o fim da list de destino para 
	//verificar se o item ja nao existe
	if (frmDestino.length > 0) { 
		for (j = 0; j < frmDestino.length; j++){
			thisitem = frmDestino.options[j].value;
			if (thisitem == strValor){
				isNew = false;
				break;
			}
		}	
	}
	if (isNew)
		j=0;
	return j;
}

function PTASelecionaCheck(Checado, strForm){
	var cont;
	var arrElementos = eval(strForm);

	if (arrElementos!=null){
		if (Checado.checked){
			if(arrElementos.length==null){
				arrElementos.checked = false;
				arrElementos.click();
			}
			else{
				for (cont=0; cont < arrElementos.length; cont++){
					arrElementos[cont].checked = false;
					arrElementos[cont].click();
				}
			}
		}
		else{
			if(arrElementos.length==null){
				arrElementos.checked = true;
				arrElementos.click();
			}
			else{
				for (cont=0; cont < arrElementos.length; cont++){
					arrElementos[cont].checked = true;
					arrElementos[cont].click();
				}
			}
		}
	}
	else Checado.checked = false;
}

function PTAEncontraObj(NomeObj, d) {
	var p,i,x;
	if(!d) d=document;
	if((p=NomeObj.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[NomeObj.substring(p+1)].document;
		NomeObj=NomeObj.substring(0,p);
	}
	if(!(x=d[NomeObj])&&d.all) x=d.all[NomeObj];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][NomeObj];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=PTAEncontraObj(NomeObj,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(NomeObj); return x;
}

function RetornaValorRadio(objRadio)
{
	var strRetorno = '';
	if (objRadio)
		if (objRadio.length)
		{
			for (i=0;i<objRadio.length;i++) 
				if (objRadio[i].checked)
					strRetorno = objRadio[i].value
		}
		else
			if (objRadio.checked)
				strRetorno = objRadio.value;
	return(strRetorno);
}

function RetornaValorCombo(objCombo)
{
	if (objCombo.selectedIndex > -1)
		return objCombo.options[objCombo.selectedIndex].value
	else
		return("");
}

function RetornaTextoCombo(objCombo)
{
	if (objCombo.selectedIndex > -1)
		return objCombo.options[objCombo.selectedIndex].text
	else
		return("");
}
function TrimJava(strString)
{               
	var strTrim = new String(strString);
	
	while (strTrim.substr(0,1) == ' ')
		strTrim = strTrim.substr(1,strTrim.length-1);

	while (strTrim.substr(strTrim.length-1,1) == ' ')
		strTrim = strTrim.substr(0,strTrim.length-2);

	return strTrim;
}

function WriteSpan(objSpan, strStringToWrite)
{
	var strAppName = new String(window.navigator.appName);

	if (strAppName.toUpperCase().indexOf('NETSCAPE') > -1);
		strStringToWrite = '<tr><td>' + strStringToWrite + '</td></tr>';

	if (objSpan)
		objSpan.innerHTML = strStringToWrite;
	objSpan = null;
}

function UpdateMaxLength()
{
	for (var f = 0; f < document.forms.length; f++)
	{
		var objForm = document.forms[f];
		for (var i = 0; i < objForm.length; i++)
			if (objForm.elements[i].type.toLowerCase() == "textarea")
				if (objForm.elements[i].onkeyup)
					objForm.elements[i].onkeyup();
	}
}

function ValidateMaxLenght(objInput, strSpanId, intMaxLenght, strDsMessage)
{
	var intSize = objInput.value.length;
	
	if (intSize > intMaxLenght)
	{
		alert(strDsMessage + ' !');
		objInput.value = objInput.value.substr(0,intMaxLenght);
		intSize = intMaxLenght;
	}

	var objSpan = document.getElementById(strSpanId);

	objSpan.innerHTML = intMaxLenght - intSize;
}
//-->