/**************************************************************************
Àü¿ª º¯¼ö ¼±¾ð
**************************************************************************/
var layerX = 0 ; // ÃÊ±â Layer °ª - X
var layerY = 0 ; // ÃÊ±â Layer °ª - Y
var layer_element = null; // Slide´ë»ó Layer

var scroll_direction = '';
var inquire_interval = 1000; // ÆäÀÌÁö°¡ ÀÌµ¿ÇÑ ÁÂÇ¥¸¦ ÀÐ¾î¿Ã °£°Ý ÁöÁ¤
var slide_interval = 15; // Layer°¡ ÀÌµ¿ÇÒ ¼Óµµ

var pick_fixed = false ; // °íÁ¤»óÅÂ °ª
var tmr_id = null;

var browser_info = ''; // Browser °´Ã¼ Á¤º¸ - Netscape , IE

var default_left = '940'; // ÃÊ±â ¿ÞÂÊ°ª
var default_top = '55'; // ÃÊ±â ³ôÀÌ°ª

var set_type = 'C'; // Áß¾ÓÁ¤¿­-C, ¿ÞÂÊÁ¤¿­-L
var set_left = '-50'; // Àû¿ë ¿ÞÂÊ°ª - À§Ä¡ÀÌµ¿½Ã¿¡¸¸ ±âÀÔ
var set_top = '-100'; // Àû¿ë ³ôÀÌ°ª - À§Ä¡ÀÌµ¿½Ã¿¡¸¸ ±âÀÔ
var set_bottom = '500'; // ÇÏ´ÜÀ¸·Î ºÎÅÍÀÇ °£°Ý
var quick_width = '100'; // Äü¹Ú½ºÀÇ Æø°ªÀ» ÀÔ·Â
var quick_height = '700'; // Äü¹Ú½ºÀÇ ³ôÀÌ°ªÀ» ÀÔ·Â
var document_end = ''; // Á¾·á¸¦ ¾Ë¸®´Â ¾ÆÀÌµð°ª

var x_pos_save_temp = '';
/**************************************************************************
*
* Layer slide¸¦ ½ÇÇàÇÏ±â À§ÇÑ ±âº» Á¤º¸¸¦ ÀÔ·Â¹Þ±âÀ§ÇÑ ¸ÞÀÎ ÇÔ¼ö
*
*
* ex : 
* <body onLoad = slideLayer( 'slidemenu','Áß¾ÓÁ¤¿­-C, ¿ÞÂÊÁ¤¿­-L') > 
*
**************************************************************************/
function slideLayer( layer_id, end, direction) {
	/* ºê¶ó¿ìÀú °´Ã¼ Á¾·ù¸¦ ÀÐ¾î¿Â´Ù. */
	if ((navigator.appName == 'Netscape') && parseInt(navigator.appVersion,10) <= 4 )
	{
		//netscape 4.0 ÀÌÇÏ Browser
		browser_info = 'Ns4' ; // Browser °´Ã¼ Á¾·ù
		// Netcape 4.0 ÀÌÇÏ ¹öÀü¿¡¼­ ´ë»ó Element ÀÐ¾î¿À±â
		layer_element = document.layers[layer_id];
	}
	else if ((navigator.appName == 'Netscape') && parseInt(navigator.appVersion,10) > 4 )
	{
		//netscape 6.0 ÀÌ»ó Browser
		browser_info = 'Ns6' ;
		// netscape 6.0 ÀÌ»ó ¹öÀü¿¡¼­ ´ë»ó Element ÀÐ¾î¿À±â
		layer_element = document.getElementById(layer_id);
		layer_element = layer_element.style; // Style ¼Ó¼º¸¸ ÀÐ¾î¿Â´Ù.
	}
	else {
		// Explore È£È¯ Browser
		browser_info = 'Ie' ;
		// ´ë»ó Element ÀÐ¾î¿À±â
		layer_element = document.all[layer_id].style; 
	}

	if (default_top==0) default_top = document.all[layer_id].style.top;
	if (default_left==0) default_left = document.all[layer_id].style.left;

	layer_element.visibility = 'visible'
	layer_element.position = 'absolute';
	scroll_direction = null; // Layer ÀÌµ¿ ¹æÇâ

	document_end = end;

	/* ÃÊ±â LayerÀÇ À§Ä¡°ªÀ» Àü¿ªº¯¼ö¿¡ ´ëÀÔÇÑ´Ù. */
	/* LayerÀ§Ä¡¸¦ °íÁ¤ÇÏ°Å³ª ¶Ç´Â ÆäÀÌÁö°¡ ½ºÅ©·ÑµÉ °æ¿ì LayerÀÌµ¿½Ã */
	/* ÆäÀÌÁö¿¡¼­ Layer À§Ä¡¸¦ »ó´ëÀûÀ¸·Î º¯°æÇÏ±â À§ÇÔ */
	layerX = parseInt(layer_element.left, 10); 
	layerY = parseInt(layer_element.top, 10);

	onSlide();
}

