/*test1 fullmap*/
document.observe("dom:loaded", loadMap);
var curWindowSize = null;
var strUrSn = strState;
var isCity = 'TP';
var isPopUp = false;
var typeShadow = '-1';
var objCompTemp = null;
var objSearch = null;
var strType = "";
var checkSMS = 0;
var smsEnable = false, strSMSDirec = '', strSMSKey = '';
var idTime = null;
var mmapout = ['divnav', 'divMapAdvLogo', 'boxMapSearch'];
var box_ = null;
var adsbartime = null;
var oSnapShot = null;
var snapMap = null;
var loop;
var objCompAdv = null;

function loadMap() {

    //document.observe("click", docClick);
    loadNewEvents();
    window.onresize = function() { resizeMap(); mainResize(); };
    curWindowSize = utils.windowSize();
    resizeMap(false);
    var xy4mdefaultsplit = xy4mdefault.split('_');
    var strCompanyVip = { "dsCompany": [{ "MCty": "599551", "Add": "72 (Vincom Center), Le Thanh Ton, P. Ben Nghe, Q. 1", "AddKD": "72 (Vincom Center), Le Thanh Ton, P. Ben Nghe, Q. 1", "X": "10.777525127117", "Y": "106.702051138356", "NnDv": "7_Tài Chính_Financial^^118_ChungKhoan_Securities (stocks, Bonds, And Mutual Funds)", "LDisplay": "Keyword_Adv/Vincom/Vincom_40x40.JPG", "XY": "879120_2478426"}] }; 
    try {


        if (typeof (snapShot) != 'undefined') {//edit 03/02/2010 --them cho truong hop  nhan link Quay lai cua snap shot(if())
            var snapshot = "";
            try { var snapshot = snapShot.evalJSON(true); } catch (ex) { snapshot = snapShot; }
            if (snapshot != "1") {
                var splitxy = snapshot.xy.split("_");
                mapInit('divMap', splitxy[0], splitxy[1]);
                oAdd = assign2Add(oAdd, snapshot.add, 1, ',');
                map.removeMapMaker();
                createMapIcon(0);
                map.maker.mx = splitxy[0];
                map.maker.my = splitxy[1];
                createInfoBox(map.maker);
                map.setcustomZoom(parseFloat(zm));
                map.setType(parseInt(mt), 1);
                $('divDirection').show();
                changByClick_R([$("aTabDirection"), $("aTabMaps")], $("aTabDirection").innerHTML, $("divSlideright"), 87, 8, '#fff', '#5D5E5E');
                changeSearchType($('aTabDirection'));
                var txtSearch = $('divDirection').down('#txtSearchB');
                txtSearch.pxy = snapshot.xy;
                txtSearch.value = snapshot.add;
                txtSearch.style.backgroundImage = 'none';
            }
        } else {
            if (!sfs) {
                var arrXY = strCompanyVip.dsCompany[0].XY.split("_");
                mapInit('divMap', arrXY[0], arrXY[1]);
                oAdd = assign2Add(oAdd, '37 (Saigon Trade Center Pḥng 911), Ton Duc Thang, P.Ben Nghe, Q.1', 1, ',');

                // mapInit('divMap');
                // oAdd = assign2Add(oAdd, '49, Le Loi, P.Ben Nghe, Q.1', 1, ',');
            }
            else {
                var s;
                try { s = sfs.evalJSON(true); } catch (ex) { s = sfs; }
                if (s.s == 1) { mapInit('divMap'); directResult(sfs); }
                else {
                    s.vlue = $("hdField").value;
                    if (s != undefined && s.vlue.length > 1) {
                        mapResult(s);
                        createMapIcon(0);
                    }
                    else mapInit('divMap', xy4mdefaultsplit[0], xy4mdefaultsplit[1]);
                }
            }
        }
    } catch (ex) {
        try {
            var splitxy = xyPosition.split("_");
            mapInit('divMap', splitxy[0], splitxy[1]);
            try { ojbCdetail = ojbCdetail.evalJSON(true); } catch (ex) { }
            // gan dia chi vao doi tuong oAdd
            oAdd = assign2Add(oAdd, ojbCdetail.Address, 1, ',');
            map.removeMapMaker();
            createMapIcon(0);
            map.maker.mx = splitxy[0];
            map.maker.my = splitxy[1];
            createInfoBox(map.maker);
            var divDirection = $('divDirection');
            var txtSearch = null;
            var name = '';
            if (parseInt(iHere) == 0) {
                txtSearch = divDirection.down('#txtSearchA');
                name = $('divToolTip').down(".aTTFromHere").name;
            }
            else if (parseInt(iHere) == 1) {
                txtSearch = divDirection.down('#txtSearchB');
                name = $('divToolTip').down(".aTTToHere").name;
            }
            onChangeTab($('aTabDirection'));

            name = name.split(";");
            if (name.length > 1) txtSearch.pxy = name[1] + "_" + name[2];
            txtSearch.value = convert2Address(name[0]);
            txtSearch.Add = name[0];
            txtSearch.style.backgroundImage = 'none';

            txtSearch.focus();
            hideErrorInfo();
            map.Search = 0;

        } catch (ex) { }
    }

    var txtSearchNearBy = $('txtSearchNearBy');
    var txtSearchYP = $('txtSearchYP');
    var txtSearchMaps = $('txtSearchMaps');
    var txtSearchA = $('txtSearchA');
    var txtSearchB = $('txtSearchB');

    try {//newlayout
        var autoText = new AutoComplete();
        var _attTmp = $('txtSearchMaps').cumulativeOffset();
        autoText.addTextBox($("txtSearchA"), "Suggestion.aspx", 1, ',', [-1, _attTmp[0] + 15, _attTmp[1] + 25, 218, -1], { ext: 0 }); //,us:strUrSn,sts:strState
        autoText.addTextBox($("txtSearchB"), "Suggestion.aspx", 1, ',', [-1, _attTmp[0] - 5, _attTmp[1] + 55, 218, -1], { ext: 0 }); //,us:strUrSn,sts:strState
        autoText.addTextBox($("txtSearchMaps"), "Suggestion.aspx", 1, ',', [-1, _attTmp[0] - 6, _attTmp[1] + 25, 238, -1], { ext: 0 }); //,us:strUrSn,sts:strState
    } catch (ex) { }
    var slink = unescape(window.location.search);
    if (slink.indexOf("$") != -1) {
        slink = delSubString("$%20$", slink);
    }
    slink = delSubString("$", slink);
    var smsInfo = slink.toQueryParams();
    if (smsInfo.f == 2010) {
        showBoxSMS(1);
        $('txtSMSB').value = smsInfo.fp;
    }
    else if (slink != "") {

        var strqr = utils.parse2Query(slink);
        var pUrl = toParamsOfQuery(slink);
        if (pUrl.st != undefined) strState = pUrl.st;
        if ((strqr.length == 1 & slink.indexOf("?l=") == -1 & strqr[0] != strState) || (strqr.length == 3 & slink.indexOf("cID=") != -1)) {

            findCompanyByID(strqr[0]);
        }
        else if (strqr.length == 3) { // danh cho nut dinh vi, sponsr, CONG DONG
            if (slink.indexOf("ll=") != -1) { //  chuyen tu cong dong qua
                var sps = strState.substr(strState.length / 2);
                var cxy = utils.decode(strqr[2], sps).split('_');
            }
            else sponserMap(strqr[1], strqr[2]);
        }
        else if (strqr.length == 2) {  // chuyen tu history sang
            strState = strqr[0];
            var sps = strState.substr(strState.length / 2);

        }
        else if (strqr.length > 1 && !(strqr.length == 2 && pUrl.st != undefined && pUrl.l != undefined)) {
            slink = slink.toQueryParams();
            typeShadow = slink.sd;
            isPopUp = true;

            if (slink.h == undefined) {
                if (slink.n == undefined) { // truong hop khong co thong tin ban do 
                    try {
                        if (slink.ll == undefined) { // khong co lat long 
                            strfunc = "directResult";
                            strState = slink.st;
                            isWard = slink.w;
                            var strA = slink.A;
                            var param = "";
                            inSearch = 1;
                            map.Search = 1;
                            var txta = unescape(utils.decode(escape(strA), strState.substr(strState.length / 2)));
                            var txtSearchAB = (slink.s == "0") ? $("txtSearchMaps") : $("txtSearchA");
                            txtSearchAB.style.backgroundImage = 'none';
                            txtSearchAB.value = txta;
                            txtSearchAB.pxy = "-1";
                            if (slink.s == "1") { // duong
                                onChangeTab($("aTabDirection"));
                                var strB = slink.B;

                                var txtb = unescape(utils.decode(escape(strB), strState.substr(strState.length / 2)));
                                var txtSearchB = $("txtSearchB");
                                txtSearchB.value = txtb;
                                txtSearchB.pxy = "-1";
                                if (txtb != '') txtSearchB.next().hide();
                                param = { "A": strA, "B": strB, "w": isWard, "ex": 0, "fp": -1, pp: -1 };

                            }
                            else {  // diem
                                inSearch = 0;
                                map.Search = 0;
                                strfunc = "searchResult";
                                param = { "A": strA, "w": isWard, "ex": 0, "fp": 0, pp: -1 };

                            }
                            utils.call("search.aspx?st=" + strState + "&stpe=" + slink.s, param, 'POST', strfunc, strfunc);
                        }
                    } catch (exec) { }
                } else {

                    var cont = slink.n.split(";");
                    map.type = cont[8];

                    map.currentZoom = parseFloat(utils.trim(cont[0]));
                    if (map.type == 3) {
                        map.changZomControl(3); map.isconvert = true;
                        // change type
                        map.changtypeControl(3);

                    }
                    map.setType(cont[8], 1);
                    var mxy1 = (cont[9] * 100 / cont[0]);
                    var mxy2 = (cont[10] * 100 / cont[0]);
                    map.setPointNoCent(mxy1 + "_" + mxy2);
                    // map.fixPoint.point.x = cont[11];//xem lai 
                    // map.fixPoint.point.y = cont[12];//xemlai
                    var divListStreet = $('divListStreet');
                    if (divListStreet != null && map.Search == 0) divListStreet.hide();
                    try {
                        inSearch = slink.s;
                        if (inSearch == 0) {
                            var sps = strState.substr(strState.length / 2);
                            var add = unescape(utils.decode(slink.a, sps));
                            oAdd = assign2Add(oAdd, add, 1, ',');
                            inSearch = slink.s;
                            $("txtSearchMaps").value = convert2Address(add);

                            $("boxMapSearch").down('.mbox_caption').innerHTML = add;
                            // oAdd
                            if (oAdd.stName != "") {
                                map.removeMapMaker();
                                createMapIcon(0);
                                //spnSearchResult
                                if ($("mbox_holder").innerHTML != "")
                                    $("divMap").down('.restore_tab').removeClassName('hide');
                            }
                            map.maker.mx = cont[11];
                            map.maker.my = cont[12];
                            createInfoBox(map.maker);
                        } else { // duong di, ve duong di 
                            onChangeTab($("aTabDirection"));
                        }
                    } catch (ex) { }
                    try {
                        searchCompFullMap(objFindComp); // bat qua tab moi
                        if (objFindComp.stpe == "1") {
                            onChangeTab($("aTabDirectory"));
                            $("txtSearchNearBy").value = objFindComp.K;
                            if (objFindComp.A != "") {
                                $("txtSearchYP").value = objFindComp.A;
                                $("divDirectory").select(".fbox")[1].addClassName('focus');
                                $("txtSearchYP").value = objFindComp.A;
                            }
                        }
                    } catch (ex) { if (typeof (objFindComp) != 'object') showPopUp(); }
                    map.setcustomZoom(parseFloat(utils.trim(cont[0])));
                }


            } else if (slink.cID == undefined) {//them truong hop nay de xu ly truong hop tim duong 
                var name = '';
                var txtSearch = '';
                var divDirection = $('divDirection');
                if (parseInt(slink.h) == 0) {
                    txtSearch = divDirection.down('#txtSearchA');
                    name = $('divToolTip').down(".aTTFromHere").name;
                }
                else if (parseInt(slink.h) == 1) {
                    txtSearch = divDirection.down('#txtSearchB');
                    name = $('divToolTip').down(".aTTToHere").name;
                }
                onChangeTab($("aTabDirection"));
                txtSearch.next().hide();
                name = name.split(";");
                if (name.length > 1) txtSearch.pxy = name[1] + "_" + name[2];
                txtSearch.value = convert2Address(name[0]);
            }
        }
    }

    loadFullMapEvents();
    getAdsLogo();

    box_ = new boxCate();
    /*  box_.initializeCtrl(new mapPosition(MAP_POS_RIGHTBTOM, new mapPoint(10, 0)));
    */
    if (typeof (objFindComp) == 'object' && objFindComp.catID != undefined) {
        var catID = parseInt(objFindComp.catID);
        var from = (Math.ceil(catID / 6) - 1) * 6 + 1;
        $("divListCate").innerHTML = box_.loadBoxCateIcons(from);
    }
    /*  var directorybar = dllCAtegoryBar()[isLang];
    var dllInner = [{ 'name': '0', 'value': directorybar[0] }, { 'name': '1', 'value': directorybar[1] }, { 'name': '2', 'value': directorybar[2]}];
    box_.loadBoxCateDDL(dllInner, 'divSelSearch', box_.onClickDDLCate, true);
    var divMapIconCate = $('divMapIconCate');

    if (slink != "" && slink.ins != undefined && divMapIconCate != null) { //hien thi dll  cate-khi tim duong
    box_.cateID = slink.catID;
    try {

            if (slink.ins == "1") {
    var ddlCate = divMapIconCate.down('.no_select');
    ddlCate.innerHTML = divSelSearch.down('.select_options').down('LI', parseInt(slink.posCate)).innerHTML;

                $('divShadowP').show();
    }
    } catch (acateex) { }
    }
    */
    // khoi tao SnapShot

    oSnapShot = new SnapShotControl('box_snapshot1', 'box_snapshot2');
    oSnapShot.previewPiture(false);

    maptypeResize();
    var qrylink = unescape(window.location.search).toQueryParams();
    if (qrylink && qrylink.infoRC != undefined) {
        var infoRC = decodeURIComponent(utils.decode(qrylink.infoRC, qrylink.st.substring(qrylink.st.length / 2)));
        if (infoRC != '') oClickRecentKeySearch(infoRC);
    }
    try {
        oSendReview = new SendReview();
        oSendReview.checkLogin(false);
    } catch (ex) { }
    var queryString = null;
    if (typeof (slink) == 'string')
        queryString = toParamsOfQuery(slink);
    else if (typeof (slink) == 'object') queryString = slink;
    //truong hop co lat lon ma khong co cID
    if (typeof (queryString.cID) == "undefined" && queryString.ll) {
        var ll = utils.decode(queryString.ll, strState.substr(strState.length / 2));
        map.setPoint2Map(ll);
    }
    // drag & track
    loaddragResult();
    // adsbartime = setTimeout(showAdsbar, 20000);

    $(document.body).select('.closebox_buttonsmall')[0].addClassName('hide');
    showAdsbar();
    showIconVipOnMap(strCompanyVip.dsCompany, "VipMap");
    //muaChungPopup();
};
// gan su kien cho div chua ket qua tim kiem dia diem & duong di
function loaddragResult() {
    // resize cho div kq tim duong di
    var box = $("boxMapSearch");
    dragThis(box.down('.mbox_caption'), box, $("divMap"), onDragEndResult);

};
function closeintro(obj) {

    $(obj).up().addClassName('hide');
};
// ket qua tim dia diem
function searchResult(result) {

    map.isconvert = true;
    try {
        if (result == "") return;  // ket qua ko co gi=> khong lam gi
        var langformap = lang4MapError()[isLang];
        if (result == "-1" || result == '503') { // khong tim thay
            mapNote(langformap[2]); $('divIcon').hide();
            return;
        }
        //var lang_ = lang4MapError()[isLang];
        // chua co div nay 
        //if (result == '503') { $('DivNotFound').show(); $('divIcon').hide(); $("divShadow").show(); $('DivNotFound').down(".spanError").update(lang_[3]); return; }
        var oResult;

        $("mbox_holder").innerHTML = "";

        try { // chuyen sang chuoi json 
            oResult = result.evalJSON(true);
        } catch (execc) { oResult = result; }
        if (oResult.s == 1)  // truong hop tim duong di
            directResult(result);
        else { // truong hop tim dia diem
            map.Search = 0;
            map.removeDirectionMaker();
            map.removeMapMaker();
            removeShadow();
            // ---------- gan lai box quang cao 
            //showBoxAdss();
            // if ton tai danh sach cong ty ben phai thi xoa di
            try {
                if (oCom != null) {
                    paramCom = null;
                    removeICon();
                    oCom = null;
                    hideBox($('boxCompanyResult'));
                    /*if ($("divSearchResult").visible())
                    hideBoxResult($("divSearchResult"));
                    */
                }
            } catch (comex) { }

            if ($('divSMS')) if ($('divSMS').visible()) $('divSMS').hide();
            switch (oResult.f) {
                case "3": mapNote(langformap[2]); $('divIcon').hide(); break; //khong tim thay
                case "4": mapNote(langformap[2]); $('divIcon').hide(); break;
                case "2": //tim thay
                    showboxSearch(0); // an box hien thi di
                    try { getMapResult(oResult); } catch (ef) { };
                    // $('DivPosACom').hide();
                    break;
                case "0": showboxSearch(1); showListResultFull(oResult); hideAds(); break;   //tim thay ds
                case "1": showboxSearch(1); showListResultFull(oResult); hideAds(); break;
            }
            $("boxMapSearch").select(".mbox_caption")[0].innerHTML = "<span class='captainsp' id='spnSearchResult'>" + lang4FullMap()[isLang][0] + " </span><span class='captainsp'>" + substr($("txtSearchMaps").value, 40) + "</span>";
        }
        $('divIcon').hide();
        setPositionIconVip();
    } catch (ex) { }
};
// hien thi box ket qua tim kiem , type: 1: hien thi, 0: an di 
function showboxSearch(type) {
    var boxMapSearch = $('boxMapSearch');
    if (type == 1) { // hien thi 
        if (boxMapSearch.className.indexOf('hide') != -1) {
            $('boxMapSearch').removeClassName('hide');
            $("restore_tab").up().addClassName('hide');
        }
    } else { // an di 
        if (boxMapSearch.className.indexOf('hide') == -1) {
            $('boxMapSearch').addClassName('hide');
            $("restore_tab").up().removeClassName('hide');
        }
    }
};
// hien thi thong bao khi tim khong thay
function mapNote(errMess) {
    $("box_inner").innerHTML = "<div class='box_Note'>" + errMess + "</div>";
    $("box").className = "box box_Note";
    copyPosition(true, null, $("box"), 0, 0);
    showShadow(true);
};
function hideAds() {
    try {
        var divAdverBanner = $('divAdverBanner');
        hideBox($('boxCompanyResult'));
        /*var divSearchResult = $('divSearchResult');
        if (divSearchResult && divSearchResult.visible()) hideBoxResult(divSearchResult);*/
        if (divAdverBanner.visible()) {
            divAdverBanner.hide();
        }
        var divTmp = $('divListStreet');
        var height = $('divBodyRight').up().getHeight() - 174;
        divTmp.style.height = (height) + 'px';
        divTmp.down('#divLSCenter').style.height = (height - 34) + 'px';
    } catch (ex) { }
};
function loadFullMapEvents() {
    //loadMenuEvents();
    try {
        /* // tam thoi - new layout
        $('btnClear').observe('click', clearBoxSearch);
        $('aBtnReverse').observe('click', textReverse); //dao chieu duogn di
        */
        //        if ($("boxCompanyResult")) {
        //            $('boxCompanyResult').observe('click', resultClick); // -su kien click vao cong ty
        //        }
        if ($("logoMore")) { $("logoMore").onclick = changeLogoads; }
        $('divMapTools').observe('click', divMapToolsClick);
        // $('btnExpandMap').observe('click', btnExpandWidth);
        //$('amovedownLogo').observe('click', btnExpandHeight);
        $("ddlCities").observe('change', changeCity);
        //$('divSearchResult').down('.dResultInfo_R').observe('click', btnBoxClick);
        $("txtSearchMaps").observe('keydown', enterSearchStreet);

        $("divMapDirect").select('.aClear').invoke('observe', 'click', clearTextBoxSearch);
        $("aReverse").observe('click', reverseStreet);
    } catch (ex) {   /*kiem tra lai cac button nao da xoa di */ }
};

