/* ===================================================================================================

                                        일반 기능실행 함수 

=====================================================================================================*/
// 리스트 마우스 on
function selectboxMouseOver( obj ) {
    var cObj = obj.parentNode.getElementsByTagName("LI");
    for ( var i=cObj.length-1; i>=0; i-- ) {
        if (cObj[i].className.indexOf("mOver") != -1) cObj[i].className = cObj[i].className.replace(" mOver"," mOut").replace("mOver","mOut");
    }
    if (obj.className.indexOf("mOut") != -1) obj.className = obj.className.replace("mOut","mOver");
}
// 셀렉트박스 클릭 
function selectboxClick( obj, objBtnId, value ){
    var objBtn = UI.$(objBtnId);
    if ( objBtn ){
        if ( value != null && value != undefined ){
            objBtn.innerHTML = value;
        } else {
            objBtn.innerHTML = obj.innerHTML;
        }
    }
}

// 지역정보 플래시 연동 테이블
function OverColorTr( obj ){ if ( obj.className.indexOf("selected") == -1 ){ obj.style.backgroundColor="#E2E7FF"; } }
function OutColorTr( obj ){  obj.style.backgroundColor=""; }
function selectLocalItem( obj, checkboxHandle ){
    var inp = obj.getElementsByTagName("INPUT");
    for ( var num=0; num<inp.length; num++ ){
        if ( inp[num].type == "checkbox" && inp[num].parentNode.className == "city" ){
            if ( inp[num].checked == true ){
                checkboxHandle.unchecked( inp[num].id );
            } else {
                checkboxHandle.checked( inp[num].id );
            }
        }
    }
}

// 단지정보 평형정보 더보기/닫기
function compMore( el ){
    var objLi = el.parentNode;
    objLi.className = 'compVisible';
    var objA = objLi.getElementsByTagName("a");
    for ( var num in objA ){
        if ( objA[num].className == 'btnCompMore' ) {
            objA[num].style.display="none";
        } else if ( objA[num].className == 'btnCompUnmore' ){
            objA[num].style.display="block";
        }
    }
    el.blur();
}
function compUnmore( el ){
    var objLi = el.parentNode;
    objLi.className = 'compHidden';
    var objA = objLi.getElementsByTagName("a");
    for ( var num in objA ){
        if ( objA[num].className == 'btnCompUnmore' )   {
            objA[num].style.display="none";
        } else if ( objA[num].className == 'btnCompMore' ){
            objA[num].style.display="block";
        }
    }
    el.blur();
}

// 단지정보 상세 '직접입력'
function goSelfInput( obj ){
    var span = obj.parentNode.getElementsByTagName("SPAN")[0];
    obj.style.display = "none";
    span.className = "";
    var input = span.getElementsByTagName("INPUT");
}

/***************************************************************************************************/
// 매물 비교하기
function compareItemMaemul( conId ){    compareItem('maemul', conId, 'mid' );   }
// 단지 비교하기 
function compareItemDanji( conId ){     compareItem('danji', conId, 'danjiid' );    }
// 구역 비교하기 
function compareItemZone( conId ){      compareItem('zone', conId, 'danjiid' ); }
// 비교하기
function compareItem( type, conId, prefix ){
    var item = getMaemulItemNum( conId );
    var id = [];
    for ( var num in item ){
        id.push ( prefix+(parseInt(num)+1)+"="+item[num].value );
    }
    var url = id.join("&");

    
    if( id.length >=2 && id.length <=3 ){
        scrollTo(0,0);
        // 비교하기
        var width = doc.documentElement.scrollWidth;
        var height = doc.documentElement.scrollHeight;
        new UI.Modal('/maemul/compare/'+type+'?'+url, {type:'iframe',width:width, height:height, scroll:false, top:137, status:'width=960 height=800 frameborder=0 scrolling=no'});
    } else {
        alert( "비교는 2개 또는 3개만 비교 가능합니다");
    }
}
// 지정 컨테이너 내의 input.checkbox의 object를 배열로 반환
function getMaemulItemNum( conId ){
    var obj = UI.$(conId).getElementsByTagName("INPUT");
    var selectList = [];
    var cnt = obj.length;
    for ( var num=0; num<cnt; num++ ){
        if ( obj[num].type == "checkbox" && obj[num].checked == true ){
            selectList.push( obj[num] );
        }
    }
    return selectList;
}
// 매물 찜하기 ( 선택된 체크박스 )
function setFavoriteMaemulItem( conId ){
    var item = getMaemulItemNum( conId );
    // 찜하기
    alert("찜하기 : " + item);
}
/**
*/

function setCookieRecent( mode, type, id ){
    // type : [M:매물/D:단지]
    var ajax = new FN.Ajax( {url:"http://realestate.daum.net/maemul/recent/"+mode+"/"+type+"/"+id} ); 
    ajax.options.onComplete = function(){};
    ajax.send();
}

/***************************************************************************************************/
// 모달창 닫기
function callModalReset(){
    new UI.Modal.reset();
}
/***************************************************************************************************/

// 매물/시세 지역검색 in GNB
function depthExplorer(){ 
    UI.$("DepthExp").style.display = "block";
}

function searchTest( rrr ){
    alert( rrr );

}
function searchSlider( type, data ){
    var trgid = "";
    var label = "";
    var link = "";
    var width = 0 ;
    var height = 32;
    var code = "";
    var codename = "";
    var range = "";
    var trgId = "";
    var funcName = "";
    var swfName = "";
    try {
        switch( type ){
            case "price":
            case "month_price":
                for ( var n in data.codename ){
                    var temp = data.codename[n].split("~");
                    data.codename[n] = temp[0].replace(/(이상|이하|미만)/gi, '');
                }
                data.codename[0] = "0";
                data.codename.push( "∞");
                width = (data.code.length+1) * 44 + 10 ;
                trgId = "FlaPrice";
                swfName = "searchSliderPrice.swf";
                if( type == "month_price") funcName = "&callFunc=setPathMonthPrice";
                else funcName = "&callFunc=setPathPrice";
                break;
            case "size":
                for ( var n in data.codename ){
                    var temp = data.codename[n].split("~");
                    data.codename[n] = temp[0].replace(/(이상|이하|미만)/gi, '');
                }
                data.codename[0] = "0";
                data.codename.push( "∞");
                width = (data.code.length+1) * 49 + 10 ;
                trgId = "FlaSize";
                funcName = "&callFunc=setPathSize";
                swfName = "searchSliderSize.swf";
                break;
            case "subway":
                width = (data.code.length+1) * 44 + 10 ;
                trgId = "FlaPrice";
                funcName = "&callFunc=setPathRadius";
                swfName = "searchSliderPrice.swf";
                break;
        }
        code = "&code="+data.code.join("#");
        codename = "&codename="+data.codename.join("#");
        range = "&range="+data.range.join("#");
        DaumFlash("http://fn.daum-img.net/flash/estate/2008/maemulSise/"+swfName+"?ver=20080628",code+codename+range+funcName,width,height,trgId);

    } catch (e){
        
    }
}

// 사진/동영상에서 전체/단지사진/주변사진 탭으로 사진보기 제어
function showTabPicMov( mode ){
    var liList = UI.$("picMovUl").getElementsByTagName("LI");
    for ( var num in liList ){
        if ( typeof( liList[num] ) != "object" ) continue;
        if ( mode != "complex" && mode != "neighbored" ){
            // 전체보기
            liList[num].style.display = "block";
        } else {
            // 단지사진(complex) 주변사진(neighbored) 골라보기
            var classname = liList[num].className;
            if ( classname == mode ){
                liList[num].style.display = "block";
            } else {
                liList[num].style.display = "none";
            }
        }
    }
}

function picSlideSimple(){
    new UI.SimpleSlide( "SlidePicList", "SlidePicPrev", "SlidePicNext" );
}

function picSlideUserSimple(){
    new UI.SimpleSlide( "SlideUserPicList", "SlideUserPicPrev", "SlideUserPicNext" );
}


// 지역정보에서 지역 선택했을때
function checkItemLimit( inputObj, checkboxGroupObj, limitNum ){
    var cnt = checkboxGroupObj.countChecked();
    if( cnt > limitNum ){
        checkboxGroupObj.unchecked( inputObj.id );
        alert(limitNum+"개 이하로 중복선택이 가능합니다.");
    } else if ( cnt < 1 ){
        alert("1개 이상의 필수 선택사항입니다.");
    }
}


// 동 통합, 동 지역정보 탭 플래시
function clickAnchor( url ){
    window.open( url, "" );
}
// 

