var Noticias = Class.create();
Noticias.prototype = {
    strRequestURL: '',
    strRequestVariaveis: null,
    strLoading : '<br><img src="_img/loading.gif">',
    strNomeObjeto: '',
    strNomeDiv: '',
    strPath: '',
    strLabel: '',
    strNenhumRegistro: '',
    intPaginaAtual: 1,
    intTotalPorPagina: 10,
    intTotalRegistros: 0,
    intPaginasMostrar: 2,
    intTotalPaginas: 0,
    intNoticiaFotosPagina: 1,
    objJson: null,
    initialize: function() {},
    reiniciapaginacao: function()
    {
        this.intPaginaAtual = 1;
    },
    definevalores: function(strNomeObjeto, strNomeDiv, strLabel, strNenhumRegistro, strRequestURL, strRequestVariaveis)
    {
        this.strNomeObjeto = strNomeObjeto;
        this.strNomeDiv = strNomeDiv;
        this.strLabel = strLabel;
        this.strNenhumRegistro = strNenhumRegistro;
        this.strRequestURL = strRequestURL;
        this.strRequestVariaveis = strRequestVariaveis;
    },
    processa: function()
    {
	  this.intTotalRegistros = this.objJson.length;
        this.intTotalPaginas = ((this.intTotalRegistros - 1) / this.intTotalPorPagina > parseInt((this.intTotalRegistros - 1) / this.intTotalPorPagina)) ? parseInt((this.intTotalRegistros - 1) / this.intTotalPorPagina) + 1: parseInt((this.intTotalRegistros - 1) / this.intTotalPorPagina);
        var strConteudo = '';
        var intInicio = (this.intPaginaAtual * this.intTotalPorPagina) - this.intTotalPorPagina;
        var intFinal = ((intInicio + this.intTotalPorPagina) > this.intTotalRegistros) ? this.intTotalRegistros: (intInicio + this.intTotalPorPagina);
	  if (this.intTotalRegistros > 1)
        {
            strConteudo += '<div class="subItemMenuNotLista"><span class="tx03">' + this.strLabel + '</span></div>';
			for (i = intInicio; i < intFinal; i++)
				strConteudo += (this.objJson[i].html != undefined) ? this.objJson[i].html: '';
            if(this.intTotalPaginas > 1)
			this.paginacao();
        }
        else
        {
            strConteudo = '<div class="subItemMenuNotLista"><span class="tx03">' + this.strNenhumRegistro + '</span></div>';
            $('divPaginacao' + this.strNomeDiv).update('');
        }
        $('divPaginacao' + this.strNomeDiv + 'Conteudo').update(strConteudo);
    },
    paginacao: function()
    {
        var strConteudo = '';
        var intInicio = ((this.intPaginaAtual - (this.intPaginasMostrar + 1)) < 0) ? 0: (this.intPaginaAtual - (this.intPaginasMostrar + 1));
        var intPaginaCentro = (this.intPaginaAtual < (this.intPaginasMostrar + 1)) ? (this.intPaginasMostrar + 1) : this.intPaginaAtual;
        var intFinal = ((intPaginaCentro + this.intPaginasMostrar) > this.intTotalPaginas) ? this.intTotalPaginas: (intPaginaCentro + this.intPaginasMostrar);
        if (parseInt(intFinal) != 0)
        {
            strConteudo += (this.intPaginaAtual > 1) ? '<span onclick="' + this.strNomeObjeto + '.mudarpagina(' + (this.intPaginaAtual - 1) + ')" class="paginacaoSetas"> &nbsp;«&nbsp; </span>': '';
            for (i = intInicio; i < intFinal; i++)
            {
                j = i + 1;
                if (parseInt(this.intPaginaAtual) == j)
                strConteudo += '<span class="paginacaoPaginaAtual"> &nbsp;' + j + '&nbsp; </span>';
                else
                strConteudo += '<span onclick="' + this.strNomeObjeto + '.mudarpagina(' + j + ')" class="paginacaoPagina"> &nbsp;' + j + '&nbsp; </span>';
            }
            strConteudo += ((this.intPaginaAtual) < this.intTotalPaginas) ? '<span onclick="' + this.strNomeObjeto + '.mudarpagina(' + (this.intPaginaAtual + 1) + ')" class="paginacaoSetas"> &nbsp;»&nbsp; </span>': '';
        }
        else
        {
            strConteudo += '<span class="b m1"> &nbsp;1&nbsp; </span>';
        }
        $('divPaginacao' + this.strNomeDiv).update(strConteudo);
    },
    mudarpagina: function(intNovaPagina)
    {
        this.intPaginaAtual = intNovaPagina;
        this.processa();
    },
    request: function()
    {
	  this.reiniciapaginacao();
        var objPaginacao = this;
	  $('divPaginacao' + this.strNomeDiv + 'Conteudo').update(this.strLoading);
        new Ajax.Request(
		noticia.strPath + objPaginacao.strRequestURL,
        {
            method: 'post',
            parameters: objPaginacao.strRequestVariaveis,
            onComplete: function(transport)
            {
			objPaginacao.objJson = eval(transport.responseText);
               	objPaginacao.processa();
            }
        });
    },
    /* noticias de imagens */
	abrir_noticia: function(idnoticia,strnoticia,idioma)
	{
	  $('divNoticiaFotos').update(this.strLoading);
	  $('divNoticiaFoto').update('');
	  $('divNoticiaFotosDireito').update('');
	  $('divNoticiaFotosEsquerdo').update('');
	  $('divNoticiaTitulo').update(strnoticia);
        this.intNoticiaFotosPagina = 1;
	  new Ajax.Request(
        noticia.strPath + '/imagensNoticias.php',
        {
            method: 'post',
            parameters: 'idnoticia=' + idnoticia + '&idioma=' + idioma,
            onComplete: function(transport)
            {
			$('divNoticiaFotos').update(transport.responseText);
			setTimeout('noticia.paginas_noticia()',1000);
            }
        });
	},
	imagem_noticia: function(idnoticiaimagem, idioma)
	{
	  $('divNoticiaFoto').update(this.strLoading);
	  new Ajax.Request(
        noticia.strPath + 'imagemNoticias.php',
        {
            method: 'post',
            parameters: 'idnoticiaimagem='+idnoticiaimagem + '&idioma=' + idioma,
            onComplete: function(transport)
            {
			$('divNoticiaFoto').update(transport.responseText);
            }
        });
	},
	paginas_noticia: function()
	{
		var paginas = document.getElementsByClassName('divNoticiaPagina');
		for(i=0;i<paginas.length - 1;i++)
			paginas[i].hide();
		var strQuadradinhos = '';
		for(i=0;i<paginas.length - 1;i++)
			if(i==(this.intNoticiaFotosPagina-1))
				strQuadradinhos += '<img src="' + noticia.strPath + '_img/quadrado_preenchido.gif">  ';
			else
				strQuadradinhos += '<img src="' + noticia.strPath + '_img/quadrado.gif" onclick="noticia.intNoticiaFotosPagina=' + (i + 1) + ';noticia.paginas_noticia();">  ';
		$('divGalareiaQuadradinhos').update(strQuadradinhos);
		paginas[this.intNoticiaFotosPagina-1].show();
		if(this.intNoticiaFotosPagina > 1)
			$('divNoticiaFotosEsquerdo').update('<img style="cursor:pointer;" onclick="noticia.intNoticiaFotosPagina--;noticia.paginas_noticia()" src="' + noticia.strPath + '_img/noticia_seta_esq_on.gif" width="39" height="75">')
		else
			$('divNoticiaFotosEsquerdo').update('<img src="' + noticia.strPath + '_img/noticia_seta_esq_off.gif" width="39" height="75">')
		if(this.intNoticiaFotosPagina < paginas.length - 1)
			$('divNoticiaFotosDireito').update('<img style="cursor:pointer;" onclick="noticia.intNoticiaFotosPagina++;noticia.paginas_noticia()" src="' + noticia.strPath + '_img/noticia_seta_dir_on.gif" width="39" height="75">')
		else
			$('divNoticiaFotosDireito').update('<img src="' + noticia.strPath + '_img/noticia_seta_dir_off.gif" width="39" height="75">')
	}
}