
var isSliding = false;
var mouseStartPosX;
var scrollerPosX;

// Come from aspx:
//
//var timeline_left_padding;
//var timeline_width;

function startSlide(e)
{
    mouseStartPosX = e.screenX;
    scrollerPosX = parseInt( document.getElementById("epg_tl_runner").style.left, 10 );
    isSliding = true;
    // Disable browser text selection
    document.onselectstart = function(){ return false; };
    //document.onclick = function(){ return false; };
    document.onmousedown = function(){ return false; };
    document.getElementById('event_panel').style.visibility = "visible";
    setOpacity(document.getElementById('epg_scrollContent'), 6);
    if(typeof(bubbleBoxId) != "undefined" && document.getElementById(bubbleBoxId) != null)
        document.getElementById(bubbleBoxId).style.display = 'none';
    
    return false;
}

function stopSlide(e)
{
    isSliding = false;
    // Enable browser text selection
    document.onselectstart = function(){ return true; };
    //document.onclick = function(){ return true; };
    document.onmousedown = function(){ return true; };
    document.getElementById('event_panel').style.visibility = "hidden";
    
    //sliderPositionField.value = parseInt( document.getElementById("epg_tl_runner").style.left, 10 ) - timeline_left_padding;
    sliderPositionField.value = parseInt( document.getElementById("epg_scrollContent").style.left, 10 );
    __doPostBack(sliderPositionField.name, '');
}

function doSlide(e)
{
    if(!isSliding)
        return;

    var newVal = scrollerPosX + (e.screenX - mouseStartPosX);
    if(newVal < timeline_left_padding) newVal = timeline_left_padding;
    if(newVal > timeline_left_padding + timeline_width - epgRunnerWidth)newVal = timeline_left_padding + timeline_width - epgRunnerWidth;
    document.getElementById("epg_tl_runner").style.left = newVal + "px";
    document.getElementById("epg_tl_runner_bg").style.left = newVal + "px";
    
    // move content
    var fullContentMoving = parseInt(document.getElementById('epg_scrollContent').style.width);
    var fullScrollbarMoving = timeline_width;
    var ratio = (newVal - timeline_left_padding)*1.0 / fullScrollbarMoving;
    var newContentLeft = (-1) * ratio * fullContentMoving;
    document.getElementById('epg_scrollContent').style.left = newContentLeft + "px";
    document.getElementById('time_meter_inner').style.left = newContentLeft + "px";
}

function updateEpgScrollPosition()
{
    try
    {
        scrollPositionField.value = document.getElementById('epg_guide_out2').scrollTop;
    }
    catch(ex){}
}

// Tabs
function ShowDdlItems(ddl)
{
    hidePlaceHolders();
    if(ddl.style.display == 'none')
        ddl.style.display = '';
    else
        ddl.style.display = 'none';
}

function checkSender(evt)
{
    if(epgTabs_skippEvent)
    {
        epgTabs_skippEvent = false;
        return;
    }
    var srcElement;
    try
    {
        srcElement = evt.srcElement;
        if(srcElement == null)
            srcElement = evt.target;
    }
    catch(e){}
    if(srcElement == null)
        return;
    
    while(srcElement != null && srcElement.parentNode != srcElement)
    {
        if(isAPlaceHolder(srcElement))
            return;
        srcElement = srcElement.parentNode;
    }
    
    hidePlaceHolders();
}


var epgTabs_placeHolders = Array();
var epgTabs_skippEvent = false;
function registerDdlPalceHolder(plHolder)
{
    for(var i=0; i<epgTabs_placeHolders.length; i++)
    {
        if(epgTabs_placeHolders[i] == plHolder)
            break;
    }
    if(i == epgTabs_placeHolders.length)
        epgTabs_placeHolders[epgTabs_placeHolders.length] = plHolder;
}

function isAPlaceHolder(item)
{
    for(var i=0; i<epgTabs_placeHolders.length; i++)
    {
        if(epgTabs_placeHolders[i] == item.id)
            return true;
    }   
    return false;
}

function hidePlaceHolders()
{
    for(var i=0; i<epgTabs_placeHolders.length; i++)
    {
        document.getElementById(epgTabs_placeHolders[i]).style.display = 'none';
    }  
}

$addHandler(document, "click", checkSender);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();