/**
* ======================================
* jQuery.styleSwitch.js
* CSS切り替えプラグイン
* ======================================
* 設置条件
* jquery-1.4.2.min.js
* jquery.cookie.js
* -------------------------------------------------------------------
* <ul id="css_switch">設定
* 現在のステータスにonクラスが追加
* -------------------------------------------------------------------
* Exsample
* <script>jQuery(function(){jQuery('#css_switch').styleSwitch();});</script>
* 
* <ul id="css_switch">
*  <li><a href="#small" title="small">小</a></li>
*  <li><a href="#default" title="default">標準</a></li>
*  <li><a href="#big" title="big">大</a></li>
* </ul>
* -------------------------------------------------------------------
* GoogleCromeはローカルではcookieが無効になるので注意
* -------------------------------------------------------------------
*/

(function(jQuery){
  jQuery.fn.styleSwitch = function(){
      
    var headTitle = jQuery('head link[title]');    //css title属性
    var btnLink = jQuery('ul#css_switch li a');    //フォントサイズ変更ボタン
    var cookie_name  = 'cookie_styleswitch';       //cookie名
    var cookie_expires = 365;                      //cookie期限
    var cookie_path = '/';                         //cookie path
    var cookie_no_title = 'default';               //cookie無効の場合のタイトル
    
    //デフォルト設定
    if(jQuery.cookie(cookie_name) == null){
      jQuery.cookie(cookie_name,cookie_no_title,{ expires: cookie_expires, path: cookie_path});
      setupCss();
    } else if (jQuery.cookie(cookie_name)) {
      setupCss();
    };
    
    btnLink.click(function(){
      
      //cookieが入っている場合
      if (jQuery.cookie(cookie_name)) {
        //ボタンのタイトル属性
        var title = jQuery(this).attr('title');
        jQuery.cookie(cookie_name,null);
        jQuery.cookie(cookie_name,title,{ expires: cookie_expires, path: cookie_path});
        
        setupCss();
      };
      
      return false;
      
    });
    
    //CSSセットアップ
    function setupCss(){
      
      //<css link>無効
      headTitle.attr('disabled', 'disabled');
      //CSS設定
      headTitle.each(function(){
        if(jQuery.cookie(cookie_name) == jQuery(this).attr('title')){
          jQuery(this).attr('disabled', '');
        } else if (jQuery.cookie(cookie_name) == null) {
          //cookieが無効だったときはデフォルト適用
          jQuery('head link[title="' + cookie_no_title + '"]').attr('disabled', '');
        }
      });
      
      //現在の箇所にonクラス追加
      btnLink.removeClass('on');
      btnLink.each(function(){
        if(jQuery(this).attr('title') == jQuery.cookie(cookie_name)){
          jQuery(btnLink + '[title="' + jQuery.cookie(cookie_name) + '"]').addClass('on');
        } else if (jQuery.cookie(cookie_name) == null){
          jQuery(btnLink + '[title="' + cookie_no_title + '"]').addClass('on');
        }
      });
      
    };
    
    return this;
      
  };
})(jQuery);
