﻿var winHandle = null;
var options = 'width=800,height=500,resizable=yes,menubar=no,toolbar=no,location=no,scrollbars=yes,status=no';

var mouseOnMe = false;
var menuClosed = true;
var closeStarted = false;

function addEvent(obj, type, fn)
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function stopProp(e) {
    if (!e) var e = window.event
    e.cancelBubble = true;
    e.returnValue = false;
    if (e.stopPropagation) {
        e.stopPropagation();
        e.preventDefault();
    }
}

function showHideMenu() {
	var share = document.getElementById('share').getElementsByTagName('a')[0];
	
	if ( mouseOnMe ) {
		if ( menuClosed ) {
			share.parentNode.className += "hover";
		}
		menuClosed = false;
		closeStarted = false;
	}
	else if ( !mouseOnMe && !menuClosed ) {
		closeStarted = true;
		setTimeout( "menuClose()", 3000 );
	}
}

function menuClose() {
	if ( closeStarted ) {
		var share = document.getElementById('share').getElementsByTagName('a')[0];
		share.parentNode.className = share.parentNode.className.replace(new RegExp("hover\\b"), "");
		
		menuClosed = true;	
	}
}

addEvent(window, "load", function() {
	var share = document.getElementById('share').getElementsByTagName('a')[0];
	var social = document.getElementById('s').getElementsByTagName('a')[0];
	var email = document.getElementById('e').getElementsByTagName('a')[0];
	
	if (share) {
        share.parentNode.onmouseover = function(e) { mouseOnMe = true; showHideMenu(); };
        share.parentNode.onmouseout = function(e) { mouseOnMe = false; showHideMenu(); };
        share.onclick = function(e) { stopProp(e); }
    }
    if (email && social) {
        social.onclick = function(e) {
            this.parentNode.className = "on";
            email.parentNode.className = "";
            stopProp(e);
        }
        email.onclick = function(e) {
            this.parentNode.className = "on";
            social.parentNode.className = "";
            stopProp(e);
        }
        
        // attach click events to social bookmarking site links
        var links = social.parentNode.getElementsByTagName('ul')[0].getElementsByTagName('a');
        for (var i = 0; i < links.length; ++i) {
            links[i].onclick = function(e) {
                // open turnstile link in new window
                if (this.getAttribute('href')) {
                    if (winHandle == null || winHandle.closed ) {
	                    winHandle = window.open(this.getAttribute('href'), 'socialbookmarking', options);
	                    winHandle.focus();
                    }
                    else {
	                    winHandle.focus();
                    }
                }
                stopProp(e);
            }
        }
    }
    
});

