// Scripts collection for www.stss.ru ©2010-2011 STSS Valentin Fedotov v.10 @ 10.10.2011

init = function () {
	try {
		if (arguments.callee.done) return;
		arguments.callee.done = true; // call this function only once

		var h = location.href.toString();
// Where it does
//	if  (h.search("/products") != -1) do_test ();
		if  (h.search("products") != -1) show_partner_program();
		if  (h.search("products") != -1) show_ibm_action ();
		if  (h.search("products") != -1) show_hp_action ();	
		if  (h.search("proliant_DL\.html") != -1) colorize_new_HP (5);
		if  (h.search("proliant_ML\.html") != -1) colorize_new_HP (4);	
		if ((h.search("products") != -1) && (h.search("HXD212\.html\\?config") != -1)) show_button_price();
		if ((h.search("products") != -1) && (h.search("\.html\\?config") != -1) && (h.search("DVR_NVR") == -1)) collapse_product_description();
		if  (h.search("-compare\.html") != -1) stylize_table ('comp','row-mid');
//	if  (h.search("supermicro\.html") != -1) stylize_table ('comp','row-mid');
//	if ((h.search("products") != -1) && (h.search("\.html\\?config") != -1)) load_course_js ('show_config_price ()');
//	if 	(h.search("products") != -1) test_print_page()
		show_yandex_share(); // show yandex share button block on every page
	}	catch (err) { return }
};

// Test purpose only
do_test = function () {
	try {
			var spans = document.getElementsByName('span_Price');
			spans[1].innerHTML += '<br><font style="color: #FFFFFF">' + location.pathname.toString() + ' ' + location.href.toString() + '</font>'
	}	catch (err) { return }
};

// Shows yandex share block with content header on each page
show_yandex_share = function () {
	try {
		var h1_content = null;
		if ((h1_content = document.getElementById('content')) == null) return; // insert only here id="content"
		var yandex_share_block = document.createElement('div');
				yandex_share_block.innerHTML = '<div style="display: inline; float: right" class="yashare-auto-init" data-yashareType="link" data-yashareQuickServices="facebook,twitter,lj,vkontakte,odnoklassniki,friendfeed,moimir,yaru"></div>';
		h1_content.insertBefore(yandex_share_block, h1_content.getElementsByTagName('div')[0]);
		var yandex_share_script = document.createElement('script');
				yandex_share_script.type = 'text/javascript';
				yandex_share_script.charset = 'utf-8';
				yandex_share_script.src = '//yandex.st/share/share.js';
		document.getElementsByTagName('head')[0].appendChild(yandex_share_script);
	}	catch (err) { return }
};

// onClick expand or collapse desription of product on product configurator page
expand_or_collapse_description = function () {
	try {
	var div_wrapper = document.getElementById('div_wrapper');
	var div_float = document.getElementById('div_float');
	var div_float_a = div_float.getElementsByTagName('a')[0];
		if (div_wrapper.style.overflow == "hidden" ) {
			div_wrapper.style.overflow = "visible";
			div_wrapper.style.position = "static";
			div_wrapper.style.height = "auto";
			div_float.style.position = "static";
			div_float.style.height = "14px";
//		div_float.innerHTML = "<a href='javascript:void(0)' onClick='expand_or_collapse_description(); return false;'>...свернуть описание</a>";
			div_float_a.innerHTML = "...свернуть описание";
		} else {
				div_wrapper.style.overflow = "hidden";
				div_wrapper.style.position = "relative";
				div_wrapper.style.height = "140px";
				div_float.style.position = "absolute";
				div_float.style.height = "50px";
//			div_float.innerHTML = "<a href='javascript:void(0)' onClick='expand_or_collapse_description(); return false;'><br><br><br>...показать описание</a>";
				div_float_a.innerHTML = "<br><br><br>...показать описание";
			};
	}	catch (err) { return }
};

