function histats_site_monthlystats_class() { 
    try {

        this.ids = 0 ;
        this.day = 0 ;
        /*
        this.month = 0 ;
        this.year = 0 ;
        this.monthyear = 0 ;
        this.FirstofThemonth_Wday = 0 ;
        */
        this.tnow = 0 ;
        this.str_hits ='';
        this.str_nevis  ='';
        this.str_vis  ='';
        this.str_ppv  ='';
        this.str_unb  ='';
        this.str_tun  ='';

        this.str_nvisPERC  ='';
        this.str_onlineAVG  ='';
        this.str_freq  ='';

        this.AR_date = new Array();
 
        this.AR_hits = new Array();
        this.AR_nevis = new Array();
        this.AR_vis = new Array();
        this.AR_ppv = new Array();
        this.AR_nvisPERC = new Array();
        this.AR_unb = new Array();
        this.AR_tun = new Array();
        this.AR_onlineAVG = new Array();
        this.AR_freq = new Array();

        this.str_x = ''; // string wich contain sequential x number for graph x#..
        this.str_data = ''; // string wich contain sequential datas for graph data#..
        
        this.swf_COLGRAPH_id = 0; // main swf graph

        this.TOTAL_HITS = 0 ;
        this.TOTAL_VIS = 0 ;
        this.TOTAL_nVIS = 0 ;
        this.TOTAL_UNB = 0 ;
        this.TOTAL_TUN = 0 ;

        this.totalPPV =0;
        this.totalnvisPERC =0;

        this.compare_CAL_id = 0;

        this.IDday_to_append = 0; // contain additional day to append when rebuildstats

    } catch(e){
        alert("err loading javascript ,    try refreshing browser cache \n "  + e.message + "\n ");
    }
	
} // end


// build AR_date  on month
histats_statsmodule_class.prototype.swf_gotoday_month  = function(dayvalue) {

    var OBJ_SITE =  OBJ_SITEs[this.ids];
    ARDATE = f_return_DATE_AR(OBJ_SITE.site_time);

    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];

    var OBJ_MONTH = OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY];
    var unixt = f_return_unixT_by_idmonth(MONTH_TO_DISPLAY);
    unixt+=((dayvalue-1)*86400);
    //alert(f_return_DAYN_by_UnxT(unixt));
if((OBJ_SITE.site_time-(86400*30)) > unixt ) return ;
    var OBJ_gotoDATE = new histats_datecal_class();
    OBJ_gotoDATE.tNOW = unixt;
    OBJ_gotoDATE.range = 'd';
    OBJ_gotoDATE.build_dateAR();
    OBJ_gotoDATE.build_URL();
    //http://www.histats.com/viewstats/?SID=90&act=3&dt=11-2-2010-0d
var url_GOTO = 'http://www.histats.com/viewstats/?SID='+this.ids+'&act=3&dt='+OBJ_gotoDATE.dateURL_STRING;
location.href = url_GOTO ;
}



// build AR_date  on month
histats_site_monthlystats_class.prototype.build_ARDATE  = function() {
    this.AR_date = f_return_DATE_AR(this.tnow);
}

//f_monthlystats_monthclick
histats_statsmodule_class.prototype.f_monthlystats_monthclick  = function(idmonth) {
    //alert('goto month : ' + idmonth ) ;
    var unixtime_bymonth = f_return_unixT_by_idmonth(idmonth);
    var OBJ_gotoDATE = new histats_datecal_class();

    OBJ_gotoDATE.tNOW = unixtime_bymonth;
    OBJ_gotoDATE.range = 'm';
    OBJ_gotoDATE.build_dateAR();
    OBJ_gotoDATE.build_URL();
    var url_GOTO = 'http://www.histats.com/viewstats/?SID='+this.ids+'&act=4&dt='+OBJ_gotoDATE.dateURL_STRING;
    location.href = url_GOTO;
}

histats_statsmodule_class.prototype.f_monthlystats_do_comparemonth  = function(idmonth) {

    OBJ_SITE =  OBJ_SITEs[this.ids];
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
   
    var OBJ_COMPAREDATE = new histats_datecal_class();
    OBJ_COMPAREDATE.tNOW = ptrDATEmodule.tNOW;


    var unixtime_bymonth = f_return_unixT_by_idmonth(idmonth);
    OBJ_COMPAREDATE.tNOW = unixtime_bymonth;
    OBJ_COMPAREDATE.build_dateAR();
    OBJ_COMPAREDATE.range = 'm';

    //alert(idmonth);
    //print_r(OBJ_SITE.monthly_stats);

    if(!OBJ_SITE.monthly_stats[idmonth]){
        //alert(1);
        ptrDATEmodule.build_URL();
        OBJ_COMPAREDATE.build_URL();
        var url_GOTO = 'http://www.histats.com/viewstats/?SID='+this.ids+'&act=4&dt='+ptrDATEmodule.dateURL_STRING+'&dt1='+OBJ_COMPAREDATE.dateURL_STRING+'';
        location.href = url_GOTO;
        return ;
        //alert(url_GOTO);
    }else{ // compare
        //alert(2);
        this.f_print_comparemonth(idmonth);
        //this.reload_FOB();
    }
}

histats_statsmodule_class.prototype.f_append_day_to_hismonth  = function(OBJ_DAY) {
    MONTH_TO_DISPLAY = OBJ_DAY.monthcode;
    DAY_TO_DISPLAY = OBJ_DAY.day;
  
    if(!OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY]) return ;
    OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY].IDday_to_append =OBJ_DAY.day;
//alert('aaa');
}


