function updateQuantity(value) {

}

function updateCameratype()
{
  new Ajax.Updater('cameratype-container',	'/sigmaproductcompare/cameratype', {
    asynchronous:true,
    evalScripts:false,
    parameters:'brand=' + $('brand').value
  });
}

var lifestyle = false;

function selectLifestyle(lid)
{
	var element = $('lifestyle-'+lid);
	var all = $('advisor-quicklist').childElements();
	lifestyle = false;

	for (var a = 0; a < all.length; a++) {
		if (all[a].id != element.id && hasClass(all[a], 'selected')) {
			removeClass(all[a], 'selected');
		}
	}

	addClass(element, 'selected');
	lifestyle = lid;

	updateProducts();
}

var products = new Array();

function compareProduct(pid)
{
	var element = $('advisor-product-'+pid);

	if (hasClass(element, 'selected')) {
		removeClass(element, 'selected');
		products = products.without(pid);
	}
	else {
		if (products.length < 3) {
			addClass(element, 'selected');
			if (products.indexOf(pid) == -1) {
				products[products.length] = pid;
			}
		}
		else {
			alert(productsmaxreached);
		}
	}
}

function updateProducts()
{
  new Ajax.Updater('advisor-product-list-container',	'/sigmaproductcompare/products', {
    asynchronous:true,
    evalScripts:false,
    parameters: {
		  brand: $('brand').value,
		  cameratype: $('cameratype').value,
		  lifestyle: lifestyle,
		  products: products.toJSON()
		},
		onComplete: function(response, json) {
			for (var i in json) {
				if (i == 'products') {
				  products = json[i].toArray();
				}
				if (i == 'count') {
					$('results-count').innerHTML = json[i];
				}
			}
		}
  });
}

function clearProductCompare()
{
	for (var i = products.length-1; i >= 0; i--) {
		compareProduct(products[i]);
	}

	var all = $('advisor-quicklist').childElements();
	lifestyle = false;

	for (var a = 0; a < all.length; a++) {
		if (!hasClass(all[a], 'selected')) {
			addClass(all[a], 'selected');
		}
	}

	var bopt = $('brand').childElements();

	for (var b = 0; b < bopt.length; b++) {
		if (bopt[b].value == '') {
			bopt[b].selected = true;
		}
		else {
			bopt[b].selected = false;
		}
	}

	updateCameratype();

	setTimeout('updateProducts()', 500);
}

function clearProductCompareAdvanced()
{
	for (var i = products.length-1; i >= 0; i--) {
		compareProduct(products[i]);
	}

	var cbs = $$('.ms-checkbox');

	for (var c = 0; c < cbs.length; c++) {
		removeClass(cbs[c], 'ms-checkbox-on');
		removeClass(cbs[c], 'ms-checkbox-required');
		removeClass(cbs[c], 'ms-checkbox-disabled');
	}

	compopt = new Array();
	compopt['brand'] = new Array();
	compopt['cat'] = new Array();
	compopt['tech'] = new Array();
	compopt['weight'] = new Array();
	compopt['price'] = new Array();
	compopt['bdia'] = new Array();
	compopt['mfd'] = new Array();
	compopt['mm'] = new Array();

	new Ajax.Updater('advisor-product-list-container',	'/sigmaproductcompare/productsadvanced', {
    asynchronous:true,
    evalScripts:false,
    parameters: {
		  brand: compopt['brand'].toJSON(),
		  cat: compopt['cat'].toJSON(),
		  tech: compopt['tech'].toJSON(),
		  weight: compopt['weight'].toJSON(),
		  price: compopt['price'].toJSON(),
		  bdia: compopt['bdia'].toJSON(),
		  mfd: compopt['mfd'].toJSON(),
		  mm: compopt['mm'].toJSON(),
		  products: products.toJSON()
		},
		onComplete: function(response, json) {
			for (var i in json) {
				if (i == 'products') {
				  products = json[i].toArray();
				}
				if (i == 'count') {
					$('results-count').innerHTML = json[i];
				}
			}
		}
	});
}

function goCompare()
{
	if (products.length > 0) {
		var pstr = '';

		for (var i = 0; i < products.length; i++) {
			pstr = (pstr == '') ? products[i] : pstr + '-' + products[i];
		}

		window.location.href = '/sigmaproductcompare/compare?products=' + pstr;
	}
	else {
		alert(notcomparable);
	}
}

var compopt = new Array();
compopt['brand'] = new Array();
compopt['cat'] = new Array();
compopt['tech'] = new Array();
compopt['weight'] = new Array();
compopt['price'] = new Array();
compopt['bdia'] = new Array();
compopt['mfd'] = new Array();
compopt['mm'] = new Array();

