//=========================================================================================//
//RetrieveLogosByOwnerRequest
//=========================================================================================//

function RetrieveLogosByOwnerRequest( ownerID, sortType, ownerType, onCompleted, onFailed )
{
    var request = new SEEK.Services.RetrieveLogosByOwnerRequest();
    request.SeekID = ownerID;
    request.SortType = sortType;
    request.OwnerType = ownerType;
    
    var userContext = Array( onCompleted, onFailed  );
    
    SEEK.Services.Web.Logo.RetrieveLogosByOwner( request, RetrieveLogosByOwnerRequestOnComplete, RetrieveLogosByOwnerRequestOnFailed, userContext );
    
    return true;
}

function RetrieveLogosByOwnerRequestOnComplete( response, userContext, methodName )
{
    // response -> SEEK.Services.RetrieveLogosByOwner
    //              |___ Logo[] Logos
    if ( userContext != null && userContext.length >= 1 && userContext[0] != null )
        userContext[0]( response.Logos );
}

function RetrieveLogosByOwnerRequestOnFailed( exception, userContext, methodName )
{
    if ( userContext != null && userContext.length >= 2 && userContext[1] != null )
        userContext[1]( exception.get_exceptionType(), exception.get_message() );
}



//=========================================================================================//
//CropLogoRequest
//=========================================================================================//
function CropLogoRequest( logoID, fileName, xPosition, yPosition, width, height, ownerID, ownerType, onCompleted, onFailed)
{
    var request = new SEEK.Services.CropLogoRequest();
    request.LogoID = logoID;
    request.XPosition = xPosition;
    request.YPosition = yPosition;
    request.Height = height;
    request.Width = width;
    request.FileName = fileName;    
    request.SeekID = ownerID;
    request.OwnerType = ownerType;
    
	var userContext = Array( onCompleted, onFailed  );   

    SEEK.Services.Web.Logo.CropLogo( request, CropLogoRequestOnComplete, CropLogoRequestOnFailed, userContext );
    
    return true;
}

function CropLogoRequestOnComplete( response, userContext, methodName )
{
	// response -> SEEK.Services.CropLogo
    //              |___ int LogoID
    if ( userContext != null && userContext.length >= 1 && userContext[0] != null )
        userContext[0]( response.LogoID );
}

function CropLogoRequestOnFailed( exception, userContext, methodName )
{
    if ( userContext != null && userContext.length >= 2 && userContext[1] != null )
        userContext[1]( exception.get_exceptionType(), exception.get_message() );
}

//=========================================================================================//
//GetImageServerURL
//=========================================================================================//
function GetImageServerURL( logoID, sizeID, ownerID, ownerType, onCompleted, onFailed )
{
    var request = new SEEK.Services.GetImageServerURLRequest();
    request.LogoID = logoID;
    request.SizeID = sizeID;
    request.SeekID = ownerID;
    request.OwnerType = ownerType;
    
    var userContext = Array( onCompleted, onFailed  );
    
    SEEK.Services.Web.Logo.GetImageServerURL( request, GetImageServerURLRequestOnComplete, GetImageServerURLRequestOnFailed, userContext );
}

function GetImageServerURLRequestOnComplete( response, userContext, methodName )
{
    // response -> SEEK.Services.GetImageServerURL
    //              |___ string Url
    if ( userContext != null && userContext.length >= 1 && userContext[0] != null )
        userContext[0]( response.Url );
}

function GetImageServerURLRequestOnFailed( exception, userContext, methodName )
{
    if ( userContext != null && userContext.length >= 2 && userContext[1] != null )
        userContext[1]( exception.get_exceptionType(), exception.get_message() );
}

//=========================================================================================//
//UpdateLogoStatus
//=========================================================================================//
function UpdateLogoStatusRequest( ownerID, logoID, status, ownerType, onCompleted, onFailed )
{
    var request = new SEEK.Services.UpdateLogoStatusRequest();
    request.SeekID = ownerID;    
    request.LogoID = logoID;
    request.Status = status;    
    request.OwnerType = ownerType;
    
    var userContext = Array( onCompleted, onFailed  );
    
    SEEK.Services.Web.Logo.UpdateLogoStatus( request, UpdateLogoStatusRequestOnComplete, UpdateLogoStatusRequestOnFailed, userContext );
}

function UpdateLogoStatusRequestOnComplete( response, userContext, methodName )
{
    // response -> SEEK.Services.UpdateLogoStatus
    if ( userContext != null && userContext.length >= 1 && userContext[0] != null )
        userContext[0]( response );
}

function UpdateLogoStatusRequestOnFailed( exception, userContext, methodName )
{
    if ( userContext != null && userContext.length >= 2 && userContext[1] != null )
        userContext[1]( exception.get_exceptionType(), exception.get_message() );
}

//=========================================================================================//
//UpdateLogoName
//=========================================================================================//


function UpdateLogoNameRequest( ownerID, logoID, logoName, ownerType, onCompleted, onFailed )
{
    var request = new SEEK.Services.UpdateLogoNameRequest();
    request.SeekID = ownerID;    
    request.LogoID = logoID;
    request.LogoName = logoName;    
    request.OwnerType = ownerType;
    
    var userContext = Array( onCompleted, onFailed  );
    
    SEEK.Services.Web.Logo.UpdateLogoName( request, UpdateLogoNameRequestOnComplete, UpdateLogoNameRequestOnFailed, userContext );
}

function UpdateLogoNameRequestOnComplete( response, userContext, methodName )
{
    // response -> SEEK.Services.UpdateLogoName
    if ( userContext != null && userContext.length >= 1 && userContext[0] != null )
        userContext[0]( response );
}

function UpdateLogoNameRequestOnFailed( exception, userContext, methodName )
{
    if ( userContext != null && userContext.length >= 2 && userContext[1] != null )
        userContext[1]( exception.get_exceptionType(), exception.get_message() );
}

//=========================================================================================//
//UpdateLogoBlob
//=========================================================================================//

function UpdateLogoBlobRequest( ownerID, ownerType, originalLogoID, newLogoID, onCompleted, onFailed )
{
    var request = new SEEK.Services.UpdateLogoBlobRequest();
    request.SeekID = ownerID;
    request.OwnerType = ownerType;
    request.NewLogoID = newLogoID;
    request.OriginalLogoID = originalLogoID;
    request.OwnerType = ownerType;
    
    var userContext = Array( onCompleted, onFailed  );
    
    SEEK.Services.Web.Logo.UpdateLogoBlob( request, UpdateLogoBlobRequestOnComplete, UpdateLogoBlobRequestOnFailed, userContext );
}

function UpdateLogoBlobRequestOnComplete( response, userContext, methodName )
{
    // response -> SEEK.Services.UpdateLogoBlob
    if ( userContext != null && userContext.length >= 1 && userContext[0] != null )
        userContext[0]( response );
}

function UpdateLogoBlobRequestOnFailed( exception, userContext, methodName )
{
    if ( userContext != null && userContext.length >= 2 && userContext[1] != null )
        userContext[1]( exception.get_exceptionType(), exception.get_message() );
}

