$(document).ready(function()
{
	//page load logic
	
	//add tooltips to anything that has the "tooltip" class
	$(".tooltip").tooltip({extraClass: "tooltip",showURL: false});
	
	//add hovering for product listing swatch images
	$(".prod-image-color").hover(function()
	{
		var prodID = $(this).attr("prodID");
		var prodColorSource = $(this).attr("prodColorSource");
		$("#products-list-" + prodID).attr("src", prodColorSource);
		
	});
	
	//left nav controls
	$(".left-nav-control").click(function()
	{
		var controlState = $(this).attr('state');
		var navID = $(this).attr('navID');
		if(!controlState) controlState = 'collapsed';
		var action = 'expand';
		if(controlState == 'expanded') action = 'collapse';
		leftNavChange($(this), navID, action);
	});
	
	$(".search-color-clear").click(function()
	{
		$.ajax({
		  url: '/shared/searchSetup.cfm',
		  data: 'cc=1',
		  success: pageReload	 
		});
	});
	
	$(".search-color").click(function()
	{
		var color = $(this).attr('color');
		var selected = $(this).attr('selected');
		var src = $(this).attr('src');
		var qs = 'ck=' + randNum();					
		
		//change image to selected (or not)
		if(selected == "1")
		{
			src = src.replace('_select','_reg');
			$(this).attr('src',src);
			$(this).attr('selected',0);
			qs += '&cr=' + color;
		}
		else
		{
			src = src.replace('_reg','_select');			
			$(this).attr('src',src);
			$(this).attr('selected',1);
			qs += '&ca=' + color;
		}
		
		$.ajax({
		  url: '/shared/searchSetup.cfm',
		  data: qs,
		  success: pageReload		 
		});
		
		
	});
	
	$(".search-size-clear").click(function()
	{
		$.ajax({
		  url: '/shared/searchSetup.cfm',
		  data: 'ck=' + randNum() + '&sc=1',
		  success: pageReload	 
		});
	});
	
	$(".search-size").click(function()
	{
		var size = $(this).attr('size');
		var selected = $(this).attr('selected');
		var src = $(this).attr('src');		
		var qs = 'ck=' + randNum();	
		
		//change image to selected (or not)
		if(selected == "1")
		{
			src = src.replace('_select','_reg');
			$(this).attr('src',src);
			$(this).attr('selected',0);
			qs += '&sr=' + size;
		}
		else
		{
			src = src.replace('_reg','_select');			
			$(this).attr('src',src);
			$(this).attr('selected',1);
			qs += '&sa=' + size;
		}
		
		$.ajax({
		  url: '/shared/searchSetup.cfm',
		  data: qs,
		  success: pageReload	 
		});
		
	});
});

function pageReload(resp)
{
	resp = jQuery.trim(resp.toString());
	var current_loc = document.location;	
	var new_loc = current_loc.toString();		
	new_loc = removeURLParam(new_loc,"ck");
	
	if(resp == "0")
		new_loc = '/search/';
	else if(resp.indexOf('search') >= 0)
	{
		new_loc = resp;
		new_loc = removeURLParam(new_loc,"ck");
	}	
	
	if(new_loc.charAt(new_loc.length -1) == "?")
		new_loc += "ck=" + randNum();
	else if(new_loc.indexOf("?") >= 0)
		new_loc += "&ck=" + randNum();
	else
		new_loc += "?ck=" + randNum();
			
	document.location = new_loc;
}

function leftNavChange(elem, navID, action)
{
	if(action == 'expand')
	{
		$("#product-filter-" + navID).slideDown();
		$(elem).attr('state','expanded');
		$("#left-nav-control-image-" + navID).attr('src','/interface/nav/collapse.gif');
	}
	else
	{
		$("#product-filter-" + navID).slideUp();
		$(elem).attr('state','collapsed');
		$("#left-nav-control-image-" + navID).attr('src','/interface/nav/expand.gif');
	}
}

function removeURLParam(url, parameter)
{
	var urlparts= url.split('?');
	if (urlparts.length>=2) {
	
	    var prefix= encodeURIComponent(parameter)+'=';
	    var pars= urlparts[1].split(/[&;]/g);
	    for (var i= pars.length; i-->0;)               
	        if (pars[i].lastIndexOf(prefix, 0)!==-1)
	            pars.splice(i, 1);
	    url= urlparts[0]+'?'+pars.join('&');
	}
	
	return url;
}

function randNum()
{
	return Math.floor(Math.random()*100000);
}

