// ловим Ctrl+B для перехода на страницу about
document.onkeydown = function(e) {
	var e = e || window.event;
	if (e.altKey && e.keyCode == 66) { 
		var _bgColor = (STYLE == 'dark') ? 'dark/'  : '';
		var _lang 	 = (LANG != 'ru') 		? lang+'/' : '';
		var locat 	 = String(document.location);
		document.location = locat.replace(/http:\/\/(www\.)?biramax(\.ru|_new)?.*/, "http://$1biramax$2/"+_bgColor+_lang+"about/");
		return false;
	}
	return true;
}

if (document.images) {
	switch_color_over_lightImg = new Image; switch_color_over_lightImg.src = "/images/switch2dark_over.jpg";
	switch_color_over_darkImg  = new Image; switch_color_over_darkImg.src  = "/images/switch2light_over.jpg";
	switch_color_out_lightImg  = new Image; switch_color_out_lightImg.src  = "/images/switch2dark_out.gif";
	switch_color_out_darkImg   = new Image; switch_color_out_darkImg.src   = "/images/switch2light_out.gif";
	
	logo_lightImg = new Image; logo_lightImg.src = "/images/logo_light.gif";
	logo_darkImg  = new Image; logo_darkImg.src  = "/images/logo_dark.gif";
	logo_lightSwf = new Image; logo_lightSwf.src = "/images/logo_light.swf";
	logo_darkSwf  = new Image; logo_darkSwf.src  = "/images/logo_dark.swf";
}

function changeImg(_event, side, _img) {
	if (document.images) document[side+'_'+_img].src = eval(_img+"_"+_event+"_"+STYLE+"Img.src");
}

// Открытие скриншотов сайтов при нажатии мышкой на иконке -----------------------------------------------------------------------
var SSdiv = [], SStimer = null;
function SSshowHide(code, href, SSwidth) {
	if (SStimer != null) return false;
	// div с иконкой и названием заказчика
	SSpatternDiv = document.getElementById('pattern');
	SSinfoDiv	 	 = document.getElementById('info_'+code);
	SSicon		 	 = document.getElementById('icon_'+code);
	SSname		 	 = document.getElementById('name_'+code);
	// проверяем по классу родительского divа, открывалась ли полная карточка
	SSouterDiv = SSinfoDiv.parentNode;
	if (SSouterDiv.className && SSouterDiv.className == 'frame') {
		SSdiv[code].style.overflow = 'hidden';
		SStimer = setTimeout('SSroll("'+code+'", "hide")', 10);
		return false;
	}
	// div-контейнер для всей карточки заказчика, включая url и изображениямя сайта
	SSouterDiv = SSpatternDiv.cloneNode(true);
	SSouterDiv.id = '';
	SSouterDiv.style.display = 'block';
	SSouterDiv.style.width = SSwidth+'px';
	// SSinfoDiv - иконка и название компании
	SSinfoDiv.parentNode.insertBefore(SSouterDiv, SSinfoDiv);
	SSurl = SSouterDiv.firstChild; while (SSurl.nodeName != 'A') SSurl = SSurl.nextSibling;
	SSurl.href = 'http://'+href+'/';
	SSurl.className = 'label';
	SSurl.innerHTML = href;
	SStable = SSurl.nextSibling; while (SStable.nodeName != 'TABLE') SStable = SStable.nextSibling;
	SSdiv[code] = document.createElement('DIV');
	SSouterDiv.insertBefore(SSdiv[code], SStable);
	SSdiv[code].appendChild(SStable);
	SSouterDiv.insertBefore(SSinfoDiv, SSdiv[code]);
	SSicon.alt = SSicon.title = SSname.title = TXT['alt_hide'];
	// div с изображениями сайта
	SSloading = document.createElement('DIV');
	SSloading.innerHTML = TXT['loading'];
	SSouterDiv.insertBefore(SSloading, SSinfoDiv.nextSibling);
	SSleftImg 		 = new Image();
	SSleftImg.src  = '/images/screenshots/'+code+'_left.jpg';
	SSrightImg 		 = new Image();
	SSrightImg.src = '/images/screenshots/'+code+'_right.jpg';
	SStimer = setTimeout('checkImgLoading("'+code+'", "'+href+'")', 500);
	return false;
}

