source: ether_statistics/web/project/statistics-script.jsp

Last change on this file was 814, checked in by npipsl, 9 years ago

Ajout de l'utilisateur Geisa à la connexion avec un affichage que du projet Geisa

File size: 25.3 KB
Line 
1<%@ page import="com.ether.WebHelper" %>
2<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
3
4<script type="text/javascript">
5
6var InterfaceStatistics = Class.create( {
7    initialize: function()
8    {
9        /** *********** CONTAINERS *********** **/
10        this.parent = $( "#containerMiddle" );
11        this.containerMenu = $( "#menuLogo" );
12        this.containerErrors = $( "#errors" );
13
14        /** *********** VARIABLES *********** **/
15        this.language = '<spring:message code="language"/>';
16        this.webmaster = "<%=WebHelper.getProperty(request, "mail.webmaster")%>";
17        this.jSONUser = <%=WebHelper.getJSONUser( request )%> ? <%=WebHelper.getJSONUser( request )%> : false;
18        this.logoSizeSmall = 30;
19        this.logoSizeBig = 50;
20        this.logoSizeBigger = 50;
21
22        if( "Geisa" == this.jSONUser.name )
23            {
24                this.projectsArray = [
25                        {id:"GEISA", img:"logo_geisa_50.jpg", top:"22px", left:"167.667px"}
26                      ];
27            }
28        else
29        {
30        this.projectsArray = [
31            {id:"ETHER", img:"logo_Ether_50.jpg", top:"-16px", left:"125px"},
32            {id:"NDACC", img:"logo_Ndacc_50.jpg", top:"1.66667px", left:"46.3334px"},
33            {id:"ECCAD", img:"logo_ECCAD_50.gif", top:"39.3333px", left:"109.333px"},
34            {id:"IASI", img:"logo_iasi_50.jpg", top:"-78.6667px", left:"77.6666px"},
35            {id:"GOSAT", img:"logo_gosat_50.jpg", top:"-0.333328px", left:"200.667px"},
36            {id:"IAGOS", img:"logo_Iagos_50.jpg", top:"36px", left:"138px"},
37            {id:"TROPICO", img:"logo_tropico_50.jpg", top:"-74px", left:"45px"},
38            {id:"MEGAPOLI", img:"logo_Megapoli_50.png", top:"-74.3333px", left:"15.3333px"},
39            {id:"MIMOSA", img:"logo_mimosa_50.png", top:"-45.6667px", left:"76.3334px"},
40            {id:"REPROBUS", img:"logo_reprobus_50.png", top:"-48px", left:"161.667px"},
41            {id:"GEISA", img:"logo_geisa_50.jpg", top:"22px", left:"167.667px"},
42            {id:"TAPAS", img:"logo_tapas_50.png", top:"58.3333px", left:"125px"},
43            {id:"ACOMIDA", img:"logo_acomida_50.jpg", top:"-77.3333px", left:"225px"},
44            {id:"OMER7A", img:"logo_omer7A_50.jpg", top:"22.6667px", left:"76.3334px"},
45            {id:"GIRAFE", img:"logo_girafe_50.JPG", top:"-79.6667px", left:"192.333px"},
46            {id:"ARLETTY", img:"logo_arletty_50.jpg", top:"-79px", left:"161.667px"}
47        ];
48        }
49
50        this.widthInitMentionsOrCredits = $( "#mentions" ).width();
51
52        this.xArray = ["2010-10", "2010-11", "2010-12", "2011-01", "2011-02"];
53        this.yArray = [0, 10, 30, 50, 100];
54
55        this.bindButtons();
56        this.createMenuLogo();
57        this.isMonthAndYearSelected = false;
58
59        $( document ).ready( jQuery.proxy( function()
60        {
61            // Menu
62            this.animateMenuLogos();
63            this.bindMenuLogos();
64            this.createRightSlide();
65
66            if( !this.jSONUser )
67                this.onClickHelp();
68            else
69                this.handleLogin();
70        }, this ) );
71    },
72
73
74    // CREATES AND BINDS ********************************************************
75    bindButtons: function()
76    {
77        $( "#home_button" ).bind( "click", this.onClickHome );
78        $( "#language_button" ).bind( "click", jQuery.proxy( this.onClickLanguage, this ) );
79        $( "#mail_button" ).bind( "click", jQuery.proxy( this.onClickMail, this ) );
80        $( "#help" ).bind( "click", jQuery.proxy( this.onClickHelp, this ) );
81        $( "#credits" ).bind( "click", jQuery.proxy( this.onClickCredits, this ) );
82        $( "#mentions" ).bind( "click", jQuery.proxy( this.onClickMentions, this ) );
83        $( "#login_button" ).bind( "click", jQuery.proxy( this.onClickLogin, this ) );
84        $( "#logout_button" ).bind( "click", jQuery.proxy( this.onClickLogout, this ) );
85    },
86
87    createMenuLogo: function()
88    {
89        var initTop = this.projectsArray[0].top;
90        var initLeft = this.projectsArray[0].left;
91
92        jQuery.each( this.projectsArray, jQuery.proxy( function( i, logo )
93        {
94            var divLogo = $( document.createElement( "div" ) );
95            divLogo.addClass( "divLogo" );
96            divLogo.attr( {id:logo.id, style:"position:absolute; top:" + initTop + "; left:" + initLeft} );
97            divLogo.html( '<img id="img_' + logo.id + '"src="resources/images/' + logo.img + '" width="' + this.logoSizeSmall + 'px" height="' + this.logoSizeSmall + 'px"/>' );
98            this.containerMenu.append( divLogo );
99        }, this ) );
100    },
101
102    createAllSlides: function()
103    {
104        this.middleSlide = new DragSlide( {id:"middle", parent:this.parent, minWidth:"700", minHeight:"550", top:"150px", right:"232px",
105            specificClass:"containerStatistics", specificTitleClass:"containerStatisticsTitle", specificContentClass:"containerStatisticsContent", activeDbClick:"None"} );
106
107        this.rightSlide = new DragSlide( {id:"right", parent:this.parent, width:"180", height:"325", top:"212px", left:"750px",
108            specificClass:"containerStatistics", specificTitleClass:"containerStatisticsTitle", specificContentClass:"containerStatisticsContent"} );
109
110        this.loginSlide = new DragSlide( {id:"loginMiddle", parent:this.parent, width:"150", height:"25", top:"115px", left:"39px",
111            specificClass:"containerStatistics", specificTitleClass:"containerStatisticsTitle", specificContentClass:"containerStatisticsContent", activeDbClick:"None"} );
112
113        this.projectsSlide = new DragSlide( {id:"projectsMiddle", parent:this.parent, width:"180", height:"390", top:"175px", left:"750px",
114            specificClass:"containerStatistics", specificTitleClass:"containerStatisticsTitle", specificContentClass:"containerStatisticsContent"} );
115    },
116
117    createRightSlide: function()
118    {
119        this.rightSlide = new DragSlide( {id:"right", parent:this.parent, width:"180", height:"320", top:"175px", left:"750px",
120            specificClass:"containerStatistics", specificTitleClass:"containerStatisticsTitle", specificContentClass:"containerStatisticsContent"} );
121    },
122
123    createProjectsSlide: function()
124    {
125        this.projectsSlide.setTitle( '<spring:message code="label.projects"/>' );
126        this.projectsSlide.getDivContent().empty();
127
128        jQuery.each( this.projectsArray, jQuery.proxy( function( i, logo )
129        {
130            var divLogo = $( document.createElement( "div" ) );
131            divLogo.addClass( "divLogo" );
132            divLogo.attr( {id:logo.id} );
133            divLogo.html( '<img id="img_' + logo.id + '"src="resources/images/' + logo.img + '" width="' + this.logoSizeBigger + 'px" height="' + this.logoSizeBigger + 'px" title="' + logo.id + '"/>' );
134            this.projectsSlide.getDivContent().append( divLogo );
135        }, this ) );
136        this.projectsSlide.hideContainerContent();
137    },
138
139    createSelectMonths: function()
140    {
141        var div = $( document.createElement( "div" ) );
142        div.addClass( "selectDates" );
143        this.middleSlide.getDivContent().append( div );
144
145        var paramSelect = new Object();
146        paramSelect.id = "selectMonths";
147        paramSelect.parent = div;
148        this.selectMonths = new Select( paramSelect );
149        this.selectMonths.add( 1, '<spring:message code="label.january"/>' );
150        this.selectMonths.add( 2, '<spring:message code="label.february"/>' );
151        this.selectMonths.add( 3, '<spring:message code="label.march"/>' );
152        this.selectMonths.add( 4, '<spring:message code="label.april"/>' );
153        this.selectMonths.add( 5, '<spring:message code="label.may"/>' );
154        this.selectMonths.add( 6, '<spring:message code="label.june"/>' );
155        this.selectMonths.add( 7, '<spring:message code="label.july"/>' );
156        this.selectMonths.add( 8, '<spring:message code="label.august"/>' );
157        this.selectMonths.add( 9, '<spring:message code="label.september"/>' );
158        this.selectMonths.add( 10, '<spring:message code="label.october"/>' );
159        this.selectMonths.add( 11, '<spring:message code="label.november"/>' );
160        this.selectMonths.add( 12, '<spring:message code="label.december"/>' );
161    },
162
163    createSelectYears: function()
164    {
165        var div = $( document.createElement( "div" ) );
166        div.addClass( "selectDates" );
167        this.middleSlide.getDivContent().append( div );
168
169        var paramSelect = new Object();
170        paramSelect.id = "selectYears";
171        paramSelect.parent = div;
172        this.selectYears = new Select( paramSelect );
173
174        var currentYear = (new Date()).getFullYear();
175        for( var i = 0; i < 5; i++ )
176            this.selectYears.add( currentYear - i, currentYear - i );
177    },
178
179    // REQUESTS ********************************************************
180    requestChangeLocale: function()
181    {
182        $.ajax( {
183            url: "project?methodName=setLocale&language=<spring:message code="label.language.value.to.switch"/>",
184            success:function()
185            {
186                location.reload();
187            },
188            error: jQuery.proxy( this.showErrors, [this] )
189        } );
190    },
191
192    requestLogin: function()
193    {
194        var login = $( "#loginValue" ).val();
195        var pwd = $( "#pwdValue" ).val();
196        $.ajax( {
197            url: "project?methodName=login&login=" + login + "&pwd=" + pwd,
198            dataType: 'json', // Info needed since jquery.1.7 !!
199            success:jQuery.proxy( this.handleLogin, this ),
200            error: jQuery.proxy( this.showErrors, [this, "489px", "566px"] )
201        } );
202    },
203
204    requestLogout: function()
205    {
206        $.ajax( {
207            url: "project?methodName=logout",
208            dataType: 'json', // Info needed since jquery.1.7 !!
209            success:jQuery.proxy( this.handleLogout, this ),
210            error: jQuery.proxy( this.showErrors, [this] )
211        } );
212    },
213
214    requestDataByLogo: function()
215    {
216        if( !this.selectedLogo && !this.selectedLogo.id )
217            return;
218
219        $.ajax( {
220            url: "statistic?methodName=searchMainStatisticsByProject&name=" + this.selectedLogo.id,
221            success:jQuery.proxy( this.handleDataByLogo, this ),
222            error: jQuery.proxy( this.showLoginError, this )
223        } );
224    },
225
226    // HANDLES ********************************************************
227    handleDataByLogo: function( result )
228    {
229        this.displaySummary();
230    },
231
232    handleLogin: function( result )
233    {
234        this.containerErrors.empty();
235        this.containerErrors.css( "visibility", "hidden" );
236
237        if( result )
238            this.jSONUser = result.jSONUser;
239
240        $( "#loginValue" ).val( "" );
241        $( "#pwdValue" ).val( "" );
242        $( "#login_text" ).css( "visibility", "hidden" );
243        $( "#login" ).animate( {
244            top:'47px',
245            left:'577px'
246        }, 2000, function()
247        {
248        } );
249
250        $( "#login_bg" ).animate( {
251            opacity: 1,
252            height:'60px',
253            width:'67px'
254        }, 2000, function()
255        {
256        } );
257
258        $( "#login_img" ).animate( {
259            top:'25px',
260            left: '16px',
261            width: '0',
262            height: '0'
263        }, 2000, jQuery.proxy( function()
264        {
265            // Slides
266            this.parent.empty();
267            this.createAllSlides();
268            this.changeRightSlide();
269
270            // User
271            if( this.jSONUser.name )
272                this.loginSlide.setTitle( this.jSONUser.name );
273            else
274                this.loginSlide.setTitle( '<spring:message code="label.unknown"/>' );
275            $( "#logout_button" ).css( "visibility", "visible" );
276
277            // Awstats button
278            if( "ADMINISTRATOR" == this.jSONUser.role )
279            {
280                this.awstatsSlide = new DragSlide( {id:"awstats", parent:this.parent, width:"180", height:"25", top:"545px", left:"750px",
281                    specificTitleClass:"containerStatisticsTitle", specificContentClass:"containerStatisticsContent",
282                    title:'<spring:message code="label.awstats"/>&nbsp;&nbsp;', activeDbClick:"None"} );
283                this.awstatsSlide.getDivContainer().click( jQuery.proxy( this.displayAwstatsStatistics, this ) );
284            }
285
286            // Projects slide
287            this.createProjectsSlide();
288            this.bindLogos();
289
290            // Logo
291            if( "Geisa" == this.jSONUser.name )
292            {
293            this.selectedLogo = $( "#GEISA" )[0];
294            this.isSelectedLogoGeisa = true;
295            this.onClickLogo();
296            }
297            else
298            {
299            this.selectedLogo = $( "#ETHER" )[0];
300            this.isSelectedLogoEther = true;
301            this.onClickLogo();
302            }
303        }, this ) );
304    },
305
306    handleLogout: function()
307    {
308        this.jSONUser = false;
309        this.parent.empty();
310        this.createRightSlide();
311        this.onClickHelp();
312
313        $( "#logout_button" ).css( "visibility", "hidden" );
314        $( "#login" ).css( { zIndex:1 } ).animate( {
315            top:'79px',
316            left:'88px'
317        }, 2000, function()
318        {
319        } );
320
321        $( "#login_bg" ).animate( {
322            opacity: 0.85,
323            height:'500px',
324            width:'500px'
325        }, 2000, function()
326        {
327            $( "#login_text" ).css( "visibility", "visible" );
328        } );
329
330        $( "#login_img" ).animate( {
331            top:'103px',
332            left: '148px',
333            width: '30px',
334            height: '30px'
335        }, 2000, function()
336        {
337        } );
338    },
339
340    // EVENTS ********************************************************
341    onClickHome: function()
342    {
343        location.reload();
344    },
345
346    onClickLanguage: function()
347    {
348        this.requestChangeLocale();
349    },
350
351    onClickMail: function()
352    {
353        document.location.href = "mailto:" + this.webmaster + "?subject=[STATISTICS]";
354    },
355
356    onClickMentions: function()
357    {
358        if( this.widthInitMentionsOrCredits == $( "#mentions" ).width() )
359            this.enlargeCreditsOrMentions( $( "#mentions" ), $( "#mentions_bg" ), $( "#mentions_text" ), $( "#mentions_title" ), "project/mentions_" + this.language + ".jsp" );
360        else
361            this.reduceCreditsOrMentions( $( "#mentions" ), $( "#mentions_bg" ), $( "#mentions_text" ), $( "#mentions_title" ), "project/mentions_" + this.language + ".jsp" );
362    },
363
364    onClickCredits: function()
365    {
366        if( this.widthInitMentionsOrCredits == $( "#credits" ).width() )
367            this.enlargeCreditsOrMentions( $( "#credits" ), $( "#credits_bg" ), $( "#credits_text" ), $( "#credits_title" ), "project/credits_" + this.language + ".jsp" );
368        else
369            this.reduceCreditsOrMentions( $( "#credits" ), $( "#credits_bg" ), $( "#credits_text" ), $( "#credits_title" ), "project/credits_" + this.language + ".jsp" );
370    },
371
372    onClickHelp: function()
373    {
374        this.rightSlide.setTitle( '<spring:message code="label.help"/>' );
375        this.rightSlide.setContent( "<spring:message code='label.help.content'/>" );
376        if( this.jSONUser )
377            var backHelpButton = new Button( {value:"<spring:message code="label.display.actions"/>", parent:this.rightSlide.getDivContent(), className: "small positive back_button", onClick:jQuery.proxy( this.changeRightSlide, this )} );
378    },
379
380    onClickLogin: function()
381    {
382        this.containerErrors.empty();
383        this.containerErrors.css( "visibility", "hidden" );
384        this.requestLogin();
385    },
386
387    onClickLogout: function()
388    {
389        this.requestLogout();
390    },
391
392    onClickLogo: function()
393    {
394        this.isSelectedLogoEther = (this.selectedLogo == $( "#ETHER" )[0]);
395        this.isSelectedLogoGeisa = (this.selectedLogo == $( "#GEISA" )[0]);
396        this.isMonthAndYearSelected = false;
397
398        if( this.jSONUser )
399            this.requestDataByLogo();
400        else
401        {
402            this.showErrors( "<spring:message code="error.connection.need"/>" );
403            this.containerErrors.css( {top:"489px", left:"566px"} );
404            this.containerErrors.css( "visibility", "visible" );
405        }
406    },
407
408    onClickPrint: function()
409    {
410        var printContent = new PrintContent();
411        printContent.addContent( $( "#title" ).clone() );
412        printContent.addContent( this.middleSlide.getDivContainer().clone().animate( {'right' : "100px", 'width' : "667px"} ) );
413        printContent.displayPrintPreview();
414    },
415
416    onClickGo: function()
417    {
418        var url = this[0];
419        var context = this[1];
420
421        $( "#divAwstats" ).load( url + context.selectedLogo.id + "&month=" + context.selectMonths.getValue() + "&year=" + context.selectYears.getValue() );
422    },
423
424    // OTHERS ********************************************************
425    showErrors: function( result )
426    {
427        var context = this[0] ? this[0] : this;
428        var topValue = this[1] ? this[1] : false;
429        var leftValue = this[2] ? this[2] : false;
430        context.containerErrors.show();
431        if( result.responseText && interfaceTexts[result.responseText] )
432            context.containerErrors.html( interfaceTexts[result.responseText] );
433        else if( result.responseText )
434            context.containerErrors.html( result.responseText );
435        else
436            context.containerErrors.html( result );
437        if( topValue && leftValue )
438            context.containerErrors.css( {top: topValue, left: leftValue} );
439        context.containerErrors.css( "visibility", "visible" );
440    },
441
442    showLoginError: function( result )
443    {
444        this.onClickLogout();
445        this.onClickLogo();
446    },
447
448    reduceCreditsOrMentions: function( div, div_bg, div_text, div_title )
449    {
450        div.css( { zIndex:0 } );
451        div_text.css( "visibility", "hidden" );
452        div.animate( {
453            left: '+=500',
454            top: '+=500'
455        }, 2000, function()
456        {
457        } );
458        div_bg.animate( {
459            opacity: 1,
460            height:'42px',
461            width:this.widthInitMentionsOrCredits + 'px',
462            zIndex:'0'
463        }, 2000, function()
464        {
465            div_title.css( "visibility", "visible" );
466        } );
467    },
468
469    enlargeCreditsOrMentions: function( div, div_bg, div_text, div_title, pageToLoad )
470    {
471        div_title.css( "visibility", "hidden" );
472        div.css( { zIndex:1 } );
473        div.animate( {
474            left: '-=500',
475            top: '-=500'
476        }, 2000, function()
477        {
478        } );
479
480        div_bg.animate( {
481            opacity: 0.95,
482            height:'500px',
483            width:'500px'
484        }, 2000, function()
485        {
486            div_text.css( "visibility", "visible" );
487            div_text.load( pageToLoad );
488        } );
489    },
490
491    animateMenuLogos: function()
492    {
493        jQuery.each( this.projectsArray, jQuery.proxy( function( i, logo )
494        {
495            $( "#" + logo.id ).animate( {
496                top:logo.top,
497                left:logo.left
498            }, 5000, function()
499            {
500            } );
501        }, this ) );
502    },
503
504    bindMenuLogos: function()
505    {
506        var gap = (this.logoSizeBig - this.logoSizeSmall) / 2;
507        var logoSizeBig = this.logoSizeBig + "px";
508        var logoSizeSmall = this.logoSizeSmall + "px";
509        var gridimage;
510
511        $( '.divLogo' ).mouseover( function( element )
512        {
513            gridimage = $( this ).find( 'img' ); //Define target as a variable
514            gridimage.stop().animate( {
515                width: logoSizeBig,
516                height: logoSizeBig
517            }, 150 );
518            $( this ).animate( {
519                top: "-=10px",
520                left: "-=10px"
521            }, 150 );
522        } );
523
524        $( '.divLogo' ).mouseout( function( element )
525        {
526            $( this ).animate( {
527                top: "+=10px",
528                left: "+=10px"
529            }, 150 );
530            gridimage.stop().animate( {
531                width: logoSizeSmall,
532                height:logoSizeSmall
533            }, 150 );
534        } );
535        this.bindLogos();
536    },
537
538    bindLogos:function()
539    {
540        $( '.divLogo' ).click( jQuery.proxy( function( element )
541        {
542            this.selectedLogo = element.currentTarget;
543            this.onClickLogo();
544        }, this ) );
545    },
546
547    changeRightSlide: function()
548    {
549        this.rightSlide.setTitle( '<spring:message code="label.actions"/>' );
550        this.rightSlide.getDivContent().empty();
551        new Button( {value:"<spring:message code="statistics.summary"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displaySummary, this )} );
552        new Button( {value:"<spring:message code="statistics.monthly"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displayMonthly, this )} );
553        new Button( {value:"<spring:message code="statistics.daily"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displayDaily, this )} );
554        new Button( {value:"<spring:message code="statistics.daysofweek"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displayDaysOfWeek, this )} );
555        new Button( {value:"<spring:message code="statistics.hours"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displayHours, this )} );
556        new Button( {value:"<spring:message code="statistics.visit.duration"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displayVisitDuration, this )} );
557
558        new Button( {value:"<spring:message code="statistics.visit"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displayVisit, this )} );
559        new Button( {value:"<spring:message code="statistics.domain"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displayDomainCountry, this )} );
560        new Button( {value:"<spring:message code="statistics.data.download"/>", parent:this.rightSlide.getDivContent(), className: "positive action_button", onClick:jQuery.proxy( this.displayDownload, this )} );
561
562        new Button( {value:"<spring:message code="label.print"/>", parent:this.rightSlide.getDivContent(), className: "blue export_button print-preview", onClick:jQuery.proxy( this.onClickPrint, this )} );
563    },
564
565    changeMiddleSlide: function( title, url )
566    {
567        var selectedMonth = this.selectMonths ? this.selectMonths.getValue() : false;
568        var selectedYear = this.selectYears ? this.selectYears.getValue() : false;
569
570        this.middleSlide.setTitle( this.selectedLogo.id + ' : ' + title );
571        this.middleSlide.getDivContent().empty();
572
573        // Button
574        new Button( {value:"<spring:message code="label.go"/>", parent:this.middleSlide.getDivContent(), className: "blue selectDates", onClick:jQuery.proxy( this.onClickGo, [url, this] )} );
575
576        // Years
577        this.createSelectYears();
578        if( !this.isMonthAndYearSelected )
579            this.selectYears.selectFirst( true );
580        else
581            this.selectYears.select( selectedYear );
582
583        // Months
584        this.createSelectMonths();
585        if( !this.isMonthAndYearSelected )
586        {
587            var currentMonth = (new Date()).getMonth() + 1;
588            this.selectMonths.select( currentMonth );
589        }
590        else
591            this.selectMonths.select( selectedMonth );
592
593        this.isMonthAndYearSelected = true;
594
595        var div = $( document.createElement( "div" ) );
596        div.attr( {id:"divAwstats"} );
597        div.addClass( "containerAwstats" );
598        this.middleSlide.getDivContent().append( div );
599
600        div.load( url + this.selectedLogo.id + "&month=" + this.selectMonths.getValue() + "&year=" + this.selectYears.getValue() );
601    },
602
603
604    // STATISTICS ********************************************************
605    displaySummary: function()
606    {
607        this.changeMiddleSlide( '<spring:message code="statistics.summary"/>', <%=WebHelper.getProperty(request, "url.summary")%> );
608    },
609
610    displayMonthly: function()
611    {
612        this.changeMiddleSlide( '<spring:message code="statistics.monthly"/>', <%=WebHelper.getProperty(request, "url.monthly")%> );
613    },
614
615    displayDaily: function()
616    {
617        this.changeMiddleSlide( '<spring:message code="statistics.daily"/>', <%=WebHelper.getProperty(request, "url.daily")%> );
618    },
619
620    displayDaysOfWeek: function()
621    {
622        this.changeMiddleSlide( '<spring:message code="statistics.daysofweek"/>', <%=WebHelper.getProperty(request, "url.daysofweek")%> );
623    },
624
625    displayHours: function()
626    {
627        this.changeMiddleSlide( '<spring:message code="statistics.hours"/>', <%=WebHelper.getProperty(request, "url.hours")%> );
628    },
629
630    displayVisitDuration: function()
631    {
632        this.changeMiddleSlide( '<spring:message code="statistics.visit.duration"/>', <%=WebHelper.getProperty(request, "url.sessions")%> );
633    },
634
635    displayVisit: function()
636    {
637        this.changeMiddleSlide( '<spring:message code="statistics.visit"/>', <%=WebHelper.getProperty(request, "url.visited.pages")%> );
638    },
639
640    displayDomainCountry: function()
641    {
642        this.changeMiddleSlide( '<spring:message code="statistics.domain"/>', <%=WebHelper.getProperty(request, "url.domains")%> );
643    },
644
645    displayDownload: function()
646    {
647        this.changeMiddleSlide( '<spring:message code="statistics.data.download"/>', <%=WebHelper.getProperty(request, "url.downloads")%> );
648    },
649
650    displayAwstatsStatistics: function()
651    {
652        window.open( "http://www.pole-ether.fr/cgi-bin/awstats/awstats.pl?config=" + this.selectedLogo.id );
653    }
654
655} );
656
657</script>
Note: See TracBrowser for help on using the repository browser.