
var menuEscondido = 0;
var IE = document.all ? true:false;
var __inicializar = '';
var botaoDesabilitar = null;
var janelaFechar     = null;
var redirecionar     = null;
var _loadingAjax     = 0;

var _x = 0;
var _y = 0;
function moveMouse(e)
{
	_x = IE ? event.x + document.body.scrollLeft : e.pageX;
	_y = IE ? event.y + document.body.scrollTop : e.pageY;

		$('div_loading').style.left = (_x+10)+'px';
		$('div_loading').style.top  = (_y+10)+'px';
}

document.onmousemove = moveMouse;

/**
* Função para iniciar uma Form e suas mascaras
*
* @param string nome_form
* @param array  a_campos
*
*/
function iniciar_form(  nome_form, a_campos  )
{
	//seta as opções da validação ( desabilitar botões, alerta de erro, etc.
	o_config = {'to_disable' : ['Submit', 'Reset'],'alert' : 1};

	//iniciando validador do form
	var v = new validator( nome_form, a_campos, o_config );

	//colocando a mascara
	for( var n_key in a_campos )
	{
		if( a_campos[n_key]['f'] == 'moeda' )
		{
			oStringMask = new Mask( '', a_campos[n_key]['f'] );
			oStringMask.attach( document.getElementById( n_key ) );
		}
		else
		{
			if( a_campos[n_key]['mascara'] )
			{
				oStringMask = new Mask( a_campos[n_key]['mascara'] );
				oStringMask.attach( document.getElementById( n_key ) );
			}
		}
	}

	//colocando os helps
	for ( var n_key in a_campos )
	{
		if( a_campos[n_key]['help'] )
		{
			try
			{
				campo = document.getElementById( n_key );
				campo.title = a_campos[n_key]['help'];
			}
			catch(e)
			{
				alert('Atenção, problema com o campo: '+n_key);
			}
		}
	}
	return v;
}


