listMode = false;

function toggleListIconView (theMode) {
	
	var displayList = document.getElementsByClassName("listview")[0];
	var displayGrid = document.getElementsByClassName("thumbview")[0];
	var productList = document.getElementsByClassName("product_list")[0];
	
	var displayListBtn = document.getElementsByClassName("list_btn")[0];
	var displayGridBtn = document.getElementsByClassName("grid_btn")[0];
	
	if(theMode == 'list'){
		listMode = true;
	} else {
		listMode = false;
	}

	displayListBtn.removeClassName('down');
	displayGridBtn.removeClassName('down');
	
	displayList.removeClassName('show');
	displayList.removeClassName('hide');
	displayGrid.removeClassName('show');
	displayGrid.removeClassName('hide');
	
	if (theMode == 'list') {
		
		displayListBtn.addClassName('down');
		displayList.addClassName('show');
		displayGrid.addClassName('hide');
		productList.addClassName('list_support');
		
	}else{
		
		displayGridBtn.addClassName('down');
		displayList.addClassName('hide');
		displayGrid.addClassName('show');
		productList.removeClassName('list_support');
	}
	
}

function sortRedirect(evt) {
	uriObject = parseUri(location.href);
	queryParams = uriObject.query.toQueryParams();
	newSort = evt.target.value;
	
	if(newSort == "")
		delete queryParams.sortci;
	else
		queryParams.sortci = newSort;
	
	newParamString = Object.toQueryString(queryParams);
	
	newUri = uriObject.protocol + "://" + uriObject.authority + uriObject.path + (newParamString == "" ? "" : ("?" + newParamString)) + (uriObject.anchor == "" ? "" : ("#" + uriObject.anchor));
	location.href = newUri;
}

// automatically install on every select with name = "sortci" as soon as the page loads
Event.observe(window, "load", function() {
	$$("select[name='sortci']").each(function(x) {
		Event.observe(x, "change", sortRedirect);
	});
});

// parseUri 1.2.2
// (c) Steven Levithan <stevenlevithan.com>
// MIT License

function parseUri (str) {
	var	o   = parseUri.options,
		m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
		uri = {},
		i   = 14;

	while (i--) uri[o.key[i]] = m[i] || "";

	uri[o.q.name] = {};
	uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
		if ($1) uri[o.q.name][$1] = $2;
	});

	return uri;
};

parseUri.options = {
	strictMode: false,
	key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
	q:   {
		name:   "queryKey",
		parser: /(?:^|&)([^&=]*)=?([^&]*)/g
	},
	parser: {
		strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
		loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
	}
};

