/*
* magnum universal extention
* 
* sizeswitcher app
*
* writen by Magnum
*
* $Date: 2008-12-15$
*/

mag.sizeswitcher = {};

mag.sizeswitcher.childers = function(elm,styles){
 if(elm.hasChildNodes()){
 }
}

mag.sizeswitcher.activate =function(title){
 var i, a, main;
 for(i=0;(a = document.getElementsByTagName("link")[i]);i++){
  if(a.getAttribute("title") != null && a.getAttribute("title")) {
   a.disabled = true;
   if(a.getAttribute("title") == title){
    a.disabled = false;
    if(mag.agent.ie()){
     var css = document.styleSheets;     
     var rules = css.item(i).rules;
     for(var k = 0;k < rules.length;k++){
      var rule = rules.item(k);
      if(rule.selectorText){
       var trgclass = rule.selectorText;
       var cssvalue = rule.style.fontSize;
       if(cssvalue.length > 0 && parseInt(cssvalue) > 0){
        if(trgclass.match('^[.]')){
         var trg = mag.get.classname(trgclass.substring(1,trgclass.length));
         if(trg != null){
          for(var j = 0;j < trg.length;j++){
           trg[j].style.fontSize = cssvalue;
          }
         }
        }else if(trgclass.match('^[#]')){
         var trg = mag.get.id(trgclass.substring(1,trgclass.length));
         if(trg != null){
          trg.style.fontSize = cssvalue;
         }       
        }else{
         var trg = mag.get.tag(trgclass);
         if(trg != null){
          for(var j = 0;j < trg.length;j++){
           trg.item(j).style.fontSize = cssvalue;
          }
         }
        }
       }
      }
     }
    }
   }
  }
 }
}

mag.sizeswitcher.getactive = function(){
 var i, a;
 for(i = 0;(a = document.getElementsByTagName("link")[i]);i++){
  if(a.getAttribute("rel") && a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled){
   return a.getAttribute("title");
  }
 }
 return null;
}

mag.sizeswitcher.getpreferred = function(){
 var i, a;
 for(i = 0;(a = document.getElementsByTagName("link")[i]);i++){
  if(a.getAttribute("rel") && a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title")){
   return a.getAttribute("title");
  }
 }
 return null;
}

mag.event.addListener(window,'unload',function(){
 var active = mag.sizeswitcher.getactive();
 mag.cookie.write("style",active,365);
});

mag.event.addListener(window,'load',function(){ 
 var cookie = mag.cookie.read("style");
 var title = cookie?cookie:mag.sizeswitcher.getpreferred();
 mag.sizeswitcher.activate(title); 
});
