/**
  * P A R T I E    C O N N E X I O N 
  */


window.fbAsyncInit = function() {
	// FB.Event.subscribe('auth.login', function() {    
	//  window.location.href='http://tweetyourtv.com/facebook.php';    
	//}); 
		
		
	FB.init({	appId: '371982589422', 		
				status: true, 				// verifie le statut de la connexion
				cookie: true, 				// active les cookies pour que le serveur puisse accéder à la session
				xfbml: true	,				// active le XFBML (HTML de Facebook)
				oauth : true 				//enables OAuth 2.0
				});			
	//alert(document.getElementById('fb-root'));
	if (document.getElementById('conteneur_chat1')){
		$.getScript(APE_URL+"Clients/JavaScript.js",function(){
			$.getScript(APE_URL+"Build/uncompressed/apeClientJS.js",function(){
				load_ape();
				// $('#debug_APE').css('display','none');
				if(document.getElementById('sai_chat1') != null){
					var textarea = document.getElementById('sai_chat1');
					textarea.onkeypress = function(e){
															var e = e || window.event;
															var k = e.keyCode || e.which;
															if(k == 13){
																document.getElementById('caractere_restant').innerHTML = '140';
																ecrire_message();
																return false;
															}
														};
				}
			});
		});
	}
};


 $(document).ready(function (){

	//FB.ensureInit (function (){ 
		
		//  ************************FENETRE LOGIN***********************************
		//select all the a tag with name equal to modal
		$('body').prepend('<div id="mask"></div>');
		$('a[name=modal]').click(function(e) {
			//Cancel the link behavior
			e.preventDefault();
			
			//Get the A tag
			var id = $(this).attr('href');
		
			//Get the screen height and width
			var maskHeight = $(document).height();
			var maskWidth = $(window).width();
		
			//Set heigth and width to mask to fill up the whole screen
			$('#mask').css({'width':maskWidth,'height':maskHeight});
			
			//transition effect		
			//$('#mask').fadeIn(1000);	
			$('#mask').fadeTo("speed",0.8);	
		
			//Get the window height and width
			var winH = $(window).height();
			var winW = $(window).width();
				  
			//Set the popup window to center
			$(id).css('top',  winH/2-$(id).height()/2);
			$(id).css('left', winW/2-$(id).width()/2);
		
			//transition effect
			$(id).fadeIn(2000); 
		
		});
		
		//if close button is clicked
		$('.window .close').click(function (e) {
			//Cancel the link behavior
			e.preventDefault();
			
			$('#mask').hide();
			$('.window').hide();
		});		
		
		//if mask is clicked
		$('#mask').click(function () {
			$(this).hide();
			$('.window').hide();
		});
	//});
	
	if (document.getElementById('fb-root')){
		var e = document.createElement('script'); e.async = true;
		e.src = document.location.protocol +  '//connect.facebook.net/fr_FR/all.js';
		//e.src = document.location.protocol +  '//static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/fr_FR';
		document.getElementById('fb-root').appendChild(e);
	}

});





function logue_site(){
	// Récupération des variables.
	var mail_auth = $('#mail_auth').val();
	var mdp_auth = $('#mdp_auth').val();
	var souvenir = 0;
	if($('#souvenir:checked').length>0){
		souvenir = 1;
	}
	var param = 'mail_auth='+encodeURIComponent(mail_auth)+'&mdp_auth='+encodeURIComponent(mdp_auth)+'&souvenir='+souvenir;
	$.ajax({type: "POST",
				url: URL_SITE_HTTP+"xhr/logue_site.xhr.php",
				data: param, 
				cache: false, 
				success: function(reponse){ 
												if(reponse=='OK'){
													window.location.href = URL_SITE_HTTP+'get_info_user.php';
												}else{
													$("#err_auth").html(reponse); 
												}
											} });
}








function logueFacebook(){
	FB.login(function(response) {
		if (response.authResponse) {
			console.log('Bivenue!  Récupérationd es informations.... ');
			var accessToken = response.authResponse.accessToken;
			
			FB.api('/me', function(response) {
				console.log('Good to see you, ' + response.name + '.');
				//FB.logout(function(response) {
				//console.log('Logged out.');
				//});
				
				   
				
				var uid = response.id;
				
				console.log(
					response.id+",\n"+
				   response.name+",\n"+
				   response.first_name+",\n"+
				   response.last_name+",\n"+
				   response.link+",\n"+
				   response.username+",\n"+
				   response.gender+",\n"+
				   response.locale+"\nAcces token: "+accessToken);
				   
				$.ajax({type: "POST",
						url: URL_SITE_HTTP+"xhr/maj_session_facebook.xhr.php",
						data:  'uid='+uid+'&accessToken='+accessToken,
						async: false,
						success: function(reponse){ 
							window.location.href = URL_SITE_HTTP+'call_back_facebook.php';
						} 
				});
			});
		} else {
			document.location.href="/updateFacebookToken.php";
			//console.log('User cancelled login or did not fully authorize.');
		}
	}, {scope: 'offline_access,publish_stream'});
}

