
/**
 * Fonction global
 * 
 */


var openRegister;

var facebook_api;


/**
 * Pour le preload d'images
 */
jQuery.preloadImages = function()
{
	for(var i = 0; i<arguments.length; i++){
		jQuery("<img>").attr("src", arguments[i]);
	}
}



/**
 * Initialisation pour facebook connect
 */
//facebook connect
function initFB(){
    FB_RequireFeatures(["XFBML"], function() {
        FB.Facebook.init("", "/xd_receiver.htm");
        facebook_api = FB.Facebook.apiClient;
    });

}

/*
 * Formulaire de connection Facebook connect
 */
function facebook_requestSession()
{
	FB.ensureInit(function(){
		FB.Connect.ifUserConnected(facebook_login_request, function (){
			FB.Connect.requireSession(facebook_login_request);
		});
	});
}

function facebook_login_request(){
	//utilisateur connu?
	$.ajax({
		dataType : "json",
		url: "/users/login_facebook/",
		success: function(data){
		if(data.register)
			openRegister(data);
		else
			document.location = data.redirect;
	}});
}

function facebook_logout(){
	FB.Connect.ifUserConnected(null,function() { window.location = "/users/logout" }); 
	FB.Connect.logoutAndRedirect("/users/logout"); 
	return false;
}


function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\0/g,'\0');
	str=str.replace(/\\\\/g,'\\');
	return str;
}