function changeCity(e) {
    var ele = Event.element(e);
    var sname = ele.value;
    if (sname == strState) return;
    var barMenu = $('divmenuText');
    if (barMenu != null) {
        var aNavMenu = barMenu.select('A');
        aNavMenu = $A(aNavMenu).each(function(ele) {
            var aNavID = ele.id;
            if (aNavID != undefined && aNavID != 'aWriteComment')
                ele.href = ele.href.gsub('st=' + strState, "st=" + sname);
        });
    }
    strState = sname;
    utils.call("Suggestion.aspx", { "sts": strState, "us": 'strUrSn', "stpe": 0, "ext": -1, "prefix": '-1' }, "GET", "onchangeCity", "onchangeCity");
};
function onchangeCity(result) {
    var str;
    hideBox($('boxCompanyResult'));
    removeICon();
    if (result != "-1" && result != "") {
        try { str = result.evalJSON(true); } catch (ex) { str = result; }
        var xy = str.lnk.split("_");
        isWard = str.dst; // co day du phuong quan ko
        isCity = str.adtp; // thanh pho hay tinh
        map.removeDirectionMaker();
        map.removeMapMaker();
        //removeSearchResult();
        showAdverBanner();
        map.currentZoom = DEFAULT_ZOOM;
        map.setZoom(map.currentZoom);
        map.initialize(0, xy[0], xy[1], "");
        var add4city = str.adtxt.split(",");
        var wd = (add4city[2] == "0") ? "" : add4city[2];
        var dst = (add4city[2] == "0") ? ((str.adtp == "Q") ? add4city[3] : "") : add4city[3];
        var dtxt = add4city[0] + " " + add4city[1];
        oAdd = setDefaultAdd(add4city[0], add4city[1], add4city[5], add4city[4], dst, wd);
        removeShadow();
        createMapIcon(0);
        map.maker.mx = xy[0];
        map.maker.my = xy[1];
        createInfoBox(map.maker);
        // set lai cac textbox
        ['txtSearchA', 'txtSearchB', 'txtSearchMaps'].each(function(item) { setbackgroundtxt(item); });
        try { OffDirectoryBar(); } catch (exec) { }
    }
};
// function dung set lai value  & background cua textbox
function setbackgroundtxt(id) {
    var oID = $(id);
    if (!oID) return;
    if (oID.value != "") {
        oID.value = "";
        oID.next().show();
    }
};
function removeSearchResult() {
    //xoa icon cong ty
    map.layerMaker.update();
    //xoa ket qua tim kiem
    oAdd = oAddA = oAddB = oCom = null;
    inSearch = 0;
    map.Search = 0;
    showBoxAdss();
    clearBoxSearch();
};
function showBoxAdss() {
    try {
        var arrElement = $('divBodyRight').childElements();
        hideBox($('boxCompanyResult'));
        //hideBoxResult($('divSearchResult'));
        //xoa khung ket qua Tim duong di va dia diem
        var height = arrElement[0].up('.divBody').getHeight() - 434;
        divTmp = arrElement[1];
        if (!divTmp.visible())
            divTmp.show();
        if (divTmp.style.visibility == 'visible')
            divTmp.style.visibility = 'hidden';
        divTmp.style.height = height + 'px';
        if (!divTmp.down('#divLSCenter').empty())
            divTmp.down('#divLSCenter').down().remove();
        //hien thi khung Quang cao
        divTmp = arrElement[2];
        if (!divTmp.visible()) divTmp.style.display = '';
        //xoa khung thong bao SMS
        divTmp = $('divSMS');
        if (divTmp.visible()) divTmp.hide();
    } catch (ex) { }
};
function searchCompFullMap(strResult) {
    var func = "showListCompany";
    try {
        objFindComp = strResult.evalJSON(true);
    } catch (execc) { objFindComp = strResult; };
    try {
        showShadow4Search(true);
    } catch (ex) { }
    if (parseInt(objFindComp.stpe) == 16) {
        strParamCom = "K=" + objFindComp.k + "&XY=" + objFindComp.xy + "&st=" + objFindComp.st + "&num=" + objFindComp.num + "&stpe=" + objFindComp.stpe + "&P=";
    } else if (parseInt(objFindComp.stpe) == 17) {
        strParamCom = "sn=" + objFindComp.sn + "&st=" + objFindComp.st + "&num=" + objFindComp.num + "&stpe=" + objFindComp.stpe + "&XY=" + objFindComp.xy + "&dID=" + objFindComp.dID + "&P=";
    }
    else if (parseInt(objFindComp.stpe) == 1) {
        strParamCom = "A=" + objFindComp.A + "&C=" + objFindComp.C + "&st=" + objFindComp.st + "&F=" + objFindComp.F;

        strParamCom += "&K=" + objFindComp.K + "&R=" + objFindComp.R + "&stpe=" + objFindComp.stpe + "&S=" + objFindComp.S + "&fD=" + objFindComp.fD + "&fE=" + objFindComp.fE;
        if (objFindComp != null && objFindComp.pAdv == "1")
            strParamCom += "&pAds=" + objFindComp.pAdv;
        strParamCom += "&P=";
        func = (objFindComp != null && objFindComp.pAdv == "1") ? "showListCompanyAdv" : showListCompany;
    }
    else if (parseInt(objFindComp.stpe) == 30) {
        strParamCom = "catID=" + objFindComp.catID + "&XY=" + objFindComp.XY + "&st=" + objFindComp.st + "&posCate=" + objFindComp.posCate;
        strParamCom += "&ins=" + objFindComp.ins + "&num=" + objFindComp.num + "&stpe=" + objFindComp.stpe + "&dID=" + objFindComp.dID + "&P=";
    }
    paramCom = (strParamCom + objFindComp.p).toQueryParams();
    utils.call("Comp.aspx", paramCom, "POST", func, func);
    //utils.call("Comp.aspx", paramCom, "POST", "showListCompany", "showListCompany");
};
/*
-function :tao div mo+hien thi icon loading
-param:true or false
-create:01/03/2010 by hiennguyen
*/
function showShadow4Search(isShow) {

    var divShadowMap = $('divShadow');
    var divLoading = $('divIcon');
    var eleMap = $('divMap');
    if (isShow) {
        var posMap = $('divMap').cumulativeOffset();
        // ko set lai vi tri nay 
        // divShadowMap.setStyle({ display: 'block',  height: ($('divMap').getHeight() + 'px'), width: ($('divMap').getWidth() + 'px') });

        divShadowMap.show();
        divLoading.show();
    }
    else {
        divShadowMap.hide();
        divLoading.hide();
    }
};
/*
-function :reset lai status Icon
-create :01/03/2010 by hiennguyen
*/
function resetIconState() {
    //dua icon dang duoc chon ve binh thuong
    var activeIcon = map.layerMaker.select('A').detect(function(ele) {
        return ele.style.backgroundPosition == "0px -400px";
    });
    if (activeIcon) {
        activeIcon.up().style.zIndex = '';
        var stylecss = activeIcon.className;
        var strPos = (stylecss == 'iconComp') ? "0px -300px" : "0px -500px";
        activeIcon.style.backgroundPosition = strPos;
        activeIcon.className = stylecss;
    }
};
// hien thi tim cong ty tren 1 cong duong
function showCompResult(str) {
    objCompTemp = str;
    var container = $('divListResultCompany');
    try {
        showShadow4Search(false);
    } catch (ex) { }

    if (str == "-1") {
        container.update('');
        hideBoxResult($('divSearchResult'));
        removeICon(); oCom = null; showPopUp(); return;
    } var divSearchResult = $('divSearchResult');

    try { oCom = str.evalJSON(true); } catch (ex) { oCom = str; }


    if (oCom == null || (oCom.dsDtac.length <= 0 && oCom.dsCompany.length <= 0)) {
        container.update('');
        hideBoxResult(divSearchResult);
        removeICon();

        paramCom = null; showPopUp(); return;
    }
    var strhtml = "";
    var strTitleR = "";
    strTitleR = '<h5 class="h5ResultInfo">' + lang4FullMap()[isLang][0] + '<span>' + substr((paramCom.stpe == 17 ? (unescape(utils.decode(paramCom.sn, strState.substr(strState.length / 2)))) : (paramCom.K == undefined) ? "" : paramCom.K), 24) + '</span></h5>'; //edit 14/10/2009
    if (oCom.dsDtac.length > 0) {
        for (var i = 0; i < oCom.dsDtac.length; i++) {
            strhtml += Com2HTMLFull(Comp4Lang(i, 2), i);
        }
    }
    if (oCom.dsCompany.length > 0) {
        for (var j = 0; j < oCom.dsCompany.length; j++) {
            strhtml += Com2HTMLFull(Comp4Lang(j, 0), j);
        }
        var iCountR = parseInt(oCom.cp) * parseInt(oCom.cr);
        strTitleR += '<span class="sResultInfo">' + lang4FullMap()[isLang][1] + '<span>' + lang4FullMap()[isLang][2] + ((iCountR - (parseInt(oCom.cr) - 1)) + '-' + (iCountR > parseInt(oCom.tr) ? parseInt(oCom.tr) : iCountR)) + '</span>' + lang4FullMap()[isLang][3] + '<span>' + oCom.tr + '</span></span>';
    } else {
        strTitleR += '<span class="sResultInfo">' + lang4FullMap()[isLang][1] + '<span>' + langResFind()[isLang][7] + '</span></span>';
    }
    divSearchResult.down(".dResultInfo_L").innerHTML = strTitleR;
    container.update(strhtml);
    container.show();
    container.select('.aTTFromHere').invoke('observe', 'click', findWay);
    if (oCom.tp == 1) {
        $('divPaging').style.display = 'none';
    }
    else showPage($('divPaging'), oCom, 'oClickPageCompFull');
    $('divCompanyPaging').show();
    repaintCateIconMap();
    if (map.maker && inSearch == 1) {// truong hop tim duong di k co map.maker
        map.maker.style.display = "none";
        map.makerI.style.display = "none";
    }

    showBoxResult(divSearchResult);
    var divSMS = $('divSMS');
    if (divSMS && divSMS.visible()) divSMS.hide();
    if (utils.IE7_Firefox() == 7) {
        var dTmp = container.up();
        if (dTmp.clientHeight < dTmp.scrollHeight) container.style.width = 'auto';
        else container.style.width = '100%';
    }
    showPopUp();
    divSearchResult.setStyle({ top: '29px', height: '' });

    drag4BoxResult(divSearchResult, $('divMap'));
};
//convert congty to html
function Com2HTMLFull(objCom, index) {

    try {
        var langRes = langResFind()[isLang];
        var rate = parseFloat(objCom.Sta) * 20;
        var arrChar = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
        var sps = strState.substr(strState.length / 2);
        var enid = utils.encode(objCom.strid, sps);
        var urlA = 'details.aspx?st=' + strState + '&cID=' + utils.encode(objCom.strid.split('_')[0], sps) + '&ll=' + utils.encode(objCom.strid.split('_')[2] + ';' + objCom.strid.split('_')[3], sps) + "&l=" + isLang;
        var html = '<div class="dResultItem ' + ((objCom.Adv == "1") ? "dPartnerVip" : "") + '" id="' + enid + '">' +
        '<div class="dRI_Info">' +
            '<div class="dRI_Detail">' +
                '<h2 class="h6RI_CompanyName"><a class="aRI_CompName" href="javascript:void(0);" id="title' + ((objCom.Adv == "1") ? "PT" : "CS") + 'Map_' + enid + '" title="' + objCom.cName + '">' + ((objCom.Adv == "1") ? '<img src="images/spacer.gif" />' : '') + ((objCom.Adv == "1") ? "" : (arrChar[index])) + ' . ' + objCom.cName + '</a></h2>' +
                '<div class="dCompanyLogo">' +
                    '<a title="' + objCom.cName + '" href="javascript:void(0);" id="image' + ((objCom.Adv == "1") ? "PT" : "CS") + 'Map_' + enid + '"><img alt="' + objCom.cName + '" src="' + objCom.Logo + '"/></a>' +
				'</div>' +
                '<ul class="ulInfomartion">' +
					'<li>' + utils.toProperCase(objCom.nostreet) + '</li>' +
                   '<li>' + objCom.dw + '</li>' +
                    '<li>' + objCom.phone + '</li>' +
                    '<li>' + langRes[9] + ':' + objCom.uName + '</li>' +
				'</ul>' +
            '</div>' +
            '<div class="dRI_Rate">' +
               '<ul id="ulRate' + ((objCom.Adv == "1") ? "PTMap_" : "CSMap_") + enid + '" class="star-rating" style=" float:right">' +
					Star2HTML(objCom.Sta) +

				'</ul>' +
                '<a class="aRI_CommentCount" href="javascript:void(0);" id="Votetitle' + ((objCom.Adv == "1") ? "PT" : "CS") + 'Map_' + enid + '" title="' + objCom.cName + '"><strong>' + objCom.Votes + ' </strong>' + langRes[10] + '</a>' +
			'</div>' +
        '</div>' +
		'<div class="dRI_Function">' +
			'<a href="javascript:void(0);" id="' + enid + '"  class="aTTFromHere" name="' + ((objCom.text != undefined && objCom.text != '') ? objCom.text : objCom.nostreet + ',' + objCom.dw) + '">' + lang4TabSearch()[isLang][6] + '</a>' +
			'<span>|</span>' +
			'<a href="javascript:void(0);" class="aTTNearBy">' + lang4TabPopUp()[isLang][13] + '</a>' +
			'<span>|</span>' +
			'<a href="' + urlA + '" id="Detitle' + ((objCom.Adv == "1") ? "PT" : "CS") + 'Map_' + enid + '" title="' + objCom.cName + '">' + lang4TabPopUp()[isLang][9] + '</a>' +
		'</div>' +
    '</div>';
        return html;
    } catch (tml) { }
};
//click phan trang
function oClickPageCompFull(e) {
    var ele = e;
    try {
        e = utils.getElementFireEvent(e);
        if (e.id == "") { e = e.parentNode; }
        if (typeof (e.id) == 'undefined') { e = ele; }
    } catch (ex) { e = ele; };
    var ipage = e.id.split('_')[1];
    if (ipage == "Back") { ipage = (((parseInt(oCom.cp) - 1) >= 1) ? (parseInt(oCom.cp) - 1) : 1); }
    else if (ipage == "Next") { ipage = (((parseInt(oCom.cp) + 1) <= oCom.tp) ? (parseInt(oCom.cp) + 1) : oCom.tp); }

    paramCom = (strParamCom + ipage).toQueryParams();
    paramCom.P = ipage;
    utils.call("Comp.aspx", paramCom, "POST", "showListCompany", "showListCompany");
    showShadow4Search(true);
};
// ket qua tim duong di
function directResult(result) {

    map.isconvert = true;
    var lang_ = lang4MapError()[isLang];
    if (result == '-1' || result == '503') {
        var slang = ((result == '-1') ? lang_[2] : lang_[3]);
        mapNote(slang); $('divIcon').hide();
        if ($("divListDistWard") != null) {
            $("divListDistWard").innerHTML = "";
        }
        $("boxMapSearch").addClassName('hide');
        return;
    }
    $('divIcon').hide();
    removeICon();
    removeShadow();
    if (result == "") return;
    if ($('aTabMaps').hasClassName('active'))
        onChangeTab($('aTabDirection'));

    var oSearch;
    try { // chuyen sang chuoi json 
        oSearch = result.evalJSON(true);
    } catch (execc) { oSearch = result; }

    if (oSearch.pA != undefined) {
        oAddA = assign2Add(oAddA, oSearch.pA.no, oSearch.pA.stName, oSearch.pA.dName, oSearch.pA.dID, oSearch.pA.wName, oSearch.pA.wID, 'A');
        oAddB = assign2Add(oAddB, oSearch.pB.no, oSearch.pB.stName, oSearch.pB.dName, oSearch.pB.dID, oSearch.pB.wName, oSearch.pB.wID, 'B');
    }
    if (oSearch.s == 0) {
    }
    else { //tim duong di 

        switch (oSearch.f) {
            case "0": // tim thay ds A , dien dia chi vao A va B

                $("txtSearchA").value = utils.trim(convert2Address(oSearch.pA.no + "," + oSearch.pA.stName + "," + oSearch.pA.wName + ',' + oSearch.pA.dName));
                $("txtSearchB").value = utils.trim(convert2Address(oSearch.pB.no + "," + oSearch.pB.stName + "," + oSearch.pB.wName + ',' + oSearch.pB.dName));
                $("txtSearchA").next().hide();
                $("txtSearchB").next().hide();
                if (typeof (isSearchSMS) != 'undefined' && isSearchSMS == true) {
                    objSearch = oSearch;
                    strType = 'A';
                    if (objSearch.dsA) showBoxSMS(3);
                    else if (objSearch.dsCom) showBoxSMS(4);
                    return;
                }

                hideAds();


                showboxSearch(1);
                showListResultFull(oSearch, 'A');
                $("boxMapSearch").select(".mbox_caption")[0].innerHTML = "<span class='captainsp' id='spnSearchResult'>" + lang4FullMap()[isLang][0] + " </span><span class='captainsp'>" + substr($("txtSearchA").value, 40) + "</span>";
                break;
            case "1": //tim thay ds B, dien dia chi vao
                hideAds();
                $("txtSearchA").value = utils.trim(convert2Address(oSearch.pA.no + "," + oSearch.pA.stName + "," + oSearch.pA.wName + ',' + oSearch.pA.dName));
                $("txtSearchB").value = utils.trim(convert2Address(oSearch.pB.no + "," + oSearch.pB.stName + "," + oSearch.pB.wName + ',' + oSearch.pB.dName));
                $("txtSearchA").pxy = oSearch.pA.wX + "_" + oSearch.pA.wY;
                $("txtSearchA").next().hide();
                $("txtSearchB").next().hide();
                if (typeof (isSearchSMS) != 'undefined' && isSearchSMS == true) {
                    objSearch = oSearch;
                    strType = 'B';
                    if (objSearch.dsA) showBoxSMS(3);
                    else if (objSearch.dsCom) showBoxSMS(4);
                    return;
                }

                hideAds();


                showboxSearch(1);
                showListResultFull(oSearch, 'B');
                $("boxMapSearch").select(".mbox_caption")[0].innerHTML = "<span class='captainsp' id='spnSearchResult'>" + lang4FullMap()[isLang][0] + " </span><span class='captainsp'>" + substr($("txtSearchB").value, 40) + "</span>";
                break;
            case "2": //tim duong
                hideAds();
                $("txtSearchA").value = utils.trim(convert2Address(oSearch.pA.no + "," + oSearch.pA.stName + "," + oSearch.pA.wName + ',' + oSearch.pA.dName));
                $("txtSearchB").value = utils.trim(convert2Address(oSearch.pB.no + "," + oSearch.pB.stName + "," + oSearch.pB.wName + ',' + oSearch.pB.dName));
                $("txtSearchB").next().hide();
                $("txtSearchA").next().hide();
                $("boxMapSearch").select(".mbox_caption")[0].innerHTML = "";
                showboxSearch(1);
                showDirectionFull(oSearch);
                $("txtSearchA").pxy = map.ABPoint[0].x + "_" + map.ABPoint[0].y;
                $("txtSearchB").pxy = map.ABPoint[1].x + "_" + map.ABPoint[1].y;
                if (typeof (isSearchSMS) == 'undefined' || isSearchSMS == false) //Quang 14/06
                    $('divShadow').hide();
                createInfoBox(map.makerB);
                break;
            case "3": //Khong tim thay diem A
                mapNote(lang_[0]); $('divIcon').hide();
                break;
            case "4": //khong tim thay diem B
                mapNote(lang_[1]); $('divIcon').hide();
                break;
            default: break;
        }
    }
};
// - hien thi danh sach dia chi, cong ty
function showListResultFull(result, type) {
    var idActive = "";
    //showListDW();
    objSearch = result;
    strType = type;
    var _idx = 0;
    //var _html = [];
    var _html = '<div class="mbox_result"><div class="bg_mbox_result transparent_9"></div><div class="mbox_result_inner">';
    _html += '<div id="result_list_dw">';
    _html += '<div class="mbox_list_record" id="testthu">';
    _html += '<div id="divListDistWard">';
    _html += '<ul class="ulLS">';
    var _lang = lang4TabDirection()[isLang];
    var lstStreet = result.dsA;
    // _html[_idx++] = '<ul class="ulLS">';
    if (lstStreet) {//truong hop co danh sach duong di
        var no = lstStreet.no;
        if (no == undefined || no == "") no = "0";
        var strDist = null, strWard = null;
        var strSF = (isWard == -1 ? _lang[0] : (isCity == 'TP' ? _lang[2] : _lang[3]));
        if (isWard == -1 || isWard == 0) {

            for (var i = 0, _lengthS = lstStreet.length; i < _lengthS; i++) {

                _html += '<li class="liLS' + (i != 0 ? 'Off' : 'On') + '">';
                _html += '<div class="mbox_point" style="cursor:pointer">' + utils.toProperCase(lstStreet[i].stName) + '</div>';
                //_html[_idx++] = '<a class="aLSStreet" href="javascript:void(0);">' + utils.toProperCase(lstStreet[i].stName) + '</a>';
                _html += '<ul class="ulLSDist">';
                var dsD = lstStreet[i].dsD;
                for (var j = 0, _lengthD = dsD.length; j < _lengthD; j++) {
                    strDist = utils.toProperCase(dsD[j].dName);
                    strDist = (isLang == 0 ? (strSF + ' ' + strDist) : (!isNaN(strDist) ? (strSF + ' ' + strDist) : (strDist + ' ' + strSF)));
                    //_html += (map.Search == 0) ? '<li class="liLSDistOff">' : '<li class="liLSDistO">';
                    //  _html += '<li class="liLSDistOff">';
                    _html += '<li class="liLSDist' + ((i == 0 && j == 0) ? 'On' : 'Off') + '">';
                    _html += '<a class="aLSDist" href="javascript:void(0);">' + strDist + '</a>';
                    _html += '<ul class="ulLSWard">';
                    var dsW = dsD[j].dsW;
                    for (var k = 0, _lengthW = dsW.length; k < _lengthW; k++) {
                        strWard = utils.toProperCase(dsW[k].wName);
                        strWard = (isLang == 0 ? (_lang[1] + ' ' + strWard) : (!isNaN(strWard) ? (_lang[1] + ' ' + strWard) : (strWard + ' ' + _lang[1])));
                        if (inSearch == 0 && i == 0 && j == 0 && k == 0) {
                            idActive = escape(no + '_' + lstStreet[i].stName + '_' + dsW[k].wName + '_' + dsD[j].dName + '_' + dsW[k].wID + '_' + dsD[j].dID) + '_' + dsW[k].wX + '_' + dsW[k].wY + ';' + type;
                        }
                        var strName = no + '_' + lstStreet[i].stName + '_' + dsW[k].wName + '_' + dsD[j].dName;
                        _html += '<li class="' + ((inSearch == 0 && i == 0 && j == 0 && k == 0) ? 'active' : '') + '"><a id="' + escape(no + '_' + lstStreet[i].stName + '_' + dsW[k].wName + '_' + dsD[j].dName + '_' + dsW[k].wID + '_' + dsD[j].dID) + '_' + dsW[k].wX + '_' + dsW[k].wY + ';' + type + '" class="aLSWard" href="javascript:void(0);" name="' + strName + '">' + strWard + '</a></li>';

                    }
                    _html += '</ul>';
                    _html += '</li>';
                }
                _html += '</ul>';
                _html += '</li>';

            }

        }
        else {

            for (var i = 0, _lengthS = lstStreet.length; i < _lengthS; i++) {
                _html += '<li class="liLS' + (i != 0 ? 'Off' : 'On') + '">';
                _html += '<div class="mbox_point" style="cursor:pointer">' + utils.toProperCase(lstStreet[i].stName) + '</div>';
                //_html += '<a class="aLSStreet" href="javascript:void(0);">' + utils.toProperCase(lstStreet[i].stName) + '</a>';
                var dsD = lstStreet[i].dsD;
                _html += '<ul class="ulLSWard">';
                for (var k = 0, _lengthW = dsD.length; k < _lengthW; k++) {
                    strDist = utils.toProperCase(dsD[k].dName);
                    strDist = (isLang == 0 ? (_lang[0] + ' ' + strDist) : (!isNaN(strDist) ? (_lang[0] + ' ' + strDist) : (strDist + ' ' + _lang[0])));
                    var dsW = dsD[k].dsW;
                    var aID = escape(no + '_' + lstStreet[i].stName + '_' + dsW[0].wName + '_' + dsD[k].dName + '_' + dsW[0].wID + '_' + dsD[k].dID + '_' + dsW[0].wX + '_' + dsW[0].wY + '_0;' + type);
                    var strName = no + '_' + lstStreet[i].stName + '_' + dsW[0].wName + '_' + dsD[k].dName;
                    _html += '<li><a id="' + aID + '" class="aLSWard" href="javascript:void(0);" name="' + strName + '">' + strDist + '</a></li>';
                    if (inSearch == 0 && i == 0 && k == 0) idActive = aID;
                    _html += '<li class="' + ((inSearch == 0 && i == 0 && k == 0) ? 'active' : '') + '"><a id="' + aID + '" class="aLSWard" href="javascript:void(0);" name="' + strName + '">' + strDist + '</a></li>';
                    //_html += '</ul>';
                    //_html += '</li>';
                }
                _html += '</ul>';
                _html += '</li>';
            }

        }
    }
    // Danh sach cong ty
    var lstComp = result.dsCom;
    if (lstComp) {

        var lengthC = 0;
        var strCom = null;
        var strComName = null, strCompID = null, strCompAdd = null;
        _html += '<li class="liLSOn ulLSComp">';
        _html += '<div class="mbox_add" style="cursor:pointer" id="comlst">' + _lang[7] + '</div>';
        _html += '<ul class="ulLSWard">';
        for (var k = 0, lengthC = lstComp.length; k < lengthC; k++) {
            strCom = lstComp[k];
            strComName = (isLang == 0) ? strCom.vNn : strCom.eNn;
            while (strComName.indexOf('^^^') != -1) strComName = strComName.replace("^^^", "\'");
            strComName = strComName.truncate(36);
            //truong hop cat mat tag </B>, khoi fuc lai
            if (strComName.indexOf('<b>') != -1) {
                if (strComName.indexOf('</b>') == -1) {
                    if (strComName.indexOf('</b') != -1) strComName = strComName.replace('</b', '</b>');
                    else if (strComName.indexOf('</') != -1) strComName = strComName.replace('</', '</b>');
                    else {
                        strComName = strComName.replace('<b>', '^^^');
                        if (strComName.indexOf('<') != -1) strComName = strComName.replace('<', '</b>');
                        else {
                            strComName += '</b>';
                            strComName = strComName.replace('...', '') + '...';
                        }
                        strComName = strComName.replace('^^^', '<b>');
                    }
                }
            }
            strCompAdd = (isLang == 0) ? strCom.vAd : strCom.eAd;
            strCompID = "aLSComp_" + strCom.latlon + '_' + type + '_' + strCom.cID;
            if (inSearch == 0 && idActive == "" && k == 0) idActive = strCompID;
            var _lang4Category = lang4Category()[isLang];

            _html += '<li class="' + ((inSearch == 0 && k == 0) ? 'active' : '') + '"><a id="' + strCompID + '" class="aLSWard" href="javascript:void(0);" title="' + strCompAdd + '">' + strComName + '</a><p>' + strCompAdd + '</p>';
            _html += '<a id="aFrom_' + strCom.latlon + '_' + 'A' + '_' + strCom.cID + '" title="' + strCompAdd + '" href="javascript:void(0);" class="aLSFunc aFrom">' + _lang4Category[2] + ' </a>-';
            _html += '<a id="aTo_' + strCom.latlon + '_' + 'B' + '_' + strCom.cID + '" title="' + strCompAdd + '" href="javascript:void(0);" class="aLSFunc"> ' + _lang4Category[3] + '</a><span>|</span>';
            _html += '<a id="aDetail_' + strCom.latlon + '_' + 'B' + '_' + strCom.cID + '" href="javascript:void(0);" class="aLSFunc">' + _lang4Category[4] + '</a></li>';

            //            _html += '<li><a id="' + strCompID + '" class="aLSWard" href="javascript:void(0);" title="' + strCompAdd + '">' + strComName + '</a><p>' + strCompAdd + '</p>';
            //            _html += '<a id="aFrom_' + strCom.latlon + '_' + type + '_' + strCom.cID + '" href="javascript:void(0);" class="aLSFunc aFrom">' + _lang4Category[2] + ' </a>-';
            //            _html += '<a id="aTo_' + strCom.latlon + '_' + type + '_' + strCom.cID + '" href="javascript:void(0);" class="aLSFunc"> ' + _lang4Category[3] + '</a><span>|</span>';
            //            _html += '<a href="javascript:void(0);" class="aLSFunc">' + _lang4Category[4] + '</a></li>';

        }
        _html += '</ul>';
        _html += '</li>';

    }
    // End Danh sach cong ty
    _html += '</ul>';
    _html += '</div>';
    /*   _html += '<div class="select_scrollbar">';
    _html += '<div class="Scrollbar-Up"></div>';
    _html += '<div class="Scrollbar-Down"></div>';
    _html += '<div class="Scrollbar-Track">';
    _html += '<div class="Scrollbar-Handle"></div></div></div>';*/
    _html += '</div></div></div></div>';
    $('divIcon').hide();
    $('mbox_holder').innerHTML = _html;
    var box = $('boxMapSearch');
    box.down('#mbox_shadow_bottom').addClassName('hide');
    box.down('.mbox_resize').removeClassName('hide');
    var adsbar = $('divMapAdvLogo').hasClassName('max_ads_bar') ? 55 : 0;

    var divListDistWard = $('divListDistWard');
    if (divListDistWard) {
        divListDistWard.stopObserving();
        divListDistWard.observe('click', divListStreetClick);
    }
    try {

        //  var slect = box.down('.select_scrollbar');
        //  if (slect.offsetHeight == 0) slect.style.height = 165 + "px";
        resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 198 + adsbar, null, null);
        //scrollThis(box.down('.select_scrollbar'), box.down('#divListDistWard'));
        // box.down('.select_scrollbar').addClassName('hide');
        $("divShadow").hide();
    } catch (ex) { alert(ex); }
    if (inSearch == 0 && idActive != "") divListStreetClick($(idActive));
};
/*
- hien thi danh sach huong dan duong di 
*/
function showDirectionFull(result) { // ve duong di & show danh sach tuong tu v5
    //if ($("divAdverBanner")) $("divAdverBanner").hide();
    inSearch = 1; // tim duong
    map.Search = 1;
    map.removeDirectionMaker();
    map.removeMapMaker();
    removeShadow();

    map.getDirection(result); // ve duong di 

    map.setZoom(map.currentZoom);
    createMapIcon(1);
    createMapIcon(2);
    map.fixPoint.PointAB = map.ABPoint;
    map.makerA.mx = map.ABPoint[0].x;
    map.makerA.my = map.ABPoint[0].y;
    map.makerB.mx = map.ABPoint[1].x;
    map.makerB.my = map.ABPoint[1].y;
    Directions(result);
    // resize lai box huong dan duong di
    //var mpheight = utils.rejectUnit($("divMap").style.height);

    //$("result_direction").down('.mbox_list_record').style.height = (mpheight - 370) + "px";
    //$("result_direction").down('.Scrollbar-Track').style.height = (mpheight - 418) + "px";
    // if ton tai danh sach cong ty ben phai thi xoa di=> cai nay tam thoi de vay, mai mot chi hide xuong thoi 
    try {
        if (oCom != null) {
            paramCom = null;
            removeICon();
            oCom = null;
            hideBox($('boxCompanyResult'));
            /* var divSearchResult = $("divSearchResult");
            divSearchResult.down('#divListResultCompany').innerHTML = "";
            hideBoxResult(divSearchResult); */
            //divSearchResult.hide();
        }
    } catch (comex) { }

    addRecentKeySearch();
    try { setPositionIconVip(); } catch (exf) { };
};
function Directions(ojson) {

    $("divLSCenter").innerHTML = "";
    var result = ojson.dsD[3].dsHuongDi;
    strSMSDirec = ojson.dsD[4].SMS;
    strSMSKey = ojson.dsD[4].SMSKey;
    //var divListStreet = $('divListStreet');

    /*var _divTmp = divListStreet.down("#divLSTopC1");
    _divTmp.show();
    _divTmp = _divTmp.next();
    _divTmp.style.marginLeft = "8px";
    _divTmp.update(substr(result[result.length - 2].StreetName, 29));
    */
    var _idx = 0, _idxP = 0;

    // var _html = [];
    var _html = '<div class="mbox_result"><div class="bg_mbox_result transparent_9"></div><div class="mbox_result_inner">';
    var _arrHuongDi = ["aLSDirUp", "aLSDirLeft", "aLSDirRight"];
    var _length = result.length;
    var _lang = lang4TabDirection()[isLang];
    var maxLength = (utils.IE7_Firefox() != 6 ? 30 : 24);
    var strSName = null;
    _html += '<div id="result_direction">';
    _html += '<div class="mbox_point mbox_point_A" id="' + result[0].ArrIDTurn + '_A" class="aLSStreet bgSearchA" href="javascript:void(0);" title="' + $('txtSearchA').value + '">' + substr($('txtSearchA').value, 40) + '</div>';
    _html += '<div class="mbox_list_record">';
    _html += '<div id="divListStreet">';
    for (var ii = 1; ii < _length - 2; ii++) {
        var idturn = result[ii].ArrIDTurn.replace(",", "_");
        _html += '<a id="' + 'aLSOneStreet_' + idturn + "_" + ii + '" class="' + _arrHuongDi[result[ii].Picture] + '" href="javascript:void(0);">';
        strSName = result[ii].StreetName;
        var strSHover = ' fullName="' + strSName + '"';
        if (strSName.length > maxLength) {
            strSHover += ' title = "' + strSName + '"';
            strSName = strSName.substring(0, maxLength) + '...';
        }
        _html += '<span class="spnStreetName"' + strSHover + '>' + strSName + '</span>';
        //_html += '<div class="divLine"></div>';
        _html += '<span class="spnDistance">' + result[ii].Distance + '</span>';
        _html += '</a>';
        _html += '<div class="divLine"></div>';

    }
    _html += '</div>';
    /*
    _html += '<div class="select_scrollbar">';
    _html += '<div class="Scrollbar-Up"></div>';
    _html += '<div class="Scrollbar-Down"></div>';
    _html += '<div class="Scrollbar-Track">';
    _html += '<div class="Scrollbar-Handle"></div></div>';*/
    _html += '</div></div>';

    _html += '<div class="mbox_point mbox_point_B" id="' + result[_length - 2].ArrIDTurn + '_B" title="' + $('txtSearchB').value + '">' + substr($('txtSearchB').value, 40) + '</div>';
    var dis = result[_length - 1].Distance.split(',');
    var _str = '';
    if (dis.length == 3) {
        _str = (dis[0] == '0' ? (dis[1] + ' ' + _lang[6]) : (dis[0] + ' ' + _lang[5] + ' ' + dis[1] + (isLang == 1 ? '' : ' ' + _lang[6]))) + ' - ' + dis[2];
    }
    else {
        _str = (dis[0] != '0' ? dis[0] : 1) + ' ' + _lang[6] + ' - ' + dis[1];
    }
    _html += '<div class="mbox_total" id="spnDistance">' + _lang[4] + ' ' + _str + '</div>';
    _html += '</div>';

    $('mbox_holder').innerHTML = _html;
    _html = null;
    $('divIcon').hide();

    smsEnable = true;
    if (checkSMS == 0) {
        /* var divSMS = $('divSMS');
        divSMS.show();
        var pos = $('divMapTools').down('.aMTSMS').cumulativeOffset();
        divSMS.style.left = (pos[0] - 80) + 'px';
        divSMS.style.top = (pos[1] + 36) + 'px';

        $("chkSMS").observe('click', function() {

            if ($("chkSMS").checked == true)
        checkSMS = 1;
        else
        checkSMS = 0;
        });

        $('aCloseSMSNew').observe('click', function() { $('divSMS').hide(); })
        */
    }
    var box = $('boxMapSearch');
    box.down('#mbox_shadow_bottom').addClassName('hide');
    box.down('.mbox_resize').removeClassName('hide');
    var adsbar = $('divMapAdvLogo').hasClassName('max_ads_bar') ? 55 : 0;
    // resize lai box huong dan duong di 
    var mpheight = utils.rejectUnit($("divMap").style.height) - 288 - adsbar - 17 - 10;
    box.down('.mbox_list_record').style.height = mpheight + "px";
    //box.down('.Scrollbar-Track').style.height = (mpheight - 48) + "px";
    resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 288 + adsbar, null, null);
    //  scrollThis(box.down('.select_scrollbar'), box.down('#divListStreet'));
    if (typeof (isSearchSMS) != 'undefined' && isSearchSMS == true)
        showBoxSMS(2);
    else
        $("divShadow").hide();
    box.down('#result_direction').observe('click', directionClick);
};
//event click tren divLSCenter
function divListStreetClick(e) {
    if (typeof (e.tagName) == 'undefined')
        e = Event.element(e);
    if (e.tagName == 'B') e = e.up();
    var className = e.className;
    var sps = strState.substr(strState.length / 2);
    if (className != "") {
        if ((className == "aLSDist" || className == "mbox_point") && e.up('ul').id != 'listCompSMS') {
            var parent = e.up();
            var _class = parent.className;
            if (_class.endsWith('Off') && map.Search == 0) {
                var arr = unescape(parent.select('li')[0].down('a').id).split(';');
                var mid = unescape(arr[0]);
                if (mid != "" & e.id != "comlst") {
                    var id = mid.split('_');
                    map.removeDirectionMaker();
                    map.removeMapMaker();
                    removeShadow();
                    map.isconvert = true;
                    viewPostion(e, id[6] + "_" + id[7], "A", mid);
                    map.updateIcon();
                    resetIconState();
                    createInfoBox(map.maker);
                }
                //loadBoxAds();
            }
            _class = (_class.endsWith('On')) ? _class.replace('On', 'Off') : _class.replace('Off', 'On');
            parent.className = _class;
        }
        else if (className == "aLSWard") { // tim
            if (e.id.indexOf('aLSComp_') == -1) {
                var arr = unescape(e.id).split(';');
                var url = "search.aspx?st=" + strState + "&stpe=" + inSearch;
                var param = null;
                var strfunc = '';
                if (inSearch == 0) { // diadiem  => exact 
                    var mid = unescape(arr[0]);
                    var id = mid.split('_');
                    map.removeDirectionMaker();
                    map.removeMapMaker();
                    removeShadow();
                    map.isconvert = true;
                    viewPostion(e, id[6] + "_" + id[7], "A", mid);
                    map.updateIcon();
                    resetIconState();
                    createInfoBox(map.maker);
                    //loadBoxAds();

                }
                else { // duong di 
                    var ab = ABDirection(oAddA.text);
                    var pos = ab[2];
                    var add = unescape(convert2Address(e.name));
                    var txtSearch = (arr[1] == 'A' || arr[1] == '0' | arr[1] == undefined) ? $("txtSearchA") : $("txtSearchB");
                    txtSearch.value = add;
                    txtSearch.Add = e.name;
                    // tinh p,pp, ex
                    var p, pp, mexec;
                    if (arr[1] == 'A') {
                        // xet diem con lai B
                        var xy4p = arr[0].split("_");
                        if ($("txtSearchB").pxy != -1) {
                            mexec = 2; p = 1; pp = utils.encode(escape(xy4p[6] + '_' + xy4p[7] + ";" + $("txtSearchB").pxy), sps);
                        }
                        else {
                            mexec = 1; p = 0; pp = utils.encode(escape(xy4p[6] + '_' + xy4p[7]), sps);
                        }
                        $("txtSearchA").pxy = xy4p[6] + '_' + xy4p[7];
                    } else {  // diem B chinh xac

                        var xy4p = arr[0].split("_");
                        if ($("txtSearchA").pxy != -1) {
                            mexec = 2; p = 1; pp = utils.encode(escape($("txtSearchA").pxy + ";" + xy4p[6] + '_' + xy4p[7]), sps);
                        }
                        else {
                            mexec = 3; p = 2; pp = utils.encode(escape(xy4p[6] + '_' + xy4p[7]), sps);
                        }
                        $("txtSearchB").pxy = xy4p[6] + '_' + xy4p[7];

                    }
                    // param = { "A": utils.encode(escape($("txtSearchA").value), sps), "B": utils.encode(escape($("txtSearchB").value), sps), "w": isWard, "p": p, "pp": pp, "ex": mexec };
                    param = { "A": utils.encode(escape($("txtSearchA").value), sps), "B": utils.encode(escape($("txtSearchB").value), sps), "w": isWard, "fp": p, "pp": pp, "ex": mexec };
                    strfunc = "directResult";
                    $('divIcon').show();
                    utils.call(url, param, 'POST', strfunc, strfunc);
                }
                try {
                    $('divListDistWard').select('.active').each(function(s) { s.removeClassName('active'); });
                    e.up('li').addClassName('active');
                } catch (ex) { }
            }
            else {
                //truon hop co cong ty
                var arr = e.id.split('_');

                if (inSearch == 0) {
                    var txtbox = $('txtSearchMaps');
                    txtbox.style.backgroundImage = 'none';
                    map.removeMapMaker();
                    map.isconvert = true;
                    map.setPoint2Map(arr[1] + '_' + arr[2]);
                    map.updateIcon();
                    resetIconState();
                    createMapIcon(0);
                    map.maker.mx = arr[1];
                    map.maker.my = arr[2];
                    oAdd = assign2Add(oAdd, e.title, 1, ',');
                    txtbox.value = (isLang == 0 ? oAdd.text : oAdd.textEn);
                    createInfoBox(map.maker);

                    addRecentKeySearch();
                    var linkDetail = $("divToolTip").down('.attDetail');
                    if (typeof (linkDetail) == 'object')
                        linkDetail.down('a').id = "aLSComp_" + arr[4];

                }
                else { // ddi 
                    var url = "search.aspx?st=" + strState + "&stpe=1";
                    var name = e.title.toLowerCase().replace('q.', '').replace('p.', '').gsub(', ', ',');
                    var sps = strState.substr(strState.length / 2);
                    oAddA = assign2Add(oAdd, name, 1, ',');
                    var ab = ABDirection(oAddA.text);
                    var pos = ab[2];
                    var add = unescape(convert2Address(name));
                    $("txtSearch" + arr[3]).value = add;
                    $("txtSearch" + arr[3]).pxy = arr[1] + "_" + arr[2];

                    var p, pp, mexec;
                    if (arr[3] == 'A') {
                        if ($("txtSearchB").pxy != -1) {
                            mexec = 2; p = 1; pp = utils.encode(escape(arr[1] + "_" + arr[2] + ";" + $("txtSearchB").pxy), sps);
                        }
                        else {
                            mexec = 1; p = 0; pp = utils.encode(escape(arr[1] + "_" + arr[2]), sps);
                        }
                    }
                    else {
                        if ($("txtSearchA").pxy != -1) {
                            mexec = 2; p = 1;
                            pp = utils.encode(escape($("txtSearchA").pxy + ";" + arr[1] + "_" + arr[2]), sps);
                        }
                        else {
                            mexec = 3; p = 2; pp = utils.encode(escape(arr[1] + "_" + arr[2]), sps);
                        }

                    }
                    //var param = { "A": utils.encode(escape($("txtSearchA").value), sps), "B": utils.encode(escape($("txtSearchB").value), sps), "w": isWard, "p": p, "pp": pp, "ex": mexec };
                    var param = { "A": utils.encode(escape($("txtSearchA").value), sps), "B": utils.encode(escape($("txtSearchB").value), sps), "w": isWard, "fp": p, "pp": pp, "ex": mexec };
                    $('divIcon').show();
                    utils.call(url, param, 'POST', "directResult", "directResult");
                }
                try {
                    $('divListDistWard').select('.active').each(function(s) { s.removeClassName('active'); });
                    e.up('li').addClassName('active');
                } catch (ef) { }
            }


        }
        else if (e.hasClassName('aLSFunc') == true) { //truong hop click function cua cong ty
            //truon hop co cong ty trong box sms
            var arr = e.id.split('_');
            if (arr[0] == "aTo" || arr[0] == "aFrom") {
                var name = e.title.toLowerCase().replace('q.', '').replace('p.', '').gsub(', ', ',');
                var sps = strState.substr(strState.length / 2);
                oAddA = assign2Add(oAdd, name, 1, ',');
                var ab = ABDirection(oAddA.text);
                var pos = ab[2];
                var add = unescape(convert2Address(name));
                $("txtSearch" + arr[3]).value = add;
                $("txtSearch" + arr[3]).pxy = arr[1] + "_" + arr[2];
                onChangeTab($('aTabDirection'));
                $("txtSearch" + arr[3]).next().hide();
            }
            else if (arr[0] == "aDetail") {
                var path = window.location.href;
                path = path.replace(path.substring(path.lastIndexOf('/') + 1, path.length), "details.aspx");
                var urlDetail = path + '?st=' + strState + '&cID=' + utils.encode(arr[4], sps) + '&ll=' + utils.encode(arr[1] + ';' + arr[2], sps) + "&l=" + isLang;
                window.open(urlDetail);
            }
        }
        else {
            //truon hop co cong ty trong box sms
            var arr = e.id.split('_');
            var url = "search.aspx?st=" + strState + "&stpe=1";
            var p, pp, mexec;
            if (arr[3] == 'A') {
                if ($("txtSearchB").pxy != -1) {
                    mexec = 2; p = 1; pp = utils.encode(escape(arr[1] + "_" + arr[2] + ";" + $("txtSearchB").pxy), sps);
                }
                else {
                    mexec = 1; p = 0; pp = utils.encode(escape(arr[1] + "_" + arr[2]), sps);
                }
            }
            else {
                if ($("txtSearchA").pxy != -1) {
                    mexec = 2; p = 1;
                    pp = utils.encode(escape($("txtSearchA").pxy + ";" + arr[1] + "_" + arr[2]), sps);
                }
                else {
                    mexec = 3; p = 2; pp = utils.encode(escape(arr[1] + "_" + arr[2]), sps);
                }
            }
            var param = { "A": utils.encode(escape($("txtSearchA").value), sps), "B": utils.encode(escape($("txtSearchB").value), sps), "w": isWard, "fp": p, "pp": pp, "ex": mexec };
            $('divIcon').show();
            utils.call(url, param, 'POST', "directResult", "directResult");
        }
    }
};
//event click tren danh sach huong dan duong di
function directionClick(e) {
    var ele = Event.findElement(e);
    if (Object.isUndefined(ele) || (ele.tagName == 'DIV' && ele.className.indexOf('mbox_point mbox_point') == -1)) return;
    if (ele.tagName == 'SPAN') ele = ele.up('A');

    var did = ele.id.split("_");
    if (ele.id.indexOf('_A') != -1 || ele.id.indexOf('_B') != -1) {
        if (ele.id.indexOf('_B') != -1)
            createInfoBox(map.makerB);
        else
            createInfoBox(map.makerA);
    }
    else smallDirection(did[1], did[2], did[3], ele.down().readAttribute('fullName'));
};
function getMapResult(result) {
    var strDs = result.dsP;
    $("txtSearchMaps").style.backgroundImage = 'none';
    var strAddress = result.no + "," + result.stName + "," + result.wName + ',' + result.dName; //edit 09/10/2009
    $("txtSearchMaps").value = convert2Address(strAddress);
    oAdd = assign2Add(oAdd, strAddress, 0, ',');
    map.setPoint2Map(strDs[1]);
    createMapIcon(0);
    map.maker.mx = strDs[1].split("_")[0];
    map.maker.my = strDs[1].split("_")[1];
    $("txtSearchMaps").pxy = map.maker.mx + "_" + map.maker.my;

    createInfoBox(map.maker);
    map.fixPoint.Point = map.cenPoint;
    map.fixPoint.meta = { "x": map.iMetaWidth, "y": map.iMetaHeigh };
    addRecentKeySearch();
    if (typeof (isSearchSMS) == 'undefined' || isSearchSMS == false) //Quang 14/06
        $("divShadow").hide();
    else {
        var txtSMSA = $('txtSMSA');
        if (txtSMSA.value == '')
            txtSMSA.value = $("txtSearchMaps").value;
        else
            $('txtSMSB').value = $("txtSearchMaps").value;
    }
};
function resizeMap(isResize) {
    if (utils.IE7_Firefox() == 6) {//Quang 05/10 fix cho ie6 khi thu nho man hinh xuat hien scrollbar
        /*if (idTime == null)
        idTime = setTimeout(function() { resizeMap(true); }, 10);
        else idTime = null;
        */
    }
    try {
        //fix loi resize nhieu lan cua IE
        if (isResize != false && utils.IE_Firefox() == -1) {
            var windowSize = utils.windowSize();
            if (windowSize[0] == curWindowSize[0] && windowSize[1] == curWindowSize[1])
                return;
            curWindowSize = windowSize;
        }

        var newSize = utils.windowSize();
        var minSize = [1025, 623];
        if (newSize[0] < minSize[0]) newSize[0] = minSize[0];
        if (newSize[1] < minSize[1]) newSize[1] = minSize[1];

        //Quang 23/02
        //resize ban do
        var divMap = $('divMap');
        var map_height = newSize[1] - 140; //chieu cao cua ban do
        var map_width = divMap.getWidth(); //width cua toan bo ban do
        //$('page_inner').style.paddingBottom = (map_height + 100) + 'px';


        divMap.style.height = (utils.IE7_Firefox() == 6) ? map_height + 50 + 'px' : map_height + 40 + 'px';

        $('page_inner').style.paddingBottom = (utils.IE7_Firefox() == 6 ? map_height + 29 : map_height - 2) + 'px';
        //$("divnav").style.width = map_width - 200 + "px";
        //logo quang cao
        var box = $('boxMapSearch');
        var divMapAdvLogo = $('divMapAdvLogo');
        if (map_height > 453 + 65)
            divMapAdvLogo.addClassName('max_ads_bar').style.width = '';
        else
            divMapAdvLogo.removeClassName('max_ads_bar').style.width = (newSize[0] - 5) + 'px';

        //khung danh sach phuong quan
        if ($('divListDistWard')) {
            var adsbar = divMapAdvLogo.hasClassName('max_ads_bar') ? 55 : 0;
            resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 198 + adsbar, null, null);
            checkPosition(box, divMap, 198 + adsbar);
        }

        //khung huong dan duong di
        if ($('divListStreet')) {
            var adsbar = divMapAdvLogo.hasClassName('max_ads_bar') ? 55 : 0;
            resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 288 + adsbar, null, null);
            checkPosition(box, divMap, 288 + adsbar);
        }
        resizeCompanyResult();
        //resize pham vi drag drop khung ket qua

        //        $('divShadow').setStyle({
        //            width: (newSize[0] - 10) + 'px',
        //            height: (newSize[1] - 38) + 'px' //Quang 23/02
        //        });

        if (map != null) map.resizeMap();
        if ($('divAdv_1')) $('divAdv_1').style.width = parseInt(utils.rejectUnit($('divMapAdv').offsetWidth)) - $('divAdv_0').getWidth() - 15 + "px";


        var divIcon = $('divIcon');

        if (divIcon && divIcon.visible()) {
            var wh = $('divMap').getDimensions();
            divIcon.setStyle({
                'left': (wh.width - 32) / 2 + 'px',
                'top': (wh.height + 93) / 2 + 'px'
            });
        }
        var divRecentBox = $('divRecentBox');
        if (divRecentBox && divRecentBox.visible()) {//debugger
            if (divRecentBox.name != '') {
                var pos = $(divRecentBox.name).cumulativeOffset();
                divRecentBox.style.left = parseInt(pos[0] - 241) + 'px';
                divRecentBox.style.top = pos[1] + 28 + 'px';
            }
        }
        if (oSnapShot != null)
            oSnapShot.resizeControl();


    } catch (exx) { }

};
// resize div chua ket qua noi dung tim kiem cong ty 
function resizeCompanyResult() {
    var box = $('boxCompanyResult');
    if (!box.hasClassName('hide')) {
        resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 86, onResizeResult, onResizeEndResult);
        checkPosition(box, divMap, 86);
        dragThis(box.down('.mbox_caption'), box, divMap, onDragEndResult);
    }
};

