/*****************************
**   M e n u
**   first level items
******************************/

var timeouts = new Array();
timeouts['shrink'] = 0;
defaultMenuItem = null;


function changeFontSize(elemId, change, limit, timeout) {
	var menuCell = document.getElementById(elemId);
	if (menuCell) {
		var currSize = parseInt(menuCell.style.fontSize);
		if (currSize != limit) {
			menuCell.style.fontSize = (currSize + change) + 'px';
			timeouts[elemId] = setTimeout('changeFontSize("'+elemId+'", '+change+', '+limit+', '+timeout+')', timeout);
		}
	}
}

var currentMenuItem = '';

function restoreDefault() {
	if ( defaultMenuItem ) timeouts['shrink'] = setTimeout('erectMenuItem("' + defaultMenuItem + '")', 1000);
}

function cancelRestore() {
	if ( timeouts['shrink'] != 0 ) { clearTimeout(timeouts['shrink']); timeouts['shrink'] = 0; }
}

function shrinkMenuItem(menuItemId) {
	currentMenuItem = '';
	var menuItemToShrink = document.getElementById(menuItemId);
	if (!menuItemToShrink.getAttribute('current')) menuItemToShrink.className = '';
	var subMenu = document.getElementById('sub' + menuItemId);
	if (subMenu) subMenu.style.display = 'none';
	if (isNaN(parseInt(menuItemToShrink.style.fontSize))) menuItemToShrink.style.fontSize = '20px';
	if (timeouts[menuItemId]) { clearTimeout(timeouts[menuItemId]); timeouts[menuItemId] = 0; }
	changeFontSize(menuItemId, -1, 16, 10);
}

function erectMenuItem( strMenuItemId ) {
	cancelRestore();
	var objMenuItem = ( document.getElementById(strMenuItemId) )? document.getElementById(strMenuItemId) : this;
	var menuItemToErect = objMenuItem.parentNode.parentNode;
	if (menuItemToErect && menuItemToErect.id != currentMenuItem) {
		if (currentMenuItem != '') shrinkMenuItem(currentMenuItem);
		if (!menuItemToErect.getAttribute('current')) menuItemToErect.className = 'selected';
		var subMenu = document.getElementById('sub' + menuItemToErect.id);
		if (subMenu) subMenu.style.display = 'block';
		if (isNaN(parseInt(objMenuItem.style.fontSize))) menuItemToErect.style.fontSize = '16px';
		if (timeouts[menuItemToErect.id]) { clearTimeout(timeouts[menuItemToErect.id]); timeouts[objMenuItem.id] = 0; }
		changeFontSize(menuItemToErect.id, +1, 20, 10);
		currentMenuItem = menuItemToErect.id;
	}
}


/*****************************
**   B a n n e r s
**   the orange line ones
******************************/

var strCurrentBannerId = '';
var iBannerStep = 10;
var bannerTO = new Array();
var enlargeBannerTO = new Array();
var shrinkBannerTO = new Array();

function enlargeImgContainer( strBannerId, iSetWidth, iMaxWidth ) {
	if ( shrinkBannerTO[strBannerId] ) { clearTimeout(shrinkBannerTO[strBannerId]); shrinkBannerTO[strBannerId] = 0; }
	var objImgContainer = document.getElementById(strBannerId + 'Text');
	objImgContainer.style.width = iSetWidth;
	if ( iSetWidth < iMaxWidth ) {
		enlargeBannerTO[strBannerId] = setTimeout( 'enlargeImgContainer("' + strBannerId + '",' + ( iSetWidth + iBannerStep ) + ',' + iMaxWidth + ')', 10);
	}
}

function errectBanner() {
	var strBannerId = this.id;
	if ( strCurrentBannerId == strBannerId && bannerTO[strBannerId] ) { clearTimeout(bannerTO[strBannerId]); bannerTO[strBannerId] = 0; }
	if ( strCurrentBannerId != strBannerId ) {
		if ( strCurrentBannerId ) shrinkBanner( strCurrentBannerId )
		var objImgContainer = document.getElementById(strBannerId + 'Text');
		var iImageWidth = parseInt(objImgContainer.getElementsByTagName('img')[0].getAttribute('width'));
		enlargeImgContainer( strBannerId, iBannerStep, iImageWidth );
		strCurrentBannerId = strBannerId;
	}
}

function shrinkImgContainer( strBannerId, iSetWidth ) {
	var objImgContainer = document.getElementById(strBannerId + 'Text');
	if ( iSetWidth > 0 ) {
		objImgContainer.style.width = iSetWidth;
		if ( iSetWidth > 10 ) {
			shrinkBannerTO[strBannerId] = setTimeout( 'shrinkImgContainer("' + strBannerId + '",' + ( iSetWidth - iBannerStep ) + ')', 10);
		} else {
			bannerTO[strBannerId] = 0;
			shrinkBannerTO[strBannerId] = 0;
			if ( strCurrentBannerId == strBannerId ) strCurrentBannerId = '';
		}
	}
}

function shrinkBanner( strBannerId ) {
	var objImgContainer = document.getElementById(strBannerId + 'Text');
	if ( objImgContainer ) {
		var iImageWidth = parseInt(objImgContainer.style.width);
		if ( enlargeBannerTO[strBannerId] ) { clearTimeout(enlargeBannerTO[strBannerId]); enlargeBannerTO[strBannerId] = 0; }
		shrinkImgContainer( strBannerId, iImageWidth - 20 );
	}
}

