/* MAGNIFIER */
/* Abbr.: MGN */
/* Version: 1 */
/* Uses: jquery-1.2.3, json */
/* Author: wojtek.kloc@gmail.com */
/* License: GNU GPL */

/* DESCRIPTION: 
 * assigns to images onclick events showing their bigger versions (mids), 
 * where filenames are drawn from array handled in JSON */

oMGN = {
    "PATH_default_mid" : "/statics/img/oko-ikoL.jpg",
    "SELECTOR_gallery_container" : "#gallery",
    "SELECTOR_mids_JSON_container" : "#midJSON",
    "SELECTOR_gallery_images" : "#gallery img",
    "SELECTOR_mid_container" : "#midContainer",
    "SELECTOR_mid" : "#mid",
        
    setup_mid_container : function() {
    /* assigns onclick event hiding mid container
     * clearing src attribute is for showing next mid 
     * without previous as background */
        $( oMGN.SELECTOR_mid_container ).click( function() { 
            $(this).fadeOut( "slow" );
            $( oMGN.SELECTOR_mid ).attr( "src", oMGN.PATH_default_mid );
        });
        return false
    },

    show_mid : function( mid_src ) {
    /* assigns proper filename for mid and shows its container */
        $( oMGN.SELECTOR_mid ).attr( "src", "/" + mid_src );
        $( oMGN.SELECTOR_mid_container ).fadeIn( "slow" );
        return false
    },

    setup_gallery_images : function() {
    /* reads content of JSON array with mid filenames
     * and iterates over each image assigning onclick event
     * which calls showing of mid (mid filename is passed) */
        mid_list = JSON.parse( decodeURIComponent( $( oMGN.SELECTOR_mids_JSON_container ).val() ) );
        min_images = $( oMGN.SELECTOR_gallery_images );
        min_images_ = min_images.length;
        min_images.each( function( i ) { 
            $( this ).click( function() { 
                oMGN.show_mid( mid_list[i] )
            } );
        } );        
    },
    
    run : function() {
    /* calls setup procedures */
        oMGN.setup_mid_container();
        oMGN.setup_gallery_images();
        return false
    }
}