histats_statsmodule_class.prototype.f_monthlystats_build_addional_stats  = function(idmonth) {
    OBJ_SITE =  OBJ_SITEs[this.ids];
    ARDATE = f_return_DATE_AR(OBJ_SITE.site_time);
    
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];

    if(idmonth == 0 ) idmonth =MONTH_TO_DISPLAY; // default
    //OBJ_SITE.stats_day

    (idmonth ==ARDATE['monthcode'])?  BOOL_CUR_monthcode = true : BOOL_CUR_monthcode = false;
    //alert(day + ' , ' + ARDATE['day'] + ' , ' + BOOL_CUR_DAY);
  
    var OBJ_MONTH = OBJ_SITE.monthly_stats[idmonth];

    
    var ndays_month = OBJ_MONTH.AR_date['ndayMonth'];
    OBJ_MONTH.AR_vis = OBJ_MONTH.str_vis.split("#");
    OBJ_MONTH.AR_hits = OBJ_MONTH.str_hits.split("#");
    OBJ_MONTH.AR_nevis = OBJ_MONTH.str_nevis.split("#");
    OBJ_MONTH.AR_ppv = OBJ_MONTH.str_ppv.split("#");
    OBJ_MONTH.AR_unb = OBJ_MONTH.str_unb.split("#");
    OBJ_MONTH.AR_tun = OBJ_MONTH.str_tun.split("#");
    OBJ_MONTH.AR_nvisPERC = OBJ_MONTH.str_nvisPERC.split("#");
    OBJ_MONTH.AR_freq = OBJ_MONTH.str_freq.split("#");

    OBJ_MONTH.AR_vis = copia_ar_CUT(OBJ_MONTH.AR_vis,ndays_month);
    OBJ_MONTH.AR_hits = copia_ar_CUT(OBJ_MONTH.AR_hits,ndays_month);
    OBJ_MONTH.AR_nevis = copia_ar_CUT(OBJ_MONTH.AR_nevis,ndays_month);
    OBJ_MONTH.AR_ppv = copia_ar_CUT(OBJ_MONTH.AR_ppv,ndays_month);
    OBJ_MONTH.AR_nvisPERC = copia_ar_CUT(OBJ_MONTH.AR_nvisPERC,ndays_month);

    OBJ_MONTH.AR_unb = copia_ar_CUT(OBJ_MONTH.AR_unb,ndays_month);
    OBJ_MONTH.AR_tun = copia_ar_CUT(OBJ_MONTH.AR_tun,ndays_month);


    //alert('bbb');
    if(OBJ_MONTH.IDday_to_append > 0 ){ // append a day
        var OBJ_DAY = OBJ_SITE.daily_stats[OBJ_MONTH.IDday_to_append];
        
        var tmp_nday = OBJ_DAY.day-1;
        //   alert(OBJ_MONTH.IDday_to_append);
        if(OBJ_MONTH.AR_vis[tmp_nday]){ // day in the month
            OBJ_MONTH.AR_vis[tmp_nday] = OBJ_DAY.TOTAL_VIS;
            OBJ_MONTH.AR_hits[tmp_nday] = OBJ_DAY.TOTAL_HITS;
            OBJ_MONTH.AR_nevis[tmp_nday] = OBJ_DAY.TOTAL_nVIS;
            OBJ_MONTH.AR_ppv[tmp_nday] = OBJ_DAY.totalPPV;
            OBJ_MONTH.AR_nvisPERC[tmp_nday] = OBJ_DAY.totalnvisPERC;

            OBJ_MONTH.AR_unb[tmp_nday] = 0;
            if(OBJ_DAY.TOTAL_VIS>0) OBJ_MONTH.AR_unb[tmp_nday] = parseInt((OBJ_DAY.TOTAL_VIS - OBJ_DAY.TOTAL_UNB)/OBJ_DAY.TOTAL_VIS*1000)/10;
            
            OBJ_MONTH.AR_tun[tmp_nday] = 0;
            if(OBJ_DAY.TOTAL_VIS>0) OBJ_MONTH.AR_tun[tmp_nday] = parseInt((OBJ_DAY.TOTAL_VIS - OBJ_DAY.TOTAL_TUN)/OBJ_DAY.TOTAL_VIS*1000)/10;
        //alert('appeso giorno ' + OBJ_DAY.day );
        }
    
    
    }
    //alert(OBJ_MONTH.str_vis);
    OBJ_MONTH.str_vis = OBJ_MONTH.AR_vis.join("#");
    OBJ_MONTH.str_hits = OBJ_MONTH.AR_hits.join("#");
    OBJ_MONTH.str_nevis = OBJ_MONTH.AR_nevis.join("#");
    OBJ_MONTH.str_ppv = OBJ_MONTH.AR_ppv.join("#");
    OBJ_MONTH.str_nvisPERC = OBJ_MONTH.AR_nvisPERC.join("#");



    OBJ_MONTH.str_unb = OBJ_MONTH.AR_unb.join("#");
    OBJ_MONTH.str_tun = OBJ_MONTH.AR_tun.join("#");
    
    //alert(OBJ_MONTH.str_vis);

    OBJ_MONTH.totalnvisPERC = parseInt((OBJ_MONTH.TOTAL_nVIS/OBJ_MONTH.TOTAL_VIS)*10000)/100;
    OBJ_MONTH.totalPPV = parseInt((OBJ_MONTH.TOTAL_HITS/OBJ_MONTH.TOTAL_VIS)*100)/100;
    if(OBJ_MONTH.AR_vis.length < 1 ) return ;
    for(k in OBJ_MONTH.AR_vis){
        OBJ_MONTH.AR_vis[k] = parseInt(OBJ_MONTH.AR_vis[k]);
    }
    var tmp_Online = 0 ;
    for(k in OBJ_MONTH.AR_vis){
       
        tmp_Online = 0 ;
        if(OBJ_MONTH.AR_vis[k] > 0 ) tmp_Online = parseInt(OBJ_MONTH.AR_vis[k]/144);
        if(BOOL_CUR_monthcode && (k ==ARDATE['day']) ) tmp_Online = parseInt((tmp_Online*144)/(((ARDATE['min']*60)+(ARDATE['hour']*3600)+ARDATE['sec'])/600));
        OBJ_MONTH.AR_onlineAVG[k] = tmp_Online;
    }

    OBJ_MONTH.str_onlineAVG =  OBJ_MONTH.AR_onlineAVG.join("#");
}
// explode strdata to array
histats_site_monthlystats_class.prototype.build_AR_exploded  = function() {
    this.AR_vis = this.str_vis.split("#");
    this.AR_nevis = this.str_nevis.split("#");
    this.AR_hits = this.str_hits.split("#");
    this.AR_unb = this.str_unb.split("#");
    this.AR_tun = this.str_tun.split("#");
    this.AR_ppv = this.str_ppv.split("#");
    this.AR_nvisPERC = this.str_nvisPERC.split("#");
    this.AR_freq = this.str_freq.split("#");
}

