// JavaScript Document

var doSearch = 0;

(function($) {
    $.fn.extend({
        stonesearch: function(options) {
			
			var defaults = {
    			  loaderBox: '',
				  resultsTarget: '',
				  url: '',
				  shapesId: '',
				  certsId: '',
				  pricesId: '',
				  caratId: '',
				  cutId: '',
				  colorId: '',
				  clarityId: '',
				  pageId: '',
				  sortId: '',
				  priceTypeId: ''
			};

			
			var options = $.extend(defaults, options);
			
			return this.each(function() { 
				var obj = $(this);
				var objId = obj.attr('id');
				var op = options;
				
				clearTimeout(doSearch);
				doSearch = setTimeout("$(this).getStones('" + op.loaderBox + "','" + op.resultsTarget + "', '" + op.url + "', '" + op.shapesId + "', '" + op.pricesId + "', '" + op.caratId + "', '" + op.cutId + "', '" + op.colorId + "', '" + op.clarityId + "', '" + op.pageId + "', '" + op.sortId + "', '" + op.priceTypeId + "', '" + op.certsId + "')", 1200);
				
				obj.setLoader(op.loaderBox);
			})
        }
    });
	
	$.fn.setLoader = function(target)
	{
		$('#' + target).slideDown(500);
	}
	
	$.fn.disableLoader = function(target)
	{
		$('#' + target).slideUp(500);
	}
	
	$.fn.getStones = function(loader, resultsTarget, url, shapesId, pricesId, caratId, cutId, colorId, clarityId, pageId, sortId, priceTypeId, certsId)
	{
		var shapes      = $('#' + shapesId).val();
		var certs       = $('#' + certsId).val();
		var prices      = $('#' + pricesId).val();
		var carat       = $('#' + caratId).val();
		var cut         = $('#' + cutId).val();
		var color       = $('#' + colorId).val();
		var clarity     = $('#' + clarityId).val();
		var page        = $('#' + pageId).val();
		var priceType   = $('#' + priceTypeId).val();
		var sort        = $('#' + sortId).val();
		
		$.post(url, {
			   		action: 'getStones',
					shapes: shapes,
					certs: certs,
					prices: prices,
					carat: carat,
					cut: cut,
					color: color,
					clarity: clarity,
					page: page,
					priceType: priceType,
					sort: sort
				}, function (data){
				   		$(this).disableLoader(loader);
						$('#' + resultsTarget).html(data);
					});
	}
	
})(jQuery);


