/**
 * FLASH <> JAVASCRIPT
 *
 */


/*
 * These functions triggers the Facebook logout and login boxes
 *
 */

FB_RequireFeatures(["XFBML"], function() {
    FB.Facebook.init("2a9e855ad4220b310946c84544403270", "/media/facebook/xd_receiver.htm");
});


$(document).ready(function() {
    if (window.console && window.console.firebug) {
        alert('Firebug kan påvirke ytelsen til dette nettstedet.')
    }
});



$('#login-link').click(function (e){
    e.preventDefault();

	if($('input#age').length>0) {
		if(!$('input#age').attr('checked')) {
			$('label.age').css("border","1px solid red");		
			alert("Du må være over 15 år for å spille. \nKryss av boksen hvis du er over 15 år.");		
		return false;
		}		
	}

    var side = $(this).attr("side");
    var referrer = $(this).attr("referrer");
    
    if (side && referrer) {
        fb_registration(side, referrer); 
    }
    else if (side) {
        fb_registration(side);
    }
    else {
        fb_registration();
    }
});

function fb_registration(side, referrer){

    if (!side) {
        top.location.href="/velg-side/";
    }
    else {
        FB.Connect.requireSession(function() {
        
            FB.Facebook.get_sessionState().waitUntilReady(function() {
                api = FB.Facebook.apiClient;
                sess = api.get_session();
                api.users_getInfo(sess.uid,[
                    'first_name',
                    'last_name',
                    'birthday',
                    'profile_update_time'
                ],function(e){
                    ret = e[0];
                    
                    if (referrer) {
                        $.post('/facebook/login/'+sess.uid+'/',{
                            'session_key':sess.session_key,
                            'uid':sess.uid,
                            'secret':sess.secret,
                            'sig':sess.sig,
                            'expires':parseInt(sess.expires),
                            'first_name':ret.first_name,
                            'last_name':ret.last_name,
                            'birthday':ret.birthday,
                            'profile_update_time':ret.profile_update_time,
                            'side': side,
                            'parent': referrer
                        },function(e){

                            // User is logged in
                            if (e.message == 'success') {
                                FB.Connect.showPermissionDialog('publish_stream', function(x){ top.location.href=e.url; });
                            }
                            else {
                                top.location.href=e.url;
                            }
                            
                        }, 'json');
                    }
                    else {
                        $.post('/facebook/login/'+sess.uid+'/',{
                            'session_key':sess.session_key,
                            'uid':sess.uid,
                            'secret':sess.secret,
                            'sig':sess.sig,
                            'expires':parseInt(sess.expires),
                            'first_name':ret.first_name,
                            'last_name':ret.last_name,
                            'birthday':ret.birthday,
                            'profile_update_time':ret.profile_update_time,
                            'side': side
                        },function(e){
                            
                            // User is logged in
                            if (e.message == 'success') {
                                FB.Connect.showPermissionDialog('publish_stream', function(x){ top.location.href=e.url; });
                            }
                            else {
                                top.location.href=e.url;
                            }
                        
                        }, 'json');
                    }
                });
            });
        
        });
    }
}


$('#login-link-user').click(function (e){
    e.preventDefault();
    fb_login();
});

function fb_login() {
    FB.Connect.requireSession(function() {
        FB.Facebook.get_sessionState().waitUntilReady(function() {
            api = FB.Facebook.apiClient;
            sess = api.get_session();
            api.users_getInfo(sess.uid,[
                'first_name',
                'last_name',
                'birthday',
                'profile_update_time'
            ],function(e){
                ret = e[0];
                $.post('/facebook/login/'+sess.uid+'/',{
                    'session_key':sess.session_key,
                    'uid':sess.uid,
                    'secret':sess.secret,
                    'sig':sess.sig,
                    'expires':parseInt(sess.expires),
                    'first_name':ret.first_name,
                    'last_name':ret.last_name,
                    'birthday':ret.birthday,
                    'profile_update_time':ret.profile_update_time
                },function(e){
                    top.location.href=e.url;
                }, 'json');
            });
        });
    });
}