var imgSwap = new Class({
    
    //implements
    Implements: [Options],

    options: {
        imgHoverPrefix: '_hover'
    },
    
    initialize: function(elements, options) {
        //set options
        this.setOptions(options);
        // Set elements
        this.setSwap(elements);
    },
    
    setSwap: function(elements) {

        var prefix = this.options.imgHoverPrefix;
        
        // preload images array
        imgTemp = [];
        i = 0;


        $$(elements).each(function(el) {

            var holdSrc = el.getProperty('src');   
            var descSrc = el.getProperty('alt');   

            // set new image for preloading
            imgTemp[i] = new Element('img', {'alt': el.getProperty('alt')}).set('src', holdSrc);
            
            // default link on current img element
            var link = el;

            // check if there is a link a href parent
            var test = el.getParent('a');
            if (test) {
                var linkHref = test.getProperty('href');        
            }
            
            el.addEvents({
                click: function() {
                    $('fullImg').fade('out');
                    $('fullImg').setProperty('src', holdSrc);
                    $('fullText').set('text', descSrc);
                    $('fullLink').setProperty('href', linkHref);
                    $('fullLink').set('text', linkHref);
                    $('fullImg').fade('in');
                }
           });
           
           i++;
        });
    }
});
