function showImage( in_sName )
{
	l_oImageZone = dojo.byId( 'images' );
	if( l_oImageZone )
	{
		l_oImageZone.innerHTML = "<img src='img/" + in_sName + ".jpg' border='0' id='show'>";
	}
	return false;
}

function nextImage( in_nImage )
{
    g_nCurrentImage = in_nImage;
    g_nCurrentImage++;
    if( g_nCurrentImage == g_aImages.length )
    {	
	g_nCurrentImage = 0;
    }
    updatePreviews();
    dojo.byId( 'images' ).innerHTML = _buildImageHTML( g_nCurrentImage );
    
    return false;
}

function _buildImageHTML( in_nImage )
{
    var l_sName = 'img/' + g_nCurrentSection + '/' + g_aImages[ in_nImage ].name ;
    return "<a href='#' onClick='return nextImage(" + in_nImage + ")'><img src='" + l_sName  + ".jpg' border='0' id='show' alt='Кликните на фотографию чтобы перейти к следующей' title='Кликните на фотографию чтобы перейти к следующей'></a>" ;
}

function definePreviewEvents( in_oItem, in_sName, in_nImage )
{
	dojo.disconnect( in_oItem, 'onmouseover' );
	dojo.disconnect( in_oItem, 'onmouseout' );
	dojo.disconnect( in_oItem, 'onclick' );
	dojo.connect( in_oItem, 'onmouseover', function ( e )
	{
		e.preventDefault();
		e.target.src = in_sName + 'p.jpg';
		// preload image
		if( !g_aImages[ in_nImage ].objImage )
		{
		    var l_oImage = new Image();
		    l_oImage.src = in_sName + '.jpg';
		    g_aImages[ in_nImage ].objImage = l_oImage;
		}

	});
	dojo.connect( in_oItem, 'onmouseout', function ( e )
	{
		e.preventDefault();
		e.target.src = in_sName + 'pb.jpg';
	});
	dojo.connect( in_oItem, 'onclick', function ( e )
	{		
		e.preventDefault();
		dojo.byId( 'images' ).innerHTML = _buildImageHTML( in_nImage );
	});
}

function updatePreviews()
{
	var l_nImage = g_nCurrentImage;
	for( var i=1;i<6; i++)
	{
		if( l_nImage == g_aImages.length )
		{
			l_nImage = 0;
		}
		var l_oItem = dojo.byId( 'preview'+i );
		var l_sName = 'img/' + g_nCurrentSection + '/' + g_aImages[ l_nImage ].name ;
		l_oItem.src   = l_sName + 'pb.jpg';
		l_oItem.title = g_aImages[ l_nImage ].desc ;
		definePreviewEvents( l_oItem, l_sName, l_nImage );

		// preload preview image
		if( !g_aImages[ l_nImage ].objPreview )
		{
		    var l_oImage = new Image();
		    l_oImage.src = l_sName + 'p.jpg';
		    g_aImages[ l_nImage ].objPreview = l_oImage;
		    
		    var l_oImage = new Image();
		    l_oImage.src = l_sName + 'pb.jpg';
		    g_aImages[ l_nImage ].objPreviewB = l_oImage;
		}

		l_nImage++;
	}
}

function initPage()
{
    if( g_bShowPreviews )
    {
	updatePreviews();
	dojo.byId( 'images' ).innerHTML = _buildImageHTML( g_nCurrentImage );

	l_oItem = dojo.byId( 'fwd' );
	if( l_oItem )
	{
		dojo.connect( l_oItem, 'onclick', function ( e )
		{      	
			e.preventDefault();
			
			g_nCurrentImage++;
			if( g_nCurrentImage == g_aImages.length )
			{	
				g_nCurrentImage = 0;
			}
			updatePreviews();
		});
	}

	l_oItem = dojo.byId( 'rwd' );
	if( l_oItem )
	{
		dojo.connect( l_oItem, 'onclick', function ( e )
		{      	
			e.preventDefault();
			
			g_nCurrentImage--;
			if( g_nCurrentImage < 0 )
			{	
				g_nCurrentImage = g_aImages.length-1;
			}
			updatePreviews();
		});
	}
    }	

    l_oSelected = dojo.byId( 'selected' );
    if( l_oSelected )
    {
	l_oCurrent = dojo.byId( 'm' + g_nCurrentSection );
	if( l_oCurrent )
	{
		l_oSelected.style.position = 'absolute';
		l_oSelected.style.top = getY( l_oCurrent ) + l_oCurrent.offsetHeight - 5;
		l_oSelected.style.left = getX( l_oCurrent ) + l_oCurrent.offsetWidth - 110 ;
		l_oSelected.style.display = 'block';
	}
    }
}

function getY( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) 
    {
	iReturnValue += oElement.offsetTop;
	oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

function getX( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) 
    {
	iReturnValue += oElement.offsetLeft;
	oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

dojo.addOnLoad( initPage );