function checkImgLoading(code, href) {
	SSurl.style.display = 'block';
	if (SSleftImg.complete == true && SSrightImg.complete == true) {
		SSdiv[code].style.height = 30+'px';
		SSdiv[code].style.overflow = 'hidden';
		SSouterDiv.removeChild(SSloading);
		var SSaleft = document.createElement('A');
		SSaleft.href = 'http://'+href+'/';
		SSaleft.target = '_blank';
		SSaleft.className = 'img';
		var SSleft = document.createElement('IMG');
		SSleft.style.marginRight = '25px';
		SSleft.className = 'borders';
		var SSaright = SSaleft.cloneNode(true);
		SSleft.src = SSleftImg.src;
		SSaleft.appendChild(SSleft);
		var td = SStable; while (td.nodeName != 'TD') td = td.firstChild; 
		td.appendChild(SSaleft);
		var SSright = document.createElement('IMG');
		SSright.className = 'borders';
		SSright.src = SSrightImg.src;
		SSaright.appendChild(SSright);
		td.nextSibling.appendChild(SSaright);
		SSheight = (SSleft.offsetHeight > SSright.offsetHeight) ? SSleft.offsetHeight : SSright.offsetHeight;
		SStimer = setTimeout('SSroll("'+code+'", "show")', 10);
		return false;
	} 
	else SStimer = setTimeout('checkImgLoading("'+code+'", "'+href+'")', 500);
}

function SSroll(code, action) {
	SSdiv[code].style.height = (action == 'show') ? SSdiv[code].offsetHeight + 10+'px' : SSdiv[code].offsetHeight - 10+'px';
	if ((action == 'show' && SSdiv[code].offsetHeight + 10 > SSheight - 10) 
	 || (action == 'hide' && SSdiv[code].offsetHeight - 10 < 10)) {
		if (action == 'show') {
			SSdiv[code].style.overflow = '';
			SSdiv[code].style.height = '';
		}
		else {
			SSouterDiv.parentNode.insertBefore(SSinfoDiv, SSouterDiv);
			SSouterDiv.parentNode.removeChild(SSouterDiv);
			SSicon.alt = SSicon.title = SSname.title = TXT['alt_show'];
		}
		SStimer = null;
		return false;
	}
	else SStimer = setTimeout('SSroll("'+code+'", "'+action+'")', 10);
}

// функция изменения стиля элементов -----------------------------------------------------------------------------------------------
function switchStyle(aSwitchStyle) {
	var STYLE_INV = (STYLE == 'dark') ? 'light' : 'dark';
	// цвет основного текста
	document.body.style.color = COLORS['txt'][STYLE_INV];
	// цвет фона страницы
	document.body.style.backgroundColor = COLORS['bg'][STYLE_INV];
	if (document.images) {
		// фон кнопки переключения стиля наверху и внизу
		var side = 'top';
		for (var i = 0; i < 2; i ++) {
			var switchColor = document.getElementById(side+'_switch_color');
			if (switchColor != null) {
				switchColor.style.background = COLORS['slight'][STYLE];
				document[side+'_switch_color'].src = eval('switch_color_out_'+STYLE_INV+'Img.src');
			}
			side = 'bottom';
		}
		// цвет надписи "Альтернативный вид"
		aSwitchStyle.style.color = COLORS['slight'][STYLE_INV];
		aSwitchStyle.blur();
		// картинки языков наверху и внизу
		for (var i in LANGS) {
			document['top_'+LANGS[i]].src = eval(LANGS[i]+'_out_'+STYLE_INV+'Img.src');
			if (document['bottom_'+LANGS[i]]) document['bottom_'+LANGS[i]].src = eval(LANGS[i]+'_out_'+STYLE_INV+'Img.src');
		}
		// flash-лого
		var so = new SWFObject(eval('logo_'+STYLE_INV+'Swf.src'), 'logo', 30, 30, 7, COLORS['bg'][STYLE_INV]);
		so.addParam('menu', 'false');
		so.addParam('wmode', 'opaque');
		so.write('logo_movie');
		// цвет фона и gif-лого под flash-лого
		var logoMovie = document.getElementById('logo_movie');
		logoMovie.style.backgroundColor = COLORS['slight'][STYLE_INV];
		logoMovie.style.backgroundImage = 'url('+eval('logo_'+STYLE_INV+'Img.src')+')';
		// убираем (являем) большую букву на фоне
		document.getElementById('drop_cap').style.visibility 				= (STYLE_INV == 'light') ? 'visible' : 'hidden'; 
		document.getElementById('drop_cap_shadow').style.visibility = (STYLE_INV == 'light') ? 'visible' : 'hidden'; 
		// убираем (являем) картинки темного фона
		var gridVisib = (STYLE_INV == 'light') ? 'hidden' : 'visible'; 
		var gridArr = ['grid_c1', 'grid_c2', 'grid_c3', 'grid_lt', 'grid_rt', 'grid_rb', 'grid_lb'];
		var gridImg;
		for (var i in gridArr) document.getElementById(gridArr[i]).style.visibility = gridVisib;
	}
	// изменям цвета у элементов по тегам
	var arr, i, elem;
	// заголовки h1 и h2
	for (var j = 1; j <= 2; j ++) {
		arr = document.getElementsByTagName('H'+j); 
		for (i in arr) {
			elem = arr[i];
			if (elem.style) elem.style.color = COLORS['h'][STYLE_INV]; 
		}
	}
	// ссылки
	arr = document.getElementsByTagName('A');
	for (i in arr) {
		elem = arr[i];
		// цвет ссылок в обычном тексте
		if (elem.className == '' || elem.className == STYLE) elem.className = STYLE_INV;
		// цвет ссылок меню
		if (elem.className == 'menu_'+STYLE) elem.className = 'menu_'+STYLE_INV;
		// цвет ссылок карты сайта
		if (elem.className == 'site_map_'+STYLE) elem.className = 'site_map_'+STYLE_INV;
		// цвет ссылки @ (feedback)
		if (elem.className == 'at_'+STYLE) elem.className = 'at_'+STYLE_INV;
		// цвет ссылок навигации
		if (elem.className == 'nav') elem.style.color = COLORS['a_nav'][STYLE_INV];
		// цвет рамок у изображений-ссылок
		if (elem.className == 'img') elem.style.borderColor = COLORS['a_img'][STYLE_INV];
		// цвет label в углу рамки
		if (elem.className == 'label') elem.style.color = COLORS['label'][STYLE_INV];
		// путь ссылок для передачи нового стиля на следующую страницу
		if (elem.href && elem.className != 'label') elem.href = (STYLE_INV == 'light') ? elem.href.replace('/dark', '') : elem.href.replace(/http:\/\/(www\.)?biramax(\.ru|_new)?(.*)/, "http://$1biramax$2/dark$3");
	} 
	arr = document.getElementsByTagName('SPAN');
	for (i in arr) {
		elem = arr[i];
		// цвет указателя (в списке)
		if (elem.className == 'marker') elem.style.color = COLORS['marker'][STYLE_INV];
		if (elem.className == 'label')  elem.style.color = COLORS['label'][STYLE_INV];
	}
	arr = document.getElementsByTagName('DIV');
	for (i in arr) {
		elem = arr[i];
		// цвет текстов типа "extra"
		if (elem.className == 'extra')  elem.style.color = COLORS['extra'][STYLE_INV];
		// цвет текстов источников информации
		if (elem.className == 'source') elem.style.color = COLORS['source'][STYLE_INV];
	}
	// цвет рамок
	arr = document.getElementsByTagName('DIV');
	for (i in arr) {
		elem = arr[i];
		if (elem.className == 'frame') elem.style.backgroundColor = COLORS['frame'][STYLE_INV];
	}
	arr = document.getElementsByTagName('TABLE');
	for (i in arr) {
		elem = arr[i];
		if (elem.className == 'frame')  elem.style.backgroundColor = COLORS['frame'][STYLE_INV];
	}
	// цвет слова biramax возле логотипа
	document.getElementById('b').style.color = document.getElementById('iramax').style.color = COLORS['biramax'][STYLE_INV];
	// обновляем переменную стиля
	STYLE = STYLE_INV;
}

