function addItemLst(Texto, Valor, obj, origem){
	var cmb;
	var Opt; 
	var txt;

	if(typeof(origem) != "undefined"){
		cmb = origem.document.getElementById(obj);
		Opt = origem.document.createElement("Option"); 
		txt = origem.document.createTextNode(Texto);	
	}else{
		cmb = document.getElementById(obj);
		Opt = document.createElement("Option"); 
		txt = document.createTextNode(Texto);
	}

	cmb.options.add(Opt);
	Opt.appendChild(txt);
	Opt.value = Valor;
}

function removeItemLst(Index, obj, origem){
	var cmb = document.getElementById(obj);
	cmb.remove(Index);
}

function clearLst(obj, origem){
	var cmb;
	if(typeof(origem) != "undefined"){
		cmb = origem.document.getElementById(obj);
	}else{
		cmb = document.getElementById(obj);
	}

	cmb.options.length = 0;
}

function AbrePoup(PagAbrir, Target, Opcoes){
	var Jan = window.open(PagAbrir, Target, Opcoes);
	Jan.focus();
}

function ShowHiddenCampo(oId){
	if(document.all[oId].style.display == ""){
		document.all[oId].style.display = "none";
	}else{
		document.all[oId].style.display = "";
	}
}

function ChangeImg(ImgName, NewImg){
	
}

/*********************************************
'##  DateCount(String dt1, String dt2)
'##  compara as datas e retorna o número de
'##  dias - Formato das datas: DD/MM/AAAA
*********************************************/
function DateCount(dt1, dt2){
/*
	var ArrMonth = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	var vtDt1, vtDt2;
	var dDt1, mDt1, yDt1;
	var dDt2, mDt2, yDt2;
	var strDt1, strDt2;
	var DiffDays;
	
	vtDt1 = dt1.split("/");
	vtDt2 = dt2.split("/");
	
	dDt1 = parseInt(vtDt1[0]);
	mDt1 = parseInt(vtDt1[1]);
	yDt1 = parseInt(vtDt1[2]);
	
	dDt2 = parseInt(vtDt2[0]);
	mDt2 = parseInt(vtDt2[1]);
	yDt2 = parseInt(vtDt2[2]);
	
	strDt1 = ArrMonth[mDt1 - 1] + " " + dDt1 + ", " + yDt1;
	strDt2 = ArrMonth[mDt2 - 1] + " " + dDt2 + ", " + yDt2;
*/
	var vtData = dt1.split("/");
	var DtInicio = new Date(vtData[2], vtData[1]-1, vtData[0]);
	var vtDataFim = dt2.split("/");
	var DtFim = new Date(vtDataFim[2], vtDataFim[1]-1, vtDataFim[0])
	DiffDays = Math.round((Date.parse(DtFim) - Date.parse(DtInicio)) / (1000*60*60*24));
	
	//DiffDays = Math.round((Date.parse(strDt2) - Date.parse(strDt1)) / (1000*60*60*24));
	//alert("DiffDays: " + DiffDays);
	return DiffDays;		
}

/*********************************************
'##  FormataDataJS(String dt)
'##  Retorna a data para o formato JS
'##  dias - Formato das datas: DD/MM/AAAA
*********************************************/
function FormataDataJS(dt){
	var ArrMonth = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	var dDt1, mDt1, yDt1;
	
	vtDt1 = dt.split("/");
	dDt1 = parseInt(vtDt1[0]);
	mDt1 = parseInt(vtDt1[1]);
	yDt1 = parseInt(vtDt1[2]);
	
	strDt1 = ArrMonth[mDt1 - 1] + " " + dDt1 + ", " + yDt1;
	return Date.parse(strDt1);
}

/*********************************************
'##  FormatTodDoubleJS(String campo)
'##  Retorna campo formatado para double (x.xxx,xx)
*********************************************/
function FormatToDoubleJS(campo){
	var strTmp = new String(campo);
	return strTmp.replace(".", "").replace(",", ".");
}

/*********************************************
'##  FormatTodDoubleString(String campo)
'##  Retorna campo formatado para double (xxxx.xx)
*********************************************/
function FormatToDoubleString(campo){
	var strTmp = new String(campo);
	return strTmp.replace(".", ",");
}



/*********************************************
'##  PulaCampo_OnKeyUp(int QtdeCarac, Object cOr, Object cDest)
'##  Pula para o próximo campo informado
*********************************************/
function PulaCampo_OnKeyUp(QtdeCarac, cOr, cDest){
	var Tam = cOr.value.length;
	if(Tam == QtdeCarac){
		cDest.focus();		
	}
}

