﻿
// складываем списки ----------------------------------------------------------------------------------

var listElemId = 0;
var firstLevelUl;
function foldLists() {
	var elem, ul;
	var h3Arr = document.getElementsByTagName('H3');
	for (var i in h3Arr) {
		elem = h3Arr[i];
		if (elem.innerHTML == 'Рубрики' 
		 || elem.innerHTML == 'Страницы' 
		 || elem.innerHTML == 'Последние комментарии'
		 || elem.innerHTML == 'Популярное'
		 || elem.innerHTML == 'Найти рецепт по...') {
			if (elem.innerHTML == 'Найти рецепт по...') { continue; }
			ul = elem; do ul = ul.nextSibling; while (ul.nodeName != 'UL')
			if (elem.innerHTML == 'Последние комментарии') 		{ foldLastComments(ul); continue; }
			if (elem.innerHTML == 'Популярное') 							{ foldPopular(ul); continue; }
			numListLevels = 0;
			firstLevelUl = ul;
			listWalkRecursive('h3', ul);
			
			if (elem.innerHTML == 'Страницы') {
				var eShop = document.getElementById('a-e-shop');
				if (eShop != null) {
					do eShop = eShop.nextSibling; while (eShop.nodeName != 'UL')
					if (eShop.style.display != 'block') foldUnfoldList(eShop.id.substr(5));
				}
			}
		}
	}
	// карта сайта
	var h2Arr = document.getElementsByTagName('H2');
	for (var i in h2Arr) {
		elem = h2Arr[i];
		if (elem.innerHTML == 'Публикации' || elem.innerHTML == 'Страницы') {
			ul = elem; do ul = ul.nextSibling; while (ul.nodeName != 'UL')
			listWalkRecursive('h2', ul);
		}
	}
}

function listWalkRecursive(listType, ul) {
	var li, a, subUl, icon, parentPath, parentUl;
	if (ul.parentNode.parentNode != firstLevelUl) numListLevels ++;
	for (var j in ul.childNodes) {
		if (ul.childNodes[j].nodeName == 'LI') {
			li = ul.childNodes[j];
			for (var k in li.childNodes) {
				if (li.childNodes[k].nodeName == 'A') {
					a = li.childNodes[k];
					if (a.innerHTML == 'Интернет-магазин') // для расрытия первого подуровня Интернет-магазина
						a.id = 'a-e-shop';
					if (a.href == document.location) {
						a.style.borderLeftColor = '#72BF44';
						parentPath = '.parentNode.parentNode';
						for (var m = 0; m < numListLevels; m ++) {
							if (eval('a'+parentPath).style.display == 'none') {
								eval('a'+parentPath).style.display = 'block';
								document.getElementById('icon_'+(listElemId - m)).src = foldImg.src;
							}
							parentPath += '.parentNode.parentNode';
						}
					}
				}
				else if (li.childNodes[k].nodeName == 'UL') {
					subUl = li.childNodes[k];
					listElemId ++;
					subUl.id = 'elem_'+listElemId;
					subUl.style.display = 'none';
					icon = genIcon(listType);
					li.insertBefore(icon, li.firstChild);
					listWalkRecursive(listType, subUl);
					break;
				}
			}
		}
	}
}

function foldLastComments(ul) {
	var li, a, txt, arr = [], elem, titleArr = [], txtArr = [], icon, block, div;
	for (var i in ul.childNodes) {
		if (ul.childNodes[i].nodeName == 'LI') {
			li = ul.childNodes[i];
			for (var j in li.childNodes) {
				if (li.childNodes[j].nodeName == 'A') {
					a = li.childNodes[j];
					if (arr[a.href] == null) {
						arr[a.href] = [];
						arr[a.href]['link'] = a.innerHTML;
						arr[a.href]['title'] = a.title;
					}
					else arr[a.href]['title'] = arr[a.href]['title']+'#mark#'+a.title;
				}
				else if (li.childNodes[j].nodeName == '#text') {
					txt = li.childNodes[j];
					arr[a.href]['txt'] = (arr[a.href]['txt'] == null) ? txt.nodeValue : arr[a.href]['txt']+'#mark#'+txt.nodeValue;
				}
			}
		}
	}
	ul.innerHTML = '';
	for (var href in arr) {
		listElemId ++;
		li = document.createElement('LI');
		icon = genIcon('h3');
		li.appendChild(icon);
		a = document.createElement('A');
		a.href = href;
		txt = document.createTextNode(arr[href]['link']);
		a.appendChild(txt);
		li.appendChild(a);
		block = document.createElement('DIV');
		block.id = 'elem_'+listElemId;
		block.style.display = 'none';
		if (arr[href]['title'].indexOf('#mark#') != -1) {
			titleArr = arr[href]['title'].split('#mark#');
			txtArr = arr[href]['txt'].split('#mark#');
			for (var i in titleArr) {
				div = document.createElement('DIV');
				div.title = titleArr[i];
				txt = document.createTextNode(txtArr[i]);
				div.appendChild(txt);
				block.appendChild(div);
			}
		}
		else {
			block.title = arr[href]['title'];
			txt = document.createTextNode(arr[href]['txt']);
			block.appendChild(txt);
		}
		li.appendChild(block);
		ul.appendChild(li);
	}
}

