function simple_tooltip(selector, name)
{
    $(selector).each(function(i)
    {
		$("body").append("<div style='display:none' class='"+name+"' id='"+name+i+"'><p>"+$(this).attr('title')+"</p></div>");
		var my_tooltip = $("#"+name+i);
		
		if($(this).attr("title") != "" && $(this).attr("title") != "undefined" ) 
		{
		    $(this).removeAttr("title");
		    $(this).mouseover(function()
		    {
			    my_tooltip.css({opacity:1, display:"block"}).fadeIn(400);
		    });
		    $(this).mousemove(function(kmouse)
		    {
				var border_top = $(window).scrollTop(); 
				var border_right = $(window).width();
				var left_pos;
				var top_pos;
				var offset = 20;
				if(border_right - (offset *2) >= my_tooltip.width() + kmouse.pageX){
					left_pos = kmouse.pageX+offset;
				} else{
					left_pos = border_right-my_tooltip.width()-offset;
				}
					
				if(border_top + (offset *2)>= kmouse.pageY - my_tooltip.height()){
					top_pos = 80 + border_top + offset;
				} else{
					top_pos = 80 + kmouse.pageY-my_tooltip.height()-offset;
				}	
				
				my_tooltip.css({left:left_pos, top:top_pos});
		    });
		    $(this).mouseout(function(){
				my_tooltip.css({display:"none"});				  
		    });
		}
	});
}

function simple_tooltip1(selector, name)
{
    $(selector).each(function(i)
    {
		$("body").append("<div style='display:none' class='"+name+"' id='"+name+i+"'><p>"+$(this).attr('title')+"</p></div>");
		var my_tooltip = $("#"+name+i);
		
		if($(this).attr("title") != "" && $(this).attr("title") != "undefined" ) 
		{
		    $(this).removeAttr("title");
		    $(this).mouseover(function()
		    {
			    my_tooltip.css({opacity:1, display:"block"}).fadeIn(400);
		    });
		    $(this).mousemove(function(kmouse)
		    {
				var border_top = $(window).scrollTop(); 
				var border_right = $(window).width();
				var left_pos;
				var top_pos;
				var offset = 20;
				if(border_right - (offset *2) >= my_tooltip.width() + kmouse.pageX){
					left_pos = kmouse.pageX+offset;
				} else{
					left_pos = border_right-my_tooltip.width()-offset;
				}
					
				if(border_top + (offset *2)>= kmouse.pageY - my_tooltip.height()){
					top_pos = border_top + offset;
				} else{
					top_pos = kmouse.pageY-my_tooltip.height()-offset;
				}	
				
				my_tooltip.css({left:left_pos, top:top_pos});
		    });
		    $(this).mouseout(function()
		    {
				my_tooltip.css({display:"none"});				  
		    });
		}
	});
}

var container; 
var hideDelay = 500;  
var hideTimer = null;

	
$(document).ready(function(){
    simple_tooltip1(".tmacPopupTrigger","simpleTooltip");
    simple_tooltip1(".racPopupTrigger","simpleTooltipB");
	simple_tooltip1(".tvPopupTrigger","simpleTooltip");
    simple_tooltip(".claScoPopupTrigger","tooltip");
        

    initPopupCommon();
    
    initPopupRvs();
    //initPopupEas();

});

function initPopupCommon()
{
    // One instance that's reused to show info for 
    container = $('<div id="PopupContainer">'
        + '<table width="" border="0" cellspacing="0" cellpadding="0" align="center" class="PopupPopup">'
        + '<tr>'
        + '   <td class="border corner topLeft"></td>'
        + '   <td class="border top"></td>'
        + '   <td class="border corner topRight"></td>'
        + '</tr>'
        + '<tr>'
        + '   <td class="border left"></td>'
        + '   <td><div id="PopupContent"></div></td>'
        + '   <td class="border right"></td>'
        + '</tr>'
        + '<tr>'
        + '   <td class="border corner bottomLeft"></td>'
        + '   <td class="border bottom"></td>'
        + '   <td class="border corner bottomRight"></td>'
        + '</tr>'
        + '</table>'
        + '</div>'
    );

    $('body').append(container);    
    
    // Allow mouse over of details without hiding details
    $('#PopupContainer').mouseover(function()
    {
        if(hideTimer) clearTimeout(hideTimer);
    });

    // Hide after mouseout
    $('#PopupContainer').mouseout(HandlerPopupMouseout);
}

