/*
ImageButton
	Author : yangkun <yangkun7@kornet.net> in ARTPQ
	Since : 2004-06-01
	Reference : lib.rollover.js of jstoy project (by xtac.net)
				fixpng function of ?
	Usage:
		new ImageButton('_r'); È¤Àº new ImageButton(); À¸·Î °´Ã¼ ÃÊ±âÈ­..
		<img button ¼Ó¼ºµé...> ·Î HTML ¿¡ »ç¿ë..
		
		: ±âº» ¼Ó¼º

		<img button src='aa.gif'>	: aa.gif °¡ Ç¥½ÃµÇ°í ¿À¹ö½Ã aa_r.gif ·Î º¯°æ
		<img button src='aa.gif' oversrc='bb.gif'>	: aa.gif °¡ Ç¥½ÃµÇ°í ¿À¹ö½Ã bb.gif·Î º¯°æ
		<img button src='aa.gif' oversrc='bb.gif' selected> : bb.gif °¡ Ã³À½ºÎÅÍ Ç¥½ÃµÇ°í ¿À¹ö½Ã º¯°æ ¾øÀ½
		<img button src='aa.gif' show='menu1'> : menu1 ID ¸¦°¡Áø element ÀÇ display ¸¦ inline À¸·Î ¼³Á¤.. (ÀÌ¹Ì inline µÇ¾î ÀÖ´Â°ÍÀº none À¸·Î º¯°æ)
		<img button src='aa.gif' oversrc='bb.gif' url='url'> : aa.gif °¡ Ç¥½ÃµÇ°í ¿À¹ö½Ã bb.gif·Î º¯°æ Å¬¸¯ÇÏ¸é ÇöÀç Ã¢¿¡¼­ url ·Î ÀÌµ¿

		: ±×¿Ü °¡´É ¼Ó¼º

		target	:	_blank	: »õÃ¢À¸·Î ¿ÀÇÂ (»õ·Î¿î ºê¶ó¿ìÀúÀÇ ÀÇ¹Ì)
					new		: »õÃ¢À¸·Î ¿ÀÇÂ (ÆË¾÷Ã¢)
					±âÅ¸°ª	: target='aa' ÀÌ¸é aa.location.href ¸¦ º¯°æ
		window : »õÃ¢À¸·Î ¶ç¿ï¶§ Ã¢ÀÇ ¼Ó¼º ÁöÁ¤ (window.open ÀÇ ¼¼¹øÂ° ÀÎÀÚ·Î ÀÌ¿ë)
		java   : ¼öÇàÇÒ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå
		png    : PNG Æ÷¸ËÀÇ ÀÌ¹ÌÁö¸¦ ¹ÝÅõ¸íÀ» Àû¿ëÇØ¼­ Ç¥½Ã
		noout  : mouse out ½Ã¿¡ ÀÌ¹ÌÁö¸¦ ¿ø·¡ ÀÌ¹ÌÁö·Î º¯°æÇÏÁö ¾Ê´Â´Ù.
		group  : ±×·ìÀÌ¸§À» Á¤ÇÑ´Ù. °°Àº ÀÌ¸§ÀÇ ±×·ì¿¡ ¼ÓÇÑ ÀÌ¹ÌÁöµéÀº ÇÑ¼ø°£¿¡ ÇÏ³ªÀÇ ¼±ÅÃµÈ ÀÌ¹ÌÁö¸¦ °®´Â´Ù.
                      ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é 'default' ¶ó´Â ÀÌ¸§À¸·Î ÆäÀÌÁöÀÇ ¸ðµç ÀÌ¹ÌÁö°¡ °°Àº ±×·ì¿¡ ¼ÓÇÏ°Ô µÈ´Ù.

*/
ImageButton = function(overSuffix)
{
	if (!document.body.getAttribute) return false;
	this.overSuffix = (overSuffix==null) ? '_r' : overSuffix;

	this.num = 0;
	this.srcList = new Array();
	this.oversrcList = new Array();
	
	this.selectedLayer = new Array();
	this.selectedImage = new Array();
	this.defaultImage = new Array();

	var imgtags = document.getElementsByTagName("img");
	for (var i=0; i<imgtags.length; i++)
	{
		if (imgtags[i].getAttribute("png")!=null) this.forPNG(imgtags[i]);
		if (imgtags[i].getAttribute("button")!=null) this.createButton(imgtags[i]);
	}
}
ImageButton.prototype.createButton = function(img)
{
	ImageButton.object = this;
	img.style.borderWidth = 0;
	img.setAttribute("button", this.num);
	this.srcList[this.num] = new Image;
	this.srcList[this.num].src = img.src;
	this.oversrcList[this.num] = new Image;

	var group = (img.getAttribute("group") != null) ? img.getAttribute("group") : 'default';
	img.group = group;

	if (img.getAttribute("oversrc")!=null) this.oversrcList[this.num].src = img.getAttribute("oversrc");
	else this.oversrcList[this.num].src = img.src.replace(RegExp("(\.[^\.]+)$"), this.overSuffix + "$1");
	
	if (img.getAttribute("selected")!=null) 
	{
		img.src = this.oversrcList[this.num].src;
		img.style.cursor = 'hand';
	}
	else img.style.cursor = 'hand';

	if (img.getAttribute("defaultbutton")!=null)
	{
		img.src = this.oversrcList[this.num].src;
		this.defaultImage[group] = img;
	}

	if (img.getAttribute("show")!=null)
	{
		var layer = document.getElementById(img.getAttribute("show"));
		//if (img.getAttribute("selected")==null) layer.style.display = 'none';
		// 2005.08.12, by hamhaja, ¹®Á¦°¡ ÀÖÀ»±î¿ä?
		if (img.getAttribute("selected")==null && img.getAttribute("defaultbutton")==null) layer.style.display = 'none';
		else this.selectedLayer[group] = layer;
	}

	img.on = function()
	{
		this.src = ImageButton.object.oversrcList[this.getAttribute("button")].src;
		ImageButton.object.selectedImage[this.group] = this;
		this.setAttribute("selected",true);

	}

	img.off = function()
	{
		this.src = ImageButton.object.srcList[this.getAttribute("button")].src;
		ImageButton.object.selectedImage[this.group] = null;
		this.removeAttribute("selected");
	}

	if (document.all)
	{
		// mouse over action
		if (img.onmouseover)
		{
			eval("img._onmouseover=function()" + img.onmouseover.toString().replace(/^[^)]+\)/,''));
			img.onmouseover = function()
			{ 
				this._onmouseover(); 
				ImageButton.object.over_action(this); 
			}
		}
		else
		{
			img.onmouseover = function(){ImageButton.object.over_action(this);}
		}
		// mouse out action
		if (img.getAttribute("noout") == null)
		{
			if (img.onmouseout)
			{
				eval("img._onmouseout=function()" + img.onmouseout.toString().replace(/^[^)]+\)/,''));
				img.onmouseout = function()
				{ 
					this._onmouseout(); 
					ImageButton.object.out_action(this); 
				} 
			}
			else
			{
				img.onmouseout = function(){ImageButton.object.out_action(this);}
			}
		}
		
		if (img.getAttribute("url")!=null || img.getAttribute("java")!=null)
		{
			// mouse click action
			if (img.onclick)
			{
				eval("img._onclick=function()" + img.onclick.toString().replace(/^[^)]+\)/,''));
				img.onclick = function()
				{ 
					this._onclick(); 
					ImageButton.object.click_action(this); 
				} 
			}
			else
			{
				img.onclick = function(){ImageButton.object.click_action(this);}
			}
		}
	}
	else if (img.addEventListener)
	{
		img.addEventListener('mouseover', function(){ImageButton.object.over_action(this)}, true); 
		if (img.getAttribute("noout") == null) img.addEventListener('mouseout',  function(){ImageButton.object.out_action (this)}, true);
		if (img.getAttribute("url")!=null || img.getAttribute("java")!=null) img.addEventListener('click',  function(){ImageButton.object.click_action (this)}, true);
	}
	this.num++;
}
/*
* PNG Æ÷¸ËÀÇ ÆÄÀÏÀ» ºê¶ó¿ìÀú(ÀÍ½ºÇÃ·Î·¯)¿¡ Ç¥½ÃÇÏ±â À§ÇÑ ½ºÅ©¸³Æ®
*/
ImageButton.prototype.forPNG = function(img)
{
	if(!document.all) return false;
	var src = img.getAttribute("src");
	if(src == null) return false;

	var blankImg = "http://minwon.jeju.go.kr/2006/images/blank.gif";
	
	var s = img.src;
	img.src = blankImg;
	img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+s+"', sizingMethod='scale')";
}
/*
* onMouseOver
*/
ImageButton.prototype.over_action = function(img)
{
	if (this.defaultImage[img.group] != null)
	{
		if (this.defaultImage[img.group] != img) this.defaultImage[img.group].src = this.srcList[this.defaultImage[img.group].getAttribute("button")].src;
		this.defaultImage[img.group] = null;
	}

	img.src = this.oversrcList[img.getAttribute("button")].src;
	if (img.getAttribute("show"))
	{
		var layer = document.getElementById(img.getAttribute("show"));
		if (layer==this.selectedLayer[img.group]) return;
		if (this.selectedLayer[img.group]!=null) this.selectedLayer[img.group].style.display = 'none';
		layer.style.display = 'inline';
		this.selectedLayer[img.group] = layer;
	}

	if (img != this.selectedImage[img.group])
	{
		if (this.selectedImage[img.group] != null) this.out_action(this.selectedImage[img.group]);
		this.selectedImage[img.group] = img;
	}
}
/*
* onMouseOut
*/
ImageButton.prototype.out_action = function(img)
{
	if (img.getAttribute("selected") == null)
	{
		img.src = this.srcList[img.getAttribute("button")].src;
	}
}
/*
* onClick
*/
ImageButton.prototype.click_action = function(img)
{
	if (img.getAttribute("java")!=null)
	{
		eval(img.getAttribute("java"));
		if (img.getAttribute("url")==null) return false;
	}
	if (img.getAttribute("url")!=null)
	{
		var target = img.getAttribute("target");
		var url = img.getAttribute("url");
		var features = img.getAttribute("window");

		switch (target)
		{
			case '_blank':
				window.open(url);
				break;
			case '_self':
				location.href = url;
				break;
			case 'new':
				window.open(url, "auto_name", features);
				break;
			default:
				if (target != null) eval(target + ".location.href = url;");
				else location.href = url;
				break;
		}
	}
}