/**
 * Logon
 *
 * @author Sebastian Bielawski
 * @copyright Netface (c) 2010, http://www.netface.pl
 */

var FACEBOOK_LOGIN = false;

$(document).ready(function(){
    var currentAxis;
    var BREAK = false;
    var position = false;
    var dialog = $("<div></div>").hide().appendTo("#holder").css("z-index", 667);

    if ($('a.logon').length > 0) {
        // pobranie popup
        $.ajax({
            url: '/authorization/login/popup-login',
            async: false,
            dataType: 'html',
            timeout: 3000,
            success: function(data) {
                dialog.html(data);
                $("#forgot-password").click(function(){
                    $.ajax({
                        url: $(this).attr("href"),
                        dataType: "html",
                        success: function(responseText) {
                            PopupInfo.init(responseText);
                        }
                    });
                    return false;
                });
            }
        });

        // logowanie
        $('a.logon').each(function(){
            $(this).attr('axis', $(this).attr('href')).attr('href', '#');
            $(this).click(function(){
                currentAxis = $(this).attr('axis');
                // Sprawdzamy, czy jest zalogowany na fb
                // jesli jest i istnieje to robi automatyczne
                // przekierowanie
                $.ajax({
                    url: '/authorization/facebook/check-login',
                    success: function(data) {
                       // console.log(data);
                        BREAK = false;
                        if (data['code'] > -100) {
                            //window.location.href = data['url'];
                        }
                        if (data['code'] > 0) {
                            BREAK = true;
                            window.location.href = currentAxis;
                        }
                    },
                    dataType: 'json',
                    async: false

                })
                if (BREAK) {
                    return false;
                }
                $('#popup-login').removeClass('popup-error');
                $('#popup-login div.error').hide();
                try {
                dialog.show();
                } catch(err) {

                }
                try {
                if (position == false) {
                    var popupLogin = $("#popup-login");
                    try {
                    var top = parseInt((window.innerHeight - popupLogin.height()) / 2);
                    var left = parseInt((window.innerWidth - popupLogin.width()) / 2);
                    } catch (err) {
                        var top = 100;
                        var left = 100;
                    }
                    popupLogin.css("top", top + "px").css("left", left + "px");
                    position = true;
                }
                } catch(err) {

                }
                try {
                    Modal.show();
                } catch(err) {

                }
                try {
                Modal.bind('click',function(){
                    dialog.hide();
                    dialog.find('form :input').attr("value", ""); //Czyszczenie formularza
                    Modal.hide();
                })
                } catch(err) {

                }
            })
        });

        // formularz popup
        $("#authorization-login-form, #authorization-login-form-popup").submit(function(){
            var formId = $(this).attr('id');
            var formObj = $("#" + formId);
            $(this).stop();
            $.ajax({
                url: formObj.attr("action"),
                type: formObj.attr("method"),
                data: formObj.serialize(),
                success: function(data){
                    if (data.length < 1) {
                        if (formId == "authorization-login-form-popup") {
                            window.location.href = currentAxis;
                        } else {
                            window.location.reload();
                        }
                    } else {
                        if (formId == "authorization-login-form-popup") {
                            $('#popup-login').addClass('popup-error');
                            $('#popup-login div.error').html('<p>' + data + '</p>').show();
                        } else {
                            if ($('.login-error').length < 1) {
                                $(document.body).attr("class", "errorpage");
                                $('<div class="login-error"><div><p>' + data + '</p></div></div>').prependTo(document.body);
                            }
                        }
                    }
                }
            });
            return false;
        });
    }


    //Facebook
    function loginFacebook()
    {
        FB.login(function(response) {
            if (response.session) {
                $.ajax({
                    url: '/authorization/facebook/check-login',
                    success: function(data) {
                        FACEBOOK_LOGIN = true;
                        if (data['code'] < 0) {
                            window.location.href = data['url'];
                        } else {
                            window.location.href = document.location;
                        }
                    },
                    dataType: 'json'
                })
            }
        },  {
            scope:'publish_stream'
        });
    }


    window.fbAsyncInit = function() {

        if (FACEBOOK_APP_ID == undefined) {
            if (document.domain.match(/mamopedia\.pl$/)) {
                var FACEBOOK_APP_ID = 119789758044334
            } else {
                var FACEBOOK_APP_ID = 130110650335238
            }
        }

        FB.init({
            appId: FACEBOOK_APP_ID,
            status: true,
            cookie: true,
            xfbml: true
        });

        FB.getLoginStatus(function(response) {
            if (response.session) {
                FACEBOOK_LOGIN = true;
                $.ajax({
                    url: '/authorization/facebook/check-login',
                    success: function(data) {
                        if (data['code']>0) {
                            window.location.href = document.location;
                        }
                    },
                    dataType: 'json'
                })
                FB.api('/me', function(response) {
                    if ($('#fb-user-name').length) {
                        $('#fb-user-name').text(response.name);
                    }
                    if ($('#fbdata').length) {
                        $('#fbdata').val(response.name);
                    }
                });
            } else {
        //alert('no user session available, someone you dont know');
        }
        });
    };


    (function() {
        if (!$('#fb-root').length) return;
        var e = document.createElement('script');
        e.async = true;
        e.src = document.location.protocol +
        '//connect.facebook.net/pl_PL/all.js';
        document.getElementById('fb-root').appendChild(e);
    }());



    $('.fb-login').click(function(){
        loginFacebook();
        return false;
    });


});
