(function($) {
    
    var W = this.window, D = W.document, DE = D.documentElement;
    
    if(!DE || !D.getElementById || !D.getElementsByTagName || !D.createElement) {
        return;
    }
    
    DE.id = 'js';
       
    var popin = {
        init: function(){
            if($("a.popin").length){
                $('body').append('<div id="popin"></div><div class="overlay"></div>');
                
                $("a.popin").click(function(){
                	
                    var linkArgs = $(this).attr('href').split('?')[1];
                    var popinType = linkArgs.split('&')[0];
                    var popinContentId = linkArgs.split('&')[1];
                    var popinIdPost = linkArgs.split('&')[2];
                    if (popinIdPost) {
                        popin.displayPopinPost(popinType.split('=')[1], popinContentId.split('=')[1], popinIdPost.split('=')[1]);
                    } else {
                        popin.displayPopin(popinType.split('=')[1], popinContentId.split('=')[1]);
                    };
                    return false;
                });
                
                // Centrage de la popin
                $(W).resize(function(){
                    popin.centerPopin();
                });
            }
        },
        displayPopin: function(popinType, popinContentId){
            $.get('/popin.php',{popin: popinType, id: popinContentId}, popin.onLoadPopin);
            $(".overlay").show();
        },
        displayPopinPost: function(popinType, popinContentId, popinIdPost){
            $.get('/popin.php',{popin: popinType, id: popinContentId, idPost: popinIdPost}, popin.onLoadPopin);
            $(".overlay").show();
        },
        onLoadPopin: function(cnt){
            $("#popin").append(cnt);
            $("#popin").show();
            $("#popin .closePopin").click(function(){
                popin.closePopin();
                return false;
            });	
            popin.centerPopin();
            $("#formJoin").submit(function () {
            	$.post(
            		$("#formJoin").attr('action'), 
            		$("#formJoin").serialize(),
            		popin.afterSubmit
            	)
            	return false;
            });
            $('#formJoin #name').focus(function(){
            	if ($(this).val() == 'Name') {
	                $(this).val('');
	            }
	        });
            $('#formJoin #name').blur(function(){
            	if ($(this).val() == '') {
	                $(this).val('Name');
	            }
	        });
            $('#formJoin #firstName').focus(function(){
            	if ($(this).val() == 'First Name') {
	                $(this).val('');
	            }
	        });
            $('#formJoin #firstName').blur(function(){
            	if ($(this).val() == '') {
	                $(this).val('First Name');
	            }
	        });
            $('#formJoin #mail').focus(function(){
            	if ($(this).val() == 'E-Mail') {
	                $(this).val('');
	            }
	        });
            $('#formJoin #mail').blur(function(){
            	if ($(this).val() == '') {
	                $(this).val('E-Mail');
	            }
	        });
        },
        afterSubmit: function(cnt) {
        	 $("#popin").empty();
        	 popin.onLoadPopin(cnt);
        },
        centerPopin: function(){
            var gauche = ($(D).width() - $("#popin").width()) / 2;
            var haut = ($(W).height() - $("#popin").height()) / 2;
            var pos = popin.positionAscenseur();
            
            $("#popin").css({top: (haut + pos[1])+"px", left: gauche+"px"});
            $(".overlay").css({height: $(D).height()+"px"});
        },
        closePopin: function(){
            $("#popin, .overlay").hide();
            $("#popin").html("");
        },
        positionAscenseur: function(){
            var scrOfX = 0, scrOfY = 0;
            if( typeof( W.pageYOffset ) == 'number' ) {
                //Netscape compliant
                scrOfY = W.pageYOffset;
                scrOfX = W.pageXOffset;
            } else if( D.body && ( D.body.scrollLeft || D.body.scrollTop ) ) {
                //DOM compliant
                scrOfY = D.body.scrollTop;
                scrOfX = D.body.scrollLeft;
            } else if(  DE.scrollLeft || DE.scrollTop ) {
                //IE6 standards compliant mode
                scrOfY = DE.scrollTop;
                scrOfX = DE.scrollLeft;
            }
            return [ scrOfX, scrOfY ];
        }
    };
    
    var sendToFriendError = {
        init: function () {
            if ($('body').hasClass('.sendToFriendError')) {
            
                var linkArgs = $("a.send").attr('href').split('?')[1];
                var popinType = linkArgs.split('&')[0];
                var popinContentId = linkArgs.split('&')[1];
                var popinIdPost = linkArgs.split('&')[2];
                
                popin.displayPopinPost(popinType.split('=')[1], popinContentId.split('=')[1], popinIdPost.split('=')[1]);
                
            }
            
            if ($('body').hasClass('.joinError')) {
                popin.displayPopinPost('join', 'join', 'plop');
            }
        }
    };
   
    $(document).ready(function () {
        popin.init();
        sendToFriendError.init();
    });
    
})(jQuery);