// Fechar a div automaticamente depois de um certo tempo!
i=1
function fechaDiv(div) {
    i++;
    if(i==7) {
        document.getElementById('infoPanel').style.display='none';
    }
    setTimeout("fechaDiv()",1000);
}

// -------------------------------------------------------------------------------

// Verificar os links dos serviços e abri-los
function openServiceLink(lnk) {
    if (lnk) {
        window.open(lnk);
    //        window.self.location.href = options[selectedIndex].value;
    } else {
        alert('Desculpe-nos, Link indisponível no momento!');
    }
}
// -------------------------------------------------------------------------------

// Relógio
function show5(){
    if (!document.layers&&!document.all&&!document.getElementById) {
        return;
    }

    /*
	 Cria as variáveis da data que serão utilizadas para gerar a hora.
	*/
    var Digital=new Date();
    var hours=Digital.getHours();
    var minutes=Digital.getMinutes();
    var seconds=Digital.getSeconds();

    /*
	 Função para exibir 0 na frente da hora caso ela seja
	 maior que 0h e menor que 10h.
	*/
    if (hours>=0&&hours<10){
        hours="0"+hours;
    }

    /*
	 Função para exibir 0 na frente do minuto caso ele seja
	 maior ou igual que 9m.
	*/
    if (minutes<=9){
        minutes="0"+minutes;
    }

    /*
	 Função para exibir 0 na frente do segundo caso ele seja
	 maior ou igual que 9s.
	*/
    if (seconds<=9){
        seconds="0"+seconds;
    }

    /*
	 Define o tipo de fonte e o tamanho da mesma,
	 essa função é a que exibe na tela
	*/
    myclock=hours+":"+minutes+":"+seconds;

    if (document.layers){
        document.layers.liveclock.document.write(myclock);
        document.layers.liveclock.document.close();
    }
    else if (document.all){
        liveclock.innerHTML=myclock;
    }
    else if (document.getElementById){
        document.getElementById("liveclock").innerHTML=myclock;
    }
    setTimeout("show5()",1000);
}

//Fim Relógio

//------------------------------------------------------------------------------

// Aumenta e diminua a fonte dos textos da noticia.
var min=8;
var def=11;
var max=24;
function increaseFontSize(el) {
    var div = document.getElementById(el);
    
    var d = div.getElementsByTagName('div');
    for(i=0;i<d.length;i++) {
        if(d[i].style.fontSize) {
            var s = parseInt(d[i].style.fontSize.replace("px",""));
        } else {
            var s = 12;
        }
        if(s!=max) {
            s += 1;
        }
        d[i].style.fontSize = s+"px";
    }

    var p = div.getElementsByTagName('p');
    for(i=0;i<p.length;i++) {
        if(p[i].style.fontSize) {
            var s = parseInt(p[i].style.fontSize.replace("px",""));
        } else {
            var s = 12;
        }
        if(s!=max) {
            s += 1;
        }
        p[i].style.fontSize = s+"px";
    }

    var sp = div.getElementsByTagName('span');
    for(i=0;i<sp.length;i++) {
        if(sp[i].style.fontSize) {
            var s = parseInt(sp[i].style.fontSize.replace("px",""));
        } else {
            var s = 12;
        }
        if(s!=max) {
            s += 1;
        }
        sp[i].style.fontSize = s+"px";
    }
}

