// Tyylinvaihtaja.js
// Vaihtaa tyylitiedoston
// HM-lab/Hannu Luomanen 2009
//
// Ennakkoehdot
// - sivulla ei ole muita scriptejä kuin tämä 
//   (suoraviivainen window.onload -metodi on käytössä)
// - evästeisiin ei tallenneta muita arvoja kuin tyylitiedoston nimi

// Tuotokset
// - Vaihtaa href-attribuutin sisältöä elementissä, jonka id=hiekkisCSS
// - Luo evästeen jossa tyylitiedoston nimi- ja polkuviittaus on tallessa

function getCookie(searchName)
// Lähde: Edwards, J & Adams, C: The Javascript Anthology, s. 146. Sitepoint 2006
{
    var cookies = document.cookie.split(";");
    for (var i = 0; i < cookies.length; i++)
    {
        var cookieCrumbs = cookies[i].split("=");
        var cookieName = cookieCrumbs[0];
        var cookieValue = cookieCrumbs[1];
        if (cookieName == searchName)
        {
            return cookieValue;
        }
    }
    return false;
}

function asetaValittuTyylitiedosto()
{
    // Tutkitaan josko on tyylitiedosto tarkoitettu vaihdettavaksi ja
    // löytyy jo evästeestä tiedosto niin...
    var olitallennettu = false;
    var tyylitiedosto = getCookie('fonttikoko');
    if (tyylitiedosto != false) olitallennettu = true; 
	if ((olitallennettu == true) && (oTyylitiedosto = document.getElementById('fonttikoko'))) 
    {  
        // asetetaan tyylitiedosto valittuun arvoon
		oTyylitiedosto.href = tyylitiedosto;
    }
	return false;
}

function vaihdaTyylitiedosto(filename)
{
    // Onko sivulla elementtiä mille tyylitiedoston vaihto on tarkoitettu?
    // Tässä elementin id=hiekkisCSS, vaihda sellaiseksi kuin tarvitset.
	if (oTyylitiedosto = document.getElementById('fonttikoko')) {  
        // On, vaihdetaan tyylitiedosto
		oTyylitiedosto.href = filename;
        // Laitetaan uusi asetus talteen
        document.cookie = "fonttikoko = "+filename;
    }
	return false;
}

window.onload = function() {
    asetaValittuTyylitiedosto();
}


