var browser = {isIE: /msie/i.test(navigator.userAgent), isFF: /firefox/i.test(navigator.userAgent), isOpera: /opera/i.test(navigator.userAgent), isIE6: /msie\s?6/i.test(navigator.userAgent)};



function $2() {
	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;
}

var menuTimer, menuTimerElem;

window.onload = init;

function init()
{
	initObjs();
	updateOLs(document, "");
	if(browser.isIE6) cssIE6func();
	if($2("additional_info") && $2("additional_info_link"))
		$2('additional_info_link').style.display = "block";
		
	if($2("graph_data") && getTable)
	{
		var graph_array = getTable();
		
		if(graph_array[1][3])
		{
			var vDate = graph_array[1][3];
			var gDate = vDate.substring(0,2)+"."+vDate.substring(3,5);			
			var arrow;
			
			$2("graph_data").innerHTML = gDate;
			
			var l_v = graph_array[1][1];
			
			if(l_v.toString().match(/\.[^\d]*$/))
				l_v = parseInt(l_v);
			
			if($2("LV")) $2("LV").innerHTML =  "$" + l_v;
			

			
			if($2("graph_perc"))
			{
				var gPerc = (graph_array[1][2] / (graph_array[1][1] - graph_array[1][2]))*100;
				
				if(isNaN(gPerc))
					$2("graph_perc_holder").style.display = "none";
				else
				{
					gPerc = gPerc.toString();
					gPerc = gPerc.substring(0,5)+"%";
					
					$2("graph_perc").innerHTML = gPerc;
				}
			}
			
			if (gPerc == 0 || isNaN(gPerc))
                arrow = "<img src='/_i/_.gif' />";
            else if (gPerc > 0)
                arrow = "<img src='/_i/content/indexes_up.gif' />";
			else
                arrow = "<img src='/_i/content/indexes_down.gif' />";
				
			if($2("graph_arrow"))
				$2("graph_arrow").innerHTML = arrow;
		}
	}
}

function cssIE6func()
{	
	$2('center_column').style.height = (document.body.clientHeight - 203 - 15) + "px";
	$2('logo').style.paddingTop = "37px";
}

function initObjs()
{

}

function show(elem)
{
	if(menuTimerElem && (elem != menuTimerElem))
		menuTimerElem.style.visibility = "hidden";

	menuTimerElem = elem;
	clearTimeout(menuTimer);

	elem.style.visibility = "visible";
}

function hide(elem)
{
	menuTimerElem = elem;
	menuTimer = setTimeout("setVisible(menuTimerElem, \"hidden\")", 1000);
}

function updateOLs(html, prefix)
{
	var OLs = html.getElementsByTagName("OL");
	var flag = false;

	for (var j = 0; j < OLs.length; j++) {
		flag = false;
		var parent = OLs[j].parentNode;
		
		while (parent != html && parent != null) {
			if (parent.tagName == "UL") {
				flag = true;
				break;
			}

			for (var i = 0; i < OLs.length; i++) {
				if (parent == OLs[i]) {
					flag = true;
					break;
				}
			}

			parent = parent.parentNode;
		}

		if (flag)
			continue;

		updateLists(OLs[j], prefix);
	}
}

function updateLists(element, prefix)
{
	element.style.listStyle = 'none inside';
	if(prefix == "" && browser.isIE)
	{
		/*element.style.marginLeft = "-16px";
		element.style.paddingLeft = "16px";*/
		element.style.textIndent = "0px";
	}

	var oM = element.childNodes.length;
	var k = 1;

	for (var i = 0; i < oM; i++ ) {
		var oLI = element.childNodes[i];
		if (oLI.nodeType == 3)
			continue;
		oLI.innerHTML = (prefix == "") ? ("<b class=\"num\">" + k + ".</b> " + oLI.innerHTML) : ("<span class=\"num\">" + prefix + k + ".</span> " + oLI.innerHTML);

		updateOLs(oLI, prefix + k + ". ");

		k++;
	}
}

function getOffsetLeft(el)
{
	var parentEl = el.parentNode;

	var x = 0;
	var mx = 0;

	for(var i = 0; i < parentEl.getElementsByTagName("td").length; i ++)
	{
		if(parentEl.getElementsByTagName("td")[i] == el)
		{
			mx = (i == 1) ? parentEl.getElementsByTagName("td")[i - 1].clientWidth : Math.floor(parentEl.getElementsByTagName("td")[i - 1].clientWidth / 2) + 1;
			break;
		}
		else
			x += parentEl.getElementsByTagName("td")[i].clientWidth;
	}

	return (x - mx);
}

function setLeftMargin(el, toElem)
{
	var marginLeft = getOffsetLeft(el);
	
	if($2("sign_menu_last_cell") && (el == $2("sign_menu_last_cell").parentNode))
	{
		var fc_width = $2("menu_first_divider_cell") ? $2("menu_first_divider_cell").offsetWidth : 15;		
		marginLeft += (fc_width + el.offsetWidth - toElem.offsetWidth);
	}

	toElem.style.marginLeft = marginLeft + "px";
}

