var S = {
	MC: function(k, id, def) {
		var f = document.cfrm;
		var fmo = $('mo_'+k);
		fmo.options.length = 1;
		eval("new Ajax.Request('/req/get_models.req.php?make_id='+id, {onComplete: function(t) { S.MCL("+k+", t, "+def+"); }} );");
	},
	MCL: function(k, t, def) {
		var f = document.cfrm;
		var fmo = $('mo_'+k);
		fmo.options.length = 1;
		var root = t.responseXML.getElementsByTagName('models')[0];
		var models = root.getElementsByTagName('model');
		for (var i = 0; i < models.length; i++) {
			var model_id = models[i].getElementsByTagName('model_id')[0].firstChild.nodeValue;
			var name = models[i].getElementsByTagName('name')[0].firstChild.nodeValue;
			fmo.options[fmo.options.length] = new Option(name, model_id, false, def == model_id);
		}
	},
	
	numMakeF: 1,
	
	AMF: function(i) {
		if (i >= this.numMakeF && $('ma_'+i).value) {
			this.numMakeF++;
			var e = $('make_id_f_cont');
			var o = document.createElement('tr');
			
			var td1 = document.createElement('td');
			var td2 = document.createElement('td');
			td2.innerHTML = '<div class="select"><select name="ma['+this.numMakeF+']" id="ma_'+this.numMakeF+'" onchange="S.AMF('+this.numMakeF+'); S.MC('+this.numMakeF+', this.value, 0); S.CNT();"></select></div>';
			var td3 = document.createElement('td');
			var td4 = document.createElement('td');
			td4.innerHTML = '<div class="select"><select name="mo['+this.numMakeF+']" id="mo_'+this.numMakeF+'" onchange="S.CNT();"></select></div>';
			
			o.appendChild(td1);
			o.appendChild(td2);
			o.appendChild(td3);
			o.appendChild(td4);
			e.appendChild(o);
			
			var s = $('ma_1');
			var d = $('ma_'+this.numMakeF);
			d.options.length = 0;
			for (var j = 0; j < s.options.length; j++)
				d.options[d.options.length] = new Option(j ? s.options[j].text : '', j ? s.options[j].value : '', false, false);
		}
	},
	
	CNT: function() {
		new Ajax.Request('/req/count_results.req.php?' + _GDU(document.cfrm), {onComplete: function(t) { S.cRL(t.responseText); }});
	},
	
	cRL: function(t) {
		$('id_sr_1').innerHTML = '<b>Rezultate:</b> ' + t + '';
		if ($('id_sr_2'))
			$('id_sr_2').innerHTML = '<b>Rezultate:</b> ' + t + '';
	}
}

function _GDU(f) {
	var s = '';
	var e = getFormElements(f);
	for (var i = 0; i < e.length; i++)
		if ((e[i].tagName.toLowerCase() == 'input' && (e[i].type == 'text' || e[i].type == 'password' || e[i].type == 'hidden')) || e[i].tagName.toLowerCase() == 'textarea' || (e[i].tagName.toLowerCase() == 'select' && !e[i].multiple))
			s += '&' + encodeURIComponent(e[i].name) + '=' + encodeURIComponent(e[i].value);
		else if (e[i].tagName.toLowerCase() == 'select' && e[i].multiple) {
			for (var j = 0; j < e[i].options.length; j++)
				if (e[i].options[j].selected)
					s += '&' + encodeURIComponent(e[i].name) + '=' + encodeURIComponent(e[i].options[j].value);
		}
		else if (e[i].tagName.toLowerCase() == 'input' && e[i].type == 'checkbox')
			s += '&' + encodeURI(e[i].name).replace(/&/g, '%26') + '=' + (e[i].checked?1:0);
		else if (e[i].tagName.toLowerCase() == 'input' && e[i].type == 'radio' && e[i].checked)
			s += '&' + encodeURI(e[i].name).replace(/&/g, '%26') + '=' + encodeURIComponent(e[i].value);
	return s.substr(1);
}

function getFormElements(f) {
	var ret = [];
	var e = f.getElementsByTagName('input');
	for (var i = 0; i < e.length; i++)
		ret.push(e[i]);
	var e = f.getElementsByTagName('textarea');
	for (var i = 0; i < e.length; i++)
		ret.push(e[i]);
	var e = f.getElementsByTagName('select');
	for (var i = 0; i < e.length; i++)
		ret.push(e[i]);
	return ret;
}