// explode strdata to array
histats_site_monthlystats_class.prototype.build_strimploded_FROMAR  = function(limit) {
    this.str_vis = '';
    this.str_nevis = '';
    this.str_hits = '';
    this.str_vis =  '';
    this.str_ppv =  '';
    this.str_unb =  '';
    this.str_tun =  '';
    this.str_nvisPERC =  '';
    if(limit == 0 ){
        this.str_vis = this.AR_vis.join("#");
        this.str_nevis = this.AR_nevis.join("#");
        this.str_hits = this.AR_hits.join("#");
        this.str_unb = this.AR_unb.join("#");
        this.str_tun = this.AR_tun.join("#");
        this.str_ppv = this.AR_ppv.join("#");
        this.str_nvisPERC = this.AR_nvisPERC.join("#");
      
    }else{ // limited count
        var tmp_cancel = '';
        for(k in this.AR_vis){
            if(k<=limit){
                this.str_vis+= tmp_cancel+ this.AR_vis[k];
                this.str_nevis+=  tmp_cancel+ this.AR_nevis[k];
                this.str_hits+=  tmp_cancel+ this.AR_hits[k];
                this.str_unb+=  tmp_cancel+ this.AR_unb[k];
                this.str_tun+=  tmp_cancel+ this.AR_tun[k];
                this.str_ppv+=  tmp_cancel+ this.AR_ppv[k];
                this.str_nvisPERC+=  tmp_cancel+ this.AR_nvisPERC[k];
             
                tmp_cancel = '#';
            }
        }
    //alert('strvis : ' + this.str_vis);
    }

}

// build string for x 
histats_site_monthlystats_class.prototype.build_strGRAPH_date  = function(limit) {
    this.str_x = '';
    this.str_data = '';
    var tmp_dayW = 0;
  
    var tmp_cancel = "";
    var limiteday = this.AR_date['ndayMonth'];
    var tmp_dayW = this.AR_date['wday1st'];
    if(limit > 0) limiteday = limit;
    for(var i = 1 ; i <= limiteday;i++){
        if(tmp_dayW>6)tmp_dayW=0;
        this.str_x+= tmp_cancel+""+i;
        //this.str_data+= tmp_cancel+i+" " +  GL.R(GLOBAL_AR_MONTH[parseInt(this.AR_date['month'])]);
        this.str_data+= tmp_cancel+GLOBAL_AR_DAYW[parseInt(tmp_dayW)]+" " +i+" " +  GL.R(GLOBAL_AR_MONTH[parseInt(this.AR_date['month'])]);
        tmp_cancel = "#";
        tmp_dayW++;
    }
}

histats_statsmodule_class.prototype.f_month_print_avg_online  = function(monthcode ) {
    this.f_print_monthlystats_SWF_BASE();
    this.f_month_build_avg_online(monthcode,0); // monthcode, limit 
    this.f_month_apply_avg_online(monthcode);
}

histats_statsmodule_class.prototype.f_month_limit_avg_online  = function(monthcode,limit  ) {
    if(!OBJ_SITE.monthly_stats[monthcode]) return ;
    var OBJ_MONTH = OBJ_SITE.monthOBJ_SITEly_stats[monthcode];
    if(limit < 1 ){
        OBJ_MONTH.str_onlineAVG =  OBJ_MONTH.AR_onlineAVG.join("#");
    }else{
        var tmp_cancel = '' ;
        for (k in OBJ_MONTH.AR_onlineAVG){
            if(k<limit){
                OBJ_MONTH.str_onlineAVG = OBJ_MONTH.str_onlineAVG+tmp_cancel+OBJ_MONTH.AR_onlineAVG[k];
                tmp_cancel = '#';
            }
        }
    }
}
// build online average values based on vis
histats_statsmodule_class.prototype.f_month_build_avg_online  = function(monthcode,limit  ) {
    if(limit == undefined) limit = 0 ;
    OBJ_SITE =  OBJ_SITEs[this.ids];
    ARDATE = f_return_DATE_AR(OBJ_SITE.site_time);
    
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];
 
    if(monthcode == 0 ) monthcode =MONTH_TO_DISPLAY; // default
    //OBJ_SITE.stats_day

    (monthcode ==ARDATE['monthcode'])?  BOOL_CUR_monthcode = true : BOOL_CUR_monthcode = false;

    //   alert('online avg : ' + monthcode ) ;
    if(!OBJ_SITE.monthly_stats[monthcode]) return ;
   
    var OBJ_MONTH = OBJ_SITE.monthly_stats[monthcode];

    OBJ_MONTH.str_onlineAVG  = '';
    //alert(day + ' , ' + ARDATE['day'] + ' , ' + BOOL_CUR_monthcode);
    //this.f_print_monthlystats_SWF_BASE();


    OBJ_MONTH.AR_vis = OBJ_MONTH.str_vis.split("#");

    if(OBJ_MONTH.AR_vis.length < 1 ) return ;
    for(k in OBJ_MONTH.AR_vis){
        OBJ_MONTH.AR_vis[k] = parseInt(OBJ_MONTH.AR_vis[k]);
    }

    var tmp_Online = 0 ;
    for(k in OBJ_MONTH.AR_vis){
        tmp_Online = 0 ;
        if(OBJ_MONTH.AR_vis[k] > 0 ) tmp_Online = parseInt(OBJ_MONTH.AR_vis[k]/144);
        if(BOOL_CUR_monthcode && (k ==ARDATE['day']) ) tmp_Online = parseInt((tmp_Online*144)/(((ARDATE['min']*60)+(ARDATE['hour']*3600)+ARDATE['sec'])/600));
        OBJ_MONTH.AR_onlineAVG[k] = tmp_Online;
    }
     
    if(limit < 1 ){
        OBJ_MONTH.str_onlineAVG =  OBJ_MONTH.AR_onlineAVG.join("#");
    }else{
        var tmp_cancel = '' ;
        for (k in OBJ_MONTH.AR_onlineAVG){
            if(k<limit){
                OBJ_MONTH.str_onlineAVG = OBJ_MONTH.str_onlineAVG+tmp_cancel+OBJ_MONTH.AR_onlineAVG[k];
                tmp_cancel = '#';
            }
        }
    }
     