/**
* Função para encodificar uma URL String
*
*/
function URLencode( sStr )
{
	return escape( sStr ).replace( /\+/g, '%2C' ).replace( /\"/g,'%22' ).replace( /\'/g, '%27' );
}


/**
* Função para mostrar/esconder um Layer/Objeto
*
* @param object elemento
* @author Paulo S. M. Marques
* since 13/10/2006
*/
function mostrarLayer( elemento, display )
{
	if(display == 1)
	{
		elemento.style.display = ( elemento.style.display == 'none' ) ? 'block' : 'none';
	}
	else
	{
		elemento.style.visibility = ( elemento.style.visibility == 'visible' || elemento.style.visibility == '' ) ? 'hidden' : 'visible';
	}

}


/**
* Função para remover os espaços de uma string
*
*/
function trim( str )
{
	return str.replace( /^\s*|\s*$/g,"" );
}


/**
* Função para deixar uma DIV draggable (arrastando)
*
* @param		object		titulo  -> 'objeto por onde vai ser movido'
* @param		object		div     -> 'objeto' (root)
*/
function dragDiv(titulo,div)
{
	new Draggable(div,{ handle: titulo, starteffect: '', endeffect: '' });
}



/**
* Função para exibir uma aba e se existir o objeto _conteudo
* irá mostrar (display: block)
*
* @param		objeto		-> 'objeto da aba'
*/
function carregarAba(obj)
{
	var abas = $('abas').getElementsByClassName("aba");

	for(i=0; i< abas.length; i++)
	{
		if(abas[i].id == obj.id)
		{
			//obj.style.background = 'url(../templates/padrao/imagens/aba2.gif)';
			abas[i].style.background = 'url(../templates/padrao/imagens/aba2.gif)';

			if($(obj.id+'_conteudo'))
				$(obj.id+'_conteudo').show();

		}
		else
		{
			if(abas[i].style.background == 'url(../templates/padrao/imagens/aba1.gif)')
				continue;

			abas[i].style.background = 'url(../templates/padrao/imagens/aba1.gif)';

			if($(abas[i].id+'_conteudo'))
				$(abas[i].id+'_conteudo').hide();
		}
	} //end for
}


/**
* Clone da função do PHP number_format()
*
* @param		int/string		-> Numero ao qual se quer formatar
* @param		int				-> Numero de casas decimais
* @param		string			-> Separador decimal
* @param		string			-> Separador Milheiro
* @return 		string
*/
function number_format(number, decimals, dec_point, thousands_sep)
{
	var exponent  = "";
	var numberstr = number.toString ();
	var eindex    = numberstr.indexOf ("e");

	if(numberstr.match(',') && numberstr.match('.')) {
		return numberstr;
	}

	if (eindex > -1)
	{
		exponent = numberstr.substring (eindex);
		number = parseFloat (numberstr.substring (0, eindex));
	}

	if (decimals != null)
	{
		var temp = Math.pow (10, decimals);
		number   = Math.round (number * temp) / temp;
	}

	var sign       = number < 0 ? "-" : "";
	var integer    = (number > 0 ?	Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
	var fractional = number.toString().substring (integer.length + sign.length);

	dec_point  = dec_point != null ? dec_point : ".";
	fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";

	if (decimals != null && decimals > 0)
	{
		for (i = fractional.length - 1, z = decimals; i < z; ++i)
		fractional += "0";
	}

	thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? thousands_sep : null;

	if (thousands_sep != null && thousands_sep != "")
	{
		for (i = integer.length - 3; i > 0; i -= 3)
		integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
	}

	return sign + integer + fractional + exponent;
}


function esconderMenu()
{
	tamanho  = parent.document.getElementById('meioFrame').offsetWidth;

	if(menuEscondido == 0)
	{
		parent.document.getElementById('meioFrame').cols = '5,*';
		menuEscondido = 1;
		$('splitter').src = $('splitter').src.replace('_esq','_dir');
	}
	else
	{
		parent.document.getElementById('meioFrame').cols = '200,*';
		menuEscondido = 0;
		$('splitter').src = $('splitter').src.replace('_dir','_esq');
	}
}


function esconderTopo()
{
	tamanho  = parent.document.getElementById('topoFrame').offsetWidth;

	if(menuEscondido == 0)
	{
		parent.document.getElementById('topoFrame').rows = '6,*';
		menuEscondido = 1;
		$('splitter').src = $('splitter').src.replace('_up','_down');
		$('splitter').style.top    = '0px';
	}
	else
	{
		parent.document.getElementById('topoFrame').rows = '100,*';
		menuEscondido = 0;
		$('splitter').src = $('splitter').src.replace('_down','_up');
		$('splitter').style.top    = '93px';
	}
}


/**
* Função para travar uma listbox...
*
*/
function travarCampo(filtro)
{
	if(filtro != '')
	{
		try
		{
			tmpvar = (filtro.substr(filtro.indexOf('.')+1));
			campo  = tmpvar.substr(0,tmpvar.indexOf('='));
			valor  = tmpvar.substr(tmpvar.indexOf('=')+1);

			$(campo).value = valor;
			$(campo).onchange = function() { this.value=valor; };
		}
		catch(err) {alert('erro: '+err); }
	}
}

/**
* Função para postar os dados de um formulario através de ajax assim o usuário não perderá os dados do formulario!
*
* @param string page	-> Página parao qual irá o post!
* @param object form   -> Formulário que irá para o post!
* @param object botao  -> Botão para desabilitar/habilitar...
* @param object janela -> Janela a ser fechada...
*/
function enviarForm(page, form, botao, janela, redir)
{
	form   = $(form);

	//FIX the FCKEDITOR + AJAX problems...
	try
	{
		for(i=0; i<form.length; i++)
		{
			if(form[i].type == 'textarea')
			{
				try
				{
					form[i].value = FCKeditorAPI.GetInstance(form[i].name).GetXHTML();
				}
				catch(e) { }
			}
		}
	}
	catch(e) { }

	if(v.exec())
	{
		if(botao) {
			//Desabilito o botao para o usuario nao enviar 2 vezes a requisicao...
			botaoDesabilitar = botao.id;
			botao.disabled   = true;
			janelaFechar     = janela;
		}

		redirecionar     = redir ? redir : 1;

		params = form.serialize();
		new Ajax.Request(page, {parameters: params, encoding: 'UTF-8', onComplete:enviarFormBack});
	}
}
function enviarFormBack(e, a)
{
	res = e.responseText;

	if(res == 'ok')
	{
		alert('Operação realizada com sucesso!');
		if(botaoDesabilitar && $('acao').value != 'insert') {
			$(botaoDesabilitar).disabled = false;
		}
		else {
			if(res == 'ok') {
				if(redirecionar == 1)
					history.go(-1);
			}
		}

		if(janelaFechar)
			janelaFechar.close();
	}
	else
	{
		alert('Não foi possivel executar a operação, por favor verifique os dados!\n\n'+res);

		if(botaoDesabilitar)
			$(botaoDesabilitar).disabled = false;

	}

}


/**
* Abre o gerenciador de arquivos do FCKeditor
*
* Permite ao usuário fazer o upload de arquivos, imagens, flashs, etc..
*/
function openFileBrowser(tipo)
{
	 var path = "../libs/fckeditor/editor/filemanager/browser/pgrfilemanager/PGRFileManager.php?langCode=pt-br";
	switch(tipo){
		case 'imagem':
			jan = window.open(path+"&type=Image",'Arquivos','width=820,height=550,left=300,top=100');
			break;
		case 'flash':
			jan = window.open(path+"&type=Flash",'Arquivos','width=820,height=550,left=300,top=100');
			break;
		
		case 'icon':
			jan = window.open(path+"&type=Icon",'Arquivos','width=820,height=550,left=300,top=100');
			break;

		default:
			jan = window.open(path,'Arquivos','width=820,height=550,left=300,top=100');
	}
	jan.focus();
}

function openColorPicker(fckeditor,adicionais)
{
	jan = window.open('../libs/fckeditor/editor/dialog/fck_colorselector.html?fckeditor_off='+fckeditor+'&'+adicionais,'ColorPicker','width=400,height=250,left=300,top=100');
	jan.focus();
}

//Funções relativas ao sistema de CHAT....
function chatNewChat(id)
{
	jan = window.open('admin/cha_chat_cad.php?chat=new&sys_usuarios_id='+id,'Atendimento','width=520,height=400,left=300,top=100,scroll=auto');
	jan.focus();
}

function chatAskAccept(id)
{
	jan = window.open('cha_chat_cad.php?cha_chat_id='+id+'&acao=ask','AskAccept'+id,'width=520,height=400,left=300,top=100,scroll=auto');
	jan.focus();
}

function chatNewMsg(id)
{
	jan = window.open('cha_mensagem_cad.php?sys_usuarios_id_rcpt='+id,'Chat'+id,'width=400,height=250,left=300,top=100,scroll=auto');
	jan.focus();
}
function chatReadMsg(id)
{
	jan = window.open('cha_mensagem_cad.php?cha_mensagem_id='+id,'Chat'+id,'width=400,height=250,left=300,top=100,scroll=auto');
	jan.focus();
}
function chatDelMsg(id)
{
	params = { 'acao':'delete', 'cha_mensagem_id':id };
	new Ajax.Request('cha_mensagem_cad.php', {parameters: params });
}
//-----------------------------------------------------------------------


function exibir_submenu(elem)
{
	try
	{
		$(elem).show();
	}
	catch(e)
	{ }
}

function esconder_submenu(elem)
{
	try
	{
		var xxx=function(){ try{ $(elem).hide(); } catch(e){} };
		setTimeout(xxx,5000);
	}
	catch(e)
	{ }

}

function img_refresh(obj)
{
	var tmp = obj.src;

	if(tmp.search(/\?/))
		obj.src = obj.src + '&tmp=' + Math.random();
	else
		obj.src = obj.src + '?tmp=' + Math.random();
}

function portal_vota_enquete(captcha, voto)
{
	opcoes = document.getElementsByClassName('enq_resposta');
	achei  = 0;

	for(i=0; i<opcoes.length; i++)
	{
		if(opcoes[i].checked == true)
			achei = 1;
	}
	if(achei == 0)
	{
		alert('É obrigatório a seleção de uma opção!');
		return false;
	}

	if(captcha)
	{
		if(!$F('enq_captcha'))
		{
			alert('O código de segurança é obrigatório!');
			$('enq_captcha').focus();
			return false;
		}
	}

	params = $('frm_enquete').serialize();

	new Ajax.Request('?acao=105', { parameters: params, onComplete: function(e){
																	res = e.responseText;

																	if(res == 'ok')
																	{
																		if(captcha)
																			img_refresh($('img_captcha'));

																		alert('Seu voto foi computado com sucesso, obrigado por participar!');
																	}
																	else
																	{
																		alert('Erro: '+res);
																	}
	 }});
}

function portal_resultado_enquete()
{
	location = '?acao=106';
}

function $RF(reid) {
	alert($$(reid).length);
}

/**
* Função para exibir uma aba e se existir o objeto _conteudo
* irá mostrar (display: block)
*
* @param		objeto		-> 'objeto da aba'
*/
function portal_carregar_aba(obj)
{
	var abas = $('abas').getElementsByClassName("aba");

	for(i=0; i< abas.length; i++)
	{
		if(abas[i].id == obj.id)
		{
			abas[i].className = 'aba aba_selecionada';
			//abas[i].style.background = _portal_aba_sel_cor;

			if($(obj.id+'_conteudo'))
				$(obj.id+'_conteudo').show();
		}
		else
		{
			if(abas[i].className == 'aba')
				continue;

			//abas[i].style.background = _portal_aba_cor;
			abas[i].className = 'aba';

			if($(abas[i].id+'_conteudo'))
				$(abas[i].id+'_conteudo').hide();
		}
	} //end for

	try {
		var myBoxObject = new curvyCorners(round_1, "aba");
		myBoxObject.applyCornersToAll();

		var myBoxObject = new curvyCorners(round_1, "aba aba_selecionada");
		myBoxObject.applyCornersToAll();
	} catch(e) { }
}

function portal_buscar_palavra(palavra)
{
	if(palavra.length < 2)
	{
		alert('Para efetuar a busca, é necessário informar ao menos uma palavra!');
		document.getElementById('palavra').focus();
		return false;
	}

	location = '?acao=101&palavra='+palavra;
}

function portal_login_site(num)
{
	if(num)
	{
		if($F('txtlogin'+num) == '' || $F('txtlogin'+num) == 'Login' || $F('txtsenha'+num) == '' || $F('txtsenha'+num) == 'senha')
		{
			alert('É necessário especificar o login e a senha!');
			return false;
		}

		$('login').value = encode64($('txtlogin'+num).value);
		$('senha').value = encode64($('txtsenha'+num).value);

		$('frm_s_login').submit();
	}
	else
	{
		if($F('txtlogin') == '' || $F('txtlogin') == 'Login' || $F('txtsenha') == '' || $F('txtsenha') == 'senha')
		{
			alert('É necessário especificar o login e a senha!');
			return false;
		}

		$('login').value = encode64($('txtlogin').value);
		$('senha').value = encode64($('txtsenha').value);

		$('frm_s_login').submit();
	}
}

function abreAjuda(pagina)
{
	ajuda = window.open('http://www.contactweb.com.br/site/admin/sys_help_cad.php?acao=viewhelp&modulo='+pagina,'Ajuda','width=600,height=520,left=300,top=100,scrollbars=yes');
	ajuda.focus();
}


function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (
aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
}

function addOption(theSel, theText, theValue)
{
  var newOpt = new Option(theText, theValue);
  var selLength = theSel.length;
  theSel.options[selLength] = newOpt;
}

function deleteOption(theSel, theIndex)
{
  var selLength = theSel.length;
  if(selLength>0)
  {
    theSel.options[theIndex] = null;
  }
}

function moveOptions(theSelFrom, theSelTo)
{

  var selLength = theSelFrom.length;
  var selectedText = new Array();
  var selectedValues = new Array();
  var selectedCount = 0;

  var i;

  // Find the selected Options in reverse order
  // and delete them from the 'from' Select.
  for(i=selLength-1; i>=0; i--)
  {
    if(theSelFrom.options[i].selected)
    {
      selectedText[selectedCount] = theSelFrom.options[i].text;
      selectedValues[selectedCount] = theSelFrom.options[i].value;
      deleteOption(theSelFrom, i);
      selectedCount++;
    }
  }
   // Add the selected text/values in reverse order.
  // This will add the Options to the 'to' Select
  // in the same order as they were in the 'from' Select.
  for(i=selectedCount-1; i>=0; i--)
  {
    addOption(theSelTo, selectedText[i], selectedValues[i]);
  }

  if(NS4) history.go(0);
}

function clearOptions(OptionList) {
   // Always clear an option list from the last entry to the first
   for (x = OptionList.length; x >= 0; x--) {
      OptionList[x] = null;
   }
}

function loadPage(pagina) {
	var params = {'ajax':1};
	new Ajax.Updater('conteudo',pagina, {parameters: params, method: 'get', evalJS: true});
}

function loadPortletDollar() {
	new Ajax.Updater('cotacao_dolar_div','dollar.php');
}

//By Prototype
Ajax.Responders.register({
  onCreate: function()
  {
	 $('div_loading').style.display = 'inherit';
	 _loadingAjax = 1;
  },
  onComplete: function()
  {
	 $('div_loading').style.display = 'none';
	 _loadingAjax = 0;
  },
  onError: function() {
	 $('div_loading').style.display = 'none';
	 _loadingAjax = 0;
  }
});


function getRadioValue(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 setRadioValue(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;
		}
	}
}

function checkPopupBlocker() {
	 var mine = window.open('','','width=1,height=1,left=0,top=0,scrollbars=no');
	 if(mine) {
	    var popUpsBlocked = false;
	 } else {
	    var popUpsBlocked = true;
	 }

	 mine.close();

	 return popUpsBlocked;
}

function msgConfirma() {
	if($('forma_pagto_pagseguro').checked) {
		if(confirm('Tem certeza que deseja finalizar este pedido?\nVocê será redirecionado para o site do pagseguro para efetuar o pagamento!'))
			salvarPedido();
	} else {
		if(confirm('Tem certeza que deseja finalizar este pedido?'))
			salvarPedido();
	}
}