window.fbAsyncInit = function() {
    //FB.init("131699980180053","xd_receiver.html",{"ifUserConnected":callbackfunc});
    //173744652645518 - BMX DEMO
    //131699980180053 - Roadville
    FB.init({appId: '131699980180053', status: true, cookie: true,
        xfbml:true});
    FB.Event.subscribe('auth.login', function(response) {
        //    callbackfunc();
    });
    FB.Event.subscribe('auth.logout', function(response) {
        logout();
    });
    FB.getLoginStatus(function(response) {
        if (response.session) {
            //callbackfunc();
        }
    });
};

 function fblogin(path) {
    FB.login(function(response) {
         if (response.session) {
            callbackfunc(path);
         }
    }, {scope:'email,user_birthday'});
}

function callbackfunc(submitPath){
    var queryTemplate = 'SELECT uid, name,email FROM user WHERE uid = me()';
    var query = FB.Data.query(queryTemplate);
    query.wait(function(rows) {
        if(typeof($('#loginFormId') == "undefined"))
             {
                 createFbForm(rows[0].email,"facebook","loginFormId");
             }
        if(typeof($('#loginFormId') != "undefined"))
         {
            $("#signInType").val("facebook");
            $("#LOGIN_NAME").val(rows[0].email);
         }
        
        parent.document.getElementById('loginFormId').action = submitPath;
        parent.document.getElementById('loginFormId').submit();
    });
}

/*function openGoogle(val)
{
    createFbForm("","openID","openIDForm");
    document.getElementById('openIDForm').action="/OpenIDLogin?publisher="+val;//"/OpenIdServlet";//
    document.getElementById('openIDForm').submit();
}*/

function createFbForm(login_name, signInType, formType, staySignedIn)
{
    var formId = "#"+formType;
    if($(formId).length == 0) {
        var formTag = document.createElement("form");
        $(formTag).attr({
            "action":"javascript:checkLogin()",
            "id":formType,
            "method":"POST"});

        var inputTag = document.createElement("input");
        $(inputTag).attr({
            "type":"text",
            "name":"LOGIN_NAME",
            "id":"LOGIN_NAME",
            "style":"display:none;"
        });
        $(formTag).append(inputTag);

        inputTag = document.createElement("input");
        $(inputTag).attr({
            "type":"password",
            "name":"PASSWORD",
            "id":"PASSWORD",
            "style":"display:none;"
        });
        $(formTag).append(inputTag);

        inputTag = document.createElement("input");
        $(inputTag).attr({
            "type":"hidden",
            "name":"ajaxCall",
            "id":"ajaxCall",
            "value":"no",
            "style":"display:none;"
        });
        $(formTag).append(inputTag);

        inputTag = document.createElement("input");
        $(inputTag).attr({
            "type":"checkbox",
            "name":"staySignedIn",
            "id":"staySignedIn",
            "value":"staySignedIn",
            "style":"display:none;"
        });
        $(formTag).append(inputTag);

        var validUserTag = document.createElement("input");
        $(validUserTag).attr({
            "type":"hidden",
            "name":"validUser",
            "id":"validUser",
            "value":"yes"
        });
        $(formTag).append(validUserTag);

        var signInTypeTag = document.createElement("input");
        $(signInTypeTag).attr({
            "type":"hidden",
            "name":"signInType",
            "id":"signInType",
            "value":signInType
        });
        $(formTag).append(signInTypeTag);

        parent.$("body").append(formTag);
    }
    if(typeof(staySignedIn) != "null" && staySignedIn == "staySignedIn")
        parent.$(formId + " #staySignedIn").attr("checked","checked");
    parent.$(formId + " #validUser").val("yes");
    parent.$(formId + " #signInType").val(signInType);
    parent.$(formId + " #LOGIN_NAME").val(login_name);
    parent.$(formId + " #PASSWORD").val($('#PASSWORD').val());
}
