
if (typeof(ToolTip) == 'undefined') {
    ToolTip ={};
}

ToolTip.posSetting = function(e, elm)
{
    if(document.all)e = e;
    var obj = $(elm);
    obj.style.display = 'block';
    
    var posx=0,posy=0;
    
    if(e==null) e=window.event;
    
    if(e.pageX || e.pageY){
        posx=e.pageX; posy=e.pageY;
    }
    else if(e.clientX || e.clientY) {
        
        if(document.documentElement.scrollTop) {
            
            posx=e.clientX+document.documentElement.scrollLeft;
            posy=e.clientY+document.documentElement.scrollTop;
        } else {
            
            posx=e.clientX+document.body.scrollLeft;
            posy=e.clientY+document.body.scrollTop;
        }
    }
    
    obj.style.top=(posy-248)+"px";
    obj.style.left=(posx-60)+"px";
}


ToolTip.showEventData = function(e, calType, eventId, calId, elm, start_date, end_date)
{
    
    if(winStatus == false || winStatus == 'ToolTip') {
        
        //setting
        winStatus = 'ToolTip';

        $('tpEventName').innerHTML = '';
        $('tpEventDescription').innerHTML = '';
        $('tpEventStartDateTime').innerHTML = '';
        $('tpEventEndDateTime').innerHTML = '';
        $('tpEventUrl').innerHTML = '';
        $('tpEventDescription').innerHTML = '';
        
        var resGetEventData = false;
        var pars = 'calType=' + calType + '&eventId=' + eventId + '&calId=' + calId;
        var eventList = new Ajax.Request(
        'http://calendar.rakuten.co.jp/ajax/getEventData/',
        {
            method: 'post',
            parameters: pars,
            asynchronous : false,
            onComplete: function(httpEventDataJson)
            {
                var eventDataJson = eval('(' + httpEventDataJson.responseText + ')');
                if (eventDataJson != 0) {
                    
                    resGetEventData = true;
                    
                    var eventTitle;
                    eventTitle = eventDataJson.event_title;
                    if (eventTitle.length > 36) {
                        eventTitle = eventTitle.slice(0, 36) + '・・・';
                    }
                    $('tpEventName').innerHTML = eventTitle;
                    
                    var eventDescription;
                    eventDescription = eventDataJson.description;
                    if (eventDescription.length > 38) {
                        eventDescription = eventDescription.slice(0, 38) + '・・・';
                    }
                    $('tpEventDescription').innerHTML = eventDescription;

                    var sy = start_date.slice(0, 4);
                    var sm = start_date.slice(5, 7);
                    var sd = start_date.slice(8, 10);
                    var ey = end_date.slice(0, 4);
                    var em = end_date.slice(5, 7);
                    var ed = end_date.slice(8, 10);         
                    
                    var sDayOfWeek = DateUtil.getDayofWeek(eventDataJson.event_start_date.gsub('-', ''));
                    var eDayOfWeek = DateUtil.getDayofWeek(eventDataJson.event_end_date.gsub('-', ''));

                    var eventStartTime = '';
                    if (eventDataJson.event_start_time != '') {
                        eventStartTime = eventDataJson.event_start_time.slice(0, 5);
                    }

                    var eventEndTime = '';
                    if (eventDataJson.event_end_time != '') {
                        eventEndTime = eventDataJson.event_end_time.slice(0, 5);
                    }

                    $('tpEventStartDateTime').innerHTML = sy + '年' + sm + '月' + sd + '日' + '(' + sDayOfWeek + ')' +'&nbsp;' + eventStartTime;
                    if (start_date != end_date)  {
                        $('tpEventEndDateTime').innerHTML = '<br/>〜' + ey + '年' + em + '月' + ed + '日' + '(' + eDayOfWeek + ')' +'&nbsp;' + eventEndTime;
                    }
                    
                    $('tpEventInterval').innerHTML = '';
                    if (eventDataJson.event_interval != '') {
                        $('tpEventInterval').innerHTML = '[' +  eventDataJson.event_interval_name + ']';
                    }

                    var eventUrl = '';
                    var pictureUrl = '';
                    var detailurl = '';
                    if (eventDataJson.reference_url != '') {
                         pictureUrl = '<a href="' + eventDataJson.reference_url + '"' + link_target + '>';
                         detailurl = '[<a class="actionlink" href="' + eventDataJson.reference_url + '"' + link_target + '>詳細をみる</a>]';
                    }
                    
                    if (eventDataJson.event_picture == '') {
                        $('tpEventName').parentNode.style.width = '180px';
                    } else {
                        $('tpEventName').parentNode.style.width = '115px';
                        $('tpEventPicture').parentNode.style.height = '65px';
                        pictureUrl += '<img src="' + eventDataJson.event_picture + '" onload="chgThumbImgSize(this, 64, 64);">';
                    }
                                       
                    if (eventDataJson.reference_url != '') {
                        pictureUrl += '</a>';
                    }
                    $('tpEventPicture').innerHTML = pictureUrl;
                    
                    eventUrl = '<a class="actionlink" href="http://calendar.rakuten.co.jp/evt/?ct=' + eventDataJson.calendar_type + '&eid=' + eventDataJson.event_id + '"' + link_target + '>このイベントの続きをみる&gt;&gt;</a>';
                    $('tpEventUrl').innerHTML = eventUrl;
                    
                    $('tpDetailHref').innerHTML = detailurl;
                    
                    var createUrl = '';
                    $('tpCreateHref').innerHTML = '';
                    if (eventDataJson.event_interval != 1 && eventDataJson.event_interval != 3) {
                        var createUrl = '[<a class="actionlink" href="https://my.calendar.rakuten.co.jp/event/confirm/?ev=' + eventDataJson.event_id + '&ct=2"' + link_target + '>このイベントをMyカレンダーに追加</a>]';
                        $('tpCreateHref').innerHTML = createUrl;
                    }
                    
                }
            }
        }
        );

        if (resGetEventData) {
            this.posSetting(e, elm);
        }
    }
}

ToolTip.hide = function(elm)
{
    winStatus = false;
    Element.hide(elm); 
}

