/**
* Gradinite.com
*
* by Glavan Dumitru
*
*/

NewsletterJs = new Class({

    initialize: function ( div_raspuns )
    {
        this.raspunsDiv = new Fx.Slide( div_raspuns ).hide();

        thatNsl = this;

        this.nslAjax = new Ajax( baseUrl + 'Newsletter/abonare/',
                            {
                                method: 'POST',
                                onComplete: function()
                                           {
                                              this.raspuns = this.response.text;
                                              $( div_raspuns ).setHTML( '<a href="#" title="Închide "onclick="Newsletter.raspunsDiv.slideOut();return false;"></a><p>' + this.raspuns + '</p>' );
                                              $( div_raspuns ).setStyle( 'display', 'block' );
                                              thatNsl.raspunsDiv.slideIn();
                                           }
                            }
                          );
    },

    adauga: function( inputId )
    {
        this.nslAjax.options.data = Object.toQueryString( { email: $( inputId ).value } );
        this.nslAjax.request();
    },

    nslBlur: function( inputId )
    {
        if ( $( inputId ).value == '' )
        {
            $( inputId ).value = 'E-mail Dvs.';
            return;
        }
    },

    nslClick: function( inputId )
    {
        if ( $( inputId ).value == 'E-mail Dvs.' )
        {
            $( inputId ).value = '';
        }
    }
});


PollJs = new Class({

    initialize: function ( div_raspuns_poll )
    {
        this.raspunsDiv = new Fx.Slide( div_raspuns_poll ).hide();
        this.div_raspuns = div_raspuns_poll;
        thatPoll = this;
    },

    voteaza: function ()
    {
        $( 'formular_poll' ).send(
                {
                    onSuccess: function()
                               {
                                    this.raspuns = this.response.text;
                                    if ( this.raspuns.indexOf( '<!--rezultate-->' ) != -1 )
                                    {
                                        $( 'box_poll' ).setHTML( this.raspuns );
                                    }
                                    else
                                    {
                                        this.raspuns = this.response.text;
                                        $( thatPoll.div_raspuns ).setHTML( '<a href="#" title="Închide "onclick="Poll.raspunsDiv.slideOut();return false;"></a><p>' + this.raspuns + '</p>' );
                                        $( thatPoll.div_raspuns ).setStyle( 'display', 'block' );
                                        thatPoll.raspunsDiv.slideIn();
                                    }
                                }
                }
        );
    }
});


PrimaPaginaJs = new Class({

    initialize: function ()
    {
    },

    afiseazaTabNoutati: function ()
    {
        if ( tabSelectat != 'noutati' )
        {
            try
            {
                jTabsArticole.stopTabs();
                $( 'buton_articole' ).toggleClass( 'apasat' );
            }
            catch ( err )
            {
            }
            jTabsNoutati = new jTabsJs( { clasaTab: 'div.noutati_tab', meniuTabsId: 'meniu_tabs_noutati', clasaContainerText: 'div.container_tab_text_noutati' }  );
            jTabsNoutati.initTabs();

            $$( 'div.tab_border' ).each(
                function ( el )
                {
                    el.toggleClass( 'ascuns' );
                }
            );
            tabSelectat = 'noutati';
            $( 'buton_noutati' ).toggleClass( 'apasat' );
        }
        else
        {
            if ( !jTabsNoutati.ruleaza )
            {
                jTabsNoutati.initTabs();
            }
        }
    },

    afiseazaTabArticole: function ()
    {
        if ( tabSelectat != 'articole' )
        {
            try
            {
                jTabsNoutati.stopTabs();
                $( 'buton_noutati' ).toggleClass( 'apasat' );
            }
            catch ( err )
            {
            }
            jTabsArticole = new jTabsJs( { clasaTab: 'div.articole_tab', meniuTabsId: 'meniu_tabs_articole', clasaContainerText: 'div.container_tab_text_articole' } );
            jTabsArticole.initTabs();
            $$( 'div.tab_border' ).each(
                function ( el )
                {
                    el.toggleClass( 'ascuns' );
                }
            );
            tabSelectat = 'articole';
            $( 'buton_articole' ).toggleClass( 'apasat' );
        }
        else
        {
            if ( !jTabsArticole.ruleaza )
            {
                jTabsArticole.initTabs();
            }
        }
    }
});

