$j = jQuery.noConflict();

var advertisePopinPlugin = {
		framesDefaultOptions : {
			'width'	: '800',
			'height' : '600',
			'scrolling' : 'no',
			'frameborder' : '0',
			'marginheight' : '0',
			'allowTransparency' : 'true',
			'marginwidth' : '0',
			'src' : 'about:blank'
		},
		initPopin : function () {
			/* creaction du masque et de la popin */
			var div = '<div class="mask_campaign_plugin">&nbsp;</div><div class="popin_campaign_plugin"></div>';
			$j("body").append(div);
			$j(".mask_campaign_plugin").click(function(){
				if ( $j(this).hasClass('lockPopin') ) { return false; }
				return advertisePopinPlugin.closePopin();
			});
			$j(".popin_campaign_plugin").bind({
				redim : function( callback ) {
					
				}
			});
			
			/* si un lien a la classe loadPopin_plugin, il sera chargé dans la popin */
			$j(".loadPopin_plugin").click(function(){
				$j(".popin_campaign_plugin").load($j(this).attr("href"), "", function(){
					advertisePopinPlugin.closeInitPopin();
					$j(this).hasClass('lockPopin') ? 
							$j(".mask_campaign_plugin").addClass("lockPopin") : $j(".mask_campaign_plugin").removeClass("lockPopin"); 
					advertisePopinPlugin.showPopin();
				});
				return false;
			});
		},
		redimPopin :function ( elem, callback ) {
			try {
				$j(elem).css({
				    'margin-left' : '-'+Math.round($j(elem).innerWidth() / 2)+'px'
				});
			} catch( error ) { 
				$j(elem).css({
			    	'margin-left' : '-291px'
				}); 
			}
			if ( callback != null && jQuery.isFunction( callback )  ) {
				callback();
			}
		},
		showPopin : function( callback ) {
			$j(".mask_campaign_plugin").show();
			$j(".popin_campaign_plugin").fadeIn("slow", function() { 
				return advertisePopinPlugin.redimPopin( $j(this), callback ); 
			});
		},
		closePopin : function() {
			$j(".popin_campaign_plugin").fadeOut("slow", function() {
				$j(this).removeClass("lockPopin").empty();
				$j(".mask_campaign_plugin").removeClass("lockPopin").hide();
			});
			return false;
		},
		closeInitPopin : function () {
			$j(".closePopin_plugin").click( advertisePopinPlugin.closePopin );
		},
		createFrame : function( options ) {
			return $j('<iframe></iframe>', $j.extend( {}, advertisePopinPlugin.framesDefaultOptions, options ) ).addClass('iframe_plugin');
		}
		
};
