// JavaScript Document


var blockContainer;
var tooltipContent;
var winWidth = $(window).width();
var winHeight = $(window).height();
var tipParentText;
var tooltipShown = false;

var tooltipCont = "<div class='vd_toolTip vd_left'><div class='vd_toolTip_container'><div class='vd_toolTip_title'></div><div class='vd_toolTip_content'><div class='vd_toolTip_head'><p>Description:</p></div><div class='vd_toolTip_desc'><p></p></div></div></div></div>"

/*  Generate the tooltip  */
function genTooltip(n,id){	
//    log.info("genTooltip", "Calling genTooltip", 5);
$("div.vd_toolTip").remove();	
	tooltipShown = true;
	blockContainer = $toolLink.parents(".tooltip_block_container");
    var thisWidth = $toolLink.find("img").width();
    var thisHeight = $toolLink.find("img").height();
    var thisPos = $toolLink.find("img").position();
	var thisOffset = $toolLink.find("img").offset();
    var $this = $(n);
	var tipContent;
	var tipTitle;
	//alert(offTop)

$("body").append(tooltipCont);
		var winWidth1 = $(window).width(); // new tooltip width
		var winHeight1 = $(window).height(); // new tooltip height
		var tooltip = $("div.vd_toolTip"); //the tooltip container
		var tooltipWidth = $("div.vd_toolTip").width(); 
		var tooltipHeight = $("div.vd_toolTip").height();
		var tooltipPos = $("div.vd_toolTip").position();
		var tooltipLeft = tooltipPos.left;
		$("div.vd_toolTip").css({
			//height: tooltipHeight,
			left: (thisOffset.left),
			top: thisOffset.top-(35)
		});


	//	alert(blockContainer.length);

			
//	for (var i in JSONobj.list.video) { 
	
	$.each( JSONobj.videos.categories.entry, function(i, n){
		//if ($.trim(this.categories.name) == $.trim(activeCategoryName)) {
		$(this.categories.videos.video).each(function(i,n) {
		vidId = this.id; //get the id from the JSON object
		vidCat = this.category;
		vidTitle = this.title;
		vidDate = this.date;
		vidTip = this.tip;
		vidDuration = this.duration;
		vidContent = this.contentPath;
		if(id==vidId) {
			$("div.vd_toolTip").find("div.vd_toolTip_title").empty().append("<h3 class='catg'>"+vidCat+"</h3><h3 class='title'>"+vidTitle+"</h3><h3 class='date'>"+vidDate+"</h3><h3 class='duration'>"+vidDuration+"</h3><div class='bmg_clear0'><!-- --></div>");
			$("div.vd_toolTip").find("div.vd_toolTip_desc p").empty().append(vidContent);
//			    log.info("genTooltip", "Tip Content: "+vidContent, 5);
				//new tooltip dimensions after content feed
				var newTooltipHeight = $("div.vd_toolTip").height();
				var newTooltipWidth = $("div.vd_toolTip").width();
			// get the browser-agnostic scrollTop and scrollLeft positions
			if ( document.documentElement && (document.documentElement.scrollTop)) {
				browserTopY = document.documentElement.scrollTop; 
			} else {
				browserTopY = document.body.scrollTop; 
			}
			
			if ( document.documentElement && (document.documentElement.scrollLeft)) {     
				browserLeftX = document.documentElement.scrollLeft; 
			} else {
				browserLeftX = document.body.scrollLeft; 
			}
		
			var thisOffset1 = $toolLink.find("img").offset(); //new offset iof the tooltip trigger
			var thisPosition1 = $toolLink.find("img").position(); 
			//calculate the space for the 4 areas
			var leftSpace = thisOffset1.left - browserLeftX;
			var rightSpace = winWidth1 - ((thisOffset1.left + thisWidth) - browserLeftX);
			var topSpace = thisOffset1.top - browserTopY;
			var bottomSpace = winHeight1 - (thisOffset1.top - browserTopY);
			//get booleans per area
			var isRight = (newTooltipWidth <= rightSpace);
			var isLeft = (newTooltipWidth <= leftSpace);
			var isTop = (newTooltipHeight <= topSpace);
			var isBottom = (newTooltipHeight <= bottomSpace);

			if(isRight && (newTooltipHeight <= winHeight1 - ($("div.vd_toolTip").offset().top - browserTopY)) && (topSpace > 35)) {
				//alert("1");

				$("div.vd_toolTip").addClass('vd_left').removeClass('vd_top','vd_right','vd_bottom')
				$("div.vd_toolTip").css({
                    left: (thisOffset1.left+thisWidth)
                });
			}
			else if(isLeft && ((newTooltipHeight <= winHeight1 - ($("div.vd_toolTip").offset().top - browserTopY))) && (topSpace > 35)) {
				//alert("2");
				$("div.vd_toolTip").addClass('vd_right').removeClass('vd_left','vd_top','vd_bottom')
				$("div.vd_toolTip").css({
                    left: (thisOffset1.left)-(tooltipWidth)
                });
			}
		
			else if(isTop && ($("div.vd_toolTip").offset().left - (tooltipWidth/2) - (thisWidth/2) - browserLeftX >= 0) && (rightSpace >= tooltipWidth/2 - thisWidth/2)){
				//alert("3");
				$("div.vd_toolTip").addClass('vd_bottom').removeClass('vd_left','vd_right','vd_top')
				//alert(tooltipHeight);
				$("div.vd_toolTip").css({
                    left: (thisOffset1.left - ((tooltipWidth/2) - (thisWidth/2))),
					top: ((thisOffset1.top) - (newTooltipHeight))
                });

			}
			else if(isBottom && ($("div.vd_toolTip").offset().left - (tooltipWidth/2) - (thisWidth/2) - browserLeftX >= 0) && (rightSpace >= tooltipWidth/2 - thisWidth/2)){
				
				$("div.vd_toolTip").addClass('vd_top').removeClass('vd_left','vd_right','vd_bottom');
				$("div.vd_toolTip").css({
                    left: (thisOffset1.left - (tooltipWidth/2) + (thisWidth/2)),
					top: ((thisOffset1.top)+thisHeight)
                });
			}
			else {
				//alert("5")
				window.resizeBy(tooltipWidth+20,thisHeight+tooltipHeight+20);
				$("div.vd_toolTip").css({
                    left: (thisOffset1.left+($("div.vd_toolTip").width()))
                });
				$("div.vd_toolTip").addClass('vd_left').removeClass('vd_top','vd_right','vd_bottom')
			}
			return false;
		}

		  });
		});
	
//	}
}
/* Destroy the tooltip */
function desTooltip(n){
//    log.info("desTooltip", "Calling desTooltip", 5);
    $("div.vd_toolTip").remove();
	tooltipShown=false;
}