var HandlerPopupMouseout = function popupMouseout()
{
    if(hideTimer) {clearTimeout(hideTimer);}
    hideTimer = setTimeout(function()
    {
        container.css('display', 'none');
    }, hideDelay);
}

function initPopupRvs()
{
    $('.rvsPopupTrigger').live('mouseover', function()
    {
        // format of 'rel' tag: registro,rvsguid
        var settings = $(this).attr('rel').split(',');
        var registro = settings[0];
        var studente = settings[1];
        var periodo = settings[2];
        var dataString = JSON.stringify({ 
            RegistroDocente: registro, 
            Studente: studente, 
            Periodo: periodo 
        });
        //alert("Registro="+registro+" ,Studente="+studente+", Periodo="+periodo);
        
        // If no guid in url rel tag, don't popup blank
        if (studente == '') return;

        if (hideTimer) clearTimeout(hideTimer);

        var pos = $(this).offset();
        var width = $(this).width();
        var pleft = 3 + (pos.left + width) + 'px';
        var ptop = pos.top - 5 + 'px';
        if ($(document).width() < (pos.left + 600)) 
        {
            pleft = pos.left - 610 + 'px';
        }
        container.css({left: pleft,top: ptop });

        $('#PopupContent').html('&nbsp;');

        $.ajax({
            type: "POST",
            url: "default.aspx/GetAjaxRegistroDocente_RVS",
            data: dataString,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            error: function(XMLHttpRequest, textStatus, errorThrown) 
            {
                //alert("textStatus: "+textStatus+" errorThrown: "+errorThrown+" Error: "+XMLHttpRequest.responseText);
            },
            success: function(data)
            {
                $('#PopupContent').html(data);
            }
        });

        container.css('display', 'block');
    });

    $('.rvsPopupTrigger').live('mouseout', HandlerPopupMouseout);

    $('.easPopupTrigger').live('mouseover', function()
    {
        // format of 'rel' tag: registro,rvsguid
        var settings = $(this).attr('rel').split(',');
        var tipoassenza = settings[0];
        var studente = settings[1];
        var periodo = settings[2];
        var dataString = JSON.stringify({ 
            TipoAssenza: tipoassenza, 
            Studente: studente, 
            Periodo: periodo 
        });
        //alert("TipoAssenza="+tipoassenza+" ,Studente="+studente+", Periodo="+periodo);
        
        // If no guid in url rel tag, don't popup blank
        if (studente == '') return;

        if (hideTimer) clearTimeout(hideTimer);

        var pos = $(this).offset();
        var width = $(this).width();
        var pleft = 3 + (pos.left + width) + 'px';
        var ptop = pos.top - 5 + 'px';
        if ($(document).width() < (pos.left + 600)) 
        {
            pleft = pos.left - 610 + 'px';
        }
        container.css({left: pleft,top: ptop });

        $('#PopupContent').html('&nbsp;');

        $.ajax({
            type: "POST",
            url: "default.aspx/GetAjaxRegistroClasse_EAS",
            data: dataString,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            error: function(XMLHttpRequest, textStatus, errorThrown) 
            {
                //alert("textStatus: "+textStatus+" errorThrown: "+errorThrown+" Error: "+XMLHttpRequest.responseText);
            },
            success: function(data)
            {
                $('#PopupContent').html(data);
            }
        });

        container.css('display', 'block');
    });

    $('.easPopupTrigger').live('mouseout', HandlerPopupMouseout);
}