function connexionFacebook(){
	FB.Connect.requireSession(getPermissionFacebook);
}

function getPermissionFacebook(){
	FB.Facebook.apiClient.users_hasAppPermission("offline_access",function(perm1){
		FB.Facebook.apiClient.users_hasAppPermission("publish_stream",function(perm2){
				if(perm1 == 0 || perm2 == 0){
					// Je n'ai pas les permission.
					FB.Connect.showPermissionDialog("offline_access,publish_stream", function(perms){
						if(!perms) {
							alert('Vous ne pouvez pas utiliser cette fonction sans accepter les permissions.');
							// On décoche la case.
							$('#send_facebook').checked = false;
						}else{
							// Controle des permissions.
							getPermissionFacebook();
						}
					});
				}else{
					maj_session_facebook();
				}
		});
	});
}

function maj_session_facebook(){
	// Récupération des infos de session du client.
	var session=FB.Facebook.apiClient.get_session();
	var param = 'expiration='+session.expires+'&session_key='+session.session_key+'&uid='+session.uid;
	$.ajax({type: "POST",
			url: URL_SITE_HTTP+"xhr/maj_session_facebook.xhr.php",
			data: param,
			async: false,
			success: function(reponse){ 
				window.location.href = URL_SITE_HTTP+'call_back_facebook.php';
			} 
	});
}





function liaisonFacebook(){
	FB.Connect.requireSession(getPermissionLiaisonFacebook);
}

function getPermissionLiaisonFacebook(){
	FB.Facebook.apiClient.users_hasAppPermission("offline_access",function(perm1){
		FB.Facebook.apiClient.users_hasAppPermission("publish_stream",function(perm2){
				if(perm1 == 0 || perm2 == 0){
					// Je n'ai pas les permission.
					FB.Connect.showPermissionDialog("offline_access,publish_stream", function(perms){
						if(!perms) {
							alert('Vous ne pouvez pas utiliser cette fonction sans accepter les permissions.');
							// On décoche la case.
							$('#send_facebook').checked = false;
						}else{
							// Controle des permissions.
							getPermissionLiaisonFacebook();
						}
					});
				}else{
					maj_session_Liaison_facebook();
				}
		});
	});
}

function maj_session_Liaison_facebook(){
	// Récupération des infos de session du client.
	var session=FB.Facebook.apiClient.get_session();
	var param = 'expiration='+session.expires+'&session_key='+session.session_key+'&uid='+session.uid+'&action=liaison';
	$.ajax({type: "POST",
			url: URL_SITE_HTTP+"xhr/maj_session_facebook.xhr.php",
			data: param,
			async: false,
			success: function(reponse){ 
				window.location.href = URL_SITE_HTTP+'call_back_facebook.php';
			} 
	});
}







function envoi_mdp(){
	$('#message_alert').css('display','none');
	var param = 'email='+$('#email').val();
	$.ajax({type: "POST",
			url: URL_SITE_HTTP+"xhr/envoi_mdp.xhr.php",
			data: param, 
			cache: false, 
			success: function(reponse){ 
											if(reponse=='OK'){
												$('#message_alert').attr('class','confirmation');
												$('#message_alert').html('Un email vous a été envoyé.');
												$('#message_alert').css('display','block');												
											}else{
												$('#message_alert').attr('class','erreur');
												$('#message_alert').html(reponse);
												$('#message_alert').css('display','block');												
											}
										} });
}


function check_formu(){

	var retour = true;

	var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/;

	if (reg.exec($("#from").attr('value')) == null){
		alert ('Votre adresse E-MAIL semble invalide');
		$("#from").focus();
		retour = false;	
		return void(0);
	}
	
	if (reg.exec($("#to").attr('value')) == null){
		alert ('L\'adresse E-MAIL de votre ami semble invalide');
		$("#to").focus();
		retour = false;	
		return void(0);
	}
	
	if ($("#objet").attr('value') ==''){
		alert('Merci d\'indiquer l\'OBJET de votre message');
		$("#objet").focus();
		retour = false;	
		return void(0);
	}
	
	if ($("#message").attr('value') ==''){
		alert('Merci d\'indiquer votre MESSAGE');
		$("#message").focus();
		retour = false;	
		return void(0);
	}

	if(retour == true)	$("#formulaire").submit();

}
