function getFormFields(expression)
{
	var formFields = [];
	
	$(expression).each(function(i)
	{
		var current = $(this);
		
		if (current.attr('name').length > 0)
		{
			if (current.is(':checkbox'))
			{
				var fieldValue = '';
				fieldValue = current.val();
				fieldValue = fieldValue.replace('&', '%26');
				
				//alert($('#' + current.attr('name')));
				
				if ($('#' + current.attr('name')).is(':checked') == true)
				{
					formFields[current.attr('name')] = fieldValue;
				}
			}
			else if (current.is(':hidden'))
			{
				var fieldValue = '';
				fieldValue = current.val();
				//fieldValue = fieldValue.replace('&', '%26');
				
				formFields[current.attr('name')] = fieldValue;
			}
		}
	});
	
	return formFields;
}

function getFormQueryString(expression)
{
	var queryString = '';
	var formFields = getFormFields(expression);
	var i;
	for (i in formFields)
	{
		queryString += i + '=' + formFields[i] + '&';
	}
	
	return queryString;
}

function setCVal(name, value, days) 
{
	if (days) 
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*60*60*24*30));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

/*
function getCVal()
{
	//alert(document.cookie);
	var i, x, y, a, z=document.cookie.split(";");
	var queryString = '';
	
	for (i=0; i<z.length; i++)
	{
	  x = z[i].substr(0,z[i].indexOf("="));
	  y = z[i].substr(z[i].indexOf("=")+1);
	  x = x.replace(/^\s+|\s+$/g,"");
	  
	  //alert(x);
	  if (x == 'Material')
	  {
	  	alert(unescape(y));
	    //return unescape(y);
	    queryString += x + '=' + y + '&';
	  }
	}
	
	alert(queryString);
}

*/

function getCVal(name)
{
	var i,x,y,a,z=document.cookie.split(";");	
	for (i=0;i<z.length;i++)
	{
	  x=z[i].substr(0,z[i].indexOf("="));
	  y=z[i].substr(z[i].indexOf("=")+1);
	  x=x.replace(/^\s+|\s+$/g,"");
	  if (x==name)
	  {
	    return unescape(y);
	  }
	}
}

function deleteCVal(name)
{
	setCVal(name, "");
}

function showResult(regex, current, page, id)
{
	$("#" + id).html('<div class="spinner"></div>');
	
	re = new RegExp(regex);

	for(i = 0; i < document.forms['filter_form'].elements.length; i++) 
	{
		elm = document.forms['filter_form'].elements[i];
		
		if (elm.type == 'checkbox') {
			var cVal = getCVal(current.name);
		//	alert(test1);
			if (regex != '' &&  re.test(elm.name) && current.name != elm.name) {
				
				var cVal1 = getCVal(elm.name);
				
				if (cVal1 != undefined && cVal1 != '')
					deleteCVal(elm.name);
					
				//alert("if = " + current.name + " " + elm.name);
				elm.checked = false;
			}
			else if (regex != '' &&  re.test(elm.name) && current.name == elm.name && current.checked == false) {
				deleteCVal(current.name);
			}
			else if (regex == '' && current.name == elm.name && cVal != undefined && cVal != '') {
				deleteCVal(current.name);
				//alert("else = " + current.name + " " + elm.name);
				elm.checked = false;
			}
		}
	}
	
	//current.checked = true;
	
	// Construct the query string
	var queryString = '';
	queryString += getFormQueryString('#' + page + 'filterContent input');
	
	showFilters(page, queryString);
	
	$.ajax(
	{
			type: 'POST',
			url: 'index.php?main_page='+page+'_filter',
			data: queryString,
			success: function(msg)
			{
				$("#" + id).html(msg);
			}
	});
}

function showFilters(page, queryString)
{
	$.ajax(
	{
			type: 'POST',
			url: 'index.php?main_page=get_filter',
			data: queryString,
			success: function(msg)
			{
				//alert(msg);
				$("#" + page + "filterContent").html(msg);
			}
	});
}