function decreaseFontSize() {
    menosFont(document.getElementById('tituloNoticia'));
    menosFont(document.getElementById('dataNoticia'));
    menosFont(document.getElementById('categoriaNoticia'));
    menosFont(document.getElementById('conteudoNoticia'));
    menosFont(document.getElementById('fonteNoticia'));

    function menosFont(x){
        if(x.style.fontSize) {
            var ftS = parseInt(x.style.fontSize.replace("px",""));
        } else {
            var ftS = 12;
        }
        if(ftS!=min) {
            ftS -= 1;
        }
        x.style.fontSize = ftS+"px";
    }

    var p = document.getElementsByTagName('p');
    for(i=0;i<p.length;i++) {
        if(p[i].style.fontSize) {
            var s = parseInt(p[i].style.fontSize.replace("px",""));
        } else {
            var s = 12;
        }
        if(s!=min) {
            s -= 1;
        }
        p[i].style.fontSize = s+"px";
    }

    var sp = document.getElementsByTagName('span');
    for(i=0;i<sp.length;i++) {
        if(sp[i].style.fontSize) {
            var s = parseInt(sp[i].style.fontSize.replace("px",""));
        } else {
            var s = 12;
        }
        if(s!=min) {
            s -= 1;
        }
        sp[i].style.fontSize = s+"px";
    }
}

function defaultFontSize() {
    aplFont(document.getElementById('tituloNoticia'));
    aplFont(document.getElementById('dataNoticia'));
    aplFont(document.getElementById('categoriaNoticia'));
    aplFont(document.getElementById('conteudoNoticia'));
    aplFont(document.getElementById('fonteNoticia'));

    function aplFont(x){
        if(x.style.fontSize) {
            var ftS = parseInt(x.style.fontSize.replace("px",""));
        } else {
            var ftS = 12;
        }
        if(ftS!=def) {
            ftS = 11;
        }
        x.style.fontSize = ftS+"px";
    }

    var p = document.getElementsByTagName('p');
    for(i=0;i<p.length;i++) {
        if(p[i].style.fontSize) {
            var s = parseInt(p[i].style.fontSize.replace("px",""));
        } else {
            var s = 11;
        }
        if(s!=def) {
            s = 11;
        }
        p[i].style.fontSize = s+"px";
    }

    var sp = document.getElementsByTagName('span');
    for(i=0;i<sp.length;i++) {
        if(sp[i].style.fontSize) {
            var s = parseInt(sp[i].style.fontSize.replace("px",""));
        } else {
            var s = 11;
        }
        if(s!=def) {
            s = 11;
        }
        sp[i].style.fontSize = s+"px";
    }
}

//-----------------------------------------------------------------------------

// Função para verificar se a variável é inteira ou nao!
function isInt(x) {
    var y=parseInt(x);
    if (isNaN(y)) {
        return false;
    } else {
        return true;
    }
}

//----------------------------------------------------------------------------

