if (typeof c2 == 'undefined') c2 = {};
if (typeof c2.searchLayer == 'undefined') {
    c2.searchLayer = { };
    c2.searchLayer.initIframe =
        function (evt, obj) {
            try {
                Swaf.Dom.autoHeightIFrame(obj, 1); 
                var btnCloseAll = Swaf.Dom.getIFrameDoc(obj).getElementById('close_c2_all');
                if (btnCloseAll) {
                    $listener(btnCloseAll, 'click', function (evt, obj) { Event.stop(evt);
                        $('iframeSearchMain').src = 'about:blank';
                        $('iframeSearchOther').src = 'about:blank';
                        Swaf.Dom.hideElement($('iframeSearchMain'));
                        Swaf.Dom.hideElement($('iframeSearchOther'));
                        Swaf.Dom.hideElement($('divSearchLayer'));
                        c2.searchLayer.discoverLayer($('divSearchLayer'));
                        try {
                            if (resizeHome && typeof resizeHome == 'function') {
                                resizeHome();
                            }
                        } catch (e) { }
                        if (typeof onCloseSearchLayer == 'function') {
                            onCloseSearchLayer();
                        }
                    });
                }
                var btnMinimizeTop = Swaf.Dom.getIFrameDoc(obj).getElementById('close_c2_top');
                if (btnMinimizeTop) {
                    $listener(btnMinimizeTop, 'click', function (evt, obj) { Event.stop(evt);
                            var divToHide = Swaf.Dom.getIFrameDoc($('iframeSearchMain')).getElementById('viewResultsTop');
                            if (divToHide) {
                                Swaf.Dom.toggleShowElement(divToHide);
                                obj.alt = Swaf.Dom.getStyle(divToHide, 'display') == 'none' ? '검색결과 펼치기':'검색결과 숨기기';
                                Swaf.Dom.autoHeightIFrame($('iframeSearchMain'), 1); 
                                c2.searchLayer._toggleOpenImages(obj, Swaf.Dom.getStyle(divToHide, 'display') != 'none');
                                try { parent.c2.section.resizeIframeBody(); } catch (e) {}
                            }
                        });
                }
                var btnMinimizeBottom = Swaf.Dom.getIFrameDoc(obj).getElementById('close_c2_bottom');
                if (btnMinimizeBottom) {
                    $listener(btnMinimizeBottom, 'click', function (evt, obj) { Event.stop(evt);
                            var divToHide = Swaf.Dom.getIFrameDoc($('iframeSearchOther')).getElementById('viewResultsBottom');
                            if (divToHide) {
                                Swaf.Dom.toggleShowElement(divToHide);
                                obj.alt = Swaf.Dom.getStyle(divToHide, 'display') == 'none' ? '검색결과 펼치기':'검색결과 숨기기';
                                Swaf.Dom.autoHeightIFrame($('iframeSearchOther'), 1); 
                                c2.searchLayer._toggleOpenImages(obj, Swaf.Dom.getStyle(divToHide, 'display') != 'none');
                                try { parent.c2.section.resizeIframeBody(); } catch (e) {}
                            }
                        });
                }
            } catch (e) { }
            try {
                if ($('divSearchLayer') && resizeHomeByElement) {
                    resizeHomeByElement($('divSearchLayer'));
                }
            } catch (e) { }
            try { parent.c2.section.resizeIframeBody(); } catch (e) { }
            if ($('divSearchLayer')) {
                c2.searchLayer.updateLayerCover($('divSearchLayer'));
            }
        };
    c2.searchLayer.initOtherIframe =
        function (obj, isOpen) {
            try { parent.c2.section.resizeIframeBody(); } catch (e) { }
            if ($('divSearchLayer')) {
                c2.searchLayer.updateLayerCover($('divSearchLayer'));
            }
        };
    c2.searchLayer._toggleOpenImages =
        function (obj, isOpen) {
            if (isOpen) {
                obj.src = obj.src.replace(/_open\./, '_close.');
            }
            else {
                obj.src = obj.src.replace(/_close\./, '_open.');
            }
        };
    c2.searchLayer.isInitialized = false;
    c2.searchLayer.init =
        function () {
            if (c2.searchLayer.isInitialized) {
                return;
            }
            c2.searchLayer.isInitialized = true;
            if ($('iframeSearchMain') && $('divSearchLayer')) {
                $listener($('iframeSearchMain'), 'load', c2.searchLayer.initIframe);
                Swaf.Dom.hideElement($('iframeSearchMain'));
            }
            if ($('iframeSearchOther') && $('divSearchLayer')) {
                $listener($('iframeSearchOther'), 'load', c2.searchLayer.initOtherIframe);
                Swaf.Dom.hideElement($('iframeSearchOther'));
            }
            if ($('aBtnSearchDo')) {
                $listener($('aBtnSearchDo'), 'click', function (evt, obj) { Event.stop(evt); c2.searchLayer.setCss(); c2.searchLayer.searchBox($('formSearch')); });
            }
            if ($('formSearch')) {
                $('formSearch').disabled = false;
                $listener($('formSearch'), 'submit', function (evt, obj) { Event.stop(evt); c2.searchLayer.setCss(); c2.searchLayer.searchBox($('formSearch'));  });
            }
        };
    c2.searchLayer.setArea = 
        function (strArea) {
            var arrSearchForm = $search(/^formSearch.*/, document.body, true);
            if (!arrSearchForm || typeof arrSearchForm.length == 'undefined' || arrSearchForm.length == 0) {
                return;
            }
            for (var i = 0; i < arrSearchForm.length; i++) {
                if (!arrSearchForm[i].area) {
                    continue;
                }
                if (arrSearchForm[i].area.tagName.toLowerCase() == 'select') {
                    var objSelect = arrSearchForm[i].area;
                    objSelect.selectedIndex = 0;
                    for (j = 0; j < objSelect.options.length; j++) {
                        if (objSelect.options[j].value == strArea) {
                            objSelect.selectedIndex = j;
                            break;
                        }
                    }
                }
                else if (arrSearchForm[i].area.tagName.toLowerCase() == 'intput') {
                    arrSearchForm[i].area.value = strArea;
                }
            }
        };
    c2.searchLayer.searchKeyword =
        function (strKeyword) {
            c2.searchLayer.init();
            var arrSearchForm = $search(/^formSearch.*/, document.body, true);
            if (!arrSearchForm || typeof arrSearchForm.length == 'undefined' || arrSearchForm.length == 0) {
                return;
            }
            for (var i = 0; i < arrSearchForm.length; i++) {
                arrSearchForm[i].query.value = strKeyword;
            }
            if (arrSearchForm[0].submit) {
                arrSearchForm[0].disabled = false;
                c2.searchLayer.search(arrSearchForm[0]);
                //arrSearchForm[0].submit();
            }
            return false;
        };
    c2.searchLayer.search =
        function (objForm, strCategory) {
            if (objForm.disabled) {
                return;
            }
            if (objForm == null) {
                return;
            }
            if (objForm.query.value.replace(/(^\s+|\s+$)/g, '') == "") {
                alert("검색어를 입력하세요.");  
                return;
            }
            // document.domain sync
            if (objForm.document_domain) {
                if (document.domain == 'cyworld.com') {
                    objForm.document_domain.value = document.domain;
                }
            }

            // encode and fill the user-home owner relation if field exists in form
            // 폼에 userinfo와 timestamp에 해당하는 form이 있으면, 사용자와 홈 주인간의 관계를 인코드 해서 집어 넣는다.
            if ((objForm.userinfo && objForm.timestamp && objForm.userinfo.value == "") || (objForm.ownerName && objForm.ownerName.value == "")) {
                var strOwnerId = objForm.ownerId ? objForm.ownerId.value : ( _globalHomeOwnerId ? _globalHomeOwnerId : '' );
                if (strOwnerId == '') {
                    return;
                }
                var res = Swaf.Ajax.ajaxSyncRequest('/www/search/retrieveEncodedRelation.php', 'post', 'JSON', {ownerId:strOwnerId});
                if (!res.isSuccess() || !res.value) {
                    return;
                }
                objForm.userinfo.value = res.value.userinfo;
                objForm.timestamp.value = res.value.timestamp;
                if (objForm.ownerName && objForm.ownerName.value == "") {
                    objForm.ownerName.value = res.value.userName;
                }
            }

            if (typeof strCategory == 'undefined') {
                strCategory = '';
            }
            if (!strCategory && objForm.category) {
                if (objForm.category.tagName.toLowerCase() == 'select') {
                    strCategory = objForm.category.options[objForm.category.selectedIndex].value;
                }
                else {
                    strCategory = objForm.category.value;
                }
            }
            var isServiceOnly = false;
            if (strCategory.substr(0, 1) == '!') {
                strCategory = strCategory.substr(1);
                isServiceOnly = true;
            }
            if (!isServiceOnly && !$('divSearchLayer')) {
                objForm.submit();
                return;
            }
            if ($('divSearchLayer')) {
                Swaf.Dom.showElement($('divSearchLayer'));
                c2.searchLayer.coverLayer($('divSearchLayer'));
            }
            var defaultTarget = objForm.target;
            var defaultAction = objForm.action;
            if (strCategory != 'others') {
                Swaf.Dom.showElement($('iframeSearchMain'));
                objForm.target = 'iframeSearch';
                var strService = objForm.service.value;
                objForm.action = '/c2/' + strService + '/' + (strCategory ? strCategory + '/' : '') + 'search.do';
                objForm.submit();
            }
            if (!isServiceOnly && (true || strCategory == '' || strCategory == 'others'))
            {
                Swaf.Dom.showElement($('iframeSearchOther'));
                $('iframeSearchOther').src='http://c2.search.empas.com/search/all2.html?q=' + encodeURI(objForm.query.value) + "&gb=" + strService ;
/*
                Swaf.Dom.showElement($('iframeSearchOther'));
                objForm.action = '/c2/others/search.do';
                objForm.target = 'iframeSearchOther';
                objForm.submit();
                */
            }
            objForm.target = defaultTarget;
            objForm.action = defaultAction
        };
    c2.searchLayer.coverLayer = function (obj) {
        if (!Swaf.Util.Browser.isIE) {
            return;
        }

        objIframe = $(obj.id + '_bgCover');
        if (objIframe == null) {
            objIframe = obj.ownerDocument.createElement('iframe');
            objIframe.src = 'about:blank';
            objIframe.id = obj.id + '_bgCover';
            objIframe.border = 0;
            Swaf.Dom.setStyle(objIframe, 'position', 'absolute');
            Swaf.Dom.setStyle(objIframe, 'zIndex', '99');
            Swaf.Dom.setStyle(objIframe, 'padding', '0 0 0 0');
            Swaf.Dom.setStyle(objIframe, 'margin', '0 0 0 0');
            Swaf.Dom.setStyle(objIframe, 'border', '0');
            //Swaf.Dom.setStyle(objIframe, 'border', '1px solid #FF0000');
            //Swaf.Dom.setStyle(objIframe, 'backgroundColor', '#FF0000');
            Swaf.Dom.setStyle(objIframe, 'filter', 'alpha(opacity=0)');
            //obj.ownerDocument.body.appendChild(objIframe);
            obj.parentNode.insertBefore(objIframe, null);
        }

        Swaf.Dom.setStyle(objIframe, 'top', '0');
        Swaf.Dom.setStyle(objIframe, 'left', '0');


        c2.searchLayer.updateLayerCover(obj);
    };

    c2.searchLayer.discoverLayer = function (obj) {
        if (!Swaf.Util.Browser.isIE) {
            return;
        }
        objIframe = $(obj.id + '_bgCover');
        if (objIframe != null) {
            Swaf.Dom.hideElement(objIframe);
        }
    };

    c2.searchLayer.updateLayerCover = function (obj) {
        objIframe = $(obj.id + '_bgCover');
        if (objIframe == null) {
            return;
        }
        var dictSize = Swaf.Dom.getSize(obj);
        Swaf.Dom.setSize(objIframe, dictSize.width + 4, dictSize.height + 4);

        var dictPos = Swaf.Dom.getPosition(obj);
        var dictScroll = Swaf.Util.Browser.getScrollPosition();
        Swaf.Dom.showElement(objIframe, dictPos.x - 2, dictPos.y - 2);
    };
    

  	c2.searchLayer.setCss = function(){		
     	if ( $('searchCssLoad')){
				$('searchCss1').href="http://searchimage.nate.com/c2/css/kor/search/mybase_search.css";
				if($('searchCss2'))$('searchCss2').href="http://searchimage.nate.com/c2/css/kor/search/mybase_search_ie6.css"; 
				//'searchCssLoad').value = "true";
		}    
		
    };    
   
    c2.searchLayer.searchBox = function (objForm, strCategory) {
        objForm.area.value = 'undefined';
        c2.searchLayer.search(objForm, strCategory);
    };
 
    $listener(window, 'load', c2.searchLayer.init);
}
