// Função para detectar o tamanho do document HTML
// usado para ajustar os Layers "Scroll dos layers"

function TamanhoDocumento(){
	var bw = new PTADetectorBrowser();
	
	if (bw.ns4 || bw.ns6) {
		this.width  = innerWidth;
		this.height = innerHeight;	
	} else {
		this.width  = document.body.offsetWidth;
		this.height = document.body.offsetHeight;
	}
	
	return this;
}


/* excluir itens do grid */

//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 = "Nenhum item selecionado";
	
	
	if (strFormName == null || strFormName == "" || strFormName == "undefined")
	{
		alert("Aviso\n" + strMessage);
		return false
	}
	
	if (strCheckName == null || strCheckName == "" || strCheckName == "undefined")
	{
		alert("Aviso\n" + strMessage);
		return false
	}
	
	var blFound = false
	var count   = 0;
	
	for (var x = 0; x < strFormName.length; x++)
	{		
		if ( strFormName.elements[x].type == "checkbox")
			if (strFormName.elements[x].name.indexOf(strCheckName) > -1 )
			{				
				if (strFormName.elements[x].checked)
				{
					blFound = true
					count++
				}
			}
	}
	
	if (count > 1)
		strMessageconfirm = count + " itens selecionados.\nDeseja exclui-los?";
	else 
		strMessageconfirm = count + " item selecionado.\nDeseja exclui-lo?";
	
	if (blFound)
	{
		
		if (confirm("Aviso\n" + strMessageconfirm))
		{
			return true;
		}
		else
		{
			return false;
		}
		
	}
	else
	{
		alert("Aviso\n" + strMessage);
	}
	
	return (blFound)
}

//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("Aviso\n" + strMessage);
}

function getBgColorClass(strCssClass){
	var strColor = new String();
	if (!document.styleSheets[0].rules){  
		for (var i = 0; i < document.styleSheets.length; i++){
			for (var j = 0; j < document.styleSheets[i].cssRules.length; j++){
				if (document.styleSheets[i].cssRules[j].selectorText == ("."+ strCssClass)){
					strColor = document.styleSheets[i].cssRules[j].style.backgroundColor;
					return (strColor);
				}
			}
		}
	}
	else {
		for (var i = 0; i < document.styleSheets.length; i++){
			for (var j = 0; j < document.styleSheets[i].rules.length; j++){
				if (document.styleSheets[i].rules[j].selectorText == ("."+ strCssClass)){
					strColor = document.styleSheets[i].rules[j].style.backgroundColor;          
					return (strColor);
				}
			}
		}
	}
  return ("FFFFFF");
}

function ApenasNumeros(obj){
	var valor = obj.value;
	for (x=0; x< valor.length;x++) {
		if (isNaN(valor.substr(x, 1))) {
			if (x != 0)
			 	obj.value = valor.substr(0, x);
			else
				obj.value = "";
		} 
	}
}

function MudaCor(strForm, strObj, strClassName){
	var cssCor = getBgColorClass(strClassName)	
	  
	if (strForm != '')
		eval('document.forms["'+ strForm +'"].'+ strObj +'.style.backgroundColor = "'+ cssCor +'";');
	else
		document.getElementById(strObj).style.backgroundColor = cssCor;
}


function theFadeTR(objCheck, strClassName, strClassNameOut){
  var objTR = SearchTR(objCheck);
  objTR.id = (objTR.id) ? objTR.id : objCheck.id +"TR";
  
	if (objCheck.checked){ 
		MudaCor('', objTR.id, strClassName);
	}else {                 
		MudaCor('', objTR.id, strClassNameOut);
	}
}

function theFadeTD(objCheck, strClassName, strClassNameOut){
	var randomnumber1=Math.floor(Math.random()*11)
	var randomnumber2=Math.floor(Math.random()*13)
	var randomnumber3=Math.floor(Math.random()*23)
	var objTR = SearchTR(objCheck);
	var oDate = new Date();
	
	var strID = 'TD'+ oDate.getFullYear() + 
				randomnumber1 + randomnumber2 + randomnumber3 + 
				((oDate.getMilliseconds()*11) ? "0"+ oDate.getMilliseconds() : oDate.getMilliseconds());
				
	if (objCheck.checked){
		for (var i=0; i < objTR.cells.length; i++){
		objTR.cells[i].id = (objTR.cells[i].id) ? objTR.cells[i].id : strID + "_" + i;
		MudaCor('', objTR.cells[i].id, strClassName);
		}
	}
	else{
		for (var i=0; i < objTR.cells.length; i++){
		objTR.cells[i].id = (objTR.cells[i].id) ? objTR.cells[i].id : strID;
		MudaCor('', objTR.cells[i].id, strClassNameOut);
		}
	}
}

function SearchTR(Element){
  if (document.all){ while (Element.tagName!="TR") {Element=Element.parentElement;}}
  else {             while (Element.tagName!="TR") {Element=Element.parentNode;}}
  return (Element);
}
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;
	}
}


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 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.ie     = (this.ie4||this.ie5||this.ie6)
	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.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}

function PTAEscreveNaPagina(oLayer, oValor){
	var obj;
	var oBrowser = new PTADetectorBrowser();

	if (oLayer==''){
		document.write(oValor);
		document.close();
	}
	else{
		if (oBrowser.ie || oBrowser.ns6){
			//obj = document.getElementById(oLayer);
			obj = PTAEncontraObj(oLayer);
			if(obj != null){
			   obj.innerHTML = oValor;
			}
		}
		else{
			obj = PTAEncontraObj(oLayer);
			if(obj){
			   obj.document.write(oValor);
			   obj.document.close();
			}			
		}
	}
}

function ReturnComboValue(objCombo){
	if (objCombo.selectedIndex > -1)
		return objCombo.options[objCombo.selectedIndex].value;
	else
		return("");
}

function ReturnRadioValue(objRadio){
	var strReturn="";
	
	if (objRadio.length){
		for (var i = 0; i < objRadio.length; i++){
			if (objRadio[i].checked){
				strReturn = objRadio[i].value;
				break;
			}
		}
	}
	else{
		if (objRadio.checked)
			strReturn = objRadio.value;
	}	
	return(strReturn);
}                                                               

function ReturnCheckValue(objCheckbox, strSeparador)
{
	if (!strSeparador)
		strSeparador = ',';
		
	var strReturn="";
	
	if (objCheckbox.length){
		for (var i = 0; i < objCheckbox.length; i++){
			if (objCheckbox[i].checked){
				strReturn += strSeparador + objCheckbox[i].value;
				//break;
			}
		}
		
		if (strReturn.length > 0)
		{
			strReturn = strReturn.substr(strSeparador.length);
		}
	}
	else{
		if (objCheckbox.checked)
			strReturn = objCheckbox.value;
	}	
	return(strReturn);
}                                                               

function ReturnComboText(objCombo){
	if (objCombo.selectedIndex > -1)
		return objCombo.options[objCombo.selectedIndex].text;
	else
		return("");
}



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;
}
/*****Fim Função para retornar quantidade de itens selecionados                         */
