﻿
//*****************************************************************************
//* 디자이너 기본 스크립트
//*****************************************************************************

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_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_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]; }
}


//*****************************************************************************
//* ASP 서비스 -> XXXX 웹 사이트 바로가기
//*****************************************************************************

function setXPos()
{
    var objShortcut = document.getElementById("div_shortcut");
    if (objShortcut == null)
        return;

    objShortcut.style.display = "block";
    var clientWidth = document.body.clientWidth;
    if (clientWidth < 1024)
        objShortcut.style.left = 53;
    else
        objShortcut.style.left = (clientWidth - 1024) / 2 + 53;
}

function setYPos()
{
    var objShortcut = document.getElementById("div_shortcut");
    if (objShortcut == null)
        return;

    objShortcut.style.top = (434 + parseFloat(document.body.scrollTop)).toString() + "px";
}


//*****************************************************************************
//* 위로 버튼
//*****************************************************************************

var objTopBtn = null;

function setTopBtn()
{
    var baseHeight = parseFloat(document.body.clientHeight) * 1.3;
    if (parseFloat(document.body.scrollHeight) > baseHeight)
    {
        objTopBtn = document.createElement("img");
        objTopBtn.id = "btnTop";
        objTopBtn.src = "/images/btn_top.gif"
        objTopBtn.border = 0;
        objTopBtn.style.position = "absolute";
        objTopBtn.style.cursor = "pointer";
        objTopBtn.style.top = 530;
        
        var clientWidth = document.body.clientWidth;
        if (clientWidth < 1024)
            objTopBtn.style.left = 110;
        else
            objTopBtn.style.left = (clientWidth - 1024) / 2 + 110;

        objTopBtn.onclick = function() { document.body.scrollTop = 0; };

        document.body.appendChild(objTopBtn);
    }
}

function setTopBtnXPos()
{
    if (objTopBtn == null)
        return;

    var clientWidth = document.body.clientWidth;
    if (clientWidth < 1024)
        objTopBtn.style.left = 110;
    else
        objTopBtn.style.left = (clientWidth - 1024) / 2 + 110;
}

function setTopBtnYPos()
{
    if (objTopBtn == null)
        return;

    objTopBtn.style.top = (530 + parseFloat(document.body.scrollTop)).toString() + "px";
}


//*****************************************************************************
//* 공지사항
//*****************************************************************************

var XHR = null;

function getXHR()
{
    if (window.XMLHttpRequest)
        XHR = new XMLHttpRequest();
    else if (window.ActiveXObject)
        XHR = new ActiveXObject("Msxml2.XMLHTTP");
    else
        return;
}

function getNoticeMain()
{
    if (XHR == null)
        getXHR();

    XHR.onreadystatechange = function()
    {
        if (XHR.readyState == 4)
        {
            if (XHR.status >= 200 && XHR.status < 300)
            {
                var objLink1 = document.getElementById("lnkNotice1")
                var objLink2 = document.getElementById("lnkNotice2")
                var node = null;

                if (window.ActiveXObject)
                    node = XHR.responseXML.selectNodes("/ArrayOfArticle/Article");
                else
                    node = XHR.responseXML.getElementsByTagName("Article");

                if (node == null)
                    return;

                if (node.length == 1)
                {
                    if (objLink1 != null)
                    {
                        objLink1.innerHTML = getNodeValue(node[0], "Subject");
                        objLink1.setAttribute("href", "/support/news.htm?number=" + getNodeValue(node[0], "RealNumber"));
                    }
                }
                else if (node.length >= 2)
                {
                    if (objLink1 != null)
                    {
                        objLink1.innerHTML = getNodeValue(node[0], "Subject");
                        objLink1.setAttribute("href", "/support/news.htm?number=" + getNodeValue(node[0], "RealNumber"));
                    }
                    if (objLink2 != null)
                    {
                        objLink2.innerHTML = getNodeValue(node[1], "Subject");
                        objLink2.setAttribute("href", "/support/news.htm?number=" + getNodeValue(node[1], "RealNumber"));
                    }
                }
            }
        }
    }

    XHR.open("GET", "/NoticeService.asmx/GetArticleList?currentPage=1&rowPerPage=2");
    XHR.send(null);
}

function getNoticeSupport()
{
    if (XHR == null)
        getXHR();

    var template =
          "<table width=98% border=0 cellpadding=0 cellspacing=4 class=list>"
        + "<tr class=v> "
        + "    <td width=60 align=center>_NUM_</td>"
        + "    <td><a href=javascript:showContents(_CNUM_);>_SUBJECT_</a></td>"
        + "    <td width=120 align=center>_DATE_</td>"
        + "</tr>"
        + "</table>";

    XHR.open("GET", "/NoticeService.asmx/GetArticleList?currentPage=1&rowPerPage=100", false);
    XHR.send(null);

    var objList = document.getElementById("noticeList");
    if (objList == null)
        return;
    var objTBODY = objList.getElementsByTagName("TBODY")[0];

    var node = null;
    if (window.ActiveXObject)
        node = XHR.responseXML.selectNodes("/ArrayOfArticle/Article");
    else
        node = XHR.responseXML.getElementsByTagName("Article");

    if (node == null)
        return;

    if (objTBODY.hasChildNodes())
        objTBODY.removeChild(objTBODY.firstChild);

    for (var i = 0; i < node.length; i++)
    {
        var newRow = document.createElement("tr");
        objTBODY.appendChild(newRow);

        var newCell = document.createElement("td");
        newRow.appendChild(newCell);

        newCell.style.height = "25px";
        newCell.style.textAlign = "center";
        newCell.style.borderTop = "none 0px";
        newCell.style.borderRight = "none 0px";
        newCell.style.borderBottom = "solid 1px #dde2e6";
        newCell.style.borderLeft = "none 0px";

        var html = template;
        html = html.replace("_NUM_",     getNodeValue(node[i], "OrderNumber"));
        html = html.replace("_CNUM_",    getNodeValue(node[i], "RealNumber"));
        html = html.replace("_SUBJECT_", getNodeValue(node[i], "Subject"));
        html = html.replace("_DATE_",    getNodeValue(node[i], "DateTime"));

        newCell.innerHTML = html;
    }
}

