HoverMenu = newClass(Dialog, {
	initChild: function() {
        $(".area-baloon-link").bind('click', {env:this}, this.showAreaSelectorMenu);
    	this.menuContent = $("#area-selector-menu-content");
    	this.menuContent.find(".search-more-for-area").bind('click', {env:this}, this.loadListOfDistricts);
        $("#area-selector-close").bind('click', this.closeAreaSelectorMenu);
        $('#area-selector-menu-draggable').draggable({containment: 'document'});
        this.loadingStarted = false;
    },

    showAreaSelectorMenu: function showAreaSelectorMenu(e) {
    	var env = e.data.env;
    	env.openDialog();
        showDialog($('#area-selector-menu'), true);
    },

    loadListOfDistricts: function (e) {
    	var env = e.data.env;
        var areaId=$(this).find(".areaId").attr("title");
        var parameters = new Object();
        parameters["area_id"] = areaId;
        parameters["search_word"] = $('#req_search_word').attr("title").replace(/[\?]/g,'');
        parameters["master_controller"] = $('#master_controller').attr("title");
        parameters["sort_order"] = $('#sort_order_id').attr("title");
        areaSectionId = "area-menu-content-districts-" + areaId; 
        var areaSection = $("#" + areaSectionId);
        env.loadDialog(areaSectionId, $("#" + areaSectionId), "/deepAreaList", parameters, function(data){        	
        	env.menuContent.append(data);
        	headerUtils.editSearchField();
		});
    },

    openDialog: function(areaSectionId) {
        var areaMenu = $('#area-selector-menu');
        var areas = this.menuContent.find(".sub-areas-list");
        if (areas.length > 0){
            var selectedId=-1;
            for (var i = 0; i < areas.length; i ++) {
                if (areas[i].id == areaSectionId) {
                    selectedId = i;
                } else {
                	$(areas[i]).hide();
                    for (var j = 1; j < 4; j ++) {
                        areaMenu.removeClass('area-selector-' + j + '-width');
                    }
                }
            }
            if (selectedId >= 0){
                areaMenu.removeClass('area-selector-default-width');
            	$(areas[selectedId]).show();
                var column_count = $(areas[selectedId]).find("ul.multicolumn > li").length ;
                areaMenu.addClass('area-selector-' + column_count + '-width');        	
            } else{
            	areaMenu.addClass('area-selector-default-width');
            }
        }
        updateFrameSize(areaMenu.find('.selector-menu'), areaMenu.find('iframe'));
    },

    closeAreaSelectorMenu: function () {
        var areaMenu = $('#area-selector-menu');
    	areaMenu.hide();
    	areaMenu.find(".dialog-draggable").css({left:'0px',top:'0px'});
    }

});
$(document).ready(function() {
	var hoverMenu = new HoverMenu();
});