/**************************************************************************
ÇöÀç ºê¶ó¿ìÀúÀÇ ÆäÀÌÁö À§Ä¡ °ªÀ» ÀÐ¾î¿Í ´ë»ó °´Ã¼¸¦ ¿òÁ÷ÀÎ ÁÂÇ¥¸¸Å­
ÀÌµ¿ÇÑ´Ù.
**************************************************************************/
function onSlide() {
	var page_posX, page_posY, layer_posX, layer_posY;
	var slideX = 0, slideY = 0;
	var interval = 0;
	var body_width = 0;
	
	body_width = eval(parseInt(document.body.clientWidth,10)/2);
	
	nowScroll = getNowScroll(); 
	dsize = getThisCoordi(document_end);
	
	var sheight = eval(nowScroll.Y);
	var swidth = eval(nowScroll.X);
	
	if (pick_fixed) return;
	
	//if(eval((document.body.clientHeight/2) + sheight) < eval(document.body.clientHeight - parseInt(default_top, 10)))
	if (eval((document.body.clientHeight) + sheight) < eval((document.body.clientHeight) + parseInt(default_top, 10)))
	{
		if (set_type=='C') layer_element.left = eval((parseInt(default_left, 10) / 2)+body_width - 50);
		else layer_element.left = default_left;
		
		layer_element.top  = default_top;
		/* ÇÔ¼ö Àç±ÍÈ£Ãâ */
		setTimeout ("onSlide()", inquire_interval); 
		return;
	}

	if (eval((document.body.clientHeight) + sheight) == eval(dsize.top-12))
	{
		if(set_type=='C') layer_element.left = eval((parseInt(default_left, 10) / 2)+body_width - 50);
		else layer_element.left = default_left;
		
		layer_element.top = eval(dsize.top-set_bottom);
		/* ÇÔ¼ö Àç±ÍÈ£Ãâ */
		setTimeout ("onSlide()", inquire_interval);
		return;
	}
	
	/* ÇöÀç ³ªÅ¸³ª´Â ÆäÀÌÁöÀÇ x, yÁÂÇ¥°ªÀ» ÀÐ¾î¿Â´Ù. */
	if (browser_info == 'Ie')
	{
		// Expoler È£È¯ ¹öÀü
		if(set_type=='C') page_posX = eval((parseInt(default_left,10)/2) - set_left - 50);
		else page_posX = eval(parseInt(default_left,10) - set_left);	
		//page_posX = document.body.scrollLeft + layerX;
		page_posY = document.body.scrollTop + layerY;
	}
	else if ( browser_info == 'Ns4' || browser_info == 'Ns6' )
	{
		// Netscape ¹öÀü
		if(set_type=='C') page_posX = eval((parseInt(default_left,10)/2) - set_left - 50);
		else page_posX = eval(parseInt(default_left,10) - set_left);
		//page_posX = parseInt (window.pageXOffset, 10) + layerX;
		page_posY = parseInt (window.pageYOffset, 10) + layerY;
	}
	/* ÇöÀç Layer À§Ä¡ °ªÀ» ÀÐ¾î¿Â´Ù. Àü´Þ¹ÞÀº °ªÀº 'nnnnpx' Çü½ÄÀÇ Á¤¼ö°ªÀÌ¹Ç·Î */
	/* Á¤¼öÈ­ ÇÑ´Ù. */
	// ¿ÞÂÊ ¹è¿­ÀÏ¶§
	if(set_type=='C') layer_posX = eval((body_width + (parseInt(layer_element.left, 10)/2)) - set_left - 50);	
	else layer_posX = eval(parseInt(layer_element.left, 10) - set_left);
	layer_posY = eval(parseInt(layer_element.top, 10) - set_top);
	
	/* Layer ÀÌµ¿ÀÌ ³¡³­ ÈÄ ´ÙÀ½ ÀÌµ¿±îÁö °£°Ý */
	interval = inquire_interval;
	
	if (page_posX < layerX) page_posX = layerX;
	if (page_posY < layerY) page_posY = layerY;
	
	/* ÆäÀÌÁö°¡ ÀÌµ¿ÇÑ °Å¸®¸¸Å­ layer¸¦ ÀÌµ¿½ÃÅ²´Ù. */
	if (set_type=='C')
	{
		if (page_posY != layer_posY || page_posX != layer_posX)
		{
			// Layer ÀÌµ¿ÀÌ ³¡ ÀÌµ¿ °Å¸® = ÆäÀÌÁö°¡ ÀÌµ¿ ÁÂÇ¥ / Layer Slide °£°Ý
			slideX= Math.ceil( Math.abs((page_posX - layer_posX)-(body_width)) / slide_interval); 
			slideY = Math.ceil( Math.abs(page_posY - layer_posY) / slide_interval );
			
			if (page_posX < layer_posX) slideX = -slideX;
			if (page_posY < layer_posY) slideY = -slideY;
			
			layer_element.left = eval((parseInt(default_left, 10) / 2)+body_width - 50);
			layer_element.top = parseInt(layer_element.top ,10) + slideY;
			
			// Layer Slide ¼Óµµ
			interval = slide_interval;
		}
	}
	else
	{
		if (page_posY != layer_posY || page_posX != layer_posX)
		{
			// Layer ÀÌµ¿ÀÌ ³¡ ÀÌµ¿ °Å¸® = ÆäÀÌÁö°¡ ÀÌµ¿ ÁÂÇ¥ / Layer Slide °£°Ý
			slideX= Math.ceil( Math.abs(page_posX - layer_posX) / slide_interval );
			slideY = Math.ceil( Math.abs(page_posY - layer_posY) / slide_interval );
			
			if (page_posX < layer_posX) slideX = -slideX;
			if (page_posY < layer_posY) slideY = -slideY;
			
			layer_element.left = parseInt(layer_element.left ,10);
			layer_element.top = parseInt(layer_element.top ,10) + slideY;
			
			// Layer Slide ¼Óµµ
			interval = slide_interval;
		}
	}
	
	/* ÇÔ¼ö Àç±ÍÈ£Ãâ */
	setTimeout ("onSlide()", interval);
}

