/*
http://www.alik.info/ ÂüÁ¶ »çÀÌÆ® 
http://www.alik.info/work/slb.html
ÆäÀÌÁö¿¡ slb.js ¸¦ <script language="javascript" type="text/javascript" src="/slb.js" ></script> ¿Í À¯»çÇÑ ¹æ½ÄÀ¸·Î Ãß°¡ÇØ ÁÖ½ÅÈÄ¿¡ 

<style type="text/css">
 html { width:100%; height:100%; }
 body { width:100%; height:100%; margin: 0px; padding: 0px; font-size:9pt; }
 .SLB_center { cursor:pointer; visibility:hidden; border: solid 4px #000000; background-color: #FFF}
 .SLB_close { cursor: pointer; display:none; font-family: verdana,tahoma; font-size: 9pt; background-color:#000000; color: #ffffff; padding-bottom: 4px; }
 .SLB_caption { cursor: pointer; display:none; font-family: verdana,tahoma; font-size: 9pt; background-color:#000000; color: #ffffff; padding-bottom: 4px; }
 #SLB_loading { cursor: pointer; display:none; z-index: 99998; position:absolute; font-family: verdana,tahoma; font-size: 9pt; background-color:#000000; color: #ffffff; padding: 3px 0px 4px 0px; border: solid 2px #cfcfcf; }
</style> 

ÆäÀÌÁö¿¡ À§¿Í °°ÀÌ ½ºÅ¸ÀÏÀ» Ãß°¡ÇØÁÖ½Ã±¸¿ä~(css ¿¡ Ãß°¡ÇÏ½Ã°Å³ª~)

<div id="SLB_film" style="z-index: 99997; position:absolute; display:none; width:100%; height:100%; background-color:#000000; filter:Alpha(opacity=60); opacity:0.6; -moz-opacity:0.6;"></div>
<div id="SLB_content" onclick="SLB();" align="center" style="z-index: 99999; position:absolute;"></div> 
<div id="SLB_loading" onclick="SLB();" title="·ÎµùÁß...Å¬¸¯½Ã Ãë¼Ò"> Loading... </div>

À§ 3°³ div ¸¦ <body> ¹Ù·Î ¹Ø¿¡ Ãß°¡ÇØÁÖ½Ã°í ³ª¼­ ¾Æ·¡ÀÇ ¿¹Á¦¸¦ Âü°íÇÏ¿© ¸µÅ©¿¡ href="javascript:SLB('...');" ¹æ½ÄÀÌ³ª onclick="SLB('...');" À¸·Î ÀÌ¿ëÇÏ½Ã¸é µË´Ï´Ù.

ÀÌ¹ÌÁö ¶ç¿ì±â
½ÇÇàÄÚµå: SLB('http://i.blog.empas.com/frozen108/28257327_365x396.jpg','image',true);
¼³¸í: SLB('ÀÌ¹ÌÁöÁÖ¼Ò', 'image', ¹ÝÅõ¸í¹è°æÅ¬¸¯½Ã´Ý±â?(true or false));

ÀÌ¹ÌÁö ¶ç¿ì±â - Ä¸¼Ç°ú ÇÔ²²
½ÇÇàÄÚµå: SLB('http://i.blog.empas.com/frozen108/28257327_365x396.jpg','image',false, '¿À~ÀÌ»Ú´ç!<i>±èÅÂÈñ ^^</i>');
¼³¸í: SLB('ÀÌ¹ÌÁöÁÖ¼Ò', 'image', ¹ÝÅõ¸í¹è°æÅ¬¸¯½Ã´Ý±â?(true or false), 'Ä¸¼Ç³»¿ë');

¾ÆÀÌÇÁ·¹ÀÓ ¶ç¿ì±â   [1]   [2]
SLB('http://www.yahoo.com','iframe', 600, 400, true, false);
[1] = SLB('./blank1.html','iframe', 400, 200, true, true)
[2] = SLB('./blank2.html','iframe', 400, 400, true, true)
¼³¸í: SLB('¾ÆÀÌÇÁ·¡ÀÓ src', 'iframe', °¡·ÎÅ©±â, ¼¼·ÎÅ©±â, ¾ÆÀÌÇÁ·½ÇÏ´Ü¿¡ ´Ý±â¹öÆ°Ç¥½Ã?(true or false), ³»¿ë¿¡ ¸Â°Ô ¾ÆÀÌÇÁ·¹ÀÓÀÇ ³ôÀÌ ÀÚµ¿ Á¶Àý?(true or false));

html ¶ç¿ì±â1
SLB('<div style=\'border:2px solid red; width:200px; height:100px; background-color:yellow\'>ÇÏÇÏÇÏÇÏÇÏ<br />¤»¤»¤»¤»</div>','html');
¼³¸í: SLB('html ¼Ò½º', 'html', Áß¾Ó ³»¿ëÅ¬¸¯ÇØµµ ¾È´ÝÈ÷±â?(true or false)); 

html ¶ç¿ì±â2 
SLB('<div id=\'asd\'><div>TABLE</div><table border=1 bgcolor=#ffffff><tr><td>´Ù¸¥°÷Àº</td><td>Å¬¸¯ÇØµµ</td></tr><tr><td>¾È´ÝÈû</td><td onclick=\'SLB();\' bgcolor=\'red\'>´Ý±â´Â¿©±â<br />onclick=\'SLB();\'</td></tr></table></div>','html', true);
* ´Ý±â´Â SLB(); ¸¦ È£ÃâÇÏ¸é ´ÝÈû
* * ¾ÆÀÌÇÁ·¡ÀÓÀÇ ³»ºÎ¿¡ ÀÖ´Â ¹®¼­¿¡¼­ ´ÝÀ»·Á¸é parent.SLB(); ·Î ´ÝÀ»¼ö ÀÖÀ½.
* * ·ÎµùÁß Ç¥½Ã¸¦ Å¬¸¯ÇÏ¸é ·Îµù Ãë¼ÒµÊ
* * ¹ÝÅõ¸í¹è°æÀÇ Åõ¸íµµ ¹× »ö»óÀº 
* <div id="SLB_film" style="z-index: 99997; position:absolute; display:none; width:100%; height:100%; background-color:#000000; filter:Alpha(opacity=60); opacity:0.6; -moz-opacity:0.6;"></div> 
* ¿¡¼­ ¼öÁ¤°¡´É
* * °ËÁ¤»ö ÀÌ¹ÌÁö Å×µÎ¸®ÀÇ µÎ²²¿Í »ö»óÀº
* .SLB_center { cursor:pointer; visibility:hidden; border: solid 4px #000000; background-color: #FFF} 
* ¿¡¼­ ¼öÁ¤°¡´É
* * '³»¿ë¿¡ ¸Â°Ô ¾ÆÀÌÇÁ·¹ÀÓÀÇ ³ôÀÌ ÀÚµ¿ Á¶Àý' Àº ¾ÆÀÌÇÁ·¹ÀÓ ³»ºÎÀÇ ¹®¼­°¡ ¿ÜºÎÀÇ ¹®¼­¿Í °°Àº µµ¸ÞÀÎ ¾È¿¡ Á¸ÀçÇÒ¶§¸¸ ÀÛµ¿ÇÔ.
* * '³»¿ë¿¡ ¸Â°Ô ¾ÆÀÌÇÁ·¹ÀÓÀÇ ³ôÀÌ ÀÚµ¿ Á¶Àý' À» true ·Î ¼³Á¤ÇØµµ ±âº»À¸·Î ¾Æ¹«°ªÀÌ³ª °¡·Î, ¼¼·Î °ªÀ» ³Ö¾îÁà¾ß ÇÔ!. 
*
*
*/
 
