var current_pic = 0;
var glob_path = "";

function evClick( elem, func )
{
	if( elem.addEventListener ) { elem.addEventListener( "click", func, false ); }
	else if( elem.attachEvent ) { elem.attachEvent( "onclick", func ); }
	else { elem.onclick = func; }
}

function getPictures( )
{
    var pics = new Array( );
    var urls = document.getElementsByTagName( "img" );
    var pattern = new RegExp( "p_[0-9]+_[A-Za-z0-9_.-]+" );
    for( var i = 0; i < urls.length; i++ )
    {
        if( pattern.exec( urls[i].id ) )
        {
            pics.push( urls[i].id );
        }
    }
    
    return pics;
}

function pictureOpen( ev )
{
    var e = ev || event;
	var target = e.srcElement || e.target;    
    var pic_div = document.getElementById( "pic" );
    
    pic_div.style.visibility = "visible";
    pic_div.style.opacity = "100.0";
	pic_div.MozOpacity = "100.0";
	pic_div.KhtmlOpacity = "100.0";
    
    pictureLoad( target.id )
}

function pictureLoad( id )
{
    current_pic = id;
    var nums = id.split( '_' );
        
    var img = document.createElement( "img" );  
    img.src = glob_path + "/pictures/" + nums[1] + "/";
    
    for( i = 2; i < nums.length; i++ )
    {
        img.src = img.src + nums[i];
        if( i != nums.length - 1 )
        {
            img.src = img.src + '_'
        }
    }
        
    img.alt = "Képek";
    
    img.onload = function(){ pictureResize( img ) };    
}

function pictureResize( el )
{
    var x_th = 640;
    var y_th = 480; 
    var x_orig = el.width;
    var y_orig = el.height;
    var x, y;
        
    if( x_orig / y_orig > x_th / y_th ) // széles
    {
        x = x_th;
        y = Math.round( y_orig / x_orig * x_th );
    }
    else // keskeny
    {
        y = y_th;
        x = Math.round( x_orig / y_orig * y_th );
    }
    el.width = x;
    el.height = y;
    
    var tbl = document.getElementById( "pic_table" );
    tbl.width = x + 64;
    tbl.height = y + 64;
    
    var cell = document.getElementById( "pic_cell" );
    cell.innerHTML = "";
    cell.appendChild( el );
}

function picturePrev( )
{
    var pics = getPictures( );
    var curr = 0;
    
    for( var i = 0; i < pics.length; i++ )
    {
        if( current_pic == pics[i] )
        {
            curr = i;
            break;
        }
    }
    
    if( curr == 0 )
    {
        curr = pics.length - 1;
    }
    else
    {
        curr = curr - 1;
    }
    
    pictureLoad( pics[curr] );
}

function pictureNext( )
{
    var pics = getPictures( );
    var curr = 0;
    
    for( var i = 0; i < pics.length; i++ )
    {
        if( current_pic == pics[i] )
        {
            curr = i;
            break;
        }
    }
    
    if( curr == pics.length - 1 )
    {
        curr = 0;
    }
    else
    {
        curr = curr + 1;
    }
    
    pictureLoad( pics[curr] );
}

function pictureClose( ev )
{
    var pic_div = document.getElementById( "pic" );
    pic_div.style.visibility = "hidden";
    pic_div.style.opacity = "0.0";
	pic_div.MozOpacity = "0.0";
	pic_div.KhtmlOpacity = "0.0";
}    


function galleryInit( )
{
    var urls = document.getElementsByTagName( "a" );
    var pattern = new RegExp( "pic_[0-9]+_[A-Za-z0-9_.-]+" );
    for( var i = 0; i < urls.length; i++ )
    {
        if( pattern.exec( urls[i].id ) )
        {
            
            evClick( urls[i], pictureOpen )
        }
    }
    
    var pic_cell = document.getElementById( "pic_cell" );
    pic_cell.innerHTML = "<img src=\"/img/ajax-loader.gif\" alt=\"Loader\">";
    
    var close_button = document.getElementById( "pic_close_button" );
    evClick( close_button, pictureClose );
    
    var prev_button = document.getElementById( "pic_prev" );
    evClick( prev_button, picturePrev );
    
    var next_button = document.getElementById( "pic_next" );
    evClick( next_button, pictureNext );
}


