﻿//* Programming By Park Bong Il (bipark@hotmail.com) *//

//리스트 롤오버
function OverList(obj)
{
	obj.style.backgroundColor = "#FCFCFC";
}
function OutList(obj)
{
	obj.style.backgroundColor = "transparent";
}

//이미지 롤오버
function ImageChange(id, imgsrc)
{
	document.getElementById(id).src = imgsrc ;
}

//메뉴 롤오버
function ShowHideMenu()
{
	var v, obj;
	var args = ShowHideMenu.arguments;
	if ((obj=FindObject(args[0]))!=null)
	{
		v = args[1];
		if (obj.style)
		{
			obj = obj.style;
			v = (v == 'show') ? 'block' : (v == 'hide') ? 'none' : v;
		}
		//obj.visibility = v;
		obj.display = v;
	}
}

//레이어 롤오버
function ShowHideArea()
{
	var v, obj;
	var args = ShowHideArea.arguments;
	if ((obj=FindObject(args[0]))!=null)
	{
		v = args[1];
		if (obj.style)
		{
			obj = obj.style;
			v = (v == 'show') ? 'block' : (v == 'hide') ? 'none' : v;
		}
		obj.visibility = v;
	}
}

function FindObject(n, d)
{
	var p, i, x;
	if (!d) d = document;
	if ((p = n.indexOf("?")) > 0 && parent.frames.length)
	{
		d = parent.frames[n.substring(p+1)].document;
		n = n.substring(0, p);
	}
	if (!(x = d[n]) && d.all) x = d.all[n];
	for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
	for (i = 0; !x && d.layers && i < d.layers.length; i++) x = FindObject(n, d.layers[i].document);
	if (!x && document.getElementById) x = document.getElementById(n);
	return x;
}


function GetPositionLeft(element){
	var x = 0;
	do {
		if (element.style.position == 'absolute') {
			return x + element.offsetLeft; 
		}
		else{
			x += element.offsetLeft;
			if (element.offsetParent) 
			if (element.offsetParent.tagName == 'TABLE') 
			if (parseInt(element.offsetParent.border) > 0){
				x += 1; 
			}
		}
	}
	while ((element = element.offsetParent));
	return x; 
}

function GetPositionTop(element){
	var y = 0;
	do{
		if (element.style.position == 'absolute'){
			return y + element.offsetTop; 
		}
		else{
			y += element.offsetTop;
			if (element.offsetParent) 
			if (element.offsetParent.tagName == 'TABLE') 
			if (parseInt(element.offsetParent.border) > 0){
				y += 1; 
			}
		}
	}
	while ((element = element.offsetParent));
	return y; 
}

var autoScroll;
function CheckAutoScroll(scrollId, topHeight){
    if(autoScroll != null)
    {
		clearTimeout(autoScroll);
    }
    var yMenuFrom, yMenuTo, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck;
	var objScrollTarget = FindObject(scrollId);
	var targetTop = objScrollTarget.style.top;
	if(targetTop == "") targetTop = "160";
	if(targetTop.indexOf("px") >=0) targetTop = targetTop.substring(0, targetTop.length -2);
	yMenuFrom	= parseInt(targetTop);
	if(self.pageYOffset) //IE외 모든 브라우저
	{
		yMenuTo = self.pageYOffset +topHeight;
	}
	else if(document.documentElement && document.documentElement.scrollTop)		//Explorer 6 Strict 모드
	{
		yMenuTo = document.documentElement.scrollTop +topHeight;
	}
	else if(document.body)		//다른IE버전
	{
		yMenuTo = document.body.scrollTop +topHeight;
	}
    timeoutNextCheck = 500;
    
    if ( yMenuFrom != yMenuTo ) {
		yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 20 );
		if ( yMenuTo < yMenuFrom )  yOffset = -yOffset;
		objScrollTarget.style.top = (yMenuFrom + yOffset ) + "px";
		timeoutNextCheck = 10;
    }
    autoScroll = setTimeout ("CheckAutoScroll('" + scrollId + "', " + topHeight + ")", timeoutNextCheck);
}

function attachEvent_(obj, evt, fuc, useCapture) {
    if(!useCapture) useCapture=false;
    if(obj.addEventListener) { // W3C DOM 지원 브라우저
        return obj.addEventListener(evt,fuc,useCapture);
    } 
    else if(obj.attachEvent) { // MSDOM 지원 브라우저
        return obj.attachEvent("on"+evt, fuc);
    } 
    else { // NN4 나 IE5mac 등 비 호환 브라우저
        MyAttachEvent(obj, evt, fuc);
        obj['on'+evt]=function() { MyFireEvent(obj,evt) };
    }
}

function detachEvent_(obj, evt, fuc, useCapture) {
    if(!useCapture) useCapture=false;
    if(obj.removeEventListener) {
        return obj.removeEventListener(evt,fuc,useCapture);
    } 
    else if(obj.detachEvent) {
        return obj.detachEvent("on"+evt, fuc);
    } 
    else {
        MyDetachEvent(obj, evt, fuc);
        obj['on'+evt]=function() { MyFireEvent(obj,evt) };
    }
}

function MyAttachEvent(obj, evt, fuc) {
    if(!obj.myEvents) obj.myEvents= {};
    if(!obj.myEvents[evt]) obj.myEvents[evt]=[];
    var evts = obj.myEvents[evt];
    evts[evts.length]=fuc;
}

function MyFireEvent(obj, evt) {
    if(!obj.myEvents || !obj.myEvents[evt]) return;
    var evts = obj.myEvents[evt];
    for (var i=0;i<len;i++) {
        len=evts.length;
        evts[i]();
    }
}



function openWindow(url, windowName, w, h)
{
    openWindow(url, windowName, 0, 1, 0, 1, w, h);
}

function openWindowScroll(url, windowName, w, h)
{
    openWindow(url, windowName, 0, 1, 0, 0, w, h);
}

function openWindowFix(url, windowName, w, h)
{
    openWindow(url, windowName, 0, 0, 0, 0, w, h);
}

function openWindow(url, windowName, toolbar, scrollbars, menubar, resizable, width, height)
{
    var options = "toolbar=" + toolbar;
    options += ",scrollbars=" + scrollbars;
    options += ",menubar=" + menubar;
    options += ",resizable=" + resizable;
    options += ",width=" + width;
    options += ",height=" + height;

    window.open(url, windowName, options)
}