// onLoad collapse description of product on product configurator page
collapse_product_description = function () {
	try {
	var td_content = null;
		if ((td_content = document.getElementById('content').getElementsByTagName('table')[0].getElementsByTagName('td')[1]) == null) return; // insert only here id="content"
		var div_wrapper = document.createElement('div');
				div_wrapper.id = "div_wrapper";
				div_wrapper.style.cssText += "border: none; width: 100%; height: 140px; overflow: hidden; position: relative;";
		var stripe_config = document.createElement('div');
				stripe_config.style.cssText += "border: none; width: 100%; margin: 0px; padding: 0px;";
				stripe_config.innerHTML = "<table id='stripe_table' width='100%' cellspacing='0' cellpadding='0' style='border: solid orange 3px; padding: 0px; margin: 0px; border-spacing: 0px'><tr><td width='20%'></td><td width='80%' style='background-color: orange; color: white; text-align: center; font-weight: bold; font-size: 16px; padding: 2px 0px 0px 0px; margin: 0px'>Конфигуратор</td></tr></table>";
		td_content.getElementsByTagName('table')[1].style.width = "100%";
		var moved_divs = td_content.getElementsByTagName('div');
		td_content.insertBefore(stripe_config, moved_divs[0]);
		td_content.insertBefore(div_wrapper, stripe_config);
		div_wrapper.appendChild(moved_divs[2], "inside");
		div_wrapper.appendChild(moved_divs[3], "inside");
		div_wrapper.innerHTML += "<div id='div_float' style='position: absolute; top: 90px; text-align: right; vertical-align: baseline; height: 50px; border: none; width: 100%; background-image: url(/binaries/images/elements/white_wipe_down_1x50.png);'><a href='javascript:void(0)' onClick='expand_or_collapse_description(); return false;'><br><br><br>...показать описание</a></div>";
		var stripe_td = document.getElementById('stripe_table').getElementsByTagName('td');
		var p_span_price = document.getElementById('span_Price').parentNode.parentNode;
		stripe_td[0].appendChild(p_span_price, "inside");
		p_span_price.style.cssText += "color: black; background-color: white; padding: 0px 8px 2px 8px; margin: 0px; vertical-align: top; font-size: 14px;";
	}	catch (err) { return }
};
		
// Shows this 2 buttons near price field on each "configurator" page
show_button_price = function () {
	try {
		var spans = document.getElementsByName('span_Price');
		s0 = spans[0].parentNode.parentNode;
		s1 = spans[1].parentNode.parentNode;
		regExp = /<\/B>/i;
		s1.innerHTML = s0.innerHTML = s0.innerHTML.toString().replace(regExp,'<span style="width: 87%; text-align: right"><table border=0 cellpadding=0 cellspacing=0 style="display: inline; border: none; margin: 0px; padding: 0px"><tr><td style="border: none; margin: 0px; padding: 0px"><img src="/binaries/images/elements/button_left.png"></td><a href="http://www.stss.ru"><td style="border: none; margin: 0px; padding: 0px; background: url(/binaries/images/elements/button_center.png); text-align: center; color: #FFFFFF; font: normal 18px/24pt sans-serif;  white-space: nowrap"><a href="/about/partners_program.html" target="_blank" style="text-decoration: none !important; color: #444444">Спец.цены для партнеров</a></td></a><td style="border: none; margin: 0px; padding: 0px"><img src="/binaries/images/elements/button_right.png"></td></tr></table></span></B>')
	}	catch (err) { return }
};