function setWidth(el, toElem)
{	
	var fc_width = $2("menu_first_divider_cell") ? $2("menu_first_divider_cell").offsetWidth : 15;			
	toElem.style.width = parseInt((el.offsetWidth + fc_width) * 1.3) + "px";
}


function setVisible(el, vis)
{
	el.style.visibility = vis;
}

function changeClass(id, newClass)
{
	$2(id).className = newClass;
}

function ishPopUp (url,name,width, height) {
    var new_width = width + 20;
    var new_height = height + 20;
    PopUpWindow = window.open(url,name,'titlebar=no,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,scrollbars=no,width=' + new_width + ' ,height=' + new_height);
    PopUpWindow.focus();
}

function addCode (num, lang) {

var img = document.getElementById("img_graph");
img.style.visibility = "visible";

if(num == 0) {
	img.src="/_i/graph01-"+lang+".gif";
}
else if(num ==1) {
	img.src="/_i/graph02-"+lang+".gif";
}
else if(num ==2) {
	img.src="/_i/graph03-"+lang+".gif";
}

if(num ==3) {
	img.src="/_i/graph04-"+lang+".gif";
}
else if(num ==4) {
	img.src="/_i/graph05-"+lang+".gif";
}
else if(num ==5) {
	img.src="/_i/graph06-"+lang+".gif";
}

if(num ==6) {
	img.src="/_i/graph07-"+lang+".gif";
}
else if(num ==7) {
	img.src="/_i/graph08-"+lang+".gif";
}
else if(num ==8) {
	img.src="/_i/graph09-"+lang+".gif";
}
else if(num ==9) {
	img.src="/_i/graph10-"+lang+".gif";
}
else if(num ==10) {
	img.src="/_i/graph11-"+lang+".gif";
}
else if(num ==11) {
	img.src="/_i/graph12-"+lang+".gif";
}
else if(num ==12) {
	img.src="/_i/graph13-"+lang+".gif";
}
else if(num ==13) {
	img.src="/_i/graph14-"+lang+".gif";
}
}

function addCode2 (num, lang) {
	
var img = document.getElementById("img_graph");

img.style.visibility = "visible";

if(num == 0) {
	img.src="/_i/2010/graph06-"+lang+".gif";
}
else if(num ==1) {
	img.src="/_i/2010/graph07-"+lang+".gif";
}
else if(num ==2) {
	img.src="/_i/2010/graph08-"+lang+".gif";
}
if(num ==3) {
	img.src="/_i/2010/graph09-"+lang+".gif";
}
}

function displayElement(elem)
{
	if(!elem)
		return;
	
	var block = "block";
	
	if((browser.isFF || browser.isOpera) && elem.tagName)
	{
		switch(elem.tagName.toLowerCase())
		{
			case "table":
				block = "table";
				break;
			case "tr":
				block = "table-row";
				break;
			case "td":
				block = "table-cell";
				break;
			case "th":
				block = "table-cell";
				break;
		}
	}
	
	elem.style.display = (elem.style.display != "none") ? "none" : block;
}

var specialForbidenArrayTUFLWW = new Array("and", "is", "the", "of", "in");

function specialFuncTUFLWW(layer) // функция которая делает верхний регистр для первой буквы в каждом слове у пункта
{	
	if(!layer)
		return;		
		
	for(var a = 0; a < layer.getElementsByTagName("a").length; a ++)
	{
		var item = layer.getElementsByTagName("a")[a];
		var str = browser.isIE ? item.innerText : item.innerHTML;
		
		var suc = 1;
		
		if(item.hasChilds)
			suc = 0;
		
		if(suc)
		{
			var str_arr = str.split(/\s+/);
			
			for(var s = 0; s < str_arr.length; s ++)
			{
				var forbiden = 0;				
				
				for(each in specialForbidenArrayTUFLWW)
				{
					if(str_arr[s].toLowerCase() == specialForbidenArrayTUFLWW[each].toLowerCase())
					{
						forbiden = 1;
						break;
					}
				}
				
				if(!forbiden)
					str_arr[s] = str_arr[s].substring(0, 1).toUpperCase() + str_arr[s].substring(1);
			}
			
			str = str_arr.join(" ");
			
			if(str.length)
				if(browser.isIE)
					item.innerText = str;
				else
					item.innerHTML = str;
		}
	}
}

function addEvent(el, evname, func) {
	if (el.attachEvent)
		el.attachEvent("on" + evname, func);
	else if (el.addEventListener) 
		el.addEventListener(evname, func, true);
	else
		el["on" + evname] = func;
};

function removeEvent(el, evname, func) {
	if (el.detachEvent)
		el.detachEvent("on" + evname, func);
	else if (el.removeEventListener)
		el.removeEventListener(evname, func, true);
	else
		el["on" + evname] = null;
};