// Função para substituir caracteres especiais de html para rodar no JS
function html_escape(strIn) {
    var arr_procura = new Array('&aacute;', '&agrave;', '&atilde;', '&acirc;',
        '&auml;', '&otilde;', ' &ograve;', '&oacute;', '&egrave;',
        '&eacute;', ' &ecirc;', '&euml;', '&igrave;', '&iacute;', '&iuml;',
        '&ccedil;', '&Aacute;', '&Agrave;', '&Atilde;', '&Acirc;',
        '&Auml;', '&Otilde;', '&Ograve;', '&Ocirc;', '&Egrave;',
        '&Eacute;', '&Ecirc;', '&Euml;', '&Igrave;', '&Iacute;', '&Iuml;',
        '&Ccedil;', '&uacute;', '&Uacute;');
    var arr_troca = new Array('á', 'à', 'ã', 'â', 'ä', 'õ', 'ò', 'ó', 'è', 'é',
        'ê', 'ë', 'ì', 'í', 'ï', 'ç', 'Á', 'À', 'Ã', 'Â', 'Ä', 'Õ', 'Ò',
        'Ó', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Ï', 'Ç', 'ú', 'Ú');

    if(!isInt(strIn)){
        for (i = 0; i <= 33; i++) {
            var exp = "";
            var exp = new RegExp(arr_procura[i], 'g');
            strIn = strIn.replace(exp, arr_troca[i]);
        }
    }
    return strIn;
}

// -----------------------------------------------------------------------------
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

function get_html_translation_table (table, quote_style) {
    // Returns the internal translation table used by htmlspecialchars and htmlentities
    //
    // version: 909.322
    // discuss at: http://phpjs.org/functions/get_html_translation_table
    // +   original by: Philip Peterson
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: noname
    // +   bugfixed by: Alex
    // +   bugfixed by: Marco
    // +   bugfixed by: madipta
    // +   improved by: KELAN
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // +      input by: Frank Forte
    // +   bugfixed by: T.Wild
    // +      input by: Ratheous
    // %          note: It has been decided that we're not going to add global
    // %          note: dependencies to php.js, meaning the constants are not
    // %          note: real constants, but strings instead. Integers are also supported if someone
    // %          note: chooses to create the constants themselves.
    // *     example 1: get_html_translation_table('HTML_SPECIALCHARS');
    // *     returns 1: {'"': '&quot;', '&': '&amp;', '<': '&lt;', '>': '&gt;'}

    var entities = {}, hash_map = {}, decimal = 0, symbol = '';
    var constMappingTable = {}, constMappingQuoteStyle = {};
    var useTable = {}, useQuoteStyle = {};

    // Translate arguments
    constMappingTable[0]      = 'HTML_SPECIALCHARS';
    constMappingTable[1]      = 'HTML_ENTITIES';
    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
    constMappingQuoteStyle[2] = 'ENT_COMPAT';
    constMappingQuoteStyle[3] = 'ENT_QUOTES';

    useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';

    if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
        throw new Error("Table: "+useTable+' not supported');
    // return false;
    }

    entities['38'] = '&amp;';
    if (useTable === 'HTML_ENTITIES') {
        entities['160'] = '&nbsp;';
        entities['161'] = '&iexcl;';
        entities['162'] = '&cent;';
        entities['163'] = '&pound;';
        entities['164'] = '&curren;';
        entities['165'] = '&yen;';
        entities['166'] = '&brvbar;';
        entities['167'] = '&sect;';
        entities['168'] = '&uml;';
        entities['169'] = '&copy;';
        entities['170'] = '&ordf;';
        entities['171'] = '&laquo;';
        entities['172'] = '&not;';
        entities['173'] = '&shy;';
        entities['174'] = '&reg;';
        entities['175'] = '&macr;';
        entities['176'] = '&deg;';
        entities['177'] = '&plusmn;';
        entities['178'] = '&sup2;';
        entities['179'] = '&sup3;';
        entities['180'] = '&acute;';
        entities['181'] = '&micro;';
        entities['182'] = '&para;';
        entities['183'] = '&middot;';
        entities['184'] = '&cedil;';
        entities['185'] = '&sup1;';
        entities['186'] = '&ordm;';
        entities['187'] = '&raquo;';
        entities['188'] = '&frac14;';
        entities['189'] = '&frac12;';
        entities['190'] = '&frac34;';
        entities['191'] = '&iquest;';
        entities['192'] = '&Agrave;';
        entities['193'] = '&Aacute;';
        entities['194'] = '&Acirc;';
        entities['195'] = '&Atilde;';
        entities['196'] = '&Auml;';
        entities['197'] = '&Aring;';
        entities['198'] = '&AElig;';
        entities['199'] = '&Ccedil;';
        entities['200'] = '&Egrave;';
        entities['201'] = '&Eacute;';
        entities['202'] = '&Ecirc;';
        entities['203'] = '&Euml;';
        entities['204'] = '&Igrave;';
        entities['205'] = '&Iacute;';
        entities['206'] = '&Icirc;';
        entities['207'] = '&Iuml;';
        entities['208'] = '&ETH;';
        entities['209'] = '&Ntilde;';
        entities['210'] = '&Ograve;';
        entities['211'] = '&Oacute;';
        entities['212'] = '&Ocirc;';
        entities['213'] = '&Otilde;';
        entities['214'] = '&Ouml;';
        entities['215'] = '&times;';
        entities['216'] = '&Oslash;';
        entities['217'] = '&Ugrave;';
        entities['218'] = '&Uacute;';
        entities['219'] = '&Ucirc;';
        entities['220'] = '&Uuml;';
        entities['221'] = '&Yacute;';
        entities['222'] = '&THORN;';
        entities['223'] = '&szlig;';
        entities['224'] = '&agrave;';
        entities['225'] = '&aacute;';
        entities['226'] = '&acirc;';
        entities['227'] = '&atilde;';
        entities['228'] = '&auml;';
        entities['229'] = '&aring;';
        entities['230'] = '&aelig;';
        entities['231'] = '&ccedil;';
        entities['232'] = '&egrave;';
        entities['233'] = '&eacute;';
        entities['234'] = '&ecirc;';
        entities['235'] = '&euml;';
        entities['236'] = '&igrave;';
        entities['237'] = '&iacute;';
        entities['238'] = '&icirc;';
        entities['239'] = '&iuml;';
        entities['240'] = '&eth;';
        entities['241'] = '&ntilde;';
        entities['242'] = '&ograve;';
        entities['243'] = '&oacute;';
        entities['244'] = '&ocirc;';
        entities['245'] = '&otilde;';
        entities['246'] = '&ouml;';
        entities['247'] = '&divide;';
        entities['248'] = '&oslash;';
        entities['249'] = '&ugrave;';
        entities['250'] = '&uacute;';
        entities['251'] = '&ucirc;';
        entities['252'] = '&uuml;';
        entities['253'] = '&yacute;';
        entities['254'] = '&thorn;';
        entities['255'] = '&yuml;';
    }

    if (useQuoteStyle !== 'ENT_NOQUOTES') {
        entities['34'] = '&quot;';
    }
    if (useQuoteStyle === 'ENT_QUOTES') {
        entities['39'] = '&#39;';
    }
    entities['60'] = '&lt;';
    entities['62'] = '&gt;';


    // ascii decimals to real symbols
    for (decimal in entities) {
        symbol = String.fromCharCode(decimal);
        hash_map[symbol] = entities[decimal];
    }

    return hash_map;
}