/**************************************************************************
Layer¸¦ °íÁ¤½ÃÅ°±â À§ÇÑ ÇÔ¼ö
**************************************************************************/
function fixedLayer()
{
	var page_posX, page_posY, layer_posX, layer_posY;
	var slideX = 0, slideY = 0;
	/* ÇöÀç Layer À§Ä¡ °ªÀ» ÀÐ¾î¿Â´Ù. */
	layer_posX = parseInt(layer_element.left, 10);
	layer_posY = parseInt(layer_element.top, 10);
	
	/* LayerÀÇ ÃÊ±â À§Ä¡·Î ÀÌµ¿½ÃÅ°±â À§ÇØ ÃÊ±â Layer°ªÀ» Page ÁÂÇ¥°ªÀ¸·Î ´ëÀÔÇÑ´Ù.*/ 
	page_posX = layerX;
	page_posY = layerY;
	
	/* Layer°¡ ÀÌµ¿ÇÑ °Å¸®¸¸Å­ °è»êÇÏ¿© ¸Þ´º¸¦ ÀÌµ¿½ÃÅ²´Ù. */
	if (page_posY != layer_posY || page_posX != layer_posX)
	{
		slideX= Math.ceil( Math.abs(page_posX - layer_posX) / slide_interval ); 
		slideY = Math.ceil( Math.abs(page_posY - layer_posY) / slide_interval );
		
		if (page_posX < layer_posX) slideX = -slideX;
		if (page_posY < layer_posY) slideY = -slideY;

		layer_element.left = parseInt(layer_element.left,10) + slideX;
		layer_element.top = parseInt(layer_element.top ,10) + slideY ;
		
		setTimeout (" fixedLayer()", slide_interval);
	}
}

