// static variables for wizardNextStep
var cat_id = '';
var wantbrand = '';
var alreadyown = '';
var brand = ''; 
var lines = '';
var price_range = '';
var prev_step = 1;
var cat_lookup = new Array;
var brand_lookup = new Array;
var desc = '';

function wizardNextStep (elem, step, stay, conditional, cat_keys, brand_keys, brand_names) {
	
	cat_id = (elem.name == 'cat_id') ? elem.value : cat_id;
	wantbrand = (elem.name == 'wantbrand') ? elem.value : wantbrand;
	alreadyown = (elem.name == 'alreadyown') ? elem.value : alreadyown;
	brand = (elem.name == 'brand') ? elem.value : brand;
	lines = (elem.name == 'lines') ? elem.value : lines;
	price_range = (elem.name == 'price_range') ? elem.value : price_range;
	desc = document.getElementById('search_desc').innerHTML;
	
	//lookup array for categories
	if (cat_keys) {
			var cat0 = cat_keys[0];
			var cat1 = cat_keys[1];
			var cat2 = cat_keys[2];
			cat_lookup[cat0] = 'price gun';
			cat_lookup[cat1] = 'labels';
			cat_lookup[cat2] = 'price gun with matching labels';
	}
	
	// lookup array for brands
	if (brand_keys) {
		for (i in brand_keys) {
			var brand_key = brand_keys[i];
			brand_lookup[brand_key] = brand_names[i];
		}
	}
	
	// update <span>s
	if (elem.name == 'cat_id') wizardUpdateSpan('productName', cat_lookup[cat_id]);
	if (elem.name == 'wantbrand' && wantbrand == 0) document.getElementById('noBrand').style.display = 'block';
	if (step == 9 && wantbrand == 0 && cat_lookup[cat_id] == 'labels') document.getElementById('labelNoBrand').style.display = 'block';
	if (step == 1 || !step) { 
		document.getElementById('start_again').style.display = 'none';
		document.getElementById('search_desc').innerHTML = 'Simply answer the questions and the wizard will find the right products for you!';
		cat_id = '';
		wantbrand = '';
		alreadyown = '';
		brand = ''; 
		lines = '';
		price_range = '';
		prev_step = 0;
		cat_lookup = new Array;
		brand_lookup = new Array;
		desc = '';
	}
	else {
		document.getElementById('start_again').style.display = 'block';
	}
	
	// switch steps
	if (step) {
		if (step == 9) {
			new Ajax.Updater('wizard_results', '../ajax.search.php?'+'brand_id='+brand+'&cat_id='+cat_id+'&price_range='+price_range+'&lines='+lines, {asynchronous:true});
		}
			
		for (i=1; i<=9; i++) {
			if (i != step && !stay) {
				document.getElementById('step_' + i).style.display = 'none';
			} 
			else {
				document.getElementById('step_' + step).style.display = 'block';	
			}
		}	
		
	}
	
	// write description of search
	var cat_desc = (cat_lookup[cat_id] != 'labels') ? 'a ' + cat_lookup[cat_id] : cat_lookup[cat_id];
	if (prev_step == 1) desc = 'Looking for ' + cat_desc; 
	if (prev_step == 4) desc = desc.replace('price', brand_lookup[brand] + ' price');
	if (prev_step == 5) desc += ' for a ' + brand_lookup[brand] + ' price gun';
	if (prev_step == 6) {
		var plural = (lines > 1) ? 's' : '';
		desc += (brand.length < 1 && cat_lookup[cat_id] == 'labels') ? ' for a price gun ' : '';
		desc += ' that prints ' + lines + ' line' + plural;
	}
	if (prev_step == 8) desc += ' and costs between $' + price_range;
	
	document.getElementById('search_desc').innerHTML = desc;
	
	prev_step = step;
}



// uses <span>s as variables
function wizardUpdateSpan (classname, value) {
	var spans = document.getElementsByClassName(classname);
		
	for (i in spans) {
		spans[i].innerHTML = value;
	}
}



function wizardShowResults(elem_id) {
	var elem = document.getElementById(elem_id);
	(elem.style.display == 'block') ?  elem.style.display = 'none' : elem.style.display = 'block';
}


function wizardUseSession(brand_id1, cat_id1, price_range1, cat_keys, brand_keys, brand_names) {
	brand = brand_id1;
	cat_id = cat_id1;
	price_range = price_range1;
	
	wizardNextStep(false, 9, false, false, cat_keys, brand_keys, brand_names);
	wizardShowResults('wizard_results');
}
