// JavaScript Document


// CSS Browser Selector   v0.2.5
// Documentation:         http://rafael.adm.br/css_browser_selector
// License:               http://creativecommons.org/licenses/by/2.5/
// Author:                Rafael Lima (http://rafael.adm.br)
// Contributors:          http://rafael.adm.br/css_browser_selector#contributors
var css_browser_selector = function() {
	var 
		ua=navigator.userAgent.toLowerCase(),
		is=function(t){ return ua.indexOf(t) != -1; },
		h=document.getElementsByTagName('html')[0],
		b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):is('gecko/')? 'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',
		os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';
	var c=b+os+' js';
	h.className += h.className?' '+c:c;
}();



function init() {
	createExternalLinks();
}

// FORÇA LINKS A ABRIREM EM UMA NOVA JANELA
//******************************************************************************
// A W3C não aceita mais o atributo "target" em links (tag <a>) em doctypes XHTML 1.0 Strict
// A fução baixo faz com que todos os links que possuem rel="externo" no link, abram em outra janela conforme no exemplo abaixo:
// EXEMPLO:
//******************************************************************************
//<a href="index.php" title="Link de Exemplo" rel="externo">

/* Para chamar a função, insira no body  == <script type="text/javascript">createExternalLinks();</script>  */

function createExternalLinks() {
    if(document.getElementsByTagName) {
        var anchors = document.getElementsByTagName('a');
        for(var i=0; i<anchors.length; i++) {
            var anchor = anchors[i];
            if(anchor.getAttribute("href") && anchor.getAttribute('rel')=='externo') { // <-- É necessário inserir rel="externo" no link
                anchor.target = '_blank';
                var title = anchor.title + ' (Este link abre uma nova janela)'; // <-- Insere este texto no final do Title do link
                anchor.title = title;
            }
        }
    }
}

// **********************************************************************
// ********************** Unobtrusive Javascript ************************
// **********************************************************************

// Esta função "chama" todas as funções usadas em um documento.
//========================================================
// Event Listener by Scott Andrew - http://scottandrew.com
// edited by Mark Wubben, <useCapture> is now set to false
//http://simon.incutio.com/archive/2004/05/26/addLoadEvent
//========================================================
function addEvent(obj, evType, fn){
    if(obj.addEventListener){
        obj.addEventListener(evType, fn, false);

        return true;

    } else if (obj.attachEvent){
        var r = obj.attachEvent('on'+evType, fn);

        return r;

    } else {
        return false;

    }
}

addEvent(window, "load", init);

// **********************************************************************
// **************** Funções gerais para usos diversos *******************
// **********************************************************************


// Faz sumir ou aparecer um script trocando a propriedade display do elemento
function showHide(id,op) {
	if(op == 'show')
		document.getElementById(id).style.display = 'block';
	else
		document.getElementById(id).style.display = 'none';	
}

// Faz sumir ou aparecer um DIV com Appear/Fade do scriptaculous
function showHideFade(id,op) {
	if(op == 'show')
		Effect.Appear(id); 
	else
		Effect.Fade(id);	
}

// Faz sumir ou aparecer um DIV com Appear/Puff do scriptaculous
function showHideGrow(id,op) {
	if(op == 'show')
		Effect.Appear(id); 
	else
		Effect.Shrink(id);	
}

function msgAlerta(classe,msg) {
	var div = $('alert');
	if(msg != "")
		div.innerHTML = msg;

	if(classe == 0)
		classe = "messageSucess";
	if(classe == 1)
		classe = "messageWarning";
	if(classe == 2)
		classe = "messageInfo";		
		
	div.className = classe;
	showHideFade("alert","show");	
	
	setTimeout("showHideFade('alert','hide')",6000);
}

function abreJanela() {
	showHideGrow('msg','show');
	showHide('overlay','show');
}

function fechaJanela() {
	showHideGrow('msg','hide');
	showHide('overlay','hide');
}

// Pega o valor de um determinado radio group
function selectedRadio(radios) {
	var val = 0;
	for( i = 0; i < radios.length; i++ )
	{
		if( radios[i].checked == true )
			val = radios[i].value;
	}
	return val;	
}

