function openItemsCompareForm (cat) {	
	var checked = $("#catalogCompareForm input[checked]");
	var items = new Array;
	if (checked.length > 0) {
		$.each(checked, function(i,item) {
			var num = item.name.substring (6, item.name.indexOf(']',7));
			items[i+1] = num;
		});
	}
	itemsManager.init(cat, items);
	$('#itemsCompareForm').modal({
		close: false,
		overlayId: 'modal-overlay',
		containerId: 'modal-container'
	});
}

var itemsManager = {
	cat: null,
	titles: [],
	titlesNames: [],
	brands: [],	
	iteration: 1,
	items: [],
	inited: false,
	init: function (cat, items) {
		if (itemsManager.inited) {
			itemsManager.iteration = 1;
			var table = document.getElementById("itemsCompareForm");
			var childs = table.childNodes;
			for (i in childs) {
				if (childs[i].tagName == "TABLE") {
					table = childs[i];
				}
			}
			while (table.firstChild) {
				table.removeChild(table.firstChild);
			}
			$.each(itemsManager.titles, function(i, item){
				var newRow = table.insertRow(-1);
				newRow.id = "tr_"+item;
				var newCell = newRow.insertCell(-1);
				newCell.align = "left";
				newCell.width = "192px";
				newCell.innerHTML = itemsManager.titlesNames[i];
			});
			itemsManager.addNew();
			itemsManager.inited = true;
			if (items.length > 0) {
				itemsManager.addItems(items, 1);
			}
		} else {
			itemsManager.cat = cat;
			$.getJSON("/handlers/CatalogCompareHandler.php",{act:"get_titles",cat:itemsManager.cat},function(data){
				var table = document.getElementById("itemsCompareForm");
				var childs = table.childNodes;
				for (i in childs) {
					if (childs[i].tagName == "TABLE") {
						table = childs[i];
					}
				}
				$.each(data.item, function(i,item){
					itemsManager.titles.push(i);
					itemsManager.titlesNames.push(item);
					var newRow = table.insertRow(-1);
					newRow.id = "tr_"+i;
					var newCell = newRow.insertCell(-1);
					newCell.align = "left";
					newCell.width = "192px";
					newCell.innerHTML = item;
				});
				$.getJSON("/handlers/CatalogCompareHandler.php",{act:"get_brands",cat:itemsManager.cat},function(data){
					$.each(data.items, function(i,item){
						itemsManager.brands[item.id] = item.name;
					});
					itemsManager.addNew();
					itemsManager.inited = true;
					if (items.length > 0) {
						itemsManager.addItems(items, 1);
					}
				});
			});
		}
	},
	addNew: function () {
		$.each(itemsManager.titles, function(i,item) {
			var html;
			var tr = document.getElementById('tr_'+item);
			var newCell;
			if (item == 'brandSel') {
				html = '<select id="brandSel'+itemsManager.iteration+'" onchange="javascript:itemsManager.selectBrand('+itemsManager.iteration+');"><option value="0">Производитель</option>';
				for (var i in itemsManager.brands) {
					html += '<option value="'+i+'">'+itemsManager.brands[i]+'</option>';
				}
				html += '</select>';
				newCell = tr.insertCell(-1);
				newCell.width = "150px";
				newCell.innerHTML = html;
				//tr.insertCell(-1).innerHTML = html;
			} else {
				newCell = tr.insertCell(-1);
				newCell.width = "152px";
				newCell.innerHTML = '&nbsp;';
				//tr.insertCell(-1).innerHTML = '&nbsp;';
			}
		});
		itemsManager.iteration++;
	},
	addItems: function (items, num) {
		$.getJSON("/handlers/CatalogCompareHandler.php",{act:"get_brand",id:items[num]},function(data){
			$("#brandSel"+num).selectOptions("" + data.brand, true);
			itemsManager.selectBrand(num, items);
		});
	},
	selectBrand: function (num, items) {
		var brandSel = document.getElementById('brandSel'+num)
		var brand = brandSel.options[brandSel.selectedIndex].value;
		if (brand) {
			$.each(itemsManager.titles, function(i,item) {
				if (item == 'modelSel') {
					html = '<select id="modelSel'+num+'" onchange="javascript:itemsManager.selectModel('+num+');"><option value="0">Модель</option>';
					$.getJSON("/handlers/CatalogCompareHandler.php",{act:"get_models",cat:itemsManager.cat,brand:brand},function(data){
						$.each(data.items, function(i,item){
							html += '<option value="'+item.id+'">'+item.name+'</option>';
						});
						html += '</select>';
						document.getElementById('tr_modelSel').cells[num].innerHTML = html;
						if (items) {
							if (items.length > 0) {
								$("#modelSel"+num).selectOptions("" + items[num], true);
								itemsManager.selectModel(num, items);
							}
						}
						itemsManager.addNew();
					});
				} else if (item !== 'brandSel') {
					document.getElementById('tr_'+item).cells[num].innerHTML = '&nbsp;';
				}
			});
		} else {
			$.each(itemsManager.titles, function(i,item) {
				tr = document.getElementById('tr_'+item);
				if (item !== 'brandSel') {
					tr.cells[num].innerHTML = '&nbsp;';
				}
			});
		}
	},
	selectModel: function (num, items) {
		var modelSel = document.getElementById('modelSel'+num)
		var model = modelSel.options[modelSel.selectedIndex].value; 
		if (model > 0) {
			$.getJSON("/handlers/CatalogCompareHandler.php",{act:"get_model",id:model},function(data){
				$.each(itemsManager.titles, function(i,item) {
					if (item == 'photo') {
						if (data.item.imgid) {
							html = '<a href="/catalog_item_'+data.item.id+'.html"><img src="/img/catalog/'+data.item.imgid+'_s.'+data.item.imgext+'" width="150" border="0" /></a>'
						} else {
							html = 'Фото ожидается';
						}
						document.getElementById('tr_photo').cells[num].innerHTML = html;
					} else if (item == 'name') {
						html = '<a href="/catalog_item_'+data.item.id+'.html">'+data.item.name+'</a>&nbsp;<input value="X" type="button" onclick="javascript:itemsManager.removeItem('+num+');" />';
						document.getElementById('tr_name').cells[num].innerHTML = html;
					} else if (item !== 'brandSel' && item !== 'modelSel') {
						document.getElementById('tr_'+item).cells[num].innerHTML = data.item[item];
					}
				});
				if (items) {
					if (items[num+1]) {
						itemsManager.addItems(items, num+1);
					}
				}
			});
		} else {
			$.each(itemsManager.titles, function(i,item) {
				if (item !== 'brandSel' && item !== 'modelSel') {
					document.getElementById('tr_'+item).cells[num].innerHTML = '&nbsp;';
				}
			});
		}
		
	},
	removeItem: function (num) {
		$.each(itemsManager.titles, function(i,item) {
			tr = document.getElementById('tr_'+item);
			tr.cells[num].style.display = "none";
		});
	}
}