﻿var MyUid = '';
var MyName = '';

var FriendUid = '';
var FriendName = '';

var Path = './imgusuarios/';
var FileName = '';

var ResultId = '';
var AlbumId = '';

var FbMediaSrc = '';
var AccessToken = '';

function setFbMediaSrc(_fbMediaSrc) {
    FbMediaSrc = _fbMediaSrc;
}

//Usar esta funcion:
function post(_friendUid, _fileName, _resultId) {
    //console.log("_friendUid:"+_friendUid+" _fileName:"+_fileName+ " _resultId:"+_resultId);
    FriendUid = _friendUid;
    FileName = _fileName;
    ResultId = _resultId;

    getStatus();
}

function getStatus() {
    FB.getLoginStatus(function(response) {
        if (response.status == 'connected') {
            MyUid = response.authResponse.userID;
            AccessToken = response.authResponse.accessToken;
            getMyName();
        } else {
            FB.login(function(response) {
                console.log("retry");
                if (response.status == 'connected') {
                    MyUid = response.authResponse.userID;
                    AccessToken = response.authResponse.accessToken;
                    getMyName();
                }
            });
        }
    });
}

function getMyName() {
    FB.api( //GET ME
        '/' + MyUid + '?access_token=' + AccessToken,
        function(response) {
            MyName = response.first_name;
            getFriendName();
        }
    );
}

function getFriendName() {
    FB.api( //GET FRIEND
        '/' + FriendUid,
        function(response) {
            FriendName = response.first_name;
            postMe();
        }
    );
}

function postMe() {
    FB.ui( //POST ME
        {
            method: 'feed',
            display: 'popup',
            message: '',
            link: 'www.nutrigrain.com.mx',
            picture: FbMediaSrc + FileName,
            name: 'Nutri-Grain® Combinaciones Deliciosas',
            caption: '',
            description: MyName + ' se divirtió con Nutri-Grain® y quiere que conozcas la deliciosa combinación que creó. Tú también haz más deliciosas combinaciones en www.nutrigrain.com.mx'
        },
        function(response) {
            if (response && response.post_id)
                postFriend();
            else
                ; //__doPostBack('FB_OMITIR', '');
        }
    );
}

function postFriend() {
    FB.api( //POST FRIEND
        '/' + FriendUid + '/feed',
        'POST',
        {
            message: '',
            name: 'Nutri-Grain® Combinaciones Deliciosas',
            caption: '',
            description: MyName + ' hizo una combinación deliciosa con ' + FriendName + ' tu también diviértete creando deliciosas combinaciones en www.nutrigrain.com.mx',
            link: 'www.nutrigrain.com.mx',
            picture: FbMediaSrc + FileName
        },
        function(response) {
            getAlbums();
        }
    );
}

function getAlbums() {
    FB.api(
        '/me/albums',
        function(response) {
            //SEARCH ALBUM
            var i
            for (i = 0; i < (response.data.length) && (response.data[i].name != 'Nutri Grain - Combinaciones Deliciosas'); i++);

            if (i < response.data.length) { //FOUND
                AlbumId = response.data[i].id;
                postPhoto();
            }
            else { //NOT FOUND
                createAlbum();
            }
        }
    );
}

function createAlbum() {
    FB.api(
        '/me/albums',
        'POST',
        {
            'name': 'Nutri Grain - Combinaciones Deliciosas',
            'message': ''
        },
        function(response) {
            AlbumId = response.id;
            postPhoto();
        }
    );
}

function postPhoto() {
    $.post(
        "fb_upload_photo.aspx",
        {
            resultado: ResultId,
            album: AlbumId,
            filename: Path + FileName,
            token: AccessToken
        },
        function(response) {
            getPhoto(response);
        }
    );
}

function getPhoto(idPhoto) {
    FB.api(
        '/' + AlbumId + '/photos',
        function(response) {
            //SEARCH PHOTO
            for (i = 0; i < (response.data.length) && (response.data[i].id != idPhoto); i++);

            if (i < response.data.length) //FOUND
                postFriendPhoto(response.data[i]);
            else //NOT FOUND
                ; //window.close();
        }
    );
}

function postFriendPhoto(photo) {
    FB.api( //POST FRIEND
        '/' + FriendUid + '/feed',
        'POST',
        {
            message: '',
            name: 'Nutri Grain - Combinaciones Deliciosas',
            caption: '',
            description: '',
            link: photo.link,
            picture: photo.picture
        },
        function(response) {
            //window.close();
        }
    );
}