/*----------------------------------------------  copy tu directory/js/main.js  ----------------------------------------------------------------*/

function docClick(e) {
    try {
        ele = utils.getElementFireEvent(e);
        var divTmp = $('divLinkDirect');
        if (divTmp.visible() && !ele.up('.divLinkDirect') && ele.id != 'divLinkDirect')
            divTmp.hide();

    } catch (ex) { }
};

function changBySlide(obj1, obj2, factor, radix) {
    $(obj1).select('a').each(function(obj, i) {
        $(obj).observe('click', function(e) {
            e = utils.getElementFireEvent(e);
            /*TN 08/08*/
            if (e.id == 'aWriteComment') {
                setTimeout(function() {
                    window.location.href = "profiles/writeReview.aspx?st=" + strState;
                }, 0);
                return;
            }
            var _arr = $(obj1).childElements();
            var _arrtext = '';
            for (var j = 0; j < _arr.length - 1; j++) {
                _arrtext += _arr[j].down('a').innerHTML.toString() + ',';
            }
            _arr = _arrtext.split(',');
            var _text = e.innerHTML.toString();
            slide(_arr, _text, obj2, factor, radix, i);
        });
    });
};

function slide(arr, text, obj, factor, radix, idex) {
    var indexpage = ['index', 'bando', 'amthuc', 'giaitri', 'khachsan', 'muasam', 'lamdep', 'Directory'];
    for (var i = 0; i < arr.length - 1; i++) {
        if (arr[i].toString() == text) {
            new Effect.Parallel([
		        new Effect.Move($(obj), { sync: true, x: factor * i + radix, y: -3, mode: 'absolute' })
 			    ], {
 			        duration: 0.5, //duration: 1.0,
 			        delay: 0.01, //delay: 0.08,
 			        transition: Effect.Transitions.sinoidal,
 			        afterFinish: function() {
 			            try { var st = (strState != 'SaiGon') ? "?st=" + strState : ""; }
 			            catch (ex) { var st = "?st=SaiGon"; strState = "SaiGon"; }
 			            if (indexpage[idex] != '#')
 			                window.location.href = indexpage[idex] + ".aspx" + st;
 			        }
 			    });
        }
    }
};

