/**************************************************************
°ø¿ë ÀÚ¹Ù½ºÅ©¸³Æ® Common.js
2007.11.13 / maru7937@naver.com
**************************************************************/


/////Link bluring/////

function bluring(){ 
if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG") document.body.focus(); 
} 
document.onfocusin=bluring;


/////Swap Image/////

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


/////Flash Activation/////

function insertFlash( id, flashUri, vWidth, vHeight, winMode ) {
	var _obj_ = "";

	_obj_ = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + vWidth + '" height="' + vHeight + '" id="' + id + '" align="middle">';
	_obj_ += '<param name="allowScriptAccess" value="always" />';
	_obj_ += '<param name="movie" value="' + flashUri + '" />';
	_obj_ += '<param name="quality" value="high" />';
	_obj_ += '<param name="wmode" value="' + winMode + '" />    ';
	_obj_ += '<param name="bgcolor" value="#ffffff" />        ';
	_obj_ += '<embed src="' + flashUri + '" quality="high" wmode="' + winMode + '" bgcolor="#ffffff" width="' + vWidth +'" height="' + vHeight + '" id="' + id + '" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></embed>    ';
	_obj_ += '</object>';
	document.writeln( _obj_ );
}


/////Scrolling Tab/////

var _scroll_topmargin=500;        // ÀÌµ¿ ¸Þ´ºÀÇ »ó´Ü ÇÑ°è ÇÈ¼¿
var _scroll_ing_topmargin=500;         // ¿òÁ÷ÀÌ´Â µµÁßÀÇ »ó´Ü°úÀÇ °£°Ý
var _scroll_activate_speed=500;        // ÃÊ±â ¿òÁ÷ÀÓÀ» °¨ÁöÇÏ´Â ½Ã°£Â÷ÀÌ (1/1000ÃÊ)
var _scroll_ing_activate_speed=10;        // ¿òÁ÷ÀÌ±â ½ÃÀÛÇÑ ÀÌÈÄ¿¡ °¨ÁöÇÏ´Â ½Ã°£Â÷ÀÌ (1/1000ÃÊ)

var isDOM = (document.getElementById ? true : false); 
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);

function getRef(id) {
	if (isDOM) return document.getElementById(id);
	if (isIE4) return document.all[id];
	if (isNS4) return document.layers[id];
}

var isNS = navigator.appName == "Netscape";

function moveRightEdge() {
	var yMenuFrom, yMenuTo, yOffset, timeoutNextCheck;
	if (isNS4) {
		yMenuFrom   = divMenu.top;
		yMenuTo     = windows.pageYOffset+_scroll_ing_topmargin;
	} else if (isDOM) {
		yMenuFrom   = parseInt (divMenu.style.top, 10);
		yMenuTo     = (isNS ? window.pageYOffset : document.body.scrollTop)+_scroll_ing_topmargin;
	}
	if(yMenuTo<_scroll_topmargin) yMenuTo = _scroll_topmargin;

	timeoutNextCheck = _scroll_activate_speed;

	if (yMenuFrom != yMenuTo) {
		yOffset = Math.ceil(Math.abs(yMenuTo - yMenuFrom) / 10);
	if (yMenuTo < yMenuFrom) yOffset = -yOffset;
	if (isNS4) divMenu.top += yOffset;
	else if (isDOM) divMenu.style.top = parseInt (divMenu.style.top, 10) + yOffset;
	timeoutNextCheck = _scroll_ing_activate_speed;
	}
	setTimeout ("moveRightEdge()", timeoutNextCheck);
}


/////Slide Layer Browser/////

var panelWidth = 150;    // Width of help panel    
var slideSpeed = 15;        // Higher = quicker slide
var slideTimer = 10;    // Lower = quicker slide
var slideActive = true;    // Slide active ?
var initBodyMargin = 0;    // Left or top margin of your <body> tag (left if panel is at the left, top if panel is on the top)
var pushMainContentOnSlide = false;    // Push your main content to the right when sliding
var panelPosition = 1;     // 0 = left , 1 = top

