﻿/* @@@@@@@@@@@@@@@@@@@@@@@@@@@ 기능 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
var isIE = is_IE();

function is_IE()
{
	if(navigator.appName && navigator.appName.indexOf("Microsoft") != -1)
		return true;
	else
		return false; 
}

function get_body_scroll()
{
    var x,y;
    if (self.pageYOffset) 
    {
        x = self.pageXOffset;
        y = self.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop)
    {
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    }
    else if (document.body) 
    {
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    }
    var result = new Object;
    result.left = x;
    result.top = y;
    return result;
}


function get_body_inner_size()
{
    var result = new Object;
    if(self.innerWidth)
    {
        result.width = self.innerWidth;
        result.height = self.innerHeight;
        return result;
    }
    else if (document.documentElement && document.documentElement.clientHeight) 
    {
        result.width = document.documentElement.clientWidth;
        result.height = document.documentElement.clientHeight;
        return result;
    }            
    else if (document.body) { 
        result.width = document.body.clientWidth;
        result.height = document.body.clientHeight;
        return result;
    }
}


// convert pixel data to integer
function convertP2I(pixel)
{
	return parseInt( pixel.replace("px", "") );
}

/* 
(left, top)      (right, top)
    *----------------*
    |                |
    |                |
    *----------------*
(left, bottom)   (left, bottom) 
 */
/* 
function getPositionRect(element)
{
    var x = 0;
    var y = 0;
	
	do 
	{
		if (element.style.position == 'absolute') 
		{
			x = x + element.offsetLeft; 
			y = y + element.offsetTop;
			break;
		}
		else
		{
			x += element.offsetLeft;
			y += element.offsetTop;
			if (element.offsetParent) 
			{
			    if (element.offsetParent.tagName == 'TABLE') 
			    {
			        if (parseInt(element.offsetParent.border) > 0)
			        {
				        x += 1; 
				        y += 1;
				    }
			    }
			}
		}
	}
	while ((element = element.offsetParent));
	
	return { posX: x, posY: y, width: element.offsetWidth, height: element.offsetHeight }
}
*/
/* 
(left, top)      (right, top)
    *----------------*
    |                |
    |                |
    *----------------*
(left, bottom)   (left, bottom) 
 */

var Region = 
{
    getLeft: function(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; 
    }, 
    
    getTop: function(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;         
    },
    
    getRight: function(element)
    {
        return this.getLeft(element) + element.offsetWidth;
    },
    
    getBottom: function(element)
    {
        return this.getTop(element) + element.offsetHeight;
    }
} 


/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ function script end @@@@@@@@@@@@@@@@@@@@@@@@@ */

/* checkbox list API */
function checkboxSelectAll(key, isSelect)
{
    var elements = document.forms[0].elements; 
    for( var i=0 ; i < elements.length ; ++i )
    {
        if( elements[i].id.indexOf(key) > -1 && elements[i].type == 'checkbox' )
            elements[i].checked = isSelect;
    }
}

// prototype
String.prototype.trim = function() 
{ 
    return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

String.prototype.bytes2 = function()
{
        var str = this;
        var l = 0;
        for( var i = 0; i < str.length; i++ ) 
		{
			if( str.charCodeAt( i ) == 13 ) continue;
			l += ( str.charCodeAt( i ) > 128 ) ? 2 : 1;
		}
        return l;
}

String.prototype.replaceAll = function(str1, str2)
{
      var temp_str = "";

      if (this.trim() != "" && str1 != str2)
      {
        temp_str = this.trim();

        while (temp_str.indexOf(str1) > -1)
        {
          temp_str = temp_str.replace(str1, str2);
        }
      }

      return temp_str;
}



function openForeignWindow(url)
{
    if( url.indexOf("http://") == -1 )
        url = "http://" + url;
        
    openFullSizeWindow(url);
}

function openFullSizeWindow(url)
{
    var size = get_body_inner_size();

	openWindow(url, 'popup', 0, 1, 0, 1, size.width, size.height);
}

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) 
}

function requiredData(ctlId, msg)
{
    var ctl = document.getElementById(ctlId);
    if( ctl.value.trim().length == 0 )
    {
        alert(msg);
        ctl.focus();
        return false;
    }
    
    return true;
}

function confirmWindow(msg)
{
    if (!confirm(msg)) return false;
}

