//On Page Ready
	jQuery(document).ready( function() {
		winResize();
		
		//jQuery("div.aslider").hide();
		jQuery("#show-more").hide();
		
		jQuery('#slideshow_thumbs').localScroll({
			target: '#slideshow', // could be a selector or a jQuery object too.
			queue:false,
			duration:500,
			hash:true,
			onBefore:function( e, anchor, $target ){
				jQuery('#slideshow_cover').show();
			},
			onAfter:function( anchor, settings ){
				//alert(settings);
				jQuery('#slideshow_cover').fadeOut();
			}
		});
		
		jQuery(window).scroll(function() {
			
			if ( jQuery('#sq-working').val() < 1 ) {
				if ( ( jQuery("#show-more").is(':visible') ) ){
					
					if ( isScrolledIntoView( jQuery("#show-more")) ) {
						//alert(isScrolledIntoView( jQuery("#show-more"))+":"+jQuery("#show-more").is(':visible'));
						//getProductJson(false);
					}
				}
			}
		});
		
		jQuery("#slideshow_thumbs").simplyScroll({
			frameRate: 29,
			speed: 4,
			horizontal: true
		});
		
		if (sq.min_val) {
			//jQuery('#min-val').val(sq.min_val);
			//jQuery('#price-slide').slideToggle('fast');
			var set_min = sq.min_val;
			isSq = true;
		} else {
			var set_min = 0;
		}
		if (sq.max_val) {
			//jQuery('#max-val').val(sq.max_val);
			//jQuery('#price-slide').slideToggle('fast');
			var set_max = sq.max_val;
			isSq = true;
		} else {
			var set_max = 2200;
		}
		jQuery('#max-val').val(set_max);
		jQuery('#min-val').val(set_min);
//Price Slider
			jQuery( "#price-slider" ).slider({
				values: [ set_min, set_max ],
				range: true,
				min: 0,
				max: 2000,
				step: 50,
				slide: function( event, ui ) {
					jQuery("#price-amount").val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
					//jQuery('#price-min').val(ui.values[ 1 ]);
					jQuery('#max-val').val(ui.values[ 1 ]);
					jQuery('#min-val').val(ui.values[ 0 ]);
				},
				stop: function( event, ui ) {
					jQuery("#json-loader").fadeIn();
					jQuery('#sq-position').val(1);
					getProductJson(true);
				}
			});
			jQuery("#price-amount").val("$" + jQuery( "#price-slider" ).slider( "values", 0 ) + " - $" + jQuery( "#price-slider" ).slider( "values", 1 ));
			
			

		
		if ( !sq.q ) {
		initSq();
		}
		
		jQuery(window).resize(function() {
			winResize();
		});
		
		jQuery('#fullscreen-open').click(function() {
			//jQuery('.products-grid').addClass('fullscreen');
			//jQuery('.products-grid').removeClass('products-grid');
			jQuery('#products-grid-holder').addClass('fullscreen');
			jQuery('#fullscreen-open').hide();
			jQuery('#fullscreen-close').show();
		});
		jQuery('#fullscreen-close').click(function() {
			//jQuery('.products-grid').addClass('fullscreen');
			//jQuery('.products-grid').removeClass('products-grid');
			jQuery('#products-grid-holder').removeClass('fullscreen');
			jQuery('#fullscreen-close').hide();
			jQuery('#fullscreen-open').show();
		});
		
		//Navigation Dropdown
		jQuery('#nav > li').mouseover(function() {
		  jQuery(this).find("ul.expand").show();
		}).mouseout(function(){
		  jQuery(this).find("ul.expand").hide();
		});
		
		//Product hovers
		hoverProducts();
		
		//resetSq
		jQuery('#resetSq').click(function() {
			resetSq();
		});
		jQuery('#show-more').click(function() {
			//jQuery("#json-loader").fadeIn();
			getProductJson(false);
		});
		//Menu Accordian
		jQuery('.accordian').click(function() {
			jQuery('#'+jQuery(this).attr('rel')).slideToggle('fast');
		});
		
		//On Element Update
		jQuery('#stone-sort a.skey-stone').click(function() {
			doSearch('stone', this);
		});
		//On Type Update
		jQuery('#style-sort a.skey-type').click(function() {
			//resetStyle(jQuery(this).attr('res'));
			
			resetStyle(jQuery(this).attr('rel')+'');
			doSearch('type', this);
		});
		
		
		//On Element Update
		jQuery('#style-sort a.skey-ring').click(function() {
			doSearch('ring', this);
		});
		//On Element Update
		jQuery('#style-sort a.skey-earring').click(function() {
			doSearch('earring', this);
		});
		//On Element Update
		jQuery('#style-sort a.skey-necklace').click(function() {
			doSearch('necklace', this);
		});
		//On Element Update
		jQuery('#style-sort a.skey-bracelet').click(function() {
			doSearch('bracelet', this);
		});
		
		//On Color Update
		jQuery('#color-sort a.skey-color').click(function() {
			doSearch('color', this);
		});
		//On Metal Update
		jQuery('#metal-sort a.skey-metal').click(function() {
			doSearch('metal', this);
		});
		//On Trend Update
		jQuery('#trend-sort a.skey-trend').click(function() {
			doSearch('trend', this);
		});

		
	});
	
	function resetStyle(f) { // old - remove
		//jQuery.each(resF, function(i, val) {
				//var thisVal = jQuery('#style-val').val();
				//thisVal = thisVal.replace(","+val, '');
				//thisVal = thisVal.replace(val, '');
				//jQuery('.sub').hide();
				//jQuery('#ring-val').val('');
				//jQuery('#earring-val').val('');
				//jQuery('#bracelet-val').val('');
				//jQuery('#necklace-val').val('');
				//jQuery('#type-val').val('');
				//jQuery('.skey-style[rel="'+val+'"]').fadeTo('fast', 1.00);
				//alert('.skey-style[rel="'+val+'"]');
			//});
			resetOptions(f);
	}