var SLB_cnt = 0;

function SLB(url, type)
{
	var a = document.getElementById('SLB_film');
	var b = document.getElementById('SLB_content');
	var c = document.getElementById('SLB_loading');
	if(url) {
		a.style.top = 0;
		a.style.left = 0;
		a.style.display = "";
		if (document.documentElement.scrollHeight > document.body.scrollHeight) {
			a.style.height = document.documentElement.scrollHeight + 'px';
		} else { 
			a.style.height = document.body.scrollHeight + 'px';
		}
		c.style.display = "block";
		SLB_setCenter(c,true);
		if(type == 'image') {
			b.innerHTML="<img src=" + url + " class='SLB_center' onload='SLB_setCenter(this);' />";
			if(arguments[2]) a.onclick = function () { SLB() };
			if(arguments[3]) b.innerHTML += "<div class='SLB_caption'>"+ arguments[3] +"</div>";;
		} else if (type == 'iframe') {
			b.innerHTML="<iframe id='SLB_iframe' src=" + url + " width="+ arguments[2] +" height="+ arguments[3] +" class='SLB_center' marginwidth='0' marginheight='0' frameborder='0' vspace='0' hspace='0' onload='tryReHeight("+arguments[5]+");'/></iframe>";
			if(arguments[4]) {
				b.innerHTML += "<div class='SLB_close' onclick='SLB();' title='´Ý±â'>close</div>";
			}
			b.onclick = ''; b.firstChild.style.cursor = 'default';
		} else if (type='html'){
			b.innerHTML = url;
			SLB_setCenter(b.firstChild);
			if(arguments[2]) b.onclick = '';
		}
		hideSelect();
	} else {
		a.onclick = '';
		a.style.display = "none";
		a.style.height = '100%';
		a.style.width = '100%';
		b.innerHTML = "";
		b.onclick = function () { SLB() };
		c.style.display = "none";
		showSelect();
		SLB_cnt = 0;
	}
}

