
// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0;
var tempY = 0;
var divideHoriz = 0.5;
var divideVert = 0.5;

            
// Main function to retrieve mouse x-y pos.s
function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX;
    tempY = e.pageY;
  }  
}

function getElementPosition (elm) {
	pos = $(elm).offset();
	elmWidth = $(elm).width();
	elmHeight = $(elm).height();
	browserHeight = (typeof window.innerHeight != 'undefined' ? window.innerHeight : document.body.offsetHeight);
	browserWidth = (typeof window.innerWidth != 'undefined' ? window.innerWidth : document.body.offsetWidth);
	if ((pos.left + elmWidth) < browserWidth * divideHoriz) {
			if ((pos.top + elmHeight) < browserHeight * divideVert) {
				return 'TopLeft';
			} else {
				return 'BottomLeft';
			}
	} else {
		if ((pos.top + elmHeight) < browserHeight * divideVert) {
			return 'TopRight';
		} else {
			return 'BottomRight';
		}
	}
	
}

$(document).ready(function(){
    $('.trigger').each(function () {
		var theId=this.id;

        if (menuArray[theId] != undefined) {
			var id = theId + 'Popup';
			var pos = getElementPosition(this);
			switch (pos) {
				case 'TopLeft':
					var genTable='<table id="' + id + '" class="popup"><tbody><tr><td id="TopLeft" class="corner"></td><td class="top"></td><td id="TopRight" class="corner"></td></tr><tr><td class="topLeftHook"></td><td class="contentCell"><table class="popup-contents"><tbody><tr>NAVCONTENT</tr></tbody></table></td><td class="right"></td></tr><tr><td id="BottomLeft" class="corner"></td><td class="bottom"></td><td id="BottomRight" class="corner"></td></tr></tbody></table>';   
					break;
				case 'TopRight':	
					var genTable='<table id="' + id + '" class="popup"><tbody><tr><td id="TopLeft" class="corner"></td><td class="top"></td><td id="TopRight" class="corner"></td></tr><tr><td class="left"></td><td class="contentCell"><table class="popup-contents"><tbody><tr>NAVCONTENT</tr></tbody></table></td><td class="topRightHook"></td></tr><tr><td id="BottomLeft" class="corner"></td><td class="bottom"></td><td id="BottomRight" class="corner"></td></tr></tbody></table>';   
                	break;
				case 'BottomLeft':
					var genTable='<table id="' + id + '" class="popup"><tbody><tr><td id="TopLeft" class="corner"></td><td class="top"></td><td id="TopRight" class="corner"></td></tr><tr><td class="bottomLeftHook"></td><td class="contentCell"><table class="popup-contents"><tbody><tr>NAVCONTENT</tr></tbody></table></td><td class="right"></td></tr><tr><td id="BottomLeft" class="corner"></td><td class="bottom"></td><td id="BottomRight" class="corner"></td></tr></tbody></table>';   
                	break;
				case 'BottomRight':
					var genTable='<table id="' + id + '" class="popup"><tbody><tr><td id="TopLeft" class="corner"></td><td class="top"></td><td id="TopRight" class="corner"></td></tr><tr><td class="left"></td><td class="contentCell"><table class="popup-contents"><tbody><tr>NAVCONTENT</tr></tbody></table></td><td class="bottomRightHook"></td></tr><tr><td id="BottomLeft" class="corner"></td><td class="bottom"></td><td id="BottomRight" class="corner"></td></tr></tbody></table>';   
					break;;
			}   
         	
	        var Ausgabe = '';            
	        for (var i=0; i < menuArray[theId].length; i++) {
	            Ausgabe +='<td>'+menuArray[theId][i]+'</td>';
	        }          
	  
	        var newTable=genTable.replace(/NAVCONTENT/g, Ausgabe); 
	        $('#PageWrap').after(newTable);
		}
    });
});


$(function () {
    $('.trigger').each(function () {
        var distance = 5;
        var time = 500;
        var hideDelay = 1000;
        var hideDelayTimer = null;
        var beingShown = false;
        var shown = false;
        var trigger = this;
		var infoID = '#' + this.id + 'Popup';
        var info = $(infoID);
		if (!IE) {	
			var info = $(info).css('opacity', 0);
			var trans = 1;
			var outtrans = 0;
		} else {
			var outtrans = 'default';
			var trans = 'default';
		}
		

		$(this).click(function (e) {
			e.preventDefault();
	        if (hideDelayTimer) clearTimeout(hideDelayTimer);
	        if (beingShown || shown) {
	            // don't trigger the animation again
	            return;
	        } else {
	            // reset position of info box
	            beingShown = true;
	     		var elmPos = getElementPosition(this);
				switch (elmPos) {
					case 'TopLeft':
					   	var bubbleTop = $(this).offset().top -15;
	                   	var bubbleLeft = $(this).offset().left + $(this).width() - 3;
						if (this.id == "Sputniccc") {
						   	var bubbleTop = $(this).offset().top + 55;
		                   	var bubbleLeft = $(this).offset().left + 127;
						}
						break;
					case 'TopRight':	
					   	var bubbleTop = $(this).offset().top- $(info).height() / 2 +15;
	                   	var bubbleLeft = $(this).offset().left - $(info).width() +3;
						break;
					case 'BottomLeft':
					   	var bubbleTop = $(this).offset().top - $(info).height() / 2 - 10;
	                   	var bubbleLeft = $(this).offset().left + $(this).width() - 1;
						break;
					case 'BottomRight':
					   	var bubbleTop = $(this).offset().top - $(info).height() / 2 -10;
	                   	var bubbleLeft = $(this).offset().left - $(info).width() + 5 ;
						break;
				}
	

				info.css({
					
	                display: 'block',
					left: bubbleLeft + 'px',
				 	top: bubbleTop + 'px'
	                }).animate({
						top: '+=' + distance + 'px',
						left: '-=' + distance + 'px',
						
	                    opacity: trans
	                	}, time, 'swing', function() {
	                		beingShown = false;
	                		shown = true;
						});
        }

        return false;
        
        }).mouseout(function () {
            if (hideDelayTimer) clearTimeout(hideDelayTimer);
                hideDelayTimer = setTimeout(function () {
                hideDelayTimer = null;
                info.animate({
                top: '-=' + distance + 'px',
                opacity: outtrans
                }, time, 'swing', function () {
                shown = false;
                info.css('display', 'none');
                });

            }, hideDelay);

            return false;
        });
        
        $([info.get(0)]).mouseover(function () {
            if (hideDelayTimer) clearTimeout(hideDelayTimer);
        });
        $(info).mouseout(function () {
            if (hideDelayTimer) clearTimeout(hideDelayTimer);
                hideDelayTimer = setTimeout(function () {
                hideDelayTimer = null;
                info.animate({
                top: '-=' + distance + 'px',
                opacity: outtrans
                }, time, 'swing', function () {
                shown = false;
                info.css('display', 'none');
                });

            }, hideDelay);

            return false;
        });
    });

});