//alert(OBJ_MONTH.str_onlineAVG);
}
// build online average values based on vis
histats_statsmodule_class.prototype.f_month_apply_avg_online  = function(monthcode) {
    OBJ_SITE =  OBJ_SITEs[this.ids];

    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];
    
    if(monthcode == 0 ) monthcode =MONTH_TO_DISPLAY; // default
     
    if(!OBJ_SITE.monthly_stats[monthcode]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[monthcode];
    
    this.ARSWF_variables['var_val_p1'] = OBJ_MONTH.str_onlineAVG;
    this.ARSWF_variables['var_number_lineDraw'] = '1';
    this.ARSWF_variables['var_tiposcala_linee'] =3;
    this.ARSWF_variables['var_lang_p1'] = GL.Q('avg_online');
    this.ARSWF_variables['rldData'] = '1';
}

histats_statsmodule_class.prototype.f_print_monthly_nocompare  = function(monthcode) {
    OBJ_SITE = OBJ_SITEs[this.ids];
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];

    if(monthcode == 0 ) monthcode =MONTH_TO_DISPLAY; // default

    if(!OBJ_SITE.monthly_stats[monthcode]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[monthcode];
    this.f_print_monthlystats_SWF_BASE();

    this.ARSWF_variables['rldData'] = '1';
}

histats_statsmodule_class.prototype.f_print_monthly_average_ppv  = function(monthcode) {

    OBJ_SITE = OBJ_SITEs[this.ids];
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];

    if(monthcode == 0 ) monthcode =MONTH_TO_DISPLAY; // default

    if(!OBJ_SITE.monthly_stats[monthcode]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[monthcode];
    this.f_print_monthlystats_SWF_BASE();


    this.ARSWF_variables['var_val_p1'] = OBJ_MONTH.str_ppv;
    this.ARSWF_variables['var_number_lineDraw'] = '1';
    this.ARSWF_variables['var_tiposcala_linee'] =3;
    this.ARSWF_variables['var_lang_p1'] = GL.Q('ppv_tip');
    this.ARSWF_variables['rldData'] = '1';
}

histats_statsmodule_class.prototype.f_print_monthly_unb  = function(monthcode) {

    OBJ_SITE = OBJ_SITEs[this.ids];
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];

    if(monthcode == 0 ) monthcode =MONTH_TO_DISPLAY; // default

    if(!OBJ_SITE.monthly_stats[monthcode]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[monthcode];
    this.f_print_monthlystats_SWF_BASE();


    this.ARSWF_variables['var_val_p1'] = OBJ_MONTH.str_unb;
    this.ARSWF_variables['var_val_p2'] = OBJ_MONTH.str_tun;
    this.ARSWF_variables['var_number_lineDraw'] = '2';
    this.ARSWF_variables['var_tiposcala_linee'] =3;
    this.ARSWF_variables['var_lang_p1'] = '% '+GL.Q('bounce_desc');
    this.ARSWF_variables['var_lang_p2'] = '% '+GL.Q('tbounce_desc');
    this.ARSWF_variables['rldData'] = '1';
}

histats_statsmodule_class.prototype.f_print_monthly_newvis_perc  = function(monthcode) {

    OBJ_SITE = OBJ_SITEs[this.ids];

    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];
    
    if(monthcode == 0 ) monthcode =MONTH_TO_DISPLAY; // default
    if(!OBJ_SITE.monthly_stats[monthcode]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[monthcode];
    this.f_print_monthlystats_SWF_BASE();

    this.ARSWF_variables['var_val_p1'] = OBJ_MONTH.str_nvisPERC;
    this.ARSWF_variables['var_number_lineDraw'] = '1';
    this.ARSWF_variables['var_tiposcala_linee'] =3;
    this.ARSWF_variables['var_lang_p1'] = '% '+GL.Q('n_visitatori');
    this.ARSWF_variables['rldData'] = '1';
}