/*    Don't change these values */
var slideLeftPanelObj=false;
var slideInProgress = false;    
var startScrollPos = false;
var panelVisible = false;
function initSlideLeftPanel(expandOnly)
{
    if(slideInProgress)return;
    if(!slideLeftPanelObj){
        if(document.getElementById('dhtmlgoodies_leftPanel')){    // Object exists in HTML code?
            slideLeftPanelObj = document.getElementById('dhtmlgoodies_leftPanel');
            if(panelPosition == 1)slideLeftPanelObj.style.width = '100%';
        }else{    // Object doesn't exist -> Create <div> dynamically
            slideLeftPanelObj = document.createElement('DIV');
            slideLeftPanelObj.id = 'dhtmlgoodies_leftPanel';
            slideLeftPanelObj.style.display='none';
            document.body.appendChild(slideLeftPanelObj);
        }
        
        if(panelPosition == 1){
            slideLeftPanelObj.style.bottom = "-" + panelWidth + 'px';
            slideLeftPanelObj.style.left = '0px';    
            slideLeftPanelObj.style.height = panelWidth + 'px';            
        }else{
            slideLeftPanelObj.style.left = "-" + panelWidth + 'px';
            slideLeftPanelObj.style.top = '0px';
            slideLeftPanelObj.style.width = panelWidth + 'px';
        }
        

        if(!document.all || navigator.userAgent.indexOf('Opera')>=0)slideLeftPanelObj.style.position = 'fixed';;
    }    
    
    if(panelPosition == 0){
        if(document.documentElement.clientHeight){
            slideLeftPanelObj.style.height = document.documentElement.clientHeight + 'px';
        }else if(document.body.clientHeight){
            slideLeftPanelObj.style.height = document.body.clientHeight + 'px';
        }
        var leftPos = slideLeftPanelObj.style.left.replace(/[^0-9\-]/g,'')/1;
    }else{
        if(document.documentElement.clientWidth){
            slideLeftPanelObj.style.width = document.documentElement.clientWidth + 'px';
        }else if(document.body.clientHeight){
            slideLeftPanelObj.style.width = document.body.clientWidth + 'px';
        }
        var leftPos = slideLeftPanelObj.style.bottom.replace(/[^0-9\-]/g,'')/1;            
        
        
    }
    slideLeftPanelObj.style.display='block';
    
    if(panelPosition==1)
        startScrollPos = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
    else
        startScrollPos = Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);
    if(leftPos<(0+startScrollPos)){
        if(slideActive){
            slideLeftPanel(slideSpeed);    
        
        }else{
            document.body.style.marginLeft = panelWidth + 'px';
            slideLeftPanelObj.style.left = '0px';
        }
    }else{
        if(expandOnly)return;
        if(slideActive){        
            slideLeftPanel(slideSpeed*-1);
        }else{
            if(panelPosition == 0){
                if(pushMainContentOnSlide)document.body.style.marginLeft =  initBodyMargin + 'px';
                slideLeftPanelObj.style.left = (panelWidth*-1) + 'px';    
            }else{
                if(pushMainContentOnSlide)document.body.style.marginTop =  initBodyMargin + 'px';
                slideLeftPanelObj.style.bottom = (panelWidth*-1) + 'px';                        
            }            
        }
    }    
    
    if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0){
        window.onscroll = repositionHelpDiv;
    
        repositionHelpDiv();
    }
    window.onresize = resizeLeftPanel;
    
}

function resizeLeftPanel()
{
    if(panelPosition == 0){
        if(document.documentElement.clientHeight){
            slideLeftPanelObj.style.height = document.documentElement.clientHeight + 'px';
        }else if(document.body.clientHeight){
            slideLeftPanelObj.style.height = document.body.clientHeight + 'px';
        }        
    }else{
        if(document.documentElement.clientWidth){
            slideLeftPanelObj.style.width = document.documentElement.clientWidth + 'px';
        }else if(document.body.clientWidth){
            slideLeftPanelObj.style.width = document.body.clientWidth + 'px';
        }    
    }
}

function slideLeftPanel(slideSpeed){
    slideInProgress =true;
    var scrollValue = 0;
    if(panelPosition==1)
        var leftPos = slideLeftPanelObj.style.bottom.replace(/[^0-9\-]/g,'')/1;
    else
        var leftPos = slideLeftPanelObj.style.left.replace(/[^0-9\-]/g,'')/1;
        
    leftPos+=slideSpeed;
    okToSlide = true;
    if(slideSpeed<0){
        if(leftPos < ((panelWidth*-1) + startScrollPos)){
            leftPos = (panelWidth*-1) + startScrollPos;    
            okToSlide=false;
        }
    }
    if(slideSpeed>0){
        if(leftPos > (0 + startScrollPos)){
            leftPos = 0 + startScrollPos;
            okToSlide = false;
        }            
    }
    
    
    if(panelPosition==0){
        slideLeftPanelObj.style.left = leftPos + startScrollPos + 'px';
        if(pushMainContentOnSlide)document.body.style.marginLeft = leftPos - startScrollPos + panelWidth + 'px';
    }else{
        slideLeftPanelObj.style.bottom = leftPos + 'px';
        if(pushMainContentOnSlide)document.body.style.marginTop = leftPos - startScrollPos + panelWidth + 'px';            
        
    }
    if(okToSlide)setTimeout('slideLeftPanel(' + slideSpeed + ')',slideTimer); else {
        slideInProgress = false;
        if(slideSpeed>0)panelVisible=true; else panelVisible = false;
    }
    
}


function repositionHelpDiv()
{
    if(panelPosition==0){
        var maxValue = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
        slideLeftPanelObj.style.top = maxValue;
    }else{
        var maxValue = Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);
        slideLeftPanelObj.style.left = maxValue;    
        var maxTop = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
        if(!slideInProgress)slideLeftPanelObj.style.bottom = (maxTop - (panelVisible?0:panelWidth)) + 'px';         
    }
}

function cancelEvent()
{
    return false;
}

function setLeftPanelContent(text)
{
    document.getElementById('leftPanelContent').innerHTML = text;
    initSlideLeftPanel(true);
    
}