function gid(id){ return document.getElementById(id); }

function imc_opacity(o, op){
    gid(o).style.opacity = parseFloat(op/100);
    gid(o).style.MozOpacity = parseFloat(op/100);
    gid(o).style.KhtmlOpacity = parseFloat(op/100);
    gid(o).style.filter = "alpha(opacity=" + parseInt(op) + ")"; 
}

function imc_init(o){
    if(typeof(img_info) == 'object'){
		
		var startImage=location.hash;
		var startNumber=1;
		if(startImage.length>1)
		{
			startImage=startImage.replace('#','');
			for(imi in img_info.img)
			{
				if(imi==('img'+startImage))
				{
					startNumber=parseInt(startImage);
				}
				else if(img_info.img[imi].alias)
				{
					if(img_info.img[imi].alias==startImage)
					{
						startNumber=parseInt(imi.replace('img',''));
					}
				}
			}
		}
		
        var im_base = '<div id="imc_base"><div id="imc_preload"></div><div id="imc_line"></div><div id="imc_body"><img id="imc_img" />';
		im_base+='<div id="imc_next"><a id="imc_a" href="#"></a></div>';
		if (img_info.next_galery) {
			im_base += '<div id="imc_next_galery"><a href="'+img_info.next_galery_url+'">'+img_info.next_galery+'</a></div>';
		}
		im_base+='<div id="imc_html"></div></div></div>';
        if(gid(o)){

            /* �������� ���� �� ������� */

            img_count = 0;
            for(imi in img_info.img){
               img_count++;
            }
            
            gid(o).innerHTML = im_base;
            gid('imc_a').innerHTML = img_info.next_title;
            imc_opacity('imc_next', img_info.next_opacity)
            imc_line_init();
            gid('imc_preload').style.background = 'url(' + img_info.img.img1.src + ')';

            imc_load(startNumber);
            imc_line_set(startNumber);

        }

    }
}

function imc_line_init(){
  var sq_html = '<i class="imc_i imc_i_top"></i><div class="imc_sq"></div><i class="imc_i imc_i_bottom"></i>';
  gid('imc_line').style.width = parseInt(img_count * 29) + 'px';
  for(var i=1;i<=img_count;i++){
      var nsq = document.createElement('DIV');
      nsq.id = 'sq' + i;
      nsq.className = 'imc_block';
      nsq.innerHTML = sq_html;
      gid('imc_line').appendChild(nsq);
  }
}

function imc_line_set(n){
    for(var i=1;i<=img_count;i++){
		var div=gid('sq' + i);
        if(i == n){
			div.style.cursor='auto';
			div.onclick=null;
            div.className = 'imc_block imc_block_active';
        } else {
			div.style.cursor='pointer';
			div.onclick=new Function("imc_sq_click("+i+")");
            div.className = 'imc_block';
        }
    }
}

function imc_sq_click(a)
{
	imc_load(a);
}

function imc_load(n){
    var ni = document.createElement('IMG');
    var nim = img_info.img['img'+n];
    if(typeof(nim) == 'object'){
        if(gid('imc_img')){
            imc_line_set(n);
            gid('imc_img').src = nim.src;
			if (nim.alias) {
				location.hash = nim.alias;
			}
			else
			{
				location.hash = n;
			}
/*            gid('imc_base').style.width = gid('imc_img').width + 'px'; */
            var imc_next_img = img_info.img['img' + parseInt(n+1)];
            if(typeof(imc_next_img) != 'object'){
                /* ���� ��� ��������� ����������� � ������� - ������� �������� */
                gid('imc_next').style.display = 'none';
				if (gid('imc_next_galery')) {
					gid('imc_next_galery').style.display = 'block';
				}
            } else {
                gid('imc_next').style.display = 'block';
				if (gid('imc_next_galery')) {
					gid('imc_next_galery').style.display = 'none';
				}
                /* ��������� ����� ��������� ����������� � ��������� ��� ��� �������� ������ */
                gid('imc_preload').style.background = 'url(' + imc_next_img.src + ')';

                /* ������ ������� �� �������� */
                gid('imc_a').onclick = function(){
                    imc_load(n+1);
                    return false;
                };
            }

            gid('imc_html').innerHTML = nim.html;
            gid('imc_html').style.color = nim.html_color;
            gid('imc_html').style.backgroundColor = nim.html_bg;
            gid('imc_html').style.top = nim.html_x + 'px';
            gid('imc_html').style.left = nim.html_y + 'px';
            gid('imc_html').style.width = nim.html_width + 'px';
            imc_opacity('imc_html', nim.html_opacity);
        }
    }
}

window.onload = function(){
    imc_init('imcontrol');
}
