$(function() { var rt_path = (function() { $("script").each(function() { if($(this).prop("src").match(/p\-calendar\-L\-en.js/i)) { rt_path = $(this).prop("src").replace("p-calendar-L-en.js", ""); return; } }); return rt_path; })(); var g = (function() { var r = new Array(); if(location.search.length > 1) for(var i = 0, gs = location.search.substr(1).split("&"); i < gs.length; ++i) { var g = gs[i].split("="); r[g[0]] = g[1]; } return r; })(); var outline = function() { return '
' + '' + '' + '' + '
' //+ '
' + '

' ; }; var ym = function(y, m) { var month = ['January','February','March','April','May','June','July','August','September','October','November','December']; //$("#p-calendar-L-ym").html(y + "年" + m + "月"); $("#p-calendar-L-ym").html(month[m-1] + " " + y); $("#calendar_month").html( month[m-1]); var d = new Date(y + "/" + m + "/01"), cmpl = d.getYear() < 2000 ? 1900 : 0; //前月 var td = new Date(d.getYear() + cmpl, d.getMonth() - 1); //$("#p-calendar-L-prev").html(td.getMonth() + 1 + "月"); var prev_m = td.getMonth() + 1; $("#p-calendar-L-prev").html(month[prev_m - 1]); //翌月 var td = new Date(d.getYear() + cmpl, d.getMonth() + 1); //$("#p-calendar-L-next").html(td.getMonth() + 1 + "月"); var next_m = td.getMonth() + 1; $("#p-calendar-L-next").html(month[next_m - 1]); }; var wk_line = function() { return '' + "\n" + 'Sun' + 'Mon' + 'Tue' + 'Wed' + 'Thu' + 'Fri' + 'Sat' + "\n" + '' + "\n" ; }; var day = function(y, m) { var d = new Date(y, m - 1, 1), t = new Date(y, m, 0), w = ""; var concert_name = [], concert_id = []; var html = ''; //コンサート情報を取得 $.ajax ({ async: false ,type: "POST" ,cache: false ,timeout: 10000 ,url: rt_path + 'ajax_get_concert.php' ,data: { "y": y ,"m": m ,"lang": "_e" } ,dataType: "json" }).done(function(r) { if(r.ret) { $.each(r.calendar, function(ii, row) { concert_id[row.d] = row.id; concert_name[row.d] = row.name; }); $.each(r.detail, function(ii, row) { var link_url = row.url ? '' + (row.url_text ? row.url_text : row.url) + '' : '' ; var img_flyer = row.is_flyer ? '' : '' ; var link_detail = row.is_body ? 'More information' : '' ; var link_kyotoconcerthall = row.is_kyotoconcerthall ? ' Kyoto Concert Hall' : '' ; var month = ['January','February','March','April','May','June','July','August','September','October','November','December']; html+= '
  • ' + '

    ' + row.d + '' + row.w_e + '

    ' // + '

    ' + row.m + '月' + row.d + '日' + row.w + '

    ' + '

    ' + row.w_e + ', ' + month[ row.m - 1] + ' ' + row.d + '

    ' + '
    ' + '
    ' + '

    ' + row.name + link_kyotoconcerthall + '

    ' + '' + '' + '' + '' + '' + (row.ticket || row.charge ? '' : '' ) + (link_url || row.contact ? '' : '' ) + '' + '
    Opening time' + row.time_start + '
    Hall' + row.hall + '
    Artists' + row.conductor + '
    ' + row.costar + '
    Program' + row.program + '
    Ticket' + row.ticket + ((row.ticket && row.charge) ? '
    ' : '') + row.charge + '
    Contact' + link_url + ((link_url && row.contact) ? '
    ' : '') + row.contact + '
    ' + '
    ' + '

    ' + img_flyer + '

    ' + link_detail + '
    ' /* + '

    ' + row.name + '

    ' + row.date_e + ' ' +row.time_start + '
    ' + '
    ' + 'Hall:' + row.hall + '
    ' + 'Artists:' + row.conductor + '
    ' + row.costar + '
    ' + (row.program ? 'Program:' + row.program + '
    ' : '' ) + (row.ticket && row.charge ? 'Ticket:' + row.ticket + '
    ' + row.charge + '
    ' : '' ) + (link_url && row.contact ? 'Contact:' + link_url + '
    ' + row.contact + '
    ' : '' ) + link_kyotoconcerthall + '
    ' + link_detail + '
    ' + img_flyer + '
    ' */ + '
  • ' ; }); } }); for(var i = 1 - d.getDay() % 7, wk = 0, l = t.getDate() + ((6 - t.getDay()) % 7); i <= l; ++i, wk = ++wk % 7) { var a_front = concert_name[i] ? '' : ''; var a_rear = concert_name[i] ? '' : ''; w += (wk == 0 ? '' : "") + '' + (i > 0 ? (i <= t.getDate() ? '

    ' + a_front + i + a_rear + '

    ' : '') : '') + (concert_name[i] ? a_front + concert_name[i] + a_rear : '') + '' + (wk == 6 ? "" : "") ; } $("#calendar_main").append(w); $("#event_detailbox").append(html ? '' : html); }; $("#p-calendar-L").html(outline()); $("#calendar_main").append(wk_line()); //if(sessionStorage.getItem("y") && sessionStorage.getItem("m")) //{ // var d = new Date(sessionStorage.getItem("y") + "/" + sessionStorage.getItem("m") + "/01"); // var cmpl = d.getYear() < 2000 ? 1900 : 0; //} //else //{ var d = new Date, cmpl = d.getYear() < 2000 ? 1900 : 0; //} //var my = (d.getYear() + cmpl) - 2008, mm = 8;//2008.09まで表示 var my = (d.getYear() + cmpl) - 2009, mm = 10;//2009.11まで表示 //var my = (d.getYear() + cmpl) - $('#event_oldest_last_month_y').text(), mm = $('#event_oldest_last_month_m').text();//最古イベント年月まで表示 //var min = new Date(d.getYear() + (cmpl - my), mm), max = new Date(d.getYear() + (cmpl + 1), d.getMonth()); //var min = new Date(d.getYear() + (cmpl - my), mm), max = new Date(d.getYear() + (cmpl + 1), d.getMonth() + 2);//15ヶ月先まで表示 var min = new Date(d.getYear() + (cmpl - my), mm), max = new Date(d.getYear() + (cmpl + 1), d.getMonth() + 11);//24ヶ月先まで表示 ym(d.getYear() + cmpl, d.getMonth() + 1); day(d.getYear() + cmpl, d.getMonth() + 1); var reset = function(y, m, td) { ym(y, m); $(".p-calendar-L-date").remove(); $(".detailbox").remove(); day(y, m); //$("a[rel*=leanModal]").leanModal({top: 20, overlay : 0.5, closeButton: ".modal_close"}); }; $("#p-calendar-L-prev").click(function() { var td = new Date(d.getYear() + cmpl, d.getMonth() - 1); if(td.getYear() + cmpl >= min.getYear() + cmpl && (td.getYear() + cmpl != min.getYear() + cmpl || td.getMonth() >= min.getMonth())) { reset(td.getYear() + cmpl, td.getMonth() + 1, d = td); var ssy = td.getYear() + cmpl; var ssm = td.getMonth() + 1; //sessionStorage.setItem("y", ssy); //sessionStorage.setItem("m", ssm); } }); $("#p-calendar-L-next").click(function() { var td = new Date(d.getYear() + cmpl, d.getMonth() + 1); if(td.getYear() + cmpl <= max.getYear() + cmpl && (td.getYear() + cmpl != max.getYear() + cmpl || td.getMonth() <= max.getMonth() + 1)) { reset(td.getYear() + cmpl, td.getMonth() + 1, d = td); var ssy = td.getYear() + cmpl; var ssm = td.getMonth() + 1; //sessionStorage.setItem("y", ssy); //sessionStorage.setItem("m", ssm); } }); if(g["y"] != "" && g["m"] != "") { var gy = ~~g["y"], gm = ~~g["m"]; if ( min.getYear() + cmpl <= gy && gy <= max.getYear() + cmpl && (gy != min.getYear() + cmpl || gm - 1 >= min.getMonth()) && (gy != max.getYear() + cmpl || gm - 1 <= max.getMonth() + 1) ) reset(gy, gm, d = new Date(gy, gm - 1)); } });