function html_entity_decode (string, quote_style) {
    // Convert all HTML entities to their applicable characters
    //
    // version: 909.322
    // discuss at: http://phpjs.org/functions/html_entity_decode
    // +   original by: john (http://www.jd-tech.net)
    // +      input by: ger
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +   improved by: marc andreu
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
    // +      input by: Ratheous
    // -    depends on: get_html_translation_table
    // *     example 1: html_entity_decode('Kevin &amp; van Zonneveld');
    // *     returns 1: 'Kevin & van Zonneveld'
    // *     example 2: html_entity_decode('&amp;lt;');
    // *     returns 2: '&lt;'
    var hash_map = {}, symbol = '', tmp_str = '', entity = '';
    tmp_str = string.toString();

    if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
        return false;
    }

    for (symbol in hash_map) {
        entity = hash_map[symbol];
        tmp_str = tmp_str.split(entity).join(symbol);
    }
    tmp_str = tmp_str.split('&#039;').join("'");

    return tmp_str;
}

// ---------------------------------------------------------------------------------------
// Funções da Grid do EXTJS para adicionar styles

function renderLeftGrid(value){
    return String.format('<div style="font-size: 11px; text-align: left;">{0}</div>', value);
}

function renderRightGrid(value){
    return String.format('<div style="font-size: 11px; text-align: right;">{0}</div>', value);
}

function renderCenterGrid(value){
    return String.format('<div style="font-size: 11px; text-align: center;">{0}</div>', value);
}

function renderDataGrid(value){
    return String.format('<span style="font-size: 11px;">{0}</span>', value.dateFormat('d/m/Y'));
}

// Função para quando clicar em um input ele ficar em branco.. depois se clicar fora ele preenche de novo!!

function onBlurIdVal(id, value){
    var el = document.getElementById(id).value;
    if(el == '' || el == value){
        document.getElementById(id).value = value;
    }
}

function onClickIdVal(id, value){
    var el = document.getElementById(id).value;
    if(el == '' || el == value){
        document.getElementById(id).value = '';
    }
}