window.addEvent('domready', function() {   
	var drop = $('preview');
    var description = $('image-description');
    var caption = $('image-caption');
	//var dropFx = drop.effect('background-color', {wait: false}); // wait is needed so that to toggle the effect, 
    var item_array = $$('.lightview');
	var next = $('gallery-next');
    var prev = $('gallery-prev');
    /*var filelink = $('image-link');*/
    
    drop.removeEvents();
    drop.empty();
    drop.setOpacity(0);
    drop.setHTML(item_array[0].getProperty('viewlink'));
    description.empty();
    description.setHTML(item_array[0].getProperty('description'));
    caption.empty();
    caption.setHTML(item_array[0].getProperty('imagecaption'));
    /*filelink.empty();
    if (item_array[0].getProperty('externallink') != "") {  
        filelink.setHTML("<a href='" + item_array[0].getProperty('externallink') + "' target='_blank'>" + item_array[0].getProperty('externallink') + "</a>");
    }*/
    
    prev.setProperty('viewlinkid', item_array.length - 1);
    next.setProperty('viewlinkid', 1);
    
    drop.fx = drop.effect('opacity', {duration: 1000}).start(1); 
     
	item_array.each(function(item, index)
	{
        
		item.addEvent('click', function(e)
		{
			drop.removeEvents();
			drop.empty();
            description.empty();
            caption.empty();
            //filelink.empty();
            
			var a = item.getProperty('viewlink');
            drop.setOpacity(0); 
            drop.setHTML(a);
            var b = item.getProperty('description');
            description.setHTML(b);
            var c = item.getProperty('imagecaption');
            caption.setHTML(c);
            /*var d = item.getProperty('externallink');
            if (d != "") {
                filelink.setHTML("<a href='" + d + "' target='_blank'>" + d + "</a>");
            }*/
            
			drop.fx = drop.effect('opacity', {duration: 1000}).start(1);
            
            var index_next = index + 1;
            var index_prev = index - 1;
            if (index_prev == -1) {
                index_prev = item_array.length - 1;
            }
            if (index_next == item_array.length) {
                index_next = 0  
            }
			next.setProperty('viewlinkid', index_next);
            prev.setProperty('viewlinkid', index_prev);
		});
	 
	});
    
    next.addEvent('click', function(e) {
        drop.removeEvents();
        drop.empty();
        description.empty();
        caption.empty();
        //filelink.empty();
        
        var a = item_array[parseInt(next.getProperty('viewlinkid'))].getProperty('viewlink');
        drop.setOpacity(0); 
        drop.setHTML(a);
        var b = item_array[parseInt(next.getProperty('viewlinkid'))].getProperty('description');
        description.setHTML(b);
        var c = item_array[parseInt(next.getProperty('viewlinkid'))].getProperty('imagecaption');
        caption.setHTML(c);
        /*var d = item_array[parseInt(next.getProperty('viewlinkid'))].getProperty('externallink');
        if (d != "") {
            filelink.setHTML("<a href='" + d + "' target='_blank'>" + d + "</a>");
        }*/
        
        drop.fx = drop.effect('opacity', {duration: 1000}).start(1);
        
        var index_next = parseInt(next.getProperty('viewlinkid')) + 1;
        var index_prev = parseInt(next.getProperty('viewlinkid')) - 1;
        if (index_prev == -1) {
            index_prev = item_array.length - 1; 
        }
        if (index_next == item_array.length) {
            index_next = 0;  
        }
        next.setProperty('viewlinkid', index_next);
        prev.setProperty('viewlinkid', index_prev);
    });
    
    prev.addEvent('click', function(e) {
        drop.removeEvents();
        drop.empty();
        caption.empty();
        description.empty();
        //filelink.empty();
        
        var a = item_array[parseInt(prev.getProperty('viewlinkid'))].getProperty('viewlink');
        drop.setOpacity(0); 
        drop.setHTML(a);
        var b = item_array[parseInt(prev.getProperty('viewlinkid'))].getProperty('description');
        description.setHTML(b);
        var c = item_array[parseInt(prev.getProperty('viewlinkid'))].getProperty('imagecaption');
        caption.setHTML(c);
        /*var d = item_array[parseInt(prev.getProperty('viewlinkid'))].getProperty('externallink');
        if (d != "") {
            filelink.setHTML("<a href='" + d + "' target='_blank'>" + d + "</a>");
        }*/
         
        drop.fx = drop.effect('opacity', {duration: 1000}).start(1);
        
        var index_next = parseInt(prev.getProperty('viewlinkid')) + 1;
        var index_prev = parseInt(prev.getProperty('viewlinkid')) - 1;
        if (index_prev == -1) {
            index_prev = item_array.length - 1; 
        }
        if (index_next == item_array.length) {
            index_next = 0;  
        }
        next.setProperty('viewlinkid', index_next);
        prev.setProperty('viewlinkid', index_prev);
    });
});   