﻿var session_Timeout = 30; //Tempo total da sessão no servidor, em minutos
var session_timeoutDuration = 2; //Tempo que tem o utilizador para fazer reload depois de aparecer o alerta, em minutos

var session_idInterval;
var session_idTimeout;
var session_gShowDiag;
var session_gSkinPath;
var session_gSessionTimeout;
var session_gTimeoutPagePath;
var session_gReconnectPagePath;
function session_CountDown(iTimeLeft)
{
    var iMinutes;
    var iSeconds;
    var sMinuteWord;
    var sTimeLeft;
    var topDoc;

    if (iTimeLeft <= 0)
	{
        iTimeLeft = 0;
        window.clearTimeout(session_idTimeout);
		//window.location = "../Pages/?fim-sessao";
		window.location = "../Users/EndSession.aspx";
    }

    iMinutes = Math.floor(iTimeLeft / 60);

    if (iTimeLeft == 60) 
	{
        iSeconds = 60;
    }
    else {
        iSeconds = iTimeLeft % 60;
    }

    if (iTimeLeft <= 60) 
	{
        sMinuteWord = "";
    }
    else if ((iTimeLeft >= 60) && (iTimeLeft < 120))
	{
        sMinuteWord = "minuto e ";
    }
    else if (iTimeLeft >= 120)
	{
        sMinuteWord = "minutos e ";
    }

    if (iTimeLeft > 60)
	{
        sTimeLeft = " " + iMinutes + " " + sMinuteWord + iSeconds + " segundos";
    }
    else if ((iTimeLeft <= 60) && (iTimeLeft >= 2)) {
        sTimeLeft = " " + iSeconds + " segundos";
    }
    else {
        sTimeLeft = " " + iSeconds + " segundo";
    }

    if ($('#minutesDiv'))
        $('#minutesDiv').html(sTimeLeft);

    if (iTimeLeft > 0){
        session_idTimeout = window.setTimeout("session_CountDown(" + (iTimeLeft - 1) + ")", 1000);
	}
}

function session_RegisterTimeout() {
    session_idInterval = window.setInterval("session_ShowTimeout()", ((session_Timeout - session_timeoutDuration) * 60 * 1000));
}

function session_ResetTimer(data) {
	if(data == 'OK')
	{
	    window.clearInterval(session_idInterval);
	    window.clearTimeout(session_idTimeout);

	    session_RegisterTimeout();

	    if ($('#sessionTimeOutDiv'))
		{
	        $('#sessionTimeOutDiv').hide();
			$('#sessionTimeOutDivBack').hide();
		}
	}
}

function session_ShowTimeout()
{
    clearInterval(session_idInterval);
	session_CountDown(session_timeoutDuration * 60);

    if ($('#sessionTimeOutDiv'))
	{
		$('html, body').animate({scrollTop: '0'}, 10);
        $('#sessionTimeOutDiv').show();
		$('#sessionTimeOutDivBack').show();
    }
	session_playMedia('../_img/purr.wav', 0, 2, 2);
	window.focus();
}

function session_Renew() {
    $.get('../RenewSession.aspx', function(data) { session_ResetTimer(data); });
	
}

function session_playMedia(mediaURL, rpt, height, width) {
    session_embedSource(mediaURL, rpt, height, width);
}

function session_embedSource(mediaURL, rpt, height, width) {
    var CodeGen = "";
    CodeGen = '<embed src="' + mediaURL + '"';
    CodeGen += ' height=' + height + ' width=' + width + ' autostart="true"';
    CodeGen += ' LOOP=' + rpt + '>';
    $('#playDiv').html(CodeGen);
}

function session_playAll(mediaURL, rpt, height, width) {
    var CodeGen = ""
    CodeGen = '<embed type="application/x-mplayer2" ';
    CodeGen += ' pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" ';
    CodeGen += 'Name="Player" ' + 'src="' + mediaURL + '"';
    CodeGen += 'autoStart=true ';
    if ((height == 24) && (width == 299))
        {CodeGen = CodeGen + 'ShowStatusBar=1 ';}
    if ((height >= 50) && (height <= 75) && (width >= 200))
        {CodeGen = CodeGen + 'ShowStatusBar=1 ';}
    if ((height > 75) && (width >= 200))
        {CodeGen = CodeGen + 'ShowStatusBar=0 ';}
    if ((height <= 49) && (width != 299))
        {CodeGen += 'ShowStatusBar=0 ';}
    CodeGen += 'enableContextMenu=1 cache=0';
    CodeGen += 'playCount=' + rpt + ' ';
    CodeGen += 'HEIGHT=' + height + ' WIDTH=' + width + '>';
    $('#playDiv').html(CodeGen);
}