function checkNumber()
{
    var url = self.location.search.replace(/\?/, "");
    var qss = url.split(/&/);
    for (var i = 0; i < qss.length; i++)
    {
        var qs = qss[i].split('=');
        if (qs[0].toLowerCase() == "number")
        {
            showContents(qs[1]);
            break;
        }
    }
}

function showContents(number)
{
    var objView = document.getElementById("divView");
    if (objView == null)
        return;

    getNoticeInfo(number);

    objView.style.height = 300;
    objView.style.width  = 700;
    objView.style.top    = (document.body.clientHeight - parseFloat(objView.style.height)) / 2 - 50;
    objView.style.left = (document.body.clientWidth - parseFloat(objView.style.width)) / 2;
    
    if (parseFloat(objView.style.top) < 110)
        objView.style.top = 110;

    objView.style.display = "block";
}

function getNoticeInfo(number)
{
    if (XHR == null)
        getXHR();

    XHR.open("GET", "/NoticeService.asmx/GetArticleInfo?articleNumber=" + number, false);
    XHR.send(null);

    var objView    = document.getElementById("divView");
    var objTitle   = document.getElementById("spnTitle")
    var objNumber  = document.getElementById("spnNumber")
    var objDate    = document.getElementById("spnDate")
    var objContent = document.getElementById("tdContent")
    if (objView == null || objTitle == null || objNumber == null || objDate == null || objContent == null)
        return;

    var node = XHR.responseXML.getElementsByTagName("Article");
    if (node == null)
    {
        objView.style.display = "none";
        return;
    }
    else if (node.length != 1)
    {
        objView.style.display = "none";
        return;
    }

    objTitle.innerHTML   = getNodeValue(node[0], "Subject");
    objNumber.innerHTML  = getNodeValue(node[0], "OrderNumber");
    objDate.innerHTML    = getNodeValue(node[0], "DateTime");
    objContent.innerHTML = getNodeValue(node[0], "Content").replace("\n", "<br>");
}

function postAsking()
{
    var objForm = document.frmAsking;
    var objType    = objForm.rdoType;
    var objSubject = objForm.txtSubject;
    var objMail    = objForm.txtMail;
    var objContent = objForm.txtContent;

    var type = 0;
    if (objType[0].checked)
        type = 1;
    else if (objType[1].checked)
        type = 2;
    else if (objType[2].checked)
        type = 3;
    else if (objType[3].checked)
        type = 4;
    else if (objType[4].checked)
        type = 5;

    if (objSubject.value.trim().length == 0)
    {
        alert("제목을 입력하여 주십시오.");
        objSubject.focus();
        return;
    }

    if (objMail.value.trim().length == 0)
    {
        alert("회신 받으실 메일주소를 입력하여 주십시오.");
        objMail.focus();
        return;
    }

    if (!isValidEmail(objMail.value.trim()))
    {
        alert("회신 받으실 메일주소가 올바르지 않습니다.");
        objMail.select();
        return;
    }

    if (objContent.value.trim().length == 0)
    {
        alert("문의내용을 입력하여 주십시오.");
        objContent.focus();
        return;
    }

    if (objContent.value.trim() == "문의내용 :")
    {
        alert("문의내용을 입력하여 주십시오.");
        objContent.focus();
        return;
    }

    if (objContent.value.trim().length < 50)
    {
        alert("문의내용이 너무 짧습니다.");
        objContent.focus();
        return;
    }

    if (XHR == null)
        getXHR();

    XHR.open("GET", "/NoticeService.asmx/CreateArticleInfo?email=" + objMail.value.trim() + "&subject=" + objSubject.value.trim() + "&content=" + objContent.value.trim().replace(/\n/img, "[_br_]") + "&type=" + type, false);
    XHR.send(null);

    if (XHR.responseXML == null)
    {
        alert("문의내용을 담당자에게 전달하던 중 오류가 발생하였습니다.");
        return;
    }
    else if (XHR.responseXML.documentElement.firstChild == null)
    {
        alert("문의내용을 담당자에게 전달하던 중 오류가 발생하였습니다.");
        return;
    }

    var resultCode = XHR.responseXML.documentElement.firstChild.nodeValue;
    if (resultCode != "Y")
    {
        alert("문의내용을 담당자에게 전달하던 중 오류가 발생하였습니다.");
        return;
    }
    else
    {
        alert("담당자에게 문의하신 내용이 정상적으로 전달되었습니다. 신속히 답변 또는 연락 드리도록 하겠습니다.\n\n감사합니다.");
        self.location.href = "/";
        return;
    }

    return;
}


//*****************************************************************************
//* 유틸리티 메서드
//*****************************************************************************

String.prototype.trim = function(str)
{
    str = this != window ? this : str;
    return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function getNodeValue(parent, nodeName)
{
    var nodes = parent.getElementsByTagName(nodeName);
    if (nodes == null || nodes.length == 0)
        return "";

    return nodes[0].firstChild.nodeValue;
}

function isValidEmail(value)
{
    var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;

    return (pattern.test(value)) ? true : false;
}