<!--

function applyHandler(o, e, f) { 
  e = (e instanceof Array) ? (arguments.callee(o, e[1], f), e[0]) : e; 
  return (o.attachEvent) ? o.attachEvent(e, f) : (o.addEventListener) ? 
    o.addEventListener(e.substr(2), f, false) : false;
}


function showsstext(e) {
	
	var el = (e = e || event).target || e.srcElement;
	el = el.parentNode;
	if (el.className == 'subheading')
		el = el.parentNode;
	
	var tables, cur_sst;
	if (el.parentNode.id == 'substep_desc') {
		tables = el.parentNode.getElementsByTagName('TABLE');
		cur_sst = el.getElementsByTagName('TABLE');
		if (cur_sst.length == 1)
			cur_sst = cur_sst[0];
		else if (cur_sst.length > 1)
			for (c = 0; c < cur_sst.length; c++)
				if (cur_sst.className == 'substep') {
					cur_sst = cur_sst[c];
					break;
				}
		else
			cur_sst = false;
			
		for (a = 0; a < tables.length; a++)
			if (tables[a].className == 'substep') {
				if (tables[a] == cur_sst) {
					if (cur_sst.style.display == 'block')
						cur_sst.style.display = 'none';
					else
						cur_sst.style.display = 'block';
				}
				else
					tables[a].style.display = 'none';
				
			}
	}
	
	return (e.preventDefault) ? e.preventDefault() : e.returnValue = false;
	
}


function showsspic(e) {

	var el = (e = e || event).target || e.srcElement;
	if (el.tagName == 'IMG') {
		if (el.className == 'bigphoto')
			el.style.display = 'none';
		
		if (el.className == 'smallphoto') {
			var p = el.parentNode.parentNode.parentNode;
			h = p.getElementsByTagName('DIV');
			var imgs = h[0].getElementsByTagName('IMG');
			var bigimgs = h[1].getElementsByTagName('IMG');
			for (a = 0; a < imgs.length; a++)
				if (el == imgs[a])
					break;
			
			var mouse_x, mouse_y;
			if (e.pageX || e.pageY) {
				mouse_x = e.pageX;
				//corr_x = e.layerX;
				mouse_y = e.pageY;
				//corr_y = e.layerY;
			}
			else if (e.clientX || e.clientY) {
				mouse_x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
			//	corr_x = e.offsetX;
				mouse_y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
			//	corr_y = e.offsetY;
			}
			if (imgs.length == bigimgs.length) {
				bigimgs[a].style.display = 'block';
				bigimgs[a].style.top = (mouse_y - 200) + 'px';
				bigimgs[a].style.left = (mouse_x - 200) + 'px';
			}
		}

	return (e.preventDefault) ? e.preventDefault() : e.returnValue = false;
	
	}

}


function createXMLHTTPObject() {
	var xmlhttp = false;
	var XMLHttpFactories = [
		function () {return new XMLHttpRequest()},
		function () {return new ActiveXObject("Msxml2.XMLHTTP")},
		function () {return new ActiveXObject("Msxml3.XMLHTTP")},
		function () {return new ActiveXObject("Microsoft.XMLHTTP")}
	];
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}


function sendRequest(url, callback, p, postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
			alert('HTTP error ' + req.status);
			return;
		}
		callback(req, p);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}


function handleRequest(req, p) 
{
	if (req) {
		var xml = req.responseXML;
		var datatype = xml.documentElement.getElementsByTagName('datatype')[0].firstChild.data;
		var items = xml.documentElement.getElementsByTagName('item');
		var opt, text, type;
		var s = eval('document.tsrequest.' + datatype);
		var nodelist = s.getElementsByTagName('OPTION');
		
		for (a = 0; a < items.length; a++) {
			type = items[a].getElementsByTagName('type')[0].firstChild.data;
			opt = document.createElement('OPTION');
			opt.value = (datatype == 'timing' && !p ? type : items[a].getElementsByTagName('value')[0].firstChild.data );
			text = document.createTextNode((datatype == 'engine' ? opt.value + (type == 'd' ? 'л. (дизель)' : 'л. (бензин.)') : type));
			opt.appendChild(text);
			s.appendChild(opt);
		}
	}
}


function timing(e) {
	var el = (e = e || event).target || e.srcElement;
	if (el.tagName.toLowerCase() == 'select') {
	
		var fs = document.getElementById("ts_input").getElementsByTagName('SELECT');
		var S = [], str = '', nodes, t = '?';
		for (var a = 0; a < fs.length; a++) {
			S[fs[a].name] = fs[a];
			str += (S[fs[a].name].value ? (a != 0 ? '&' : '?') + fs[a].name + '=' + S[fs[a].name].value : '');
			if ((el == fs[a]) && (a < fs.length - 1)) {
				nodes = fs[a + 1].getElementsByTagName('OPTION');
				for (var b = nodes.length - 1; b >= 0; b--) {
					if (nodes[b].value)
						fs[a + 1].removeChild(nodes[b]);
				}
				break;
			}
		}
		
		var time = '';
		if (time = document.getElementById('to_total_time'))
			time.firstChild.nodeValue = t;

		if (el.value != "" && el.value != 0) {
			
			if (el != fs[fs.length - 1]) {
				sendRequest('http://' + window.location.host + '/engines.xml' + str, handleRequest, time);
			}
			else if (time) {
				t = (parseFloat(el.value) + 1.8).toString();
				time.firstChild.nodeValue = t.substr(0, t.lastIndexOf('.') + 2);
			}
		}
				
		return (e.preventDefault) ? e.preventDefault() : e.returnValue = false;
	}
}


function initform(e) {
	var form, handler = false;
	if (form = document.getElementById("ts_input"))
	{
		var S = form.getElementsByTagName('SELECT');
		handler = true;
		for (var a = 0; a < S.length; a++) {
			handler &= applyHandler(S[a], 'onchange', timing);
		}
	}
	return handler;
}


function initsteps(e) {
	var substep_desc, handler = false;
	if (substep_desc = document.getElementById('substep_desc')) {
		var subh = substep_desc.getElementsByTagName('DIV');
		handler = true;
		for (var a = 0; a < subh.length; a++)
			if (subh[a].className == 'subheading') {
				handler &= applyHandler(subh[a], 'onclick', showsstext);
			}
	}
	return handler;
}


function initpics(e) {
	var substep_desc, handler = false;
	if (substep_desc = document.getElementById('substep_desc')) {
		var tables = substep_desc.getElementsByTagName('TABLE');
		for (var a = 0; a < tables.length; a++) {
			if (tables[a].className == 'substep') {
				applyHandler(tables[a], 'onclick', showsspic);
			}
		}
			
	}
	
	return false;
}
				
applyHandler(window, 'onload', initform);
applyHandler(window, 'onload', initsteps);
applyHandler(window, 'onload', initpics);

//-->
