Search = function() {}

Search.path = '';
Search.enable = 0;

Search.choosePart = function(item, control) {
	dropmenuPart.disable();
	dropmenuMaker.zero();
	dropmenuMaker.disable();
	dropmenuGroup.zero();
	dropmenuGroup.disable();
	
	var maker = new Ajax('/kernel/shop/xml.maker.php');
	maker.parameters = '?part=' + item.value + '&ctrl=' + control + '&decode&nocashe=' + Ajax.nocash();
	
	var mkInner = document.getElementById('selectMaker');
	maker.include = { maker : mkInner, mkInner : mkInner.innerHTML };
	mkInner.innerHTML = 'Загрузка...';
	
	maker.finish = function() {
		var html = this.object.responseText;
		if (html) dropmenuMaker.change(html);
		this.onerror();
	}
	
	maker.onerror = function() { 
		if (this.include.maker) this.include.maker.innerHTML = this.include.mkInner;
		Search.enable += 2;
		Search.enableAll();
	}
	
	var group = new Ajax('/kernel/shop/xml.group.php');
	group.parameters = '?part=' + item.value + '&maker=&ctrl=' + control + '&decode&nocashe=' + Ajax.nocash();
	
	var grInner = document.getElementById('selectGroup');
	group.include = { group : grInner, grInner : grInner.innerHTML };
	grInner.innerHTML = 'Загрузка...';
	
	group.finish = function() {
		var html = this.object.responseText;
		if (html) dropmenuGroup.change(html);
		this.onerror();
	}
	
	group.onerror = function() { 
		if (this.include.group) this.include.group.innerHTML = this.include.grInner;
		Search.enable++;
		Search.enableAll();
	}
	
	maker.start();
	group.start();
}

Search.chooseMaker = function(item, control) {
	dropmenuPart.disable();
	dropmenuMaker.disable();
	dropmenuGroup.disable();

	if (!dropmenuGroup.value) {
		dropmenuGroup.zero();
		
		var group = new Ajax('/kernel/shop/xml.group.php');
		group.parameters = '?part=' + (dropmenuPart.value ? dropmenuPart.value : '') + '&maker=' + item.value + '&ctrl=' + control + '&decode&nocashe=' + Ajax.nocash();
		
		var grInner = document.getElementById('selectGroup');
		group.include = { group : grInner, grInner : grInner.innerHTML };
		grInner.innerHTML = 'Загрузка...';
		
		group.finish = function() {
			var html = this.object.responseText;
			if (html) dropmenuGroup.change(html);
			this.onerror();
		}
		
		group.onerror = function() { 
			if (this.include.group) this.include.group.innerHTML = this.include.grInner;
			Search.enable += 3;
			Search.enableAll();
		}
		
		group.start();
	} else {
		Search.enable += 3;
		Search.enableAll();
	}
}

Search.chooseGroup = function(item, control) {
	dropmenuPart.choose(item.flag.part);
	dropmenuPart.disable();
	dropmenuMaker.disable();
	dropmenuGroup.disable();

	if (!dropmenuMaker.value) {
		dropmenuMaker.zero();
		var maker = new Ajax('/kernel/shop/xml.maker.php');
		maker.parameters = '?group=' + item.value + '&ctrl=' + control + '&decode&nocashe=' + Ajax.nocash();
		
		var mkInner = document.getElementById('selectMaker');
		maker.include = { maker : mkInner, mkInner : mkInner.innerHTML };
		mkInner.innerHTML = 'Загрузка...';
		
		maker.finish = function() {
			var html = this.object.responseText;
			if (html) dropmenuMaker.change(html);
			this.onerror();
		}
		
		maker.onerror = function() { 
			if (this.include.maker) this.include.maker.innerHTML = this.include.mkInner;
			Search.enable += 3;
			Search.enableAll();
		}
		maker.start();
	
	} else {
		Search.enable += 3;
		Search.enableAll();
	}
}

Search.enableAll = function() {
	if (Search.enable >= 3) {
		dropmenuPart.enable();
		dropmenuMaker.enable();
		dropmenuGroup.enable();
		Search.enable = 0;
		Search.changeButton();
	}
}

Search.changeButton = function() {
	var button = document.getElementById('searchDropGo');
	if (button) {
		var lbeg = '/catalog/', link;
		link = lbeg;
		if (!dropmenuPart.disabled && dropmenuPart.flag) link += dropmenuPart.flag + '/';
		if (!dropmenuGroup.disabled && dropmenuGroup.flag) link += dropmenuGroup.flag.index + '/';
		if (!dropmenuMaker.disabled && dropmenuMaker.flag) link += dropmenuMaker.flag + '/';
		
		if (link != lbeg) {
			button.href = link;
			var img = button.firstChild;
			if (img && (img.tagName == 'IMG')) img.src = '/kernel/images/pics/but.search.menu.gif';
		}
		
		button.parentNode.className = 'bgColorDgreen bWhiteLeft';
	}
}
