window.addEvent("load", function() { 
    checkLongTexts();
})

window.addEvent('domready', function(){
    if($('aAperitius')){
        $('aAperitius').addEvent('click',function(e){
            selectorReceta('llistaAperitius',e);
        });
    }
    
    if($('aPrimerplat')){
        $('aPrimerplat').addEvent('click',function(e){
            selectorReceta('llistaPrimerplat',e);           
        });
    }    
    
    if($('aSegonplat')){
        $('aSegonplat').addEvent('click',function(e){
            selectorReceta('llistaSegonplat',e);           
        });
    }     
    
    if($('aPostre')){
        $('aPostre').addEvent('click',function(e){
            selectorReceta('llistaPostre',e);            
        });
    }    
    
    if($('aIngredients')){
        $('aIngredients').addEvent('click',function(e){
            if($('llistaIngredients').getStyle('display')=='block')
                $('llistaIngredients').setStyle('display','none');
            else{
                $('llistaIngredients').setStyle('display','block');
            }
            e = new Event(e);
            e.stop();               
        });
    }               
    
    if ($("slTemporada")){
        $("slTemporada").addEvent('change', function(){
                // TODO función para recargar la página según la temporada seleccionada                
            }.bind(this)
        );
    }	
		
});

function selectorReceta(_lista,e){
    if($(_lista).getStyle('display')=='block')
        $(_lista).setStyle('display','none');
    else{
        $$('#cercaplat ul li div').each(function(e){
            e.setStyle('display','none');
        });
        $(_lista).setStyle('display','block');
    }
    e = new Event(e);
    e.stop();   
}

function activa(_quin) {
	// pestanyes
	$$("#tria_mapa ul li").removeClass("actiu");
	$("pestanya_" + _quin).addClass("actiu");
	// mapes i descripcions
	$$(".mapa", ".descripcioprevisio").removeClass("actiu");
	$("mapa_" + _quin).addClass("actiu");
	$("desc_" + _quin).addClass("actiu");
}


var paginador = new Class({
    initialize: function(element, options) {
        this.maxPorPagina = options.maxPorPagina;
        this.paginaActual = options.paginaActual;
        this.contenedor = element;
        this.claseElemento = options.claseElemento;
        this.botonAnterior = options.anterior;
        this.botonSiguiente = options.siguiente;
        this.numeroPagina = options.numeroPagina;
        this.lista = options.lista;
        this.formato = options.formato;
        this.filas = $$('#' + this.contenedor + ' .' + this.claseElemento);
        this.totalPaginas = Math.ceil(this.filas.length / this.maxPorPagina);
        this.refrescar();        
    },
    
    recargar: function(){
        this.filas = $$('#' + this.contenedor + ' .' + this.claseElemento);
        this.totalPaginas = Math.ceil(this.filas.length / this.maxPorPagina);
        this.paginaActual = 1; 
        this.refrescar();   
    },
    
    siguiente: function(){
        if(this.paginaActual<this.totalPaginas){
            // sumamos una pagina y refrescamos
            this.paginaActual++;
            this.refrescar();
        }
    },
    
    anterior: function(){
        if(this.paginaActual>1){
            // restamos una pagina y refrescamos
            this.paginaActual--;
            this.refrescar();
        }
    },
    
    refrescar: function(){

        // calculamos las posiciones minimas y maximas de los elementos a mostrar
        minimo = (this.paginaActual-1)*this.maxPorPagina;
        maximo = (this.paginaActual*this.maxPorPagina)-1;
        this.filas.each(function(element,i){
            // si esta en el ranto, pintamos. si esta fuera, ocultamos
            if( !((i>=minimo)&&(i<=maximo)) ){
                element.setStyle('display','none');
            }else
                element.setStyle('display','block');                
        },this);
               
        // tratamiento de los botones siguiente y anterior
        if(this.paginaActual==1) $(this.botonAnterior).setStyle('display','none');
        else $(this.botonAnterior).setStyle('display','block');
        if(this.paginaActual==this.totalPaginas) $(this.botonSiguiente).setStyle('display','none');
        else $(this.botonSiguiente).setStyle('display','block');    
        
        // actualizamos el número de página
        texto = this.formato.replace("$actual$",this.paginaActual).replace("$total$",this.totalPaginas);
        $(this.numeroPagina).setHTML(texto);
    }  
});

/*
Retalla un texte en la longiutd MAX_LONG_TEXT
*/
function checkLongTexts() {
	if ($("resposta")) {
		var txt = $("resposta").innerHTML;
		if (txt.length > MAX_LONG_TEXT) {
			txt = splitText(txt, MAX_LONG_TEXT);
			txt = txt + "... (<a href=\"/pprogrames/cdb/cdbSeccio.jsp?seccio=consultori\">continua</a>)";
			$("resposta").innerHTML = txt;
		}
	}
	
}

function splitText(_value, _long) {
		if (_value.length > _long) {
			_value = _value.substring(0, _long);
			// Retallem bé..
			if (_value.lastIndexOf(" ") < _value.length) {
				_value = _value.substring(0, _value.lastIndexOf(" "));
			}
		}
		return _value;
}

function getPrevSep(cadena) {
	return cadena.substr(0,cadena.indexOf('##'));

}

function getPostSep(cadena) {
	return cadena.substr(cadena.indexOf('##')+2, cadena.length);
}

