var ActionHints = new TooltipFactory(".actionHintTrigger", {
    popUpClassName: "tooltip",
    effect: "appear",
    openingEvent: "mouseover",
    closingEvent: "mouseout",
    open: {
        delay: 0.5,
        duration: 1.0
    },
    onInitialize: function() {
        with(this.popUp.style) {
            position = "absolute";
            left = "0px";
            top = "0px";
        }

        Element.hide(this.popUp);
    },
    onClose: function(event) {
        Element.hide(this.popUp);
    },
    onOpen: function(event) {
        var pos = this.trigger.id.replace(/actionHintTrigger/gi,'');
        var id = $F('tripletFor'+pos);

        var triggerPos = Position.cumulativeOffset(this.trigger);
        var x = triggerPos[0];
        var y = triggerPos[1] - 10;

        var popUp = Element.getDimensions(this.popUp);
        Position.prepare();

        var offsetX = x+100;

        var showArrow = '';
        if (offsetX + popUp.width > Position.visibleWidth) {
            x -= (popUp.width+30);

            showArrow = 'right';
        } else {
            x = offsetX;

            showArrow = 'left';
        }

        with( this.popUp.style ) {
            left = x+'px';
            top = y+'px';
        }

        var params = { 'showArrow': showArrow, 'id': id};
        var paramsHash = $H(params);

        var pp = this.popUp;
        new Ajax.Updater(pp, 'popsampl.php', {
            method: 'get',
            parameters: paramsHash.toQueryString()
        });
    }
});

ActionHints.activateOnLoad();
