/*
*	fontSizeSwitcher use jQuery 
*	Author : takaaki.koyama
*	Update : 2008.06.13
*	Version : 0.0.2
*	License : MIT
*/
/*-----------------------------------------------------------------------------------------------------------
setting roll over image
@def@  *_out.gif
@over@*_over.gif

setting config
	area				: $('#main'), 								// font size Switch area
	btn_id			: 'fontsizeswicher',						// dl id (Please set HTML)
	label				: ['size_s','size_m','size_l'],			// dd id (this id's are adding to automatical)
	size				: ['100%','117%','136%'],			// font-size
	cookieName	: 'workshop_font_size',				// cookie name
	cookieDate	: '90'											// cookie expires date

setting HTML example
<dl id="fontsizeswicher">
	<dt><img src="img/label_fontsize.gif"  alt="Font Size " width="72" height="19"/></dt>
	<dd><a href="#"><img src="img/btn_fontsize_S_out.gif" alt="S" width="26" height="19" /></a></dd>
	<dd><a href="#"><img src="img/btn_fontsize_M_out.gif" alt="M" width="26" height="19" /></a></dd>
	<dd><a href="#"><img src="img/btn_fontsize_L_out.gif" width="26" height="19" /></a></dd>
</dl>

-----------------------------------------------------------------------------------------------------------*/
(function($) {
	$.fn.fontsizeswicher = function() {
		$.extend({
			config:{
				area				: $('#article'),						
				btn_id			: 'fontsizeswicher',	
				label				: ['size_s','size_m','size_l'],
				size				: ['100%','117%','136%'],
				cookieName	: 'zac_font_size',	
				cookieDate	: '90'	
			},
			cookie:{
				set : function(n, v) {
						var t = new Date();
						t.setTime(t.getTime() + (1000 * 60 * 60 * 24 * $.config.cookieDate));
						document.cookie = n + '=' + encodeURIComponent(v) + '; path=/; expires=' + t.toGMTString();
					},
				get: function(n, m) {
						return (m = ('; ' + document.cookie + ';').match('; ' + n + '=(.*?);')) ? decodeURIComponent(m[1]) : '';
					}
			},
			set:{
				id:function(){
					var i= 0;
					$("dd","#"+$.config.btn_id).attr("id",function(){
						i++;
						return $.config.label[i-1];	
					});
				},
				current:function(n){
					for(i=0;i<$.config.label.length+1;i++){
						if(i==n){
							$("img","#"+$.config.label[n]).attr("src",$("img","#"+$.config.label[n]).attr("src").replace("_out.", "_over."))
																			  .addClass("over");
						}else{
							$("img","#"+$.config.label[i]).removeAttr("class").attr("src",function(){
								if($("img","#"+$.config.label[i]).attr("src").match(/over/)){
									return $("img","#"+$.config.label[i]).attr("src").replace("_over.", "_out.");
								}else{
									return $("img","#"+$.config.label[i]).attr("src");
								}
							});
						}
					}
				},
				fx:function(){
					$("dd img","#"+$.config.btn_id).mouseover(function(){
						if(!$(this).attr("class")){
							$(this).attr("src",$(this).attr("src").replace("_out.", "_over."));
							$(this).css("cursor","pointer");
						}
					});
					$("dd img","#"+$.config.btn_id).mouseout(function(){
						if(!$(this).attr("class")){
							$(this).attr("src",$(this).attr("src").replace("_over.", "_out."));
							$(this).css("cursor","default");
						}
					});
					
					$("#"+$.config.label[2]).click(function(){
						$($.config.area).css("font-size",$.config.size[2]);
						$.set.current(2);
						$.cookie.set($.config.cookieName,'2');
					});
					
					$("#"+$.config.label[1]).click(function(){
						$($.config.area).css("font-size",$.config.size[1]);
						$.set.current(1);
						$.cookie.set($.config.cookieName,'1');
					});
					
					$("#"+$.config.label[0]).click(function(){
						$($.config.area).css("font-size",$.config.size[0]);
						$.set.current(0);
						$.cookie.set($.config.cookieName,'0');
					});
				}
			},
			start: function(){
				var size = ($.cookie.get($.config.cookieName,'s'))?$.cookie.get($.config.cookieName,'s'):0;
				$($.config.area).css("font-size",$.config.size[size]);				
				$.set.id();
				$.set.current(size);
				$.set.fx();
			}
		});

		return $.start();
	}
})(jQuery);
