function showMenu(code, level)
{
	var tm = document.getElementById('top_menu_div');
	var timer = tm.getAttribute('timer', timer);
	if(timer)
	{
		clearTimeout(timer);
	}
	
	var child = tm.getElementsByTagName('div');
	for(var i=0; i<child.length; i++)
	{
		if(child[i].id.substr(0, 4)=='tm1_')
		{
			child[i].className = '';
		}
	}
	document.getElementById('tm1_'+code).className = 'active';
}

function hideMenu(code, level)
{	
	var timer = setTimeout(function()
						{
							document.getElementById('tm1_'+code).className = '';
						}, 1000);
	document.getElementById('top_menu_div').setAttribute('timer', timer);
	document.getElementById('tm1_'+code).className = '';
}

/*Движение слайдера*/
function moveSlider(id, course, e)
{
	//определяем кнопку, по которой кликнули
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;

	//php-скрипт для ajax-запроса
	var phpScript = "/usr/extensions/ajax/slider.php";
	//подвижная часть
	var slider = $('#'+id);
	//буфер
	var buffer = document.getElementById(id+'_buffer');
		
	//если слайдер сейчас в движении, то ничего не делаем
	if(slider.attr('moving')==1) return;
	slider.attr('moving', 1);
	
	//елементы внутри слайдера
	var items = $('#'+id+' > div.item');
	
	/*Определяем шаг движения*/
	var step;
	if(course=='up')
	{
		step = -items[0].offsetHeight;
	}
	if(course=='down')
	{
		step = items[0].offsetHeight;
	}
	if(course=='left')
	{
		step = -items[0].offsetWidth;
	}
	if(course=='right')
	{
		step = items[0].offsetWidth;
	}
	/*/Определяем шаг движения*/
	
	/*Текущее отклонение*/
	if(course=='up' || course=='down')
	{
		var attr = 'marginTop';
		var shift = parseInt(slider.css(attr));
		var showLength = slider[0].parentNode.offsetHeight;
	}
	if(course=='left' || course=='right')
	{
		var attr = 'marginLeft';
		var shift = parseInt(slider.css(attr));
		var showLength = slider[0].parentNode.offsetWidth;
	}
	/*/Текущее отклонение*/
	
	if(!shift) shift = 0;
	var newShift = shift + step;
	var absStep = Math.abs(step);
	
	/*Проверяем, нужно ли подгружать данные*/
	if(buffer)
	{
		/*Подгружаем новые элементы*/
		if(slider.attr('loading')!=1)
		{
			/*если нет подгруженных элементов, то останавлисаем слайдер*/
			if((step > 0 && newShift > 0) || (step < 0 && (items.length*absStep+newShift+absStep) < showLength))
			{
				targ.className = targ.className + ' inactive';
				slider.attr('moving', 0);
				return false;
			}
			/*/если нет подгруженных элементов, то останавлисаем слайдер*/			
			
			if(step > 0 && Math.abs(newShift) < 3*absStep)
			{
				slider.attr('loading', 1);
				var cnt = parseInt(items[0].getAttribute('title'));
				$.post(phpScript, { limit: (cnt-6)+",5"},
				  function(data){
					if(slider.attr('moving')==1)
					{
						buffer.innerHTML = data;
						buffer.setAttribute('pos', 'begin');
						//alert(data);
					}
					else
					{
						slider[0].innerHTML = buffer.innerHTML + slider[0].innerHTML;
						slider.css(attr, newShift - step*5);
					}
					slider.attr('loading', 0);
					
					if(data.length > 0)
					{
						targ.className = targ.className.replace('inactive', '');
					}
				  });
			}

			if(newShift < 0 && ((items.length*absStep+newShift) < showLength+3*absStep))
			{
				slider.attr('loading', 1);
				var cnt = parseInt(items[items.length-1].getAttribute('title'));
				$.post(phpScript, { limit: cnt+",5"},
				  function(data){
					if(slider.attr('moving')==1)
					{
						buffer.innerHTML = data;
						buffer.setAttribute('pos', 'end');
					}
					else
					{
						slider[0].innerHTML = slider[0].innerHTML + buffer.innerHTML;
					}
					slider.attr('loading', 0);
					
					if(data.length > 0)
					{
						targ.className = targ.className.replace('inactive', '');
					}
				  });
			}
		}
		/*/Подгружаем новые элементы*/
	}
	else if($("#horiz_slider").attr('loop')!='n')
	{
		/*Если новые элементы не подгружаются, то перемещаем из начала в конец или наоборот*/
		if(newShift > 0)
		{
			$('#'+id+' > div.item:last').remove().insertBefore('#'+id+' > div.item:first');
			newShift = shift;
			slider.css(attr, shift - step);
		}
		
		if(newShift < 0 && ((items.length*absStep+newShift) < showLength+absStep))
		{
			$('#'+id+' > div.item:first').remove().insertAfter('#'+id+' > div.item:last');
			newShift = shift;
			slider.css(attr, shift - step);
		}
		/*/Если новые элементы не подгружаются, то перемещаем из начала в конец или наоборот*/
	}
	else
	{
		/*если нет подгруженных элементов, то останавливаем слайдер*/
		if((step > 0 && newShift > 0) || (step < 0 && (items.length*absStep+newShift) < showLength))
		{
			targ.className = targ.className + ' inactive';
			slider.attr('moving', 0);
			return false;
		}
		/*/если нет подгруженных элементов, то останавливаем слайдер*/		
	}
	
	/*Настройки анимации*/
	if(course=='up' || course=='down')
	{
		var settings = {
					'marginTop': newShift
					};
	}
	if(course=='left' || course=='right')
	{
		var settings = {
					'marginLeft': newShift
					};
	}
	/*/Настройки анимации*/	

	$('#'+id+'_outer a').removeClass('inactive');
	slider.animate(settings, "easein", function(){
													slider.attr('moving', 0);
													
													/*если нет подгруженных элементов, то деактивируем кнопки*/
													if((buffer || $("#horiz_slider").attr('loop')=='n') && ((step > 0 && newShift+absStep > 0) || (step < 0 && (items.length*absStep+newShift-absStep) < showLength)))
													{
														targ.className = targ.className + ' inactive';
													}
													/*/если нет подгруженных элементов, то деактивируем кнопки*/
													
													/*Подгружаем новые элементы*/
													if(buffer && buffer.innerHTML.length > 0)
													{
														if(buffer.getAttribute('pos')=='begin')
														{
															slider[0].innerHTML = buffer.innerHTML + slider[0].innerHTML;
															slider.css(attr, newShift - step*5);
														}
														else
														{
															slider[0].innerHTML = slider[0].innerHTML + buffer.innerHTML;
														}
														buffer.innerHTML = '';
														targ.className = targ.className.replace('inactive', '');
													}
													/*/Подгружаем новые элементы*/
													
													/*Удаляем старые элементы*/
													if(step < 0 && newShift < step*10)
													{
														$('#'+id+' > div.item:first').remove();
														slider.css(attr, newShift - step);
													}
													if(step > 0 && ((items.length*absStep+newShift) > showLength+10*absStep))
													{
														$('#'+id+' > div.item:last').remove();
													}
													/*/Удаляем старые элементы*/
												});
}
/*/Движение слайдера*/
/*Движение слайдера с биатлоном*/
function islider_move(id, course, cnt)
{
	var slider = $('#'+id+'_moby');
	var nStep = slider[0].getElementsByTagName('td')[0].offsetWidth;
	var step = nStep;
	var shift = (parseInt(slider.attr('ml')) || 0);
	var current = parseInt(Math.abs(shift)/step);
	if(course==0)
	{
		step = (current-cnt)*step;
	}
	else
	{
		step = course*step;
		cnt = current - course;
	}
	var newShift = shift + step;
	
	//проверяем можно ли двигать
	var isMoving = slider.attr('moving');
	if(isMoving==1)
	{
		slider.attr('cnt', cnt);
		return false;
	}
	
	slider.attr('moving', 1);
	slider.attr('ml', newShift);
	
	/*Обнуляем таймер, потом снова поставим*/
	var timer = slider.attr('timer');
	if(timer)
	{
		clearTimeout(timer);
		slider.removeAttr('timer');
	}
	/*/Обнуляем таймер, потом снова поставим*/
	
	/*Если образуется пустое пространство, то заполняем*/
	var tr = slider[0].getElementsByTagName('tr')[0];
	var cc = tr.cells.length;
	var c = step*cc;
	if(newShift > 0)
	{
		var cell = tr.insertCell(-1);
		cell.innerHTML = tr.cells[0].innerHTML;
		cell.getElementsByTagName('img')[0].src = tr.cells[0].getElementsByTagName('img')[0].src;
		slider[0].style.marginLeft = newShift - c - step;
		newShift = newShift - c;
		slider.attr('ml', newShift);
		slider.attr('delete', -1);
	}
	if(newShift < -slider[0].offsetWidth + 1)
	{
		var cell = tr.insertCell(0);
		cell.innerHTML = tr.cells[tr.cells.length-1].innerHTML;
		cell.getElementsByTagName('img')[0].src = tr.cells[tr.cells.length-1].getElementsByTagName('img')[0].src;
		slider[0].style.marginLeft = newShift - c;
		newShift = newShift - c + step;
		slider.attr('ml', newShift);
		slider.attr('delete', 0);
	}
	/*/Если образуется пустое пространство, то заполняем*/
	
	/*Загружаем картинку, если нужно*/
	cnt = (cnt + cc)%cc;
	img = tr.cells[cnt].getElementsByTagName('img')[0];
	if(img.alt!=img.title)
	{
		var oImg = new Image();
		oImg.onload = function(){
									img.src = oImg.src;
									img.title = img.alt;
								}
		oImg.src = img.title;
	}
	/*/Загружаем картинку, если нужно*/
	
	var settings = {
					'marginLeft': newShift
				};
	
	slider.animate(settings, "easein", function(){
													slider.attr('moving', 0);
													
													/*если нужно удалить лишнюю ячейку, то удаляем*/
													var del = slider.attr('delete');
													if(del)
													{
														slider.removeAttr('delete');
														slider[0].getElementsByTagName('tr')[0].deleteCell(del);
														if(del==0)
														{
															var ml = parseInt(slider.attr('ml')) + nStep;
															slider.attr('ml', ml);
															slider[0].style.marginLeft = ml;
														}
													}
													/*/если нужно удалить лишнюю ячейку, то удаляем*/
													
													/*если пришло действие, то делаем*/
													var cnt = slider.attr('cnt');
													if(cnt)
													{
														slider.removeAttr('cnt');
														islider_move(id, 0, cnt);
													}
													else
													{
														var timeout = slider.attr('timeout');
														var timer = setTimeout(function(){islider_move(id, -1);}, timeout);
														slider.attr('timer', timer);
													}
													/*/если пришло действие, то делаем*/
												});
												
	var links = $('.biathlon a');
	if(links.length > 0)
	{
		links.removeClass('active');
		links[cnt].className = 'active';
	}
}
/*/Движение слайдера с биатлоном*/
function showPopupRating(id)
{
	if(id)
	{
		$('#'+id).show();
		$('#'+id+'_shade').show('slow', function(){$('#'+id+'_shade').css('opacity', 0.6)});
	}
	else
	{
		$('#add_rating_block').show();
		$('#add_rating_block_shade').show('slow', function(){$('#add_rating_block_shade').css('opacity', 0.6)});
	}
}

