function ClearFilters(){
	for(i=1;i<document.form.elements['man[]'].length;i++){
		document.getElementById('man'+i).checked=false;
	}
	document.getElementById('man0').checked=true;

	for(i=1;i<document.form.elements['type[]'].length;i++){
		document.getElementById('type'+i).checked=false;
	}
	document.getElementById('type0').checked=true;

	for(i=1;i<document.form.elements['price[]'].length;i++){
		document.getElementById('price'+i).checked=false;
	}
	document.getElementById('price0').checked=true;

	BuildData();
}

function zoom(ipath){
	if(ipath=='close'){
		$('#zoomer').fadeOut('fast');
		$('#zoom_image').html('');
	}	
	else{
		$('#zoomer').hide();
		$('#zoom_image').html('<img src="http://www.reviewed.com/' + ipath + '" /> ');
		$('#zoomer').css('top', aY).css('left', aX).fadeIn('fast');
	}
}

function opacity(id,opacity) { 
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100); 
	object.MozOpacity = (opacity / 100); 
	object.KhtmlOpacity = (opacity / 100); 
	object.filter = "alpha(opacity=" + opacity + ")"; 
} 

function SelectAll_Man(count){
	
	if(document.getElementById('man0').checked==true){
		pageTracker._trackEvent("Filters", "Reset Manufacturer Filters");
		for(i=1;i<document.form.elements['man[]'].length;i++){
			document.getElementById('man'+i).checked=false;
		}
	}
	
	document.getElementById('man0').checked=true;
	
	BuildData();
}

function SelectAll_Type(count){
	
	if(document.getElementById('type0').checked==true){
		pageTracker._trackEvent("Filters", "Reset Type Filters");
		for(i=1;i<document.form.elements['type[]'].length;i++){
			document.getElementById('type'+i).checked=false;
		}
	}
	
	document.getElementById('type0').checked=true;

	BuildData();
}

function SelectAll_Price(count){
	
	if(document.getElementById('price0').checked==true){
		pageTracker._trackEvent("Filters", "Reset Price Filters");
		for(i=1;i<document.form.elements['price[]'].length;i++){
			document.getElementById('price'+i).checked=false;
		}
	}

	document.getElementById('price0').checked=true;

	BuildData();
}

function SelectAll_Filter(count){
	
	if(document.getElementById('filter0').checked==true){
		pageTracker._trackEvent("Filters", "Reset Special Filters");
		for(i=1;i<document.form.elements['filter[]'].length;i++){
			document.getElementById('filter'+i).checked=false;
		}
	}

	document.getElementById('filter0').checked=true;

	BuildData();
}

function SelectPrice(id){
	var is_all_blank =1
	
	for(i=0;i<document.form.elements['price[]'].length;i++){
		if(document.getElementById('price'+i).checked==true)
			is_all_blank=0;
	}

	if(is_all_blank==0) {
		pageTracker._trackEvent("Filters", "Added Price Filter");
		document.getElementById('price0').checked=false;
	}
	else
		document.getElementById('price0').checked=true;
	
	BuildData();
}

function SelectMan(id){
	var is_all_blank=1;
	
	for(i=0;i<document.form.elements['man[]'].length;i++){
		if(document.getElementById('man'+i).checked==true)
			is_all_blank=0;
	}
	
	if(is_all_blank==0) {
		pageTracker._trackEvent("Filters", "Added Manufacturer Filter");
		document.getElementById('man0').checked=false;
	}
	else
		document.getElementById('man0').checked=true;
	
	BuildData();
}

function SelectType(id){
	var is_all_blank=1;
	
	for(i=0;i<document.form.elements['type[]'].length;i++){
		if(document.getElementById('type'+i).checked==true)
			is_all_blank=0;
	}
	
	if(is_all_blank==0) {
		pageTracker._trackEvent("Filters", "Added Type Filter");
		document.getElementById('type0').checked=false;
	}
	else
		document.getElementById('type0').checked=true;

	BuildData();	
}

