/*-- ------------------------------------------------------
oxsolution JAVASCRIPT functions  http://www.oxsolution.com
------------------------------------------------------ --*/

function getAdCookie() {
    var c = getCookie("ROAD_AD");
    return (c != "")? c.split(",") : [];
}
function setAdCookie() {
    var a = arguments,
        c = getAdCookie();
    for (var i=0,j,n=a.length; i<n; i++) {
        if (j = Number(a[i])) c.unshift(j);
    }
    var exp = new Date();
    exp.setDate(exp.getDate() + 1);
    document.cookie = "ROAD_AD="+escape(c.join(","))+"; expires="+(new Date(exp.getFullYear(),exp.getMonth(),exp.getDate()).toGMTString())+";";
}
function closeAdLayer(n) {
    document.getElementById("ad"+n).style.display = "none";
    if (document.getElementById("adChk"+n).checked && !in_array(n,getAdCookie())) setAdCookie(n);
}
function getRoadCookie() {
    var s = getCookie("ROAD_CATE").split(","),
        c = [];
    for (var i=0; i<12; i++) c[i] = 0;
    if (s.length >= 12) {
        for (var i=0; i<12; i++) {
            if (s[i] = Number(s[i])) c[i] = s[i];
        }
    }
    return c;
}
function setRoadCookie() {
    var a = arguments,
        c = getRoadCookie();
    for (var i=0,j,n=c.length; i<n; i++) {
        if (-1 != (j = Number(a[i]))) c[i] = j;
    }
    var exp = new Date();
    exp.setDate(exp.getDate() + 30);
    document.cookie = "ROAD_CATE="+escape(c.join(","))+"; expires="+exp.toGMTString()+";";
}
function onChangeRoadCookie(n) {
    var sLst1 = document.getElementById("cateList1_1"),
        sLst2 = document.getElementById("cateList1_2"),
        sLst3 = document.getElementById("cateList1_3"),
        eLst1 = document.getElementById("cateList2_1"),
        eLst2 = document.getElementById("cateList2_2"),
        eLst3 = document.getElementById("cateList2_3");
    var sc1 = sLst1 ? optionSelectedValue(sLst1) : -1,
        sc2 = sLst2 ? optionSelectedValue(sLst2) : -1,
        sc3 = sLst3 ? optionSelectedValue(sLst3) : -1,
        ec1 = eLst1 ? optionSelectedValue(eLst1) : -1,
        ec2 = eLst2 ? optionSelectedValue(eLst2) : -1,
        ec3 = eLst3 ? optionSelectedValue(eLst3) : -1, e;

    if (sc3 == -1 && (e = document.getElementById("startIden"))) sc3 = e.value;
    if (ec3 == -1 && (e = document.getElementById("endIden"))) ec3 = e.value;
    if (n == 2) {
        setRoadCookie(-1,-1,-1,-1,-1,-1,sc1,sc2,sc3,ec1,ec2,ec3);
    }else{
        setRoadCookie(sc1,sc2,sc3,ec1,ec2,ec3,-1,-1,-1,-1,-1,-1);
    }
}
function onChangeRoadCate(n,m) {
    if (n != 2) n = 1; n = Number(n);
    if (m != 3 && m != 2) m = 1; m = Number(m);
    var thisElm = document.getElementById("cateList"+n+"_"+m),
        nextElm = document.getElementById("cateList"+n+"_"+(m+1));

    if (nextElm) {
        if (typeof objCate1_2 == "undefined") objCate1_2 = {};
        if (typeof objCate1_3 == "undefined") objCate1_3 = {};
        if (typeof objCate2_2 == "undefined") objCate2_2 = {};
        if (typeof objCate2_3 == "undefined") objCate2_3 = {};

        var id = optionSelectedValue(thisElm),
            obj1 = eval("objCate1_"+(m+1)),
            obj2 = eval("objCate2_"+(m+1));

        if (typeof obj1[id] != "undefined" || typeof obj2[id] != "undefined") {
            ox_createOptions(nextElm,((typeof obj1[id] != "undefined")? obj1[id] : obj2[id]));
            if (nextElm.options.length) {
                var i = nextElm.getAttribute("oxDefVal");
                if (i) optionChoice(nextElm,i);
            }else{
                createOption(nextElm,-1,"¸ñ·ÏÀÌ ¾ø½À´Ï´Ù.");
            }
            nextElm.removeAttribute("oxDefVal");
            nextElm.fireEvent("onchange");

        }else{
            var rpc = new oxc_RPC();
            var elm = document.getElementById("cateType");
            var tid = elm ? elm.value : 0;
            childrenDisabled(thisElm.parentElement,1);
            var actionFile = getActionFile();
            var reqUrl = actionFile+"?mt=data&mp=road&mm=road&cm=road&cp=road&oxid=1&cmd=road&subcmd=getcate&tid="+tid+"&id="+id+"&dummy="+oxrandom(1000000,9999999);
            var req = rpc.httpConnect();
            req.onreadystatechange = function() {
                if (req.readyState == 4 && req.status == 200 && req.responseXML) {
                    childrenDisabled(thisElm.parentElement,0);
                    var xml = req.responseXML;
                    var res = xml.getElementsByTagName("response")[0];
                    var err = res.childNodes[0].text;
                    var msg = res.childNodes[1].text;

                    if (err == "SUCCESS") {
                        obj1[id] = rpc.code2obj(xml.getElementsByTagName("data")[0].text);
                        ox_createOptions(nextElm,obj1[id]);
                        if (nextElm.options.length) {
                            var i = nextElm.getAttribute("oxDefVal");
                            if (i) optionChoice(nextElm,i);
                        }else{
                            createOption(nextElm,-1,"¸ñ·ÏÀÌ ¾ø½À´Ï´Ù.");
                        }
                        nextElm.removeAttribute("oxDefVal");
                        nextElm.fireEvent("onchange");
                    }else{
                        alert(msg);
                    }
                }
            }
            req.open("GET",reqUrl,true);
            req.send(null);
        }
    }else{
        var e = document.getElementById("searchListLayer");
        if (e) {
            var se = document.getElementById("startIden");
            var ee = document.getElementById("endIden");

            if (n == 2) {
                if (ee.getAttribute("oxFlag") == 1) {
                    ee.value = "";
                    document.getElementById("endText").value = "";
                }
                ee.setAttribute("oxFlag",1);
            }else{
                if (se.getAttribute("oxFlag") == 1) {
                    se.value = "";
                    document.getElementById("startText").value = "";
                }
                se.setAttribute("oxFlag",1);
            }
            e.style.display = "none";
        }
        fixOne(n);
    }
}
function fixOne(n) {
    var sLst1 = document.getElementById("cateList1_1"),
        sLst2 = document.getElementById("cateList1_2"),
        sLst3 = document.getElementById("cateList1_3"),
        eLst1 = document.getElementById("cateList2_1"),
        eLst2 = document.getElementById("cateList2_2"),
        eLst3 = document.getElementById("cateList2_3");
    if (sLst2 && eLst2) {
        if (!sLst2.options.length || !eLst2.options.length) return;

        var sc1 = optionSelectedValue(sLst1),
            sc2 = optionSelectedValue(sLst2),
            ec1 = optionSelectedValue(eLst1),
            ec2 = optionSelectedValue(eLst2);

        if (ROAD_DEF_AREA != 0) {
            if (sc1 != ROAD_DEF_AREA && ec1 != ROAD_DEF_AREA) {
                if (n == 1) {
                    optionChoice(eLst1,ROAD_DEF_AREA);
                    onChangeRoadCate(2,1);
                }else{
                    optionChoice(sLst1,ROAD_DEF_AREA);
                    onChangeRoadCate(1,1);
                }
            }else{
                if (ROAD_DEF_CITY != 0 && sc2 != ROAD_DEF_CITY && ec2 != ROAD_DEF_CITY) {
                    if (n == 1) {
                        if (ec1 == ROAD_DEF_AREA) {
                            optionChoice(eLst2,ROAD_DEF_CITY);
                            if (optionSelectedValue(eLst2) == ROAD_DEF_CITY) onChangeRoadCate(2,2);
                        }else{
                            eLst2.setAttribute("oxDefVal",ROAD_DEF_CITY);
                            optionChoice(eLst1,ROAD_DEF_AREA);
                            if (optionSelectedValue(eLst1) == ROAD_DEF_AREA) onChangeRoadCate(2,1);
                        }
                    }else{
                        if (sc1 == ROAD_DEF_AREA) {
                            optionChoice(sLst2,ROAD_DEF_CITY);
                            if (optionSelectedValue(sLst2) == ROAD_DEF_CITY) onChangeRoadCate(1,2);
                        }else{
                            sLst2.setAttribute("oxDefVal",ROAD_DEF_CITY);
                            optionChoice(sLst1,ROAD_DEF_AREA);
                            if (optionSelectedValue(sLst1) == ROAD_DEF_AREA) onChangeRoadCate(1,1);
                        }
                    }
                }
            }
        }
    }
    onChangeRoadCookie((sLst3 && eLst3)? 1 : 2);
}
function actionStopSearch(n) {
    var lst = document.getElementById("cateList"+n+"_2"),
        elm = document.getElementById("cateType"),
        i = (n != 2)? "startIden" : "endIden",
        t = (n != 2)? "startText" : "endText";
    ox_jsSearchList.fm["tid"].options[0].value = elm ? elm.value : 0;
    ox_jsSearchList.fm["cid"].options[0].value = optionSelectedValue(lst);
    ox_jsSearchList.fm["str"].value = document.getElementById(t).value;
    ox_jsSearchList.targetIden = i;
    ox_jsSearchList.targetText = t;
    ox_jsSearchList.actionSearch();
}
function actionSearchBySelect(cmd,subcmd,id,param) {
    var sElm = document.getElementById("cateList1_3"),
        eElm = document.getElementById("cateList2_3");
    var sp = optionSelectedValue(sElm),
        ep = optionSelectedValue(eElm);
    if (sp && ep) actionView(cmd,subcmd,id,param+"&sp="+sp+"&ep="+ep);
}
function actionSearchByInput(cmd,subcmd,id,param) {
    var sElm = document.getElementById("startIden"),
        eElm = document.getElementById("endIden");
    var sp = Number(sElm.value),
        ep = Number(eElm.value);
    if (sp && ep) actionView(cmd,subcmd,id,param+"&sp="+sp+"&ep="+ep);
}
function actionTourSearch(cmd,subcmd,id,ep,param) {
    if (ep == 0) {
        alert("µî·ÏµÈ ³ë¼±ÀÌ ¾ø½À´Ï´Ù.");
        return;
    }
    var elm = document.getElementById("startIden");
    var sp = Number(elm.value);
    if (sp == 0) {
        alert("Ãâ¹ßÁö¸¦ ¼±ÅÃÇÏ¼¼¿ä.");
        document.getElementById("startText").focus();
        return;
    }
    document.getElementById("endIden").value = ep;
    actionSearchByInput(cmd,subcmd,id,param);
}
function showInfo(btn,cmd,id,tit) {
    var obj = {
        "bus":{"ROUTE":"¿îÇà±¸°£","ALL_ROUTE":"°æÀ¯Áö"},
        "cp" :{"NOTE":"È¯½ÂÁö¼³¸í"},
        "typicalstop":{"ADDR":"ÁÖ¼Ò","NOTE":"Á¤·ùÀå¼³¸í"},
        "detailstop" :{"ADDR":"ÁÖ¼Ò","NOTE":"Á¤·ùÀå¼³¸í"}
    };
    if (typeof obj[cmd] == "undefined") return;
    if (typeof tit == "undefined") tit = "";
    var elm = document.getElementById("infoLayer"+id);
    if (elm) {
        showHideCtrlBox(btn,"infoLayer"+id,1,320,100,tit);
        return;
    }
    elm = document.createElement("div");
    elm.id = "infoLayer"+id;
    elm.style.display = "none";
    elm.style.padding = "5px";
    elm.innerHTML = "Á¤º¸¸¦ °Ë»öÁßÀÔ´Ï´Ù...";
    document.body.appendChild(elm);
    showHideCtrlBox(btn,"infoLayer"+id,1,320,100,tit);

    var rpc = new oxc_RPC();
    var actionFile = getActionFile();
    var reqUrl = actionFile+"?mt=data&mp=road&mm=road&cm=road&cp=road&oxid=1&cmd="+cmd+"&subcmd=getinfo&id="+id+"&dummy="+oxrandom(1000000,9999999);
    var req = rpc.httpConnect();
    req.onreadystatechange = function() {
        if (req.readyState == 4 && req.status == 200 && req.responseXML) {
            var xml = req.responseXML;
            var res = xml.getElementsByTagName("response")[0];
            var err = res.childNodes[0].text;
            var msg = res.childNodes[1].text;

            if (err == "SUCCESS") {
                var data = rpc.code2obj(xml.getElementsByTagName("data")[0].text), html = "";
                for (var i in obj[cmd]) html += '<table border="0" cellpadding="2" cellspacing="0"><tr><td class="nowrap" valign="top">'+obj[cmd][i]+' :</td><td>'+(data[i] || '<span class="p_lightgrey">Á¤º¸°¡ ¾ø½À´Ï´Ù.</span>')+'</td></tr></table>';
                elm.innerHTML = html;
            }else{
                alert(msg);
            }
        }
    }
    req.open("GET",reqUrl,true);
    req.send(null);
}
function showDetailStop(bid,sid,eid,n) {
    var row = document.getElementById("p"+n),
        elm = document.getElementById("s"+n),
        btn = document.getElementById("b"+n);
    var path = btn.src.substr(0,btn.src.lastIndexOf("/"));
    if (elm.innerHTML != "") {
        if (row.style.display == "none") {
            row.style.display = "block";
            btn.src = path+"/ico_more_on.gif";
        }else{
            row.style.display = "none";
            btn.src = path+"/ico_more_off.gif";
        }
        return;
    }
    row.style.display = "block";
    btn.src = path+"/ico_more_on.gif";
    elm.innerHTML = "°æÀ¯Áö¸¦ °Ë»öÁßÀÔ´Ï´Ù...";

    var rpc = new oxc_RPC();
    var actionFile = getActionFile();
    var reqUrl = actionFile+"?mt=data&mp=road&mm=road&cm=road&cp=road&oxid=1&cmd=line&subcmd=getstop&id="+bid+"&sds="+sid+"&eds="+eid+"&dummy="+oxrandom(1000000,9999999);
    var req = rpc.httpConnect();
    req.onreadystatechange = function() {
        if (req.readyState == 4 && req.status == 200 && req.responseXML) {
            var xml = req.responseXML;
            var res = xml.getElementsByTagName("response")[0];
            var err = res.childNodes[0].text;
            var msg = res.childNodes[1].text;

            var c = 0, html = "";
            if (err == "SUCCESS") {
                var data = rpc.code2obj(xml.getElementsByTagName("data")[0].text);
                var sts = 0, ets = 0, i = 0;
                for (i in data) if (!sts) sts = i;
                ets = i;

                for (i in data) {
                    html += ' &gt; <a href="javascript:;" onclick="showInfo(this,\'typicalstop\',\''+i+'\',\''+data[i]+'\');return false;" class="block'+((i == sts || i == ets)? " blue" : "")+'">'+data[i]+'</a>';
                    c++;
                }
            }else{
                alert(msg);
            }
            elm.innerHTML = c ? html.substr(6) : "°Ë»öµÈ °æÀ¯Áö°¡ ¾ø½À´Ï´Ù.";
        }
    }
    req.open("GET",reqUrl,true);
    req.send(null);
}
function showTourInfo(id) {
    var elm = document.getElementById("tourInfoSrc");
    elm.style.display = "block";
    elm.style.top  = (event.y + 30)+"px";
    elm.style.left = (event.x - Math.ceil(elm.offsetWidth / 2))+"px";
    if (elm.getAttribute("oxIndex") == id) return;
    elm.setAttribute("oxIndex",id);
    var imgSrc = elm.children[0],
        txtSrc = elm.children[1],
        newImg = document.getElementById("tourImg"+id);
    if (imgSrc.children.length) {
        var oldImg = imgSrc.children[0];
        oldImg.style.display = "none";
        imgSrc.parentElement.appendChild(oldImg);
    }
    imgSrc.appendChild(newImg);
    newImg.style.display = "block";
    txtSrc.innerHTML = "Á¤º¸¸¦ °Ë»öÁßÀÔ´Ï´Ù...";

    var rpc = new oxc_RPC();
    var actionFile = getActionFile();
    var reqUrl = actionFile+"?mt=data&mp=road&mm=road&cm=road&cp=road&oxid=1&cmd=tour&subcmd=getinfo&id="+id+"&dummy="+oxrandom(1000000,9999999);
    var req = rpc.httpConnect();
    req.onreadystatechange = function() {
        if (req.readyState == 4 && req.status == 200 && req.responseXML) {
            var xml = req.responseXML;
            var res = xml.getElementsByTagName("response")[0];
            var err = res.childNodes[0].text;
            var msg = res.childNodes[1].text;

            if (err == "SUCCESS") {
                var data = rpc.code2obj(xml.getElementsByTagName("data")[0].text);
                if (data["ID_NUM"] == elm.getAttribute("oxIndex")) {
                    var html = '<div class="title" style="padding-bottom:5px;">'+data["TITLE"]+'</div>';
                    if (data["INFO1"] != "") html += '<div class="p_dtm t11 p_grey">'+data["INFO1"]+'</div>';
                    if (data["INFO4"] != "") html += '<div class="p_dtm t11 p_grey">'+data["INFO4"]+'</div>';
                    txtSrc.innerHTML = html;
                }
            }
        }
    }
    req.open("GET",reqUrl,true);
    req.send(null);
}
function hideTourInfo() {
    var elm = document.getElementById("tourInfoSrc");
    elm.style.display = "none";
    elm.setAttribute("oxIndex",0);
}
function setMyList(elmId) {
    var elm = document.getElementById(elmId);
    if (elm.getAttribute("disabled") == 1) return;
    if (elm.getAttribute("oxOpen") == 1) {
        elm.setAttribute("oxOpen",0);
        elm.style.display = "none";
        document.body.detachEvent("onclick",tempFunc);
        return;
    }
    elm.parentElement.onclick = eventStop;
    elm.style.display = "block";
    elm.innerHTML = '<li><a href="javascript:;">Á¤º¸¸¦ °Ë»öÁßÀÔ´Ï´Ù...</a></li>';
    elm.setAttribute("disabled",1);

    var rpc = new oxc_RPC();
    var actionFile = getActionFile();
    var reqUrl = actionFile+"?mt=data&mp=road&mm=road&cm=road&cp=road&oxid=1&cmd=road&subcmd=getmyroad&dummy="+oxrandom(1000000,9999999);
    var req = rpc.httpConnect();
    req.onreadystatechange = function() {
        if (req.readyState == 4 && req.status == 200 && req.responseXML) {
            var xml = req.responseXML;
            var res = xml.getElementsByTagName("response")[0];
            var err = res.childNodes[0].text;
            var msg = res.childNodes[1].text;

            var i = -1, html = "";
            if (err == "SUCCESS") {
                var data = rpc.code2obj(xml.getElementsByTagName("data")[0].text);
                for (i in data) html += '<li><a href="javascript:contentPopup(\'route\',\'print\',\'\',\'&sp='+data[i]["START_TS_ID"]+'&ep='+data[i]["END_TS_ID"]+'&route='+data[i]["ALL_CP_ID"]+'\');">'+data[i]["START_ROUTE"]+' - '+data[i]["END_ROUTE"]+'</a></li>';
            }else{
                alert(msg);
            }

            elm.setAttribute("disabled",0);
            elm.setAttribute("oxOpen",1);
            elm.innerHTML = (i != -1)? html : '<li><a href="javascript:;">¸ñ·ÏÀÌ ¾ø½À´Ï´Ù.</a></li>';
            if (typeof tempFunc == "function") document.body.detachEvent("onclick",tempFunc);
            document.body.attachEvent("onclick",tempFunc = function() {
                elm.style.display = "none";
                elm.setAttribute("oxOpen",0);
                document.body.detachEvent("onclick",tempFunc);
            });
        }
    }
    req.open("GET",reqUrl,true);
    req.send(null);
}
function openRoad(once) {
    var list = document.getElementById("roadList");
    var elms = [],
        c = Number(list.getAttribute("oxIndex")) || 2,
        s = 0;
    for (var i=0,j=0,n=list.childNodes.length,e; i<n; i++) {
        if ((e = list.childNodes[i]).nodeType == 1) {
            if (j < (once * c)) {
                if (e.style.display == "none") {
                    elms.push(e);
                }
            }else{
                e.style.display = "none";
                s++;
            }
            j++;
        }
    }
    if (elms.length) {
        var e = null;
        var timer = window.setInterval(function() {
            if (e == null) {
                e = elms.shift();
                e.style.display = "block";
                setOpacity(e,0);
            }
            var v = getOpacity(e);
            if (v < 1) {
                v += 0.2;
                setOpacity(e,Math.min(v,1));
            }else{
                e = null;
                if (!elms.length) window.clearInterval(timer);
            }
        },30);
    }
    list.setAttribute("oxIndex",++c);
    var elm = document.getElementById("roadRemain");
    if (elm.innerHTML == 0) alert("°Ë»ö°á°ú°¡ ´õÀÌ»ó ¾ø½À´Ï´Ù.");
    elm.innerHTML = s;
}
function closeRoad(once) {
    var list = document.getElementById("roadList"), s = 0;
    for (var i=0,j=0,n=list.childNodes.length,e; i<n; i++) {
        if ((e = list.childNodes[i]).nodeType == 1) {
            if (j < once) {
                e.style.display = "block";
            }else{
                e.style.display = "none";
                s++;
            }
            j++;
        }
    }
    list.setAttribute("oxIndex",0);
    document.getElementById("roadRemain").innerHTML = s;
    if (!s) document.getElementById("roadBtn").style.display = "none";
}
function saveRoad(s1,s2,rt) {
    if (confirm("³ë¼±À» ÀúÀåÇÏ½Ã°Ú½À´Ï±î?")) hiddenFrameLink(urlList.actionUrl+"&cmd=myroad&subcmd=edit&sp="+s1+"&ep="+s2+"&route="+rt);
}
function Ticker(instName,listId) {
    var c = arguments.callee;
    if (!(this instanceof c)) return new c(instName,listId);
    this.INST_NAME = instName;
    this.LIST = [];
    this.CURR = 0;
    this.CNT = 0;
    this.MIN = 5;
    this.TIMER = null;

    var list = document.getElementById(listId);
    if (list) {
        for (var i=0,n=list.childNodes.length; i<n; i++) {
            if (list.childNodes[i].nodeType == 1) {
                list.childNodes[i].style.display = this.CNT ? "none" : "block";
                this.LIST.push(list.childNodes[i]);
                this.CNT++;
            }
        }
        this.start();
    }
}
Ticker.prototype.start = function() {
    if (this.CNT < 2) return;
    if (this.CURR >= this.CNT) this.CURR = 0;
    this.LIST[((this.CURR || this.CNT) - 1)].style.display = "none";
    this.LIST[this.CURR++].style.display = "block";
    this.run();
}
Ticker.prototype.run = function() {
    this.TIMER = setTimeout(this.INST_NAME+".start()",(this.MIN * 1000));
}
Ticker.prototype.stop = function() {
    if (this.TIMER) {
        eval("clearTimeout("+this.INST_NAME+".TIMER);");
        this.TIMER = null;
    }
}
function initMap(dir,key,addr,x,y) {
    var elm = document.getElementById("mapContainer");
    var show = function(x,y) {
        var p = new NPoint(x,y), e;
        var obj  = new NMap(elm,{mapMode:0}),
            zoom = new NZoomControl(),
            btns = new NMapBtns(),
            mark = new NMark(p, new NIcon(dir+"/__magicdir__/image/ico_map_point.gif", new NSize(22,22)));
        obj.addControl(zoom);
        obj.addControl(btns);
        obj.addOverlay(mark);
        obj.setCenterAndZoom(p,3);
        obj.enableWheelZoom();
        if (e = document.getElementById("mapPosX")) e.innerHTML = x;
        if (e = document.getElementById("mapPosY")) e.innerHTML = y;
        elm.style.background = "";
    }
    var fail = function() {
        elm.style.height = "auto";
        elm.style.border = 0;
        elm.style.background = "";
        elm.innerHTML = '<div class="bx_empty">¸ñÀûÁö ÁÖ¼Ò°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.</div>';
        if (e = document.getElementById("mapPosX")) e.parentElement.style.display = "none";
    }
    if (x && (x = Number(x)) && y && (y = Number(y))) {
        show(x,y);
    }else if (addr = addr.replace(/\s/g,"")) {
        var rpc = new oxc_RPC();
        var reqUrl = dir+"/proxy_map_naver.php?key="+key+"&query="+addr;
        var req = rpc.httpConnect();
        req.onreadystatechange = function() {
            if (req.readyState == 4 && req.status == 200 && req.responseXML) {
                var xml = req.responseXML;
                var res = xml.getElementsByTagName("point");
                if (res.length) {
                    show(res[0].childNodes[0].text,res[0].childNodes[1].text);
                }else{
                    fail();
                }
            }
        }
        req.open("GET",reqUrl,true);
        req.send(null);
    }else{
        fail();
    }
}
function initTime() {
    var list = document.getElementById("roadList"),
        htmls = [];
    for (var i=0,j=0,k=list.childNodes.length,e; i<k; i++) {
        if ((e = list.childNodes[i]).nodeType == 1) {
            if (!(j = htmls.length)) {
                c1 = ' class="on"';
                c2 = ' class="left_sp"';
            }else{
                c1 = '';
                c2 = ' class="sp"';
                e.style.display = "none";
            }
            htmls.push('<td'+c1+'><a href="javascript:;" onclick="onTime('+(j/2+1)+');return false;">'+e.getAttribute("oxName")+'</a></td>','<td'+c2+'></td>');
            e.rows[0].cells[0].firstChild.style.display = "none";
        }
    }
    if (htmls.length > 2) {
        htmls.splice(htmls.length-1,1);
        list.insertAdjacentHTML("beforeBegin",'<div style="padding:20px 4px 4px; text-align:right;"><span class="help">±¸°£º° ¿îÇàÁ¤º¸¸¦ È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.</span></div>'
            +'<table id="timeTbl" class="tbl_time" border="1" cellpadding="0" cellspacing="0"><tr><td class="left_on"></td>'+htmls.join("")+'<td class="right_off"></td></tr></table>');
    }
}
function onTime(n) {
    var list = document.getElementById("roadList"),
        tbl  = document.getElementById("timeTbl"),
        cells= tbl.rows[0].cells,
        len  = cells.length;
    for (var i=0,j=0,k=list.childNodes.length,e; i<k; i++) {
        if ((e = list.childNodes[i]).nodeType == 1) {
            e.style.display = (n == ++j)? "block" : "none";
        }
    }
    for (var i=1; i<len-1; i++) {
        cells[i].className = !(i % 2)? "sp" : "";
    }
    if (n == 1) {
        cells[0].className = "left_on";
        cells[2].className = "left_sp";
        cells[len - 1].className = "right_off";
    }else if (n == (len - 1) / 2) {
        cells[0].className = "left_off";
        cells[len - 1].className = "right_on";
        cells[len - 3].className = "right_sp";
    }else{
        cells[0].className = "left_off";
        cells[n * 2].className = "left_sp";
        cells[n * 2 - 2].className = "right_sp";
        cells[len - 1].className = "right_off";
    }
    cells[n * 2 - 1].className = "on";
}
//customized(modules/road/__magicdir__/js/default.js)
function openLayer() {
    var pos = false;
    switch (arguments.length) {
        case 2: if (arguments[1]) var pos = arguments[1];
        case 1:
            var layerId = arguments[0];
            var elm = document.getElementById(layerId);
            elm.style.display = "block";
            if (pos) {
                var oPos = offsetPos(elm.offsetParent);
                elm.style.position = "absolute";
                elm.style.left = ((parseInt(pos.x,10) || 0) - oPos.x)+"px";
                elm.style.top = ((parseInt(pos.y,10) || 0) - oPos.y)+"px";
                movingLayerSet(elm);
                posInnerDoc(elm);
            }else{
                setOpacity(elm,0.2);
                var timer = window.setInterval(function() {
                    var v = getOpacity(elm);
                    if (v < 1) {
                        v += 0.2;
                        setOpacity(elm,Math.min(v,1));
                    }else{
                        window.clearInterval(timer);
                    }
                },100);
            }
            return elm;
        default: return false;
    }
}
function getOpacity(e) {
    var v = 1;
    if (typeof e.filters != "undefined") {
        if (typeof e.filters != "unknown") {
            if (e.filters.alpha) v = e.filters.alpha.opacity / 100;
        }else{
            if (/opacity=([^)]*)/i.test(e.style.filter)) v = parseInt(RegExp.$1) / 100;
        }
    }else{
        v = e.style.opacity;
        if (v === "") v = 1;
    }
    return isNaN(v = parseFloat(v))? 1 : v;
}
function setOpacity(e,v) {
    if (isNaN(v = Math.max(Math.min(parseFloat(v),1),0))) v = 1;
    if (typeof e.filters != "undefined") {
        e.style.zoom = 1;
        v *= 100;
        if (v < 100 && typeof e.filters != "unknown" && e.filters.alpha) {
            e.filters.alpha.opacity = v;
        }else{
            var reg = /alpha\([^)]*\)/i,
                i = e.style.filter,
                j = (v < 100)? "alpha(opacity="+v+")" : "";
            e.style.filter = reg.test(i)? i.replace(reg,j) : i+" "+j;
        }
    }else{
        e.style.opacity = v;
    }
}
function roadOn(n) {
    var e1 = document.getElementById("c"+n+"top"),
        e2 = document.getElementById("c"+n+"btm"),
        e3 = document.getElementById("c"+n+"left"),
        e4 = document.getElementById("c"+n+"right"),
        e5 = document.getElementById("c"+n+"lt"),
        e6 = document.getElementById("c"+n+"rt"),
        e7 = document.getElementById("c"+n+"lb"),
        e8 = document.getElementById("c"+n+"rb");
    var bg = e1.background || "";
    var path = bg.substr(0,bg.lastIndexOf("/"));
    e1.background = path+"/bx_bold_top.gif";
    e2.background = path+"/bx_bold_btm.gif";
    e3.background = path+"/bx_bold_left.gif";
    e4.background = path+"/bx_bold_right.gif";
    e5.background = path+"/bx_bold_lt.gif";
    e6.background = path+"/bx_bold_rt.gif";
    e7.background = path+"/bx_bold_lb.gif";
    e8.background = path+"/bx_bold_rb.gif";
}
function roadOff(n) {
    var e1 = document.getElementById("c"+n+"top"),
        e2 = document.getElementById("c"+n+"btm"),
        e3 = document.getElementById("c"+n+"left"),
        e4 = document.getElementById("c"+n+"right"),
        e5 = document.getElementById("c"+n+"lt"),
        e6 = document.getElementById("c"+n+"rt"),
        e7 = document.getElementById("c"+n+"lb"),
        e8 = document.getElementById("c"+n+"rb");
    var bg = e1.background || "";
    var path = bg.substr(0,bg.lastIndexOf("/"));
    e1.background = path+"/bx_white_top.gif";
    e2.background = path+"/bx_white_btm.gif";
    e3.background = path+"/bx_white_left.gif";
    e4.background = path+"/bx_white_right.gif";
    e5.background = path+"/bx_white_lt.gif";
    e6.background = path+"/bx_white_rt.gif";
    e7.background = path+"/bx_white_lb.gif";
    e8.background = path+"/bx_white_rb.gif";
}
function offsetPos(elm) {
    var x = 0, y = 0;
    while (elm && elm.nodeType == 1) {
        x += elm.offsetLeft;
        y += elm.offsetTop;
        elm = elm.offsetParent;
    }
    return {"x":x,"y":y}
}