function changByClick(obj1, obj2, factor, radix, colorFr, colorTo, funcName) {
    try {
        $(obj1).select('a').each(function(obj) {
            $(obj).observe('click', function(e) {
                e = utils.getElementFireEvent(e);

                var _arr = $(this.parentNode.id).childElements();
                var _text = e.innerHTML.toString();
                changByClick_R(_arr, _text, obj2, factor, radix, colorFr, colorTo);
                if (funcName != null) funcName(e);
            });
        });
    } catch (ex) { }
};
function changByClick_R(arr, text, obj, factor, radix, colorFr, colorTo) {
    for (var i = 0; i < arr.length; i++) {
        if (arr[i].innerHTML.toString() == text) {
            $(obj).style.right = factor * i + radix + "px";
            arr[i].style.color = colorFr;
        }
        else {
            arr[i].style.color = '';
        }
    }
};






//hide div error info
function hideErrorInfo() {
    var divErrorInfo = $('divErrorInfo');
    if (divErrorInfo.visible())
        divErrorInfo.hide();
};
function createInfoBox(ele) {
    removeIconDirection();

    map.layerPopup.fr = -1; // -1: ban do, 0: cong ty, 1: else  //tam thoi dong cho nay
    ele = ele || window.event;
    var mlang = lang4TabPopUp()[isLang];
    if (Object.isUndefined(ele)) { }
    else { try { ele = utils.getElementFireEvent(ele); } catch (exx) { } }
    if (ele.tagName == 'SPAN' || ele.tagName == 'A')
        ele = ele.up('div');
    if (ele == undefined) return;
    var top = utils.rejectUnit(ele.style.top);
    var left = utils.rejectUnit(ele.style.left);
    var uadd = (inSearch == 0) ? oAdd : (ele.id.indexOf('PointA') != -1) ? oAddA : oAddB;
    map.layerPopup.pos = (inSearch == 0) ? -1 : (ele.id.indexOf('PointA') != -1) ? 0 : 1; // diem: -1, diem A: 0, diem B: 1
    var typeChar = (map.layerPopup.pos == -1) ? "P" : (map.layerPopup.pos == 0) ? "A" : "B";
    uadd.text = uadd.no + "," + uadd.stName + "," + uadd.wName + "," + uadd.dName;
    var infoAdd = splitAddress(uadd);
    top = top - 165;
    left = left - 90;
    html = '<div id="divToolTip" class="dToolTip dTTNormal" style="left:' + left + 'px;top:' + top + 'px;">';
    html += '<div class="dToolTip_L"></div>';
    html += '<div class="dToolTip_CNormal">';
    html += '<ul class="ulToolTip">';
    html += '<li><h5>' + mlang[0] + '</h5></li>';
    html += '<li title=' + utils.toProperCase(infoAdd.nostreet) + '>' + utils.toProperCase(infoAdd.nostreet).truncate(46) + '</li>'; // xu tieng anh ,tieng viet ,phuong,xa
    html += '<li>' + utils.toProperCase(infoAdd.warddist) + ' </li>';
    html += '<li class="liToolTipLinks" style="display:block">';
    html += '<span class="sToolTip1">' + mlang[16] + ':</span>';
    var linkName = uadd.text;
    html += '<a name="' + linkName + ";" + ele.mx + ";" + ele.my + '" class="aTTFromHere" href="javascript:void(0);">' + mlang[11] + '</a><span class="sSeperater">-</span>';
    html += '<a name="' + linkName + ";" + ele.mx + ";" + ele.my + '" class="aTTToHere" href="javascript:void(0);">' + mlang[12] + '</a><br/>';
    html += '<a class="aTTSearchNearBy" href="javascript:void(0);">' + mlang[13] + '</a><span class="sSeperater">-</span>';
    html += '<a class="aTTCompOnStreet" href="javascript:void(0);">' + mlang[14] + '</a>';
    //html += '<div class="dToolTipAd"><a href="javascript:void(0);"><img onclick="linktoMobile(this);" alt="adsss" src="' + imgAdPopup + '" /></a></div></li>';
    //html += '<div class="dToolTipAd"></div></li>';
    html += '<div class="dToolTipAd"><iframe id="af76c87c" name="af76c87c" src="http://ads.diadiem.com/www/delivery/afr.php?zoneid=20" frameborder="0" scrolling="no" width="232" height="32" allowtransparency="true"><a href="http://ads.diadiem.com/www/delivery/ck.php?n=ad926df2" target="_blank"><img src="http://ads.diadiem.com/www/delivery/avw.php?zoneid=20&amp;n=ad926df2" border="0" alt="" /></a></iframe></div></li>';
    html += '<li class="liToolTipForm" style="display:none">';
    html += '<span class="sToolTip1">' + mlang[3] + '</span><br />';
    html += '<input type="text" class="txt"/><span class="btn sToolTipButton"><a class="aToolTipButton" href="javascript:void(0);">' + mlang[4] + '</a></span><br />';
    html += '<a class="aToolTipBack" href="javascript:void(0);">&lt;&lt;<span class="sToolTipBack">' + mlang[5] + '</span></a>';
    html += '</li></ul></div>';
    html += '<div class="dToolTip_R">';
    html += '<div class="attClose"><a name="' + typeChar + '" href="javascript:void(0);"></a></div>';
    html += '<div class="attPhone"><a href="javascript:;"></a></div>';
    html += '<div class="attSnapshot"><a href="javascript:void(0);"></a></div>';
    html += '<div class="attDetail"><a href="javascript:void(0);"></a></div></div>';
    html += '<div class="dToolTipTail"></div></div>';
    shadow = '<div id="divToolTipShadow" class="dToolTipShadowNormal" style="displayb:lock;top:' + (top + 61) + 'px;left:' + (left + 27) + 'px;"></div>';
    map.layerPopup.update(html);
    map.shadowLayer.update(shadow);
    $('divToolTip').observe('click', tooltipFullClick);
    map.layerPopup.show();
    map.shadowLayer.show();
};
function tooltipFullClick(e) {

    try {
        var ele = (e.tagName == 'A') ? e : Event.element(e);
    } catch (ex) {
        var ele = Event.element(e);
    }
    if (ele.className == 'sToolTipBack') ele = ele.up();
    if (ele.className == 'txt') {
        (navigator.appName.indexOf('Opera') != -1) ? ele.focus() : ele.select();
        ele.observe('keydown', enterSearchNearPoint);
    }
    else {
        var txt = $('divToolTip').down('.txt');
        if (txt && txt.visible()) {
            txt.blur();
            txt.observe('keydown', enterSearchNearPoint);
        }
    }
    if (ele.tagName == "SPAN" && ele.down('a') != null && ele.down('a').className == "aToolTipButton") {//truong hop tim xung quanh ie6 
        ele = ele.down('a');
    } else if (ele.className.indexOf('star') != -1) {
        var ele = utils.getElementFireEvent(e);

        var classStar = ele.className.split('-')[0]; /*04/05/2010*/
        var arrStar = ['one', 'two', 'three', 'four', 'five'];
        numstar = -1;
        for (var i = 0; i < arrStar.length; i++) {
            if (arrStar[i] == classStar) numstar = i;
        }
        numstar++;
        var infoID = ele.up('UL').id.split('_');
        var MaCty = infoID[1];
        var cateID = infoID[7];
        var oInfoReview = { 'MaCty': MaCty, 'rank': numstar, 'vID': 0, 'cateID': cateID };
        oSendReview.showBoxReview(oInfoReview);

        return;
    }
    if (ele.tagName != 'A') { Event.stop(e); return; }
    var className = ele.className;
    if (className == '') ele = ele.up();
    switch (ele.className) {
        case 'attClose':
            ele = ele.up('.dToolTip');
            closeToolTip(ele);
            break;
        case 'attDetail':
            ele = ele.down();
            if (ele.id != "") {
                var id = ele.id.split('_');
                var pas = strState.substr(strState.length / 2);
                var url = "details.aspx?st=" + strState + "&cID=" + utils.encode(id[1], pas) + "&l=" + isLang;
                if (utils.IE7_Firefox() == 6)
                    setTimeout(function() { window.location.href = url; }, 0);
                else window.location.href = url;
            }
            break;
        case 'attPhone':
            if (!smsEnable)
                showBoxSMS(1);
            else
                showBoxSMS(2);

            var txtSMSA = $('txtSMSA');
            if (txtSMSA) txtSMSA.value = $('txtSearchMaps').value;
            break;
        case 'attSnapshot':
            oSnapShot.captureMap();
            break;
        case 'aTTCompOnStreet': // tim cong ty tren duong nay
            var xy = null;

            try { showShadow4Search(true); } catch (ex) { }
            if (ele.id == "") {// khi click len icon diem tim diem,A or B

                var uadd = (inSearch == 0) ? oAdd : (map.layerPopup.pos == 0) ? oAddA : oAddB;
                xy = ((inSearch == 0) ? map.cenPoint : ((map.layerPopup.pos == 0) ? map.ABPoint[0] : map.ABPoint[1]));
                strParamCom = "sn=" + utils.encode(escape(uadd.stName), strState.substr(strState.length / 2)) + "&st=" + strState + "&num=" + 6 + "&stpe=" + 17 + "&XY=" + xy.x + "_" + xy.y + "&dID=" + ((uadd.dID == undefined || uadd.dID == '') ? 0 : uadd.dID) + "&P=";
            }
            else {//khi click len icon cong ty
                var xy1 = ele.id.split("_");
                xy = utils.decode(xy1[2], strState.substr(strState.length / 2)).split("_");
                strParamCom = "sn=" + utils.encode((xy1[4]), strState.substr(strState.length / 2)) + "&st=" + strState + "&num=" + 6 + "&stpe=" + 17 + "&XY=" + xy[4] + "_" + xy[5] + "&dID=" + xy1[3] + "&P=";
            }

            paramCom = (strParamCom + 1).toQueryParams();
            utils.call("Comp.aspx", paramCom, "POST", "showListCompany", "showListCompany");
            break;
        case 'aToolTipBack':
            ele = ele.up('.liToolTipForm');
            ele.hide();
            ele.previous().show();
            break;
        case 'aToolTipButton': // tim xung quanh
            var txt = ele.up().previous();
            if (txt.value != '') {
                try {
                    showShadow4Search(true);
                } catch (ex) { }
                var xy = ((inSearch == 0) ? map.cenPoint : ((map.layerPopup.pos == 0) ? map.ABPoint[0] : map.ABPoint[1]));
                strParamCom = "K=" + txt.value /*Quang 08/08*/ + "&XY=" + xy.x + "_" + xy.y + "&st=" + strState + "&num=" + 6 + "&stpe=" + 16 + "&P=";
                paramCom = (strParamCom + 1).toQueryParams();
                utils.call("Comp.aspx", paramCom, "POST", "showListCompany", "showListCompany");
            }
            break;
        case 'aTTSearchNearBy':
            ele = ele.up('.liToolTipLinks');
            ele.hide();
            ele.next().show();
            break;
        case 'aTTFromHere':
            fromHereToHere(ele);
            break;
        case 'aTTToHere':
            fromHereToHere(ele);
            break;
        case 'one-star':
            alert('1 Sao');
            break;
        case 'two-stars':
            alert('2 Sao');
            break;
        case 'three-stars':
            alert('3 Sao');
            break;
        case 'four-stars':
            alert('4 Sao');
            break;
        case 'five-stars':
            alert('5 Sao');
            break;
    }
};
/*    
-function:doi mau icon khi duoc focus
-create:01/03/2010 by hien_nguyen
*/
function activeIconState(icon) {
    if (icon) {
        icon.down('A').style.backgroundPosition = "0px -400px";
        icon.style.zIndex = 1;
    }
};
// name: ten cua ds, dung gan vao icon, type: loai icon la so(1) hay la diem(0),or theo chu cai (2)
function showIconOnMap(ds, name, type) {

    var arrChar = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
    var arrCssIcon = ['iconVip', 'iconComp', 'iconComp'];
    var sps = strState.substr(strState.length / 2);
    if (ds.length != 0) {
        for (j = 0; j < ds.length; j++) {
            var xy = ds[j].XY.split("_");
            if (ds[j].MDV == undefined) { ds[j].MDV = ds[j].NnDv.split(';')[0].split('^^')[1].split('#')[0].split('_')[0]; }
            var cateID = ds[j].NnDv.split(";")[0].split("^^")[0].split("_")[0];
            var icid = name + "_" + utils.encode(ds[j].MCty + '_' + ds[j].MDV + '_' + ds[j].X + '_' + ds[j].Y + "_" + ds[j].XY, sps);
            var text = (type == 0) ? "vip" : (type == 1) ? (j + 1) : arrChar[j];

            //var imheight = (map.type == 3 & map.isconvert==true) ? xy[1] / 2 : xy[1];
            var imheight = (map.type == 3) ? xy[1] / 2 : xy[1];
            var compoint = new mapPoint(xy[0] * map.currentZoom / 100 - map.iMetaWidth, imheight * map.currentZoom / 100 - map.iMetaHeigh);
            var comicon = mapMaker(map.layerMaker.id, compoint, setMapICon(urlIcons + 'common/icons/points/iconMap.png', 48, 30, "Icon" + icid), false, [9, -14]);
            comicon.childNodes[0].className = (type == 0) ? "iconVip" : "iconComp";
            comicon.childNodes[0].childNodes[0].innerHTML = text;
            // createExtIcon(map.layerMaker.id, xy[0] * map.currentZoom / 100 - map.iMetaWidth, xy[1] * map.currentZoom / 100 - map.iMetaHeigh, arrCssIcon[type], icid, text);
            var ele = $("Icon" + icid);
            ele.name = cateID;
            ele.observe('mouseover', resultHover);
            ele.observe('click', iconClick);
            if (j == 0) {
                createInfoBoxExt(ele);
                resetIconState();
                activeIconState(ele);
            }
        }
    }
};

function mapResult(sResult) {  // ket qua tim dia chi  dung tren trang ban do, phai khoi tao lai ban do

    _lang = lang4SearchTitle()[isLang];
    switch (sResult.s) {
        case "0":
            if (sResult.f == 2) {
                var xy = sResult.dsP[1].split("_");
                mapInit('divMap', xy[0], xy[1]);
                map.removeMapMaker();
                $("txtSearchMaps").next().hide();
                var strAddress = sResult.no + "," + sResult.stName + "," + sResult.wName + ',' + sResult.dName; //edit 09/10/2009
                $("txtSearchMaps").value = convert2Address(strAddress);
                oAdd = assign2Add(oAdd, strAddress, 1, ',');
                removeShadow();
                createMapIcon(0);
                map.maker.mx = xy[0];
                map.maker.my = xy[1];
                $("txtSearchMaps").pxy = xy[0] + "_" + xy[1];
                createInfoBox(map.maker);
                addRecentKeySearch();


            }
            else {
                var xy4mdefaultsplit = xy4mdefault.split('_');
                mapInit('divMap', xy4mdefaultsplit[0], xy4mdefaultsplit[1]);
                $("txtSearchMaps").next().hide();
                //$("txtSearchMaps").style.backgroundImage = 'none';
                var strAddress = sResult.vlue;
                $("txtSearchMaps").value = convert2Address(strAddress);
                oAdd = assign2Add(oAdd, strAddress, 1, ',');

                if (osver == 0) return; // truong hop nay server xu ly roi, ko can phai xu ly tiep
                if (sResult.f == 1) { // co nhieu, an danh sach cong ty di 
                    searchResult(sResult);

                }
                else { // khog tim thay, hien thi thong tin ko tim thay
                    //$("DivNotFound").show();
                    //$("divShadow").show();
                    mapNote(_lang[1]); $('divIcon').hide();
                }
            }
            break;
        case "1": // tim duong di 
            if (sResult.f == 3) { // tim thay 
                mapInit('divMap');
                showDirectionFull(sResult);
                createInfoBox(map.makerB);
            }
            else { // thay nhieu or khong tim thay 

                mapInit('divMap');

            }
            break;
    }
    return;
};

function findWay(e) {
    var ele = Event.element(e);
    var divDirection = $('divDirection');
    var txtSearch = null;
    if (utils.trim($('txtSearchA').value).length == 0)
        txtSearch = $('txtSearchA');
    else
        txtSearch = $('txtSearchB');
    if (ele.className == "aTTToHere") txtSearch = $('txtSearchB');
    txtSearch.value = utils.toProperCase(ele.name);
    var did = ele.id.split('_');
    txtSearch.pxy = did[4] + "_" + did[5];
    txtSearch.style.backgroundImage = 'none';
    if (divDirection.style.display != 'block')
        onChangeTab($('aTabDirection'));
    txtSearch.focus();
    hideErrorInfo();
};
/*======================================================================================================================================================
MAP TOOLS
======================================================================================================================================================*/
//event click tren map tools
function divMapToolsClick(e) {

    var ele = Event.element(e);
    if (ele.tagName != 'P') return;

    switch (ele.className) {
        case 'aMTHelp':

            break;
        case 'func_link':
            showLinkPopup();
            break;
        case 'func_print':
            showPrintPage();
            break;
        case 'func_email':
            call("TemplateHandler.aspx?key=Email", this, showSendEmailPopup); break;

            break;
        case 'func_sms':
            if (!smsEnable)
                showBoxSMS(1);
            else
                showBoxSMS(2);
            break;
        case 'func_snapshot':
            oSnapShot.captureMap();
            break;
        case 'func_yahoo':
            break;
        case 'func_other':
            showOtherPopup();
            break;
    }
};

//hien thi popup Link
function showLinkPopup() {
    var lanlink = langLink()[isLang];
    var divLink = $('divLink');

    // txtLink.value = createLinkPage('vnmap.aspx');
    //txtLink.observe('click', function() { $('txtLink').select(); });
    var boxinner = '<h4 class="box_caption">' + lanlink[0] + '</h4>'
		+ '<div class="groupbox clear">'
		+ '<ul class="form"><li><label>' + lanlink[1] + '</label><span>' + lanlink[2] + '</span></li>'
		+ '<li class="width">'
		+ '<div class="textbox"><div class="txt_tl"></div><div class="txt_tc"></div><div class="txt_tr"></div>	<div class="txt_cl">'
		+ '<div class="txt_cr"><div class="txt_inner"><div class="textarea_inner"><textarea rows="3" cols="10" id="txtLink"></textarea>'
		+ '</div></div></div></div>	<div class="txt_bl"></div><div class="txt_bc"></div><div class="txt_br"></div>'
		+ '</div></li></ul></div>';

    $("box_inner").innerHTML = boxinner;
    $("box").className = "box box_links";
    var txtLink = $('txtLink');
    txtLink.value = createLinkPage('vnmap.aspx');
    txtLink.observe('click', function() { $('txtLink').select(); });
    closeboxbutton('box'); // click len dau x

    copyPosition(true, null, $("box"), 0, 0);

    showShadow(true);
    //pos4Popup(divLink);
    //divLink.down('#btnCloseLink').observe('click', closePopup);
};

//event click tren popup Send SMS
function sendSMSClick(e) {

    var el = utils.getElementFireEvent(e);
    if ((el.tagName == 'A' && el.id == "aSaveMS") || (el.tagName == 'SPAN' && el.up().id == "aSaveMS")) {/*edit 11/03/2010*/

        if (!$('checkEdit').checked) return; /*edit 11/03/2010*/
        else {/*edit 11/03/2010*/



            try {
                strSMSDirec = $('textContent').value;
                strSMSContent = { key: '' };
                strSMSContent.key = strSMSKey;
                strSMSContent.Content = $('textContent').value;
                var url = "SMS.aspx";
                utils.call(url, strSMSContent, "POST", "SendSMS", "SendSMS");
                $('checkEdit').checked = false;
                $('textContent').disabled = "disabled";

            } catch (ex) { }
        }



    }
    else if (el.id == "aSearchStreet") {
        // changeSearchType($('aTabDirection'));
        onChangeTab($('aTabDirection')); /*edit 11/03/2010*/
        $("box").addClassName('hide'); /*edit 11/03/2010*/
        showShadow(false); /*edit 11/03/2010*/
    }
};

//show hide divShadow
function showShadow(isShow) {
    if (isShow) {
        var divShadow = $('divShadow');
        //divShadow.style.width = document.body.offsetWidth + 'px';
        // divShadow.style.height = document.body.offsetHeight + 'px';
        divShadow.show();
        if (utils.IE7_Firefox() == 6)
            $('ddlCities').style.visibility = "hidden";
    }
    else {
        $('divShadow').hide();
        if (utils.IE7_Firefox() == 6)
            $('ddlCities').style.visibility = "visible";
    }
};

//canh giua cho popup
function pos4Popup(ele) {
    var size = ele.getDimensions();
    ele.style.left = (document.body.offsetWidth - size.width) / 2 + 'px';
    ele.style.top = (document.body.offsetHeight - size.height) / 2 + 'px';
    if (ele.hasClassName('hide')) ele.removeClassName('hide');
    else ele.show();
};

