
(function($) {

    var query;


    var sessionVars;
    var albumsData;
    var photosData;
    var selectedPhoto;

    var options = {
        startConnectLabel: 'Click to login with facebook',
        albumsLoadingLabel: '',
        imagesLoadingLabel: '',
        needAuthorizeLabel: "",
        loadingImage: 'gfx/imageLoader.gif',
        urlFacebookScript: 'http://connect.facebook.net/en_US/all.js',
        onImageSelected: null,
        appId: null,
        userId: null
    }


    $.fn.getFacebookAlbums = function(pOptions) {

        $.extend(options, pOptions);

        if (options.appId == null) {
            $(this).html("The Facebook Application ID is not set");
            return;
        }

        $.getScript(options.urlFacebookScript);
        self.setTimeout("login()", 1000);

        /*
        $('body').prepend('<div id="fb-root"></div>');
        $(this).html('<div id="fbListDataContainer"><a href="#">' + options.startConnectLabel + '</a></div><div id="fbImagesContainer"></div><div id="fbPhotoSelection"></div>');

        $("#fbListDataContainer a").click(function() {
        login();
        return false;
        })
        
        */

    }

    login = function() {
        $('#fbListDataContainer').html(options.albumsLoadingLabel + '<img src="' + options.loadingImage + '" />');
        FB.init({
            appId: options.appId,
            cookie: true,
            status: true
        });


        FB.login(function(response) {
            if (response.perms) {
                getUser();
            }
            else {
                $('#fbListDataContainer').html(options.needAuthorizeLabel);
            }
        }, { perms: 'email,publish_stream,offline_access' });
    }

    getUser = function() {
        FB.api('/me', function(response) {
            options.userId = response.id;
            getEmail();
        });

    }

    getEmail = function() {
        query = FB.Data.query('select email,first_name,last_name from user where uid={0}',
                           options.userId);

        FB.Data.waitOn([query], function() {
            //            alert(query.value);
            FB.Array.forEach(query.value, function(row) {
                $("#facebook_email").attr("value", row.email);
                $("#facebook_firstname").attr("value", row.first_name);
                $("#facebook_lastname").attr("value", row.last_name);
                $("#facebook_id").attr("value", options.userId);
                $("#loginButton").attr("value", "Next");
                $("#ForgottenLink").html("");
                //$("#LoginLabel").html("<h2>You are now logged in via Facebook.<br />Click next to continue</h2>");
                $("#LoginLabel").html("<h2>Please wait...</h2>");
                $('#fbListDataContainer').html("");
                //$("#credentialsSection").html("<li class=\"submission\"><input name=\"loginButton\" id=\"loginButton\" type=\"submit\" value=\"Next\" /> </li>");
                $("#credentialsSection").html("<li class=\"submission\"><input type=\"hidden\" name=\"loginButton\" id=\"loginButton\" value=\"1\" /></li>");
                $("#credentialsSection").attr("visibility", "hidden");

                $("#loginSignUp").html("<ul><li><a href=\"logout.htm\">Log out</a></li></ul>");
                $("#statusRibbon").html("You are now logged in via Facebook");
                $("#writeReviewForm").attr("visibility", "hidden");

                //document.commentForm.loginButton.click();
                document.commentForm.submit();
            });
        });
    }


    //#####################################################################################################################
    //#####################################################################################################################
    //#####################################################################################################################
    //#####################################################################################################################


    $.fn.postToWall = function(pOptions) {

        $.extend(options, pOptions);

        if (options.appId == null) {
            $(this).html("The Facebook Application ID is not set");
            return;
        }

        $.getScript(options.urlFacebookScript);
        //   alert(options.urlFacebookScript);
        self.setTimeout("login2()", 1000);
    }

    login2 = function() {
        $('#fbListDataContainer').html('<img src="' + options.loadingImage + '" />');
        FB.init({
            appId: options.appId,
            cookie: true,
            status: true
        });


        FB.login(function(response) {
            if (response.perms) {
                getUser2();
            }
            else {
                //                $('#fbListDataContainer').html(options.needAuthorizeLabel);
            }
        }, { perms: 'email,publish_stream,offline_access' });
    }

    getUser2 = function() {
        FB.api('/me', function(response) {
            options.userId = response.id;
            wallPost();
        });

    }

    wallPost = function() {
        var body = "Posted to FP site. " + $("#commentText").attr("value") + "<br />http://" + window.location.host + "/" + window.location.pathname;
        FB.api('/me/feed', 'post', { message: body }, function(response) {
            if (!response || response.error) {
                //alert('Error occured');
            } else {
                $("#LoginLabel").html("<h2>Your comment has been posted to your Facebook wall</h2>");
                $('#fbListDataContainer').html("");
            }
        });

    }


    $(document).ready(function() {
        $('.loadBtn').click(function() {

            if (document.location.href.indexOf("festivalplace-web.dev.i-retail.ibltd.com") > 0) 
            {
                $('#albumsContainer').getFacebookAlbums({ appId: '136053463079166', onImageSelected: function(data) { alert(data) } })
            }
            if (document.location.href.indexOf("festivalplace-web.stage.i-retail.ibltd.com") > 0) {
                $('#albumsContainer').getFacebookAlbums({ appId: '141304189216038', onImageSelected: function(data) { alert(data) } })
            }

            if (document.location.href.indexOf("www.festivalplace.co.uk") > 0) {
                $('#albumsContainer').getFacebookAlbums({ appId: '144867772195222', onImageSelected: function(data) { alert(data) } })
            }

            return false;
        })
    })

    $(document).ready(function() {
        $('#postToWall').click(function() {
            if (document.location.href.indexOf("festivalplace-web.dev.i-retail.ibltd.com") > 0) {
                $('#albumsContainer').postToWall({ appId: '136053463079166', onImageSelected: function(data) { alert(data) } })
            }
            if (document.location.href.indexOf("festivalplace-web.stage.i-retail.ibltd.com") > 0) {
                $('#albumsContainer').postToWall({ appId: '141304189216038', onImageSelected: function(data) { alert(data) } })
            }

            if (document.location.href.indexOf("www.festivalplace.co.uk") > 0) {
                $('#albumsContainer').postToWall({ appId: '000000000000000', onImageSelected: function(data) { alert(data) } })
            }

            return false;
        })
    })

})(jQuery);