GradiniteJs = new Class({

    options :
    {
        clasaSectorSelectat : 'selectat',
        listaSectoareId : 'lista_sectoare',
        linkSectorSelectatId : 'a'
    },

    initialize: function()
    {
        var that = this;
        $$( '#' + this.options.listaSectoareId + ' li a.' + this.options.clasaSectorSelectat ).each(
            function ( index, el )
            {
                that.options.linkSectorSelectatId = index;
            }
        );
        this.filtreazaAjax = new Ajax( baseUrl + 'Gradinite/filtreaza/',
                            {
                                method: 'post',
                                update: $( 'listaFiltrareGradinite' )
                            }
                          );
    },

    afiseazaSector: function( sector )
    {
        sector = ( ( parseInt( sector ) > -1 ) && ( parseInt( sector ) < 7 ) ) ? sector : '1';
        linkId = 'linkSector' + sector;
        $( this.options.linkSectorSelectatId ).removeClass( this.options.clasaSectorSelectat );
        $( linkId ).addClass( this.options.clasaSectorSelectat );
        this.options.linkSectorSelectatId = linkId;
        this.filtreazaAjax.options.data = 'data%5BSediu%5D%5Bsector%5D=' + sector + '&data%5BSediu%5D%5Boras_id%5D=0';
        this.filtreazaAjax.request();
        jBookmarker.set( 'sector', sector );
    },

    afiseazaSectorAfterschool: function( sector ) {
        sector = ( ( parseInt( sector ) > -1 ) && ( parseInt( sector ) < 7 ) ) ? sector : '1';
        linkId = 'linkSector' + sector;
        $( this.options.linkSectorSelectatId ).removeClass( this.options.clasaSectorSelectat );
        $( linkId ).addClass( this.options.clasaSectorSelectat );
        this.options.linkSectorSelectatId = linkId;

        var myAjax = new Ajax( baseUrl + 'Afterschool/filtreaza/',
                            {
                                method: 'post',
                                update: $( 'lista_afterschool' )
                            }
                          );
        myAjax.options.data = 'data%5BAfterSchool%5D%5Bsector%5D=' + sector + '&data%5BAfterSchool%5D%5Boras_id%5D=0';
        myAjax.request();

        jBookmarker.set( 'sector', sector );
    },

    filtreazaListaGradinite: function( formId )
    {
        $( formId ).send(
            {
                method: 'post',
                update: $( 'listaFiltrareGradinite' ),
                onRequest:
                    function()
                    {
                        $( 'listaFiltrareGradinite' ).setOpacity( 0.1 );
                    },
                onComplete:
                    function()
                    {
                        $( 'listaFiltrareGradinite' ).setOpacity( 1 );
                    }
            }
        );
    }

});