//hide popup
function closePopup(ele) {
    if (ele.type != "")
        ele = Event.element(ele);
    ele.up('.divEmail').hide();
    showShadow(false);
};

//lay thong tin trang web
function getMapInfo() {
    var info = {};
    info.l = isLang; //ngon ngu
    info.st = strState; //tinh/thanh pho
    var hMap = (map.type == 3) ? map.iMetaHeigh * 2 : map.iMetaHeigh;

    var df = (map.defaultZoom == undefined) ? DEFAULT_ZOOM : map.defaultZoom;
    var srcImg = map.interLayer.childNodes[0].id.split('_');
    var hsrcImg = (map.type == 3) ? srcImg[2] * 2 : srcImg[2];
    // tinh vi tri trung tam
    var xleft = (parseInt(utils.rejectUnit(map.apiLayer.style.left)));
    var ytop = (parseInt(utils.rejectUnit(map.apiLayer.style.top)));
    var dm = $("divMap").getDimensions();
    info.n = map.currentZoom + ";" + df + ";" + map.iMetaWidth + ";" + hMap + ";" +
            srcImg[1] + ";" + hsrcImg + ";" + map.iWide + ";" + map.iHigh + ";" + map.type + ";" +
            ((0 - xleft) + dm.width / 2 + map.iMetaWidth) + ";" + ((0 - ytop) + dm.height / 2 + hMap) + ";" +
            map.cenPoint.x + ";" + map.cenPoint.y + ";" + map.Search + ";" + isWard;
    info.s = inSearch;

    if (map.Search == -1 || map.Search == 0) { //bi loi neu tim duong, sau do tim dia diem, map.Search co gia tri 0 //Quang 29/08
        if (oAdd != null && oAdd.stName != "")
            info.a = utils.encode(escape(oAdd.text), strState.substr(strState.length / 2));
    }
    else {
        info.a = utils.encode(escape(oAddA.text), strState.substr(strState.length / 2));
        info.b = utils.encode(escape(oAddB.text), strState.substr(strState.length / 2));
        if ($('txtSearchA').pxy != "-1" && $('txtSearchB').pxy != "-1") {
            info.pp = utils.encode(escape($('txtSearchA').pxy + ";" + $('txtSearchB').pxy), strState.substr(strState.length / 2)); //thao update 08/01
            info.fp = "0";
        }
    }
    return info;
};
//tao link cho trang web
function createLinkPage(page) {
    var link = new String(window.location);
    var strLang = (isLang == 0) ? 'vn/' : 'en/';
    if (link.toLowerCase().indexOf('.aspx') == -1 && (link.lastIndexOf('/') != link.length - 1)) link = link + '/';
    var subpath = link.substring(0, link.lastIndexOf('/')).replace('/vn', '').replace('/en', '');
    link = subpath + '/' + strLang + page;
    var param = Object.toQueryString(getMapInfo());
    if (param != '')
        link += '?' + param;
    if (paramCom != null) {

        var tmpPara = strParamCom.toQueryParams();
        if (paramCom.pAds != undefined) tmpPara.pAds = paramCom.pAds;
        tmpPara.P = paramCom.P;
        tmpPara = Object.toQueryString(tmpPara);

        link += "&" + (tmpPara.replace('&st=' + strState, '').replace('A=', 'AA='));
        link = link.replace('&P=1', '&P=' + paramCom.P);
        try {
            if (link.indexOf('&P=') == link.length - 3) link += paramCom.P;
        } catch (ex) { alert(ex); }
    }
    if ($("divToolTip")) {
        //var toolTip = $("divToolTip").down('.attClose');
        var toolTip = $("divToolTip").down('.attClose').down('a');
        if (toolTip != null && toolTip.name != undefined) {
            link += ('&sd=' + ($("divToolTip").style.display != 'none' ? toolTip.name : "-1"));
        }
    }
    return link;
};
/*======================================================================================================================================================
END MAP TOOLS
======================================================================================================================================================*/

function setDefaultAdd(sn, sname, did, wid, dname, wname, pos, texts) {
    var tmpadd = new Address(sn, sname, did, wid, dname, wname);
    tmpadd.pos = pos;
    tmpadd.text = texts;
    tmpadd = insertText(tmpadd);
    return tmpadd;
};
function btnExpandWidth(e) {
    var ele = Event.element(e);
    var divMap = $('divMap');
    var divMapTools = divMap.down('#divMapTools');
    var divMapAdv = divMap.down('#divMapAdv');
    var width = null;
    if (ele.className == 'btnExpandMap') {
        ele.className = 'btnShrinkMap';
        divMap.up().next().hide();
        divMap.style.width = (utils.rejectUnit(divMap.style.width) + 304) + 'px';
        divMapTools.style.width = (utils.rejectUnit(divMapTools.style.width) + 304) + 'px';
        divMapAdv.style.width = (utils.rejectUnit(divMapAdv.style.width) + 304) + 'px';
    }
    else {
        ele.className = 'btnExpandMap';
        divMapTools.style.width = (utils.rejectUnit(divMapTools.style.width) - 304) + 'px';
        divMapAdv.style.width = (utils.rejectUnit(divMapAdv.style.width) - 304) + 'px';
        divMap.style.width = (utils.rejectUnit(divMap.style.width) - 304) + 'px';
        divMap.up().next().show();
    }

    drag4BoxResult($('divSearchResult'), $('divMap'));
    if (map != null) map.resizeMap();
};
/*Ham mo rong/thu nho ban do*/
function btnExpandHeight(e) {
    var ele = Event.element(e);
    var amovedownLogo = $('amovedownLogo');
    if (ele.className == 'movedownLogo') {
        ele.className = 'moveupLogo';
        $('divMapAdv').hide();
        amovedownLogo.style.bottom = '0';
        $('sDDCopyRight').style.bottom = '7px';
        $('dGoogle').style.bottom = '2px';
        var dResultCont = $('dResultCont');
        dResultCont.style.height = (utils.rejectUnit(dResultCont.style.height) + 65) + 'px';
        var dResultBG = $('dResultBG').down('.dResultBG_C');
        dResultBG.style.height = (utils.rejectUnit(dResultBG.style.height) + 65) + 'px';
        // $('divMapIconCate').style.bottom = '5px';
    }
    else {
        ele.className = 'movedownLogo';
        $('divMapAdv').show();
        amovedownLogo.style.bottom = '64px';
        $('sDDCopyRight').style.bottom = '70px';
        $('dGoogle').style.bottom = '65px';
        var dResultCont = $('dResultCont');
        dResultCont.style.height = (utils.rejectUnit(dResultCont.style.height) - 65) + 'px';
        var dResultBG = $('dResultBG').down('.dResultBG_C');
        dResultBG.style.height = (utils.rejectUnit(dResultBG.style.height) - 65) + 'px';
        $('divMapIconCate').style.bottom = '0px'; // newlayout
    }
    drag4BoxResult($('divSearchResult'), $('divMap'));
};

// tim cong ty theo ma cong ty, hien thi len ban do 
function findCompanyByID(comID) {
    strParamCom = "st=" + strState + "&stpe=" + 27 + "&comID=" + comID + "&P=";
    paramCom = (strParamCom + 1).toQueryParams();
    utils.call("Comp.aspx?stpe=27", paramCom, "POST", "showCompIDResult", "showCompIDResult");
};
// xu ly cho truong hop xa lo
function showCompIDResult(str) {

    var container = $('divListResultCompany');
    try {
        showShadow4Search(false);
    } catch (ex) { }
    if (str == "-1") {
        container.update('');
        hideBox($('boxCompanyResult'));
        //hideBoxResult($('divSearchResult'));
        removeICon(); oCom = null; return;
    }
    try { oCom = str.evalJSON(true); } catch (ex) { oCom = str; }
    var strhtml = "";
    var strTitleR = "";

    if (oCom.dsCompany.length > 0) {
        strTitleR = '<h5 class="h5ResultInfo">' + lang4FullMap()[isLang][0] + '<span>' + "" + '</span></h5>';
        for (var j = 0; j < oCom.dsCompany.length; j++) {
            try {
                strhtml += Com2HTMLFull(Comp4Lang(j, 0), j);
            } catch (ex1) { }
        }
    }
    var iCountR = parseInt(oCom.cp) * parseInt(oCom.cr);
    strTitleR += '<span class="sResultInfo">' + lang4FullMap()[isLang][1] + '<span>' + lang4FullMap()[isLang][2] + ((iCountR - (parseInt(oCom.cr) - 1)) + '-' + (iCountR > parseInt(oCom.tr) ? parseInt(oCom.tr) : iCountR)) + '</span>' + lang4FullMap()[isLang][3] + '<span>' + oCom.tr + '</span></span>';
    $('divSearchResult').down(".dResultInfo_L").innerHTML = strTitleR;
    container.update(strhtml);
    container.select('.aTTFromHere').invoke('observe', 'click', findWay);
    showPage($('divPaging'), oCom, 'oClickPageCompFull');
    $('divCompanyPaging').show();
    var xy = oCom.dsCompany[0].XY;
    map.setPoint2Map(xy);
    try { repaintCateIconMap(); } catch (exx) { }
    $('divListStreet').hide();
    $('divListStreet').style.visibility = 'hidden';
    // $("divAdverBanner").hide();
    showBoxResult($('divSearchResult'));
};
//function tao map cho sponser, dinh vi, chi moi xdinh cho sai gon
function sponserMap(strspn, xy) {
    strspn = utils.toProperCase(unescape(strspn)).split(";");
    xy = unescape(xy).split(" ");

    if (map == null) {
        mapInit('divMap', xy[0], xy[1]);
    }
    else {
        map.initialize(0, xy[0], xy[1], strspn);
    }
    var sNo = strspn[0].substring(0, strspn[0].indexOf(" "));
    var strAdds = utils.toProperCase(strspn[0] + ", P. " + strspn[2] + ", Q. " + strspn[1]);
    oAdd = setDefaultAdd(sNo, strspn[0].substr(sNo.length + 1), '0', '0', strspn[1], strspn[2], 'A', strAdds);
    $("txtSearchA").style.backgroundImage = 'none';
    $("txtSearchA").value = strAdds;
    odefaultAdd.dfAd = oAdd;
    createMapIcon(0);
    map.maker.mx = xy[0];
    map.maker.my = xy[1];
    $("txtSearchA").pxy = xy[0] + "_" + xy[1];
};
function smallDirection(mx, my, inc, title) {
    // tinh toa do ma box hien thi len
    var mpy = (map.type == 3) ? my / 2 : my;
    var posx = parseInt(mx) * map.currentZoom / 100 - map.iMetaWidth;
    var posy = parseInt(mpy) * map.currentZoom / 100 - map.iMetaHeigh;

    // tinh toan de slideby
    var px = parseFloat(utils.rejectUnit(map.apiLayer.style.left));
    var py = parseFloat(utils.rejectUnit(map.apiLayer.style.top));
    var sizeMap = $(map.oDomObj.id).getDimensions();
    var xl = parseInt(posx - (0 - px) - sizeMap.width / 2);
    var yt = parseInt(posy - (0 - py) - sizeMap.height / 2); var i = 0;
    var divWhiteShadow = $('divWhiteShadow');
    // var wh = $('divMapBody').getDimensions();

    if (xl != 0 || yt != 0) {
        // divWhiteShadow.show();
        map.slider.onSlideEnd = function() {
            showDirecPopup(title, posx, posy, mx, my, inc);
            //    divWhiteShadow.hide();
        };
        map.slider.slideBy(0 - xl, 0 - yt, 35, 1, 50);
    }
    else {
        showDirecPopup(title, posx, posy, mx, my, inc);
    }
    map.slider.slideBy(0 - xl, 0 - yt, 35, 1, 50);

};
function showDirecPopup(title, posx, posy, mx, my, inc) {
    createMapBox(title, [posx, posy - 8]);
    // createMapBox(title, [posx, posy - 4]);
    //load ban do nho vao popup     
    var directMap = new apiMap("divImageMap", 200, 200, "Beta2", true);
    directMap.aZoom = new Array(0.0244, 0.0488, 0.0976, 0.1953, 0.3906, 0.7812, 1.5625, 3.125, 6.25, 12.5, 25, 50, 100); // khoi tao so
    directMap.shadowLayer.style.display = "none";
    directMap.D3D = false;
    var naDirectMap = new navigationMap(directMap);
    naDirectMap.activate();
    directMap.jsonDirect = map.jsonDirect;
    directMap.ABPoint = map.ABPoint;
    directMap.starXY = map.starXY;
    directMap.maxLeng = map.maxLeng;
    directMap.initDirect(1, mx, my);
    // ve diem A & B trong ban do nho
    var posA = new mapPoint(parseInt(directMap.ABPoint[0].x) * directMap.currentZoom / 100 - directMap.iMetaWidth, parseInt(directMap.ABPoint[0].y) * directMap.currentZoom / 100 - directMap.iMetaHeigh);
    var posB = new mapPoint(parseInt(directMap.ABPoint[1].x) * directMap.currentZoom / 100 - directMap.iMetaWidth, parseInt(directMap.ABPoint[1].y) * directMap.currentZoom / 100 - directMap.iMetaHeigh);
    //directMap.makerA = mapMaker(directMap.layerMaker.id, posA, mapIcon(urlIcons + 'common/icons/points/icon_A.png', 41, 34, directMap.layerMaker.id + 'A'), false);
    //directMap.makerB = mapMaker(directMap.layerMaker.id, posB, mapIcon(urlIcons + 'common/icons/points/icon_B.png', 41, 34, directMap.layerMaker.id + 'B'), false);
    directMap.makerB = mapMaker(directMap.layerMaker.id, posB, setMapICon(urlIcons + 'common/icons/points/iconMap.png', 48, 30, 'iconPointB'), false, [9, -14]);
    directMap.makerA = mapMaker(directMap.layerMaker.id, posA, setMapICon(urlIcons + 'common/icons/points/iconMap.png', 48, 30, 'iconPointA'), false, [9, -14]);
    /* ko xai ham nay 
    directMap.makerA = createExtIcon(directMap.layerMaker.id, posA.x, posA.y, 'iconPointA', directMap.layerMaker.id + 'A', 'A') ;
    directMap.makerB = createExtIcon(directMap.layerMaker.id, posB.x, posB.y, 'iconPointB', directMap.layerMaker.id + 'B', 'B'); 
    */
    //ve icon cho duong duoc click  

    var arrpoint = $(map.layerMaker.id).select(".iconCompDirect");
    var point;
    if (arrpoint.length < 1) {
        //point = createExtIcon(map.layerMaker.id, posx + 2, posy - 20, 'iconComp', map.layerMaker.id + 'point', inc); /*edit 03/03/2010*/;
        point = mapMaker(map.layerMaker.id, new mapPoint(posx + 2, posy - 17), setMapICon(urlIcons + 'common/icons/points/iconMap.png', 48, 30, 'iconComp' + inc), false, [3, 0]);
        point.childNodes[0].className = "iconCompDirect";
    }
    else {
        point = arrpoint[0].up();
        point.style.left = (posx - 17) + "px";
        point.style.top = (posy - 46) + "px";
        // point.style.top = (posy - 42) + "px";
        point.down('SPAN').update(inc);
    }
    point.childNodes[0].id = 'aIconDirect' + '_' + mx + '_' + my + '_' + inc;
    //point.innerHTML = "<span style='color:#fff;font-weight:700; position:absolute; margin-left: " + (inc < 10 ? '10px' : '6px') + "; margin-top: 8px;  '>" + inc + "</span>";
};
function createMapBox(title, pos) {
    var left = pos[0] - 111;
    var top = pos[1] - 231;

    var strPopup = '<div id="divToolTip" class="dToolTip dTTBig" style="display:block;top:' + top + 'px;left:' + left + 'px">' +
    '<div class="dToolTip_L"></div>' +
    '<div class="dToolTip_C">' +
        '<div class="dToolTip_Title"><span>' + title.truncate(40) + '</span></div>' +
        '<div class="dToolTip_Contain" id="divImageMap"></div></div>' +
    '<div class="dToolTip_Right">' +
        '<a class="aTTButtonClose" href="javascript:;" id="aTTButtonClose"></a></div>' +
    '<div class="dToolTipTail"></div></div>';

    var strShadow = '<div id="divToolTipShadow" class="dToolTipShadowBig" style="top:' + (top + 73) + 'px;left:' + (left + 28) + 'px;"></div>';
    map.layerPopup.update(strPopup);
    map.shadowLayer.update(strShadow);
    $('aTTButtonClose').observe('click', function(e) {

        removeIconDirection();
    });
};

function removeIconDirection() {
    //hide icon so thu tu cua popup ban do
    //var iconTmp = $("Icon" + map.layerMaker.id + "point");
    if (map.layerMaker.select('.iconCompDirect').length > 0) {
        var up = map.layerMaker.select('.iconCompDirect')[0].up();
        up.remove();
        var divToolTip = $('divToolTip');
        if (divToolTip) { divToolTip.hide(); $('divToolTipShadow').hide(); }
    }
    //    if (iconTmp) {
    //        iconTmp.remove();
    //        //hide popup ban do nho di
    //        var divToolTip = $('divToolTip');
    //        if (divToolTip) { divToolTip.hide(); $('divToolTipShadow').hide(); }
    //    }
};
// hien thi box icon congty  va icon doi tac ben ban do nho truyen qua
function showPopUp() {

    if (!isPopUp) return;

    if (typeShadow != -1 && typeShadow != undefined) {
        if (typeShadow == "P") { //show Box tim deim
            createInfoBox(map.maker);
        } else if (typeShadow == "A") {//show Box A
            createInfoBox(map.makerA);
        } else if (typeShadow == "B") {//show Box B
            createInfoBox(map.makerB);
        } else {//show box icon cong ty --icon doi tac
            resetIconState();
            var vlue = typeShadow.split('_');
            var otemp = null;
            var iconmap = null;
            if (typeof (oCom) == "undefined" || oCom == null) return;
            var oldBG = null;
            var bgImg = urlIcons + 'common/icons/points/iconMapRedPoint.png';
            var sps = strState.substr(strState.length / 2);
            switch (vlue[0]) {
                case 'titleCSMap': case 'imageCSMap': case 'IconDComMap': case 'IconAdvDComMap':
                    otemp = oCom.dsCompany[vlue[1]];
                    if (otemp.MDV == undefined) { otemp.MDV = otemp.NnDv.split(';')[0].split('^^')[1].split('#')[0].split('_')[0]; }
                    var strid = utils.encode(otemp.MCty + '_' + otemp.MDV + '_' + otemp.X + '_' + otemp.Y + "_" + otemp.XY, sps);
                    if (paramCom != null && paramCom.pAds == 1) {
                        bgImg = urlIcons + 'common/icons/points/icon_popup_map.png';
                        iconmap = $('IconAdvDComMap_' + strid);
                    }
                    else {
                        bgImg = urlIcons + 'common/icons/points/iconBigHover.png';
                        iconmap = $('IconDComMap_' + strid);
                    }
                    break;
                case 'titlePTMap': case 'imagePTMap': case 'IconDdtacMap':

                    if (oCom.dsDtac.length > 0) {// cong ty doi tac moi lan goi len server se random khac nhau
                        if (oCom.dsDtac[vlue[1]].MCty == vlue[2]) {
                            otemp = oCom.dsDtac[vlue[1]];
                        } else {
                            for (var i = 0; i < oCom.dsDtac.length; i++) {
                                if (oCom.dsDtac[i].MCty == vlue[2]) {
                                    otemp = oCom.dsDtac[i]; break;
                                }
                            }
                        }
                        if (otemp == null) return;
                        if (otemp.MDV == undefined) { otemp.MDV = otemp.NnDv.split(';')[0].split('^^')[1].split('#')[0].split('_')[0]; }
                        var strid = utils.encode(otemp.MCty + '_' + otemp.MDV + '_' + otemp.X + '_' + otemp.Y + "_" + otemp.XY, sps);
                        //var strid = otemp.MCty + '_' + otemp.MDV + '_' + otemp.X + '_' + otemp.Y + "_" + otemp.XY;
                        iconmap = $('IconDdtacMap_' + strid);
                        break;
                    }
                    break;
            }
            if (iconmap == null) return;
            if (utils.IE7_Firefox() != 6) {
                oldBG = iconmap.style.backgroundImage;
                iconmap.style.backgroundImage = 'url(' + bgImg + ')';
            }
            else {
                oldBG = iconmap.style.filter;
                iconmap.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bgImg + "',sizingMethod=crop)";
            }
            iconmap.style.zIndex = 1;
            iconmap.addClassName('iconSelected');
            iconmap.down('A').style.backgroundPosition = "0px -400px";
            if (paramCom != null && paramCom.pAds == 1)
                createAdvInfoBoxExt(iconmap);
            else
                createInfoBoxExt(iconmap);
        }
    }
    isPopUp = false;
};
function btnBoxClick(e) {
    var ele = Event.element(e);
    var divSearchResult = ele.up('#divSearchResult');
    if (ele.className == 'btnClose') {
        hideBox($('boxCompanyResult'));
        //hideBoxResult(divSearchResult);
    }
    else if (ele.className == 'btnMinimize') {
        ele.className = 'btnRestore';
        var arr = divSearchResult.childElements();
        var arr1 = arr[3].childElements();
        [arr[1], arr[2], arr1[1], arr1[2]].invoke('hide');

        divSearchResult.style.height = '40px';
        drag4BoxResult(divSearchResult, $('divMap'));
    }
    else if (ele.className == 'btnRestore') {
        ele.className = 'btnMinimize';
        var arr = divSearchResult.childElements();
        var arr1 = arr[3].childElements();
        [arr[1], arr[2], arr1[1], arr1[2]].invoke('show');
        divSearchResult.style.height = '';
        drag4BoxResult(divSearchResult, $('divMap'));
    }
};

function showBoxResult(ele) {
    var arr = ele.childElements();
    if (!ele.visible()) {
        ele.style.left = '';
        //$('divMapIconCate').style.right = '310px';
    }
    var aTmp = arr[0].down('#btnResizeBlock');
    if (aTmp.className == 'btnRestore') {
        aTmp.className = 'btnMinimize';
        var arr1 = arr[3].childElements();
        [arr[1], arr[2], arr1[1], arr1[2]].invoke('show');
    }
    ele.show();
    drag4BoxResult(ele, $('divMap'));
};

function hideBoxResult(ele) {
    ele.hide();
    $('divMapIconCate').style.right = '6px';
};

function DDLOnClick(e) {
    var _element = Event.element(e);
};
function drag4BoxResult(boxResult, divMap) {
    var _dMap = divMap.getDimensions();
    var boxResultHeight = boxResult.getHeight();
    var maxX = _dMap.width - 309;
    var maxY = _dMap.height - boxResultHeight;
    if ($('divMapAdv').visible())
        maxY -= 65;

    var left = boxResult.style.left;
    var top = boxResult.style.top;
    Drag.init(boxResult.down('.dResultInfo'), boxResult, 4, maxX, 29, maxY);
    if (left != '') {
        left = utils.rejectUnit(left);
        if (left > maxX) { boxResult.style.left = maxX + 'px'; }
        if (top != '') { top = utils.rejectUnit(top); if (top > maxY) boxResult.style.top = maxY + 'px'; }
    }
    else { boxResult.setStyle({ left: (maxX + 'px'), right: 'auto', bottom: 'auto', top: '29px' }); };
    boxResult.onDrag = function() {
        $('divMapIconCate').style.right = '6px';
    };
};

