﻿//Chamada para o ws via JS

var pAcao;
var pContent;
var pShowResults;

// The page feedback display element.
var displayResult;

// This function intializes the global variables and assigns default values to the generated proxy.
function pageLoad() 
{
    // Get page feedback display element.
    displayResult = $get("Results");
 }

function SendRequest(arg, acao, content, showResults) 
{
	if (isUndefined(acao))
	    pAcao = 0;
	else 
	    pAcao = acao;
	    
	pContent = content;
	
	if (isUndefined(showResults)) 
	    pShowResults = false; 
	else
	    pShowResults = showResults;
	    
    PageMethods.set_timeout(90000);
	PageMethods.CallGravaLogAreaDeTrabalho(arg, SucceededCallback, FailedCallback, OnTimeOut);
}

function OnTimeOut(arg)
{
	alert("Operação excedeu o limite de tempo permitido: " + arg);
}

// This is the failed callback function.
function FailedCallback(error)
{
    if ((error != null) && (!isUndefined(pShowResults)) && (pShowResults))
    {
        var stackTrace = error.get_stackTrace();
        var message = error.get_message();
        var statusCode = error.get_statusCode();
        var exceptionType = error.get_exceptionType();
        var timedout = error.get_timedOut();
        var errorMessage = 
            "Stack Trace: " +  stackTrace + "<br/>" +
            "Service Error: " + message + "<br/>" +
            "Status Code: " + statusCode + "<br/>" +
            "Exception Type: " + exceptionType + "<br/>" +
            "Timedout: " + timedout;
        
        DisplayMessage(errorMessage); // Display the error.
    }
    ActionCallBack();
}

// This is the succeeded callback function.
function SucceededCallback(result)
{
    DisplayMessage(result); // Display the result.
    ActionCallBack();
}

function ActionCallBack()
{
    if (isUndefined(pAcao))
        pAcao = 0;
        
    switch (pAcao)
    {
        case 0: //não faz anda
            break;
        case 1: //faz o redirect
            if (!isUndefined(pShowResults) && (pShowResults)) alert('fazendo redirect para a página: \'' + pContent + '\'');
            setNewUrlLocation(pContent);
            break;
        case 2: //faz reload
            if (!isUndefined(pShowResults) && (pShowResults)) alert('fazendo reload da página');
            reloadPage();
            break;
    }
}

function DisplayMessage(message)
{
    if (isUndefined(pShowResults) || (!pShowResults)) return;
    if((message == null) || (displayResult == null)) return;
    
    displayResult.innerHTML = message;
    alert(message);  
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();