﻿function get_id_num(a,b) { // getting item's number from its ID; a = ID, b = ID's base (i. e., without number)
	k_a = a.length;
	k_b = b.length;
	m = a.substr((k_b),(k_a-1));
	return m;
}

// from Prototype
function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}

document.getElementsByClassName = function(className, parentElement)
{
	var children = ($(parentElement) || document.body).getElementsByTagName('*');
	elements = new Array;
	for(i in children)
	{
		if(children[i].className)
		{
			if (children[i].className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
			elements.push(children[i]);
		}
	}
	return elements;
}


//fadeOpacity.addRule('oR1', .3, 1, 100);
  
function dialog()
{
/**
properties:
window - dialog window;
window.set_left, window.set_top - position on the screen

arrow - dialog arrow;
arrow.set_left, arrow.set_right, arrow.set_top - position on the dialog window

text - block with texts
all_texts - inner text blocks
all_links - inner link blocks
text.set_text(numeral) - setting text block with this number visible
*/
// dialog window
	if(!$('dialog_div'))
	{
		return false;
	}
	else
	{
		this.window = $('dialog_div');
	}
	
	this.window.set_left = function(l) { this.style.left = l + 'px'; }
	this.window.set_top = function(t) { this.style.top = t + 'px'; }
//	this.window.appear = function() { fadeOpacity('illustration_inner', 'oR1') }
	this.set_window = function(obj)
	{
		return function(arr,num)
		{
			obj.window.style.display = 'block';
			obj.window.set_left(arr[0]);
			obj.window.set_top(arr[1]);
			obj.arrow.set_height(arr[2]);
			obj.arrow.set_width(arr[3]);
			(!isNaN(arr[4]))?obj.arrow.set_left(arr[4]):obj.arrow.set_right(arr[5]);
			obj.arrow.set_top(arr[6]);
			obj.arrow.set_src(arr[7]);
			obj.text.set_text(num);
			return false;
		}
	}(this)
	
	this.window.show = function(obj)
	{
		return function()
		{
			obj.window.style.display = 'block';
		}
	}(this)
	
// dialog arrow
	if($('dialog_arr'))
	{
		this.arrow = $('dialog_arr');
		this.arrow.set_left = function(l) { this.style.left = l + 'px'; this.style.right = 'auto'; }
		this.arrow.set_right = function(r) { this.style.left = 'auto'; this.style.right = r + 'px'; }
		this.arrow.set_top = function(t) { this.style.top = t + 'px'; }
	
		this.arrow.set_height = function(h) { this.style.height = h + 'px'; }
		this.arrow.set_width = function(w) { this.style.width = w + 'px'; }
		this.arrow.set_src = function(src)
		{
			if(navigator.userAgent.indexOf('MSIE')!=-1&&navigator.userAgent.indexOf('MSIE 7')==-1)
			{
				this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
			}
			else
			{
				this.style.background = 'url("' + src + '")';
			}
		}
	}
	
	 var Obd_l=$('obl-left');
	 var Obd_r=$('obl-right');
// dialog close
	if($('dialog_close_div'))
	{
		this.dc = $('dialog_close_div');
		this.dc.onclick = function(obj)
		{
			return function()
			{
				obj.window.style.display = 'none';
				Obd_l.style.display="block";
				Obd_r.style.display="block";
				

			}
			
		}(this)
		
	}
	
// dialog text
	if($('dialog_text_div'))
	{
		this.text = $('dialog_text_div');
		this.links = $('dialog_links');
		
		this.all_texts = document.getElementsByClassName('dialog_text',this.text);
		this.all_links = document.getElementsByClassName('dialog_link',this.links);
		
		this.text.set_text = function(obj)
		{
			return function(n)
			{
				obj.window.style.display = 'block';
				for(i in obj.all_texts)
				{
					obj.all_texts[i].style.display = 'none';
					if(obj.all_links[i]) { obj.all_links[i].style.display = 'none'; }
				}
				obj.all_texts[n].style.display = 'block';
				
                if (!HasNoLinksClass(obj.all_texts[n]))
                {
				    if((obj.all_links[n]) && (obj.all_links[n].innerHTML!=''))
				    {
					    obj.links.style.display = 'block';
					    obj.all_links[n].style.display = 'block';
				    }
				    else
				    {
					    obj.links.style.display = 'none';
    //					obj.all_links[n].style.display = 'none';
				    }
				}
				return false;
			}
		}(this)
	}
}


// generating form for index page

function generate_form(n,page)
{
	var d = document.createElement("DIV");
	d.style.display = 'none';
	document.body.appendChild(d);
	d.innerHTML = '<form action="/' + page + '" method="post" name="link_form"><input type="hidden" name="div_num" value="' + n + '" /></form>';
	document.forms.link_form.submit();
}

// checking for no-links class

function HasNoLinksClass(objElement)
{
    if (objElement.className)
    {
        var classes = objElement.className.split(' ');
        for (var i = 0; i < classes.length; i++)
        {
            if (classes[i] == 'no-links')
            {
                return true;
            }
        }
    }
    return false;
}

/*function obl_open_div()
{
	
	 var Obd_l=$('obl-left');
	 var Obd_r=$('obl-right');
	 
	 Obd_l.style.display="block";
	 Obd_r.style.display="block";
}*/

