/* 
COLORSORT
Tri par couleurs pour Somewhere/Memo, par Tilt Studio
*/
var COLORSORT = function() {
	return {
		init : function() {
			var el = this.getHTMLContainerElement();
			if(el)
			{
				el.className = "sw_colorsort";
				el.innerHTML = this.getHTMLOutput();
			}
		},
		getColors : function() {
			var el = this.getHTMLContainerElement();
			var colorLinks = el.getElementsByTagName("a");
			var colorArray = new Array();
			for(i=0; i < colorLinks.length; i++)
			{
				var color = new Object();
				color.link = colorLinks[i].href;
				color.name = colorLinks[i].innerHTML.toString();
				color.slug = this.getColorSlug(color.name);
				colorArray.push(color);
			}
			return colorArray;
		},
		getColorSlug : function(colorName) {
			colorName = colorName.toLowerCase();
			colorName = colorName.replace(/[àâä]/gi,"a");
			colorName = colorName.replace(/[éèêë]/gi,"e");
			colorName = colorName.replace(/[îï]/gi,"i");
			colorName = colorName.replace(/[ôö]/gi,"o");
			colorName = colorName.replace(/[ùûü]/gi,"u");
			colorName = colorName.replace(/[^a-zA-Z 0-9]+/g,'');
			return colorName;
		},
		getHTMLContainerElement : function() {
			var sw_color_label = "couleurs";
			var memo_nav = document.getElementById("memo_site_navigation_dynamique_automatique");
			var memo_nav_titres = SOMEWHERE.getElementsByClassName("memo_site_navigation_dynamique_automatique_sous_titre", "span", memo_nav);
			for(i=0; i < memo_nav_titres.length; i++)
			{
				var title = (memo_nav_titres[i].innerHTML).toLowerCase();
				if(title==sw_color_label)
					return memo_nav_titres[i].parentNode.parentNode;
			}
			return null;
		},
		getHTMLOutput : function() {
			var colors = this.getColors();
			var output = '<h4 class="sw_colorsort_title">Choix par COULEURS</h4>\n';
			output += '<ul class="sw_colorsort_list">\n';
			for(i=0; i < colors.length; i++)
			{
				output += '<li class="sw_color_'+ colors[i].slug + '"><a href="' + colors[i].link + '" class="sw_color" title="' + colors[i].name + '"><span>' + colors[i].name + '</span></a></li>\n';
			}
			output += '</ul>\n';
			output += '<div class="sw_clear"></div>';
			return output;
		}
	};
}();
COLORSORT.init();