//Search	
	function doSearch(f, thisClick) {
		jQuery('#current-category').val('3');
		jQuery('.breadcrumbs-right li a').removeClass('active');
		jQuery('.breadcrumbs-right li a#all').addClass('active');
		jQuery("#json-loader").fadeIn();
		jQuery("#show-more").hide();
		    var thisVal = jQuery('#'+f+'-val').val();
		    var val = jQuery(thisClick).attr('rel');
		    var isParent = jQuery('.skey-'+f+'[rel="'+val+'"]').hasClass('parent');
		    
		    //alert(jQuery(thisClick).attr('rel'));
		    if ( isActive( f,val ) ) {
				thisVal = thisVal.replace(","+jQuery(thisClick).attr('rel'), '');
			    thisVal = thisVal.replace(jQuery(thisClick).attr('rel'), '');

			    jQuery('#'+f+'-val').val(thisVal);
				 if (isParent) {
				 	jQuery('#'+val+'-sub').hide('fast');
				 }
				 
			} else {
			    if ( thisVal !== '' ) {
			    	jQuery('#'+f+'-val').val( thisVal+","+jQuery(thisClick).attr('rel') );
			    	if (isParent) {
					 	jQuery('#'+val+'-sub').show('fast');
					 }
			    } else {
			    	jQuery('#'+f+'-val').val(jQuery(thisClick).attr('rel'));
			    	if (isParent) {
					 	jQuery('#'+val+'-sub').show('fast');
					 }
				}
			}
			//cleanValue(f);
			jQuery("li.item").remove();
			resetOptions(f);
			getProductJson(true);
	}
// Clean
	function cleanValue(f) {
		var activeF = new String(jQuery('#'+f+'-val').val());
		//var activeF = jQuery('#'+f+'-val').val();
		//JSON.stringify(activeF);
		//if (activeF.Substring(0, 1) == ",")
        //activeF = activeF.Substring(1);
        
		jQuery('#'+f+'-val').val(activeF);
	}
//Reset Options
	function resetOptions(f) {
		jQuery('#sq-position').val(1);
		
		var activeF = jQuery('#'+f+'-val').val().split(',');
		jQuery('.skey-'+f+' span').fadeTo('fast', 0.20);
			jQuery.each(activeF, function(i, val) {
				 	jQuery('.skey-'+f+'[rel="'+val+'"] span').fadeTo('fast', 1.00);
			});
		if (jQuery('#'+f+'-val').val() == '')
		jQuery('.skey-'+f+' span').fadeTo('fast', 1.00);
	}
//Just checking to see what colors are active
	function isActive(f,q) {
		var activeF = jQuery('#'+f+'-val').val();
		if (activeF == '') {
			//alert(activeF+'1'+q);
			return false;
		}
		if (activeF == q) {
			//alert(activeF+'2'+q);
			return true;
		}
		var activeFs = activeF.split(',');
		if (jQuery.isArray(activeFs)) {
		var isIn = jQuery.inArray( q, activeFs );
			if (isIn > -1) {
				return true;
			} else {
				//alert(activeF+'3'+q);
				return false;
			}
		}
		return false;
	}
