var TooltipClass = new Class({
    Extends: FloatingTips,
    cache: {},
    
    SetCache: function(elementID, elementContent) {

        Tooltip.cache[elementID] = elementContent;
    },
    GetCache: function(elementID) {
        if(Tooltip.cache[elementID]) {
            return Tooltip.cache[elementID];
        }
        return false;
    },
    detach: function(elements) {
		var self = this;
		$$(elements).each(function(e) {
			e.removeEvents('mouseenter');
			e.removeEvents('mouseleave');
		});
        this.hide(elements);
		return this;
	},
    Reposition: function(e) {
        var tip = $(e.getProperty('data-link')).getParent();
        var tipSz = tip.getSize(), trg = e.getCoordinates($(document.body));
        var pos = { x: trg.left, y: trg.top };
        pos.y -= tipSz.y + 3;
        
        tip.setStyles({ 'top': pos.y, 'left': pos.x });
    }
    
});

function requestError(errorMessage) {
    scrollSize = window.getScroll();
    $('error').setStyle('top', scrollSize.y + 100);
    $('errorMessage').innerHTML = errorMessage;
    $('error').fade('in');
    (function() {$('error').fade('out');}).delay(4000);
}

function requestSuccess(successMessage) {
    scrollSize = window.getScroll();
    $('success').setStyle('top', scrollSize.y + 100);
    $('successMessage').innerHTML = successMessage;
    $('success').fade('in');
    (function() {$('success').fade('out');}).delay(4000);
}

var CLG_WEB_DIR = '/';

function getSelectValue(sObj) {
    with (sObj) return options[selectedIndex].value;
}

function searchTeams(searchString) {
        var children = $('teams').getChildren();
        
        children.each(function(item, index) {
            if(!((item.get('name')).contains(searchString.toLowerCase())) && !((item.get('teamTag')).contains(searchString.toLowerCase()))) {
                item.setStyle('display', 'none');
            } else {
                item.setStyle('display', '');
            }
        });
    }

function request(requestString) {
    $('dynamic-container').mask();
    new Request.JSON({
        url: requestString,
        link: 'chain',
        onSuccess: function(responseObj, responseText) {
            if (responseObj.html) {
                $('dynamic-container').getChildren().destroy();
                $('dynamic-container').set('html', responseObj.html);
            }
            
            if (responseObj.error) {
                requestError(responseObj.error);
            }
            if (responseObj.success) {
                requestSuccess(responseObj.success);
            }
            
            $('dynamic-container').unmask();
        },
        onError: function(responseText) {
            requestError('404');
        }
    }).send();
}
