jQuery.extend(jQuery.fn,{
	openPopUp: function(contentWinId){

		var button = $(this); 

		opt = arguments[1] || {};

		optDefault = {
			windowClass: "popUpWin",
			closeClass: "popUpClose",
			closeContentClass: "popUpContentColse",
			closeText: "Cerrar [x]",
			toUp: true,
			toRight: true,
			width: "500px",
			height: "500px",
			top: "0px",
			left: "opx"
		};

		opt.windowClass = opt.windowClass || optDefault.windowClass;
		opt.top = opt.top || optDefault.top;
		opt.left = opt.left || optDefault.left;
		opt.closeClass = "popUpClose";
		opt.closeContentClass = "popUpContentColse";
		opt.closeText = "Cerrar [x]";

		if(opt.toUp===undefined)
			opt.toUp = optDefault.toUp;

		var win = $('<div></div>');
		var closeContent = $('<div></div>');
		var close = $('<div>'+opt.closeText+'</div>');

		// Adiciona los CSS`s
		closeContent.addClass(opt.closeContentClass);
		close.addClass(opt.closeClass);
		win.addClass(opt.windowClass);
		
		// Setea los valores de tamaño reales de la ventana
		var winHeight	= opt.height || optDefault.height;
		var winWidth	= opt.width || optDefault.width;
		var winDisplay	= winDisplay = win.css("display");

		
		win.css({width: "0px", height: "0px", "display": "none"});

		closeContent.append(close);
		win.append(closeContent);
		win.append($(contentWinId));
		button.after(win);

		close.click(function(e){
			button.click();
		});


		$(this).click(function(){
			var animTop		= "0";
			var animLeft 	= "0";
			var animWidth	= "0";
			var animHeight	= "0";
			var animDisplay = "none";


			animWidth = (win.width() > 0)?"0":winWidth;
			animHeight = (win.height() > 0)?"0":winHeight;
			animDisplay = (win.css("display")=="none")?winDisplay:"none";

			if(opt.toUp){
				animTop = (animWidth=="0")?("+="+winHeight):("-="+winHeight);
			} else { 
				animTop = opt.top;	
			}

			win.animate({height: animHeight,width: animWidth, top: animTop, left: animLeft},
						500
						,						function(){
							win.css("display",animDisplay);
						}
						
						);

			return false;
		});
	}
});


