/* * EN-Addons * кубки, подписи, календарь * * Tucker http://56.en.cx/UserDetails.aspx?uid=19577 * * http://56.en.cx/Addons.aspx?aid=3646 * * 2.0 * */ $('').appendTo('head'); var games_data = []; var g_sid; var desc = []; var hiderank = []; var holidays = []; function init_popup(){ // $(".box-tr").click(function(){return false;}); // чтобы НЕкликабельны были даты в календаре $(".ul-tr ul").hide(); // Opera Fix $(".ul-tr li").hover( function(){$(this).find('ul:first').show("fast").attr("style","z-index:10000");}, function(){$(this).find('ul:first').hide("fast").attr("style","z-index:auto");}); } function en_addon(){ var g_init=0; var g_init=0; var oscars = []; var oscars_id = []; var tmedals = []; var tmedals_id = []; var medals = []; var medals_id = []; var games = []; var games_id = []; var users = []; var users_id = []; var teams = []; var teams_id = []; var it_num = []; var lv_sid = -1; this.pv_sid = -1; var gc_game_unknown = 99; // номер типа игры "Неизвестно" var gc_game_planning = 100; // сдвиг для "Запланированная" var gc_length_with_type = 6; // кол-во данных по игре вместе с типом игры //************************************************* // для сортировки /************************************************* function sortTeamUser(a,b) { // сравнение по количеству побед for (i in a[5]){if (a[5][i].lengthb[5][i].length){return -1;}} // по последней игре или по id if (a[4]!=b[4]){return a[4]-b[4];} else {return a[0]-b[0];} } //*************************************************/ // формирование массивов данных /************************************************* function doInit(){ if (lv_sid == -1){lv_sid = g_sid} g_init = 1; var wa_bdat = seasons[lv_sid][0]; var wa_edat=(lv_sid==seasons.length-1)?99999999:seasons[lv_sid+1][0]; it_num[it_num.length] = "I"; it_num[it_num.length] = "II"; it_num[it_num.length] = "III"; for (i in oscars_data){if (oscars_data[i][0]>=wa_bdat && oscars_data[i][0]=wa_bdat && tmedals_data[i][0]=wa_bdat && medals_data[i][0]=wa_bdat && games_data[i][0]12) { lv_date_to = (p_yy+1)*10000+(p_mm+p_cnt-1-12)*100+31; } else { lv_date_to = p_yy*10000+(p_mm+p_cnt-1)*100+31; } } else { lv_date_from = p_yy*10000+1*100+1; lv_date_to = p_yy*10000+12*100+31; } //alert(lv_date_from+'\n'+lv_date_to); //clndr_data[date,type,url-text,url,text] //games_data[date,g_id,g_dom,g_name,g_players] //games_data[date,g_id,g_type,g_dom,g_name,g_players]=[20091109,1232,1,"oren","(#60) "OLYMPIADA-60"",[]] // 20091116,6663,"oren", // games +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ for (i=0;i=lv_date_from) && (games_data[i][0]<=lv_date_to)) { lv_pos = clndr_data.length; clndr_data[lv_pos]=[0,0,""]; // дата clndr_data[lv_pos][0]=games_data[i][0]; // тип if (games_data[i].length==gc_length_with_type) { clndr_data[lv_pos][1]=games_data[i][2]; j=1; } else { clndr_data[lv_pos][1]=gc_game_unknown; j=0; } // домен lv_dom = (games_data[i][j+2]!="")?"http://"+games_data[i][j+2]+".en.cx/":"/"; lv_dom2_url = (games_data[i][j+2]!="")?" ["+games_data[i][j+2]+".en.cx]":""; lv_dom2 = (games_data[i][j+2]!="")?" ["+games_data[i][j+2]+".en.cx]":""; // игра зарегистрирована lv_reg = (games_data[i][1]>0)?"GameDetails.aspx?gid=" + games_data[i][1]:""; // url clndr_data[lv_pos][2]='['+game_titles[clndr_data[lv_pos][1]][2]+"] "+games_data[i][j+3]+""+lv_dom2_url; // текст clndr_data[lv_pos][3]='['+game_titles[clndr_data[lv_pos][1]][2]+"] "+games_data[i][j+3]+""+lv_dom2; // url clndr_data[lv_pos][4]=lv_dom+lv_reg; // не зарегистрированные игры if (games_data[i][1] == 0){clndr_data[lv_pos][1]+=gc_game_planning;}; } // только в периоде } // по всем играм // holidays ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lv_yy1 = lv_date_from - (lv_date_from % 10000); for (i=0;i=lv_date_from) && (lv_holiday<=lv_date_to)) { holidays_data[holidays_data.length]=[lv_holiday,holidays[i][1],holidays[i][2]]; } lv_holiday+=10000; } } else if ((holidays[i][0]>=lv_date_from) && (holidays[i][0]<=lv_date_to)) { holidays_data[holidays_data.length]=holidays[i]; } } } //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++ fill_day //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //clndr_data[date,type,text] function fill_day(p_date, p_day, today){ var st_url = ""; var found_day = 0; var out_text=""; // игры for (i=0;i"; } } url = "http://cdn.endata.cx/data/games/7338/"+url+".gif"; cell_content = "
  • ∞
      " + wa_menu + "
"; cell_class = "game"; break; } else { if (clndr_data[i][1] < gc_game_planning) { url = ((today) ? 't' : '' )+'type.' + (clndr_data[i][1]); lv_gtype = game_titles[clndr_data[i][1]][2]; } else { url = ((today) ? 't' : 'u' )+'type.' + (clndr_data[i][1] - gc_game_planning); lv_gtype = game_titles[clndr_data[i][1] - gc_game_planning][2]; } url = "http://cdn.endata.cx/data/games/7338/"+url+".gif"; wa_menu = "
  • " + clndr_data[i][2] + "
  • "; // с меню // cell_content = "
    • "+lv_gtype+"
        " + wa_menu + "
    "; // без меню cell_content = ""+lv_gtype+""; cell_class = "game"; found_day = 1; } } } // праздники lv_day = p_date%100; if (found_day == 0) { for (i=0;i"+lv_day+""; cell_class = holidays_data[i][1]; } else { cell_content = lv_day; cell_class = holidays_data[i][1]; } found_day = 1; } } } if (found_day == 0) { if (today) { cell_content = lv_day; cell_class = "currentday"; } else if (p_day < 6) { cell_content = lv_day; cell_class = "wd"; } else { cell_content = lv_day; cell_class = "def_holiday"; } } out_text = ""+cell_content+""; return out_text; } //end of fill_day() //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++ fill_table //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ function fill_table(p_mname,p_mlength,p_year,p_month) { var lv_today=0; var lv_cell=0; var lv_day_pos=0; var lv_res=''; lv_res += ""; var tt_date = new Date(p_year, p_month-1, 1,0,0,0,0); // определение дня недели 1 числа месяца var start_day = tt_date.getDay(); if (start_day == 0) { start_day = 7; } var m_length = p_mlength + start_day - 1; var col = Math.ceil(m_length / 7); var max_col = col * 7; lv_res += ""; // по дням недели for (var y=1;y<=7;y++) { // по столбцам for (var x=1;x<=col;x++) { // первая колонка - названия дней недели if (x == 1) { lv_res += ""; } lv_cell = y + ((x-1) * 7); if (lv_cell >= start_day) { lv_day_pos = lv_cell - start_day + 1; } else { lv_day_pos = 0; } if (lv_cell > m_length) { lv_day_pos = 0; } //today == true - сегодняшний день lv_today = ((p_year == this_year) && (p_month == this_month) && (lv_day_pos == this_day)); if (lv_day_pos != 0) { lv_res += fill_day(p_year*10000+p_month*100+lv_day_pos, y, lv_today); } else { // пустые дни - до 1 и после последнего lv_res += ""; } } // конец строки lv_res += ""; } // конец таблицы lv_res += "
    "+p_mname+"
    "+lt_dnm[y]+" 
    "; return lv_res; } // end of fill_table() // если полный год { // вывод в цикле месяцев по текущему году // } иначе { // вывод в столбик p_cnt месяцев // } // инициализация данных clndr_init(); //today.getYear(),today.getMonth(),today.getDate() if (p_small != 1) { lv_result += 'Сегодня, '+today.getDate()+' '+lt_mnmr[today.getMonth()]+', '+lt_dnmf[today.getDay()]+'

    '; } lv_result += ""; if (p_small == 1){ var m, k = parseInt (p_mm,10); lv_result += ''; for (m=0; m'; if (((m+1)%p_col==0) && (m!=p_cnt)){ lv_result += ''; } k++; } lv_result += ''; } else { var jj = 1; for (var m = 1;m<=12;m++){ if (jj == 1) { if (m>1){ lv_result += ""; } lv_result += ""; } lv_result += ''; if (jj == 3) { lv_result += ""; jj = 0; } jj++; } } lv_result += "




    '+fill_table(lt_mnm[m], lt_ml[m], p_yy, m)+'
    "; if (p_small!=1){ lv_result += ""; lv_result += ""; lv_result += ""; lv_result += ""; lv_result += ""; for (var g = 0;g"; } lv_result += "
    - Текущая дата
    - Укороченный день
    - Праздник
    - Выходной день
     - "+game_titles[g][0]+" (?)
    "; } return lv_result; } // end of do_calendar_proc() this.do_calendar = function(p_small,p_cnt,p_col,p_color,p_yy,p_mm,p_class){ var lv_clndr_html = do_calendar_proc(p_small,p_cnt,p_col,p_color,p_yy,p_mm); if (p_class!=null){ $(function(){ $(p_class).html(lv_clndr_html); init_popup(); }); } else { document.write(lv_clndr_html); init_popup(); } } /****************************************************/ // подписи в форуме // // Tucker http://oren.en.cx/UserDetails.aspx?uid=19577 // doDescription(); /****************************************************/ //********* function doDescription_proc(){ var desc_id = []; if (location.pathname.match("/Messages.aspx") != null) { for (i in desc){ if (desc_id[desc[i][0]] == null){ desc_id[desc[i][0]] = []; } desc_id[desc[i][0]].push(i); } $('.msgHead .gbUserInfo a[href^="/UserDetails.aspx?uid"]').each(function(el) { wa_text = $(this).parent().parent().next(); if (wa_text.attr('class').indexOf("gbMessage")>=0){ wa_id = $(this).attr('href').match(/uid=(\d+)/)[1]; wa_desc = ""; if (desc_id[wa_id]!=null){ wa_desc = "
    ------"; for (i in desc_id[wa_id]){ wa_desc+= "
    " + desc[desc_id[wa_id][i]][1]; } wa_desc+= "
    "; wa_desc = '
    '; wa_text.append(wa_desc); } } }); }} //********* this.doDescription = function(){ if (location.pathname.match("/Messages.aspx") != null){ $(function(){ doDescription_proc(); $(".my_desc").animate({opacity: "show"}, "slow") }); } } }