function SLB_setCenter(obj) {
	if (obj) {
		var h = (window.innerHeight || self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight);
		var w = (window.innerWidth || self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth);
		var l = ((window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft) + ((w-(obj.width||parseInt(obj.style.width)||obj.offsetWidth))/2));
		var t = ((window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop) + ((h-(obj.height||parseInt(obj.style.height)||obj.offsetHeight))/2));
		if((obj.width||parseInt(obj.style.width)||obj.offsetWidth) >= w) l = 0;
		if((obj.height||parseInt(obj.style.height)||obj.offsetHeight) >= h) t = (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
		document.getElementById('SLB_content').style.left = l + "px";
		if(SLB_cnt == 0) {
			document.getElementById('SLB_content').style.top = t + "px";
			if(document.getElementById('SLB_content').offsetHeight >= h - 20) {
				SLB_cnt ++;
			}
			if(obj.nextSibling && (obj.nextSibling.className == 'SLB_close' || obj.nextSibling.className == 'SLB_caption')) {
				obj.nextSibling.style.display = 'block';
				if((t - (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop))>(obj.nextSibling.offsetHeight/2)) {
					document.getElementById('SLB_content').style.top = parseInt(document.getElementById('SLB_content').style.top) - (obj.nextSibling.offsetHeight/2) + "px";
				}
			}
		}
		obj.style.visibility = 'visible';
		if(!arguments[1]) {
			document.getElementById('SLB_loading').style.display = "none";
		} else {
			obj.style.left = l + "px";
			obj.style.top = t + "px";
		}
	}
}
//top À¸·Î Ãß°¡ÇÑ ºÎºÐ 
function SLB_setTop(obj) {
	if (obj) {
		var h = (window.innerHeight || self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight);
		var w = (window.innerWidth || self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth);
		var l = ((window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft) + ((w-(obj.width||parseInt(obj.style.width)||obj.offsetWidth))/2));
		var t = ((window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop) + ((h-(obj.height||parseInt(obj.style.height)||obj.offsetHeight))/2));
		if((obj.width||parseInt(obj.style.width)||obj.offsetWidth) >= w) l = 0;
		if((obj.height||parseInt(obj.style.height)||obj.offsetHeight) >= h) t = (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
		document.getElementById('SLB_content').style.left = l + "px";
		if(SLB_cnt == 0) {
			document.getElementById('SLB_content').style.top = 50 + "px";  // top À§Ä¡ Àâ±â 
			if(document.getElementById('SLB_content').offsetHeight >= h - 20) {
				SLB_cnt ++;
			}
			if(obj.nextSibling && (obj.nextSibling.className == 'SLB_close' || obj.nextSibling.className == 'SLB_caption')) {
				obj.nextSibling.style.display = 'block';
				if((t - (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop))>(obj.nextSibling.offsetHeight/2)) {
					document.getElementById('SLB_content').style.top =  200;
				}
			}
		}
		obj.style.visibility = 'visible';
		if(!arguments[1]) {
			document.getElementById('SLB_loading').style.display = "none";
		} else {
			obj.style.left = l + "px";
			obj.style.top = t + "px";
		}
	}
}

function hideSelect() {
	var windows = window.frames.length;
	var selects = document.getElementsByTagName("SELECT");
	for (i=0;i < selects.length ;i++ )
	{
		selects[i].style.visibility = "hidden";
	}
	if (windows > 0) {
		for(i=0; i < windows; i++) {
			try {
				var selects = window.frames[i].document.getElementsByTagName("SELECT");
				for (j=0;j<selects.length ;j++ )
				{
					selects[j].style.visibility = "hidden";
				}
			} catch (e) {}
		}
	}
}

function showSelect() {
	var windows = window.frames.length;
	var selects = document.getElementsByTagName("SELECT");
	for (i=0;i < selects.length ;i++ )
	{
		selects[i].style.visibility = "visible";
	}
	if (windows > 0) {
		for(i=0; i < windows; i++) {
			try {
				var selects = window.frames[i].document.getElementsByTagName("SELECT");
				for (j=0;j<selects.length ;j++ )
				{
					selects[j].style.visibility = "visible";
				}
			} catch (e) {}
		}
	}
}

function tryReHeight(sign) {
	var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1];
	var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0;
	var currentfr=document.getElementById('SLB_iframe');
	if(sign == true) {
		try {
			if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) {
				setIframeSize(currentfr.contentDocument.body.offsetHeight+FFextraHeight);
			} else if (currentfr.Document && currentfr.Document.body.scrollHeight) {
				setIframeSize(currentfr.Document.body.scrollHeight);
			}
		}catch(e) { }
	} else {
		//SLB_setCenter(currentfr);
		SLB_setTop(currentfr);
	}
}