function SelectFilter(id){
	var is_all_blank=1;
	
	for(i=0;i<document.form.elements['filter[]'].length;i++){
		if(document.getElementById('filter'+i).checked==true)
			is_all_blank=0;
	}
	
	if(is_all_blank==0) {
		pageTracker._trackEvent("Filters", "Added Special Filter");
		document.getElementById('filter0').checked=false;
	}
	else
		document.getElementById('filter0').checked=true;
	
	BuildData();
}

function SortBy(sort_string){
	document.getElementById('sortby').value=sort_string;
	BuildData();
}


function BuildData(){
	
	var query_string;
	
	var man_array = new Array();
	var man_flags = new Array();
	
	var type_array = new Array();
	var type_flags = new Array();

	var price_array = new Array();
	var price_flags = new Array();
	
	var filter_array = new Array();
	var filter_flags = new Array();
	
	for(i=0;i<document.form.elements['man[]'].length;i++){
		man_array[i] = document.getElementById('man'+i).value;
		man_flags[i] = document.getElementById('man'+i).checked;
	}

	for(i=0;i<document.form.elements['type[]'].length;i++){	
		type_array[i] = document.getElementById('type'+i).value;
		type_flags[i] = document.getElementById('type'+i).checked;
	}
	
	try{
		for(i=0;i<document.form.elements['price[]'].length;i++){	
			price_array[i] = document.getElementById('price'+i).value;
			price_flags[i] = document.getElementById('price'+i).checked;
		}
	}
	catch(e){
	}
	
	try{
		for(i=0;i<document.form.elements['filter[]'].length;i++){
			filter_array[i] = document.getElementById('filter'+i).value;
			filter_flags[i] = document.getElementById('filter'+i).checked;
		}
	}
	catch(e){
	}
	
	
	//These are not pretty, but they do work.
	if(man_array != '')
		query_string = "&man_array=" + man_array + "&man_flags=" + man_flags;
	
	if(type_array != '')
		query_string = query_string + "&type_array=" + type_array + "&type_flags=" + type_flags;
		
	if(price_array != '')
		query_string = query_string + "&price_array=" + price_array + "&price_flags=" + price_flags;
		
	if(filter_array != '')
		query_string = query_string + '&filter_array=' + filter_array + '&filter_flags=' + filter_flags;

	if(answer_id > 0)
		query_string = query_string + "&answer_id=" + answer_id;
	
	query_string = query_string + "&catpath=" + document.getElementById('cat_path').value;
	query_string = query_string + "&spec_table=" + document.getElementById('spec_table').value;
	query_string = query_string + "&stype_id=" + document.getElementById('stype_id').value;
	query_string = query_string + "&sortBy=" + document.getElementById('sortby').value;
	query_string = query_string + "&rating_tables=" + document.getElementById('rating_tables').value;
		
//	document.getElementById('debug').innerHTML = query_string;
	SendPageRequest("/assets/model-table.php?"+query_string,"model_box");
}

// the flexible checking thing
$(function() {
	$('.subcat-noentries div').click(function(e) {
		var input = $(this).children('input');
		if(e.target.tagName == 'DIV')
			input.attr('checked', !input.attr('checked'));
		
		if(input.attr('name') == 'man[]') {
			if(input.attr('id') == 'man0')
				SelectAll_Man(0);
			else
				SelectMan(input.attr('id'));
		}
		else if(input.attr('name') == 'type[]') {
			if(input.attr('id') == 'type0')
				SelectAll_Type(0);
			else
				SelectType(input.attr('id'));
		}
		else if(input.attr('name') == 'price[]') {
			if(input.attr('id') == 'price0')
				SelectAll_Price(0);
			else
				SelectPrice(input.attr('id'));
		}
		else if(input.attr('name') == 'filter[]') {
			if(input.attr('id') == 'filter0')
				SelectAll_Filter(0);
			else
				SelectFilter(input.attr('id'));
		}
	});
});