function Del(NomePag, Id){
	if(window.confirm("Deseja relamente excluir esse registro?")){
		window.location.href=NomePag + "?ac=del&id=" + Id;		
	}
}


function AbreJan(Arquivo, Target, Opcoes){
	var Jan = window.open(Arquivo, Target, Opcoes);
	Jan.focus();
}

function CheckCampos(oF, vtCampos, vtMsg){
	var msgErro = "";
	for(i=0;i<=vtCampos.length - 1;i++){
		if(document.forms[oF].elements[vtCampos[i]].value == ""){
			msgErro += vtMsg[i] + "\n";
		}
	}
	return msgErro;
}


//Verifica se pelo menos 1 cehckbox foi selecionado
function checkChk(campo){
	if(typeof(campo.length) != "undefined"){
		for(i=0;i<=campo.length-1;i++){
			if(campo[i].checked){
				return true;
				break;
			}
		}
	}else{
		if(campo.checked){
			return true;
		}
	}
	return false;
}
function isContValido(nomeForm, nomeCampo, nroDig){
	if(document.forms[nomeForm].elements[nomeCampo].value == ""){
		return true;
	}else{
		var c = document.forms[nomeForm].elements[nomeCampo].value;
		if(c.length < nroDig){
			return false;
		}
		return true;
	}
}

function setAlt(){
/*
	if(parent.document.all("exe") != null){
		parent.document.all("exe").height = 400;
		if(document.body.scrollHeight > 400){
			parent.document.all("exe").height = document.body.scrollHeight + 5;
		}
	}*/
}

function searchCad(op, p){
	if(p == ""){
		alert("Informe o registro que deseja buscar");
	}else{
		AbreJan("sel_cliente.jsp?p=" + p + "&op=" + op, "search", "width=750, height=400, scrollbars=1");
	}
}

function getElementsById(sId)
 {
    var outArray = new Array();	
	if(typeof(sId)!='string' || !sId)
	{
		return outArray;
	};
	
	if(document.evaluate)
	{
		var xpathString = "//*[@id='" + sId.toString() + "']"
		var xpathResult = document.evaluate(xpathString, document, null, 0, null);
		while ((outArray[outArray.length] = xpathResult.iterateNext())) { }
		outArray.pop();
	}
	else if(document.all)
	{
		
		for(var i=0,j=document.all[sId].length;i<j;i+=1){
		outArray[i] =  document.all[sId][i];}
		
	}else if(document.getElementsByTagName)
	{
	
		var aEl = document.getElementsByTagName( '*' );	
		for(var i=0,j=aEl.length;i<j;i+=1){
		
			if(aEl[i].id == sId )
			{
				outArray.push(aEl[i]);
			};
		};	
		
	};
	
	return outArray;
 }
 
 
function icon(Arq){
	var ext = Arq.substring(Arq.lastIndexOf(".") + 1);

	if(ext == "gif" || ext == "jpg" || ext == "bmp" || ext == "jpeg"){
		return "img.gif";
	}else if(ext == "doc"){
		return "doc.gif";
	}else if(ext == "xls"){
		return "xls.gif";
	}else if(ext == "pdf"){
		return "pdf.gif";
	}else{
		return "desc.gif";
	}
}


function addLinha(nomeTB, vtValores, vtAlign){
	//var tabela = window.opener.document.getElementById(nomeTB);
	var tabela = nomeTB;
	var newRow = tabela.insertRow(tabela.rows.length);
	//newRow.style.cursor = "pointer";
	//newRow.onclick = function(){eval(slink);}
	//alert(vtValores);
	for(var i=0;i<=vtValores.length-1;i++){
		var c = newRow.insertCell(i);
		c.align = vtAlign[i];
		c.innerHTML = vtValores[i];
	}
}
function limpaTB(tab){
	//var tab = window.opener.document.getElementById("lstArq");
	for(i=tab.rows.length-1;i>0;i--){
		tab.deleteRow(i);
	}
}
function setTitulo(Tit){
	parent.document.getElementById("tit_tela").innerHTML = Tit;
}




/*********************************************
'##  getCamposValores(Strinb formName)
'##  Retorna a relação de campos de valores no formato campo=valor
*********************************************/
function getCamposValores(formName){
	var str = "";
	for(var i=0;i<=document.forms[formName].elements.length-1;i++){
		if(str != ""){
			str += "&";
		}
		str += document.forms[formName].elements[i].name + "=" + document.forms[formName].elements[i].value;
	}
	return str;
}

