function fb_init() {
	if (FB._apiKey == null) {
		FB.init({ appId: '252506288100206', cookie: true });
	}
}

var fb_access_token = false;
function facebook_ready() {
	// FB.init({ appId: '252506288100206', cookie: true });
	FB.signin = function(act) {
		fb_init()
		FB.Event.subscribe('auth.login', function(){
			FB.callback(act);
		});
		FB.login(function(r) {
			if (typeof r.session.access_token != 'undefined') {
				fb_access_token = r.session.access_token;
			}
			if (!r.session && r.status == 'connected') {
				FB.getLoginStatus();
			} else if (r.session) {
				FB.callback(act);
			}
		}, { perms: 'email,user_birthday,user_location,publish_stream,offline_access' });
	}
	FB.unlink = function() {
		fb_init()
		$.ajax({ type: 'post', url: '/social-ajax.php', data: 'cmd=Facebook::Account::unlink', dataType: 'json', success: FB.link_cb });
	}
	FB.callback = function(act) {
		fb_init()
		switch (act) {
			case 'register':
				if (fb_access_token) {
					$.getScript('https://graph.facebook.com/me?access_token='+fb_access_token+'&callback=FB.register_cb');
				}
				break;
			case 'link':
				$.ajax({ type: 'post', url: '/social-ajax.php', data: 'cmd=Facebook::Account::link', dataType: 'json', success: FB.link_cb });
				break;
			case 'link_nocb':
				$.ajax({ type: 'post', url: '/social-ajax.php', data: 'cmd=Facebook::Account::link', dataType: 'json' });
				$('input[name=facebook]').attr('onclick', '');
				break;
			default:
				login_ajax('home', 'facebook');
		}
	}
	FB.link_cb = function(r) {
		fb_init()
		if (typeof r.error != 'undefined' && r.error != '') {
			alert(r.error);
		} else {
			window.location.reload();
		}
	}
	FB.register_cb = function(r) {
		fb_init()
		$('#mydialog.registro').addClass('unsocial');
		$('div.social-connect').remove();
		if (typeof r.link != 'undefined') {
			var username = r.link.split('/')[3];
			if (isNaN(username) && username.substr(0, 11) != 'profile.php') {
				$('#nick').val(username)
				$('#nick').trigger('blur');
				$('#password').focus();
			} else {
				$('#nick').focus();
			}
		}
		if (typeof r.first_name != 'undefined') {
			$('#name').val(r.first_name).trigger('blur');
		}
		if (typeof r.last_name != 'undefined') {
			$('#lastname').val(r.last_name).trigger('blur');
		}
		if (typeof r.birthday != 'undefined') {
			var birthday = r.birthday.split('/');
			$('#dia').val(birthday[1]);
			$('#mes').val(parseInt(birthday[0]) === 0 ? birthday[0].substr(1) : birthday[0]);
			$('#anio').val(birthday[2]);
			$('#anio').trigger('blur');
		}
		if (typeof r.email != 'undefined') {
			$('#email').val(r.email);
			$('#email').trigger('blur');
		}
		if (typeof r.gender != 'undefined') {
			$('#sexo_'+(r.gender == 'male' ? 'm' : 'f')).attr('checked', 'checked');
			$('#sexo_'+(r.gender == 'male' ? 'm' : 'f')).trigger('blur');
		}
	}
}

function ValidateRegister() {
  var email = jQuery('#newemail').val();
  var pass = jQuery('#newpassword').val();
  var pass2 = jQuery('#newpassword2').val();
  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);

  if(email == "") {
    inlineMsg('newemail','Debes escribir tu email.',2);
    return false;
  }
  if(!email.match(emailRegex)) {
    inlineMsg('newemail','Has escrito un email incorrecto.',2);
    return false;
  }
  if(pass == "") {
    inlineMsg('newpassword','Debes escribir tu contraseña.');
    return false;
  }
  if(pass.match(messageRegex)) {
    inlineMsg('newpassword','Escribe otra contraseña.');
    return false;
  }
  if(pass != pass2) {
    inlineMsg('newpassword2','Las contraseñas no coinciden.');
    return false;
  }
  return true;
 }