/*
// ##############################################################################################################
// XAJAX
xajax.loadingFunction = 
	function(){xajax.$('loadingMessage').style.display='block';};
function hideLoadingMessage()
{
	xajax.$('loadingMessage').style.display = 'none';
}
xajax.doneLoadingFunction = hideLoadingMessage;

imgLoader = new Image;
imgLoader.src = "/adm/img/loader.gif";

// ##############################################################################################################
// XAJAX LOADING
xajax.loadingFunction = function(){xajax.$('loadingMessage').style.display='block'; xajax.$('overlay').style.display='block';};
function hideLoadingMessage() { xajax.$('loadingMessage').style.display = 'none';	xajax.$('overlay').style.display = 'none'; }
xajax.doneLoadingFunction = hideLoadingMessage;
imgLoader = new Image;
imgLoader.src = "/cms/img/loader.gif";

// ##############################################################################################################
*/
/*
// FCKeditor
function getEditorValue( instanceName )
{
  // Get the editor instance that we want to interact with.
  var oEditor = FCKeditorAPI.GetInstance( instanceName ) ;

  // Get the editor contents as XHTML.
  return oEditor.GetXHTML( true ) ;  // "true" means you want it formatted.
}

// called on save
function doSave(){
       // alert('Saved.');
       submit_form(document.cadastro,Array('html'))
       return false; //this disables default action (submitting the form)
}

// called on save
function doSaveNoticias(){
       // alert('Saved.');
       submit_formNoticia(document.cadastro,Array('html'))
       return false; //this disables default action (submitting the form)
}

// called when FCKeditor is done starting..
function FCKeditor_OnComplete( editorInstance ){
        editorInstance.LinkedField.form.onsubmit = doSave;
}

function submit_form(frm,rt_editors)
{
     if (arguments.length > 1) {
          for (var i = 0; i < rt_editors.length; i++)
          {
               var val = getEditorValue(rt_editors[i]);
               frm.elements[rt_editors[i]].value = val;
          }
     }
     xajax_request('Conteudo','alterar',xajax.getFormValues(frm));
     return false;
}

function submit_formNoticia(frm,rt_editors)
{
     if (arguments.length > 1) {
          for (var i = 0; i < rt_editors.length; i++)
          {
               var val = getEditorValue(rt_editors[i]);
               frm.elements[rt_editors[i]].value = val;
          }
     }
     xajax_request('Noticia','alterar',xajax.getFormValues(frm));
     return false;
}
*/

function getEditorValue( instanceName )
{
  // Get the editor instance that we want to interact with.
  var oEditor = FCKeditorAPI.GetInstance( instanceName ) ;

  // Get the editor contents as XHTML.
  return oEditor.GetXHTML( true ) ;  // "true" means you want it formatted.
}

function submit_form(frm,rt_editors)
{
     if (arguments.length > 1) {
          for (var i = 0; i < rt_editors.length; i++)
          {
               var val = getEditorValue(rt_editors[i]);
               frm.elements[rt_editors[i]].value = val;
          }
     }
     xajax_request('Conteudo','alterar',xajax.getFormValues(frm));
     return false;
}

function submit_formNoticia(frm,rt_editors)
{

     if (arguments.length > 1) {
          for (var i = 0; i < rt_editors.length; i++)
          {
               var val = getEditorValue(rt_editors[i]);
               frm.elements[rt_editors[i]].value = val;
          }
     }
     
		 xajax_request('Noticias','inserir',xajax.getFormValues(frm));
		 
     return false;
}

function submit_formNoticiaEditar(frm,rt_editors)
{
     if (arguments.length > 1) {
          for (var i = 0; i < rt_editors.length; i++)
          {
               var val = getEditorValue(rt_editors[i]);
               frm.elements[rt_editors[i]].value = val;
          }
     }
     xajax_request('Noticias','alterar',xajax.getFormValues(frm));
     return false;
}

function submit_formGeral(frm,module,action)
{
	 val = getEditorValue('html');
	 frm.elements['html'].value = val;
	 
	 xajax_request(module,action,xajax.getFormValues(frm));
	 
	 return false;
}

function adicionarCampo(campo) {
  var input = document.createElement("input");
	input.type = "text";
  input.name = campo+"[]";
	input.class = "cadastro_input";
	
  $('campos_'+campo).appendChild(input);
	$('campos_'+campo).appendChild(document.createElement("br"));
}