var floater;
var content;
    
var floaterAppear = function() {
    floater.centerOnScreen();
    new Effect.Appear(floater, { duration: 0.5, queue: 'end' });
}

var openProjectFloater = function(element, href) {
    
    element = $(element);
    
    floater.visible() && new Effect.Fade(floater, { duration: 0.5, queue: 'end' });
    
    try {
        hidePopup()
    } catch(e) {}
    
    var parent = element.up('span.imagecontainer');
    
    if(!parent)
    parent = element.up('div.ShowImg');
    
    if(element.tagName.toLowerCase == 'a')
    element = element.select('img')[0];
    
    var clickedIndex = -1;
    if(parent) {
        clickedIndex = 0;
        parent.select('img').each(function(image) {
            if(image == element)
            throw $break;
            
            clickedIndex++;
        });
    }
    
    var requestParams = $H({});
    
    if(clickedIndex >= 0)
    requestParams.set('requested_image', clickedIndex);
    
    new Ajax.Updater(content, href, { 
        onSuccess: floaterAppear,
        evalScripts: true,
        parameters: requestParams
    });
}

document.observe('dom:loaded', function() {
    
    floater = $('Floater');
    content = $('floater_content');
    
    if(floater) {
        
        $$('a.open_floater').each(function(element) {
            
            var href = element.getAttribute('href');
            element.setAttribute('href', 'javascript:void(0)');
            
            // Stupid workaround for full urls entered in admin area
            href = href.sub('http://www.woodhouse.co.uk', '');
            href = href.sub('http://woodhouse.co.uk', '');
            
            element.observe('click', function(event) {
                var element = event.element();
                openProjectFloater(element, href);
                
                // Submit openend projects to GA
                if(_gaq) {
                    _gaq.push(['_trackEvent', 'Projects', 'Open', href]);
                }

                
            });
        });
        
        $('close_floater').observe('click', function() { new Effect.Fade(floater, { duration: 0.5, queue: 'end' }) })
    }
});