/******** FONCTION jQuery *******/
jQuery(function( $ ){
	/**
	 * Pour le text auto de l'input rechercher
	 */
	$('#Rechercher').example(function() {
		  return $('#Rechercher').attr('title');
		});
	
	//---------------Formulaire de connection--------------------
	/**
	 * Fenetre popup
	 */
	$("#loginForm").dialog({ 
		resizable: false, 
		draggable: false, 
		modal: true, 
		autoOpen: false,
		width: 400,
		buttons: {
			'Se connecter': function() {
				$("#UserLoginForm").submit();
			},
			'Annuler': function() {
				$(this).dialog('close');
			}
		}
	});
	$('#UserEmail, #UserPassword').keypress(function (e){
		if(e.which == 13)
			$('#UserLoginForm').submit();			
	});
	$('#btnLogin').click(function() { ;
		var allFields = $([]).add("#UserEmail").add("#UserPassword");
		allFields.removeClass('ui-state-error');
		allFields.val('');
		$("#validateTipsLogin").html(' ');
		$("#loginForm").dialog('open');
	});
	$('#btnLogin2').click(function() { 
		var allFields = $([]).add("#UserEmail").add("#UserPassword");
		allFields.removeClass('ui-state-error');
		allFields.val('');
		$("#validateTipsLogin").html(' ');
		$("#loginForm").dialog('open');
		
	});
	
	$('#btn-login-cancel').click(function() { 	
		$("#loginForm").dialog('close');
        return false; 
	}); 
	
	/**
	 * Request ajax
	 */
	 var options = { 
	    dataType:  'json', 
        success: function (data) { 
					 	var allFields = $([]).add("#UserEmail").add("#UserPassword");
						allFields.removeClass('ui-state-error');
						if(data.accept){
							document.location = data.redirect;
						}
						else{	
							allFields.addClass('ui-state-error');
							$("#validateTipsLogin").text(data.msg).effect("highlight",{},1500);
						}
					}
    }; 
    $('#UserLoginForm').ajaxForm(options);
    //---------------Formulaire d'inscription---------------------
	/**
	 * Fenetre popup
	 */
    $('#registerForm').dialog({ 
    	resizable: false, 
    	draggable: false, 
    	modal: true, 
    	autoOpen: false,
    	width: 440,
		buttons: {
			'S\'inscrire': function() {
				$('#UserRegisterForm').submit();
			},
			'Annuler': function() {
				$(this).dialog('close');
			}
		}
    });
    
	openRegister = function (data) {
		var allFields = $([]).add("#UserEmailRegister").add("#UserPass").add("#UserPassword2").add("#UserNickName");
		allFields.removeClass('ui-state-error');
		allFields.val('');
		$('#validateTipsRegister').html(' ');
		if(data.register){
			$('#UserNickName').val(data.User.nick_name);
			$('#UserUidFb').val(data.User.uid_fb);
			$('#UserSex').val(data.User.sex);
			$('#UserCity').val(data.User.city);
			$('#UserCountry').val(data.User.country);
			$('#facebook-link').hide();
			
		}
		$('#registerForm').dialog('open');
	}
	$('#btnRegister').click(openRegister);
	$('#btnRegister2').click(openRegister);
	
	$('#btn-register-cancel').click(function() { 
		$('#registerForm').dialog('close');
        return false; 
	}); 
	/**
	 * Request ajax	
	 */
	 var options = { 
	    dataType:  'json', 
        success: function (data) { 
						 var allFields = $([]).add("#UserEmailRegister").add("#UserUGC").add("#UserPass").add("#UserPassword2").add("#UserNickName");
							allFields.removeClass('ui-state-error');
						if(data.accept){
							document.location = data.redirect;
							return true;
						}
						else{
							
							if(data.errors.email){
								$("#UserEmailRegister").addClass('ui-state-error');
								$("#validateTipsRegister").text(data.errors.email).effect("highlight",{},1500);
							}else if(data.errors.password){
								$("#UserPass").addClass('ui-state-error');
								$("#UserPassword2").addClass('ui-state-error');
								$("#validateTipsRegister").text(data.errors.password).effect("highlight",{},1500);									
							}else if(data.errors.nick_name){
								$("#UserNickName").addClass('ui-state-error');
								$("#validateTipsRegister").text(data.errors.nick_name).effect("highlight",{},1500);	
							}else if(data.errors.ugc){
								$("#UserUGC").addClass('ui-state-error');
								$("#validateTipsRegister").text(data.errors.ugc).effect("highlight",{},1500);	
							}
							
						}
					}
    }; 
    $('#UserRegisterForm').ajaxForm(options);
    
	//-------------------------------------------------------
	/**
	 * Confirmation de suppression du compte utlisateur
	 */
	$('#btn-delete-account').click(function(){
		if($('#UserAccountDelete').is(':checked')){   
			$.blockUI({ message: $('#confirm-delete') });
		}
		else{
			$('#UserEditForm').submit();
		}
	});
	
	$('#btn-delete-account-yes').click(function() { 
		$('#UserEditForm').submit();
	}); 

    $('#btn-delete-account-no').click(function() { 
        $.unblockUI(); 
        return false; 
    }); 
    
    
    $("#Rechercher").autocomplete("/search/all/",
    		{
    		     minChars: 2,
    		     delay: 400,
    		     autoFill:false,
    		     width: 151,
    		     url: "/search/all/",
    		     matchContains: false,	
    		     cacheLength: 0,
    		     formatItem: function(data, i, max) {
    					var type = data[2];
    					var classCSS = '';
    					if(type=='group')
    						classCSS = 'ac_group';
    					return '<div class="' + classCSS + '" type="' + data[2] + '" url="' + data[3] + '" >' +data[0] + '</div>';
    		        },
    		     onItemSelect:function (li, prev){
    		         var url = $(li).children('div').attr('url');
    		         var type = $(li).children('div').attr('type');
    		         if(type == 'group'){
    		        	 type = $(li).next().children('div').attr('type');
    		        	 url = "/search/"+ type +"/"+ prev;
    		        	 $('#Rechercher').val(prev);
    		         }
    		        	 
    		         if(url.length)
    		        	 document.location = url;
    		     }	    		      
    		});
    
    
    $("#Rechercher").keyup(function(e) {
    				if(e.keyCode == 13)
    					document.location = "/Search/webserie/"+ $('#Rechercher').val();
    });

    //---------------------------------------------------------
    /*
     * Gestion de l'ajout de commentaire
     * @author: romain
     */
    $('#addComment').click(function(){  
    	var form = '';
    	$.blockUI({ message: $('#CommentAddCommentForm')});
    });
    var options = {  
    		dataType : 'json',
            success: function (url) { 
    						refreshComments(url);
    						$('#textarea').val('');
    					}
        }; 
        $('#CommentAddCommentForm').ajaxForm(options);
        
    $("#home-link a").bt({
    	  positions: 'bottom',
    	  width: 100,
    	  fill: 'rgba(170, 170, 170, .8)',
    	  strokeWidth: 0,
    	  spikeLength: 8, 
    	  spikeGirth: 10, 
    	  padding: 0,
    	  cornerRadius: 0 
    });
    $("#profile-link a").bt({
	  	  positions: 'bottom',
	  	  width: 100,
	  	  fill: 'rgba(170, 170, 170, .8)',
	  	  strokeWidth: 0,
	  	  spikeLength: 8, 
	  	  spikeGirth: 10, 
	  	  padding: 0,
	  	  cornerRadius: 0 
  	});
    $("#people-link a").bt({
  	  positions: 'bottom',
	  	  width: 100,
	  	  fill: 'rgba(170, 170, 170, .8)',
	  	  strokeWidth: 0,
	  	  spikeLength: 8, 
	  	  spikeGirth: 10,
	  	  padding: 0,
	  	  cornerRadius: 0 
  	});
    $("#videos-link a").bt({
	  	  positions: 'bottom',
	  	  width: 100,
	  	  fill: 'rgba(170, 170, 170, .8)',
	  	  strokeWidth: 0,
	  	  spikeLength: 8, 
	  	  spikeGirth: 10,  
	  	  padding: 0,
	  	  cornerRadius: 0
  	});
    
});
	