$(document).ready(function() {
	buildClasses();
	buildBrands(0);
	$("#ManufacturerSlug").change(function() {
		$("#class_list a").removeClass("sel");
		$("#q").val("");
		$(".second").hide();
		$("#curSubClass").hide();
		$(".third").addClass("long");
		if ($(this).val() == "") {
			$("#class_list a[rel=all]").addClass("sel");
			$("#letter_filter a").removeClass("sel");
			$("#letter_filter").show();
		} else {
			$("#letter_filter").hide();
		}
		$('#brand_list').html('');
		// filter the brands
		for (var key in brands){
			var name = brands[key]["Brand"]["manufacturer_id"];
			if( $(this).val() == brands[key]["Brand"]["manufacturer_id"]){
				$('#brand_list').append('<li><a href="/brand/' + brands[key]["Brand"].slug + '">' + brands[key]["Brand"].name + '</a></li>');
			}
		}
	});
	$("#q").keyup(function() {
		$("#ManufacturerSlug").val("");
		$("#letter_filter a").removeClass("sel");
		$(".second").hide();
		$(".third").addClass("long");
		$("#letter_filter").show();
		$('#brand_list').html('');
		$("#class_list a").removeClass("sel");
		var input = $(this).val();
		// filter the brands
		for (var key in brands){
			var name = brands[key]["Brand"]["name"];
			name = name.toLowerCase();
			if( name.indexOf(input.toLowerCase()) == 0){

				$('#brand_list').append('<li><a href="/brand/' + brands[key]["Brand"].slug + '">' + brands[key]["Brand"].name + '</a></li>');
			}
		}
	});
	$("#letter_filter a").click(function(){
		filterLetter($(this).attr('rel'));
		$(this).addClass("sel");
		return false;
	});
});
function buildSubs(_id){
	$('#sub_class_list').append('<li><a href="#" onClick="$(\'#sub_class_list a\').removeClass(\'sel\');$(this).addClass(\'sel\');filterSub('+_id+',false); return false;">All Sub Classes</a></li>');
	for (var key in brandSubClasses){
		if(_id == brandSubClasses[key]["BrandSubClass"]["brand_class_id"]){
			if (brandSubClasses[key]["BrandSubClass"]["brand_count"] == 0) {
				$('#sub_class_list').append('<li><span class="noclick">'+ brandSubClasses[key]["BrandSubClass"].name + '</span></li>');
			} else {
				$('#sub_class_list').append('<li><a href="#" onClick="$(\'#sub_class_list a\').removeClass(\'sel\');$(this).addClass(\'sel\');filterSub('+brandSubClasses[key]["BrandSubClass"]["id"]+',true); return false;">' + brandSubClasses[key]["BrandSubClass"].name + '</a></li>');
			}
		} 
	}
	
}
function buildClasses(){

	$('#class_list').append('<li><a href="#" onClick="$(\'#class_list a\').removeClass(\'sel\');$(this).addClass(\'sel\');filterClass(0); return false;">All Classes</a></li>');
	for (var key in brandClasses){
		if (brandClasses[key]["BrandClass"]["brand_count"] == 0){
			$('#class_list').append('<li><span class="noclick">' + brandClasses[key]["BrandClass"].name + '</span></li>'); 
		} else {
			$('#class_list').append('<li><a href="#" onClick="$(\'#class_list a\').removeClass(\'sel\');$(this).addClass(\'sel\');filterClass('+brandClasses[key]["BrandClass"]["id"]+'); return false;">' + brandClasses[key]["BrandClass"].name + '</a></li>');
		}
	}

}
function buildBrands(_id, _subs){

	for (var key in brands){
		if(_id == 0) {
			$('#brand_list').append('<li><a href="/brand/' + brands[key]["Brand"].slug + '">' + brands[key]["Brand"].name + '</a></li>');
			continue;
		}
		if(_subs) {
			if(_id == brands[key]["Brand"]["brand_sub_class_id"]){
				$('#brand_list').append('<li><a href="/brand/' + brands[key]["Brand"].slug + '">' + brands[key]["Brand"].name + '</a></li>');
			}
		} else {
			if(_id == brands[key]["Brand"]["brand_class_id"]){
				$('#brand_list').append('<li><a href="/brand/' + brands[key]["Brand"].slug + '">' + brands[key]["Brand"].name + '</a></li>');
			}
		}
	}
	
}
function filterSub(_id,_subs){
	//alert(_id);
	$('#brand_list').html('');
	buildBrands(_id,_subs);
}
function filterClass(_id){
	//alert(_id);
	$("#ManufacturerSlug").val("");
	$("#letter_filter a").removeClass("sel");
	$("#q").val("");
	if (_id == 0){
		$(".second").hide();
		$('#brand_list').html('');
		buildBrands(0);
		$(".third").addClass("long");
		$("#letter_filter").show();
	} else {
		$("#letter_filter").hide();
		$(".third").removeClass("long");
		$("#letter_filter").hide();
		//$("#curSubClass").show();
		$('#sub_class_list').html('');
		buildSubs(_id,false);
		$(".second").show();
		$('#brand_list').html('');
	}
}
function filterLetter(_letter) {

	$('#brand_list').html('');
	$("#class_list a").removeClass("sel");
	$("#letter_filter a").removeClass("sel");
	for (var key in brands){
			var name = brands[key]["Brand"]["name"];
			if(name.indexOf(_letter) == 0){
				$('#brand_list').append('<li><a href="/brand/' + brands[key]["Brand"].slug + '">' + brands[key]["Brand"].name + '</a></li>');
			}
	}
}