function selectMSCheckbox(element)
{
	if (/*!hasClass(element, 'ms-checkbox-required') && */!hasClass(element, 'ms-checkbox-disabled')) {
		var type = element.id.slice(0, element.id.indexOf('-'));
		var value = element.id.slice(element.id.indexOf('-')+1);

		if (hasClass(element, 'ms-checkbox-on')) {
			removeClass(element, 'ms-checkbox-on');
			compopt[type] = compopt[type].without(value);
		}
		else if (hasClass(element, 'ms-checkbox-required')) {
			removeClass(element, 'ms-checkbox-required');
			compopt[type] = compopt[type].without(value);
		}
		else {
			removeClass(element, 'ms-checkbox-required');
			addClass(element, 'ms-checkbox-on');
			if (compopt[type].indexOf(value) == -1) {
				compopt[type][compopt[type].length] = value;
			}
		}

		updateProductsAdvanced(type);
	}
}

function updateProductsAdvanced(clicked)
{

  new Ajax.Updater('advisor-product-list-container',	'/sigmaproductcompare/productsadvanced', {
    asynchronous:true,
    evalScripts:false,
    parameters: {
		  brand: compopt['brand'].toJSON(),
		  cat: compopt['cat'].toJSON(),
		  tech: compopt['tech'].toJSON(),
		  weight: compopt['weight'].toJSON(),
		  price: compopt['price'].toJSON(),
		  bdia: compopt['bdia'].toJSON(),
		  mfd: compopt['mfd'].toJSON(),
		  mm: compopt['mm'].toJSON(),
		  products: products.toJSON()
		},
		onComplete: function(response, json) {
			for (var i in json) {
				if (i == 'products') {
				  products = json[i].toArray();
				}
				if (i == 'count') {
					$('results-count').innerHTML = json[i];
				}
				if (i == 'options') {
				  var options = json[i];
				  for (var o in options) {
				  	if (o != clicked) {
					  	switch (o) {
					  		case 'brand':
					  			parsePAOption(options[o], 'brands', false, 'brand');
					  			break;
					  		case 'cat':
					  			parsePAOption(options[o], 'cat-list', true, 'cat');
					  			break;
					  		case 'tech':
					  			parsePAOption(options[o], 'technologies', false, 'tech');
					  			break;
					  		case 'weight':
					  			parsePAOption(options[o], 'weight', false, 'weight');
					  			break;
					  		case 'price':
					  			parsePAOption(options[o], 'price', false, 'price');
					  			break;
					  		case 'bdia':
					  			parsePAOption(options[o], 'biggestdiaphragm', false, 'bdia');
					  			break;
					  		case 'mfd':
					  			parsePAOption(options[o], 'mfd', false, 'mfd');
					  			break;
					  		case 'mm':
					  			parsePAOption(options[o], 'maxmagnification', false, 'mm');
					  			break;
					  		default:
					  			break;
					  	}
				  	}
				  }
				}
			}
		}
  });
}

function parsePAOption(items, ulid, idisint, optkey)
{
	var els = $$('#' + ulid + ' > li > span');

	for (var e=0; e < els.length; e++) {
		var elid = els[e].id;
		if (idisint) {
			var ename = parseInt(elid.slice(elid.indexOf('-')+1));
		}
		else {
			var ename = elid.slice(elid.indexOf('-')+1);
		}
		if (compopt[optkey].length == 0) {
			if (items.indexOf(ename) != -1) {
				if (items.length == 1) {
					addClass(els[e], 'ms-checkbox-required');
					removeClass(els[e], 'ms-checkbox-on');
					removeClass(els[e], 'ms-checkbox-disabled');
				}
				else {
					removeClass(els[e], 'ms-checkbox-disabled');
					removeClass(els[e], 'ms-checkbox-required');
				}
			}
			else {
				if (items.length != 0) {
					addClass(els[e], 'ms-checkbox-disabled');
					removeClass(els[e], 'ms-checkbox-on');
					removeClass(els[e], 'ms-checkbox-required');
					compopt[optkey].without(ename);
				}
			}
		}
	}
}

function variationUpdatePrice() {
	if (prices != 'undefined') {
		if ($('variation').value != '' && prices[$('variation').value] != 'undefined') {
			$('current-price').innerHTML = prices[$('variation').value];
		}
		else {
			$('current-price').innerHTML = original_price;
		}
	}
}

function variationUpdateInstock() {
	if (instocks != 'undefined') {
		if ($('variation').value != '' && instocks[$('variation').value] != 'undefined') {
			$('current-instock').innerHTML = instocks[$('variation').value];
		}
		else {
			$('current-instock').innerHTML = original_instock;
		}
	}
}