histats_statsmodule_class.prototype.f_print_monthly_stats_table  = function(monthcode){
    OBJ_SITE = OBJ_SITEs[this.ids];

    var print_perc = 0;

    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];

    if(monthcode == 0 ) monthcode =MONTH_TO_DISPLAY; // default
    if(!OBJ_SITE.monthly_stats[monthcode]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[monthcode];
    
    var HTML_TABLE = '' ;
    OBJ_MONTH.AR_vis = OBJ_MONTH.str_vis.split("#");
    if(OBJ_MONTH.AR_vis.length < 1 ) return ;

    // build compare calendar
    OBJ_MONTH.compare_CAL_id  = G_CAL_HANDLER.crate_cal_obj();
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].build_OVER_IDS(this.ids);
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].div_datecal = 'histats_monthlystats_compare_calendar';
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].nmod = this.nmod;
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].HTML_tabSTYLE = 'm';
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].HTML_TAB_SELECTED ='m'; //monthly
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].range = 'm';
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].AR_HTMLlinks['month'] = 'onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_monthlystats_do_comparemonth({--monthyear--});"';
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].build_dateAR();
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].build_html_portions();
    G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].print_toDIV();
    GLOBAL_DHTMLOBJ.CREATE_ELEMENT('histats_monthlystats_compare_calendar','');
    //alert(G_CAL_HANDLER.AR_CALENDAR[OBJ_MONTH.compare_CAL_id].AR_HTML['month']);


    HTML_TABLE+= '<table border="0" width="100%" cellspacing="0" cellpadding="0" height="10"><tr><td></td></tr></table>\
                    <table border="0" width="700" cellspacing="1" cellpadding="0"><tr>\
                        <td width="50" align="center" class="tdIntesta tdIntestaL">'+GL.R('giorno')+'</td>\
                        <td width="250" align="left" style="padding-left:3px;" class="tdIntesta">'+GL.R('grafico_visitatori')+'</td>\
                        <td width="100" align="center" class="tdIntesta"><font class="text11_white">'+GL.R('visitatori')+'</font></td>\
                        <td width="130" align="center" class="tdIntesta"><font class="text11_white">'+GL.R('pagine')+'</font></td>\
                        <td width="100" align="center" class="tdIntesta"><font class="text11_white">'+GL.R('newvis')+'(%)</font></td>\
                        <td width="70" align="center" class="tdIntesta tdIntestaR"><font class="text11_white">%'+GL.R('bounce')+'</font></td>\
                </tr></table>';



    /*HTML_TABLE+= '<table border="0" width="100%" cellspacing="0" cellpadding="0" height="10"><tr><td></td></tr></table>\
                <table border="0" width="700" cellspacing="0" cellpadding="0" height="30" background="'+GLOBALS['FOLDER_img']+'bar_70030.png"><tr><td>\
                    <table border="0" width="700" cellspacing="0" cellpadding="0" height="20"><tr>\
                        <td width="70" style="border-right: 1px solid #C7CDDE" align="center"><font class="text11_Dblue">'+GL.R('giorno')+'</font></td>\
                        <td width="300" style="border-right: 1px solid #C7CDDE; padding-left:5px"><font class="text11_Dblue">'+GL.R('grafico_visitatori')+'</font></td>\
                        <td width="100" style="border-right: 1px solid #C7CDDE; padding-left:5px"><font class="text11_Dblue">'+GL.R('visitatori')+'</font></td>\
                        <td width="130" style="border-right: 1px solid #C7CDDE; padding-left:5px"><font class="text11_Dblue">'+GL.R('pagine')+' (pvpv)</font></td>\
                        <td width="100" style="padding-left: 5px" ><font class="text11_Dblue">'+GL.R('new_vis')+' (%)</font></td>\
                    </tr></table>\
                </td></tr></table>';*/


    var AR_PECENT_BAR =  f_cal_percentuali_ARRAY( OBJ_MONTH.AR_vis )  // AR_ritorno['perc_assoluta'] ,  AR_ritorno['perc_relativa']

    var tmpCount = 0;
    var tmp_classRow = 'tb_data_1';
    var tmp_Wbar = 0;
    for(k in OBJ_MONTH.AR_vis){
        if(parseInt(k) < OBJ_MONTH.AR_date['ndayMonth']){
            tmp_classRow = 'tb_data_1';
            if(tmpCount%2==1) tmp_classRow = 'tb_data_2';

            if(AR_PECENT_BAR['perc_assoluta'][k]) print_perc = GL.fn((parseInt(AR_PECENT_BAR['perc_assoluta'][k]*100)/100));
            else print_perc = 0;

            tmp_Wbar = 0;
            if(AR_PECENT_BAR['perc_relativa'][k]){
                tmp_Wbar = parseInt(AR_PECENT_BAR['perc_relativa'][k]*1.9);
            }
            if(tmp_Wbar>190) tmp_Wbar = 190;

            /*HTML_TABLE+= '<table class="'+tmp_classRow+'" onmouseover="this.className=\'tb_data_Over\'" onmouseout="this.className=\''+tmp_classRow+'\'" width="700"><tr>\
                            <td width="70" align="center">'+(parseInt(k)+1)+'</td>\
                            <td width="300" style="padding-left: 5px"><div id="prgBAR" style="width:'+tmp_Wbar+'px"></div>&nbsp;'+print_perc+' %</td>\
                            <td width="100" style="padding-left: 5px"><font class="text14">'+GL.fn(OBJ_MONTH.AR_vis[k])+'</font></td>\
                            <td width="130" style="padding-left: 5px"><font class="text14">'+GL.fn(OBJ_MONTH.AR_hits[k])+'</font> ('+(OBJ_MONTH.AR_ppv[k])+')</td>\
                            <td width="100" style="padding-left: 5px">'+GL.fn(OBJ_MONTH.AR_nevis[k])+' ('+(OBJ_MONTH.AR_nvisPERC[k])+')</td>\
                        </tr></table>';*/

            HTML_TABLE+= '<table class="'+tmp_classRow+'"  width="700"><tr>\
                            <td width="50" align="center">'+(parseInt(k)+1)+'</td>\
                            <td width="250" align="left" style="padding-left: 5px"><div id="prgBAR" style="width:'+tmp_Wbar+'px"></div>&nbsp;'+print_perc+' %</td>\
                            <td width="100" align="center"><font class="text14">'+GL.fn(OBJ_MONTH.AR_vis[k])+'</font></td>\
                            <td width="130" align="center"><font class="text14">'+GL.fn(OBJ_MONTH.AR_hits[k])+'</font> ('+(OBJ_MONTH.AR_ppv[k])+')</td>\
                            <td width="100" align="center">'+GL.fn(OBJ_MONTH.AR_nevis[k])+' ('+(OBJ_MONTH.AR_nvisPERC[k])+')</td>\
                            <td width="70" align="center">'+GL.fn(OBJ_MONTH.AR_tun[k])+'%</td>\
                        </tr></table>';


            tmpCount++;
        }
    }
    return HTML_TABLE;
}

histats_statsmodule_class.prototype.f_print_monthlystats  = function() { // set nmod and change what need to get changed when nmod is changed :)
    OBJ_SITE = OBJ_SITEs[this.ids];

    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];
    if(!OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY];

    // sid calendar callback 
    //G_CAL_HANDLER.AR_CALENDAR[this.ID_CALDATE_SITE].build_html_portions();


    this.f_monthlystats_build_addional_stats(MONTH_TO_DISPLAY);
    this.stats_pagetype = 'monthlystats' ;

    this.f_print_monthlystats_BASE();
    this.f_print_monthlystats_SWF_BASE();
    G_SWF_HANDLER.AR_SWFOBJ[this.swf_COLGRAPH_id].LOAD_FOB();

//alert(this.stats_pagetype);
}

histats_statsmodule_class.prototype.f_print_comparemonth  = function(monthcode) {

    //alert('f_print_comparemonth: '+monthcode);

    //alert('start compare on : ' + monthcode);
    OBJ_SITE = OBJ_SITEs[this.ids];
    if(!OBJ_SITE.monthly_stats){
        return;
    }

    if(!OBJ_SITE.monthly_stats[monthcode]){
        return ;
    }
    OBJ_MONTH = OBJ_SITE.monthly_stats[monthcode];
  
    //'+ptrDATEmodule.get_dateday_y()+
    this.ARSWF_variables['var_val_p1'] = OBJ_MONTH.str_nevis;
    this.ARSWF_variables['var_val_p2'] =  OBJ_MONTH.str_vis ;
    this.ARSWF_variables['var_val_p3'] = OBJ_MONTH.str_hits;
    this.ARSWF_variables['var_lang_p1'] = GL.Q(GLOBAL_AR_MONTH[parseInt(OBJ_MONTH.AR_date['month'])]) + ' , ' + GL.Q('new_vis');
    this.ARSWF_variables['var_lang_p2'] = GL.Q(GLOBAL_AR_MONTH[parseInt(OBJ_MONTH.AR_date['month'])]) + ' , ' + GL.Q('vis');
    this.ARSWF_variables['var_lang_p3'] = GL.Q(GLOBAL_AR_MONTH[parseInt(OBJ_MONTH.AR_date['month'])]) + ' , ' + GL.Q('pagine_viste');
    this.ARSWF_variables['var_number_lineDraw'] = '3';
    this.ARSWF_variables['var_tiposcala_linee'] = 1;
    this.ARSWF_variables['rldData'] = '1';
//alert(monthcode);
}