// Shows this banner on every page where it possible
show_partner_program = function () {
	try {
		document.getElementById('mid-tbl').getElementsByTagName('td')[0].getElementsByTagName('div')[2].innerHTML += '<p style="MARGIN: 30px"></p><h3 style="TEXT-ALIGN: center; PADDING: 4px 0px 4px 0px; MARGIN: 0px auto" class="stripe"><a href="/about/partners_program.html" target="_blank" title="Узнайте, как стать нашим партнером и получить специальные цены!">Партнерская программа</a></h3><a style="TEXT-DECORATION: none !important" href="/about/partners_program.html" target="_blank" title="Узнайте, как стать нашим партнером и получить специальные цены!"><div style="TEXT-ALIGN: center; PADDING: 16px 12px 12px 12px; BACKGROUND-COLOR: #90FF20; MARGIN: 0px auto; COLOR: #601090; FONT-WEIGHT: 600; FONT-SIZE: 300%; LINE-HEIGHT: 44px; BORDER-right: #CECECE solid 1px">Спец.цены<br />для<br />партнеров<div style="TEXT-ALIGN: right; PADDING: 16px 10px 0px 0px; MARGIN: 0px auto; FONT-FAMILY: fantasy, serif; FONT-STYLE: italic; FONT-WEIGHT: normal; FONT-SIZE: 70%; LINE-HEIGHT: 8px" >узнать!..</div></div><div style="BACKGROUND-COLOR: #90FF20; margin: 0px; padding: 0px; height: 32px"><img style="margin: 0px" hspace="0" vspace="0" align="right" src="/binaries/images/elements/post-it.png" width="100" height="32" /></div></a>'
	}	catch (err) { return }
};

// Shows this banner on each "products" page
show_ibm_action = function () {
	try {
		document.getElementById('mid-tbl').getElementsByTagName('td')[0].getElementsByTagName('div')[2].innerHTML += '<p style="MARGIN: 30px"></p><h3 style="TEXT-ALIGN: center; PADDING: 4px 0px 4px 0px; MARGIN: 0px auto" class="stripe"><a href="/news/ibm_server_system_x_system_storage_price_drop_2012.html" target="_blank" title="В период проведения акции снижены цены на весь модельный ряд серверов IBM System X и систем хранения данных IBM System Storage! Акция действует до конца августа 2012 года.">Акция !!!</a></h3><a style="TEXT-DECORATION: none !important" href="/news/ibm_server_system_x_system_storage_price_drop_2012.html" target="_blank" title="В период проведения акции снижены цены на весь модельный ряд серверов IBM System X и систем хранения данных IBM System Storage! Акция действует до конца августа 2012 года."><div style="TEXT-ALIGN: center; PADDING: 6px 12px 6px 12px; LINE-HEIGHT: 26px; BACKGROUND-COLOR: #90F0FF; MARGIN: 0px auto; COLOR: #2266AA; BORDER-right: #CECECE solid 1px; FONT-SIZE: 110%; FONT-WEIGHT: bold; TEXT-DECORATION: none">снижение цен<br />на все модели</div></a><div style="TEXT-ALIGN: center; PADDING: 0px; BACKGROUND-COLOR: #90F0FF; MARGIN: 0px auto; BORDER-right: #CECECE solid 1px; TEXT-DECORATION: none"><div style="TEXT-ALIGN: center; BACKGROUND-COLOR: #FFFFFF; PADDING: 5px; MARGIN: 0px auto; WIDTH: 175px; HEIGHT: 75px"><a style="TEXT-DECORATION: none !important" href="/news/ibm_server_system_x_system_storage_price_drop_2012.html" target="_blank" title="В период проведения акции снижены цены на весь модельный ряд серверов IBM System X и систем хранения данных IBM System Storage! Акция действует до конца августа 2012 года."><img style="BORDER: none; PADDING: 0px; MARGIN: 0px" align="middle" src="/binaries/images/logos/ibm/ibm_logo-165x65.jpg" width="165" height="65" /></a></div></div><div style="TEXT-ALIGN: center; PADDING: 6px 12px 0px 12px; LINE-HEIGHT: 26px; BACKGROUND-COLOR: #90F0FF; MARGIN: 0px auto; COLOR: #114488; BORDER-right: #CECECE solid 1px; FONT-SIZE: 110%; FONT-WEIGHT: bold; TEXT-DECORATION: none"><a style="TEXT-DECORATION: none !important" href="/news/ibm_server_system_x_system_storage_price_drop_2012.html" target="_blank" title="В период проведения акции снижены цены на весь модельный ряд серверов IBM System X и систем хранения данных IBM System Storage! Акция действует до конца августа 2012 года.">серверов и СХД</a></div><div style="BACKGROUND-COLOR: #90F0FF; margin: 0px; padding: 0px; height: 32px"><img style="margin: 0px" hspace="0" vspace="0" align="right" src="/binaries/images/elements/post-it.png" width="100" height="32" /></div>'
	}	catch (err) { return }
};