function deactivateBannerTimer() {
	bannerTO[this.id] = setTimeout('shrinkBanner("' + this.id + '")', 50);
}


/* news */

var allNews = new Array();
var newsTO = 0;

function activateNews() {
	if ( newsTO ) { clearTimeout(newsTO); newsTO = 0; }
	for (var i = 0; i < allNews.length; i++) {
		var currentCell = document.getElementById( allNews[i] );
		if (currentCell) {
			if (currentCell.className.indexOf('last') >= 0) currentCell.className = 'banner last-inactive';
				else currentCell.className = ( allNews[i] == this.id )? 'banner active' : 'banner inactive';
		}
	}
}

function deactivateNews() {
	for (var i = 0; i < allNews.length; i++) {
		var currentCell = document.getElementById( allNews[i] );
		if (currentCell) {
			if (currentCell.className.indexOf('last') >= 0) currentCell.className = 'banner last';
				else currentCell.className = 'banner normal';
		}
	}
}

function deactivateTimer() {
	if ( newsTO ) { clearTimeout(newsTO); newsTO = 0; }
	newsTO = setTimeout('deactivateNews()', 50);
}


function init() {
	if (document.getElementById) {
		if (currentMenuItem) defaultMenuItem = currentMenuItem + 'Title';
		var menuTable = document.getElementById('mainMenuTable');
		if (menuTable) {
			var menuTitles = menuTable.getElementsByTagName('span');
			for (var i = 0; i < menuTitles.length; i++) {
				if (menuTitles.item(i).className == 'menu-item-title') {
					menuTitles.item(i).onmouseover = erectMenuItem;
					menuTitles.item(i).onmouseout = restoreDefault;
					var objSubMenu = document.getElementById('sub' + menuTitles.item(i).parentNode.parentNode.id);
					if (objSubMenu) {
						objSubMenu.onmouseover = cancelRestore;
						objSubMenu.onmouseout = restoreDefault;
					}
				}
			}
		}
//		if (!document.all || window.opera) {
			var bannersTable = document.getElementById('orangeBanners');
			if (bannersTable) {
				var bannerCells = bannersTable.getElementsByTagName('td');
				for (var i = 0; i < bannerCells.length; i++) {
					if (bannerCells.item(i).className.indexOf('banner') >= 0) {
						bannerCells.item(i).onmouseover = errectBanner;
						bannerCells.item(i).onmouseout = deactivateBannerTimer;
					}
				}
			}
//		}
		if (!window.opera) {
			var newsTable = document.getElementById('homeNews');
			if (newsTable) {
				var newsCells = newsTable.getElementsByTagName('td');
				for (var i = 0; i < newsCells.length; i++) {
					if (newsCells.item(i).className.indexOf('banner') >= 0) {
						if ( newsCells.item(i).id ) {
							newsCells.item(i).onmouseover = activateNews;
							newsCells.item(i).onmouseout = deactivateTimer;
							allNews[allNews.length] = newsCells.item(i).id;
						}
					}
				}
			}
		}
	}
}

addEvent( window, 'load', init );



/*****************************
**   Login Form
**   opening and closing
******************************/

function openLoginForm() {
	if ( document.getElementById('login-enter') ) document.getElementById('login-enter').style.display = 'none';
	if ( document.getElementById('login-enter-d') ) document.getElementById('login-enter-d').style.display = ( document.all && !window.opera )? 'block' : 'table-cell';
	if ( document.getElementById('login-form') ) document.getElementById('login-form').style.display = ( document.all && !window.opera )? 'block' : 'table-cell';
}

function closeLoginForm() {
	if ( document.getElementById('login-enter') ) document.getElementById('login-enter').style.display = ( document.all && !window.opera )? 'block' : 'table-cell';
	if ( document.getElementById('login-enter-d') ) document.getElementById('login-enter-d').style.display = 'none';
	if ( document.getElementById('login-form') ) document.getElementById('login-form').style.display = 'none';
}


/*****************************
**   Basket
**   showing and hiding
******************************/

function drawBasket( bWrite ) {
	var iBasketItems = parseInt( getCookie('basket_items') );
	var iBasketSumma = parseFloat( getCookie('basket_summa') );
	strBasketSumma = FormatSummaPrice(iBasketSumma);
	/* cookie fix */
	if ( isNaN( iBasketItems ) ) {
		iBasketItems = 0;
		getCookie('basket_items', 0, null, '/');
	}
	var strBasket = '';
	if ( iBasketItems > 0 ) {
		strBasket = '<div id="basketDiv"><font class=mTitle>';
		if ( strBasketHref && strBasketHref != '' ) strBasket += 'В <a href="' + strBasketHref + '">';
		strBasket += 'корзине';
		if ( strBasketHref && strBasketHref != '' ) strBasket += '</a>';
		strBasket += ' <b>' + iBasketItems + '</b> товаров на сумму <b style=\'color:#FF0000\'>' + strBasketSumma +'</b> руб.</font></div>';
	} else {
		strBasket = '<img src="/img/basket.gif" width="15" height="15" /> <font class=mTitle>- Корзина пуста.</font>';
	}

	if ( bWrite ) {
		document.write(strBasket);
	} else {
		var objBasketContainer = document.getElementById('basketContainer');
		objBasketContainer.innerHTML = strBasket;
	}
}