/*
Add by Quang 
23/02/2010
Load cac event moi cho trang ban do   - newlayout
*/
function loadNewEvents() {
    //restore tab
    var restore_tab = $('restore_tab');
    restore_tab.observe('click', function(e) {
        var caption = $("boxMapSearch");
        if (oAdd == null & oAddA == null & oAddB == null & $("mbox_holder").innerHTML == "" & caption.select(".mbox_caption")[0].innerHTML == "") return;


        Event.element(e).up().addClassName('hide');
        var tab_active = $("mbox_tab").down('.active').down('a');
        if (tab_active) {
            if (tab_active.id == "aTabMaps" || tab_active.id == "aTabDirection")
                $('boxMapSearch').removeClassName('hide');
            else if (tab_active.id == "aTabDirectory")
                if ($("boxCompanyResult").down("#divLSCenter").innerHTML != "")
                $("boxCompanyResult").removeClassName('hide');
        }

        maptypeResize();
    });

    //button close
    var arr = $(document.body).select('.closebox_button a');
    if (arr.length > 0) {
        // alert(arr[2].up().className);
        arr.invoke('observe', 'click', function(e) {
            var mbox = Event.element(e).up('.mbox');

            if (mbox.hasClassName('advSmallLogo')) {
                showAdsbar();
            }
            else {
                var tab_active = $("mbox_tab").down('.active').down('a');
                if (mbox.id == "boxCompanyResult" && tab_active.id == "aTabDirectory")
                    restore_tab.up().removeClassName('hide');
                else if (mbox.id == "boxMapSearch" && (tab_active.id == "aTabMaps" || tab_active.id == "aTabDirection"))
                    restore_tab.up().removeClassName('hide');
            }
            mbox.addClassName('hide');
            maptypeResize();
        });
    }


    var adsbar = $(document.body).select('.closebox_buttonsmall');
    if (adsbar.length > 0) {

        adsbar.invoke('observe', 'click', function(e) {

            showAdsbar();
        });
    }
    var advSmallLogo = $(document.body).select('.advSmallLogo');
    if (advSmallLogo.length > 0) {

        advSmallLogo.invoke('observe', 'click', function(e) {
            showAdsbar();
        });
    }
    //cac ddl
    var ddlDate = new ddlDD(); //Quang 11/04
    ddlDate.initializeCtrl('ddlCities', onLoadDDL, onChangeCities, true);

    //tab
    if ($('mbox_tab'))
        $('mbox_tab').observe('click', function(e) {
            var ele = Event.element(e);
            if (ele.tagName != 'A') return;
            if (ele.hasClassName('active')) return;
            onChangeTab(ele);
        });

    try {
        $('txtSearchNearBy').observe('focus', onFocusFbox);
        $('txtSearchYP').observe('focus', onFocusFbox);
        $('txtSearchA').observe('focus', onFocusFbox);
        $('txtSearchB').observe('focus', onFocusFbox);
        $('txtSearchMaps').observe('focus', onFocusFbox);
        [$('txtSearchNearBy'), $('txtSearchYP'), $('txtSearchA'), $('txtSearchB'), $('txtSearchMaps')].invoke('observe', 'blur', onBlurFbox);
    } catch (ex) { }
    $('divMapTools').observe('click', divMapToolsClick);
    document.observe("click", docClick);

};
// hien thi hoac dong lai adsbar

function showAdsbar() {

    var adsbar = $("divMapAdvLogo");

    if (adsbar.style.display != "none") {
        // Effect.SlideUpExt("divMapAdvLogo", { duration: 1.0 });
    } else {
        Effect.SlideDownExt("divMapAdvLogo", { duration: 1.0 });
    }
    // clearTimeout(adsbartime);
    // adsbartime = null;
    // adsbartime = setTimeout(showAdsbar, 10000);
    $('aMoveSlide').observe('click', moveSlides);
    loop = setTimeout('showAdvertMap()', 5000);

};

// close div co id la la id truyen vao
function closeboxbutton(id) {
    var arr = $(id).select('.close_box');
    if (arr.length > 0) {
        arr[0].onclick = function(e) {
            $(id).addClassName('hide');
            var shadow = $("divShadow");
            if (shadow.style.display == "block") {


                if (shadow.style.removeAttribute)
                    shadow.style.removeAttribute('display');
                else shadow.style.removeProperty("display");


            }
            if (shadow.className.indexOf(' hide') == -1) shadow.addClassName('hide');
        };
    }


};

/*
Add by Quang 
23/02/2010
Thay doi tab tim kiem
Tham so: ele: element tab, muon chuyen sang tab nao thi truyen tab do vao
vd: onChangeTab($('aTabDirection'));
*/
function onChangeTab(ele) {

    $('mbox_tab').select('li').each(function(obj) {
        $(obj).className = '';
    });
    ele.up('li').className = 'active';

    var divMaps = $('divMaps');
    var divDirection = $('divDirection');
    var divDirectory = $('divDirectory');
    var restore_tab = $("divMap").down('.restore_tab');
    if (ele.id == 'aTabMaps') {
        divMaps.up('.bgbox').className = 'bgbox fpoint';
        $('divMapDirect').removeClassName('hide');
        divMaps.removeClassName('hide');
        divDirection.addClassName('hide');
        divDirectory.addClassName('hide');
        divMaps.down('#txtSearchMaps').focus();

    }
    else if (ele.id == 'aTabDirection') {
        divDirection.up('.bgbox').className = 'bgbox fway';
        $('divMapDirect').removeClassName('hide');
        divMaps.addClassName('hide');
        divDirectory.addClassName('hide');
        divDirection.removeClassName('hide');

    }
    else if (ele.id == 'aTabDirectory') {
        divDirectory.up('.bgbox').className = 'bgbox fdirect';
        $('divMapDirect').addClassName('hide');
        divMaps.addClassName('hide');
        divDirectory.removeClassName('hide');
        divDirection.addClassName('hide');
    }
    if ($("boxCompanyResult") != null && $("boxCompanyResult").down("#divLSCenter").innerHTML == "")
        restore_tab.addClassName('hide');
    else
        restore_tab.removeClassName('hide');

    var divParent = (ele.id == 'aTabMaps' || ele.id == 'aTabDirection') ? divDirection : (ele.id == 'aTabDirectory') ? divDirectory : null;
    if (divParent != null)
        divParent.select('.aClear').invoke('observe', 'click', clearTextBoxSearch);
};

/*
Add by Quang 
23/02/2010
Hien thi khung Quang Cao
*/
function showAdverBanner() {
    /* // newlayout 
    $('mbox_holder').innerHTML = '<div id="divAdverBanner" class="mbox_ads"><a href="javascript:void(0);"><img src="images/new/test/box_search_ad_1.jpg" alt="map box ads" /></a></div>';

    $('mbox_shadow_bottom').removeClassName('hide');
    $('mbox_resize').addClassName('hide');
    */
};
/*
Add by Quang 
23/02/2010
Hien thi danh sach phuong / quan
- hien thi kiet qua tim kiem 
*/
function showListDW() {
    var html = '<div class="mbox_result"><div class="bg_mbox_result transparent_9"></div><div class="mbox_result_inner">';

    html += '<div id="result_list_dw">';

    html += '<div class="mbox_list_record">';
    html += '<div id="divListDistWard">';

    html += '<ul class="ulLS">';
    for (var i = 0; i < 2; i++) {
        html += '<li class="liLSOn">';
        html += '<div class="mbox_point">Hai Ba Trung ' + (i + 1) + '</div>';
        html += '<ul class="ulLSDist">';
        for (var j = 0; j < 2; j++) {
            html += '<li class="liLSDistOn">';
            html += '<a href="javascript:void(0);" class="aLSDist">Quan Tan Phu</a>';
            html += '<ul class="ulLSWard">';
            html += '<li><a name="" href="javascript:void(0);" class="aLSWard" id="">Phuong Tan Quy</a></li>';
            html += '</ul>';
            html += '</li>';
        }
        html += '</ul>';
        html += '</li>';
    }
    html += '<li class="liLSOn">';
    html += '<div class="mbox_point">Cac cong ty</div>';
    html += '<ul class="ulLSWard">';
    for (var i = 0; i < 5; i++) {
        html += '<li><a id="" class="aLSWard" href="javascript:void(0);" title="">Nha Hang <b>Nguyen Du</b></a></li>';
    }
    html += '</ul>';
    html += '</li>';
    html += '</ul>';

    html += '</div>';
    html += '<div class="select_scrollbar">';
    html += '<div class="Scrollbar-Up"></div>';
    html += '<div class="Scrollbar-Down"></div>';
    html += '<div class="Scrollbar-Track">';
    html += '<div class="Scrollbar-Handle"></div></div></div></div></div>';

    html += '</div></div>';
    $('mbox_holder').innerHTML = html;

    var box = $('boxMapSearch');
    box.down('#mbox_shadow_bottom').addClassName('hide');
    box.down('.mbox_resize').removeClassName('hide');
    var adsbar = $('divMapAdvLogo').hasClassName('max_ads_bar') ? 55 : 0;
    resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 198 + adsbar, null, null);
    scrollThis(box.down('.select_scrollbar'), box.down('#divListDistWard'));
};

/*
Add by Quang 
23/02/2010
Hien thi danh sach huong dan duong di
*/
function showListDirection() {
    var html = '<div class="mbox_result"><div class="bg_mbox_result transparent_9"></div><div class="mbox_result_inner">';

    html += '<div id="result_direction">';
    html += '<div class="mbox_point mbox_point_A">Thao Dien</div>';
    html += '<div class="mbox_list_record">';
    html += '<div id="divListStreet">';

    for (var i = 0; i < 7; i++) {
        html += '<a href="javascript:void(0);" class="aLSDirUp" id="" name="">';
        html += '<span fullname="Nguyen Hue" class="spnStreetName">Nguyen Hue ' + (i + 1) + '</span>';
        html += '<span class="spnDistance">126 m</span>';
        html += '</a>';
        html += '<div class="divLine"></div>';

    }

    html += '</div>';
    html += '<div class="select_scrollbar">';
    html += '<div class="Scrollbar-Up"></div>';
    html += '<div class="Scrollbar-Down"></div>';
    html += '<div class="Scrollbar-Track">';
    html += '<div class="Scrollbar-Handle"></div></div></div></div>';

    html += '<div class="mbox_point mbox_point_B">Thao Dien</div>';
    html += '<div class="mbox_total">Total:</div>';
    html += '</div>';

    html += '</div></div>';
    $('mbox_holder').innerHTML = html;

    var box = $('boxMapSearch');
    box.down('#mbox_shadow_bottom').addClassName('hide');
    box.down('.mbox_resize').removeClassName('hide');
    var adsbar = $('divMapAdvLogo').hasClassName('max_ads_bar') ? 55 : 0;
    resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 288 + adsbar, null, null);

    scrollThis(box.down('.select_scrollbar'), box.down('#divListStreet'));
};
/*
Hien thi danh sach cong ty tim duoc
*/
function showListCompany(str) {

    try {
        objCompAdv = null;
        if (paramCom != null && paramCom.pAdv != undefined) paramCom.pAdv = 0;
    } catch (ex) { };

    objCompTemp = str;
    var box = $('boxCompanyResult');
    var _lang = lang4SearchTitle()[isLang];
    try {
        showShadow4Search(false);
    } catch (ex) { }
    if (str == "-1") {
        box.down("#divLSTitle").update();
        box.down('#divLSCenter').update();
        removeICon(); oCom = null; /*showPopUp();*/

        mapNote(_lang[1]);
        return;
    }
    var divSearchResult = $('divSearchResult');
    var strTitle = "";
    var strContent = "";

    try { oCom = str.evalJSON(true); } catch (ex) { oCom = str; }
    if (oCom == null || (oCom.dsDtac.length <= 0 && oCom.dsCompany.length <= 0)) {

        if (oCom.dssgest != "-1") {
            box.removeClassName('hide');
            strTitle = '<p class="mbox_search_what">' + lang4FullMap()[isLang][0] + '<span  class="hightlight">' + substr((paramCom.stpe == 17 ? (unescape(utils.decode(paramCom.sn, strState.substr(strState.length / 2)))) : (paramCom.K == undefined) ? "" : ((paramCom.stpe == 1 && paramCom.fE == 1) ? (unescape(utils.decode(paramCom.K, strState.substr(strState.length / 2)))) : paramCom.K)), 24) + ' </span></p>';
            box.down("#divLSTitle").innerHTML = strTitle;
            var divLSCenter = box.down('#divLSCenter');
            // strContent = "<ul class='ulLS'>"; class='liLSOn ulLSComp' class='mbox_point'
            strContent += "<li style=' cursor: pointer;' class='mbox_suggest' ><p style='margin-left:20px;'>" + lang4FullMap()[isLang][4] + "<p></li>";
            strContent += "<li class='liLSOn'><ul class='ulLSWard'><li style='cursor: pointer;' id='lidssgest'>" + oCom.dssgest + "<li></ul></li>";
            $('divPaging').style.display = 'none';
            $("divPaging").innerHTML = "";
            // strContent +="</ul>";
            //oCom.dssgest;
            divLSCenter.update(strContent);
            $("lidssgest").onclick = function() {
                $("divShadow").show();
                //var txt = $("txtSearchNearBy");
                var xy = ((inSearch == 0) ? map.cenPoint : ((map.layerPopup.pos == 0) ? map.ABPoint[0] : map.ABPoint[1]));
                strParamCom = "K=" + oCom.dssgest + "&A=" + $("txtSearchYP").value + "&st=" + strState + "&R=" + 10 + "&stpe=" + 1 + "&P=1";
                strParamCom += "&C=&F=&S=&fD=0";
                paramCom = (strParamCom + 1).toQueryParams();
                utils.call("Comp.aspx", paramCom, "POST", "showListCompany", "showListCompany");
            }
        }
        else {
            box.down("#divLSTitle").update();
            box.down('#divLSCenter').update();
            box.hide();
            removeICon();
            paramCom = null;
            //showPopUp();
            removeShadow();
            mapNote(_lang[1]);

        }
        return;
    }
    try {
        if (typeof (paramCom.K) != "undefined")
            $("txtSearchNearBy").value = ((paramCom.stpe == 1 && paramCom.fE == 1) ? (unescape(utils.decode(paramCom.K, strState.substr(strState.length / 2)))) : paramCom.K); // paramCom.K;
        else
            $("txtSearchNearBy").value = "";
    } catch (e) { }

    strTitle = '<p class="mbox_search_what">' + lang4FullMap()[isLang][0] + '<span  class="hightlight">' + substr((paramCom.stpe == 17 ? (unescape(utils.decode(paramCom.sn, strState.substr(strState.length / 2)))) : (paramCom.K == undefined) ? "" : ((paramCom.stpe == 1 && paramCom.fE == 1) ? (unescape(utils.decode(paramCom.K, strState.substr(strState.length / 2)))) : paramCom.K)), 24) + ' </span></p>';
    if (oCom.dsDtac.length > 0) {
        for (var i = 0; i < oCom.dsDtac.length; i++) {
            strContent += companyToHTML(Comp4Lang(i, 2), i);
        }
    }
    if (oCom.dsCompany.length > 0) {
        for (var j = 0; j < oCom.dsCompany.length; j++) {
            strContent += companyToHTML(Comp4Lang(j, 0), j);
        }
        var iCountR = parseInt(oCom.cp) * parseInt(oCom.cr);
        strTitle += '<p class="mbox_result_from">' + lang4FullMap()[isLang][1] + '<strong>' + lang4FullMap()[isLang][2] + ((iCountR - (parseInt(oCom.cr) - 1)) + '- ' + (iCountR > parseInt(oCom.tr) ? parseInt(oCom.tr) : iCountR)) + ' </strong> ' + lang4FullMap()[isLang][3] + ' <strong> ' + oCom.tr + ' </strong></p>';
    } else {
        strTitle += '<p class="mbox_result_from">' + lang4FullMap()[isLang][1] + '<strong>' + langResFind()[isLang][7] + '</strong></p>';
    }

    box.down("#divLSTitle").innerHTML = strTitle;
    var divLSCenter = box.down('#divLSCenter');
    var divMap = $('divMap');
    //    if (divLSCenter.empty()) {
    //        var space = { top: 17, right: 16, bottom: 10, left: 9 };
    //        if (divMap.getHeight() - space.top - 380 - 49 - 60 < 0)
    //            $('divMapIconCate').style.left = '375px';
    //    }
    divLSCenter.update(strContent);

    box.removeClassName('hide');
    if (box.style.display == "none") box.style.display = "block";
    box.select('.aTTToHere').invoke('observe', 'click', findWay);
    if (oCom.tp == 1) {
        $('divPaging').style.display = 'none';
    }
    else showPage($('divPaging'), oCom, 'oClickPageCompFull');
    $('divCompanyPaging').show();
    // dieu chinh map 

    repaintCateIconMap();
    if (map.maker && inSearch == 1) {// truong hop tim duong di k co map.maker
        map.maker.style.display = "none";
        map.makerI.style.display = "none";
    }
    var divSMS = $('divSMS');
    if (divSMS && divSMS.visible()) divSMS.hide();

    showPopUp();



    resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 86, onResizeResult, onResizeEndResult);
    //checkPosition(box, divMap, 86);
    dragThis(box.down('.mbox_caption'), box, divMap, onDragEndResult);
    //scrollThis(box.down('.select_scrollbar'), divLSCenter);


    // hide box tim kiem
    if ($("boxMapSearch").className.indexOf('hide') == -1) {
        $("restore_tab").up().removeClassName('hide');
        $("boxMapSearch").addClassName('hide');
    }
    if ($("boxCompanyResult")) {
        $('boxCompanyResult').stopObserving();
        $('boxCompanyResult').observe('click', resultClick); // -su kien click vao cong ty
    }
};
/*    
-function:convert objCompany to HTML
-param:+objCom:object company
+index:index of company in list
-create:01/03/2010 by hien_nguyen
*/
function companyToHTML(objCom, index) {

    try {
        var langRes = langResFind()[isLang];
        var rate = parseFloat(objCom.Sta) * 20;
        var sps = strState.substr(strState.length / 2);
        var enid = utils.encode(objCom.strid, sps);
        var urlA = (objCom.adType && objCom.adType == "1") ? objCom.adLink : 'details.aspx?st=' + strState + '&cID=' + utils.encode(objCom.strid.split('_')[0], sps) + '&ll=' + utils.encode(objCom.strid.split('_')[2] + ';' + objCom.strid.split('_')[3], sps) + "&l=" + isLang;
        var html = '<div id="' + enid + '" class="dResultItem">' +

           '<div class="dRI_Rate">' +
                '<ul id="ulRateCSMap_' + utils.encode(objCom.strid + "_" + objCom.maNganh, sps) + '" class="star-rating c1" style="float: right;">' +
                    Star2HTML(objCom.Sta) +
                '</ul>' +
                '<h6 class="h6RI_CompanyName">' +
                '<a id="titleCS' + 'Map_' + enid + '" name="' + objCom.maNganh + '" class="aRI_CompName linkSelected" href="javascript:void(0);" title="' + objCom.cName + '">' +
                        (index + 1) + ' . ' + objCom.cName +

                    '</a></h6></div>' +

            '<div class="dRI_Detail">' +
                '<div class="dCompanyLogo">' +
                    '<a id="imageCS' + 'Map_' + enid + '" title="' + objCom.cName + '" href="javascript:void(0);">' +
                        '<img alt="' + objCom.cName + '" src="' + objCom.Logo + '" />' +
                    '</a>' +
                '</div>' +
                '<ul class="ulInfomartion">' +
                    '<li>' + utils.toProperCase(objCom.nostreet) + '</li>' +
                    '<li>' + objCom.dw + '</li>' +
                    '<li>' + objCom.phone + '</li>' +
                    ((objCom.uName != "") ? '<li>' + langRes[9] + ':' + objCom.uName + '</li>' : '') +
                     '</ul></div>' +

            '<div class="dRI_Function">' +
                '<a id="' + objCom.strid + '" href="javascript:void(0);" class="aTTToHere" name="' + ((objCom.text != undefined && objCom.text != '') ? objCom.text : objCom.nostreet + ',' + objCom.dw) + '">' + lang4TabSearch()[isLang][16] + '</a><span>|</span>' +
                '<a id="DetitleCS' + 'Map_' + enid + '" href="' + urlA + '" title="' + objCom.cName + '" target="' + (objCompAdv == null || (objCompAdv != "" && objCompAdv.isAdv != undefined && objCompAdv.isAdv == "False") ? '' : '_blank') + '">' + lang4TabPopUp()[isLang][9] + '</a>' +
                '<a id="VotetitleCS' + 'Map_' + enid + '" href="javascript:void(0);" class="aRI_CommentCount" title="' + objCom.cName + '"><strong>' + objCom.Votes + '</strong></a>' +
            '</div>' +
            ((objCom.adType && objCom.adType != "0") ? '<div class="icon_' + objCom.adText + '"></div>' : '') +
            '</div>';
        return html;
    } catch (ex) { return ""; }
    //return "";
};
/*
Add by Quang 
23/02/2010
Resize object khi keo handle
Tham so:
- handle: element dung de nam keo
- object: element se thay doi chieu cao khi resize (nam va keo handle)
- fix_height: khoang chieu cao co dinh khong thay doi resize keo cua mbox
- onResize: ham nay se duoc goi khi dang resize
- onResizeEnd: ham nay se duoc goi khi resize xong
*/
function resizeThis(handle, object, fix_height, onResize, onResizeEnd) {

    var space = { top: 17, right: 16, bottom: 10, left: 9 };
    var scrolltrack = object.down('.Scrollbar-Track');
    var scrollbar = object.down('.select_scrollbar');
    handle.style.top = object.getHeight() + 'px';

    var min_height = 0;
    if (object.up().id == "result_list_dw") min_height = 29;

    Drag.init(handle, null, -1, -1, min_height, $('divMap').getHeight() - fix_height - space.top - space.bottom);

    handle.onDrag = function(x, y) {
        object.style.height = y + 'px';

        if (scrolltrack) scrolltrack.style.height = (y - 48 > 0 ? y - 48 : 0) + 'px';
        if (onResize && typeof (onResize) == 'function') onResize(x, y, object.up('.mbox'));
    };

    handle.onDragEnd = function(x, y) {
        if (onResizeEnd && typeof (onResizeEnd) == 'function') onResizeEnd();
        /*
        scrollThis(scrollbar, object.down());

        //neu nho wa thi hide scrollbar di
        if (y > 80) {
        if (!scrollbar.hasClassName('Scrollbar-Disabled')) {
        scrollbar.show();
        object.down().style.paddingRight = '32px';
        }
        }
        else {
        scrollbar.hide();
        object.down().setStyle({ 'top': '0', 'paddingRight': '0' });
        }
        */
    };
};
/*
Add by Quang 
23/02/2010
Move object khi keo handle
Tham so:
- handle: element dung de nam keo
- object: element se di chuyen khi nam va keo handle
- track: element cha cua object, gioi han object chi duoc di chuyen trong element nay
- onDragEnd: ham nay se duoc goi khi di chuyen xong
*/
function dragThis(handle, object, track, onDragEnd) {

    var space = { top: 17, right: 16, bottom: 10, left: 9 };
    var zone = track.getDimensions();
    var size = object.getDimensions();
    /* $("divAdverBanner").innerHTML = [space.left, zone.width - size.width - space.right, space.top, zone.height - size.height - space.bottom, zone.height];
    $("divAdverBanner").style.color = "white";
    */
    // if (mheight < 380) mheight = 380;
    Drag.init(handle, object, space.left, zone.width - size.width - space.right, space.top, zone.height - size.height - space.bottom);

    if (onDragEnd && typeof (onDragEnd) == 'function') {
        object.onDragEnd = onDragEnd;

    }
};

/*
Add by Quang 
23/02/2010
Resize box tim cong ty, ham duoc goi khi dang resize box tim cong ty
Tham so:
- x: gia tri vi tri x cua handle
- y: gia tri vi tri y cua handle
- box: element mbox
*/
function onResizeResult(x, y, box) {
    /*
    if (y == 0) box.down('#divPaging').hide();
    else {
    box.down('#divPaging').show();
    }
    */
};
/*
Add by Quang 
23/02/2010
Resize end box result, ham duoc goi khi resize xong box tim cong ty
*/
function onResizeEndResult() {
    var box = $('boxCompanyResult');
    var divMap = $('divMap');
    checkPosition(box, divMap, 86);
    dragThis(box.down('.mbox_caption'), box, divMap, onDragEndResult);

    $('divMapIconCate').style.left = '';    //dua divMapIconCate ve vi tri cu        
};
/*
Add by Quang 
23/02/2010
Drag end box result, ham duoc goi khi da di chuyen box tim cong ty den vi tri moi
*/
function onDragEndResult() {
    $('divMapIconCate').style.left = '';    //dua divMapIconCate ve vi tri cu
};