// Shows this banner on each "products" page
show_hp_action = function () {
	try {
		document.getElementById('mid-tbl').getElementsByTagName('td')[0].getElementsByTagName('div')[2].innerHTML += '<p style="margin: 30px"></p><h3 style="text-align: center; padding: 4px 0px 4px 0px; margin: 0px auto" class="stripe"><a href="/news/discount_20_server_HP_ProLiant_storage_HP_StorageWorks_2012.html" target="_blank" title="В период проведения акции до 20% снижены цены на весь модельный ряд серверного оборудования Hewlett-Packard, включая заказные позиции!	Акция действует до конца августа 2012 года.">Акция !!!</a></h3><a style="text-decoration: none !important; COLOR: #FF0000" href="/news/discount_20_server_HP_ProLiant_storage_HP_StorageWorks_2012.html" target="_blank" title="В период проведения акции до 20% снижены цены на весь модельный ряд серверного оборудования Hewlett-Packard, включая заказные позиции!	Акция действует до конца августа 2012 года."><div style="text-align: center; padding: 6px 12px 6px 12px; line-height: 26px; background-color: #FFE020; margin: 0px auto; color: #FF0000; border-right: #CECECE solid 1px; font-size: 110%; font-weight: bold; text-decoration: none">цены снижены на<br /><div style="text-align: center; margin: 0px auto; font-size: 500%; line-height: 52px"><marquee direction="down" height="54" width="160" behavior="alternate" scrollamount="1" scrolldelay="200"><marquee direction="right" width="160" behavior="alternate" scrollamount="1" scrolldelay="100"><b>20%</b></marquee></marquee></div>на серверы<br /></div></a><div style="text-align: center; padding: 0px; background-color: #FFE020; margin: 0px auto; border-right: #CECECE solid 1px; text-decoration: none"><div style="text-align: center; background-color: #FFFFFF; padding: 5px; margin: 0px auto; width: 110px; height: 75px"><a href="/news/discount_20_server_HP_ProLiant_storage_HP_StorageWorks_2012.html" target="_blank"><img style="border: none; padding: 0px; margin: 0px" align="middle" src="/binaries/images/logos/hp/hp-logo_100x65.jpg" width="100" height="65" /></a></div></div><div style="background-color: #FFE020; margin: 0px; padding: 0px; height: 32px"><img style="margin: 0px" hspace="0" vspace="0" align="right" src="/binaries/images/elements/post-it.png" width="100" height="32" /></div>'
	}	catch (err) { return }
};

// Replaces "new" string with red colored "[new]" on "proliant_DL.html" or "proliant_ML.html" pages
colorize_new_HP = function (proliant_position) {
	try {
		var menu_li = document.getElementById('menu-left').getElementsByTagName('li')[proliant_position].getElementsByTagName('li');
		var prod_h3 = document.getElementById('content').getElementsByTagName('h3');
		for(var i = 0; i < menu_li.length; i++) {
			var menu_a = menu_li[i].getElementsByTagName('a')[0];
			var prod_a = prod_h3[i].getElementsByTagName('a')[0];
			menu_a.innerHTML = menu_a.innerHTML.replace('new', "<font color=red>new!</font>");
			prod_a.innerHTML = prod_a.innerHTML.replace('[new]', "<font color=red style='background-color:yellow'><b>&nbsp;new!&nbsp;</b></font>")
		}
	}	catch (err) { return }
};