/**************************************************************************
Layer °íÁ¤ °ª È®ÀÎ
**************************************************************************/
function checkFixed(obj_id)
{
	if ( browser_info == 'Ie' )
	{
		// Expoler È£È¯ ¹öÀü
		// ´ë»ó Element ÀÐ¾î¿À±â
		var theObject = document.all[obj_id];
	}
	else if (browser_info == 'Ns6' )
	{
		var theObject = document.getElementById(obj_id);
	}
	else if (browser_info == 'Ns4' )
	{
		alert('ÁË¼ÛÇÕ´Ï´Ù. ÇöÀç ºê¶ó¿ìÀú´Â Áö¿øµÇÁö ¾Ê½À´Ï´Ù.')
		// À§ Çü½ÄÀ¸·Î´Â Áö¿ø ¾ÈµÊ ~.~
		return;
	}
	
	/* °´Ã¼ÀÇ TypeÀÌ checkboxÀÎÁö È®ÀÎ ÇÑ´Ù. */
	if ( theObject.type == 'checkbox' )
	{
		if ( (!theObject.checked) && (pick_fixed) )
		{
			// Layer ÀÌµ¿
			pick_fixed = false;
			onSlide();
		}
		else if ((theObject.checked) && (!pick_fixed))
		{
			// Layer °íÁ¤
			pick_fixed = true;
			fixedLayer();
		} 
	}
}

var getNowScroll = function()
{
	var de = document.documentElement;
	var b = document.body;
	var now = {};
	
	now.X = document.all ? (!de.scrollLeft ? b.scrollLeft : de.scrollLeft) : (window.pageXOffset ? window.pageXOffset : window.scrollX);
	now.Y = document.all ? (!de.scrollTop ? b.scrollTop : de.scrollTop) : (window.pageYOffset ? window.pageYOffset : window.scrollY);
	
	return now;
}

function getBounds( obj )
{
	var ret = new Object();
	
	if (document.all)
	{ 
		var rect = obj.getBoundingClientRect(); 
		ret.left = rect.left + (document.documentElement.scrollLeft || document.body.scrollLeft); 
		ret.top = rect.top + (document.documentElement.scrollTop || document.body.scrollTop); 
		ret.width = rect.right - rect.left; 
		ret.height = rect.bottom - rect.top; 
	}
	else
	{
		var box = document.getBoxObjectFor(obj);
		ret.left = box.x; 
		ret.top = box.y; 
		ret.width = box.width; 
		ret.height = box.height; 
	} 
	return ret;
}

/**
 * ¹öÆ° °´Ã¼ÀÇ ÁÂÇ¥ ÃßÃâ
 */
function getThisCoordi(obj)
{
	var obj = getBounds( document.getElementById(obj) );
	return obj;
}