histats_statsmodule_class.prototype.f_print_monthlystats___PORTION__basecol  = function(monthcode) {
    OBJ_SITE = OBJ_SITEs[this.ids];

    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];

    if(!OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY]) return ;
    //alert(MONTH_TO_DISPLAY);
    OBJ_MONTH = OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY];

    this.ARSWF_variables['var_val_col1'] = OBJ_MONTH.str_nevis;
    this.ARSWF_variables['var_val_col2'] = OBJ_MONTH.str_vis ;
    this.ARSWF_variables['var_val_col3'] = OBJ_MONTH.str_hits;
  

}

histats_statsmodule_class.prototype.f_print_monthlystats_SWF_BASE  = function() {
    OBJ_SITE = OBJ_SITEs[this.ids];

    //this.ARSWF_variables = Array();
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];
    
    if(!OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY];
    this.f_print_monthlystats___PORTION__basecol(MONTH_TO_DISPLAY);

    OBJ_MONTH.build_strGRAPH_date(); // build x line dateSTR
    
    this.ARSWF_variables['var_for_col1'] = '';
    this.ARSWF_variables['var_for_col2'] = '';
    this.ARSWF_variables['var_for_col3'] = '';
    this.ARSWF_variables['var_val_p1'] = '';
    this.ARSWF_variables['var_val_p2'] = '';
    this.ARSWF_variables['var_val_p3'] = '';
    this.ARSWF_variables['var_number_lineDraw'] = '0';
    this.ARSWF_variables['var_tiposcala_linee'] = 3;

    this.ARSWF_variables['var_n_barre'] =  OBJ_MONTH.AR_date['ndayMonth'];
 
    this.ARSWF_variables['var_str_x'] = OBJ_MONTH.str_x;
    this.ARSWF_variables['var_str_data'] = OBJ_MONTH.str_data;
    
    this.ARSWF_variables['var_gg_forecast'] = OBJ_MONTH.AR_date['ndayMonth'];
    this.ARSWF_variables['WDAY_firstDAY'] = OBJ_MONTH.AR_date['wday1st'];// weekday first day 0,6-99
    this.ARSWF_variables['var_lang_vis'] = GL.Q('visitatori');
    this.ARSWF_variables['var_lang_pv'] = GL.Q('pagine_viste');
    
    // init swf
    var swfid = G_SWF_HANDLER.crate_swf_obj();
    this.swf_COLGRAPH_id = swfid;
    // load swf
    G_SWF_HANDLER.AR_SWFOBJ[swfid].nome_DIV_CONTAINER ='histats_monthlystats_divFOB';
     G_SWF_HANDLER.AR_SWFOBJ[swfid].swfclickfunct = "OBJ_STATSsheet.ARmodules["+this.nmod+"].swf_gotoday_month('--value--');";

    G_SWF_HANDLER.AR_SWFOBJ[swfid].callback_type = 'data';
    G_SWF_HANDLER.AR_SWFOBJ[swfid].AR_RETURN_DATA = this.ARSWF_variables;
    //G_SWF_HANDLER.AR_SWFOBJ[swfid].LOAD_FOB();
}

histats_statsmodule_class.prototype.reload_FOB  = function(){

    G_SWF_HANDLER.AR_SWFOBJ[this.swf_COLGRAPH_id].LOAD_FOB();
}

