$(document).ready(
	function() {
		var previewBox = $('#shortBlurb');
		previewBox.hide();

        $('a.program-mosaic').each(function() {
            $(this).click(function(e) {
                e.preventDefault();

                $('#movie').html(programData[this.name].html)
                           .dialog('option', 'modal', true)
                           .dialog('option', 'height', 'auto')
                           .dialog('option', 'width', '475px')
                           .dialog('option', 'title', programData[this.name].title)
                           .dialog('open');
                
                $('.ui-widget-overlay').click(function(e) {
                    $('#movie').dialog('close');
                });

                $('.ui-dialog').each(function() {
                    if (typeof window.pageYOffset == 'number') {
                        var offset = parseInt(window.pageYOffset);
                        
                        offset += 40;
                        
                        this.style.top = offset + 'px';
                    }
                });
            });
        });

		$('a.popup')
			.hover(
				function(e) { // over...
					var linkName = this.name;
					var winWidth = $(window).width();
					var offsetX  = e.clientX + 20;
					
					while (offsetX + 300 > winWidth - 20) {
					    offsetX--;
					}

					previewBox
						.css({top: e.clientY + 15, left: offsetX, backgroundColor: '#000000'})
						//.offset({top: e.pageY + 20, left: e.pageX - 100})
						.html($('div#'+linkName).html())
						.fadeIn('medium');
					$('[name='+linkName+']').addClass('programHover');
					$('td:has(a[name='+linkName+'])').addClass('programHover');
				},
				function() { // ...and out
					var linkName = this.name;
					previewBox.hide();
					$('[name='+linkName+']').removeClass('programHover');
					$('td:has(a[name='+linkName+'])').removeClass('programHover');
				}
			)
			.mousemove(
				function(e) {
				    var winWidth = $(window).width();
					var offsetX  = e.pageX + 20;
					
	                while (offsetX + 300 > winWidth - 20) {
					    offsetX--;
					}
				
					
					previewBox.css({"text-align": "left", top: e.pageY + 15, left: offsetX});
					//previewBox.offset({top: e.pageY + 20, left: e.pageX - 100});
				}
			);
	}
);

