//invokes the ajax request through proxy
function ExecFindACreatorService(element, updateElement)
{
    var value = document.getElementById(element).value;
    Microsoft.Xna.Community.Web.Profile.FindACreatorService.CheckUserNameExist(
        value, fnCreatorFound, fnFindACreatorServiceFailed, updateElement); 
}

//ajax request on success function
function fnCreatorFound(result, userContext, eventArgs)
{
    var msgElm = document.getElementById(userContext);
    if(result.isSuccess == 'true')
        window.location = result.redirectUrl;
    else if(result.isSuccess == 'false') {
        if(msgElm != null)
        {
            setMessage(msgElm.id, result.errMessage);
            msgElm.className = 'XnaCgp_FindACreator_ValidationMessageLabel';
        }
    }
}

//ajax request on error function
function fnFindACreatorServiceFailed(error, userContext, eventArgs)
{
    //userContext has the element that needs to be updated with message
    var msgElm = document.getElementById(userContext);
    if(msgElm != null)
        setMessage(msgElm.id, error.get_message());
}

//for ajax implementation as it allows only one notification
if (typeof(Sys) != "undefined") Sys.Application.notifyScriptLoaded();


//sets the message in find a creator control
function setMessage(elmId, msgText)
{
    elm = document.getElementById(elmId);
    if(elm != null)
    {
        if(elm.innerText != null) //IE
            elm.innerText = msgText;
        else if(elm.textContent != null) //firefox
            elm.textContent = msgText;
    }
    //always resets the class to simple message display class,
    //so that if the message was changed to show an error, it's always reverted 
    elm.className = 'XnaCgp_FindACreator_MessageLabel';    
}

function EnterKeyFired(buttonId, event)
{
    if ((event.which && event.which == 13)
            || (event.keyCode && event.keyCode == 13))
    {
        //call click with little delay in which time the value can be available from autosuggest
        window.setTimeout(function() {document.getElementById(buttonId).click()}, 300); 
        return false;
    }
}