/* jquery formulaires liés à l'inscription */

(function($) {
  var methods = {
     init : function( options ) {
       var container = this;
       
       // paramètres du plugin
        params = $.extend( {         	
	        inactiveBorder: "1px solid #b3b3b3",
        	activeBorder: 	"1px solid #E4127F"
		}, options);
        
        //languete
        $('#puton, .logbox-closed, .form-shadow', container).live('click',function(){
            if($('.logbox-opened').width() > 50){
                $('form#c_user').fadeOut(200, function(){$('.logbox-opened').animate({"width":"30px"},500);});
            }
            else{
                $('.logbox-opened').animate({"width":"430px"},500, function(){
                    $('form#c_user').fadeIn(200);
                });
            }
        });
        
        // on met la validation sur les boutons
        $(container).find('.button').click(function(){
            $(container).find('#logbox-user').css('border',params.inactiveBorder);
            $(container).find('#logbox-pwd').css('border',params.inactiveBorder);

            // vérification des droits
            var formdata = methods.getFormValues($(container));
            $.ajax({  
                type: 'POST',
                url: '/connect.php',
                data: formdata,
                success:   function(responseText, statusText, xhr, $form) {		
                    response = $.parseJSON(responseText);
                    $('#warning-panel').find('#registration_error').remove;
                    $('#logbox-user').css('border', params.inactiveBorder);
                    $('#logbox-pwd').css('border', params.inactiveBorder);

                     if (response.pseudo != undefined){
                        if(response.pseudo == 'censored') err_msg = "Le pseudo ne correspond pas à la ligne éditoriale du site";
                        if(response.pseudo == 'used') err_msg = "Le pseudo existe déjà";

                        $('#warning-panel').html($('<div id="#registration_error" />').html(err_msg));                                                                       
                        $('#pseudo').css('border', params.activeBorder);
                    } else if (response.pass != undefined){    
                        if(response.pass == 'doesntmatch') err_msg = "Les mots de passe ne correspondent pas.";

                        $('#warning-panel').html($('<div id="#registration_error" />').html(err_msg));                                                                       
                        $('#pass2').css('border', params.activeBorder);
                    } else if (response.check  != undefined){
                        document.location.href = response.check;
                    }
                }
            }); 
        });
     },
    /**,
    * récupère le json des erreurs et affiche les messages d'erreur
    */
    getFormValues: function(jQueryObj) {
        formdata = jQueryObj.serialize();
        array1 = formdata.split('&');
        var array2 = {};
        $(array1).each(function(cnt, el){
                pair = el.split('=');
                array2[pair[0]] = pair[1];
        });
        return array2;
    }
  };

  $.fn.authform = function( method ) {
    
    if ( methods[method] ) {
      return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
    } else if ( typeof method === 'object' || ! method ) {
      return methods.init.apply( this, arguments );
    } else {
      $.error( 'la méthode ' +  method + ' n\'existe pas pour jQuery.authform' );
    }    
  
  };        
    // Permettre le chaînage par jQuery
    return this;
})(jQuery);
