	


var ajax = getRequest();
var now_checked_group = '';


function hide_source_comp_info()
{ 
	//alert();
	document.getElementById("search_comp_calc_info").style.display = 'none';
}  



function defPosition(event) {
      var x = y = 0;
      if (document.attachEvent != null) { // Internet Explorer & Opera
            x = window.event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
            y = window.event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
      } else if (!document.attachEvent && document.addEventListener) { // Gecko
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
      } else {
            // Do nothing
      }
      return {x:x, y:y};
}


function comp_chars_parse(now_check_group)
{

	// определяем выбранную группу

	document.getElementById("search_comp_calc_info").innerHTML = '<center><img src="/img/timer20.gif"> Ищу варианты...</center>';
	document.getElementById("search_comp_calc_info").style.display = '';
	//document.getElementById("search_comp_calc_info").style.top = 300;

	now_checked_group = now_check_group;
	now_checked_group = now_checked_group.replace(/group_/i, '');

	var c = 0;
	var forms_value = '';

	// определяем выделенные девайсы

	for(i=0; i<document.forms['search_comp_form'].length; i++)
	{
		if(document.forms['search_comp_form'].elements[i].type == 'checkbox' && document.forms['search_comp_form'].elements[i].checked == true)
		{
			++c;
			var form_name = document.forms['search_comp_form'].elements[i].name;
			forms_value += document.forms['search_comp_form'].elements[i].value+'&';
		}
	}

	//отправляем на выборку компов с выделенными девайсами


	if(forms_value)
	{

		var ypos = 300;
		
		if(navigator.appVersion.indexOf('IE') >= 0)
		{
			ypos = event.y;
		}
		else
		{
			ypos = window.scrollY - 600;
		}

		document.getElementById("search_comp_calc_info").style.top = ypos;

		get_comp_chars_from(forms_value);
	}
}




function get_comp_chars_from(forms_data)
{

	var url = '/cgi-bin/scripts/catalog_comp_chars_parser.pl?'+Math.random();

	ajax.abort();
	ajax.open("POST", url, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Accept-Language", "ru, en");
	ajax.setRequestHeader("Accept-Charset", "windows-1251;q=1");

	ajax.onreadystatechange = function() 
	{
		if (ajax.readyState == 4 && ajax.status == 200)
		{
			comp_chars_parse_process(ajax.responseText);
		}
	}

	ajax.send(forms_data);
}







function comp_chars_parse_process(results)
{
	if(results)
	{
		document.getElementById("search_comp_calc_info").innerHTML = '<center><img src="/img/timer20.gif"> Проверяю совместимость...</center>';

		// если что-то выбралось

		var prods_control = Array();
		var prods_control_str = Array();

		// заливаем результат в массив по пробелу

		prods_control = results.split(" ");

		for(i=0; i<=prods_control.length; i++)
		{
			if(prods_control[i])
			{
				prods_control_str[prods_control[i]] = 1;

			}
		}

		var group_list = Array();

		// берём все номера групп

		var form_data = '';
		var checked_forms = '';

		for(i=0; i<document.forms['search_comp_form'].length; i++)
		{
			var name = document.forms['search_comp_form'].elements[i].name;
			var name1 = name.replace(/group_/i, '');
			
			if(name1)
			{
				group_list[name1] = 1;
			}

			if(document.forms['search_comp_form'].elements[i].checked)
			{
				checked_forms += document.forms['search_comp_form'].elements[i].name+'='+document.forms['search_comp_form'].elements[i].value+'&';
			}
		}


		var group_list_aval = Array();
		var a = 0;

		//пробегаем по номерам групп, чтоб понять какую можно менять (если больше активной)

		var checked_group = Array();

		for(i=0; i<document.forms['search_comp_form'].length; i++)
		{
			if(document.forms['search_comp_form'].elements[i].type == 'checkbox')
			{
				var val = document.forms['search_comp_form'].elements[i].value;
				var name = document.forms['search_comp_form'].elements[i].name;
				var group_num = name.replace(/group_/i, '');
				
				if(group_num > now_checked_group)
				{
					if(prods_control_str[val])
					{
						document.forms['search_comp_form'].elements[i].disabled = false;
						document.getElementById('form_title_'+val).style.color = '#000000';
					}
					else
					{
						document.forms['search_comp_form'].elements[i].disabled = true;
						document.forms['search_comp_form'].elements[i].checked = false;
						document.getElementById('form_title_'+val).style.color = '#aaaaaa';
					}
				}
			}
		}
		


		get_comp_calc(checked_forms);

		//document.getElementById("search_comp_timer_div").style.zIndex = 1;
	
	}

}



function get_comp_calc(forms_data)
{


//	ajax.abort();


	var ajax = getRequest();

	if(ajax)
	{
		var url = '/cgi-bin/scripts/catalog_comps_search_calc.pl?'+forms_data+'&'+Math.random();

		ajax.open("GET", url, true);
		ajax.setRequestHeader("Accept-Language", "ru, en");
		ajax.setRequestHeader("Accept-Charset", "windows-1251;q=1");

		ajax.onreadystatechange = function() 
		{
			if (ajax.readyState == 4 && ajax.status == 200)
			{
				show_calc_comp(ajax.responseText);
			}
		}

		ajax.send(null);

	}




}




function show_calc_comp(comp_cols)
{
	var comp_cols = Math.abs(comp_cols);

	document.getElementById("search_comp_calc_info").innerHTML = '<nobr>Конфигураций найдено: <b>'+comp_cols+'</b></nobr>';

	if(comp_cols > 0)
	{
		document.getElementById("search_comp_calc_info").innerHTML += '<br><br>[ <a href="javascript:document.forms[\'search_comp_form\'].submit()">показать</a> ] &nbsp [ <a href="javascript:hide_source_comp_info()">скрыть</a> ]';
	}
}


function clear_search_comp_form()
{
	var first_group = 0;
	var a = 0;
	var clear_aval = 0;

	for(i=0; i<document.forms['search_comp_form'].length; i++)
	{
		var val = document.forms['search_comp_form'].elements[i].value;
		var name = document.forms['search_comp_form'].elements[i].name;
		var group_num = name.replace(/group_/i, '');

		if(val && document.forms['search_comp_form'].elements[i].type == 'checkbox')
		{
			if(group_num != first_group)
			{
				first_group = group_num;
				++a;
			}

			if(a == 1)
			{
				if(val > 0)
				{
					document.getElementById('form_title_'+val).style.color='#000000';
					document.forms['search_comp_form'].elements[i].disabled = false;
					document.forms['search_comp_form'].elements[i].checked = false;
				}
			}
			else
			{
				document.getElementById('form_title_'+val).style.color='#aaaaaa';
				document.forms['search_comp_form'].elements[i].disabled = true;
				document.forms['search_comp_form'].elements[i].checked = false;
			}
		}
	}

}





//--- AJAX



function getRequest()
{
	var request = null;

	try
	{
		request = new XMLHttpRequest();
	}
	catch (trymicrosoft)
	{
		try
		{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(othermicrosoft)
		{
			try
			{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (failed)
			{
				request = null;
			}
		}
	}

	if (request == null)
	{
		alert("Error creating Ajax-object");
	}
	else
	{
		return request;
	}
}



function get_xml_obj(xml_in) {
	if (window.DOMParser) {
		xml_obj = (new DOMParser()).parseFromString(xml_in, "text/xml");
	} else if (window.ActiveXObject) {
		var xml_obj = new ActiveXObject("Msxml2.DOMDocument.3.0");
		xml_obj.loadXML(xml_in);
	}
	return xml_obj;
}


