/*
css dosyamızın değişmesi için fonksiyonumuza başlıyoruz
*/
function degis(tema)
{
var i, link_tag ;
 /*
link_tag = document.getElementsByTagName("link") ;
Satırı ile sayfamızda bulunan "link" taglarını link_tag değişkenine
atıyoruz, şu anda bunun sonucu 1 dönecektir
Yani 0 ve 1 (toplam 2 ) iki adet css dosyamızı atadık.
  */
for (i = 0, link_tag = document.getElementsByTagName("link") ;
i < link_tag.length ; i++ ) {

/*
bir döngü kurarak css temalarının adlarını sorgulayacağız
önce tüm css dosyalarımızı pasif hale getiriyoruz
içlerinden birinin adı bizim tercihimiz ile uyuşuyorsa onu aktif hale getireceğiz ve değişim gerçekleşecek
*/
if(link_tag[i].rel.indexOf("sty")==0 || link_tag[i].rel.indexOf("alt")==0) {
/*
bu satırla daha önce tespit ettiğimiz kaç tane link varsa eğer bunların "rel" tagında "stylesheet","style" ya da "alternative"
anahtar kelimeleri geçiyorsa kontrolü yapıyoruz ve
css'leri pasif hale getiriyoruz

bu arada bu satır yerine aşağıdaki iki satırı da yazabilirdik
if(link_tag[i].rel.match(/^sty|^alt/i)) {
ya da
if ((link_tag[i].rel.indexOf( "stylesheet" ) != -1) && link_tag[i].title) {
*/
//yukarıda bahsi geçen pasif hale getirme
link_tag[i].disabled = true ;

if (link_tag[i].title == tema) {
 /*
eğer seçtiğimiz temanın adı sorguladığımız sıradaki link tag'ı ile uyuşuyorsa onu aktif hale getiriyoruz, bu css'i çağırmaya yarıyor.
döngü bitiyor

diyebilirsiniz ki "-peki 5 ya da 15 css dosyamız varsa ne olacak?"

bu örnekte iki link kullandık biri değilse diğeri olduğundan
işlem hemen bitti gözüküyor.ama eşleşme tespit ettikten
sonra döngümüz durmuyor, evet bir kere temamızla
eşleştiği anda o link aktif oluyor. diğer linkler uyuşmayacağı
için onlar teker teker pasif hale gelmeye devam ediyor
ancak endişelenmeyin bunlar 0.01 saniyede gerçekleşiyor:)
uzun bir işlem değil.
 */
link_tag[i].disabled = false ;
      }
    }
/*
artık temamız değiştiğine göre bunu cookie 'lerimize yazalım
böylece her girişimizde değiştirmek zorunda kalmayız.
aşağıda cookie'lere yazma olayını anlatacağım
burada kullandığım fonksiyonu set_cookie olarak yazıyorum
aşağıda gördüğünüz "stil" cookie adımız, istediğiniz ismi verebilirsiniz
ikincisi "tema" olarak geçen değişkenimiz, yani css dosyası adı olarak geçiyor
bu aynı zamanda cookie değerimiz oluyor...
yanındaki 30 ise cookie'nin kalacağı gün sayısını gösteriyor
yani bir tema seçtiğiniz bu 30 gün boyunca otomatik seçiminiz olarak karşınıza gelecek
sonra otomatik olarak ilk temaya geri dönecek, bu süreyi uzatmak elbette sizin tercihiniz.
*/
set_cookie( "stil", tema, 30 );
  }
}
/*
cookie'leri oluşturmak için fonksiyonumuz

http://www.w3schools.com/JS/js_cookies.asp

adresinden olduğu gibi aldım
çok kullanışlı ve ayrı bir  çaba sarf etmeye gerek yok.
yukarıda anlattığım verileri girdiğimizde yani cookie adı, cookie değeri ve gün sayısı hemen oluşuyor
*/
function set_cookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
/*
oluşturduğumuz cookie'leri çağırmak için fonksiyonumuz
yine http://www.w3schools.com/JS/js_cookies.asp adresinden aldım.
önceden verdiğimiz "stil" adıyla cookie'mizi çağırdığımızda yine önceden verdiğimiz değeri bize veriyor

*/
function get_cookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}
/*
tema değişikliği fonksiyomuz
bunu bilgisayarımızın hatırlaması için cookie oluşturma fonksiyonumuz
ve son olarak seçimimizi öğrenmek için birde cookie çağırma fonksiyonumuz var
ancak son olarak tarayıcımızın bu web sayfası için bir tema seçip seçmediğimizi sorgulaması için bir fonksiyona ihtiyacımız var
her sayfaya girdiğimizde bunu kontrol ettirecek bir fonksiyon
bu da hemen aşağıda....
*/
function cookiekontrol()
{
  var tema = get_cookie("stil");
  if (tema.length) {
    degis( tema );
  }
}
/*
önce tema değişkenimize stil cookie'sinin değerini atıyoruz
eğer stil 'in bir değeri varsa yani sıfırdan büyük ise
degis fonksiyonumuz buna göre tetikleniyor
ve temamız değişerek ekrana geliyor.
bunu her sayfaya girişte yapabilmek için body onload kısmına eklememiz gerekiyor
<body onload="cookiekontrol()">
*/
