// Custom SELECT 

jQuery.fn.extend({
	styleselect: function(options) {
		return this.each(function() {
			new jQuery.styleSelect(this, options);
		});
	}
});

jQuery.styleSelect = function(obj, options) {
	
	var $obj = jQuery(obj),
		  $list = $obj.find('dd'),
			$trigger = $obj.find('dt a'),
	
	List = {
	
		show : function(){ 
			List.getPosition();
			$list.fadeIn('fast', function(){
				$('body').bind('click',function(){ 
					$('body').unbind(); 
					List.hide();
				});
				$trigger.unbind().bind('click',function(){
					List.hide();	
				});
			});
		},
		
		hide : function(){
			$list.hide('fast', function(){
				$trigger.unbind().bind('click',function(){
					List.show();	
				});
			});
		},
		
		getPosition : function(){
			$list.css({'position':'absolute'});  
		}
	}
	
	$list.hide();
	
	$trigger.bind('click', function(){ List.show() })
		
	$list.find('a').click(function(){
		$trigger.text($(this).text());
		$obj.find('input[type="hidden"]').val($(this).attr('value'));
		List.hide();
	});
	
}

jQuery.cookie = function (key, value, options) {

    // key and at least value given, set cookie...
    if (arguments.length > 1 && String(value) !== "[object Object]") {
        options = jQuery.extend({}, options);

        if (value === null || value === undefined) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        value = String(value);

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? value : encodeURIComponent(value),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};