function getNowTime()
{
    var time = new Date();
    var yyyy = time.getFullYear();
    var mm = time.getMonth() + 1;
    var dd = time.getDate();
    var hh = time.getHours();
    var nn = time.getMinutes();
    var ss = time.getSeconds();  
    
    var tm = "am";        
    if( (hh-12) > 0 ) 
    {
        hh -= 12;
        tm = "pm";
    }
    
    if( mm < 10 ) { mm = "0" + mm; }
    if( dd < 10 ) { dd = "0" + dd; }        
    if( hh < 10 ) {	hh = "0" + hh; }
    if( nn < 10 ) {	nn = "0" + nn; }
    if( ss < 10 ) {	ss = "0" + ss; }

    //Current Data. 2006.07.06 | am 12:00
    //var timeString = "Current Date. " + yyyy + "." + mm + "." + dd + " | " + tm + " " + hh + ":" + nn + ":" + ss;
var timeString = yyyy + "." + mm + "." + dd + " | " + tm + " " + hh + ":" + nn + ":" + ss;

    document.getElementById("viewNowTime").innerHTML = timeString;
    
    window.setTimeout("getNowTime();", 1000);	
}

function getCookie(name) 
{ 
    var found = false; 
    var start, end; 
    var i = 0; 
    var foundString;
    // cookie 문자열 전체를 검색 
    while(i <= document.cookie.length) 
    { 
        start = i 
        end = start + name.length 
        // name과 동일한 문자가 있다면 
        foundString = document.cookie.substring(start, end);
        if(foundString == name) 
        {
            found = true;
            break;
        } 
        i++;
    } 
    
    // name 문자열을 cookie에서 찾았다면 
    if(found == true) 
    { 
        start = end + 1 
        end = document.cookie.indexOf(";", start) 
        
        // 마지막 부분이라 는 것을 의미(마지막에는 ";"가 없다) 
        if(end < start) 
            end = document.cookie.length;
        // name에 해당하는 value값을 추출하여 리턴한다. 
        foundString = unescape(document.cookie.substring(start, end));
       
        return foundString;
    } 
    
    // 찾지 못했다면 
    return "";
} 

// 쿠키설정
function setCookie( name, value, expiredays ) 
{ 
    var todayDate = new Date(); 
    todayDate.setDate( todayDate.getDate() + expiredays ); 
    document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";" 
} 

//쿠키 소멸 함수
function clearCookie(name) 
{
    var expire_date = new Date();
    
    //어제 날짜를 쿠키 소멸 날짜로 설정한다.
    expire_date.setDate(expire_date.getDate() - 1)
    
    document.cookie = name + "= " + "; expires=" + expire_date.toGMTString() + "; path=/"
}

function findCookie(name)
{
    if( getCookie(name) == "" )
        return false;
        
    return true;
}

// 시작페이지 설정
function setHomePage(ctl, link) 
{
    ctl.style.behavior='url(#default#homepage)';
    ctl.setHomePage(link);
}




function overRow(ctl, color)
{
    ctl.style.backgroundColor=color;
}

function autoFormFocus()
{
    var target;
    for( var i=0; i < document.forms[0].elements.length ; ++i )
    {
        target = document.forms[0].elements[i];       
        
        if( target.tagName == 'INPUT' && (target.type == 'text' || target.type == 'password') && target.disabled == false)
        {
            try {
            target.focus();
            } catch(e) { }
            return;
        }
    }
}



/// -------------------- 사용자 -------------------------------///
// Tooltip
function viewTooltip(ctl, msg)
{
    var table = document.createElement("table");
    table.id = "tblAlertList";
    table.className = "Tooltip";
    table.style.position = "absolute";
    table.style.display = "block";
    table.style.top = (GetPositionTop(ctl) + 5) + "px";
    table.style.left = (GetPositionRight(ctl) + 5) + "px";
    
    var tbody = document.createElement("tbody");
    var row = document.createElement("tr");
    var cell = document.createElement("td");
    cell.style.backgroundColor = "#FFFFFF";
    cell.style.textAlign = "left";
    cell.innerHTML = msg;        
    
    row.appendChild(cell);
    tbody.appendChild(row);
    table.appendChild(tbody);
    
    ctl.onmouseout = HideTooltip;
    document.body.appendChild(table);
}

function hideTooltip()
{
    var table = document.getElementById("tblAlertList");
    if( table != null )
    {
        document.body.removeChild(table);    
    }
}