//init sq
	function initSq() {
		var isSq = true;
		if (sq.trend) {
			jQuery('#trend-val').val(sq.trend);
			//jQuery('#trend-sort').slideToggle('fast');
			resetOptions('trend');
			isSq = true;
		}
		if (sq.color) {
			jQuery('#color-val').val(sq.color);
			//jQuery('#color-sort').slideToggle('fast');
			resetOptions('color');
			isSq = true;
		}
		if (sq.stone) {
			jQuery('#stone-val').val(sq.stone);
			//jQuery('#stone-sort').slideToggle('fast');
			resetOptions('stone');
			isSq = true;
		}
		if (sq.style) {
			jQuery('#style-val').val(sq.style_type);
			//jQuery('#style-sort').slideToggle('fast');
			resetOptions('style');
			isSq = true;
		}
		if (sq.product_type) {
			jQuery('#type-val').val(sq.product_type);
			jQuery('#'+sq.product_type+'-sub').show('fast');
			//jQuery('#style-sort').slideToggle('fast');
			resetOptions('type');
			isSq = true;
		}
		if (sq.bracelet_style) {
			jQuery('#bracelet-val').val(sq.bracelet_style);
			//jQuery('#style-sort').slideToggle('fast');
			resetOptions('bracelet');
			isSq = true;
		}
		if (sq.ring_style) {
			jQuery('#ring-val').val(sq.ring_style);
			//jQuery('#style-sort').slideToggle('fast');
			resetOptions('ring');
			isSq = true;
		}
		if (sq.earring_style) {
			jQuery('#earring-val').val(sq.earring_style);
			//jQuery('#style-sort').slideToggle('fast');
			resetOptions('earring');
			isSq = true;
		}
		if (sq.necklace_style) {
			jQuery('#necklace-val').val(sq.necklace_style);
			//jQuery('#style-sort').slideToggle('fast');
			resetOptions('necklace');
			isSq = true;
		}
		
		//if (sq.min_val) {
		//	jQuery('#min-val').val(sq.min_val);
		//	//jQuery('#price-slide').slideToggle('fast');
		//	var set_min = sq.min_val;
		//	isSq = true;
		//} else {
		//	var set_min = 100;
		//}
		//if (sq.max_val) {
		//	jQuery('#max-val').val(sq.max_val);
		//	//jQuery('#price-slide').slideToggle('fast');
		//	var set_max = sq.max_val;
		//	isSq = true;
		//} else {
		//	var set_max = 2000;
		//}
		if (sq.metal) {
			jQuery('#metal-val').val(sq.metal);
			//jQuery('#metal-sort').slideToggle('fast');
			resetOptions('metal');
			isSq = true;
		}

		if (isSq) {
			jQuery("li.item").remove();
			jQuery("#json-loader").fadeIn();
			getProductJson(true);
		}
	}
	
// reset Sq 
	function resetSq() {
	
			jQuery('#trend-val').val('');
			//jQuery('#trend-sort').hide('fast');
			resetOptions('trend');
			jQuery('#color-val').val('');
			//jQuery('#color-sort').hide('fast');
			resetOptions('color');
			jQuery('#stone-val').val('');
			//jQuery('#stone-sort').hide('fast');
			resetOptions('stone');
			jQuery('#necklace-val').val('');
			jQuery('#ring-val').val('');
			jQuery('#earring-val').val('');
			jQuery('#bracelet-val').val('');
			jQuery('#type-val').val('');
			//jQuery('#style-sort').hide('fast');
			resetOptions('ring');
			resetOptions('earring');
			resetOptions('necklace');
			resetOptions('bracelet');
			resetOptions('type');
			jQuery('#max-val').val('2000');
			jQuery('#min-val').val('0');
			//jQuery('#price-slide').hide('fast');
			jQuery('#sq-position').val('0');
			// lefthere
			jQuery( "#price-slider" ).slider({
				values: [ 0, maxPrice ],
				range: true,
				min: 0,
				max: 2000,
				step: 50,
				slide: function( event, ui ) {
					jQuery("#price-amount").val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
					//jQuery('#price-min').val(ui.values[ 1 ]);
					jQuery('#max-val').val(ui.values[ 1 ]);
					jQuery('#min-val').val(ui.values[ 0 ]);
				},
				stop: function( event, ui ) {
					jQuery("#json-loader").fadeIn();
					getProductJson(true);
				}
			});
			jQuery("#price-amount").val("$" + jQuery( "#price-slider" ).slider( "values", 0 ) + " - $" + jQuery( "#price-slider" ).slider( "values", 1 ));

			jQuery('#metal-val').val('');
			jQuery('#metal-sort').hide('fast');
			resetOptions('metal');
		jQuery("li.item").remove();
		jQuery("#json-loader").fadeIn();
		getProductJson(true);
	}