DiverseJs = new Class({

    initialize: function() {
        
        
    },

    trimiteFormular: function( formId )
    {
        $( formId ).send(
            {
                method: 'POST',
                update: $( formId ).getParent(),
                evalScripts: true,
                onRequest:
                    function()
                    {
                        $( formId ).setOpacity( 0.1 );
                    },
                onComplete:
                    function()
                    {
                        $( formId ).setOpacity( 1 );
                    }
            }
        );
    },

    trimiteFormularCaptcha: function( formId, captchaId )
    {
        $( formId ).send(
            {
                method: 'POST',
                update: $( formId ).getParent(),
                evalScripts: true,
                onRequest:
                    function()
                    {
                        $( formId ).setOpacity( 0.1 );
                    },
                onComplete:
                    function()
                    {
                        $( formId ).setOpacity( 1 );
                        if ( $( captchaId ) ) {
                            $( captchaId ).src = baseUrl + 'SfatulMedicului/captchaImage?' + Math.round(Math.random(0)*1000)+1 
                        }
                    }
            }
        );
    },

    inchideFormular: function( formId )
    {
        $( formId ).style.display = 'none';
    },

    cautareSfatulMedicului: function( termen, tip, pagina )
    {
        new Ajax( baseUrl + 'SfatulMedicului/rezultate/' + tip + '/' + pagina + '/' + escape( $( termen ).value.replace( /\//, '' ) ),
                         {
                            method: 'POST',
                            update: $( 'rezultate_cautare_sfat_medic' ),
                            evalScripts: true,
                            onRequest:
                                function()
                                {
                                    $( 'rezultate_cautare_sfat_medic' ).setOpacity( 0.1 );
                                },
                            onComplete:
                                function()
                                {
                                    $( 'rezultate_cautare_sfat_medic' ).setOpacity( 1 );
                                }
                         }
                        ).request();
    },

    afiseazaPaginaSfatulMedicului: function( urlPagina )
    {
        new Ajax( urlPagina,
                         {
                            method: 'POST',
                            update: $( 'rezultate_cautare_sfat_medic' ),
                            evalScripts: true,
                            onRequest:
                                function()
                                {
                                    $( 'rezultate_cautare_sfat_medic' ).setOpacity( 0.1 );
                                },
                            onComplete:
                                function()
                                {
                                    $( 'rezultate_cautare_sfat_medic' ).setOpacity( 1 );
                                }
                         }
                        ).request();
    },

	afiseazaComentariiVideo: function( urlPagina ){
		new Ajax( urlPagina, {
			method: 'POST',
			update: $( 'comentarii' ),
			onRequest: function(){
				$( 'comentarii' ).setOpacity( 0.1 );
			},
			onComplete: function(){
				$( 'comentarii' ).setOpacity( 1 );
			}
		} ).request();
	},

    sfMedicBlur: function( inputId )
    {
        if ( $( inputId ).value == '' )
        {
            $( inputId ).value = 'Introduceţi termenul căutat';
            return;
        }
    },

    sfMedicClick: function( inputId )
    {
        if ( $( inputId ).value == 'Introduceţi termenul căutat' )
        {
            $( inputId ).value = '';
        }
    },

    initButoaneUsability: function()
    {
        var scrollPage = new Fx.Scroll( window, { duration: 1500, transition: Fx.Transitions.Quad.easeInOut} );
        $$( 'a.inapoiSus' ).each(
            function ( el )
            {
                el.addEvent( 'click',
                    function(e)
                    {
                        e = new Event(e).stop();
                        scrollPage.toTop();
                    }
                );
            }
        );
        $$( 'a.trimiteUnuiPrieten' ).each(
            function ( el )
            {
                el.addEvent( 'click',
                    function(e)
                    {
                        e = new Event(e).stop();
                        $('cnt_formTrimitePrieten').style.display = 'block';
                    }
                );
            }
        );
    },

    trackLink: function( link ) {
        
        var linkId = link.getProperty( 'id' );

        var ajax = new Ajax( baseUrl + 'General/trackLink', {
            
            data: Object.toQueryString( { linkId: linkId } ),

            onComplete: function() {
                
            }

        } );

        ajax.request();

    }


});

PaginatorJs = new Class ({

    options:
    {
        clasaContainerNrPagini: 'div.cntPagini', // clasa containerului in care se afla banda cu numarul paginilor
        clasaDisplayPrevPages: 'a.btDisplayPrevPages', //clasa butonului care face scroll la banda cu pagini spre STANGA
        clasaDisplayNextPages: 'a.btDisplayNextPages', //clasa butonului care face scroll la banda cu pagini spre DREAPTA
        paginaCurenta: 1, //pagina curenta, selectata de user
        timpEfectTranzitie: 1000, //timpul de tranzitie a efectului de scroll al benzii cu nr pagini
        scrollOffsetX: 330, //cu cat se misca banda cu nr pag in timpul scrollului pe axa X
        scrollOffsetY: 0, //cu cat se misca banda cu nr pag in timpul scrollului pe axa Y
        tipTranzitieNext: Fx.Transitions.Quad.easeOut, //Efectul de tranzitie cu care se misca banda la DREAPTA
        tipTranzitiePrev: Fx.Transitions.Quad.easeOut, //Efectul de tranzitie cu care se misca banda la STANGA
        limitaPaginaStartScroll: 12, //de la ce pagina curenta sa faca autoscroll la incarcarea paginii
        scrollUnit: 0 //cu cat sa scrolleze autoscroll-ul; daca e 0, atunci se scroleaza automat la element (pagina curenta)
    },

    initialize: function( options )
    {
        this.setOptions( options );
        this.scrollCnt = $$( this.options.clasaContainerNrPagini );
        this.scrollPrevPages = $$( this.options.clasaDisplayPrevPages );
        this.scrollNextPages = $$( this.options.clasaDisplayNextPages );
        this.scrollToPrevPages = new Array();
        this.scrollToNextPages = new Array();
        this.paginate();
    },

    paginate: function()
    {
        var thatPntr = this;
        this.scrollCnt.each(
            function ( el, index )
            {
                thatPntr.scrollToPrevPages[index] = new Fx.Scroll( el, {wait: false, duration: thatPntr.options.timpEfectTranzitie, offset: {'x': -thatPntr.options.scrollOffsetX, 'y': thatPntr.options.scrollOffsetY}, transition: thatPntr.options.tipTranzitiePrev});
                thatPntr.scrollPrevPages[index].addEvent( 'click',
                    function (ev)
                    {
                        ev = new Event(ev).stop();
                        thatPntr.scrollToPrevPages[index].scrollTo();
                    }
                );

                thatPntr.scrollToNextPages[index] = new Fx.Scroll( el, {wait: false, duration: thatPntr.options.timpEfectTranzitie, offset: {'x': +thatPntr.options.scrollOffsetX, 'y': thatPntr.options.scrollOffsetY}, transition: thatPntr.options.tipTranzitieNext});
                thatPntr.scrollNextPages[index].addEvent( 'click',
                    function (ev)
                    {
                        ev = new Event(ev).stop();
                        thatPntr.scrollToNextPages[index].scrollTo();
                    }
                );
                thatPntr.adjustPage( el, index );
                $E( 'div', el ).setStyle( 'width', ( $ES( 'div a', el ).length * ( parseInt( $E( 'div a', el ).getStyle( 'width' ) ) + 2 ) ) );
            }
        );
    },

    adjustPage: function( element, index )
    {
        if ( this.options.paginaCurenta > this.options.limitaPaginaStartScroll )
        {
            if ( this.options.scrollUnit )
            {
                this.scrollToNextPages[index].scrollTo( this.options.paginaCurenta * this.options.scrollUnit, 0 );
            }
            else
            {
                this.scrollToNextPages[index].toElement( $$( 'a', element  )[this.options.paginaCurenta-1] );
            }
        }
    },

    adjustBandaPagini: function( element )
    {
        var eroareLungimeCifra = 2;
        $E( 'div', element ).setStyle( 'width', ( $ES( 'div a', element ).length * ( parseInt( $E( 'div a', element ).getStyle( 'width' ) ) + eroareLungimeCifra ) ) );
    },

    setOptions: function()
    {
        this.options = $merge.apply( null, [this.options].extend( arguments ) );
        if ( this.addEvent )
        {
            for ( var option in this.options )
            {
                if ( $type( this.options[option] == 'function' ) && ( /^on[A-Z]/ ).test( option ) ) this.addEvent( option, this.options[option] );
            }
        }
        return this;
    }

});

Rating = new Class( {
	initialize: function(){
	},
	voteaza: function( nota, id ){
		var ajax = new Ajax( baseUrl + 'Articole/voteaza/', {
			method: 'POST',
			data: Object.toQueryString( { nota: nota, id: id } )
		} );
		ajax.request();
	}
} );

FormularHelperJs = new Class( {
	trimiteFormular: function( buton, formId, updateCnt )
	{
		var formular = $( formId );
		formular.send( {
			evalScripts: true,
			onRequest: function()
			{
				formular.setStyle( 'opacity', 0.5 );
			},
			onComplete: function()
			{
				if ( updateCnt )
				{
					var txt = this.response.text;
					$( updateCnt ).setHTML( txt );
					if ( ( txt.indexOf('<!--succes-->') != -1 ) && ( buton ) )
					{
						buton.setStyle( 'display', 'none' );
					}
				}
				formular.setStyle( 'opacity', 1 );
			}
		} );
	}
} );
