/**

 * Cookie plugin

 *

 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)

 * Dual licensed under the MIT and GPL licenses:

 * http://www.opensource.org/licenses/mit-license.php

 * http://www.gnu.org/licenses/gpl.html

 *

 */

jQuery.cookie = function(name, value, options) {

    if (typeof value != 'undefined') { // name and value given, set cookie

        options = options || {};

        if (value === null) {

            value = '';

            options.expires = -1;

        }

        var expires = '';

        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {

            var date;

            if (typeof options.expires == 'number') {

                date = new Date();

                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));

            } else {

                date = options.expires;

            }

            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE

        }

        // CAUTION: Needed to parenthesize options.path and options.domain

        // in the following expressions, otherwise they evaluate to undefined

        // in the packed version for some reason...

        var path = options.path ? '; path=' + (options.path) : '';

        var domain = options.domain ? '; domain=' + (options.domain) : '';

        var secure = options.secure ? '; secure' : '';

        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');

    } else { // only name given, get cookie

        var cookieValue = null;

        if (document.cookie && document.cookie != '') {

            var cookies = document.cookie.split(';');

            for (var i = 0; i < cookies.length; i++) {

                var cookie = jQuery.trim(cookies[i]);

                // Does this cookie string begin with the name we want?

                if (cookie.substring(0, name.length + 1) == (name + '=')) {

                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));

                    break;

                }

            }

        }

        return cookieValue;

    }

};
////JSTYLER/////
(function($){
    $.fn.switcher = function(options){
        var def_cookie;
        $('link').each(function(){	
            if($(this).attr('title') != undefined){
                if ($(this).attr('title').length != 0){
                    def_cookie = $(this).attr('title');
                    return false;
                }	
            }
        });
        var cookie = jQuery.cookie('jquery_default_stylesheet');
        if(cookie == null){
            chooser(this,def_cookie);
        }
        else{
            chooser(this,cookie);
        }
        clicker(this);
    };

    function clicker($obj){
        $('#' + $obj.attr('id') + ' a').click(function(){
            var target = $(this).attr('href').substring(1,$(this).attr('href').length);
            chooser($obj,target);
            return false;
        });	
    };

    function chooser($obj,$target){
        $('link').each(function(){	
            if($(this).attr('title') != undefined){
                if ($(this).attr('title').length != 0) {
                    $stylesheet = $(this);
                    $stylesheet.attr('disabled', true);
                    $('#' + $obj.attr('id') + ' a[href!=#' + $target + ']').removeClass('on');
                    if ($stylesheet.attr('title') == $target) {
                        $stylesheet.attr('disabled', false);
                        $.cookie('jquery_default_stylesheet', $target, {
                            expires: 365,
                            path: '/'
                        });
                        $('#' + $obj.attr('id') + ' a[href=#' + $target + ']').addClass("on");
                    }
                }
            }
        });

    };
})(jQuery);