// 시세 그래프 그리기
var EstSiseGraph = function( menuType, saleType, checkboxConId, legendId, swfConId, swfWidth, swfHeight ){
    this.colorList = ["5E5EFF","F64CA5","85C03D","5CA8CD"];
    this.options = {
        menuType : menuType,
        saleType : saleType,
        swfWidth : swfWidth,
        swfHeight : swfHeight,
        swfChartId : "Chart"+menuType+saleType,
        swfId : swfConId,
        legendId : legendId,
        checkboxConId : checkboxConId
    }
    
    this.setup();
    //this.render();

}
EstSiseGraph.prototype = {
    call : function( chkboxObj, menuType, saleType ){
        if ( menuType == undefined ){ menuType = this.options.menuType; }
        if ( saleType == undefined ){ saleType = this.options.saleType; }
        this.options.menuType = menuType;
        this.options.saleType = saleType;

        if ( this.checkStatus(chkboxObj) == false ){
            return false;
        }

        if ( menuType == "area" ){
            var cateCode = doc.pathForm.cateCode.value;
            var dateKey = 2; // 주간으로 고정
            callUrl = "/maemul/common/localsise.daum";
            baseParam = "catecode="+cateCode+"&datekey="+dateKey+"&"+this.paramList.join("&");


        } else if ( menuType == "danji" ){
            var danjiid = doc.pathForm.danjiId.value;
            var dateKey = 2; // 주간으로 고정
            callUrl = "/maemul/common/danjisise.daum";
            baseParam = "danjiid="+danjiid+"&datekey="+dateKey+"&"+this.paramList.join("&");
        }

        // http://real.estate.daum.net:8080?catecode=A1&datekey=2&areacode1=*&areacode2=1100000&areacode3=2156010&areacode4=3156010
        var cateCode = doc.pathForm.cateCode.value;
        var dateKey = 2; // 주간으로 고정

        var ajax = new FN.Ajax( {url:callUrl} );
        ajax.options.onComplete = this.setChartFlash.bind(this);
        ajax.options.param = baseParam;
        ajax.send();
        if( location.href.indexOf("/localinfo") > -1 ){
            //window.scrollTo(0, 0);
        }
    },
    setChartFlash : function ( res ){
        var json = eval("("+res.responseText+")" );
        this.render( json.history, json.datelist );
    },
    setNewsList : function( newsData ){
        this.news = newsData;
        this.newsIndex = this.news.length-1;
    },
    checkStatus : function(chkboxObj){
        var item = getMaemulItemNum( this.options.checkboxConId );
        this.paramList = [];
        this.legendList = [];
        var callUrl = "";
        var baseParam = "";


        for ( var num=0; num<item.length; num++){
            var val = item[num].value.split("__");
            this.legendList.push ( val );
            if ( this.options.menuType == "area" ){
                this.paramList.push ( "areacode"+(parseInt(num)+1)+"="+val[0] );
            } else if ( this.options.menuType == "danji" ){
                this.paramList.push ( "ptype"+(parseInt(num)+1)+"="+val[0] );
            }
        }
        
        if ( chkboxObj != undefined && ( this.paramList.length > 4 || this.paramList.length < 1 ) ){
            if( this.paramList.length < 1 ){
                alert( "차트는 1개 이상의 필수 선택사항입니다." );
            } else {
                alert( "차트 동시보기는 4개 이하만 가능합니다.");
            }
            
            if ( chkboxObj != null && chkboxObj != undefined && chkboxObj != "" ){
                if ( chkboxObj.checked == true ){
                    chkboxObj.checked = false;
                } else {
                    chkboxObj.checked = true;
                }
            } else {
                for ( var i=0; i<item.length ; i++ ){
                    if ( i<4 ){
                        item[i].checked = true;
                    } else {
                        item[i].checked = false;
                    }
                }
            }
            return false;
        }
    },
    render : function( dataAll, dateList ){
        if ( this.checkStatus() == false ){
            return false;
        }
        if( this.news  ){
            this.newsIndex = this.news.length-1;
        }
        
        // 기본설정
        var chartOpt = this.getChartOption( this.options.menuType );//차트 xml 옵션 = getChartOption 으로 생성
        
        var xmlData = "<chart "+chartOpt+" _MIN_MAX_ >_DATA_SET_</chart>";
    
        // 받아온 json으로 xml 생성
        var data = this.makeSiseHistoryXml( dataAll, dateList );

        var saleTypeList = null;
        var swfIdList = null;
        if ( typeof( this.options.saleType ) == "string" ){
            saleTypeList = [ this.options.saleType ];
            swfIdList = [ this.options.swfId ];
        } else {
            saleTypeList = this.options.saleType;
            swfIdList = this.options.swfId;
        }


        for ( var loop in saleTypeList ){
            var thisSaleType = saleTypeList[loop];

            var xmlDataTemp = "";

            if ( thisSaleType == "sale" ){
                var min = Math.round( data.minmax.sale.min-data.minmax.sale.gap/5 );
                var max = Math.round(data.minmax.sale.max+data.minmax.sale.gap/5 );
                if ( min < 0 ) min = 0;
                xmlDataTemp = xmlData.replace("_DATA_SET_", data.category + data.dataset.sale );
                xmlDataTemp = xmlDataTemp.replace("_MIN_MAX_", "yAxisMinValue='"+min+"' yAxisMaxValue='"+max+"'" );
            } else if ( thisSaleType == "lease" ){
                var min = Math.round(data.minmax.lease.min-data.minmax.lease.gap/5 );
                var max = Math.round(data.minmax.lease.max+data.minmax.lease.gap/5 )
                if ( min < 0 ) min = 0;
                xmlDataTemp = xmlData.replace("_DATA_SET_", data.category + data.dataset.lease );
                xmlDataTemp = xmlDataTemp.replace("_MIN_MAX_", "yAxisMinValue='"+min+"' yAxisMaxValue='"+max+"'" );
            }

            // JS에서 XML의 속성값을 편집
            xmlDataTemp = xmlDataTemp.replace("_CHART_OPTIONS_", chartOpt );
            for ( var num in this.colorList ){
                var exp = new RegExp("(_COLOR"+(parseInt(num)+1)+"_)",'gi');// 검색할 패턴을 지정한다.
                xmlDataTemp = xmlDataTemp.replace(exp, this.colorList[num] );
            }

            var chart = new FusionCharts("http://imgsrc2.search.daum.net/trend/MSLine_1.2.1.swf", this.options.swfChartId, this.options.swfWidth, this.options.swfHeight, "0", "0");
            chart.setDataXML( xmlDataTemp );
            chart.render( swfIdList[loop] );
        }
        this.makeLegendList( dataAll );        
    },
    setup : function(){
        if( this.options.menuType == "area" ){
            if ( this.options.swfWidth == undefined ){
                this.options.swfWidth = "353";
            }
            if ( this.options.swfHeight == undefined ){
                this.options.swfHeight = "199";
            }
        } else if( this.options.menuType == "danji" ){
            if ( this.options.swfWidth == undefined ){
                this.options.swfWidth = "666";
            }
            if ( this.options.swfHeight == undefined ){
                this.options.swfHeight = "251";
            }
        }
    },
    getChartOption : function( menuType ){
        var option = "";
        switch( menuType ){
            case "area"://지역
                option = "baseFont='돋움' adjustDiv='0' numDivLines='4' baseFontSize='11' showValues='0' formatNumberScale='0' showYAxisValues='1' anchorRadius='0' borderColor='FFFFFF' borderThickness='1' bgAlpha='0' bgColor='FFFFFF' numvdivlines='0' lineThickness='1' bgAngle='270' chartTopMargin='45' chartBottomMargin='25' chartLeftMargin='15' chartRightMargin='20' canvasBorderColor='CFCFCF' canvasBorderThickness='1' showLegend='0'  divLineColor='DDDDDD' yAxisValuesStep='1' showAlternateHGridColor='0'";
                break;
            case "danji"://단지
                option = "baseFont='돋움' adjustDiv='0' numDivLines='4' borderThickness='-1' baseFontSize='11' showValues='0' formatNumberScale='0' showYAxisValues='1' anchorRadius='0' borderColor='FFFFFF' borderThickness='1' bgAlpha='0' lineThickness='1' bgColor='FFFFFF' numvdivlines='0' bgAngle='270' chartTopMargin='44' chartBottomMargin='34' chartLeftMargin='15' chartRightMargin='20' canvasBorderColor='CFCFCF' canvasBorderThickness='1' showLegend='0'  divLineColor='DDDDDD' yAxisValuesStep='1' showAlternateHGridColor='0'";
                break;
        }
        return option
    },
    makeLegendList : function ( dataAll ){
        var legendTag = "";
        var cnt = dataAll.length;
        for ( var num=0, cnt=dataAll.length; num<cnt; num++ ){
	        legendTag += '<li><span style="color:#'+this.colorList[num]+'" id="ColorBox'+(parseInt(num)+1)+'">■</span>';
            if( this.options.menuType == "danji" ){
                legendTag += dataAll[num][0].supsize+dataAll[num][0].type+"㎡ ";
            } else if( this.options.menuType == "area" ){
                legendTag += dataAll[num][0].areaname;
            }
            legendTag += "</li>";
            
        }
        var obj = UI.$( this.options.legendId );

        if ( obj ){
            obj.innerHTML = legendTag;
        }
        
    },
    makeSiseHistoryXml : function( dataAll, date ){
        var tag = "";
        // 카테고리 
        var categoryTemplate = "<categories>_CATEGORY_</categories>";
        var loop = Math.ceil(date.length/6);
        var selLoop = (date.length-1)%loop;
        for ( var i in date ){
            
            if ( i%loop == selLoop ){
                tag += "<category label='"+date[i].replace(" ","")+"' />";
                //tag += "<vLine color='EEEEEE' thickness='1' dashed='1' />";
            } else {
                tag += "<category />";
                //tag += "<vLine color='EEEEEE' thickness='1' dashed='1' />";
            }
            
        }
        var category = categoryTemplate.replace("_CATEGORY_", tag );

        // 데이터
        var dataset = {sale:"", lease:""};
        var minmax = {sale:{min:999999,max:-999999,gap:0}, lease:{min:999999,max:-999999,gap:0}};
        for ( var num in dataAll ){
            var seq = parseInt( num ) +1;
            if ( seq > 4 ){
                break;
            }
            var datasetTemplate = "<dataset seriesName='_NAME"+seq+"_' color='_COLOR"+seq+"_' anchorBorderColor='_COLOR"+seq+"_' anchorBgColor='1D8BD1'>_DATAROW_</dataset>";
            var dataRowSale = "";
            var dataRowLease = "";
            var i=0;
            var prevSaleprice = '';
            var prevLeaseprice = '';
            var dataCnt = dataAll[num].length;

            for ( var d in date ){
                var attr = "";
                // 뉴스정보 담기
                if( !dataAll[num][i] ){
                    dataRowSale += "<set value='' "+attr+" />";
                    dataRowLease += "<set value='' "+attr+" />";
                    continue;
                }
                var realstddate = dataAll[num][i].realstddate;

                // 기사가 중간에 1 3 5 7 나올때
                if( realstddate && dataAll.length == 1 && this.news && this.newsIndex >= 0 && realstddate > this.news[this.newsIndex].realstddate ) {
                    this.newsIndex--;
                }
                if( realstddate && dataAll.length == 1 && this.news && this.newsIndex >= 0 && realstddate == this.news[this.newsIndex].realstddate ){
                    var es = unescape( this.news[this.newsIndex].title ).replace(/(')/gi,"&quot;");
                    es = es.replace(/>/gi,"");
                    es = es.replace(/</gi,"");
                    es = UI.length( es, 50, ".." );
                    es = encodeURIComponent( es );
                    attr = "anchorRadius='2' link='javascript:clickAnchor(%26apos;"+this.news[this.newsIndex].docUrl+"%26apos;);' toolText='"+es+" ["+this.news[this.newsIndex].writeDate+"]' anchorBgColor='"+this.colorList[0]+"' noticeBox='"+((this.newsIndex+1))+"'";
                    this.newsIndex--;
                } 

                // 해당정보 
                if ( i < dataCnt ){
                    //var areacode = dataAll[num][i].areacode;
                    //var datekey = dataAll[num][i].datekey;
                    var stddate = dataAll[num][i].stddate;
                    var saleprice = dataAll[num][i].saleprice;
                    var leaseprice = dataAll[num][i].leaseprice;

                    minmax.sale.min = Math.min( minmax.sale.min, saleprice );
                    minmax.sale.max = Math.max( minmax.sale.max, saleprice );
                    minmax.lease.min = Math.min( minmax.lease.min, leaseprice );
                    minmax.lease.max = Math.max( minmax.lease.max, leaseprice );
                    //var saelrate = dataAll[num][i].saelrate;
                    //var leaserate = dataAll[num][i].leaserate;
                    

                    if ( stddate == date[d] ){
                        saleprice = parseInt(saleprice);// + num*1500;
                        leaseprice = parseInt(leaseprice);// + num*1500;
                        i++;
                    } else {
                        saleprice = prevSaleprice;
                        leaseprice = prevLeaseprice;
                    }
                    dataRowSale += "<set value='"+saleprice+"' "+attr+" />";
                    dataRowLease += "<set value='"+leaseprice+"' "+attr+" />";

                    prevSaleprice = saleprice;
                    prevLeaseprice = leaseprice;
                } else {
                    dataRowSale += "<set value='' "+attr+" />";
                    dataRowLease += "<set value='' "+attr+" />";
                }
            }
            dataset.sale += datasetTemplate.replace("_DATAROW_", dataRowSale );
            dataset.lease += datasetTemplate.replace("_DATAROW_", dataRowLease );
        }

        minmax.sale.gap = ( minmax.sale.max - minmax.sale.min );
        minmax.lease.gap = ( minmax.lease.max - minmax.lease.min );

        if( minmax.sale.gap < 30 ){
            minmax.sale.max = minmax.sale.max + 15;
            minmax.sale.min = minmax.sale.min - 15;
        } 
        if( minmax.lease.gap < 30 ){
            minmax.lease.max = minmax.lease.max + 15;
            minmax.lease.min = minmax.lease.min - 15;
        }

        var returnVal = {
            category : category,
            dataset : dataset,
            minmax : minmax
        }
        return returnVal;
    }
}

// 법률규제지역 팝업
function openDealLimitView(tabGb) {
    var p_url           = "/html/sise/dealLimitView"+tabGb+ ".html";
    var p_popWinName    = "selectDealLimit";
    var p_features      = "top=100,left=160,scrollbars=yes,status=yes,resizable=no, width=770 height=550";
    var win = window.open(p_url, p_popWinName, p_features);
    win.focus();
}

// 상세검색 조건 중 직접입력 활성화
function displayDirectInput( obj, mode ){
    if( !obj.parentNode ) return false;
    var switchBlock = obj.parentNode.parentNode;
    var input = switchBlock.getElementsByTagName("DIV");
    var inputDiv = null;
    if( input.length == 1 ){
        inputDiv = input[0];
    } else if( input.length == 0 ){
        return false;
    } else {
        for( var n=0; n<input.length; n++ ){
            if( input[n].className.indexOf("inpDirect") > -1 ){
                inputDiv = input[n];
            }
        }
        if( inputDiv == null ) return false;
    }
    
    switch( mode ){
    case "view":
        inputDiv.style.display = "block";
        var inpObj = inputDiv.getElementsByTagName("INPUT");
        if( inpObj != null ){
            inpObj[0].select();
            inpObj[0].focus();
        }
        break;
    default:
        inputDiv.style.display = "none";
    }
}

// 이미지 오류
function imgError( obj, type ){
    var src = null ;
    switch( type ){
        case "danjilist":
            src = "http://fn.daum-img.net/image/estate/2008/maemulSise/thumbDanji66.gif";
            break;
        case "danjiinfo":
            src = "http://fn.daum-img.net/image/estate/2008/dummy/dummyslidepic2.gif";
            break;
    }
    if ( src != null ){
        obj.src = src;
    }
}


// 매물 상세보기 테이블 만들기
function setDetailTable( tagAry ){
	try{
    var table = "";
    var col = 0;
    var prevType = undefined;
    for ( var n in tagAry ){
        if ( tagAry[n].tag == undefined ) continue;
        //alert( n + " > " + tagAry[n].islong + " : " + col );
        
        if ( n > 0 && tagAry[n].islong == true || col >= 2 ){
            if ( prevType != true && col == 1 ){
                table += "<th></th><td></td>";
            }
            table += "</tr><tr>";
            table += tagAry[n].tag;
            col = 0;
        } else {
            table += tagAry[n].tag;
        }
        if ( tagAry[n].islong == true ){
            col+=2;
        } else {
            col++;
        }
        prevType = tagAry[n].islong;
    }
    if ( col == 1 ){
        table += "<th></th><td></td>";
    }
    table = '<table class="detailTbl" border="1"></tr>'+table+'</tr></table>';
    doc.write( table );
	}catch(e){
		//console.debug(e.message);
	}
}


// 매물 상세보기 테이블 만들기
function setDetailTableNew( tagAry, sortInfo ){
    var table = "";
    var col = 0;
    var prevType = undefined;
    var cnt = sortInfo.length;
    
    for ( var n=0; n<cnt; n++ ){
        var item = tagAry[ sortInfo[n] ];
        if ( !item  ) continue;
        //alert( n + " > " + tagAry[n].islong + " : " + col );
        
        if ( n > 0 && item.islong == true || col >= 2 ){
            if ( prevType != true && col == 1 ){
                table += "<th></th><td></td>";
            }
            table += "</tr><tr>";
            table += item.tag;
            col = 0;
        } else {
            table += item.tag;
        }
        if ( item.islong == true ){
            col+=2;
        } else {
            col++;
        }
        prevType = item.islong;
    }
    if ( col == 1 ){
        table += "<th></th><td></td>";
    }
    table = '<table class="detailTbl" border="1"></tr>'+table+'</tr></table>';
    doc.write( table );
}


/* ===================================================================================================
                                        form path설정 함수 및 클래스
=====================================================================================================*/
/* 텝메뉴 이동 */
function tabMenu( type ){
    var pathForm = doc.pathForm;
//  pathForm.tabName.value = type;
    pathFormSubmit( {tabName:type} );
}
/* 플래시 슬라이더 : 가격 선택 */
function setPathPrice( val ){   setPathValue( {priceCode:val,themeId:'*'} ); return gLink(null, "ZFES", "1", "3");  }
/* 플래시 슬라이더 : 면적 선택 */
function setPathSize( val ){    setPathValue( {sizeCode:val,themeId:'*'} ); return gLink(null, "ZFES", "2", "3"); }
/* 플래시 슬라이더 : 반경 선택 */
function setPathRadius( val ){  setPathValue( {distanceCode:val} ); return gLink(null, "ZFES", "3", "3"); }
/* */
function setSelecting( obj ){
    var pathForm = doc.pathForm;
    var param = "?"+obj.id+"="+obj.value;
    if ( obj.value ){
        top.location.href = pathForm.tabName.value + param;
    } else {
        top.location.href = pathForm.tabName.value;
    }
}
/* 플래시 지역별 링크 */
function setPathValueFlashArea( option ){
    setPathValue( option );
    gLink(null, "ZFES", "1", "8");
}
/* 플래시 지역별 네비 링크 */
function setPathValueFlashAreaNavi( option ){
    setPathValue( option );
    gLink(null, "ZFES", "1", "9");
}
/* pathForm의 값을 선택값만 설정 */
function setPathValue( option ){
    var pathForm = doc.pathForm;
    var _option = null;
 
    if( typeof( option ) == "string" ){
        _option = eval("("+option+")");
    } else {
        _option = option;
    }

    // 지역 플래시에서 areaCode 보냄
    if( _option.areaCode != undefined && _option.areaCode.toString().indexOf("2900") == 0 ){
        _option.areaCode = getExtendTargetLink( _option.areaCode );
    }
    pathFormSubmit(_option);
}
function setPathValueForSubwayTop( option ){
    var pathForm = doc.pathForm;
    var _option = null;
    if( typeof( option ) == "string" ){
        _option = eval("("+option+")");
    } else {
        _option = option;
    }
    _option.menuType = "subway";
 
    pathFormSubmit(_option);

}
/* pathForm의 값으로 url 생성 후 이동 */
function pathFormSubmit(_option){
    var pathForm = doc.pathForm;
    var pathObj = {};
    var baseUrl = "http://realestate.daum.net/";
    // 빈값 예외처리 
    if ( pathForm.menuType.value == "" ) pathForm.menuType.value = "area";
    if ( pathForm.areaCode.value == "" ) pathForm.areaCode.value = "*";
    if ( pathForm.cateCode.value == "" ) pathForm.cateCode.value = "A1";
    if ( pathForm.allCateCodes.value == "" ) pathForm.allCateCodes.value = pathForm.cateCode.value;
    if ( pathForm.saleType.value == "" ) pathForm.saleType.value = "S";
    if ( pathForm.priceCode.value == "" ) pathForm.priceCode.value = "*";
    if ( pathForm.sizeCode.value == "" ) pathForm.sizeCode.value = "*";
    if ( pathForm.themeId.value == "" ) pathForm.themeId.value = "*";

    var elCnt = pathForm.elements.length;
    for ( var i=0; i<elCnt ; i++ ){
        pathObj[ pathForm.elements[i].name ] = pathForm.elements[i].value;
    }
    Object.extend( pathObj, _option );

    var url = [];
    url.push( "maemul" );
 
    if( pathObj.menuType =="detail" || ( pathObj.menuType =="danji" && pathObj.naviType =="subway" )){
    }else{	
    	url.push( pathObj.menuType );
    }	
 
    switch ( pathObj.menuType ){
        case "area":
            // /maemul/area/[지역코드]/[category]/[extCateIds]/[매/전/월]/[가격코드]/[면적코드]/[테마ID]/summary 
            url.push( pathObj.areaCode );
            url.push( pathObj.cateCode );
            url.push( pathObj.allCateCodes.replace(/,/gi,"") );
            url.push( pathObj.saleType );
            if( pathObj.gType == "1"){
            	pathObj.tabName = "summary";
            }
            url.push( pathObj.tabName );
            break;
        case "subway": // 역세권
        	pathObj.distanceCode = "*";
            if( pathObj.gType == "1"){
            	pathObj.tabName = "summary";
            }
            
        	if ( pathObj.stationCode != null  && pathObj.stationCode != "" ){        	 
        	 	pathObj.subwayCode =  pathObj.stationCode;
        	}else if( pathObj.lineCode != null && pathObj.lineCode != "" ){        	 
        	 	pathObj.subwayCode = pathObj.lineCode;
        	}else{
        		pathObj.subwayCode = "1100000";
        	}
        	
        	// 역세권 전국 데이타는 없음?? 무조건 수도권으로.. 
        	if( pathObj.subwayCode == "*"){
        		pathObj.subwayCode = "1100000";
        	}
 
        	if ( pathObj.lineMapCode == "" ) pathObj.lineMapCode = "*";              
            if ( pathObj.distanceCode == "" ) pathObj.distanceCode = "*"; 
 
            url.push( pathObj.subwayCode );
            url.push( pathObj.cateCode );
            url.push( pathObj.allCateCodes.replace(/,/gi,"") );
            url.push( pathObj.saleType );
            url.push( pathObj.distanceCode );
            url.push( pathObj.tabName );
            break;
        case "danji":// 단지
        	if( pathObj.naviType == "area"){
	            url.push( pathObj.danjiId );
	            url.push( pathObj.allCateCodes.replace(/,/gi,"") );
	            url.push( pathObj.saleType );
	            url.push( pathObj.tabName );
        	}else{
        		url.push( pathObj.naviType );
        		url.push( pathObj.subwayCode );
        		url.push( pathObj.menuType );
	            url.push( pathObj.danjiId );
	            url.push( pathObj.allCateCodes.replace(/,/gi,"") );
	            url.push( pathObj.saleType );
	            url.push( pathObj.tabName );
        	}
            break;
        case "detail":// 단지상세 http://realestate.daum.net/maemul/3134010/C7/C7/L/summary
        	if( pathObj.areaLevel < 4){
	        	pathObj.tabName = "area";    
	        	url.push( pathObj.tabName );    
	            url.push( pathObj.areaCode );
	            url.push( pathObj.cateCode );
	            url.push( pathObj.allCateCodes.replace(/,/gi,"") );
	            url.push( pathObj.saleType );
	            pathObj.tabName = "summary";
	            url.push( pathObj.tabName );        		
        	}else{
	        	pathObj.tabName = "danji";    
	            url.push( pathObj.tabName );
	            url.push( pathObj.danjiId );
	            url.push( pathObj.saleType);
	            pathObj.tabName = "summary";
	            url.push( pathObj.tabName );
        	}
            break;
        case "zone"://재개발
            url.push( pathObj.zoneId );
            url.push( pathObj.tabName );
    }
  
    var trgUrl = baseUrl + url.join("/");
    // 단지페이지에서 네비 유지를 위해
    if (  pathObj.param && pathObj.param != "" ) {
        if( trgUrl.indexOf("?") > -1 ){trgUrl += "&";} 
        else { trgUrl += "?"; }
        trgUrl += "param="+pathObj.param;
    }
    	
    // 플래시에서 areaCode를 달고 들어온 경우 themeId 유지 ...? /
    if( _option && _option.areaCode ){
        if( trgUrl.indexOf("?") > -1 ){trgUrl += "&";} 
        else { trgUrl += "?"; }
        trgUrl += "themeId="+ pathObj.themeId ;
    }
    
    if (  pathObj.schParam && pathObj.schParam != "" ) {
        if( trgUrl.indexOf("?") > -1 ){trgUrl += "&";} 
        else { trgUrl += "?"; }
        trgUrl += pathObj.schParam;
    }
 
    switch(_option && _option.nil_type ){
	    case 'gnb':
	    case 'theme':    	
	        if( trgUrl.indexOf("?") > -1 ){trgUrl += "&";} 
	        else { trgUrl += "?"; }
	        trgUrl += "nil_profile=estatetop&"+_option.nil_value;
	        break;
	    case 'saletype':
	    case 'catecode':	    	
	        if( trgUrl.indexOf("?") > -1 ){trgUrl += "&";} 
	        else { trgUrl += "?"; }
	        trgUrl += "nil_profile=estatetop&nil_gnb="+pathObj.cateCode +''+ pathObj.saleType;
	        break
    }
 
    top.location.href = trgUrl;
    return false;
}
/* 지하철 */
function onSubwayDistSubmit(value, thisObj){
	var pathForm = doc.pathForm;

	var list = UI.$("TopSubwayTab").getElementsByTagName('li');
	for(var i=9; i<12; i++){
		list[i].className = 'schcond';
	}
	thisObj.className = "schcond on";
	pathForm.distanceCode.value = value; 
	pathFormSubmit();
}

function onSubwayMaemulSubmit(value){
	var pathForm = doc.pathForm;
	var value = pathForm.saleType.value;
	pathFormSubmit();	
}

function onSubwayExtCateSubmit(extValue){
	var pathForm = doc.pathForm;
	 
	var value = pathForm.allCateCodesValue.value;
	if( value.split(extValue).length >= 2 ){
		value = value.replace(extValue, ''); 
		pathForm.allCateCodesValue.value = value;
	}else{
		pathForm.allCateCodesValue.value = value + extValue;
	}	 	
	 
	pathFormSubmit();
}	
/*지도 탭 없는 경우 상단 추가 물건 선택시 재 검색*/
var messageTimer = null; 
function onExtCateSubmit(event, extValue){
	var e = event || window.event;

	var pathForm = doc.pathForm;
	if( extValue == pathForm.cateCode.value ){
		//alert("처음 선택하신 매물종류로 제외할 수 없습니다.");
		if( messageTimer == null){
			messageTimer = UI.$("alertMessage").style.display = "block";
			setInterval(closeAlertWindow, 3000 );
		}	
		return;
	}
	var value = pathForm.allCateCodes.value;
	if( value.split(extValue).length >= 2 ){
		value = value.replace(extValue, ''); 
		pathForm.allCateCodes.value = value;
	}else{
		pathForm.allCateCodes.value = value + ',' + extValue;
	}	 	
	var _param = "sizeCode="+ pathForm.sizeCode.value + "&priceCode=" + pathForm.priceCode.value + "&themeId="+ pathForm.themeId.value;
	 
	pathFormSubmit({schParam:_param});
}	

function closeAlertWindow(){
	UI.$("alertMessage").style.display = "none";
	clearInterval(messageTimer);
	messageTimer = null;
}
/* 단지및 매물  재 검색*/	
function onExtCateMaemulSubmit(extValue){
	var pathForm = doc.pathSearch;
	 
 	var list = UI.$('schCategoryList').getElementsByTagName('input');
	var str=""; 
	
	for( var i=0; i<list.length; i++){
		if(list[i].checked == true){
			str += list[i].value;
		}	
	}
	pathForm.s_mcate.value = str; 
	setSearchValue();
}	
/* 단지및 매물  재 검색*/	
function onExtCateSiseSubmit(value){
	var pathForm = doc.pathForm;
	pathForm.s_mcate.value = value; 
	var _param = "s_mcate="+ pathForm.s_mcate.value;
	 
	pathFormSubmit({schParam:_param});
}

/* 단지및 매물  재 검색*/	
function onSaleTypeSubmit(value){
	var pathForm = doc.pathForm;
	pathForm.saleType.value = value; 
	pathFormSubmit();
}

/* 전체단지/ 전체 목록 보기 클릭시 */	
function onImageButtonSubmit(value){
	/*
	var pathForm = doc.pathForm;
	pathForm.viewMode.value = value; 
	pathFormSubmit();
	*/
	var pathForm = doc.pathSearch;
	pathForm.viewMode.value = value;
	setSearchValue();	
}

/*지도 탭 없는 경우 상단 추가 물건 선택시 재 검색*/	
function onThemeSubmit(value){
	var pathForm = doc.pathSearch;
	pathForm.themeId.value = value;
	setSearchValue();
}	

function setGnbPath(type, obj, log){
    var pathForm = doc.pathForm;
    var opt = {};
 
    if( type == "navi"){
    	pathForm.menuType.value = obj.getAttribute("value");
    	opt = {gType:1};
    }else{
    	pathForm.saleType.value = obj.getAttribute("value");
    	opt = {gType:2};
    }	
    Object.extend( opt, log);
    setPathValue(opt);
}

function setPathCategory( obj , opt ){
    var id = obj.id.replace("cate","");
    var pathForm = doc.pathForm;
    obj.style.backgroundColor="";
    pathForm.cateCode.value = id;
    var _menuType = "";
    var match = doc.location.href.match( /\/maemul\/([a-z]*)\/([a-zA-Z0-9\/]*)([a-zA-Z0-9\?=|\*]*)?/ );
 
    if( match[1] == "danji" || match[1] == "zone"){
        if( match[2].indexOf("subway") > -1 ) {
            _menuType = "subway";
        } else {
            _menuType = "area";
        }
    } else if( match[1] == "danji" ){
        _menuType =  match[1];
    } else if( match[1] == "zone" ){
        _menuType =  match[1];
    } else if( match[1] == "detail" ){
        _menuType = "area";
    } else {
        _menuType =  match[1];
    }

    var _allcatecodes = id;
    if( _allcatecodes == "A1") _allcatecodes = "A1A3A4";

    var _options = {
        menuType : _menuType,
        tabName : "summary",
        cateCode : id,
        allCateCodes : _allcatecodes,
        nil_type : '',
        nil_gnb : ''
    }
 
    Object.extend( _options, opt );
 
 


    setPathValue( _options );

//  setPathValue( {tabName:"summary", cateCode:id} );
}

// 우측날개 ( 통합정보링크 )
function setPathTotal( obj ){
    var path = {
        menuType:'area',
        tabName:'summary',
        areaCode:'*',
        cateCode:'*', // // obj.cateCode
        saleType:'*', // obj.saleType
        allCateCodes:'*', // = obj.cateCode
        priceCode:'*',
        sizeCode:'*',
        themeId:'*'
    }
    Object.extend( path, obj );
    path.allCateCodes = path.cateCode;

    setPathValue( path );
}

// 단지군 over / 비단지군 click시 셀 선택화면 변경
function setPathView( obj ){
    var pathForm = doc.pathForm;
    if ( pathForm.cateCode.value.charAt(0) != "A" ) {
        OverColorTr( obj );
        return;
    }
    var id = obj.id.replace("cate","");
    //pathForm.cateCode.value = id;
    var chkObj = UI.$("chk"+id); // 확장 체크박스에 해당종류를 선택
    if ( chkObj && chkObj.checked == false ){
        chkObj.checked = true;
    }
    
    estPathCate.setup( id );
}
// 선택매물종류 텍스트 가져오기
function getSelectedText( idList ){
    var text = "";
    switch( typeof( idList ) ){
        case "string":
            text = UI.$("cate"+idList).firstChild.nodeValue;
            break;
        case "object":
            var tempList = new Array();
            var valObj = null;
            for ( var i=0; i<idList.length ; i++ ){
                valObj = UI.$("cate"+idList[i]); 
                if ( valObj != null ) {
                    tempList.push( UI.trim( valObj.firstChild.nodeValue ) );    
                }
            }
            text = tempList.join(",");
            break;
    }
    return text;
}
// 확장영역 중복검색
function setPathExtCategory(){
    var chkInp = UI.$("selCateTreeList").getElementsByTagName("INPUT");
    var chkInpCnt = chkInp.length;
    var checkedList = new Array();
    var pathForm = doc.pathForm;

    checkedList.push( pathForm.cateCode.value );
    for ( var i=0; i<chkInpCnt; i++ ){
        if ( chkInp[i].checked == true && pathForm.cateCode.value != chkInp[i].value) {
            checkedList.push ( chkInp[i].value );
        }
    }
    var _allCateCodes = "";
    if (checkedList.length == 0 ){
        _allCateCodes = pathForm.cateCode.value;
        //estPathCate.btn.innerHTML = getSelectedText( pathForm.cateCode.value );
    } else {
        _allCateCodes = checkedList.join(",");
        //estPathCate.btn.innerHTML = getSelectedText( checkedList );
    }

    // 셀렉트박스 텍스트 초기화
    
    estPathCate.close();
    estPathCate.setup();

    var match = doc.location.href.match( /\/maemul\/([a-z]*)\/([a-zA-Z0-9\/]*)([a-zA-Z0-9\?=|\*]*)?/ );
    var _menuType = "";
    if( match[1] == "subway" ){
        _menuType =  match[1];
    } else {
        _menuType = "area";
    }

    setPathValue( {menuType:_menuType, tabName:"summary", allCateCodes:_allCateCodes } );
    
}
/*
EstPathCategory = function( options  ){
    this.form = doc.pathForm;
    this.options = {
        btn : "selCate",
        sub : "selCateSub"
    }
    Object.extend( this.options, options );
    this.btn = UI.$( this.options.btn );
    this.sub = UI.$( this.options.sub );
    this.init();
    this.setup();
}

EstPathCategory.prototype = {
    init : function(){
	alert('EstPathCategory 사용중');
        this.selectObj = new UI.SelectObj( this.sub, this.btn );
        this.selectObj.openComplete = this.open;
 
        this.selectedObj = null;
        this.sub.style.left = this.btn.offsetLeft + "px";
        
        //UI.addEvent( this.btn, "mousedown", this.toogle.bindAsEventListener(this) );

        // 셀렉트박스 텍스트 초기화
        this.btn.innerHTML = getSelectedText( this.form.allCateCodes.value.split(",") );
    },
    open : function(){
        //this.selectObj.open();
        //alert( doc.pathForm.cateCode.value);
        //setPathView( UI.$( "cate"+doc.pathForm.cateCode.value)  );
    },
    close : function(){
        this.selectObj.close();
    },
    openExtend : function(){
        UI.$("selCateTree").style.display = "block";
    },
    openClose : function(){
        UI.$("selCateTree").style.display = "none";
    },
    toogle:function(e){
        this.selectObj.toogle();
 
    },
    setup : function( value ){
        if ( value == undefined ){
            this.cateCode = this.form.cateCode.value;
            this.extcateCodes = this.form.allCateCodes.value;
        } else {
            this.cateCode = value;
            this.extcateCodes = this.form.allCateCodes.value;

        }

        
        // 카테고리 선택
        if ( this.cateCode.substr(0,1) == "A" || this.cateCode.substr(0,1) == "B" || this.cateCode.substr(0,1) == "C" || this.cateCode.substr(0,1) == "E" ){
            if ( this.selectedObj != null ) {
                this.selectedObj.className = "";
            }
            
            UI.$("cate"+this.cateCode).className = "selected";
            
            if ( this.cateCode.substr(0,1) == "A"){
                // 세부 중복선택 화면 보여주기
                UI.$("selCateTree").style.display = "block";
                var listDD = UI.$("selCateTree").getElementsByTagName("DD");
                for ( var num=0; num<listDD.length; num++ ){
                    if ( listDD[num].firstChild.id == "chk"+this.cateCode ){
                        // 세부 중복선택 기본값 설정
                        //listDD[num].firstChild.checked = true;
                        listDD[num].style.display = "none";
                    } else {
                        listDD[num].firstChild.checked = false;
                        listDD[num].style.display = "block";
                    }
                }
                // 중복선택된 이름을 선택바에 넣음
                var listId = this.extcateCodes.split(",");
                
                for ( var i=0; i<listId.length ; i++ ) {
                    var chkObj = UI.$("chk"+listId[i]);
                    if ( chkObj && listId[i] != this.cateCode ) chkObj.checked = true;
                }

            } else {
                UI.$("cate"+this.cateCode).className += " single";
                UI.$("selCateTree").style.display = "none";
            }
            

            this.selectedObj = UI.$("cate"+this.cateCode);
        }

        
    }
}
*/
// 단지정보/매물정보 - 검색 탭 클릭
function shcTab_menuClick(type){
	doc.pathSearch.page.value = "1"; //탭 클릭시 page 초기화 
	if(type == 1){
		UI.$('sch_tab1').className = "";
		UI.$('sch_tab2').className = "on"; 
		UI.$('generateSearch').style.display = "none";
		UI.$('themeSearch').style.display = "block";
	}else{
		UI.$('sch_tab1').className = "on";
		UI.$('sch_tab2').className = ""; 
		UI.$('generateSearch').style.display = "block";
		UI.$('themeSearch').style.display = "none";  
	}	 
}
/* 테마 검색 / 일반검색시 다른 탭 reset */
function setValInit(type){
	var searchForm ; 
	if( type == 'g' ){
	    searchForm = doc.pathSearch;
	    searchForm.reset(); 
	}else{
	    searchForm = doc.themeSearch;
	    searchForm.reset(); 
	}
}

function setSearchValInit(){
    var pathForm = doc.pathForm;
    var searchForm = doc.pathSearch;
    var url = pathForm.tabName.value;

    var param = [];
    //var valList = ["direction", "sort", "page"];
    var valList = ["direction", "sort", "page", "themeId"];
    for ( var i in valList ){
        var obj = searchForm[valList[i]];
        if( obj && obj.value != "" ){
        	if( valList[i]=="page"){
        		param.push( valList[i] + "=1" );
        	}else if(valList[i]=="themeId"){
        		param.push( valList[i] + "=*" );
            }else{
        		param.push( valList[i] + "=" + obj.value );
        	}	
        }
    }
    if( param.length > 0 ){
        url += "?"+param.join("&");
    }
    top.doc.location.href=url ;
}

function setSearchValueSpc(srcObj,type){
	var form = doc.pathSearch;
    // 재검색시 페이징은 항상 1로 
    form.page.value = "1";	
	if( type =='p'){
		form.priceCode.value = srcObj.getAttribute('value'); 
	}else if( type =='s'){
		form.sizeCode.value = srcObj.getAttribute('value'); 
	}else{		
		doc.getElementById('themeId').value = srcObj.getAttribute('id');
	}
	form.submit();
}
/*
function setSearchValueSpc2(srcObj,type){
	var form = doc.pathSearch;
	if( type =='p'){
		form.sale.value = srcObj.getAttribute('value'); 
	}else if( type =='s'){
		form.size.value = srcObj.getAttribute('value'); 
	}else{		
		//form.s_themeId.value = srcObj.getAttribute('value');
		doc.getElementById('theme').value = srcObj.getAttribute('id');
	}
	form.submit();
}
*/
function setFormValue( formName, objVal ){
    var form = document[formName];
    if( form == undefined || form == null ) return false;

    for (var eleName in objVal ){
        if ( form[eleName] ){
            form[eleName].value = objVal[eleName];
        }
    }
}
// 단지정보, 매물정보 내 상세조건 검색
function setSearchValue( obj, value ){
    var form = doc.pathSearch;
    var type = "";
    var objInp = null;
    if( obj ){
        displayDirectInput( obj, "hidden" );
    }
    // 재검색시 페이징은 항상 1로 
    form.page.value = "1";

    // 선택된 옵션에 대해서 검색실행
    if( obj != undefined ){

        // obj는 객체나 문자열의 형태로 넘어오는데 객체일 경우 id가 r_[옵션명]_[순번] 의 형태로 옵션명을 파싱한다.
        if ( typeof( obj ) == "object" ){
            // setSearchValue(this) 형태로 호출시
            var typeAry = obj.id.match(/^r_([a-zA-Z_]+)(_[0-9]+)?$/,''); // 알맹이만 빼오기
            var type = typeAry[1];
        } else if ( typeof( obj ) == "string" ){
            // setSearchValue( "sort", "1" ) 형태로 호출시
            type = obj;
        }
 
       // objInp.value = obj.getAttribute("name");
        // 선택된 옵션명의 form 객체를 선택
        if( type != "" ){       
            objInp = eval("form."+type);
        }

        if( objInp != undefined ){
             // 매매/전세/월세 중 택1
            try {
                // 폼에 값이 없을수도 있으므로 try
                switch( type ){
                    case "sale":
                        form.lease.value = "";
                        form.rent.value = "";
                        form.month.value = "";
                        break;
                    case "lease":
                        form.sale.value = "";
                        form.rent.value = "";
                        form.month.value = "";
                        break;
                    case "rent":
                    case "month":
                        form.sale.value = "";
                        form.lease.value = "";
                        break;
                    case "sort":
                        if ( value == form.sort.value )
                        {
                            if ( form.direction.value == 1 ){
                                form.direction.value = 2;
                            } else {
                                form.direction.value = 1;
                            }
                        } else {
                            form.direction.value = 1;
                        }
                        break;
                }
            } catch ( e ){}
 
            if ( value != undefined ){
                objInp.value = value;
            } else {
            	try{
            		objInp.value =  obj.getAttribute("value");	
            	}catch(e){
            		objInp.value =  obj.value;
            	}
            }
        }
    }
 
    for( var num=0; num<form.elements.length; num++ ){
        var inp = form.elements[num];
        /*
        var nameAry = inp.name.match(/^([a-zA-Z0-9_]+)(max|min)$/,''); // 알맹이만 빼오기
        if( nameAry != null && nameAry[2]=="max" ){
            var minObj = UI.$( nameAry[1]+"min");

        }
        */
        // min, max의 콤마 제거 
        var pattern = /(_min|_max)$/;
        if( pattern.test( inp.name ) == true ){
            
            var temp = UI.delComma( inp.value );
            inp.value  = temp;
        }
    }   
    form.submit();
}

function addCommaNum( obj ){
    obj.value = UI.addComma( obj.value );
}
function checkMinMax( minId, maxId, elId ){
    var form = doc.pathSearch;
    var min = UI.$(minId);
    var max = UI.$(maxId);
    if( min == null || max == null ){
        alert( "최대/최소 객체가 없습니다");
        return false;
    }

    var minVal = UI.delComma( min.value );
    var maxVal = UI.delComma( max.value );

    if( parseInt( minVal )  > parseInt( maxVal ) ){
        alert( "최대/최소 검색 범위를 정확히 입력해 주세요");
        min.select();
        min.focus();
        return false;
    } else if( isNaN( minVal ) == true || minVal == "0"){
        alert("최소 검색 범위를 정확히 입력해 주세요");
        min.select();
        min.focus();
        return false;
    } else if( isNaN( maxVal ) == true || maxVal == "0"){
        alert("최대 검색 범위를 정확히 입력해 주세요");
        max.select();
        max.focus();
        return false;
    }
    var inpObj = form[elId];

    if( inpObj ){
        inpObj.value = "MI";
    }
    
    setSearchValue();
}

// 매물정보 탭 경매 클릭
function showSummaryAuction(){
    UI.$("SummaryMaemullist").style.display = "none";
    UI.$("SummaryAuctionlist").style.display = "block";
}
// 매물정보 탭 경매 클릭
function showSummaryMaemul(){
    UI.$("SummaryMaemullist").style.display = "block";
    UI.$("SummaryAuctionlist").style.display = "none";
}
// 라디오버튼으로 탭메뉴 만들기
function radioTabSwitch( objInp ){
    var val = eval("("+ objInp.value +")" );
    for ( var n in val.item ){
        var obj = UI.$(val.item[n]);
        if( val.item[n] == val.view ){
            obj.style.display = "block";
        } else {
            obj.style.display = "none";
        }
    }
}
//지도 크게보기 > 로컬로 연결
function openGISPopup(centerX,centerY,centerName,curMapObj) {
	var map_type = ""; 
	var map_attr = ""; 
	var map_hybrid = ""; 
	var map_level = 4; 

	if( curMapObj ){
		map_type = curMapObj.getMapType(); 
		map_attr = curMapObj.getMapAttribute(); 
		map_hybrid = curMapObj.isHybrid(); 
		map_level = curMapObj.getLevel();
	}
    var rUrl = "http://local.daum.net/map/index.jsp?pos=" + centerX + "|"+centerY + "&coord=wcong&name="+centerName + "&map_type=" + map_type + "&map_attribute=" + map_attr + "&map_hybrid=" + map_hybrid + "&URLLEVEL=" + map_level;
    mapWindow = window.open(rUrl, "MapBrowser");
    mapWindow.focus();  
}

//"무료통화" 팝업 오픈.
// id-무료통화아이디, aptName-단지명, sangho-단지지정업소 상호
function openFreeCallPopup(id, aptName, sangho){
    var oDiv = UI.$("freeCallDiv");
    var calPageWidth = 285; // 무료통화 창의 폭
    var calPageHeight = 155; // 무료통화 창의 높이

    /* 이미 생성한 div가 있다면 그것을 삭제 (무료통화버튼을 연속해서 누르는 경우)*/
    if(oDiv==null){
        /* div객체 생성 */
        oDiv=doc.createElement("DIV");
        oDiv.id="freeCallDiv";
        oDiv.style.position='absolute';
        UI.$("BtnFreeCall").parentNode.appendChild(oDiv);

        /* div의 크기와 위치 조정 */

        var crtPageWidth = doc.body.clientWidth; // 현재 프레임의 폭(스크롤 영역 제외한 폭)
        var crtPageHeight = doc.body.clientHeight;// 현재 프레임의 높이(스크롤 영역 제외한 폭)
        /*
        var X = doc.body.scrollLeft; // 클릭 이벤트가 일어난 X위치(스크롤 길이 포함)
        var Y = doc.body.scrollTop; // 클릭 이벤트가 일어난 Y위치(스크롤 길이 포함)

        // 현재 이벤트 X,Y 의 위치에서 창이 오픈될 경우 현재 프레임(스크롤바 영역 제외)의 크기보다 무료통화 창이 크다면 무료통화창이 열리는 위치를 조정
        if(event.clientX + calPageWidth > crtPageWidth)
        oDiv.style.left = X - calPageWidth;
        else oDiv.style.left = X;
        if(event.clientY + calPageHeight > crtPageHeight)
        oDiv.style.top = Y - calPageHeight;
        else oDiv.style.top = Y;
        */
        oDiv.style.textIndent = "0";
        oDiv.style.margin = "0 0 0 10px";
    } 

    /* div 안에 아이프레임 소스 삽입 */
    var url = "http://211.58.122.57:8080/call/phoneNum.call?id="+id+"&name="+aptName+" 지정업소: "+sangho;
    // var url = "http://211.58.122.57:8080/call/phoneNum.call?id=Daum00001&name="+aptName+" 지정업소: "+sangho;
    var innerSrc = "<iframe name='freeCallFrame' width='"+calPageWidth+"' height='131' src='"+url+"' frameborder='0' scrolling='no' style='margin:0 0 0 0'></iframe>"
        +"<!-- 닫기버튼 -->"
        +"<div style=' margin:0; padding:0; width:285px; height:24px; text-align:center; background:url(http://fn.daum-img.net/image/finance/estate/2006/sub_img/bg_close.gif) no-repeat'>"
        +" <img src='http://fn.daum-img.net/image/finance/estate/2006/sub_img/btn_close.gif' alt='닫기' onclick='closeFreeCallPopup(\"freeCallDiv\");' width='23' height='15' border='0' style='cursor:pointer;margin-top:4px;' /></a>"
        +"</div>";
    oDiv.innerHTML = innerSrc;
    oDiv.style.width = calPageWidth+"px";
    oDiv.style.height = calPageHeight+"px";
    oDiv.style.display= "inline";
    oDiv.style.backgroundColor="#FFF";
}

// 오픈되어 있는 iframe창을 사라지게 하기 위한 펑션
//sDivName -
function closeFreeCallPopup(sDivName){
    if( UI.$( sDivName) ){
        UI.$( sDivName).style.display = "none";
    }
}

// 매물상세에서 설명 넣기
function getMaemulDescTxt(){
/*
    var obj =UI.$("mdescTxt");
    var trg =UI.$("mdescCon");
    if( obj && trg ){
        trg.innerHTML = obj.innerHTML;
    }
    */
}


/********
    매물리스트 도움말 풍선
    
********/
function closeHelpLayer(){
    var objT = UI.$("helpLayer_theme");
    var objC = UI.$("helpLayer_common");
    if( objT ){objT.style.display = "none";}
    if( objC ){objC.style.display = "none";}
    var val = getCookie("helpLayer");
    
    setCookie("helpLayer","off",365);
    val = getCookie("helpLayer");
}
function checkHelpLayer(){
    var val = getCookie("helpLayer");
 
    if( val != "off" ){
        var objT = UI.$("helpLayer_theme");
 
        var objC = UI.$("helpLayer_common");
        if( objT ){objT.style.display = "block";}
        if( objC ){objC.style.display = "block";}
    }
}


/*************
    클릭로그 - 네비 플래시
*************/
function maemulClicklog( option ){
    var url = location.href;
    var cname = "";
    var part = "";
    if( option.menu == "area" ){
        if( url.indexOf("/summary") > -1 ){
            cname = "ZMES";
            switch( option.type ){
            case "common":part=3;break;
            case "theme":part=3;break;
            }
        } else if ( url.indexOf("/auctionlist") > -1 ){// 경매
            cname = "Z6ES";
            part = 9;
        } else if ( url.indexOf("/maemullist") > -1 || url.indexOf("/themelist") > -1 ){ // 일반, 테마
            cname = "Z6ES";
            switch( option.type ){
            case "common":part = 7;break;
            case "theme":part = 4;break;
            }
        }
    } else if ( option.menu == "danji" ){
        if( url.indexOf("/summary") > -1 ){
            cname = "XMES";
            switch( option.type ){
            case "common":part=2;break;
            case "theme":part=2;break;
            }
        } else if ( url.indexOf("/maemullist") > -1 || url.indexOf("/themelist") > -1 ){ // 일반, 테마
            cname = "X2ES";
            switch( option.type ){
            case "common":part = 6;break;
            case "theme":part = 3;break;
            }
        }
    }
    if( part != "" ){
        return gLink(null, cname, option.seq, part);
    }
}
function flashClicklogTop( option ){
    /* option = {mode:"",seq:""} */
    var url = location.href;

    var prefix = "";
    var cname = "";
    var seq = option.seq; // 검색결과에 따른 증가값
    var part = "";
    if( url.indexOf("realestate.daum.net/maemul/") > -1 ){prefix = "P";}// 매물시세
    else if ( url.indexOf("realestate.daum.net/search/") > -1 ){}// 검색
    else if ( url.indexOf("realestate.daum.net/") > -1 ){prefix = "H";}// 탑

    switch( option.mode ){
        case "type_area":
        case "type_subway":
            cname = "GES";part = "1";break;
        case "saletype":
            cname = "GES";part = "2";break;
        case "category":
            cname = "GES";part = "3";break;
        case "new_link":
            cname = "GES";part = "4";break;
        case "area_path_link":
            cname = "AES";part = "1";break;
        case "area_jump_link":
            cname = "AES";part = "2";break;
        case "area_wide":
            cname = "AES";part = "3";break;
        case "area_list":
            cname = "AES";part = "4";break;
        case "map_rate":
        case "map_price":
            cname = "AES";part = "5";break;
        case "sise_graph":
            cname = "AES";part = "6";break;
        case "map_area":
            cname = "AES";part = "7";break;
    }
    if( prefix != "" ){
        try{console.log( prefix+cname + " / "  + seq + " / "  + part  );}catch (e){}
        gLink(null, prefix+cname, seq, part);
    }
}
function flashClicklogSihwang( option ){
    var url = location.href;
    var cname = "";
    var seq = option.seq; // 검색결과에 따른 증가값
    var part = "";

    switch( option.mode ){
        case "tab":
            cname = "HMES";part = "1";
            break;
        case "date":
            cname = "HMES";part = "2";
            break;
    }
    try
    {
        console.log( option);
    }
    catch (e)
    {
    }
    if( cname != "" ){
        try{console.log( cname + " / "  + seq + " / "  + part  );}catch (e){}
        gLink(null, prefix+cname, seq, part);
    }
}

function calculatedScaleEstate( scale ) {
    var curScale = 0;
    if (scale == 0 ) { curScale = 1.5;  
    } else if (scale == 1) {    curScale = 3.0;
    } else if (scale == 2) {    curScale = 6.0; 
    } else if (scale == 3) {    curScale = 12.0;
    } else if (scale == 4) {    curScale = 24.0;    
    } else if (scale == 5) {    curScale = 48.0;
    } else if (scale == 6) {    curScale = 96.0;    
    } else if (scale == 7) {    curScale = 192.0;
    } else if (scale == 8) {    curScale = 384.0;   
    } else if (scale == 9) {    curScale = 768.0;
    } else if (scale == 10){    curScale = 1536.0;  
    } else { curScale = 2500.0;}
    return curScale;
}


function popupDanjiInfoEdit( url){
    if( !!url ){
        //var popCompInfo = popup('/maemul/danji/'+danjiId+'/edit/modifyRequest','danjiinfoeditpop',{width:800,height:570,scrollbars:'no'});
        var popCompInfo = popup(url,'danjiinfoeditpop',{width:800,height:570,scrollbars:'no'});
    
        popCompInfo.focus();
    }
}

function LineSubwayUrl(){
	this.url = "/common/lineSubwayCode.daum";
}

LineSubwayUrl.prototype = {
	call : function(subwayName){
        var form = document.pathForm;
        var _url = "";
        var _name = encodeURIComponent(subwayName);
    	_url = this.url + "?lineMapCode=" + form.lineMapCode.value + "&lineCode=" + form.lineCode.value + "&name=" + _name;

		var ajax = new FN.Ajax( {url:_url} );
		ajax.options.onComplete = this.complete.bind(this);
		ajax.send();
	}, 
	
	complete : function(res){
	    var json = eval("("+res.responseText+")" );
	    this.getLineCode(json);
	}, 
	
	getLineCode : function(result){
		var baseUrl = "/maemul/subway/";
		var form = document.pathForm; 
		url = []; 
		if( result.code == ""){
			result.code = "1100000";
		}
		url.push ( result.code );
		url.push ( form.cateCode.value );
		url.push ( form.allCateCodes.value );
		url.push ( form.saleType.value );
		url.push ( form.distanceCode.value );
		url.push ( "summary" );
 
		var goUrl = baseUrl + url.join("/");
		document.location.href = goUrl; 
	}
}

/*
 * 맵 스테이터스 영역 
 */
function mcateCodeClick(thisObj){
	if( '$!{navi.mcatecode}' == thisObj.getAttribute('value')){
		alert("처음 선택하신 매물종류로 제외할 수 없습니다.");
		return;
	}

	if( thisObj.className.indexOf('bold') != -1 ){
		thisObj.className = "catecode" ;
	}else{
		thisObj.className = "catecode bold " + thisObj.getAttribute('value') ;
	}
}
function chkCondValidation(){
	try{
		var pathForm = document.pathForm;
		var themeNil = {
			'T01' : '3year', 
			'T02' : 'housecnt',
			'T03' : '5up',
			'T04' : 'rate',
			'T05' : 'subway500m',
			'T07' : '5down'
		}
		
		// 물건종류
		var extlist = UI.$("schMCateCode").getElementsByTagName('li');
		var str= "";  
	 
		for( var i=0; i<extlist.length; i++){
			if( extlist[i].className.indexOf("bold") != -1){
				str += extlist[i].getAttribute("value"); 
			}
		}
		pathForm.allCateCodes.value = str;
	 	// 테마
	 	if(UI.$("schCondTheme")){
			var themelist = UI.$("schCondTheme").getElementsByTagName('img');
			
			for( var j=0; j<themelist.length ; j++){
				if( themelist[j].src.indexOf("icoRadioOn") != -1){
					pathForm.themeId.value = UI.$("schCondTheme").getElementsByTagName('input')[j].value;
				}
			}
		}		
	 	var _param = "themeId="+ pathForm.themeId.value ;"";

	 	var opt = [];
	 	opt.schParam = _param;
	 	if(themeNil[pathForm.themeId.value] ){
	 		opt.nil_type = "theme";
	 		opt.nil_value= 'nil_maemul=' + themeNil[pathForm.themeId.value];
	 	}
	 	
		pathFormSubmit(opt);
	}catch(e){
	}
}

function schCondReset(){
	var pathForm = document.pathForm;
	pathForm.themeId.value = "*";  
	var _param = "themeId="+ pathForm.themeId.value;
 
	if(pathForm.cateCode.value == "A1"){
		pathForm.allCateCodes.value = "A1A3A4" ;
		pathForm.allCateCodesValue.value = "A1A3A4" ;  
	}else{
		pathForm.allCateCodes.value = pathForm.cateCode.value ;
		pathForm.allCateCodesValue.value = pathForm.cateCode.value ;
	}
	
	pathFormSubmit({schParam:_param});
}

function showSearchCond(type, value, thisObj, rdo){
	try{
		if( type ){
			if( type=="close"){
				var list; 
				if( "$!{navi.naviType}" =="subway"){
					list = UI.$("TopSubwayTab").getElementsByTagName('li');
				}else{
					list = UI.$("subDanjiTab").getElementsByTagName('li');
				} 
				for( var i=0; i<list.length; i++){
					if(list[i].className=="catecode"){
						list[i].className = "catecode " + list[i].getAttribute('value'); 
					}
					if( list[i].className.indexOf("on")!=-1 ){
						list[i].className =  "schcond"; 
					}
				}
			}else if( type=="cate"){
				if( value ==thisObj.getAttribute("value")){
					alert("처음 선택하신 매물종류로 제외할 수 없습니다.");
					retrun;
				}				
				var list =  UI.$("schMCateCode").getElementsByTagName('li');
				for ( var i=0; i<list.length; i++){
					if( list[i].getAttribute("value") == thisObj.getAttribute('value')  ){
						if( list[i].className.indexOf("bold") != -1){
							list[i].className = "catecode";
							thisObj.className = "catecode";
						}else{
							list[i].className = "catecode bold " + thisObj.getAttribute('value');
							thisObj.className = "catecode " + thisObj.getAttribute('value');
						}
						break;
					}
				}
			}else if( type == "theme" ){
				if( thisObj ){
					for(var j=1; j<=3 ; j++){
						UI.$('theme' + j).className = "schcond";
					}
					thisObj.className = "schcond on";  
				}
			
				var tlist = document.getElementsByName("condRadio");
				for ( var i=0; i< tlist.length ; i++){
					if( value == tlist[i].value ){
						rdo.select(tlist[i].id);
						tlist[i].parentNode.getElementsByTagName('label')[0].className = "on";
						break;
					}
				}
			} 
		}
		
		var layer = UI.$("schCondLayer");
		if(layer.style.display == "none"){
			layer.style.display = "block";
			if(UI.$("mapHandleH")){
				UI.$("mapHandleH").style.display = "none";
			}	 
			UI.$("arrowAllview").style.display = "block"; 
		}else{
			if( (type=="theme" || type=="cate") && layer.style.display == "block"){
				
			}else{
				layer.style.display = "none";
				if(UI.$("mapHandleH")){
					UI.$("mapHandleH").style.display = "block";
				}
				UI.$("arrowAllview").style.display = "none";  
			}	
		}
	}catch(e){}
}

function popupCafeApply( url){
    if( !!url ){
        var _popupCafeApply = popup(url,'popupCafeApply',{width:800,height:570,scrollbars:'no'});
    
        _popupCafeApply.focus();
 
    }
}

function goAgencyHomepage(url){
	try{
		if( url.indexOf('http://') != -1 ){
			window.open(url);
		}else{
			window.open('http://' + url );
		}
		return false;
	}catch(e){
	}
}
 
/*****************/
/* 단지 소팅 기능 */
/*****************/	
var danjiList_sort = function(){
 	this.sort = "";
 	this.direction = 1; 
}
danjiList_sort.prototype = {
	call : function(thisObj, type){
	try{
		// sort : type
		// direction : 1/2
		var alist = UI.$("danjiSortTab").getElementsByTagName('a'); 
		for( var i=0; i< alist.length; i++){
			alist[i].className = "sortTab";
		}

		if( this.sort == type ){
			this.direction = (this.direction=="1"?2:1)
			thisObj.className = "sortTab on arr" + this.direction;
		}else{
			this.direction = 1;
			thisObj.className = "sortTab on arr1";
		}
		this.sort = type;
		
		
		
		var frm = document.pathForm;
		var areacode ;  
		var callUrl =""; 
		areacode = frm.areaCode.value;
		themeId = frm.themeId.value; 
		var extCateodes = frm.allCateCodesValue.value;
		if( frm.naviType.value == "subway"){
			areacode = frm.stationCode.value;
			callUrl = "/maemul/common/subdanji.daum?stationcode="+areacode+  "&mcatecode=" +extCateodes+ "&mode=map&sort=" + this.sort + "&direction=" + this.direction + "&themeId=" + themeId;
		}else{
			areacode = frm.areaCode.value;
			callUrl = "/maemul/common/subdanji.daum?areacode="+areacode+  "&mcatecode=" +extCateodes+ "&mode=map&sort=" + this.sort + "&direction=" + this.direction  + "&themeId=" + themeId;
		}  
        var ajax = new FN.Ajax( {url:callUrl} );
        ajax.options.onComplete = this.render.bind(this);
 
        ajax.send();
	}catch(e){}
	},
	
	render : function(res){
		try{
        var json = eval("("+res.responseText+")" );
        danjiList = json.danjiList; 
		var ifr = document.getElementById("mapif").contentWindow;
		
		// 맵 심볼 올리기
		dmap.clearOverlay();
		ifr.layerWindow = null;
		danjiOpt.moveMapType = 'none';
		ifr.mapInitEstate( dmap, 'summary_area');
		
		var frm = document.pathForm;
		if( frm.naviType.value == "subway"){
			ifr.radiusDraw(dmap, UI.$("mapXpos").value, UI.$("mapYpos").value , 'summary_area');
		}
		
		// 리스트 다시 그리기
		this.renderList(json.list);    
		}catch(e){}
	}, 
	
	renderList : function(list){
		try{
		var frm = document.pathForm;
		var html = "";
		if( list.length ==0){
			UI.$('mapDanjiList').innerHTML =  "<li>단지가 없습니다</li>";
		}else{
			UI.$('mapDanjiList').innerHTML = "";
			var template = '<li title="$danjiname"><span class="mark markIcon$mcatecode">$count</span> <a href="$url" onclick="return gLink(null, \'ZCES\', \'$count\',\'1\')" onmouseover="mOver(event, dmap, \'$danjiid\', mapId[$count],{idx:\'$count\', x:\'$xpos\',y:\'$ypos\', saletype:\'$saletype\', ctrl:mapFrameCtl});" class="gray_blue">$danjiname</a>$roadview<img src="http://fn.daum-img.net/image/estate/2008/maemulSise/icnListImg.gif" alt="" class="icnEmpty" /></li>';		
			for( var i=0; i< list.length ; i++){
				var str = template;
				str = str.replace(/\$danjiname/gi, list[i].danjiname);
				str = str.replace(/\$danjiid/gi, list[i].danjiid);
				str = str.replace(/\$mcatecode/gi, list[i].mcatecode);
				str = str.replace(/\$count/gi, list[i].id);
				str = str.replace(/\$xpos/gi, list[i].xpos);
				str = str.replace(/\$ypos/gi, list[i].ypos);
				str = str.replace(/\$saletype/gi, frm.saleType.value);
				str = str.replace(/\$url/gi, "/maemul/danji/" + list[i].danjiid + "/" + list[i].extCatecodes +"/" + frm.saleType.value + "/summary");

				var rv = ""; 	
				if( list[i].roadViewYN == "Y"){
					var rvTemp = '<a class="rv" href="" onclick="goRoadview(dmap, \'$roadViewXPos\', \'$roadViewYPos\',\'$menuType\');return false;"><em class="icnRoadview" title="로드뷰 바로가기">로드뷰 바로가기</em></a>';
					rv = rvTemp;
					rv = rv.replace(/\$roadviewXPos/gi, list[i].roadviewXPos);
					rv = rv.replace(/\$roadviewYPos/gi, list[i].roadviewYPos);
					rv = rv.replace(/\$menuType/gi, frm.menuType.value);
				}
				str = str.replace(/\$roadview/gi, rv);
				html += str;
			}
			//UI.$('txtListCount').innerHTML = list.length + '개'; 
			UI.$('mapDanjiList').innerHTML = html;
		}
		}catch(e){}
	}
}

/**
 * siseTotal.js 에서 이전한 코드  
 * 
 * 
 */
 
//modal 창 height resize
var compareIframeResize = function( height ){
    var iframe = top.document.getElementById("UIModalIframe");
    if ( iframe ){
        iframe.height = height;
    }
};

var getChartFlash = function( _param ){
	var param = {
		type:"",
		swfUrl:"", 
		width:"", 
		height:"", 
		divId:"", 
		url:"", 
		urlParam:""
	};
	Object.extend( param, _param );
 
	switch( param.type ){
	case "BAR":
		//param.swfUrl = "http://fn.daum-img.net/flash/estate/2008/cache/charts/default/MSColumn2D.swf";
		param.swfUrl = "http://fn.daum-img.net/flash/charts/default/MSColumn2D.swf";
		break;
	case "LINE_DUAL":
		param.swfUrl = "http://fn.daum-img.net/flash/charts/default/MSCombiDY2D.swf"
		break;
	case "LINE":
		param.swfUrl = "http://fn.daum-img.net/flash/charts/remake/MSLineCategoryLine.swf"
		break;
	}
	
 	var chartAjax = new FN.Ajax( {
    	url: param.url,
    	param: param.urlParam,
    	method: "get",
    	onComplete: function( res ){
        	var text = res.responseText;
        	text = text.replace(/[\r\n]/g,"");
    		DaumFlash( param.swfUrl, "dataXML="+text, param.width, param.height, param.divId );
        }
	});
 
	chartAjax.send();
}

var submitCompare = function(){
    var objDanji1 = UI.$("compArea1_danji");
    var objDanjiSize1 = UI.$("compArea1_size");
    var objDanji2 = UI.$("compArea2_danji");
    var objDanjiSize2 = UI.$("compArea2_size");
    
    if( objDanji1.value == "" ){
        alert("첫번째 비교대상 단지를 선택해 주세요");
        objDanji1.focus();
        return false;        
    }
    if( objDanjiSize1.value == "" ){
        alert("첫번째 비교대상 단지의 면적을 선택해 주세요");
        objDanjiSize1.focus();
        return false;        
    }
    if( objDanji2.value == "" ){
        alert("두번째 비교대상 단지를 선택해 주세요");
        objDanji2.focus();
        return false;        
    }
    if( objDanjiSize2.value == "" ){
        alert("두번째 비교대상 단지의 면적을 선택해 주세요");
        objDanjiSize2.focus();
        return false;        
    }    
    
    var url = "/maemul/compare/sise.daum";
    var param = "?danjiid1="+objDanji1.value+"&ptype1="+objDanjiSize1.value+"&danjiid2="+objDanji2.value+"&ptype2="+objDanjiSize2.value;
    
    location.href=url+param;
};

var runCompareDanji = function(){
    var el = doc.getElementsByName("chkDanjiId");
    if( !el ){
        alert("비교할 단지가 없습니다.");
        return false;
    }
    
    var param = "";//danjiid1=10000&ptype1=17&danjiid2=10000&ptype2=17
    var count = 0;
    for( var num=0,cnt=el.length; num<cnt; num++ ){
        if( el[num].checked ){
            count++;
            if( count == 1 ){ param = "?" }
            else { param += "&" }
            
            var temp = el[num].value.split("_");
            param += "danjiid"+count+"="+temp[0]+
                    "&ptype"+count+"="+temp[1];
        }
    }
    
    if( count == 0 ){
        alert("비교할 단지를 선택해 주세요.");
        return false;
    } else if( count != 2 ){
        alert("2개의 단지를 선택해 주세요");
        return false;
    }
    
    var url = "/maemul/compare/sise.daum";
    var width = document.documentElement.scrollWidth;
    var height = document.documentElement.scrollHeight;
    new UI.Modal(url+param, {type:'iframe',width:width, height:height, scroll:false, top:137, status:'width=978 height=800 frameborder=0 scrolling=no'});
    scrollTo( 0, 130 );
    ///maemul/compare/sise.daum?danjiid1=10000&ptype1=17&danjiid2=10000&ptype2=17
};

var setSortValue = function( type ){
    var frm = document.forms.frmCond;
    var oldVal = frm.sort.value;
    
    if( type == oldVal ){
        if( frm.direction.value == "-" ){
            frm.direction.value = "";
        } else {
            frm.direction.value = "-";
        }
    } else {
        frm.direction.value = "";
    }
    // 정렬값 입력
    frm.sort.value = type;
    
    for( var i=frm.elements.length-1 ; i>=0; i-- ){
        var ele = frm.elements[i];
        if( ele.value == "" ){
            ele.disabled = true;
        }
    }    
    frm.submit();
    
};

var checkCookieCondtionBox = function(){
    var result = getCookie("estateConditionBox");
    UI.show("switchConditionBox");
    if( result == "on" ){
        toggleCondtionBox( result );    
    }
};

var setCookieConditionBox = function( mode ){
    switch( mode ){
    case "on":
    case "off":
        setCookie("estateConditionBox","off",365);
        break;    
    }
};


var toggleCondtionBox = function( mode ){
    var switchObj = UI.$("switchConditionBox");
    
    if( !!mode == false ){
        mode = switchObj.className;
    }
    
    if( mode == "on" ){
        // state off
        switchObj.title = switchObj.innerHTML = "모든 검색조건 펼치기";
        switchObj.className = "off";
        UI.hide("CondInnerBox");
    } else {
        // state on
        switchObj.title = switchObj.innerHTML = "모든 검색조건 접기";
        switchObj.className = "on";
        UI.show("CondInnerBox");        
    }
    
    // 변경된 상태로 쿠키 저장
    //setCookieConditionBox( switchObj.className );
};

// 검색조건 초기화
var resetCondValue = function( formName ){
	var frm = document.forms[ formName ];
    if( !!frm === false ){
        alert('form을 찾을 수 없습니다.');
        return false;
    }
    
    var elements = [
        "themeid", "buildyearcode", "brandcode", "housecntcode", "pricecode", "saletypecode", "sizecode", "page", "direction", "sort"
    ];
    for( var property in elements ){
    	// 역세권에서는 themeid가 존재하지 않음
    	var obj = frm[ elements[property] ];
    	if( obj ) obj.disabled = true;
    }
    
    var elements_clean = [
      "mcatecode", "type",
      "sidoAreacode1", "guAreacode1", "dongAreacode1",
      "sidoAreacode2", "guAreacode2", "dongAreacode2",
      "sidoAreacode3", "guAreacode3", "dongAreacode3",
      "subwayAreacode1", "linecode1", "stationcode1",
      "subwayAreacode2", "linecode2", "stationcode2",
      "subwayAreacode3", "linecode3", "stationcode3"
	];
    for( var property in elements_clean ){
    	var obj = frm[ elements_clean[property] ];
    	if( frm.naviType.value == "area" || frm.naviType.value == "subway" ) {
    		// 매물/시세 메뉴 하위의 검색에서는 지역값은 상세조건에 포함되므로 초기화
    		if( obj ) obj.disabled = true;
    	} else {
    		if( obj && obj.value == "" ) obj.disabled = true;
    	}
    }
    frm.submit();
}

// 검색
var setCondValue = function( formName, values ){
    var frm = document.forms[ formName ];
    if( !!frm === false ){
        alert('form을 찾을 수 없습니다.');
        return false;
    }
    // 페이지는 항상 초기화
    frm.page.value = ""; 
    
    for( var variable in values ){
        var objVar = frm[ variable ];
        if( !!objVar === true ){
            objVar.value = values[variable];
        } else {
            alert( "존재하지 않는 변수 값 : "+variable );
        }
    }
    checkDetialCondition();
    
    for( var i=frm.elements.length-1 ; i>=0; i-- ){
        var ele = frm.elements[i];
        if( ele.value == "" ){
            ele.disabled = true;
        }
    }
    
    frm.submit();
    /*
    for( var i=frm.elements.length-1 ; i>=0; i-- ){
        var ele = frm.elements[i];
        ele.disabled = false;
    }
    frm.submit();
    */
};

var checkSelectBox = function( type, num ){
	var frmSrc = doc.forms.frmCondSpc;
    var validSel = {
    	area: [ "sidoAreacode", "guAreacode", "dongAreacode" ],
    	subway: [ "subwayAreacode", "linecode", "stationcode" ]                
    };
    
    var isError = false;
 
    for( var i=1; i<3; i++ ){
    	var src = frmSrc[ validSel[type][i]+"1" ];
    	var trgFirst = frmSrc[ validSel[type][0]+num ];
    	var trg = frmSrc[ validSel[type][i]+num ];
    	if( src.value != "" && trgFirst.value != "" && trg.value == ""  ){
    		isError = true;
    	} else if( trg.value != "" && src.value == "" ){
    		isError = true;
    	}
    }
    return isError;
};

var tossCondValue = function(){
    var frmSrc = doc.forms.frmCondSpc;
    var frmTrg = doc.forms.frmCond;
    if( !!frmSrc == false || !!frmTrg == false ){
        alert("form이 존재하지 않습니다");
        return false;
    }
    
	// validSel loop
    if( frmSrc.sidoAreacode2 ){
    	var type = (frmSrc.type[0].checked===true?'area':'subway');
    	//alert(type);
		for( var i=2; i<=3; i++ ){
		    if( checkSelectBox( type, i ) == true ){
		    	if( type == "area") {
		    		alert("구시군, 읍면동의 동일한 지역단위까지 선택시에만 가능합니다.");
		    	} else if( type == "subway" ){
		    		alert("노선명, 역명의 동일한 지역단위까지 선택시에만 가능합니다.");
		    	}
		    	return false;
		    }
	    }
    }
    
    var elements = [
        "mcatecode_A1","mcatecode_A2","mcatecode_A3","mcatecode_A4","mcatecode_A5","mcatecode_A6","mcatecode_A7",
        "type","result",
        "sidoAreacode1", "guAreacode1", "dongAreacode1",
        "sidoAreacode2", "guAreacode2", "dongAreacode2",
        "sidoAreacode3", "guAreacode3", "dongAreacode3",
        "subwayAreacode1", "linecode1", "stationcode1",
        "subwayAreacode2", "linecode2", "stationcode2",
        "subwayAreacode3", "linecode3", "stationcode3"
    ];
    var searchDepth = 0;
    var aryCatecodes = [];
    var _type = "";
   
    for( var eleNum in elements ){
        var ele = elements[eleNum];
        var frmEle = frmSrc[ ele ];
        var trgEle = [];

        if( frmEle ){
        	if( frmEle[0] && frmEle.length==2 && frmEle[0].type && frmEle[0].type.indexOf("radio")>-1){
        		if( frmEle[0].checked === true){
        			_type = "area";
        		}else{
        			_type = "subway";
        		}
        	}else{	
		        if( frmEle.name.indexOf("mcatecode")>-1 ){
		            if( frmEle.checked === true) aryCatecodes.push( frmEle.value );
		        }else {
		            trgEle = frmTrg[ele] ;
		            if( trgEle && (frmEle.type.indexOf("select") > -1 || frmEle.value != "" ) ){
		            	trgEle.value = frmEle.value;
		            }
		        }
        	} 
        }
    }
    frmTrg.type.value = _type;
    frmTrg.mcatecode.value = aryCatecodes.join("");
    if( frmTrg.mcatecode.value == "" ){
        alert("물건종류를 선택해 주세요");
        return false;
    }
    
    checkDetialCondition();
    disabledBlankElement( frmTrg );
    //return false;
    frmTrg.action = "http://realestate.daum.net/maemul/SiseList.daum"; 
    frmTrg.submit();
};


var showNaviLayer = function(type){
	UI.$("areaBox").style.display = type;
}

/**
 * 아파트 시세 조회 서브에서 상세조건 보기 구현
 * 상세조건을 검색했을때만 result값에 Y를 넣음
 * 
 * @return
 */
var checkDetialCondition = function(){
	var frmTrg = doc.forms.frmCond;
	if( frmTrg.naviType.value == "area" || frmTrg.naviType.value == "subway" ) {
		return false;
	}
	
	var isExistCondition = false;
	var trgEleCom = ["sizecode", "saletypecode", "pricecode", "housecntcode", "brandcode", "buildyearcode", "themeid"];
	for( var i in trgEleCom ){
		if( frmTrg.elements[ trgEleCom[i] ] && frmTrg.elements[ trgEleCom[i] ].value != "" ) {
			if( trgEleCom[i] == "saletypecode" ){
				if( frmTrg.elements[ trgEleCom[i] ].value != "S" ){
					isExistCondition = true;
				}
			} else {
				isExistCondition = true;
			}
		} 
	}
	
	if( isExistCondition == true ){
		frmTrg.result.value = "Y";
	}
};


var disabledBlankElement = function( frm ){
    for( var eleNum in frm.elements ){
        var el = frm.elements[eleNum];
        try {
	        if( el.value == "" ){
	            el.disabled = true;
	        } else {
	            el.disabled = false;
	        }
        } catch(e){}
    }
};

var changeType = function( value ){
	var obj = UI.$("conAreaType").getElementsByTagName('label'); 
	var objInput = UI.$("conAreaType").getElementsByTagName('input'); 
    switch( value.toLowerCase() ){
    case "area":
        UI.show("typeArea");
        UI.hide("typeSubway");
        obj[0].className = "on";
      //  objInput[0].checked = "checked";
        obj[1].className = ""; 
       // objInput[1].checked = "";
        break;
    case "subway":
        UI.hide("typeArea");
        UI.show("typeSubway");
        obj[0].className = "";
      //  objInput[0].checked = "";
        obj[1].className = "on"; 
      //  objInput[1].checked = "checked";
        break;
    }
};


var CompareNavi = function() {
 
    this.prefix = null;
    this.suffix = null;
    this.srcObj = null;
    this.trgObj = null;
}
CompareNavi.mcatecode = null;
CompareNavi.type = null;
CompareNavi.prototype = {
    setValue : function( srcObj ){
	try{
        var match = srcObj.id.match(/^([a-zA-Z0-9_-]*)_(saletype|catecode|si|gu|dong|danji|area|line|station)$/);
        this.prefix = match[1];
        this.suffix = match[2];
 
        if( srcObj.value == "" ) {
            this.setSBoxInit();
            return false;
        }        
        var url = "";
        if( CompareNavi.mcatecode == null ){ CompareNavi.mcatecode = "A1";/*alert("매물종류가 선택되지 않았습니다"); return false; */}
        if( this.prefix.toLowerCase().indexOf("area" ) > -1 ){
            CompareNavi.type = "area";
	        switch( this.suffix ){
	            case "dong":
	            case "catecode":
	                url = "/maemul/common/subdanji.daum?areacode="+srcObj.value+"&mcatecode="+CompareNavi.mcatecode+"&function=comNavi.setList_"+this.suffix;
	                CompareNavi.typeDetail = "danji";
	                break;
	            case "danji":
	                url = "/maemul/common/subptype.daum?danjiid="+srcObj.value+"&function=comNavi.setList_"+this.suffix;
	                CompareNavi.typeDetail = "size";
                    break;
	            default :
	                url = "/maemul/common/subarea.daum?areacode="+srcObj.value+"&function=comNavi.setList_"+this.suffix;
	                CompareNavi.typeDetail = "area";
	        }
        } else if( this.prefix.toLowerCase().indexOf("subway" ) > -1 ){
            CompareNavi.type = "subway";
 
            switch( this.suffix ){
                case "area":
                    CompareNavi.typeDetail = "area";
                    CompareNavi.subwayCode = {
                        areacode : srcObj.value,
                        linecode : "",
                        stationcode : ""
                    }
                    url = "/common/childSubway.daum?subwayCode="+srcObj.value+"&mcatecode="+CompareNavi.mcatecode+"&function=comNavi.setList_"+this.suffix;
                    break;
                case "line":
 
                    CompareNavi.subwayCode = {
                            areacode : document.getElementById(this.prefix + '_area').value,
                            linecode : "",
                            stationcode : ""
                        }                	
                    CompareNavi.typeDetail = "line";
                    CompareNavi.subwayCode.linecode = srcObj.value
                    CompareNavi.subwayCode.stationcode = "";
                    url = "/common/childSubway.daum?subwayCode="+srcObj.value+"&mcatecode="+CompareNavi.mcatecode+"&function=comNavi.setList_"+this.suffix;
                    break;
                case "station":
                    CompareNavi.typeDetail = "station";
                    CompareNavi.subwayCode.stationcode = srcObj.value;
                    break;
                case "catecode":
//                    url = "/maemul/common/subdanji.daum?areacode="+CompareNavi.subwayCode.areacode+"&linecode="+CompareNavi.subwayCode.linecode+"&stationcode="+srcObj.value+"&mcatecode="+CompareNavi.mcatecode+"&function=comNavi.setList_"+this.suffix;
//                    CompareNavi.typeDetail = "danji";
                    break;
                case "danji":
                    url = "/maemul/common/subptype.daum?danjiid="+srcObj.value+"&function=comNavi.setList_"+this.suffix;
                    CompareNavi.typeDetail = "size";
                    break;
                default :
                    //url = "/maemul/common/subarea.daum?areacode="+srcObj.value+"&function=comNavi.setList_"+this.suffix;
                    //CompareNavi.type = "area";
            }
        }
        if( !!url === true){
            dynamicScript.call( url );
        }
	}catch(e){
		//console.debug(e.message);
	}
    },
    setList_si : function( data ){
        this.trgObj = UI.$(this.prefix + "_gu" );
        this.setSelectBox(data );
    },
    setList_gu : function( data ){
        this.trgObj = UI.$(this.prefix + "_dong" );
        this.setSelectBox(data );
    },
    setList_dong : function( data ){
        this.trgObj = UI.$(this.prefix + "_danji" );
        if( this.trgObj ){
            this.setSelectBox(data );
        }
    },
    setList_danji: function( data ){
        this.trgObj = UI.$(this.prefix + "_size" );
        if( this.trgObj ){
            this.setSelectBox(data );
        }
    },    
    setList_area : function( data ){
        this.trgObj = UI.$(this.prefix + "_line" );
        this.setSelectBox(data );
    },    
    setList_line : function( data ){
        this.trgObj = UI.$(this.prefix + "_station" );
        this.setSelectBox(data );
    },
    setList_station : function( data ){
        this.trgObj = UI.$(this.prefix + "_danji" );
        if( this.trgObj ){
            this.setSelectBox(data );
        }
    },
    setSBoxInit : function(){
        var trgList = new Array();
        switch( this.suffix ){
            case "si":
                trgList = ["gu","dong","danji","size"];
                break;
            case "gu":
                trgList = ["dong","danji","size"];
                break;
            case "dong":
                trgList = ["danji","size"];
                break;
            case "area":
                trgList = ["line","station","danji","size"];
                break;
            case "line":
                trgList = ["station","danji","size"];
                break;
            case "station":
                trgList = ["danji","size"];
                break;
            case "danji":
                trgList = ["size"];
                break;
        }
        for( var i=0; i<trgList.length; i++){
            var obj = UI.$( this.prefix + "_" + trgList[i]);
            if( obj ){
                var temp = (obj.options[0].value == "" )?obj.options[0].text:"선택하세요";
                
                obj.length = 0;
                UI.addOption( obj, temp, "" );
                //new UI.Select( obj.id, {trg_obj:this.trgObj.nextSibling} );
            }
        }
    },
    setSelectBox : function( json ){
        this.setSBoxInit();
        switch( CompareNavi.type ){
        case "area":
	        if ( CompareNavi.typeDetail == "area") {
	            for ( var an in json ){
	                UI.addOption( this.trgObj, json[an].areaname, json[an].areacode );
	            }
	        } else if ( CompareNavi.typeDetail == "danji" ) {
	            for ( var an in json ){
	                UI.addOption( this.trgObj, json[an].danjiname, json[an].danjiid );
	            }
            } else if ( CompareNavi.typeDetail == "size" ) {
                for ( var an in json ){
                    UI.addOption( this.trgObj, json[an].supsize+"㎡", json[an].ptype );
                }
	        }
            break;
        case "subway":
            if ( CompareNavi.typeDetail == "area") {
                for ( var an in json ){
                    UI.addOption( this.trgObj, json[an].linename, json[an].linecode );
                }
            } else if ( CompareNavi.typeDetail == "line") {
                for ( var an in json ){
                    UI.addOption( this.trgObj, json[an].stationname, json[an].stationcode );
                }
            } else if ( CompareNavi.typeDetail == "danji" ) {
                for ( var an in json ){
                    UI.addOption( this.trgObj, json[an].danjiname, json[an].danjiid );
                }
            } else if ( CompareNavi.typeDetail == "size" ) {
                for ( var an in json ){
                    UI.addOption( this.trgObj, json[an].supsize+"㎡", json[an].ptype );
                }
            }
            break;
        }    
        //new UI.Select( this.trgObj.id , {width:boxWidth, trg_obj:this.trgObj.nextSibling} );
    }
}


var comNavi = new CompareNavi();


var paramValidator = function(url){
	try{
	var isParam = false;
	var srcParam = url.split('?');
	
	if( srcParam.length != 1){
		var param = srcParam[1].split('&');
		if( param.length > 1){
			for( var i=0; i<param.length ; i++){
				var val = param[i].split('=');
				if( !val[0]) break;
				var isTrue = paramValidator_isCheck(val[0]);
				if( isTrue == true ){
					if(val[1] !="" && val[1] !="*" && val[1] !="0" ){
						isParam = true;
						break;
					}
				}
			}
		}else{
			var val = srcParam[1].split('=');
			if( val[0] ){
				var isTrue = paramValidator_isCheck(val[0]);
				if( isTrue == true ){
					if(val[1] !="" && val[1] !="*" && val[1] !="0" ){
						isParam = true;
					}
				}
			} 
		}
	}
	
	if(isParam == false){
		UI.$("schCondition").style.display = "none";
		UI.$("themeSpreadInner").className = "show";
		UI.$("themeSpreadInner").innerHTML = "검색항목 펼치기"; 
	}else{
		if(UI.$('schCondThemeMore')){
			UI.$('schCondThemeMore').style.display = "block";
		}
	}
	}catch(e){
	}
}

var paramValidator_isCheck = function(name){
	try{	
		var isTrue = true;
		var exceptionParam = ['nil_profile', 'nil_localtap', 's_mcate', 'page', 'condRadio', 'sort', 'viewMode', 'direction'];
		
		for( var j=0; j<exceptionParam.length; j++){
			if( name == exceptionParam[j]){
				isTrue = false;
				break;
			}
		}
		//console.debug(name, isTrue);
		return isTrue;   
	}catch(e){
		//console.debug(e.message);
	}
}
 