/* ventana modal */
(function ($) {
	var _wins = {};
	var _precargaww = false;
	
	$.ww = function(params) {
		var params = $.extend({
			titulo: '',
			ancho: 300,
			alto: 200,
			spost: '',
			scallback: false,
			imgespera: '../img/pagina/cargador.gif',
			imgcerrar: '../img/pagina/wcerrar.gif'
		}, params||{});
		
		var wid=new Date().getTime()
		_wins["f"+wid]=params;
		$("body").append("\
				<div id='wfondo" + wid + "' class='wfondo'></div> \
				<div id='ww" + wid + "' class='ww'> \
					<table><tbody> \
						<tr><td class='tl'/><td class='b'/><td class='tr'/></tr> \
						<tr><td class='b'/><td class='b'> \
							<div class='wtitulo'>" + params.titulo + "<a id='wcerrar" + wid + "' href='#'></a></div> \
						  </td><td class='b'/> \
						</tr> \
						<tr><td class='b'/><td class='wcuerpo'> \
							<div id='wcontenido" + wid + "' class='wcontenido'></div> \
						  </td><td class='b'/> \
						</tr> \
						<tr><td class='bl'/><td class='b'/><td class='br'/></tr> \
					</tbody></table> \
				</div>");
		$('#wfondo'+wid).hide();
		$('#ww'+wid).hide();
		precargar();
		centrar();
		mostrar();
		cargar();
		$('#wcerrar'+wid).click(function() { $.wwcerrar(); return false; });

		//$(document).keydown(function(e){ if (e.keyCode == 27) $.wwcerrar(); });
		$(document).bind('keypress', function(evt) {
			var key = evt.which || evt.keyCode;
			if (key == 27) { $.wwcerrar(); }
		});
		
		function precargar() {
			if ($.ww._precargaww) { return true; } else { $.ww._precargaww = true; }

			var preload = [ new Image(), new Image() ]
			preload[0].src = params.imgespera;
			preload[1].src = params.imgcerrar;
		
			$('.ww').find('.b:first, .tl, .tr, .bl, .br').each(function() {
			  preload.push(new Image())
			  preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1')
			})
		}
		function centrar() {
			var de = document.documentElement;
			var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
			var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
	
			$("#ww"+wid).css({width:(params.ancho+16+20)+"px", height:(params.alto+16+20+20)+"px"});
			$("#wcontenido"+wid).css({width:(params.ancho)+"px", height:(params.alto)+"px"});
			$("#ww"+wid).css({ left:((w - params.ancho)/2)+"px", top:((h - params.alto)/2)+"px" });
		}
		function mostrar() {
			$("#wfondo"+wid).show();
			$("#ww"+wid).show();
		}
		function cargar() {
			$.ajax({url:params.url, data:params.spost, type:"POST", dataType:"html", cache:false, async:true, 
				beforeSend:function(obj) { $("#wcontenido"+wid).html("<div class='precarga'><img src='"+params.imgespera+"'/></div>"); },
				success: function(msg) { $('#wcontenido'+wid).html(msg); }
			});
		}
		$.wwcerrar = function() {
			$(".ww:last").each(function(){ 
				$(this).fadeTo(200, 0, function() { 
					var xid=this.id.substring(2);
					$("#ww"+xid+", #wfondo"+xid).remove();
					if ( _wins["f"+xid].scallback ) {
						window[ _wins["f"+xid].scallback ]();
						_wins["f"+xid].scallback=false;
					}
				});
			});
		}
	};
})(jQuery);


/* tool tip */
$.fn.tooltip = function(){
	$("body").prepend( "<div class='tip'> \
					  		<div class='tipMid'></div> \
							<div class='tipBtm'></div> \
						</div>" );

	$(this).each(function(){
		var tTitle = (this.title);
		this.title = "";
		this.alt = "";

		var tip = $('.tip');
		var tipInner = $('.tip .tipMid');
		
		var offset = $(this).offset();
		var tTop = offset.top;
		var tLeft = offset.left;

		$(this).hover( function() { tipInner.html(tTitle);
									posTip(tTop, tLeft);
									tip.show();	}, 
					   function() {	tip.hide(); });
		$(this).click( function() { tip.hide() });
		
		posTip = function(top, left){
			var topOffset = tip.height();
			var xTip = (left-30)+"px";
			var yTip = (top-topOffset-25)+"px";
			tip.css({'left': xTip, 'top': yTip });
		}
	});
};

