jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
        jQuery("<img>").attr("src", arguments[i]);
  }
};

$(document).ready(
	function () {
		$("#widget").sortable({
			/*placeholder:"dragAjuda",*/
			connectWith: $("#widget"),
			cursor: 'move',
			axis: 'y',
			revert: 200,
       		/*scroll: true,*/
       		dropOnEmpty: false,
       		forceHelperSize: true,
       		helper: 'clone',
       		/*tolerance: 'pointer',*/
       		handle: $(".itemHeader"), 
            /*delay: 0, // Tiempo de espera para iniciar el movimiento*/
            change: function(e, ui) {
            	// Bug del explorer, cuando se mueven las capas lo elementos relativos no se mueven
				if($.browser.msie){
					if ($(".itemContent:reallyvisible").css('display')=='block'){
						$(".itemContent:reallyvisible").css({'display' : 'inline'});
					}else{
						$(".itemContent:reallyvisible").css({'display' : 'block'});
					}
				}
            },
            update: function (e,ui) {
				// Al parar el movimiento, reiniciamos el evento click.
                $('a.closeEl').bind('click', toggleContent);
				// Actualizamos el orden de los widgets
				$.get('/inc/aplicacionesPerso/widgets/peticionesAjax/actualizarOrdenWidget.asp?'+window.location.search.substring(1)+"&"+$("#widget").sortable("serialize"));
				
            },
			zIndex: 300000
		});
		
		//$("#widget").css{"clear","both"};
		
		$('a.closeEl').bind('click', toggleContent);

		/*PNGs*/
		$(document).pngFix();

		/*TOOLTIPS*/
		$('span.tooltip,.calendario tbody td[class!=""]').tooltip({
			bodyHandler: function() { 
				// expresión regular para crear los saltos de línea
				return this.tooltipText.replace(/\n/g,"<br />");
			},
			// track: booleno que indica si el tooltip seguirá al mouse o se quedará estático.
			track: true,
			// delay: tiempo en milisegundos antes que aparezca el tooltip.
			delay: 0,
			// showURL: booleano que indica si se mostrará el url al final del contenido.
			showURL: false,
			// showBody: caracteres que separa el titulo de contenido del tooltip.
			showBody: ""
		});

		// Te lleva al principio de la página
		$('#atajo').click(function(e) {
			e.preventDefault();
			$.scrollTo(0,300);
		});
		
		// Ancla que lleva al fórmulario que redefine la búsqueda
		$('.redefinir').click(function(e) {
			$.scrollTo("#redefinir",300);
		});
 
	}
);

// Función que se encarga de mostrar o no el contenido en los plugins
var toggleContent = function(e)
	{
	var targetContent = $('div.itemContent', this.parentNode.parentNode);

	if (targetContent.css('display') == 'none') {
		// Bug del explorer, cuando se mueven las capas lo elementos relativos no se mueven
		if($.browser.msie){
			targetContent.show();
		}else{
			targetContent.slideDown(300);
		}
		$(this).html('<img src="/img/css/iconos/iconoMenos.gif" alt="Ocultar información" title="Ocultar información" />');
	} else {
		// Bug del explorer, cuando se mueven las capas lo elementos relativos no se mueven
		if($.browser.msie){
			targetContent.hide();
		}else{
			targetContent.slideUp(300);
		}
		$(this).html('<img src="/img/css/iconos/iconoMas.gif" alt="Mostrar información" title="Mostrar información" />');
	}
	return false;
};

//plugin para los anclas
jQuery.fn.topLink = function(settings) {
	settings = jQuery.extend({
		min: 1,
		fadeSpeed: 200
	}, settings);
	return this.each(function() {
		//listen for scroll
		var el = $(this);
		el.hide(); //in case the user forgot
		$(window).scroll(function() {
			if($(window).scrollTop() >= settings.min)
			{
				el.fadeIn(settings.fadeSpeed);
			}
			else
			{
				el.fadeOut(settings.fadeSpeed);
			}
		});
	});
};

// extensión para el jquery que incluye el método reallyvisible
jQuery.extend(
  jQuery.expr[ ":" ], 
  { reallyvisible : function (a) { return !(jQuery(a).is(':hidden') || jQuery(a).parents(':hidden').length); }}
);