//	определяем объект на котором произошел event

	function getEventTarget(e) 
	{
		var e = e || window.event;
		var targ = e.target || e.srcElement;
		while (targ.nodeType == 3) 
		{ // боремся с Safari и вложенностью
			targ = targ.parentNode;
		}
		return targ;
	}

//	определяем есть ли в названии id нужная нам строка

	function tar_num(id, prefix)
	{

		if (id != '[object HTMLInputElement]')
		{

			if (id.search(prefix) == 0 && id != prefix)
			{
				prefix_length = prefix.length;
				return id.substring(prefix_length);
			}else{
			
				return '';
			}
		}else{
			return '';
		}
		
	}


//	выбранный раздел

	var section_select = '';

//	номер выбранного результата в списке подсказок для поиске
	var target_num = '';
	var prefix_array = new Array ('result_div_', 'brnd_list_');


//	объект обрабатывающий события

	var qqq = {

		init:	function() 
			{

				document.body.onclick = function(e)
				{
					var target = getEventTarget(e);
					

					// дописываем номер сессии если необходимо

					if (sess_id)
					{

						if ((target.tagName == 'IMG' || target.tagName == 'SPAN' || target.tagName == 'STRONG') && target.parentNode.href && !target.parentNode.hash)
						{

//							alert (target.parentNode.href.length);

							if (target.parentNode.href.length > 18)
								target.parentNode.href += target.parentNode.href.search('sess') == -1 && target.parentNode.href.search('superbig') == -1 ? '&sess='+sess_id : '';
							else
								target.parentNode.href += target.parentNode.href.search('sess') == -1 ? '?sess='+sess_id : '';

						}
						else if (target.tagName == 'DIV' && target.firstChild.href && !target.firstChild.hash)
						{

							if (target.firstChild.href.length > 18)
							{
								target.firstChild.href += target.firstChild.href.search('sess') == -1 ? '&sess='+sess_id : '';
							}	
							else
								target.href += target.firstChild.href.search('sess') == -1 ? '?sess='+sess_id : '';

						}
						else if (target.href && !target.hash && target.tagName != 'IMG')
						{

							if (target.href.length > 18)
							{
								target.href += target.href.search('sess') == -1 ? '&sess='+sess_id : '';
							}	
							else
								target.href += target.href.search('sess') == -1 ? '?sess='+sess_id : '';
						
						}
					}


					if (target.id)
					{
					
						if (prefix_array)
						{
							target_num = '';

							for (var i = 0; i < prefix_array.length; i++)
							{
								target_num = tar_num(target.id, prefix_array[i]);

								if (target_num)  
								{
									target.id = prefix_array[i];
									break;
								}
							}
						}
																																																
					
						switch (target.id)
						{

							case 'err_bag':
								document.getElementById('quest').value = 'ошибка с корзиной';
							case 'err_code':
								document.getElementById('quest').value = document.getElementById('quest').value != '' ? document.getElementById('quest').value : 'error codepage';
							
								alert ('Спасибо за помощь, эта ошибка будет исправлена в ближайшее время');
								user_info('info');
								document.getElementById('err_frm').submit();
								break;
								
							case 'cart_top_href':
							case 'cart_top_img':
								user_sess('cart_top_href');
								break;

							case 'cart_bottom_href':
							case 'cart_bottom_img':
								user_sess('cart_bottom_href');
								break;
						
							case 'brnd_list_':
								target.id += target_num;
								window.location.href = document.getElementById('brnd_href_'+target_num).href;
								break;
						
							case 'frm_btn':
								document.getElementById('query2').value=document.getElementById('query').value;
								document.getElementById('result_form').submit();
								break;

							case 'result_div_':
								target.id += target_num;
								result_click(target.id);
								break;

							case 'list_sapros':
								chg('list_sapros', 'select');
								break;

							case 'query':
								chg('query', 'focus');
								break;
								
							case 'cart_save_btn':
								window.location.href = '/?action=bag&do=save';
								alert ('Ваш заказ сохранен.\nПри следующем посещении \'\'Медицинского Рынка\'\'\nнабранные Вами товары автоматически появятся\nв Вашей корзине.');
								break;

							default:
								chg('query', '');
								chg('list_sapros', 'unselect');
								break;
						}

					}else{
						chg('query', '');
						chg('list_sapros', 'unselect');
					}


					return true;
				};

				document.body.onmouseover = function(e)
				{
					var target = getEventTarget(e);


					// если указатель мыши наводится на любой элемент с id
					if (target.id)
					{

						target_num = tar_num(target.id, 'result_div_');

						if (target_num != '')
						{
							target.id = 'result_div_';
						}else{


							target_num = tar_num(target.id, 'brnd_href_');
							if (target_num != '')
							{
								target.id = 'brnd_href_';
							}
							else
							{

								target_num = tar_num(target.id, 'brnd_list_');
								if (target_num != '')
									target.id = 'brnd_list_';
							}
						}

						switch (target.id)
						{
						
							case 'info_addr':
								chg ('col4_addr', 'select');
								break;
								
							case 'result_div_':
								target.id += target_num;
								chg(target.id, 'result_select')
								break;

							case 'brnd_list_':
							case 'brnd_href_':
								target.id += target_num;
								chg('brnd_list_'+target_num, 'brand_select');
								break;

							case 's1':
							case 's2':
							case 's3':
							case 's4':
							case 's5':
							case 's6':
							case 's7':
							case 's8':
							case 's9':
								
								document.getElementById('info_line_blink').innerHTML = '<div>'+document.getElementById(target.id).name+'</div><img src="/img/c2.gif">';
								chg('info_line_blink', target.id+'_bg');
								chg('info_line_section', 'unselect');
								break;

							default:
								break;
						}
					}
					return true;
				};

				document.body.onmouseout = function(e)
				{
					var target = getEventTarget(e);


					// если указатель мыши снимается с любого элемента у которого определен id

					if (target.id)
					{

						target_num = tar_num(target.id, 'result_div_');
						if (target_num != '')
						{
							target.id = 'result_div_';
						}else{
					

							target_num = tar_num(target.id, 'brnd_href_');
							if (target_num != '')
							{
								target.id = 'brnd_href_';
							}
							else
							{
								target_num = tar_num(target.id, 'brnd_list_');

								if (target_num != '')
									target.id = 'brnd_list_';
							}
						}

						switch (target.id)
						{

							case 'info_addr':
								chg ('col4_addr', 'unselect');
								break;

							case 'result_div_':
								target.id += target_num;
								chg(target.id, 'result');
								break;

							case 'brnd_list_':
							case 'brnd_href_':
								target.id += target_num;
								chg('brnd_list_'+target_num, 'brand');
								break;

							case 's1':
							case 's2':
							case 's3':
							case 's4':
							case 's5':
							case 's6':
							case 's7':
							case 's8':
							case 's9':
								chg('info_line_blink', 'unselect');
								chg('info_line_section', 'select');
								break;

							default:
								break;
						}

					}
					return true;
				};


			}
	}
