/**
 * Testé avec :
 * getNewMediaValue("handheld", "handheld", "screen")
 * getNewMediaValue("screen", "screen", "handheld")
 * getNewMediaValue("screen,print", "screen", "handheld")
 * getNewMediaValue("handheld,screen,print", "screen", "handheld")
 * getNewMediaValue("handheld,screen,print", "handheld", "screen")
 * getNewMediaValue("handheld, screen, print","handheld", "screen")
 * getNewMediaValue("   handheld   ,   screen   ,    print   ", "screen", "handheld")
 * 
 * */
function getNewMediaValue(media, toRemove, toAdd)
{
	var virguleAvant = false;
	var virguleApres = false;
	var indexOf = media.indexOf(toRemove);
	if (indexOf != -1)
	{
		var debut = jQuery.trim(media.substring(0, indexOf));
		var fin = jQuery.trim(media.substring(indexOf + toRemove.length, media.length));
		
		// On teste si il y a des virgules
		if (debut.indexOf(",") == debut.length)
		{
			debut = debut.substring(0, debut.length - 1);
			virguleAvant = true;
		}
		else if (fin.indexOf(',') == 0)
		{
			fin = fin.substring(1, fin.length);
			virguleApres = true;
		}
		
		// Si le média ne contient pas l'élement à ajouter, on l'ajoute
		if(debut.indexOf(toAdd) == -1 && fin.indexOf(toAdd) == -1)
		{
			var retour;
			if (virguleAvant)
			{
				retour = debut + "," + toAdd + fin;
			}
			else if (virguleApres)
			{
				retour = debut + toAdd + "," + fin;
				
			}
			else 
			{
				retour = debut + toAdd + fin;
			}
			return retour;
		}
		return debut + fin;
	}
	return media;
	
}

function switchStyle(cookieValue, switchLinkLabel, changeLink)
{
	var i, a, main;
	switchLink = $j("#style-switcher a:visible")[0];
	var links = document.getElementsByTagName("link");
	for (i = 0; i < links.length; i++)
	{
		a = links[i];
		if (a.getAttribute("rel").indexOf("style") != -1) 
		{
			var media = a.getAttribute("media") ? a.getAttribute("media") : "screen,print";
			if (media.indexOf("handheld") != -1)
			{
				var newMedia = getNewMediaValue(media, "handheld", "screen");
				a.setAttribute("media", newMedia);
			}
			else
			{
				var newMedia = getNewMediaValue(media, "screen", "handheld");
				a.setAttribute("media", newMedia);
			}
		}
	}
	if (changeLink)
	{
		if (cookieValue == 'DFromH')
		{
			switchLink.href = "javascript:switchStyle('MFromH', '" + $j(switchLink).text() + "', true);";
		}
		else if (cookieValue == 'MFromH')
		{
			switchLink.href = "javascript:switchStyle('DFromH', '" + $j(switchLink).text() + "', true);";
		}
		else if (cookieValue == 'DFromS')
		{
			switchLink.href = "javascript:switchStyle('MFromS', '" + $j(switchLink).text() + "', true);";
		}	
		else if (cookieValue == 'MFromS')
		{
			switchLink.href = "javascript:switchStyle('DFromS', '" + $j(switchLink).text() + "', true);";
		}
		$j(switchLink).text(switchLinkLabel)
	}
	createCookie("style", cookieValue, 365);
}

function createCookie(name, value, days) {
	if (days) {
		var date = new Date;
		date.setTime(date.getTime() + days * 24 * 60 * 60 * 1E3);
		var expires = "; expires=" + date.toGMTString()
	} else
	{
		expires = "";
	}
	document.cookie = name + "=" + value + expires + "; path=/"
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(";");
	for ( var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == " ")
		{
			c = c.substring(1, c.length);
		}
		if (c.indexOf(nameEQ) == 0)
		{
			return c.substring(nameEQ.length, c.length);
		}
	}
	return null;
}
//window.onload = function(e) {
//	var cookie;
//	if (cookie = readCookie("style"))
//	{
//		if (cookie == "DFromH")
//		{
//			switchStyle("DFromH", switchStyleMobileLinkLabel);
//		}
//		else if (cookie == "MFromS")
//		{
//			switchStyle("MFromS", switchStyleDesktopLinkLabel);
//		}
//	}
//};