/*
Add by Quang 
23/02/2010
Check vi tri cua object so voi track
Tham so:
- object: element can kiem tra vi tri
- track: element cha cua object, gioi han object chi duoc nam ben trong element nay
- fix_height: khoang chieu cao co dinh khong the thay doi cua mbox
*/
function checkPosition(object, track, fix_height) {
    var space = { top: 17, right: 16, bottom: 10, left: 9 };
    var tSize = track.getDimensions();
    var oSize = object.getDimensions();
    var oPos = object.positionedOffset();

    if (space.top + oSize.height + space.bottom > tSize.height) {
        oSize.height = tSize.height - space.top - space.bottom;
        var new_height = oSize.height - fix_height;
        object.down('.mbox_list_record').style.height = new_height + 'px';

        var handle_resize = object.down('.mbox_resize');
        if (handle_resize) handle_resize.style.top = new_height + 'px';

        var scrollbar = object.down('.Scrollbar-Track');
        if (scrollbar) scrollbar.style.height = (new_height - 48) + 'px';
    }
    if (oPos.top + oSize.height > tSize.height) {
        oPos.top = tSize.height - oSize.height - space.bottom;
        object.style.top = oPos.top + 'px';
    }
    if (oPos.left + oSize.width > tSize.width) {
        oPos.left = tSize.width - oSize.width - space.right;
        object.style.left = oPos.left + 'px';
    }
};
/*
Add by Quang 
23/02/2010
Them chuc nang scroll cho eleScroller
Tham so:
- eleScrollbar: element dung lam scrollbar
- eleScroller: element se di chuyen khi nam keo eleScrollbar
*/
function scrollThis(eleScrollbar, eleScroller) {
    eleScrollbar.show();
    var size = { width: 400, height: 165 };
    var container = eleScroller.up('.mbox_list_record');
    if (container) size = container.getDimensions();
    var scroller = new Scrolling.Scroller(eleScroller, size.width, size.height);
    new Scrolling.Scrollbar(eleScrollbar, scroller, new Scrolling.ScrollTween());
    if (eleScrollbar.visible()) eleScroller.style.paddingRight = '32px';
    else eleScroller.style.paddingRight = '1px';
};
function loadBoxAds() { // new layout 
    /*var mbox_holder = $('mbox_holder');
    if (!mbox_holder) return;
    var html = '<div class="mbox_ads" id="divAdverBanner">' +
    '<a href="javascript:void(0);"><img alt="map box ads" src="Templates/images/new/test/box_search_ad_1.jpg"></a>' +
    '</div>';
    mbox_holder.update(html);*/
};
/*
-function:an di 1 boxInfo
-create:05/01/2010
*/
function hideBox(ele) {
    if (Object.isUndefined(ele) || ele.style.display == 'none') return;
    if (!ele.hasClassName('hide'))
        ele.addClassName('hide');
};
/*
Add by Quang 
11/04/2010
Event click tren Dropdownlist Cities
*/
function onChangeCities(id, value) {
    var selectedValue = value;
    var url = window.location.href;
    if (url.indexOf(strState) != -1) {
        url = url.replace(strState, value);
    }
    else {
        if (url.indexOf('?') != -1)
            url = url + '&st=' + value;
        else
            url = url + '?st=' + value;
    }
    window.location.href = url;
};
//Quang 14/06
//Hien thi box SMS
//type: 1,2 => box sms, 3,4 => box ket qua
function showBoxSMS(type) {
    var tbox = $('tbox');
    tbox.name = type;
    var arr = tbox.childElements();
    var lang = lang4TabMS()[isLang];

    //load tbox_header
    if (type == 1 || type == 2) {
        arr[0].innerHTML = '<h3>' + lang[0] + '</h3>';
    }
    else {
        var langTab = langResult()[isLang];
        arr[0].innerHTML =
            '<div class="tab">' +
                '<a id="listResultAddress"' + (type == 3 ? ' class="active"' : '') + ' href="javascript:void(0);">' + langTab[0] + '</a>' +
                '<span>Separator</span>' +
                '<a id="listResultCompany"' + (type == 4 ? ' class="active"' : '') + ' href="javascript:void(0);">' + langTab[1] + '</a>' +
            '</div>';
    }

    //load tbox_body
    var html_tbox_info = '<div id="tbox_info" class="tbox_info">';
    var html_cont = '';
    if (type == 1) {
        html_tbox_info += '<span class="result_info">' + lang[1] + '</span>';
        html_cont +=
            '<div class="tbox_detail">' +
                '<div class="tbox_search">' +
    	            '<div class="textbox txt_search_A">' +
                        '<div class="txt_tl"></div><div class="txt_tc"></div><div class="txt_tr"></div>	' +
                        '<div class="txt_cl"><div class="txt_cr"><div class="txt_inner">' +
						    '<div class="icon"></div><input id="txtSMSA" type="text"/><div id="recentSMSA" class="recent"></div></div></div></div>' +
                        '<div class="txt_bl"></div><div class="txt_bc"></div><div class="txt_br"></div></div>' +
                    '<div class="button_reverse_container"><a id="reverseSMS" href="javascript:void(0);" class="button_reverse">Reverse</a></div>' +
                    '<div class="textbox txt_search_B">' +
                        '<div class="txt_tl"></div><div class="txt_tc"></div><div class="txt_tr"></div>' +
                        '<div class="txt_cl"><div class="txt_cr"><div class="txt_inner">' +
						    '<div class="icon"></div><input id="txtSMSB" type="text"/><div id="recentSMSB" class="recent"></div></div></div></div>' +
                        '<div class="txt_bl"></div><div class="txt_bc"></div><div class="txt_br"></div></div>' +
                    '<div class="button button_small button_search"><a id="searchSMS" href="javascript:void(0);"><span class="icon no_select">Search</span></a></div></div>' +
			    '<div class="tbox_bg"></div>';
    }
    else if (type == 2) {
        var len = strSMSDirec.length;
        var price, number;
        if (len < 160) {
            price = '2000';
            number = '8208';
        }
        else if (len > 160 && len <= 480) {
            price = '3000';
            number = '8308';
        }
        else {
            price = '4000';
            number = '8408';
        }

        html_tbox_info += '<span class="result_info strong">' + lang[2] + '</span>' +
                          '<span class="result_info" style="float:right; margin-right:13px">(<em id="spanCharMS">' + (len + '/' + Math.ceil(len / 160)) + '</em> ' + lang[3] + ') = <em id="spanPriceMS" style="font-weight:400">' + price + '</em> VND</span>';
        html_cont +=
            '<div class="tbox_detail">' +
                '<div class="textbox focus">' +
				    '<div class="txt_tl"></div><div class="txt_tc"></div><div class="txt_tr"></div>' +
				    '<div class="txt_cl"><div class="txt_cr"><div class="txt_inner"><div class="textarea_inner">' +
					    '<textarea disabled="disabled" id="textContent" rows="3" cols="10"></textarea>' +
				    '</div></div></div></div>' +
				    '<div class="txt_bl"></div><div class="txt_bc"></div><div class="txt_br"></div></div>' +

			    '<div class="checkbox"><input id="checkEdit" name="chk_edit" type="checkbox" />' +
				    '<label id="checkboxSMS" class="checkbox_label"><span></span>' + lang[5] + '</label></div>' +

				'<span id="smsError" class="smsError hide"></span>' +

			    '<div class="button"><a id="aSaveMS" href="javascript:void(0);"><span class="no_select">' + lang[6] + '</span></a></div>' +
			    '<div class="sms_guide">' +
				    '<p>. ' + lang[7] + ':<strong><em id="key1">LAC ' + strSMSKey + '</em>' + lang[8] + '<em id="key2">' + number + '</em></strong></p>' +
				    '<p>. ' + lang[9] + ':<strong><em id="key3">LAC ' + strSMSKey + ' 09xxx</em>' + lang[8] + '<em id="key4">' + number + '</em></strong></p></div>';
    }
    else {
        html_tbox_info += '<span class="result_info">' + lang[4] + ': <strong>' + (typeof (objSearch.vlue) != 'undefined' ? objSearch.vlue : utils.toProperCase(strType == 'A' ? objSearch.pA.stName : objSearch.pB.stName)) + '</strong></span>';
        html_cont += '<div id="tbox_cont" class="tbox_cont">' + (type == 3 ? loadListAddressSMS(objSearch.dsA, strType) : loadListCompanySMS(objSearch.dsCom, strType)) + '</div>';
    }
    html_tbox_info += '</div>';
    arr[1].innerHTML = html_tbox_info + html_cont;

    //tbox_footer
    $('tbox_footer').innerHTML = lang[10] + ' <strong>(848) 3744.6616</strong> - <strong>info@diadiem.com</strong>';

    if (type != 2) tbox.removeClassName('tbox_sms');
    else tbox.addClassName('tbox_sms');
    copyPosition(true, null, tbox, 0, 0);
    tbox.removeClassName('hide');
    $('divShadow').show();

    isSearchSMS = true;
    if ($("box") != null && $("box").hasClassName('hide') == false)
        $("box").addClassName('hide');
    //gan event
    tbox.stopObserving();
    switch (type) {
        case 1:
            tbox.observe('click', searchSMSClick);

            var autoText = new AutoComplete();
            var arrTxt = tbox.select('input[type=text]');
            var _attTmp = arrTxt[0].cumulativeOffset();
            autoText.addTextBox(arrTxt[0], "Suggestion.aspx", 1, ',', [-1, _attTmp[0] - 5, _attTmp[1] + 20, 218, -1], { ext: 0 }, searchSMS);
            autoText.addTextBox(arrTxt[1], "Suggestion.aspx", 1, ',', [-1, _attTmp[0] - 5, _attTmp[1] + 20, 218, -1], { ext: 0 }, searchSMS);
            [$('ulBox_txtSMSA'), $('ulBox_txtSMSB')].each(function(obj) { obj.style.zIndex = '2011' });

            try { arrTxt[0].focus(); } catch (ex) { }
            break;
        case 2:
            tbox.down('#textContent').value = strSMSDirec;
            tbox.observe('click', resultSMSClick);
            $('textContent').onkeyup = countCharSMS;
            break;
        case 3:
            tbox.observe('click', resultAddressSMSClick);
            //   var listAddSMS = $('listAddSMS');
            //   if (listAddSMS) scrollThisNew($('scrollListAddSMS'), listAddSMS);
            break;
        case 4: tbox.observe('click', resultCompanySMSClick);
            //   var listCompSMS = $('listCompSMS');
            //    if (listCompSMS) scrollThisNew($('scrollListCompSMS'), listCompSMS);
            break;
    }
};

//click tren box sms, khung tim kiem
function searchSMSClick(e) {
    var ele = Event.element(e);
    if (ele.id == "") ele = ele.up();

    switch (ele.id) {
        case "close_tbox":
            closeTBox(ele);
            break;
        case "searchSMS":
            searchSMS(ele, 1);
            break;
        case "reverseSMS":
            textReverseNew();
            break;
        case "recentSMSA":
            //alert("recentSMSA");
            showRecentBox(e);
            $('divRecentBox').setStyle({
                'zIndex': '2011',
                'margin': '3px 0 0 8px'
            });
            break;
        case "recentSMSB":
            //alert("recentSMSB");
            showRecentBox(e);
            $('divRecentBox').setStyle({
                'zIndex': '2011',
                'margin': '3px 0 0 8px'
            });
            break;
    }
};

//click tren box sms, khung ket qua
function resultSMSClick(e) {
    var ele = Event.element(e);
    if (ele.id == "") ele = ele.up();

    switch (ele.id) {
        case "close_tbox":
            closeTBox(ele);
            break;
        case "aSaveMS":
            if (!$('checkEdit').checked) return;
            $('smsError')._show().innerHTML = lang4TabMS()[isLang][11];
            sendSMSClick(e);
            break;
        case "checkboxSMS":
            var chk = ele.up('.checkbox');
            if (chk.hasClassName('checked')) {
                chk.removeClassName('checked');
                $('checkEdit').checked = false;
                $('textContent').disabled = 'disabled';
            }
            else {
                chk.addClassName('checked');
                $('checkEdit').checked = true;
                $('textContent').disabled = '';
                $('smsError')._hide();
            }
            break;
    }
};

//click tren box sms, ket qua tim Dia chi
function resultAddressSMSClick(e) {
    var ele = Event.element(e);
    if (ele.tagName != 'A') return;

    switch (ele.id) {
        case "close_tbox":
            closeTBox(ele);
            break;
        case "listResultAddress": case "listResultCompany":
            tboxTabClick(ele);
            break;
        case "":
            if (ele.className == "mbox_point") {
                var li = ele.up('li');
                if (li.className == 'liLSOn') {
                    li.className = 'liLSOff';
                }
                else {
                    var active = li.up('ul').down('.liLSOn');
                    if (active) active.className = 'liLSOff';
                    li.className = 'liLSOn';
                }
            }
            else if (ele.className == "aLSDist") {
                var li = ele.up('li');
                if (li.className == 'liLSDistOn') {
                    li.className = 'liLSDistOff';
                }
                else {
                    var active = li.up('ul').down('.liLSDistOn');
                    if (active) active.className = 'liLSDistOff';
                    li.className = 'liLSDistOn';

                    //neu Quan chi co 1 Phuong thi tim luon
                    var arrLI = ele.up('li').down('ul').childElements();
                    if (arrLI.length == 1)
                        divListStreetClick(arrLI[0].down('a'));
                }
            }
            //    var listAddSMS = $('listAddSMS');
            //   if (listAddSMS) scrollThisNew($('scrollListAddSMS'), listAddSMS);
            break;
        default:
            if (ele.className == 'aLSWard' || ele.className == 'aLSDist') {
                //alert(ele.innerHTML)
                divListStreetClick(e);
            }
            break;
    }
};

//click tren box sms, ket qua tim Cong ty
function resultCompanySMSClick(e) {
    var ele = Event.element(e);
    if (ele.tagName == 'B') ele = ele.up();
    if (ele.tagName != 'A') return;

    switch (ele.id) {
        case "close_tbox":
            closeTBox(ele);
            break;
        case "listResultAddress": case "listResultCompany":
            tboxTabClick(ele);
            break;
        default:
            if (ele.className == 'mbox_point') {
                //alert(ele.innerHTML)
                divListStreetClick(e);
            }
            break;
    }
};

//click doi tab
function tboxTabClick(ele) {
    if (ele.tagName != 'A' || ele.className == 'active') return;

    if (ele.id == "listResultAddress") {
        //Dia chi
        ele.next('a').className = '';
        $('tbox_cont').innerHTML = loadListAddressSMS(objSearch.dsA, strType);

        //    var listAddSMS = $('listAddSMS');
        //    if (listAddSMS) scrollThisNew($('scrollListAddSMS'), listAddSMS);

        ele.up('.tbox').stopObserving().observe('click', resultAddressSMSClick);
    }
    else {
        //Cong ty
        ele.previous('a').className = '';
        $('tbox_cont').innerHTML = loadListCompanySMS(objSearch.dsCom, strType);

        //    var listCompSMS = $('listCompSMS');
        //   if (listCompSMS) scrollThisNew($('scrollListCompSMS'), listCompSMS);

        ele.up('.tbox').stopObserving().observe('click', resultCompanySMSClick);
    }
    ele.className = 'active';
};

//hide tbox
function closeTBox(ele) {
    ele.up('#tbox')._hide();
    $('divShadow').hide();
    $('divErrorInfo').hide().style.zIndex = '';

    $('divRecentBox').setStyle({
        'zIndex': '',
        'margin': ''
    });

    isSearchSMS = false;
};

//load danh sach Dia chi
function loadListAddressSMS(result, stype) {
    if (typeof (result) == 'undefined') return '';

    var html = '';
    html += '<ul id="listAddSMS" class="ulLS">';

    var no = result.no;
    if (no == undefined || no == "") no = "0";
    var strDist = null, strWard = null;
    var _lang = lang4TabDirection()[isLang];
    var strSF = (isWard == -1 ? _lang[0] : (isCity == 'TP' ? _lang[2] : _lang[3]));

    if (isWard == -1 || isWard == 0) {
        for (var i = 0, len = result.length; i < len; i++) {
            var stName = result[i].stName;
            html += '<li class="' + (i != 0 ? 'liLSOff' : 'liLSOn') + '">' +
                '<div class="trans_green"><a class="mbox_point" href="javascript:void(0);">' + utils.toProperCase(stName) + '</a></div>' +
                '<ul class="ulLSDist">';
            var dsD = result[i].dsD;
            for (var j = 0, lenD = dsD.length; j < lenD; j++) {
                strDist = utils.toProperCase(dsD[j].dName);
                strDist = (isLang == 0 ? (strSF + ' ' + strDist) : (!isNaN(strDist) ? (strSF + ' ' + strDist) : (strDist + ' ' + strSF)));
                html += '<li class="liLSDist' + ((i == 0 && j == 0) ? 'On' : 'Off') + '">' +
                        '<div class="trans_black"><a href="javascript:void(0);" class="aLSDist">' + strDist + '</a></div>' +
                        '<ul class="ulLSWard">';
                var dsW = dsD[j].dsW;
                for (var k = 0, lenW = dsW.length; k < lenW; k++) {
                    strWard = utils.toProperCase(dsW[k].wName);
                    strWard = (isLang == 0 ? (_lang[1] + ' ' + strWard) : (!isNaN(strWard) ? (_lang[1] + ' ' + strWard) : (strWard + ' ' + _lang[1])));
                    var strName = no + '_' + stName + '_' + dsW[k].wName + '_' + dsD[j].dName;
                    var idWard = escape(no + '_' + stName + '_' + dsW[k].wName + '_' + dsD[j].dName + '_' + dsW[k].wID + '_' + dsD[j].dID) + '_' + dsW[k].wX + '_' + dsW[k].wY + ';' + stype;
                    html += '<li class="trans_silver"><a id="' + idWard + '" name="' + strName + '" href="javascript:void(0);" class="aLSWard">' + strWard + '</a></li>';
                }
                html += '</ul></li>';
            }
            html += '</ul></li>';
        }
    }
    else {
        for (var i = 0, len = result.length; i < len; i++) {
            var stName = result[i].stName;
            html += '<li class="' + (i != 0 ? 'liLSOff' : 'liLSOn') + '">' +
                    '<div class="trans_green"><a class="mbox_point" href="javascript:void(0);">' + utils.toProperCase(stName) + '</a></div>' +
                    '<ul class="ulLSDist">';
            var dsD = result[i].dsD;
            for (var j = 0; j < dsD.length; j++) {
                strDist = utils.toProperCase(dsD[j].dName);
                strDist = (isLang == 0 ? (_lang[0] + ' ' + strDist) : (!isNaN(strDist) ? (_lang[0] + ' ' + strDist) : (strDist + ' ' + _lang[0])));
                var dsW = dsD[j].dsW;
                var aID = escape(no + '_' + stName + '_' + dsW[0].wName + '_' + dsD[j].dName + '_' + dsW[0].wID + '_' + dsD[j].dID + '_' + dsW[0].wX + '_' + dsW[0].wY + '_0;' + stype);
                var strName = no + '_' + stName + '_' + dsW[0].wName + '_' + dsD[j].dName;
                html += '<li class="liLSDistOff">' +
                            '<div class="trans_black"><a id="' + aID + '" name="' + strName + '" style="background-image:none" href="javascript:void(0);" class="aLSWard">' + strDist + '</a></div></li>';
                //'<div class="trans_black"><a id="' + aID + '" name="' + strName + '" style="background-image:none" href="javascript:void(0);" class="aLSDist">' + strDist + '</a></div></li>';
            }
            html += '</ul></li>';
        }
    }
    html += '</ul>';

    //scrollbar
    /*html +=
    '<div id="scrollListAddSMS" class="select_scrollbar hide">' +
    '<div class="Scrollbar-Up"></div>' +
    '<div class="Scrollbar-Down"></div>' +
    '<div class="Scrollbar-Track">' +
    '<div class="Scrollbar-Handle"></div></div></div>';
    */

    return html;
};

//load danh sach Cong ty
function loadListCompanySMS(result, stype) {
    if (typeof (result) == 'undefined') return '';

    var html = '', strCom = null, strComName = null, strCompID = null, strCompAdd = null;
    html += '<ul id="listCompSMS" class="ulLSComp">';
    for (var i = 0, len = result.length; i < len; i++) {
        strCom = result[i];
        strComName = (isLang == 0) ? strCom.vNn : strCom.eNn;
        while (strComName.indexOf('^^^') != -1) strComName = strComName.replace("^^^", "\'");
        //truong hop cat mat tag </B>, khoi fuc lai
        if (strComName.indexOf('<b>') != -1) {
            if (strComName.indexOf('</b>') == -1) {
                if (strComName.indexOf('</b') != -1) strComName = strComName.replace('</b', '</b>');
                else if (strComName.indexOf('</') != -1) strComName = strComName.replace('</', '</b>');
                else {
                    strComName = strComName.replace('<b>', '^^^');
                    if (strComName.indexOf('<') != -1) strComName = strComName.replace('<', '</b>');
                    else {
                        strComName += '</b>';
                        strComName = strComName.replace('...', '') + '...';
                    }
                    strComName = strComName.replace('^^^', '<b>');
                }
            }
        }
        //chuyen b thanh strong
        //strComName.gsub('<b>', '<strong>').gsub('</b>', '</strong>');
        strCompAdd = (isLang == 0) ? strCom.vAd : strCom.eAd;
        strCompID = "aLSComp_" + strCom.latlon + '_' + stype + '_' + strCom.cID;

        html += '<div class="' + (i % 2 == 0 ? 'trans_black' : 'trans_silver') + '"><a id="' + strCompID + '" title="' + strCompAdd + '" class="mbox_point" href="javascript:void(0);">' + strComName + '</a></div>';
    }
    html += '</ul>';

    //scrollbar
    /*   html +=
    '<div id="scrollListCompSMS" class="select_scrollbar hide">' +
    '<div class="Scrollbar-Up"></div>' +
    '<div class="Scrollbar-Down"></div>' +
    '<div class="Scrollbar-Track">' +
    '<div class="Scrollbar-Handle"></div></div></div>'; */

    return html;
};

//dem so ky tu sms
function countCharSMS(e) {
    var len = Event.element(e).value.length;
    var price, number;
    if (len < 160) {
        price = '2000';
        number = '8208';
    }
    else if (len > 160 && len <= 480) {
        price = '3000';
        number = '8308';
    }
    else {
        price = '4000';
        number = '8408';
    }

    $('spanCharMS').innerHTML = (len + '/' + Math.ceil(len / 160));
    $('spanPriceMS').innerHTML = price;

    $('key2').innerHTML = number;
    $('key4').innerHTML = number;
};

//them function _show va _hide vao Prototype
var MyUtils = {
    _show: function(element) {
        return element.removeClassName('hide');
    },
    _hide: function(element) {
        return element.addClassName('hide');
    }
};
Element.addMethods(MyUtils);