function hidePopupRating(id)
{
	if(id)
	{
		$('#'+id).hide();
		$('#'+id+'_shade').hide();
	}
	else
	{
		$('#add_rating_block').hide();
		$('#add_rating_block_shade').hide();
	}
}

function setRating(input)
{
	var parent = input.parentNode;
	var inputs = parent.getElementsByTagName('input');
	for(var i=0; i<inputs.length; i++)
	{
		inputs[i].src = inputs[i].src.replace('_r.gif', '.gif');
	}
	for(var i=0; i<inputs.length; i++)
	{
		inputs[i].src = inputs[i].src.replace('.gif', '_r.gif');
		if(inputs[i].value==input.value)
		{
			document.ratingForm.rating.value = input.value*2;
			break;
		}
	}
}

function updateColors(tone)
{
	var form = tone;
	while(form.tagName!='FORM')
	{
		form = form.parentNode;
	}
	
	$.post('/usr/extensions/ajax/_get_colors.php', {tone: tone.value, color: form.color.value},
	  function(data){
		document.getElementById('colors_place').innerHTML = data;
	  });
}

function putInBasket(form)
{
	form.action = "/usr/extensions/ajax/put_in_basket.php";
	form.target = 'hidden_frame';
	return true;
}

function prepareEntryForm()
{
	if(document.body.attachEvent)
	{
		document.body.attachEvent("onkeypress", checkbodykeypress);
	}
}

function unPrepareEntryForm()
{
	if(document.body.detachEvent)
	{
		document.body.detachEvent("onkeypress", checkbodykeypress);
	}
}