// Product hovers
	function hoverProducts() {
		jQuery('.products-grid li.item').mouseover(function() {
		  jQuery(this).addClass("active");
		}).mouseout(function(){
		  jQuery(this).removeClass("active");
		});
	}


//Keep that footer stuck
	function winResize() {
		winHeight = jQuery(window).height()-325;
		jQuery('.main-container').css("min-height",winHeight);
	}

//Go get the products
	function getProductJson(clearAll) {
		jQuery('#sq-working').val(1);
		
		if (clearAll == true) {
	    jQuery("li.item").remove();
	    jQuery("li.divider").remove();
		} else {
		jQuery("#show-text").html('loading...');
		}
		
		var perPage = 30;
		var eqColor = jQuery('#color-val').val();
		var maxPrice = jQuery('#max-val').val();
		var minPrice = jQuery('#min-val').val();
		var eqStone = jQuery('#stone-val').val();
		var eqMetal = jQuery('#metal-val').val();
		var eqTrend = jQuery('#trend-val').val();
		var eqEaringStyle = jQuery('#earring-val').val();
		var eqRingStyle = jQuery('#ring-val').val();
		var eqNecklaceStyle = jQuery('#necklace-val').val();
		var eqBraceletStyle = jQuery('#bracelet-val').val();
		var eqType = jQuery('#type-val').val();
		var sqPosition = jQuery('#sq-position').val();
		var currentCategory = jQuery('#current-category').val();
		jQuery.get('//gemmaredux.com/json-list/?c='+currentCategory+'&like:color='+eqColor+'&like:stone_type='+eqStone+'&to:price='+maxPrice+'&from:price='+minPrice+'&like:metal_type='+eqMetal+'&like:trend='+eqTrend+'&eq:product_type='+eqType+'&like:bracelet_style='+eqBraceletStyle+'&like:necklace_style='+eqNecklaceStyle+'&like:ring_style='+eqRingStyle+'&like:earring_style='+eqEaringStyle+'&st='+sqPosition+'&perPage='+perPage, {}, function(data) {

		if (data.valid>0) {
			var list = jQuery(".category-products").find('ul');
			if (clearAll == false) {
				//list.append('<li class="divider"></li>');
			}
			jQuery('#sq-position').val(data.sqPosition);
			
			jQuery.each(data.products, function(i) {

				 list.append('<li class="item"><a href="'+data.products[i].url+'"><img src="'+data.products[i].img+'" width="150" height="150" alt="'+data.products[i].name+'" title="'+data.products[i].name+'"/></a><div class="product-name-list" rel="'+data.products[i].url+'">'+data.products[i].desc+'</div></li>');
			});

			jQuery("#json-loader").fadeOut();
			if (data.count < 1) {
				jQuery("#no-products").fadeIn(2000, function () {
		            jQuery("#no-products").delay(1400).fadeOut(800);
		          });
			} else {
				jQuery('.product-name-list').mouseover(function() {
				  //jQuery(this).show();
				  jQuery(this).fadeTo('fast', 0.7);
				}).mouseout(function(){
				  //jQuery(this).hide();
				  jQuery(this).fadeTo('fast', 0.0);
				});
				
				jQuery('.product-name-list').click(function() {
					//window.location = jQuery(this).attr('rel');
					jQuery('#prod-form').attr("action", jQuery(this).attr('rel'));
					jQuery('#prod-form').submit();
				});
			}
			if (data.last == 1) {
				jQuery("#show-more").hide();
				
			} else {
				jQuery("#show-text").html('Show More');
				jQuery("#counting").html('('+eval(data.total-(sqPosition*perPage))+' more)');
				jQuery("#show-more").show();
				jQuery('#sq-working').val(0);
			}
			
			hoverProducts();
		} else {
			alert('Failed:'+data.msg);
		}
		}, "json");
	}
	function isScrolledIntoView(elem)
	{
	    var docViewTop = jQuery(window).scrollTop();
	    var docViewBottom = docViewTop + jQuery(window).height();
	
	    var elemTop = jQuery(elem).offset().top;
	    var elemBottom = elemTop + jQuery(elem).height();
	
	    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
	}