function setIframeSize(h, w) {
	SLB_cnt = 0;
	var ifr = currentfr=document.getElementById('SLB_iframe');
	if (ifr) {
		if(w) {
			ifr.width = w;
		}
		if(h) {
			ifr.height = h;
		}
		SLB_setTop(ifr);
		//SLB_setCenter(ifr);
	}
}

var prevOnScroll = window.onscroll;
window.onscroll = function () {
	if(prevOnScroll != undefined) prevOnScroll();
	if (document.documentElement.scrollHeight > document.body.scrollHeight) {
		document.getElementById('SLB_film').style.height = document.documentElement.scrollHeight + 'px';
	} else { 
		document.getElementById('SLB_film').style.height = document.body.scrollHeight + 'px';
	}
	document.getElementById('SLB_film').style.width = document.body.scrollWidth + 'px';
//	SLB_setCenter(document.getElementById('SLB_content').firstChild);
	SLB_setTop(document.getElementById('SLB_content').firstChild);
}

var prevOnResize = window.onresize;
window.onresize = function () {
	if(prevOnResize != undefined) prevOnResize();
	if (document.documentElement.scrollHeight > document.body.scrollHeight) {
		document.getElementById('SLB_film').style.height = document.documentElement.scrollHeight + 'px';
	} else { 
		document.getElementById('SLB_film').style.height = document.body.scrollHeight + 'px';
	}
	document.getElementById('SLB_film').style.width = document.body.offsetWidth + 'px';
//	SLB_setCenter(document.getElementById('SLB_content').firstChild);
	SLB_setTop(document.getElementById('SLB_content').firstChild);
}