function foldPopular(ul) {
	var li, slct, opt, txt;
	slct = document.createElement('SELECT');
	slct.style.width = '175px';
	opt = document.createElement('OPTION');
	txt = document.createTextNode('Выберите из списка');
	opt.appendChild(txt);
	slct.appendChild(opt);
	for (var i in ul.childNodes) {
		if (ul.childNodes[i].nodeName == 'LI') {
			li = ul.childNodes[i];
			for (var j in li.childNodes) {
				if (li.childNodes[j].nodeName == 'A') {
					a = li.childNodes[j];
					opt = document.createElement('OPTION');
					opt.value = a.href;
					opt.title = a.innerHTML;
					txt = document.createTextNode(a.innerHTML);
					opt.appendChild(txt);
					slct.appendChild(opt);
				}
			}
		}
	}
	slct.onchange = new Function('document.location = this.value');
	ul.parentNode.insertBefore(slct, ul);
	ul.parentNode.removeChild(ul);
}

function foldRecipe(elem) {
	var div = elem; do div = div.nextSibling; while (div.nodeName != 'DIV')
	div.style.overflow = 'auto';
	div.style.direction = 'rtl';
	div.style.textAlign = 'left';
	div.style.height = '200px';
	div.style.marginTop = '5px';
	div.style.padding = '0 5px';
}

function genIcon(listType) {
	if (document.images) {
		var icon;
		icon = document.createElement('img');
		icon.id = 'icon_'+listElemId;
		icon.src = unfoldImg.src;
		icon.style.width = '9px';
		icon.style.height = '9px';
		icon.style.position = 'absolute';
		icon.style.marginLeft = (listType == 'h3') ? '-7px' : '-17px';
		icon.style.marginTop = '4px';
		icon.style.cursor = 'pointer';
		icon.onclick = new Function('foldUnfoldList('+listElemId+'); return false;');
		return icon;
	}
	return false;
}

function foldUnfoldList(id) {
	var elem = document.getElementById('elem_'+id);
	var icon  = document.getElementById('icon_'+id);
	if (elem.style.display == 'none') {
		elem.style.display = 'block';
		icon.src = foldImg.src;
	}
	else {
		elem.style.display = 'none';
		icon.src = unfoldImg.src;
	}
}



// добавляем баннер -----------------------------------------------------------------------------------------------

adsAppearingStep = 5;
function adsAppearing() {
	adsDiv.style.height = adsAppearingStep+'px';
	middleColumn.style.marginTop = adsAppearingStep + 20+'px';
	rightColumn.style.marginTop = adsAppearingStep + 20+'px';
	adsAppearingStep += 5;
	if (adsAppearingStep > 100) return;
	else setTimeout('adsAppearing()', 10);
}

function adBanner() {
	if (document.location['pathname'] != '/') return;
	
	var headerImage = document.getElementById('headerimage');
	middleColumn = document.getElementById('middle-column');
	rightColumn  = document.getElementById('right-column');
	
	adsDiv = document.createElement('div');
	adsDiv.style.position = 'absolute';
	adsDiv.style.left = 260+'px';
	adsDiv.style.top = headerImage.offsetTop + 140+'px';
	adsDiv.style.background = '#F4F4F4';
	adsDiv.style.width = headerImage.offsetWidth - 220+'px';
	document.body.appendChild(adsDiv);
	
	adsA = document.createElement('a');
	adsA.href = 'http://www.life-expo.ru/';
	adsA.target = '_blank';
	adsA.style.position = 'absolute';
	adsA.style.left = 260 + (adsDiv.offsetWidth - 600) / 2+'px';
	adsA.style.top = adsDiv.offsetTop + 5+'px';
	document.body.appendChild(adsA);

	adsImg = document.createElement('img');
	adsImg.style.border = '0';
	adsImg.src = '/banner600x90.gif';
	adsA.appendChild(adsImg);
	
	adsAppearing();
}	



function defaultSearchBox() {
	var searchForm = document.getElementById('search_form');
	searchForm.s.style.color = '#CCC';
}

// выделяем интернет-магазин ------------------------------------------------------------------

function emphIShop() {
	iShopDiv = document.getElementById('modernbricksmenu');
	findIShopARec(iShopDiv);
}

function findIShopARec(elem) {
	var child;
	if (elem.childNodes) {
		for (var i = 0; i < elem.childNodes.length; i ++) {
			child = elem.childNodes[i];
			if (child.nodeName && child.nodeName == 'A' && child.href.indexOf('/shop/') != -1) child.className = 'i_shop';
			findIShopARec(child);
		}
	}
}

// прячем результаты опроса плагина Poll ------------------------------------------------------

function hidePoll() {
	var elem = document.getElementById('thanks_from_poll');
	if (elem != null) elem.style.display = 'none';
}