// JavaScript Document

var LssPT_GroupImage = Class.create({
	
	initialize : function(inReplaceEvent, inDefault){
		this.replaceEvent = inReplaceEvent;
		this.images = {};
		if(arguments.length>2){
			for(i=2; i<arguments.length; i=i+2){
				if(arguments[i] != "undefined" && arguments[i+1] != "undefined"){
					this.addImage(arguments[i], arguments[i+1]);
				}
			}
		}
		
		
		// 初期値の設定(Cookie)
		this.cookieManager = new CookieJar();
		currentElement = this.cookieManager.get("ls_replacedElement");
		if(currentElement && this.images[currentElement]){
			$(currentElement).src = this.images[currentElement].replaceSrc;
		}
		// 規定値の設定
		else if(inDefault){
			$(inDefault).src = this.images[inDefault].replaceSrc;
		}
	},
	
	
	
	addImage : function(inElement, inReplaceSrc){
		if($(inElement).tagName == "IMG"){
			if(typeof this.images[$(inElement).id] == "undefined"){
				this.images[$(inElement).id] = { orgSrc : $(inElement).src, replaceSrc : inReplaceSrc };
				Event.observe($(inElement), this.replaceEvent, this.doReplace.bind(this), true);
			}
		}else{
			alert(inElement + " is not image tag.");
		}
	},
	
	doReplace : function(evt){
		for(id in this.images){
			this.rollbackReplace(id);
		}
		Event.element(evt).src = this.images[Event.element(evt).id].replaceSrc;
		this.cookieManager.put("ls_replacedElement", Event.element(evt).id);
	},
	
	rollbackReplace : function(inElement){
		if($(inElement) != "undefined"){
			$(inElement).src = this.images[$(inElement).id].orgSrc;
		}
	},
	
	setCookieName : function(inCookieName){
		this.option.cookieName = inCookieName;
	},
	
	setCookiePath : function(inCookiePath){
		this.option.cookiePath = inCookiePath;
	}
});

Event.observe(window, "load", function(){
	new LssPT_GroupImage(
					 "click", "fontSize01"
					 , "fontSize01", "/images/fontSize01_f2.gif"
					 , "fontSize02", "/images/fontSize02_f2.gif"
					 , "fontSize03", "/images/fontSize03_f2.gif"
					 );
});
