////////////////////////////////////////////////////////////////////////////////////////////

    function addDropTriggers(){
			jQuery("#headRollMenu a").hover(
				function(){
					showDrop(getObjInt(jQuery(this).attr("id")));
				},
				function(){
					releaseDrop(getObjInt(jQuery(this).attr("id")));
				}
			);
			jQuery("#mainNav .dropMenu").hover(
				function(){
					lockDrop();
				},
				function(){
					releaseDrop(getObjInt(jQuery(this).attr("id")));
				}
			);

			if(jQuery('.'+dropClass).length > 0){ // If there's at least one drop
				dropWidth = jQuery('.'+dropClass+':first').width(); // Get width of drop and override dropWidth cal set in dropMenuConfig2.js
			}

		}


////////////////////////////////////////////////////////////////////////////////////////////


    function showDrop(objInt){

        resetDrops();
        resetTimer();

        menuObj = jQuery("#"+tmoPrefix+objInt);
        dropObj = jQuery('#'+dropPrefix+objInt);

        if(jQuery(menuObj).hasClass(baseClass)){
            jQuery(menuObj).removeClass(baseClass).addClass(overClass); // Replace class of base with class of over
        }
        if(jQuery(menuObj).hasClass(activeClass)){
            jQuery(menuObj).removeClass(activeClass).addClass(overActiveClass); // Replace class of active with class of overActive
        }

        if(jQuery(dropObj).length > 0){
            jQuery(menuObj).addClass(hasDropClass);
            leftPad = getLeftPad(jQuery(menuObj).attr("id"));
            jQuery(dropObj).show(); // Show drop
            jQuery(dropObj).css({"left" : leftPad});
        }

    }

////////////////////////////////////////////////////////////////////////////////////////////

    function releaseDrop(objInt){
        if(jQuery('#'+dropPrefix+objInt).length > 0){  // If menu item has drop associated with it
            timerID = setTimeout('resetDrops()', timeOut);  // Reset hover status after timeout
        }
        else{
            resetDrops(); // Reset hover status immediately
        }
    }

////////////////////////////////////////////////////////////////////////////////////////////

    function resetDrops(){
        jQuery("."+hasDropClass).removeClass(hasDropClass);
        jQuery("."+overClass).removeClass(overClass).addClass(baseClass); // Replace any class of over with base
        jQuery("."+overActiveClass).removeClass(overActiveClass).addClass(activeClass); // Replace any class of overActive with active
        // jQuery("."+dropClass+":block").hide();  // Hide all drops currently set to display:block
        jQuery("."+dropClass).hide();  // Hide all drops
    }

////////////////////////////////////////////////////////////////////////////////////////////

  function lockDrop(){
        resetTimer();
    }


// [ Helper functions ] ////////////////////////////////////////////////////////////////////////////////////////////

    function getObjInt(objID){
        return objID.split("_")[1];
    }

    ////////////////////////////////////////////////////////////////////////////////////////////

    function resetTimer(){
    clearTimeout(timerID); // Stop timer
  }

    ////////////////////////////////////////////////////////////////////////////////////////////

  function getLeftPad(objID){
        thisButton = document.getElementById(objID);
        button_x = thisButton.offsetLeft; // Can only get this relative to window (not parent) using jQuery
        var leftPad = eval(button_x);
        //calcPos = (jQuery(thisButton).parent().width() - leftPad > dropWidth) ? leftPad : jQuery(thisButton).parent().width() - dropWidth;
        calcPos = (jQuery(thisButton).parents('div').width() + adjust - leftPad > dropWidth) ? leftPad : jQuery(thisButton).parents('div').width() + adjust - dropWidth;
        //alert(jQuery(thisButton).parents('div').width() +' / '+ adjust +' / '+ leftPad +' / '+ dropWidth +' / '+ calcPos);
        return(calcPos + "px");
    }

////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////////////////


  function addTabTriggers(){
        jQuery("#tabs a").click(
            function(){
                setTabs(jQuery(this).attr("id"));
                return false;
            }
        );
    }


////////////////////////////////////////////////////////////////////////////////////////////


  function setTabs(objID){

        if(jQuery("#"+objID).hasClass('inactive')){

            // Hide all
            jQuery("#tabs a").removeClass('active').addClass('inactive');
            jQuery("#tabbedContent .liner").hide();

            // Show clicked
            jQuery("#"+objID).addClass("active");
            jQuery("#tabContent_"+getObjInt(objID)).show();

        }

    }