function redirPortal(obj, pRedir, novaJan){
	var form = null;
	var action = null;
        
	if(typeof(obj.form) == "undefined"){
		form = obj;
	}else{
		form = obj.form;
	}
        //alert(pRedir);
	form.target = "";
	if(typeof(novaJan) != "undefined"){
		form.target = "_blank";
	}
	//alert(pRedir);
        action = form.action;
	form.action = "do/subportais_redir?p=" + pRedir;
	form.submit();
        form.action = action;
        form.target = "";
}

function getCheckedValue(radioObj) {
        if(!radioObj){
                return "";
        }
        var radioLength = radioObj.length;
        if(radioLength == undefined){
                if(radioObj.checked){
                        return radioObj.value;
                }
                else{
                        return "";
                }
        }
        for(var i = 0; i < radioLength; i++){
                if(radioObj[i].checked){
                        return radioObj[i].value;
                }
        }
        return "";
}

function setCheckedValue(radioObj, newValue) {
	if(!radioObj){
		return;
        }
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

/**
 * Função para uso do ajax
 *
 * Autor: José Alonso Soler Filho
 */
function pesquisar(formName,url,divConteudo,divMsg) {
    //Serializa o formulário com uma função do Jquery
    var form = document.getElementsByName(formName);
    var params = $(form).serialize();
    requestAjax(url,"?"+params,divConteudo,divMsg);
}

/**
 * Função que recebe como parâmetro a url de consulta, o parâmetro informado
 * pelo usuário, o nome da div que exibirá a lista e o nome da div que contém
 * a informação que a página está carregando, e chama a função MostrarLista.
 *
 * Autor: José Alonso Soler Filho
*/
function requestAjax(url, param, divConteudo, divMsg){
    $.ajax({
        url: url+param,
        cache: false,
        beforeSend: function(){
            document.getElementById(divConteudo).style.display = 'none';
            document.getElementById(divMsg).style.display = 'inline';
        },
        error: function(transport){
            alert(transport);
        },
        success: function(transport){
            var testeValidacao = transport.match(/intranet.php/);
            if (testeValidacao != null){ 
                alert('Sua sessão pode ter expirado ou você não tem permissão para acessar este Aplicativo.\nPor favor, conectar novamente na Intranet.');
                top.document.location.href = "http://www.riopreto.sp.gov.br/servicos/intranet/php/intranet.php";
                self.blur();
                window.parent.close();
            } else {
            
                if (document.getElementById('erros') != null) {
                    document.getElementById('erros').style.display = 'none';
                }
                
                if (transport.match(/erros/) != null) {
                    var elemento = $(transport);
                    var divErros = $('#erros', elemento);
                    
                    $('form').prepend(divErros);
                    
                    document.getElementById(divMsg).style.display = 'none';
                    
                }else {
                    MostrarLista(transport,divMsg,divConteudo);
                }
            }
        }
    });     
}

/**
 * Função que insere a jsp de retorno na div correspondente e esconde a div de 
 * mensagem.
 *
 * Autor: José Alonso Soler Filho
*/
function MostrarLista(transport, divMsg, divConteudo){
    document.getElementById(divConteudo).innerHTML = transport;
    document.getElementById(divMsg).style.display = 'none';
    document.getElementById(divConteudo).style.display = 'inline';
}


/**
 * Função que recebe o valor da lista, verifica se existem campos e seta-los com os valores
 * recebidos.
 *
 * Autor: José Alonso Soler Filho
*/
function passBack(valor,id) { 
    //campoExisteParent('tituloMidia', valor);
    //campoExisteParent('idMidia', id);
    window.parent.document.EdicaoForm.tituloMidia.value = valor;
    window.parent.document.EdicaoForm.idMidia.value = id;

    //Fecha janela ajax
    parent.$.fancybox.close();
} 

/**
 * Função que verifica se os campos passados existem no formulário pai
 * 
 * Autor: José Alonso Soler Filho
*/
function campoExisteParent(campo, valor){
    // verifica se o campo existe
    if (window.parent.document.getElementById(campo) != null) {
        setaValorParent(campo, valor);
    }
}

/**
 * Função que insere o valor no campo do formulário pai 
 *
 * Autor: José Alonso Soler Filho
*/
function setaValorParent(campo,valor){    
    window.parent.document.getElementById(campo).value = valor;    
}

/*
 * Esta função troca a classe CSS do elemento passado como parâmetro
 *
 */
function trocaCSS(obj,classe) {
    obj.className = classe;
}