histats_statsmodule_class.prototype.f_print_monthlystats_BASE  = function() {
    OBJ_SITE = OBJ_SITEs[this.ids];
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];
    if(!OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY];
    var HTML_TABLE_DAY = this.f_print_monthly_stats_table(MONTH_TO_DISPLAY);

    var ptr_SITEtime =  G_CAL_HANDLER.AR_CALENDAR[OBJ_SITE.ID_CALDATE_SITE];
    //alert(ptr_SITEtime.dateAR['monthcode'] + ' - ' + MONTH_TO_DISPLAY);
    var currentSITE_monthcode = ptr_SITEtime.dateAR['monthcode'];
    //alert(currentSITE_monthcode);
    //ptr_sid.monthly_stats[DAY_TO_DISPLAY]
    /*<table border="0" width="700" cellspacing="0" cellpadding="0">\
                        <tr>\
                            <td width="480"  align="left"><font class="text20">'+GL.R('monthly_stats')+'</font></td>\
                            <td width="220" align="center">&nbsp;&nbsp;<font class="text16_blue">'+ptrDATEmodule.get_month_y()+'</font></td>\
                        </tr>\
                    </table>\
        <table border="0" width="700" cellspacing="0" cellpadding="0" height="50" background="'+GLOBALS['FOLDER_img']+'bgTITLE_70040.png">\
                        <tr>\
                            <td width="480"  align="left" style="padding-left: 10px"><font class="text20"><font color="#FFFFFF">'+GL.R('monthly_stats')+'</font></font></td>\
                            <td width="220" align="right" style="padding-right: 10px"><font class="text16_blue"><font color="#FFFFFF">'+ptrDATEmodule.get_month_y()+'</font></font></td>\
                        </tr>\
                        <tr>\
                            <td style="padding-left: 10px;" align="left" width="480" height="10"></td>\
                            <td style="padding-right: 10px;" align="right" width="220" height="10"></td>\
                        </tr>\
                    </table>\*/
    var HTML_PART1 = '<table class="Dintesta" border="0" width="700" cellspacing="0" cellpadding="0"><tr>\
                        <td style="width:500px">'+GL.R('monthly_stats')+'</td>\
                        <td style="width:220px;font-size:20px;" align="center">'+ptrDATEmodule.get_month_y()+'</td>\
                    </tr></table>\
                    <table border="0" width="100%" cellspacing="0" cellpadding="0" height="10"><tr><td></td></tr></table>\
                    <table border="0" width="700" cellspacing="0" cellpadding="0">\
                        <tr>\
                            <td width="350" valign="top">\
                                <table border="0" width="350" cellspacing="0" cellpadding="0" height="40">\
                                    <tr>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-left: 5px;" width="200"><font class="text11_grey">'+GL.R('pagine_viste_totale')+':</font></td>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-right: 5px" width="150" align="right"><font class="text14_Dblue">'+GL.fn(OBJ_MONTH.TOTAL_HITS)+'</font></td>\
                                    </tr>\
                                    <tr>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-left: 5px" width="200" bgcolor="#F2F2F2"><font class="text11_grey">'+GL.R('totale_visit')+':</font></td>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-right: 5px" width="150" align="right" bgcolor="#F2F2F2"><font class="text14_Dblue">'+GL.fn(OBJ_MONTH.TOTAL_VIS)+'</font></td>\
                                    </tr>\
                                    <tr>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-left: 5px" width="200"><font class="text11_grey">'+GL.R('nuovi_visitatori')+':</font></td>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-right: 5px" width="150" align="right"><font class="text14_Dblue">'+GL.fn(OBJ_MONTH.TOTAL_nVIS)+'</font></td>\
                                    </tr>\
                                    <tr>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-left: 5px" width="200" bgcolor="#F2F2F2"><font class="text11_grey">'+GL.R('pag_per_visit')+':</font></td>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-right: 5px" width="150" align="right" bgcolor="#F2F2F2"><font class="text14_Dblue">'+GL.fn(OBJ_MONTH.totalPPV)+'</font></td>\
                                    </tr>\
                                    <tr>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-left: 5px" width="200"><font class="text11_grey">'+GL.R('new_vis_ratio')+':</font></td>\
                                        <td height="25" style="border-bottom:1px solid #E3EFF2; padding-right: 5px;" width="150" align="right"><font class="text14_Dblue">'+GL.fn(OBJ_MONTH.totalnvisPERC)+' %</font></td>\
                                    </tr>\
                                </table>\
                                <table border="0" width="350" cellspacing="0" cellpadding="0" height="30"><tr><td height="30" align="right" style="padding-right: 5px;"><a href="http://www.histats.com/viewstats/?sid='+this.ids+'&act=21" class="text14"><img src="'+GLOBALS['FOLDER_img']+'025.png" border="0"> '+GL.R('cumulative_by_months')+'</a></td></tr></table>\
                            </td>\
                            <td width="350" align="right" valign="top"><div id="div_monthlystats_moduleDATECAL_'+this.nmod+'"  name="div_monthlystats_moduleDATECAL_'+this.nmod+'"   > </div></td>\
                        </tr>\
                    </table>\
                    <table border="0" width="100%" cellspacing="0" cellpadding="0" height="10"><tr><td></td></tr></table>';



   /* var HTML_PART2 = '<table border="0" width="700" background="'+GLOBALS['FOLDER_img']+'compare700.png" height="30" cellspacing="0" cellpadding="0"><tr><td align="center">\
    <table border="0"  cellspacing="0" cellpadding="0" width="680" height="20"><tr>\
            <td width="25"><img border="0" src="'+GLOBALS['FOLDER_img']+'compareICO2.png"></td>\
            <td width=""><font class="text14_Dblue"> '+GL.R('compare')+'</font></td>\
            <td class="compareTD" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_print_monthly_nocompare(0);" onmouseover="doTooltip_testo(event,\''+addslashes(GL.R('no_compare'))+'\')" onmouseout="hideTip()"><img src="'+GLOBALS['FOLDER_img']+'150.png" border="0"> no</font></td>\
            <td class="compareTD" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_print_monthly_average_ppv(0);" onmouseover="doTooltip_testo(event,\''+addslashes(GL.R('trend_Ppv'))+'\')" onmouseout="hideTip()"><img border="0" src="'+GLOBALS['FOLDER_img']+'trend10.png"> '+GL.R('ppv')+'</td>\
             <td class="compareTD" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_print_monthly_newvis_perc(0);" onmouseover="doTooltip_testo(event,\''+addslashes(GL.R('n_visitatori'))+'\')" onmouseout="hideTip()"><img border="0" src="'+GLOBALS['FOLDER_img']+'trend10b.png"> Nvis</td>\
            <td class="compareTD" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_month_print_avg_online(0);" onmouseover="doTooltip_testo(event,\''+addslashes(GL.R('avg_online'))+'\')" onmouseout="hideTip()"><img border="0" src="'+GLOBALS['FOLDER_img']+'liveIco.png"> '+GL.R('contval_online')+'</td>\
            <td class="compareTD" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_monthlystats_do_comparemonth('+currentSITE_monthcode+');" onmouseover="doTooltip_testo(event,\''+addslashes(GL.R('mese_corrente'))+'\')" onmouseout="hideTip()"><img border="0" src="'+GLOBALS['FOLDER_img']+'026.png"> C.m.</td>\
            <td class="compareTD" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_monthlystats_do_comparemonth('+(MONTH_TO_DISPLAY-1)+');" onmouseover="doTooltip_testo(event,\''+addslashes(GL.R('last_month'))+'\')" onmouseout="hideTip()"><img src="'+GLOBALS['FOLDER_img']+'026.png" border="0"> -1</td>\
            <td class="compareTD" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_monthlystats_do_comparemonth('+(MONTH_TO_DISPLAY-13)+');" onmouseover="doTooltip_testo(event,\''+addslashes(GL.R('year_back'))+'\')" onmouseout="hideTip()"><img src="'+GLOBALS['FOLDER_img']+'026.png" border="0"> -12</td>\
            <td class="compareTD" id="compare_monthly_stats_calendarTD" onmouseover="GLOBAL_DHTMLOBJ._ELEMENT_mouseOVER_showhere(\'histats_monthlystats_compare_calendar\',this.id);" ><img src="'+GLOBALS['FOLDER_img']+'025.png" border="0" height="10" width="10">'+GL.R('by_month')+'<img border="0" src="'+GLOBALS['FOLDER_img']+'ar_D.gif"></td>\
    </tr></table>\
</td></tr></table>\*/