/*
function showProductsResult(regex, current)
{
	$("#productListing").html('<div class="spinner"></div>');
	
	re = new RegExp(regex);

	for(i = 0; i < document.forms['filter_form'].elements.length; i++) 
	{
		elm = document.forms['filter_form'].elements[i];
		
		if (elm.type == 'checkbox') {
			if (re.test(elm.name) && current.name != elm.name) {
				deleteCVal(elm.name);
				elm.checked = false;
			}
		}
	}
	
	//current.checked = true;
	
	// Construct the query string
	var queryString = '';
	queryString += getFormQueryString('#productsfilterContent input');
	
	$.ajax(
	{
			type: 'POST',
			url: 'index.php?main_page=products_filter',
			data: queryString,
			success: function(msg)
			{
				$("#productListing").html(msg);
			}
	});
}

function showCategoriesResult(regex, current)
{
	$("#categoriesList").html('<div class="spinner"></div>');
	
	re = new RegExp(regex);

	for(i = 0; i < document.forms['filter_form'].elements.length; i++) 
	{
		elm = document.forms['filter_form'].elements[i];
		
		if (elm.type == 'checkbox') {
			if (re.test(elm.name) && current.name != elm.name) {
				elm.checked = false;
			}
		}
	}
	
	//current.checked = true;
	
	// Construct the query string
	var queryString = '';
	queryString += getFormQueryString('#categoriesfilterContent input');
	
	//alert(queryString);
	//alert(curFilter.id);

	$.ajax(
	{
			type: 'POST',
			url: 'index.php?main_page=categories_filter',
			data: queryString,
			success: function(msg)
			{
				$("#categoriesList").html(msg);
			}
	});
}
*/

function resetFilters(typeOfFilter)
{
	if (typeOfFilter == 'categories')
	{
		var queryString = '';
		queryString += getFormQueryString('#categoriesfilterContent input');
		
		deleteAllCookies(queryString);
		$("#categoriesList").html('<div class="spinner"></div>');
	}
	else if (typeOfFilter == 'product')
	{
		var queryString = '';
		queryString += getFormQueryString('#productsfilterContent input');
		
		//alert(queryString);
	
		deleteAllCookies(queryString);
		
		$("#productListing").html('<div class="spinner"></div>');
	}

	
	for(i = 0; i < document.forms['filter_form'].elements.length; i++) 
	{
		elm = document.forms['filter_form'].elements[i];
		
		if (elm.type == 'checkbox') {
				elm.checked = false;
		}
	}
	
	// Construct the query string
	var queryString = '';
	
	if (typeOfFilter == 'categories')
	{
		queryString += getFormQueryString('#categoriesfilterContent input');
		
		showFilters('categories', queryString);
		
		$.ajax(
		{
				type: 'POST',
				url: 'index.php?main_page=categories_filter',
				data: queryString,
				success: function(msg)
				{
					$("#categoriesList").html(msg);
				}
		});
	}
	else if (typeOfFilter == 'product')
	{
		queryString += getFormQueryString('#productsfilterContent input');
		
		showFilters('products', queryString);
	
		$.ajax(
		{
				type: 'POST',
				url: 'index.php?main_page=products_filter',
				data: queryString,
				success: function(msg)
				{
					$("#productListing").html(msg);
				}
		});
	}
	
	return false;
}

function deleteAllCookies(queryString)
{
    //var cookies = document.cookie.split(";");
    var cookies = queryString.split("&");

    for (var i = 0; i < cookies.length; i++)
    {
        var str = cookies[i];
        var name = str.split("=");
        
        //alert(name[0]);
        
        if (name[0] != 'cPath')
        	setCVal(name[0], "");
    }
}

function showFilterResult(curPage)
{
	$("#productListing").html('<div class="spinner"></div>');
	
	// Construct the query string
	var queryString = '';
	queryString += getFormQueryString('#productsfilterContent input');
	
	$.ajax(
	{
			type: 'POST',
			url: 'index.php?main_page=products_filter',
			data: queryString + "page=" + curPage,
			success: function(msg)
			{
				$("#productListing").html(msg);
			}
	});
	
	return false;
}

/*
function test1()
{
//$(window).unload(function() {
  //alert('Handler for .unload() called.');
  
  if (window.closed)
{
alert("Window is closing...");
}
//});
}
*/
