var jfbcUsernameSuccessElement;
var jfbcEmailSuccessElement;

function jfbcCheckUsernameAvailable(usernameField)
{
        jfbcUsernameSuccessElement = document.getElementById(usernameField);
        var testName = $('username').value;
        if (testName != '')
                var myXHR = new XHR({method:'get', onSuccess:jfbcShowUsernameSuccess}).send('index.php', 'option=com_jfbconnect&view=loginregister&task=checkUsernameAvailable&username='+testName);
}

function jfbcShowUsernameSuccess(req)
{
        if (req == 1)
        {
                jfbcUsernameSuccessElement.innerHTML='<img src="' + jfbcRoot + 'images/apply_f2.png" width="20" height="20">' + jfbcUsernameIsAvailable;
        }
        else
        {
                jfbcUsernameSuccessElement.innerHTML='<img src="' + jfbcRoot + 'images/cancel_f2.png" width="20" height="20">' + jfbcUsernameIsInUse;
        }
}

function jfbcCheckEmailAvailable(emailField)
{
        jfbcEmailSuccessElement = document.getElementById(emailField);
        var testEmail = $('email').value;
        if (testEmail != '' && jfbcIsEmail(testEmail))
                var myXHR = new XHR({method:'get', onSuccess:jfbcShowEmailSuccess}).send('index.php', 'option=com_jfbconnect&view=loginregister&task=checkEmailAvailable&email='+testEmail);
}

function jfbcShowEmailSuccess(req)
{
        if (req == 1)
        {
                jfbcEmailSuccessElement.innerHTML='<img src="' + jfbcRoot + 'images/apply_f2.png" width="20" height="20">' + jfbcEmailIsAvailable;
        }
        else
        {
                jfbcEmailSuccessElement.innerHTML='<img src="' + jfbcRoot + 'images/cancel_f2.png" width="20" height="20">' + jfbcEmailIsInUse;
        }
}

function jfbcIsEmail( text )
{
        var pattern = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
        var regex = new RegExp( pattern );
        return regex.test( text );
}

function jfbcCheckPermission(permission, callback)
{
        FB.ensureInit(function()
        {
                FB.Connect.requireSession(function()
                {
                        FB.Facebook.apiClient.users_hasAppPermission(permission,
                                function(result)
                                {
                                        if(result == 0)
                                        {
                                                FB.Connect.showPermissionDialog(permission,
                                                        function(result)
                                                        {
								callback();
                                                        }, false, null);
                                        }
                                        else
                                        {
						callback();
                                        }
                        });
                });
        });

        return false;
}