var HTML_PART2 = '<div class="TBcompare">\
<table border="0" width="100%" cellspacing="0" cellpadding="0"><tr>\
            <td width="25"><img border="0" src="'+GLOBALS['FOLDER_img']+'compareICO2.png"></td>\
            <td width=""><font class="text14_blue"> '+GL.R('compare')+'</font></td>\
            <td class="compareTD ttip" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_print_monthly_nocompare(0);" original-title=\''+addslashes(GL.R('no_compare'))+'\'><img src="'+GLOBALS['FOLDER_img']+'150.png" border="0"> no</font></td>\
            <td class="compareTD ttip" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_print_monthly_unb(0);" original-title=\''+addslashes(GL.R('trend_bounce'))+'\'><img border="0" src="'+GLOBALS['FOLDER_img']+'bounce.png"> bounce</td>\
            <td class="compareTD ttip" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_print_monthly_average_ppv(0);" original-title=\''+addslashes(GL.R('trend_Ppv'))+'\'><img border="0" src="'+GLOBALS['FOLDER_img']+'trend10.png"> '+GL.R('ppv')+'</td>\
             <td class="compareTD ttip" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_print_monthly_newvis_perc(0);" original-title=\''+addslashes(GL.R('n_visitatori'))+'"><img border="0" src="'+GLOBALS['FOLDER_img']+'trend10b.png"> Nvis</td>\
            <td class="compareTD ttip" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_month_print_avg_online(0);" original-title=\''+addslashes(GL.R('avg_online'))+'\'><img border="0" src="'+GLOBALS['FOLDER_img']+'liveIco.png"> '+GL.R('contval_online')+'</td>\
            <td class="compareTD ttip" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_monthlystats_do_comparemonth('+currentSITE_monthcode+');" original-title=\''+addslashes(GL.R('mese_corrente'))+'\'><img border="0" src="'+GLOBALS['FOLDER_img']+'026.png"> C.m.</td>\
            <td class="compareTD ttip" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_monthlystats_do_comparemonth('+(MONTH_TO_DISPLAY-1)+');" original-title=\''+addslashes(GL.R('last_month'))+'\'><img src="'+GLOBALS['FOLDER_img']+'026.png" border="0"> -1</td>\
            <td class="compareTD ttip" onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_monthlystats_do_comparemonth('+(MONTH_TO_DISPLAY-13)+');" original-title=\''+addslashes(GL.R('year_back'))+'\'><img src="'+GLOBALS['FOLDER_img']+'026.png" border="0"> -12</td>\
            <td class="compareTD" style="width:100px;" id="compare_monthly_stats_calendarTD" onmouseover="GLOBAL_DHTMLOBJ._ELEMENT_mouseOVER_showhere(\'histats_monthlystats_compare_calendar\',this.id);" ><img src="'+GLOBALS['FOLDER_img']+'025.png" border="0" height="10" width="10">'+GL.R('by_month')+'<img border="0" src="'+GLOBALS['FOLDER_img']+'ar_D.gif"></td>\
    </tr></table>\
</div>\
' + HTML_TABLE_DAY ;
    var divname_part1 = 'histats_monthlystats_divpart1';
    var divname_part2 = 'histats_monthlystats_divpart2';

    document.getElementById(divname_part1).innerHTML = HTML_PART1;
    document.getElementById(divname_part2).innerHTML = HTML_PART2;


    // calendar
    //this.build_CURRENTCAL();
    G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL].div_datecal = 'div_monthlystats_moduleDATECAL_'+this.nmod;
    G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL].HTML_tabSTYLE ='m'; //monthly
    G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL].HTML_TAB_SELECTED ='m'; //monthly
    G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL].range ='m'; //monthly
    G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL].AR_HTMLlinks['month']  = 'onclick="OBJ_STATSsheet.ARmodules['+this.nmod+'].f_monthlystats_monthclick({--monthyear--});"';
 
    G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL].build_html_portions();

    G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL].print_toDIV();

    $(document).ready(function(){
    $(".compareTD").bind("mouseenter mouseleave",function(event){$(this).toggleClass("compareTD_over");});
    });

    $(".tb_data_1").hover(function () {
        $(this).toggleClass('tb_data_Over')
    });
    $(".tb_data_2").hover(function () {
        $(this).toggleClass('tb_data_Over')
    });
}

histats_statsmodule_class.prototype.f_showHide_COMPARE  = function(){
    if(document.getElementById('div_contentCOMPARE_on').style.display=='none'){
        document.getElementById('div_contentCOMPARE_on').style.display='block';
        document.getElementById('div_contentCOMPARE_off').style.display='none';
    }else{
        document.getElementById('div_contentCOMPARE_on').style.display='none';
        document.getElementById('div_contentCOMPARE_off').style.display='block';
    }
}

histats_statsmodule_class.prototype.f_print_dataEXP  = function(JSID,type) {
    var print_strEXP = '';

    OBJ_SITE = OBJ_SITEs[this.ids];
    var ptrDATEmodule = G_CAL_HANDLER.AR_CALENDAR[this.ID_DATECAL];
    var MONTH_TO_DISPLAY = ptrDATEmodule.dateAR['monthcode'];
    if(MONTH_TO_DISPLAY == 0 ) MONTH_TO_DISPLAY =MONTH_TO_DISPLAY; // default
    if(!OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY]) return ;
    OBJ_MONTH = OBJ_SITE.monthly_stats[MONTH_TO_DISPLAY];

    var HTML_TABLE = '' ;
    OBJ_MONTH.AR_vis = OBJ_MONTH.str_vis.split("#");
    if(OBJ_MONTH.AR_vis.length < 1 ) return ;

    var tmp_separatore = ",";
    if(type=='tsv'){
        tmp_separatore = "\t";
    }

    if(OBJ_MONTH.AR_vis.length>0){
        print_strEXP = GL.R('giorno') + tmp_separatore +  GL.R('visitatori') + tmp_separatore + GL.R('pagine') + tmp_separatore + 'ppv' + tmp_separatore + GL.R('newvis') +"\n";
        for(k in OBJ_MONTH.AR_vis){
            if(parseInt(k) < OBJ_MONTH.AR_date['ndayMonth']){
                print_strEXP += (parseInt(k)+1) + tmp_separatore + OBJ_MONTH.AR_vis[k] + tmp_separatore + OBJ_MONTH.AR_hits[k] + tmp_separatore + OBJ_MONTH.AR_ppv[k]+ tmp_separatore  + OBJ_MONTH.AR_nevis[k] +"\n";
            }
        }
    }else{
        print_strEXP = GL.R('No_data');
    }

    return print_strEXP;
}

if(!JSCACHE) JSCACHE = [] ;
JSCACHE.push(['monthlystats.class.js',2]);
