// JavaScript Document
//á

var FBC;

if(FBC == undefined) {
  FBC = {};
}

FBC.facebook_onlogin =  function(){
	$('#fb_loading_img').css('display', 'inline-block');
	FBC.facebook_loged()
}

FBC.askPermissions = function(result){
	if (result == 1){
		$('#fb_loading_img').css('display', 'none');
		FBC.facebook_loged();
	}
	else{
		FBC.facebook_prompt_permission("email", FBC.startRegisterFacebook);
	}
}

FBC.facebook_prompt_permission = function(permission, callbackFunc)
{
    // Check if user has permission, if not invoke dialog.
    FB.ensureInit(function() {
        FB.Connect.requireSession(function(){
            //check is user already granted for this permission or not
            FB.Facebook.apiClient.users_hasAppPermission(permission,
            function(result) {
                // prompt offline permission
                if (result == 0) {
                    // render the permission dialog
                    FB.Connect.showPermissionDialog(permission,
                    function(result){
                        callbackFunc();
                    }, true, null);
                } else {
                    // permission already granted.
                    callbackFunc();
                }
            });
        });
    });
}



FBC.facebook_loged = function(){
	$('#fb_loading_img').css('display', 'inline-block');
	$.get(url + "ajax.php", { mod: "facebook", option: "checkUser" }, function(data){
		if (data == "1"){
			FBC.facebook_prompt_permission("email", FBC.login);
		}
		else{
			FBC.askPermissions();
		}
	});
}

FBC.startRegisterFacebook = function(){
	$.get(url + "ajax.php", { mod: "facebook", option: "form-register" },
	  function(data){
		  $('#fb_loading_img').css('display', 'none');
		  jQuery.facebox(data);
	  });
}


FBC.faceBookRegister = function(){
	$('#fb_error_terms').css("display", "none");
	$('#fb_error').css("display", "none");
	$('#fbsubmit').css('display', 'none');
	$('#fbsubmit_loading_img').css('display', 'inline-block');
	if ($('#migrateuser_success').css('display') == 'block'){
		document.facebook_login.submit();
	}
	else{
		$('#fb_error').html('');
		var type = $('#type_reg').val();
		if (type == "register"){
			if (!$('#fb_condiciones').is(":checked")){
				$('#fb_error_terms').css("display", "block");
				$('#fbsubmit').css('display', 'inline-block');
				$('#fbsubmit_loading_img').css('display', 'none');
			}
			else{
				var news = 0;
				if ($('#fb_newsletter').is(":checked")) news = 1;
				jQuery.post(url + "ajax.php?mod=facebook&option=register", {type: type, username: FBC.getVal('fb_username'), name: FBC.getVal('fb_name'), surname: FBC.getVal('fb_surname'), sexo: FBC.getVal('fb_sexo'), y: FBC.getVal('fb_byear'), m: FBC.getVal('fb_bmonth'), d: FBC.getVal('fb_bday'), pais: FBC.getVal('fb_pais'), newsletter: news}, FBC.endRegister);
			}
		}
		else if (type == "migrate"){
			jQuery.post(url + "ajax.php?mod=facebook&option=register", {type: type, username: FBC.getVal('fb_mig_user'), password: FBC.getVal('fb_mig_pass')}, FBC.endMigrate);
		}
	}
}

FBC.PublishFeedRegister = function(callback) {
  // Load the feed form
  FB.ensureInit(function() {
          var attachment = {
			  				'name': FBC.texts.feed_title, 
			  				'href': 'http://www.sonoteca.com',
							'caption': FBC.texts.feed_register, 
							'description': FBC.texts.feed_description, 
			  				'media': [	
									  	{'type':'image', 'src':'http://www.sonoteca.com/templates/default/images/fb1.png', 'href':'http://www.sonoteca.com'},
										{'type':'image', 'src':'http://www.sonoteca.com/templates/default/images/fb2.png', 'href':'http://www.sonoteca.com'},
										{'type':'image', 'src':'http://www.sonoteca.com/templates/default/images/fb3.png', 'href':'http://www.sonoteca.com'}
									 ]
		 					};
		FBC.PublishFeed(attachment, callback);
  });
}

FBC.PublishFeedJokerBall = function(callback) {
  // Load the feed form
  FB.ensureInit(function() {
          var attachment = {
			  				'name': FBC.texts.feed_title, 
			  				'href': 'http://www.sonoteca.com',
							'caption': FBC.texts.feed_jb, 
							'description': FBC.texts.feed_description, 
			  				'media': [	
									  	{'type':'image', 'src':'http://www.sonoteca.com/templates/default/images/fb-jb1.png', 'href':'http://www.sonoteca.com'},
										{'type':'image', 'src':'http://www.sonoteca.com/templates/default/images/fb-jb2.png', 'href':'http://www.sonoteca.com'},
										{'type':'image', 'src':'http://www.sonoteca.com/templates/default/images/fb-jb3.png', 'href':'http://www.sonoteca.com'}
									 ]
		 					};
		FBC.PublishFeed(attachment, callback);
  });
}

FBC.PublishFeedWinJoker = function(imagerurl, callback) {
  // Load the feed form
  FB.ensureInit(function() {
          var attachment = {
			  				'name': FBC.texts.feed_title, 
			  				'href': 'http://www.sonoteca.com',
							'caption': FBC.texts.feed_winjoker, 
							'description': FBC.texts.feed_description, 
			  				'media': [	
									  	{'type':'image', 'src': imageurl, 'href':'http://www.sonoteca.com'}
									 ]
		 					};
		FBC.PublishFeed(attachment, callback);
  });
}

FBC.PublishFeed = function(attachment, callback) {
  // Load the feed form
  FB.ensureInit(function() {
		FB.Connect.streamPublish('', attachment, null, null, 'Sonoteca.com, ¿juegas?', callback);
  });
}

FBC.endRegister = function(data){
	var register = $(data).find("register");
	if (register.attr("error") > 0){
		$('#fb_error').html(register.find("error").text());
		$('#fb_error').css("display", "block");
		$('#fbsubmit').css('display', 'inline-block');
		$('#fbsubmit_loading_img').css('display', 'none');
	}
	else{
		$(document).trigger('close.facebox');
		FBC.PublishFeedRegister(FBC.login);
	}
}

FBC.endMigrate = function(data){
	var register = $(data).find("register");
	if (register.attr("error") > 0){
		$('#migrate_error').html(register.find("error").text());
		$('#fbsubmit').css('display', 'inline-block');
		$('#fbsubmit_loading_img').css('display', 'none');
	}
	else{
		/*$('#migrateuser').css('display', 'none');
		$('#migrateuser_success').css('display', 'block');
		$('#fbsubmit').css('display', 'inline-block');
		$('#fbsubmit_loading_img').css('display', 'none');*/
		$(document).trigger('close.facebox');
		$('#fbsubmit_loading_img').css('display', 'inline-block');
		FBC.PublishFeedRegister(FBC.login);
	}
}

FBC.setTexts = function (data){
	this.texts = data;
}

FBC.login = function(){
	document.facebook_login.submit();
}

FBC.getVal = function(id){
	return $('#' + id).val();
}