// Stylize table rows on every products compare page
stylize_table = function (table_id, tr_class_name) {
	try {
		var table = document.getElementById(table_id);
	  var rows = table.getElementsByTagName("tr");
	  for ( var i = 1; i < rows.length; i += 2 )
			rows[i].className = tr_class_name;
	 	var cells = table.getElementsByTagName("td"); // Assign classes for required <td>
	 	for ( var i = 0; i < cells.length; i += 12 ) {
			cells[i+1].className = "wn";
			cells[i+2].className = "ar";
			cells[i+4].className = "ar";
			cells[i+6].className = "ar";
			cells[i+8].className = "ar";
			cells[i+10].className = "ar";
			cells[i+11].className = "ar";
		}
	}	catch (err) { return }
};

// Convert number to financial format
String.prototype.convertToFinance = function (n_divider) {
	var n_string = this.toString();
	var point_position = n_string.search("\\.");
	if (point_position != -1) {
		n_string = n_string.replace(".", ",");
		if ( n_string.length == point_position + 2 ) n_string += "0"
	} else {
			point_position = n_string.length;
			n_string += ",00"
	};
	for (var i = point_position - 3; i > 0; i -= 3 ) 
		n_string = n_string.substr(0, i) + n_divider + n_string.substr(i);
	return n_string
};

// Add rubbles to price on every configurator page
show_config_price = function () {
	try {
		do_original = recalculateConfig;
		recalculateConfig = function () {
			try {
				do_original ();
				var spans = document.getElementsByName('span_Price');
				var span_price = spans[0].innerHTML;
				var span_ue = span_price.slice (0, -5);
				var rub = span_ue * course_ue;
				spans[1].innerHTML = spans[0].innerHTML += ' &nbsp; <font style="color: grey">[ ' + rub.toString().convertToFinance(" ") + ' руб. ]</font>'
			}	catch (err) { return }
		};
		recalculateConfig ()
	}	catch (err) { return }
};

// Add rubbles to price on every print configuration page
show_print_price = function (div_ue) {
	try {
		var rub = div_ue * course_ue;
		document.getElementsByTagName('div')[1].innerHTML += ' &nbsp; <font style="font: normal">[ ' + rub.toString().convertToFinance(" ") + ' руб. ]</font>'
	}	catch (err) { return }
};

// Load js-file with "course_ue" variable
load_course_js = function (what_to_do) {
	try {
		var load_attempts = 1;
// Wait for real "course_ue" variable
		wait_for_course = function () {
			try {
				if ((typeof course_ue != 'number') || (course_ue <= 0)) {
					if (load_attempts++ < 3) setTimeout('wait_for_course ()', load_attempts*1000);
					return
				} else eval (what_to_do)
			}	catch (err) { return }
		};
		var doc_head = document.getElementsByTagName('head')[0];
		var course_ue_script = document.createElement('script');
		course_ue_script.type = 'text/javascript';
		course_ue_script.src = "/binaries/files/html/kypc_ye.js";
		course_ue_script.onload = setTimeout('wait_for_course ()', 250);
		doc_head.appendChild(course_ue_script);
	}	catch (err) { return }
};

// Test for price on print configuration page
test_print_page = function () {
	try {
		if (document.images[0] === undefined) return;
		if (document.images[0].src != 'http://www.stss.ru/img/print_logo.gif') return;
		if (typeof document.getElementsByTagName('div')[1] == 'undefined') return;
		var div_price = document.getElementsByTagName('div')[1].innerHTML.toString();
		var ue_price = div_price.replace('Цена: ', '').replace(' у\.е\. ', '');
		if (ue_price.length + 12 != div_price.length) return;
		if (typeof (ue_price * 1) == 'number') load_course_js ('show_print_price (' + ue_price + ')')
	}	catch (err) { return }
};

// Show or hide server images on Supermicro solution page
show_server_images = function () {
	try {
		var imgs = document.getElementById('comp').getElementsByTagName('img');
		show_or_not = document.getElementById('images_checkbox').checked ? "" : "none";
		for(var i = 0; i < imgs.length; i++) imgs[i].style.display = show_or_not;
	}	catch (err) { return }
};

window.onload = init;