// функции автоматического скролла к нижней части страницы -------------------------------------------------------------------------
function setScrollParams() {
	// берем базовые размер шага и расстояние, пропорции которых применяем к нашему экрану - чтобы вне зависимости от разрешения экрана переход к нижнему блоку (от него) происходил примерно за одно и то же время
	var stepBase 	= 5;		// количество пикселей в одном базовом шаге
	var destYBase	= 600;	// базовое расстояние в пикселях от верхней точки до дополнительного блока
	moreBlock 		= document.getElementById('more_block');
	done 					= 0;		// какое расстояние в пикселях пройдено
	time 					= 10;		// время между шагами
	destY 				= [];		// величина по оси Y для конечной точки скролла
	destY['up'] 	= 0;		
	destY['down'] = document.getElementById('more').offsetTop;
	step 					= Math.ceil(stepBase / destYBase * destY['down']); // высчитываем реальный размер шага исходя из базовых величин
}

function defineScrollDestY() {
	destY['down'] = document.getElementById('more').offsetTop;
}

function scrollSide(side) {
	if (done === 0) {
		if (side == 'down') moreBlock.style.display = 'block';
		// определяем текущую позицию скролла
		startY = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
		// количество шагов
		stepsCount = Math.floor(Math.abs(destY[side] - startY) / step);
		// если нужно вниз, но мы изначально уже ниже начала дополнительного блока, то выходим
		if (side == 'down' && destY[side] < startY) return false;
	}
	// если рассчитанное расстояние пройдено, делаем скролл в точное конечное место и выходим из цикла
	if (done == stepsCount * step) { 
		window.scrollTo(0, destY[side]); 
		if (side == 'up') moreBlock.style.display = 'none';
		done = 0;
		return false;
	}
	var curY = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
	if (side == 'up'   && curY != startY - done) { done = 0; return false; }
	if (side == 'down' && curY != startY + done) { done = 0; return false; }
	done = done + step;
	(side == 'up') ? window.scrollTo(0, startY - done) : window.scrollTo(0, startY + done);
	setTimeout('scrollSide("'+side+'")', time);
	return false;
}

function trim(str) {
	return str.replace(/(^\s+)|(\s+$)/g, '');
}

function onSubmitFeedback(form) {
	if (trim(form.msg.value) == '') {
		alert('Вы не ввели текст сообщения!');
		return false;
	}
}