//tim duong cho box sms
function searchSMS(ele, type) {
    if (typeof (ele.tagName) == 'undefined')
        ele = Event.element(ele);

    var arrTxt = ele.up('.tbox_search').select('input[type=text]');
    var textA = arrTxt[0].value.strip(), textB;
    if (textA == '') {
        if (type == 1) {
            loadErrorInfo(arrTxt[0]);
            $('divErrorInfo').style.zIndex = '2011';
        }
        try {
            $('ulBox_txtSMSB').hide();
            arrTxt[0].focus();
        } catch (e) { }
        return;
    }
    textB = arrTxt[1].value.strip();
    if (textB == '') {
        if (type == 1) {
            loadErrorInfo(arrTxt[1]);
            $('divErrorInfo').style.zIndex = '2011';
        }
        try {
            $('ulBox_txtSMSA').hide();
            arrTxt[1].focus();
        } catch (e) { }
        return;
    }

    $('divIcon').show();
    [$('divErrorInfo'), $('ulBox_txtSMSA'), $('ulBox_txtSMSB')].invoke('hide');

    onChangeTab($('aTabDirection'));
    var txtSearchA = $('txtSearchA');
    var txtSearchB = $('txtSearchB');
    txtSearchA.value = textA;
    txtSearchB.value = textB;

    if (typeof (txtSearchA.pxy) == 'undefined') txtSearchA.pxy = -1;
    if (typeof (txtSearchB.pxy) == 'undefined') txtSearchB.pxy = -1;

    clickBoxSearch();
};

//load scrollbar
function scrollThisNew(eleScrollbar, eleScroller) {
    eleScrollbar.show();
    var size = { width: 400, height: 165 };
    var container = eleScroller.up();
    if (container) size = container.getDimensions();
    var scroller = new Scrolling.Scroller(eleScroller, size.width, size.height);
    new Scrolling.Scrollbar(eleScrollbar, scroller, new Scrolling.ScrollTween());
    //    if (eleScrollbar.visible()) eleScroller.style.paddingRight = '32px';
    //    else eleScroller.style.paddingRight = '1px';
};

//Dao chieu duong di
function textReverseNew() {
    var txtSMSA = $('txtSMSA');
    var txtSMSB = $('txtSMSB');
    var textSMSA = txtSMSA.value;
    var textSMSB = txtSMSB.value;
    txtSMSA.value = textSMSB;
    txtSMSB.value = textSMSA;
};

//Sua sms response
function SendSMS(code) {
    $('smsError')._show().innerHTML = lang4TabMS()[isLang][code == 1 ? 12 : 13];

    if (code == 1) {
        $('checkboxSMS').up().removeClassName('checked');
        $('textContent').disabled = 'disabled';
    }
};
//event focus cho textbox tim diadiem, tim duong di, tim danh ba
function onFocusFbox(e) {
    var ele = Event.element(e);
    if (ele.type == 'text') {
        try { ele.next().hide(); } catch (ex) { };
        var fbox = $(ele.id).up('.fbox');
        fbox.addClassName('focus');
        var nofbox = null;
        if (ele.id == "txtSearchA")
            nofbox = $("txtSearchB");
        else if (ele.id == "txtSearchB")
            nofbox = $("txtSearchA");
        else if (ele.id == "txtSearchNearBy")
            nofbox = $("txtSearchYP");
        else if (ele.id == "txtSearchYP")
            nofbox = $("txtSearchNearBy");
        if (nofbox) nofbox.up('.fbox').removeClassName('focus');
    }
};
//hien thi pop Khac
function showOtherPopup() {
    var boxOther = $('boxOther');
    boxOther.show();
    var lang = lang4TabOther()[isLang];
    var html = '';
    html += '<ul class="ulboxOther">' +
                '<li><div class="bg_boxOther transparent_9"></div><a href="Advertisement/contact.aspx">' + lang[0] + '</a></li>' +
                '<li><div class="bg_boxOther transparent_6"></div><a href="Advertisement/Webs.aspx">' + lang[1] + '</a></li>' +
                '<li><div class="bg_boxOther transparent_9"></div><a href="Advertisement/Recruitment.aspx">' + lang[2] + '</a></li>' +
                '<li><div class="bg_boxOther transparent_6"></div><a href="Mobiles/index.aspx">' + lang[3] + '</a></li></ul>';
    '</ul>';
    boxOther.update(html);
};
function docClick(e) {
    try {
        var ele = utils.getElementFireEvent(e);
        var divTmp = $('boxOther');
        if (divTmp.style.display == 'block') {
            if (ele.className != 'func_other')
                divTmp.style.display = 'none';
            else
                divTmp.style.display = 'block';
        }
    } catch (ex) { }
};
//event blur cho textbox tim dia diem, tim duong di, tim danh ba
function onBlurFbox(e) {
    var ele = Event.element(e);
    ele.up('.fbox').removeClassName('focus');
    if (ele.value != "")
        ele.next().hide();
    else
        ele.next().show();
};
//function: show quang cao cua map
function showAdvertMap() {
    clearTimeout(loop);
    if ($('divBoxAdv').style.display == "block") {
        Effect.SlideUp($('divBoxAdv'), { duration: 2.0 });
    }
    else {
        Effect.SlideDown($('divBoxAdv'), { duration: 2.0 });
    }
    loop = setTimeout('showAdvertMap()', 15000);
};
//function: su kien click move minimize advert
function moveSlides() {
    Effect.SlideUp($('divBoxAdv'), { duration: 2.0 });
    clearTimeout(loop);
    // loop = setTimeout('showAdvertMap()', 15000);
};
//function: su kien xoa text trong textbox tim diem, tim duong di, tim cong ty
function clearTextBoxSearch(e) {
    var ele = Event.element(e);
    ele.previous('input').value = "";
    ele.previous('label').show();
};
function reverseStreet() {
    var addA = $("txtSearchA").value;
    var pxyA = $("txtSearchA").pxy;
    var addB = $("txtSearchB").value;
    var pxyB = $("txtSearchB").pxy;
    $("txtSearchA").value = addB;
    $("txtSearchA").pxy = pxyB;
    $("txtSearchB").value = addA;
    $("txtSearchB").pxy = pxyA;
    if (pxyA != "-1" && pxyB != "-1") {
        clickBoxSearch();
    }
};
function muaChungPopup() {
    try {
        var wpopup = 600; hpopup = 600;
        var mywindow = window.open("http://www.nhommua.com", "nhommua", "width=" + wpopup + ",height=" + hpopup + "status=1,toolbar=1,scrollbars=1", "");
        var sizeWindow = utils.windowSize();
        mywindow.moveTo(sizeWindow[0] / 2 - wpopup / 2, sizeWindow[1] / 2 - hpopup / 2);
        window.focus();
    } catch (ex) { };
};

/*
- function: show danh sach cong ty quang cao
*/
function showListCompanyAdv(str) {

    objCompAdv = str;
    if (objCompAdv != "" && objCompAdv.isAdv != undefined && objCompAdv.isAdv == "False") {
        var tabActive = $("mbox_tab").down('.active').down('a');
        if (inSearch == 0 && typeof (tabActive) == "object" && tabActive.id == 'aTabMaps') {//tim lai binh thuong sau khi check quang cao
            chkAdv = false;
            clickBoxSearch();
        }
        else {//chuyen trang ko quang cao
            if (paramCom != null) paramCom.pAdv = 0;
            var rsURL = "searchResult.aspx?st=" + strState;
            var sps = strState.substr(strState.length / 2);
            var pagename = window.location.pathname.toLowerCase();
            var aspx = pagename.indexOf(".aspx");
            rsURL += "&s=" + utils.encode(escape($("txtSearchNearBy").value), sps) + "&nb=" + utils.encode(escape($("txtSearchYP").value), sps);
            setTimeout(function() {
                window.location.href = rsURL;
            }, 0);
        }

    }
    else {
        if (paramCom != null) paramCom.pAdv = 1;
        var box = $('boxCompanyResult');
        var _lang = lang4SearchTitle()[isLang];
        try {
            showShadow4Search(false);
        } catch (ex) { }
        if (str == "-1") {
            box.down("#divLSTitle").update();
            box.down('#divLSCenter').update();
            removeICon(); oCom = null;
            mapNote(_lang[1]);
            return;
        }
        var strTitle = "";
        var strContent = "";

        try { oCom = str.evalJSON(true); } catch (ex) { oCom = str; }
        try {
            if (typeof (paramCom.K) != "undefined")
                $("txtSearchNearBy").value = ((paramCom.stpe == 1 && paramCom.fE == 1) ? (unescape(utils.decode(paramCom.K, strState.substr(strState.length / 2)))) : paramCom.K);
            else
                $("txtSearchNearBy").value = "";
        } catch (e) { }
        strTitle = '<p class="mbox_search_what">' + lang4FullMap()[isLang][0] + '<span  class="hightlight">' + substr((paramCom.stpe == 17 ? (unescape(utils.decode(paramCom.sn, strState.substr(strState.length / 2)))) : (paramCom.K == undefined) ? "" : ((paramCom.stpe == 1 && paramCom.fE == 1) ? (unescape(utils.decode(paramCom.K, strState.substr(strState.length / 2)))) : paramCom.K)), 24) + ' </span></p>';

        if (oCom.dsCompany.length > 0) {
            for (var j = 0; j < oCom.dsCompany.length; j++) {
                strContent += companyToHTML(Comp4Lang(j, 0), j);
            }
            var iCountR = parseInt(oCom.cp) * parseInt(oCom.cr);
            strTitle += '<p class="mbox_result_from">' + lang4FullMap()[isLang][1] + '<strong>' + lang4FullMap()[isLang][2] + ((iCountR - (parseInt(oCom.cr) - 1)) + '- ' + (iCountR > parseInt(oCom.tr) ? parseInt(oCom.tr) : iCountR)) + ' </strong> ' + lang4FullMap()[isLang][3] + ' <strong> ' + oCom.tr + ' </strong></p>';
        } else {
            strTitle += '<p class="mbox_result_from">' + lang4FullMap()[isLang][1] + '<strong>' + langResFind()[isLang][7] + '</strong></p>';
        }

        box.down("#divLSTitle").innerHTML = strTitle;
        var divLSCenter = box.down('#divLSCenter');
        var divMap = $('divMap');

        divLSCenter.update(strContent);

        box.removeClassName('hide');
        if (box.style.display == "none") box.style.display = "block";
        box.select('.aTTToHere').invoke('observe', 'click', findWay);
        if (oCom.tp == 1) {
            $('divPaging').style.display = 'none';
        }
        else showPage($('divPaging'), oCom, 'oClickPageCompAdvFull');
        $('divCompanyPaging').show();
        // dieu chinh map
        repaintAdvCateIconMap();
        if (map.maker && inSearch == 1) {// truong hop tim duong di k co map.maker
            map.maker.style.display = "none";
            map.makerI.style.display = "none";
        }
        var divSMS = $('divSMS');
        if (divSMS && divSMS.visible()) divSMS.hide();
        showPopUp();
        resizeThis(box.down('.mbox_resize'), box.down('.mbox_list_record'), 86, onResizeResult, onResizeEndResult);
        dragThis(box.down('.mbox_caption'), box, divMap, onDragEndResult);
        // hide box tim kiem
        if ($("boxMapSearch").className.indexOf('hide') == -1) {
            $("restore_tab").up().removeClassName('hide');
            $("boxMapSearch").addClassName('hide');
        }
        if ($("boxCompanyResult")) {
            $('boxCompanyResult').stopObserving();
            $('boxCompanyResult').observe('click', resultAdvClick); // -su kien click vao cong ty quang cao
        }
    }
}
/*
- function: ve lai cac icon khi zoom
*/
function repaintAdvCateIconMap() {
    removeICon();
    if (oCom != null) {
        if (!map.layerPopup.empty())
            map.layerPopup.firstDescendant().remove();
        if (!map.shadowLayer.empty())
            map.shadowLayer.firstDescendant().remove();
        showAdvIconOnMap(oCom.dsCompany, "AdvDComMap", 1);
    }
};
/*
- function: show icon on map
*/
function showAdvIconOnMap(ds, name, type) {
    urlIcons = "http://pcw005/images/";
    var arrChar = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
    var arrCssIcon = ['iconVip', 'iconComp', 'iconComp'];
    var sps = strState.substr(strState.length / 2);
    if (ds.length != 0) {
        for (j = 0; j < ds.length; j++) {
            var xy = ds[j].XY.split("_");
            if (ds[j].MDV == undefined) { ds[j].MDV = (ds[j].NnDv != "") ? ds[j].NnDv.split(';')[0].split('^^')[1].split('#')[0].split('_')[0] : ds[j].NnDv; };
            var cateID = (ds[j].NnDv != "") ? ds[j].NnDv.split(";")[0].split("^^")[0].split("_")[0] : 0;
            var icid = name + "_" + utils.encode(ds[j].MCty + '_' + ds[j].MDV + '_' + ds[j].X + '_' + ds[j].Y + "_" + ds[j].XY, sps);
            var text = (type == 0) ? "vip" : (type == 1) ? (j + 1) : arrChar[j];
            var imheight = (map.type == 3) ? xy[1] / 2 : xy[1];
            var compoint = new mapPoint(xy[0] * map.currentZoom / 100 - map.iMetaWidth, imheight * map.currentZoom / 100 - map.iMetaHeigh);
            var logoAdv = (ds[j].LDisplay.indexOf(httpImages) != -1) ? ds[j].LDisplay : httpImages + "Images_" + strState + "/" + ds[j].LDisplay;
            var comicon = mapMaker(map.layerMaker.id, compoint, setMapIConAdv(urlIcons + 'common/icons/points/icon_popup_map.png', 84, 62, "Icon" + icid, logoAdv), false, [0, 0]);
            var ele = $("Icon" + icid);
            ele.name = cateID;

            ele.down('a').href = "details.aspx?st=" + strState + "&cID=" + utils.encode(ds[j].MCty, sps) + "&ll=" + utils.encode(ds[j].X + ";" + ds[j].Y, sps) + "&l=" + isLang;
            ele.down('a').target = "_blank";
            ele.observe('mouseover', resultAdvHover);
            // ele.observe('click', iconClick);
            if (j == 0) {
                createAdvInfoBoxExt(ele);
                resetAdvIconState();
                activeAdvIconState(ele);
            }
        }
    }
};
/*
- function :reset lai status Icon
*/
function resetAdvIconState() {
    //dua icon dang duoc chon ve binh thuong
    var activeIcon = map.layerMaker.select('DIV').detect(function(ele) {
        return ele.style.zIndex == "1";
    });
    if (activeIcon) {
        activeIcon.style.zIndex = '';
    }
};
/*    
- function:doi mau icon khi duoc focus
- create: 10/12
*/
function activeAdvIconState(icon) {
    if (icon) {
        icon.style.zIndex = 1;
    }
};
/*    
- function: su kien click len popup 
*/
function tooltipAdvFullClick(e) {
    try {
        var ele = (e.tagName == 'A') ? e : Event.element(e);
    } catch (ex) {
        var ele = Event.element(e);
    }
    if (ele.className == 'sToolTipBack') ele = ele.up();
    if (ele.tagName == 'INPUT') {
        (navigator.appName.indexOf('Opera') != -1) ? ele.focus() : ele.select();
        ele.observe('keydown', enterSearchNearPointAdv);
    }
    else {
        var txt = $('divToolTip').down('.tooltip_search').down('input');
        if (txt && txt.visible()) {
            txt.blur();
            txt.observe('keydown', enterSearchNearPointAdv);
        }
    }
    if (ele.tagName == 'A' && ele.up('div').className == 'tooltip_search') { //tim xung quanh
        var txt = ele.previous();
        if (txt.value != '') {
            try {
                showShadow4Search(true);
            } catch (ex) { }
            var xy = ((inSearch == 0) ? map.cenPoint : ((map.layerPopup.pos == 0) ? map.ABPoint[0] : map.ABPoint[1]));
            strParamCom = "K=" + txt.value + "&XY=" + xy.x + "_" + xy.y + "&st=" + strState + "&num=" + 6 + "&stpe=" + 16 + "&P=";
            paramCom = (strParamCom + 1).toQueryParams();
            utils.call("Comp.aspx", paramCom, "POST", "showListCompany", "showListCompany");
        }
    }
    if (ele.tagName == "SPAN" && ele.down('a') != null && ele.down('a').className == "aToolTipButton") {//truong hop tim xung quanh ie6 
        ele = ele.down('a');
    } else if (ele.className.indexOf('star') != -1) {
        var ele = utils.getElementFireEvent(e);

        var classStar = ele.className.split('-')[0];
        var arrStar = ['one', 'two', 'three', 'four', 'five'];
        numstar = -1;
        for (var i = 0; i < arrStar.length; i++) {
            if (arrStar[i] == classStar) numstar = i;
        }
        numstar++;
        var infoID = ele.up('UL').id.split('_');
        var MaCty = infoID[1];
        var cateID = infoID[7];
        var oInfoReview = { 'MaCty': MaCty, 'rank': numstar, 'vID': 0, 'cateID': cateID };
        oSendReview.showBoxReview(oInfoReview);
        return;
    }
    var className = ele.className;
    if (className == '') ele = ele.up();
    switch (ele.className) {
        case 'attClose':
            ele = ele.up('.dToolTip');
            closeToolTip(ele);
            break;
        case 'attDetail':
            /*   ele = ele.down();
            if (ele.id != "") {
            var id = ele.id.split('_');
            var pas = strState.substr(strState.length / 2);
            var strid = utils.decode(id[1], pas).split("_");
            var url = "details.aspx?st=" + strState + "&cID=" + utils.encode(strid[0], pas) + "&ll=" + utils.encode(strid[2] + ";" + strid[3], pas) +"&l=" + isLang;
            if (utils.IE7_Firefox() == 6)
            setTimeout(function() { window.location.href = url; }, 0);
            else window.location.href = url;
            }*/
            break;
        case 'attPhone':
            if (!smsEnable)
                showBoxSMS(1);
            else
                showBoxSMS(2);

            var txtSMSA = $('txtSMSA');
            if (txtSMSA) txtSMSA.value = $('txtSearchMaps').value;
            break;
        case 'attSnapshot':
            oSnapShot.captureMap();
            break;
        case 'aTTCompOnStreet': // tim cong ty tren duong nay
            var xy = null;
            try { showShadow4Search(true); } catch (ex) { }
            if (ele.id == "") {// khi click len icon diem tim diem,A or B

                var uadd = (inSearch == 0) ? oAdd : (map.layerPopup.pos == 0) ? oAddA : oAddB;
                xy = ((inSearch == 0) ? map.cenPoint : ((map.layerPopup.pos == 0) ? map.ABPoint[0] : map.ABPoint[1]));
                strParamCom = "sn=" + utils.encode(escape(uadd.stName), strState.substr(strState.length / 2)) + "&st=" + strState + "&num=" + 6 + "&stpe=" + 17 + "&XY=" + xy.x + "_" + xy.y + "&dID=" + ((uadd.dID == undefined || uadd.dID == '') ? 0 : uadd.dID) + "&P=";
            }
            else {//khi click len icon cong ty
                var xy1 = ele.id.split("_");
                xy = utils.decode(xy1[2], strState.substr(strState.length / 2)).split("_");
                strParamCom = "sn=" + utils.encode((xy1[4]), strState.substr(strState.length / 2)) + "&st=" + strState + "&num=" + 6 + "&stpe=" + 17 + "&XY=" + xy[4] + "_" + xy[5] + "&dID=" + xy1[3] + "&P=";
            }
            paramCom = (strParamCom + 1).toQueryParams();
            utils.call("Comp.aspx", paramCom, "POST", "showListCompany", "showListCompany");
            break;
        case 'aToolTipButton': // tim xung quanh
            var txt = ele.up().previous();
            if (txt.value != '') {
                try {
                    showShadow4Search(true);
                } catch (ex) { }
                var xy = ((inSearch == 0) ? map.cenPoint : ((map.layerPopup.pos == 0) ? map.ABPoint[0] : map.ABPoint[1]));
                strParamCom = "K=" + txt.value + "&XY=" + xy.x + "_" + xy.y + "&st=" + strState + "&num=" + 6 + "&stpe=" + 16 + "&P=";
                paramCom = (strParamCom + 1).toQueryParams();
                utils.call("Comp.aspx", paramCom, "POST", "showListCompany", "showListCompany");
            }
            break;
        case 'aTTSearchNearBy':
            ele = ele.up('.liToolTipLinks');
            ele.hide();
            ele.next().show();
            ele.next().down('input').value = "";
            break;
        case 'aTTFromHere':
            fromHereToHere(ele);
            break;
        case 'aTTToHere':
            fromHereToHere(ele);
            break;
        case 'one-star':
            alert('1 Sao');
            break;
        case 'two-stars':
            alert('2 Sao');
            break;
        case 'three-stars':
            alert('3 Sao');
            break;
        case 'four-stars':
            alert('4 Sao');
            break;
        case 'five-stars':
            alert('5 Sao');
            break;
        case 'close':
            ele = ele.up('.liToolTipForm ');
            ele.hide();
            ele.previous().show();
            break;
    }
};
/* 
- funtion: click phan trang
*/
function oClickPageCompAdvFull(e) {
    var ele = e;
    try {
        e = utils.getElementFireEvent(e);
        if (e.id == "") { e = e.parentNode; }
        if (typeof (e.id) == 'undefined') { e = ele; }
    } catch (ex) { e = ele; };
    var ipage = e.id.split('_')[1];
    if (ipage == "Back") { ipage = (((parseInt(oCom.cp) - 1) >= 1) ? (parseInt(oCom.cp) - 1) : 1); }
    else if (ipage == "Next") { ipage = (((parseInt(oCom.cp) + 1) <= oCom.tp) ? (parseInt(oCom.cp) + 1) : oCom.tp); }
    paramCom.P = ipage;
    utils.call("Comp.aspx", paramCom, "POST", "showListCompanyAdv", "showListCompanyAdv");
    showShadow4Search(true);
};

/*
- function: show icon vip map(vincomp)
*/
function showIconVipOnMap(ds, name) {
    var sps = strState.substr(strState.length / 2);
    if (ds.length != 0) {
        for (j = 0; j < ds.length; j++) {
            var xy = ds[j].XY.split("_");
            if (ds[j].MDV == undefined) { ds[j].MDV = (ds[j].NnDv != "") ? ds[j].NnDv.split(';')[0].split('^^')[1].split('#')[0].split('_')[0] : ds[j].NnDv; };
            var cateID = (ds[j].NnDv != "") ? ds[j].NnDv.split(";")[0].split("^^")[0].split("_")[0] : 0;
            var icid = name + "_" + utils.encode(ds[j].MCty + '_' + ds[j].MDV + '_' + ds[j].X + '_' + ds[j].Y + "_" + ds[j].XY, sps);
            var imheight = (map.type == 3) ? xy[1] / 2 : xy[1];
            var compoint = new mapPoint(xy[0] * map.currentZoom / 100 - map.iMetaWidth, imheight * map.currentZoom / 100 - map.iMetaHeigh);
            var logoAdv = (ds[j].LDisplay.indexOf(httpImages) != -1) ? ds[j].LDisplay : httpImages + "Images_" + strState + "/" + ds[j].LDisplay;
            var comicon = mapMaker(map.layerMaker.id, compoint, setMapIConAdv(urlIcons + 'common/icons/points/icon_popup_map.png', 84, 62, "Icon" + icid, logoAdv), false, [0, 0]);
            var ele = $("Icon" + icid);
            ele.name = cateID;
            ele.down('a').href = "details.aspx?st=" + strState + "&cID=" + utils.encode(ds[j].MCty, sps) + "&ll=" + utils.encode(ds[j].X + ";" + ds[j].Y, sps) + "&l=" + isLang;
            ele.down('a').target = "_blank";
        }
    }
};
/*
- function: set lai vi tri icon vip map(icon vincomp)
*/
function setPositionIconVip() {
    var arr = $A(map.layerMaker.childNodes);
    for (var j = 0; j < arr.length; j++) {
        if (arr[j].id.startsWith("IconVipMap")) { // update icon vip tren map
            var strID = utils.decode(arr[j].id.split("_")[1], strState.substr(strState.length / 2)).split("_");
            var id7 = (map.type == 3) ? strID[5] / 2 : strID[5];
            var x = strID[4] * map.currentZoom / 100 - map.iMetaWidth;
            var y = id7 * map.currentZoom / 100 - map.iMetaHeigh;
            arr[j].style.left = parseInt(x - arr[j].getWidth() / 2) + "px";
            arr[j].style.top = parseInt(y - arr[j].getHeight() / 2) + "px";
        }
    }
};


