ShowAddress = function(baseMap) {
    this.mapviewObject = null;
    this.baseMap = baseMap;
    this.allThemes = new Array();
    this.redlineServiceObj = null;
    this.firstOpen = true;
    this.isPointEditEnabled = true;
    this.bullsEyeStyleName = "INFOMAP_FEEDBACK.M.BULLS_EYE";
}


ShowAddress.prototype.startUp = function() {
    //Tüm Türkiyenin koordinatlari
    //var mapCenterLon = 34.62937;  
    //var mapCenterLat = 38.87302;
    var mapCenterLon = 35.41800;  
    var mapCenterLat = 38.87302;    
    var mapZoom = 0;
    
    // this.createRedlining("frmInsert:lblTotalLengthValue");
    var isGeomExists = document.getElementById("frmInsert:isGeomExists");	
    var mapGeocodeLevel = document.getElementById("geocodeLevel");   
    //alert(isGeomExists.value);
    if( isGeomExists.value == "true" ){
        //this.showEditGeometry();
        //alert( "X=" + document.getElementById("frmInsert:Xcoor").value );
        //alert( "Y=" + document.getElementById("frmInsert:Ycoor").value );
        mapCenterLon = document.getElementById("frmInsert:Xcoor").value;
        mapCenterLat = document.getElementById("frmInsert:Ycoor").value;
        mapZoom = 8;
        this.showMap( mapCenterLon,mapCenterLat,mapZoom );
        
        var foiId = __editFOIId;
        var XCoord = document.getElementById("frmInsert:Xcoor").value;
        var YCoord = document.getElementById("frmInsert:Ycoor").value;
        var symbolName = __editFOIStyleName;
        
        var foi = this.addFOI(foiId, XCoord, YCoord, symbolName);
        if (foi != null) {
            var o = document.getElementById("frmInsert:jsAdfIntegrator");
            o.value = XCoord + "," + YCoord;
        }  
        
        //var mapviewObject = this.mapviewObject;
        //var mapZoom = 8;
        //mapviewObject.setCenter(MVSdoGeometry.createPoint(XCoord,YCoord, 8307)); 
        //mapviewObject.setZoomLevel(mapZoom);
        //mapviewObject.display();
    }
    else{
        this.showMap( mapCenterLon,mapCenterLat,mapZoom );
        //this.getIlId();
    }
}


ShowAddress.prototype.gotoRecord = function() {
    this.showEditGeometry();
}


ShowAddress.prototype.refreshMap = function() {
    this.mapviewObject.display();
}


ShowAddress.prototype.showMap = function(mapCenterLon,mapCenterLat, mapZoom ) {
    //?stanbul un koordinatlari
    //var mapCenterLon = 28.9648; 34.62937
    //var mapCenterLat = 41.0060; 38.87302
    
    this.mapviewObject = new MVMapView(document.getElementById("map"), __oracleMapsUrlbase);
    this.mapviewObject.addBaseMapLayer(new MVBaseMap(this.baseMap)); 
    this.mapviewObject.setCenter(MVSdoGeometry.createPoint( parseFloat( mapCenterLon), parseFloat( mapCenterLat), 8307)); 
    this.mapviewObject.setZoomLevel(parseInt(mapZoom));
    this.mapviewObject.addNavigationPanel("WEST");
    this.mapviewObject.display();
}


ShowAddress.prototype.showEditGeometry = function() {
    var name = "EDIT_THEME";
    //alert("ShowAddress.prototype.showEditGeometry start");
    var themeObj = this.allThemes[name];
    if (themeObj != null) {
        //alert("theme created");
        //themeObj.gotoThemeBounds();
        // Theme after refresh callback.
        // At startup we want to center edit theme.
        var instance = this;
        var centerToEditThemeDuringOpening = function () {
                instance.centerToEditThemeDuringOpening(instance, name);
            };
        themeObj.addEventListener("after_refresh", centerToEditThemeDuringOpening);
    } 
    else {
        var targetThemeNameNode = document.getElementById("frmInsert:targetThemeName");
        var selectedRowNode = document.getElementById("frmInsert:selectedRow");
        //if ((targetThemeNameNode != null) && (selectedRowNode != null)) {
        if ((selectedRowNode != null)) {
            var targetThemeName = targetThemeNameNode.value;
            var targetThemeName = __editThemeFullName;
            var selectedRow = selectedRowNode.value;
            //alert("1: " + selectedRow);
            selectedRow = selectedRow.replace(/\,/g ,"");
            selectedRow = selectedRow.replace(/\./g ,"");
            //alert("2: " + selectedRow);
            if ((targetThemeName != null) && (targetThemeName.length > 0) && (selectedRow != null) && (selectedRow.length > 0)) {
                var themeName = targetThemeName;
                var visible = true;
                var mapviewObject = this.mapviewObject;
                var markerURL = null;
                var markerWidth = null;
                var markerHeight = null;
                var parameters = new Array();
                parameters["Rowno"] = selectedRow;
                var description = "Edit Theme";
                var extraOptions = new Array();
                //alert("4" + selectedRow);
                //alert(themeName);
                var themeObj = new DynamicTheme(name, themeName, visible, mapviewObject, markerURL, markerWidth, markerHeight, parameters, description, extraOptions, factory);
                this.allThemes[name] = themeObj;
                
                // Theme after refresh callback.
                // At startup we want to center edit theme.
                var instance = this;
                var centerToEditThemeDuringOpening = function () {
                        instance.centerToEditThemeDuringOpening(instance, name);
                    };
                themeObj.addEventListener("after_refresh", centerToEditThemeDuringOpening);
            }
        }
    }
}


ShowAddress.prototype.centerToEditThemeDuringOpening = function(instance, name) {
    if (instance.firstOpen) {
        instance.firstOpen = false;
        var themeObj = instance.allThemes[name];
        if (themeObj != null)
            themeObj.gotoThemeBounds();
    }
}


ShowAddress.prototype.clearAddressThemes = function() {
    var ilThemeName = "IL_THEME";
    var ilceThemeName = "ILCE_THEME";
    var mahalleThemeName = "MAHALLE_THEME";
    var yolThemeName = "YOL_THEME";
    
    if (this.allThemes[ilThemeName] != null)
        this.allThemes[ilThemeName].removeThemeBasedFOI();
    if (this.allThemes[ilceThemeName] != null)
        this.allThemes[ilceThemeName].removeThemeBasedFOI();
    if (this.allThemes[mahalleThemeName] != null)
        this.allThemes[mahalleThemeName].removeThemeBasedFOI();
    if (this.allThemes[yolThemeName] != null)
        this.allThemes[yolThemeName].removeThemeBasedFOI();
    
    this.allThemes[ilThemeName] = null;
    this.allThemes[ilceThemeName] = null;
    this.allThemes[mahalleThemeName] = null;
    this.allThemes[yolThemeName] = null;
}


ShowAddress.prototype.getIlId = function() {
    this.mapviewObject.removeAllFOIs();
    var cmbIlKoduObj = document.getElementById("frmInsert:navListIl");
    var selectedIndex = cmbIlKoduObj.selectedIndex; 
    //alert(selectedIndex);
    if( selectedIndex == 0  ) { 
        return;
    } 
    
    var dac = this.getSelectedIlFromAddressModule(selectedIndex);
    var id = dac.id;
    //alert(id);  
    if (id <= 0) {
        var msg = this.getPageMessage("showaddress.select_il");
        //alert(msg);
        return;
    }
    
    this.setJsAdfIntegrator( dac.coords );
    this.setGeocodeLevel(1);     
    
    this.clearAddressThemes();
    var name = "IL_THEME";
    var themeName = __addressThemesDataSourceName + ".T_IL";
    var visible = true;
    var mapviewObject = this.mapviewObject;
    var markerURL = null;
    var markerWidth = null;
    var markerHeight = null;
    var parameters = new Array();
    parameters["IlId"] = id;
    var description = "Il Theme";
    var extraOptions = new Array();
    var themeObj = new DynamicTheme(name, themeName, visible, mapviewObject, markerURL, markerWidth, markerHeight, parameters, description, extraOptions, factory);
    this.allThemes[name] = themeObj;
    
    // Theme after refresh callback.
    // At startup we want to center edit theme.
    var instance = this;
    this.firstOpen = true;
    var centerToEditThemeDuringOpening = function () {
            instance.centerToEditThemeDuringOpening(instance, name);
        };
    themeObj.addEventListener("after_refresh", centerToEditThemeDuringOpening);
    
    return false;
}


ShowAddress.prototype.getIlceId = function() {
    this.mapviewObject.removeAllFOIs();
    var cmbIlceKoduObj = document.getElementById("frmInsert:navListIlce");
    var selectedIndex = cmbIlceKoduObj.selectedIndex;

    if( selectedIndex == 0  ) { 
        return;
    }
    
    var dac = this.getSelectedIlceFromAddressModule(selectedIndex);
    var id = dac.id;
    if (id <= 0) {
        var msg = this.getPageMessage("showaddress.select_ilce");
        //alert(msg);
        return;
    }

    this.setJsAdfIntegrator( dac.coords );
    this.setGeocodeLevel(2); 
    
    this.clearAddressThemes();
    var name = "ILCE_THEME";
    var themeName = __addressThemesDataSourceName + ".T_ILCE";
    var visible = true;
    var mapviewObject = this.mapviewObject;
    var markerURL = null;
    var markerWidth = null;
    var markerHeight = null;
    var parameters = new Array();
    
    parameters["IlceId"] = id;
    var description = "Ilce Theme";
    var extraOptions = new Array();
    var themeObj = new DynamicTheme(name, themeName, visible, mapviewObject, markerURL, markerWidth, markerHeight, parameters, description, extraOptions, factory);
    this.allThemes[name] = themeObj; 
    
    // Theme after refresh callback.
    // At startup we want to center edit theme.
    var instance = this;
    this.firstOpen = true;
    var centerToIlceThemeDuringOpening = function () {
            instance.centerToEditThemeDuringOpening(instance,name);
        };
    themeObj.addEventListener("after_refresh", centerToIlceThemeDuringOpening);
    
    return false;
}


ShowAddress.prototype.getMahalleId = function() {
    this.mapviewObject.removeAllFOIs();
    var cmbMahalleKoduObj = document.getElementById("frmInsert:navListMahalle");
    var selectedIndex = cmbMahalleKoduObj.selectedIndex; 
    if( selectedIndex == 0  ) { 
        return;  
    }
    
    var dac = this.getSelectedMahalleFromAddressModule(selectedIndex);
    var id = dac.id;
    if (id <= 0) {
        var msg = this.getPageMessage("showaddress.select_mahalle");
        //alert(msg);
        return;
    }
    
    this.setJsAdfIntegrator( dac.coords );
    this.setGeocodeLevel(3);
    
    this.clearAddressThemes();
    var name = "MAHALLE_THEME";
    var themeName = __addressThemesDataSourceName + ".T_MAHALLE";
    var visible = true;
    var mapviewObject = this.mapviewObject;
    var markerURL = null;
    var markerWidth = null;
    var markerHeight = null;
    var parameters = new Array();
    parameters["MahalleId"] = id;
    var description = "Mahalle Theme";
    var extraOptions = new Array();
    var themeObj = new DynamicTheme(name, themeName, visible, mapviewObject, markerURL, markerWidth, markerHeight, parameters, description, extraOptions, factory);
    this.allThemes[name] = themeObj;
    
    // Theme after refresh callback.
    // At startup we want to center edit theme.
    var instance = this;
    this.firstOpen = true;
    var centerToEditThemeDuringOpening = function () {
            instance.centerToEditThemeDuringOpening(instance, name);
        };
    themeObj.addEventListener("after_refresh", centerToEditThemeDuringOpening);
    
    return false;
}


ShowAddress.prototype.getYolId = function() {
    this.mapviewObject.removeAllFOIs(); 
    var cmbYolKoduObj = document.getElementById("frmInsert:navListYol");
    var selectedIndex = cmbYolKoduObj.selectedIndex;   
    if( selectedIndex == 0  ) { 
        return;  
    }  
    
    var dac = this.getSelectedYolFromAddressModule(selectedIndex);
    var id = dac.id;
    if (id <= 0) {
        var msg = this.getPageMessage("showaddress.select_yol");
        //alert(msg);
        return;
    }
    
    this.setJsAdfIntegrator( dac.coords );
    this.setGeocodeLevel(4);
    this.clearAddressThemes();
    var name = "YOL_THEME";
    var themeName = __addressThemesDataSourceName + ".T_YOL";
    var visible = true;
    var mapviewObject = this.mapviewObject;
    var markerURL = null;
    var markerWidth = null;
    var markerHeight = null;
    var parameters = new Array();
    parameters["YolId"] = id;
    var description = "Yol Theme";
    var extraOptions = new Array();
    var themeObj = new DynamicTheme(name, themeName, visible, mapviewObject, markerURL, markerWidth, markerHeight, parameters, description, extraOptions, factory);
    this.allThemes[name] = themeObj;
    
    // Theme after refresh callback.
    // At startup we want to center edit theme.
    var instance = this;
    this.firstOpen = true;
    var centerToEditThemeDuringOpening = function () {
            instance.centerToEditThemeDuringOpening(instance, name);
        };
    themeObj.addEventListener("after_refresh", centerToEditThemeDuringOpening);
    
    return false;
}


ShowAddress.prototype.createRedlining = function(redliningInfoDivName) {
    var mapviewObject = this.mapviewObject;
    var markerUrl = __oracleMapsInfomcDirectory + "images/small_circle.png";
    this.redlineServiceObj = new RedlineTool(mapviewObject, null, null, null, null, redliningInfoDivName, markerUrl, factory);
}


ShowAddress.prototype.startRedlining = function() {
    if (this.redlineServiceObj != null) {
        this.redlineServiceObj.startRedlining();
    }
}


ShowAddress.prototype.clearRedlining = function() {
    if (this.redlineServiceObj != null) {
        this.redlineServiceObj.clearRedlining();
    }
    
    var o = document.getElementById("frmInsert:jsAdfIntegrator");
    o.value = "";
}


ShowAddress.prototype.getRedlineServiceObj = function() {
    return this.redlineServiceObj;
}


ShowAddress.prototype.saveRedlining = function() {
    if (this.redlineServiceObj != null) {
        var o = document.getElementById("frmInsert:jsAdfIntegrator");
        o.value = this.redlineServiceObj.getOrdinates();
        var targetGeometryType = document.getElementById("frmInsert:targetGeometryType").value;
        if ((targetGeometryType != null) && (targetGeometryType.length > 0) && (targetGeometryType == "Polygon") ) {
            this.redlineServiceObj.generateArea();
        }
    }
}


ShowAddress.prototype.addFOI = function(foiId, XCoord, YCoord, symbolName) {
    var startPoint = MVSdoGeometry.createPoint(XCoord, YCoord, 8307);
    var foi = new MVFOI(foiId, startPoint, symbolName, null, 30, 45);
    this.mapviewObject.addFOI(foi);
    
    return foi;
}


ShowAddress.prototype.activatePointEditingNew = function() {
    // Redline tool must be stopped before mouse_click is attached
    // this.clearRedlining();
    if( this.isPointEditEnabled == true ){
        //alert("edit basladi");
        //this.deactivatePointEditing();
        
        var instance = this;
        var handler = function() { instance.handleEditClickNew(); };
        this.mapviewObject.addEventListener("mouse_click", handler); 
        this.isPointEditEnabled = false;
        this.disableButton();
        this.enableCancelEditButton();
    }
    //this.disabled = true;
    //document.getElementById("cmdStartPointEditDisabled").style.disabled = 'enabled';
    //alert(document.getElementById("cmdStartPointEdit").disabled);
    return false;
}


ShowAddress.prototype.savePointEditing = function() {
    this.mapviewObject.addEventListener("mouse_click", this.doNothing);
}


ShowAddress.prototype.deactivatePointEditing = function() {
    if( this.isPointEditEnabled == false ){
        this.mapviewObject.addEventListener("mouse_click", this.doNothing);
        this.disableCancelEditButton();
        this.enableButton();
        this.isPointEditEnabled = true;
    }
}


ShowAddress.prototype.doNothing = function() {
  // doNothing  
}


ShowAddress.prototype.handleEditClick = function() {
    var currPoint = this.mapviewObject.getMouseLocation();
    var foiId = __editFOIId;
    var XCoord = currPoint.getPointX();
    var YCoord = currPoint.getPointY();
    var symbolName = __editFOIStyleName;
    //this.mapviewObject.removeFOI(foiId);
    
    var foi = this.addFOI(foiId, XCoord, YCoord, symbolName);
    if (foi != null) {
        var o = document.getElementById("frmInsert:jsAdfIntegrator");
        o.value = XCoord + "," + YCoord;
    }
}


ShowAddress.prototype.handleEditClickNew = function() {
    this.mapviewObject.removeAllFOIs();
    
    var currPoint = this.mapviewObject.getMouseLocation();
    var foiId = __editFOIId;
    var XCoord = currPoint.getPointX();
    var YCoord = currPoint.getPointY();
    var symbolName = __editFOIStyleName;  
    
    var foi = this.addFOI(foiId, XCoord, YCoord, symbolName);
    if (foi != null) {
        this.setJsAdfIntegrator( XCoord + "," + YCoord );
        this.setGeocodeLevel(5);    
    }
    this.isPointEditEnabled = true;
    this.mapviewObject.addEventListener("mouse_click", this.doNothing); 
    this.enableButton();   
    this.disableCancelEditButton(); 
}


ShowAddress.prototype.setGeocodeLevel = function(level) {
    var geocodeLevel = document.getElementById("frmInsert:geocodeLevel");
    geocodeLevel.value = level;
    return;
}


ShowAddress.prototype.confirmNavigateAfterPointEdit = function(level){
    var geocodeLevel = document.getElementById("frmInsert:geocodeLevel");
    if ( level != 5 && geocodeLevel.value.length > 0 && geocodeLevel.value == 5 ) {
        var cevap;
        var msg = this.getPageMessage("showaddress.point_deleted_message1") + '\n' + this.getPageMessage("showaddress.point_deleted_message2"); 
        cevap=confirm(msg );
        if(cevap == true){
            return true;
        }
        else {
            return false;
        }
    }
    
    return true;   
}


ShowAddress.prototype.setJsAdfIntegrator = function( coords ) {
    var o = document.getElementById("frmInsert:jsAdfIntegrator");
    o.value = coords;
    return;
}


ShowAddress.prototype.marqueeZoom = function() {
    this.mapviewObject.startMarqueeZoom("continuous");
}


ShowAddress.prototype.noMarqueeZoom = function() {
    this.mapviewObject.stopMarqueeZoom();
}


ShowAddress.prototype.gotoUserCoordinate = function(method) {  // 2 method var.1-)go 2-) zoom
    var parsedCoordinates = this.parseUserCoordinateInput();
    if (parsedCoordinates != false) {
        this.mapviewObject.removeAllFOIs(); 
        this.clearAddressThemes();
        var mapCenterLon = parsedCoordinates[0];
        var mapCenterLat = parsedCoordinates[1];
        //this.mapviewObject.setCenter(MVSdoGeometry.createPoint(mapCenterLon, mapCenterLat, 8307)); 
        if( method == "go" ) {
            this.mapviewObject.setCenterAndZoomLevel(MVSdoGeometry.createPoint(mapCenterLon, mapCenterLat, 8307), 5);
        } 
        else {
            this.mapviewObject.setCenterAndZoomLevel(MVSdoGeometry.createPoint(mapCenterLon, mapCenterLat, 8307), 12);
        }
        // We want to add point to the map.
        var foiId = "USER_COORDINATE_FOI";
        var foi = this.mapviewObject.getFOI(foiId);
        if (foi != null) {
            this.mapviewObject.removeFOI(foi);
        }
        
        var symbolName = this.bullsEyeStyleName;
        //alert(foiId); 
        //alert(mapCenterLon);
        //alert(mapCenterLat);
        //alert(symbolName);
        this.addFOI(foiId, mapCenterLon, mapCenterLat, symbolName);
        return true;
    }
    return false;
}


ShowAddress.prototype.parseUserCoordinateInput = function() {
    var latitudeInput = document.getElementById("frmInsert:latitudeInput").value;
    var longitudeInput = document.getElementById("frmInsert:longitudeInput").value;
    var mapCenterLon = longitudeInput;
    var mapCenterLat = latitudeInput;
    var formatType = this.getFormatType();
    
    if (this.validateUserCoordinates(formatType, mapCenterLon, mapCenterLat)) {
        mapCenterLon = this.getTransformedUserCoordinate(formatType, mapCenterLon);
        mapCenterLat = this.getTransformedUserCoordinate(formatType, mapCenterLat);
    }
    else {
        var msg = this.getPageMessage("showaddress.wrong_coordinate_input" + "_" + formatType);
        alert(msg);
        return false;
    }
    
    if ((mapCenterLon > 360) || (mapCenterLon < 0)) {
        var msg = this.getPageMessage("showaddress.wrong_coordinate_input" + "_" + formatType);
        alert(msg);
        return false;
    }
    
    if ((mapCenterLat > 180) || (mapCenterLat < -180)) {
        var msg = this.getPageMessage("showaddress.wrong_coordinate_input" + "_" + formatType);
        alert(msg);
        return false;
    }
    
    if ((mapCenterLon == null) || (isNaN(mapCenterLon)) || (mapCenterLat == null) || (isNaN(mapCenterLat))) {
        var msg = this.getPageMessage("showaddress.wrong_coordinate_input" + "_" + formatType);
        alert(msg);
        return false;
    }
    
    var result = new Array();
    result.push(mapCenterLon);
    result.push(mapCenterLat);
    
    return result;
}


ShowAddress.prototype.getFormatType = function() {
    var node1 = document.getElementById("frmInsert:coordinateFormat:_0");
    var node2 = document.getElementById("frmInsert:coordinateFormat:_1");
    var node3 = document.getElementById("frmInsert:coordinateFormat:_2");
    
    if ((node1 != null) && (node1.checked))
        return 1;
    
    if ((node2 != null) && (node2.checked))
        return 2;
    
    if ((node3 != null) && (node3.checked))
        return 3;
    
    return 1;
}


ShowAddress.prototype.validateUserCoordinates = function(formatType, mapCenterLon, mapCenterLat) {
    var result = this.validateUserCoordinate(formatType, mapCenterLon);
    if (result)
        result = this.validateUserCoordinate(formatType, mapCenterLat);
    
    return result;
}


ShowAddress.prototype.validateUserCoordinate = function(formatType, coor) {
    var pos;
    // 1 = DD.DDDDDD
    // 2 = DDMM.MMMMM
    // 3 = DDMMSS.SSS
    if (formatType == 1) {
        pos = coor.indexOf(".");
        if( pos != 2 ) 
        return false;
    } 
    else if (formatType == 2) {
        pos = coor.indexOf(".");
        if( pos != 4 ) 
        return false;
    }
    else if (formatType == 3) {
        pos = coor.indexOf(".");
        if( pos != 6 ) 
        return false;
    }
    
    return true;
}


ShowAddress.prototype.getTransformedUserCoordinate = function(formatType, coor) {
    var deg;
    var min;
    var result = null;
    
    // 1 = DD.DDDDDD
    // 2 = DDMM.MMMMM
    // 3 = DDMMSS.SSS
    var doubleCoor = parseFloat(coor);
    if (formatType == 1) {
        result = doubleCoor;
    }
    else if (formatType == 2) {
        deg = parseInt(doubleCoor / 100);
        min = (doubleCoor % 100);
        result = deg + (min / 60);
    }
    else if (formatType == 3) {
        deg = parseInt(doubleCoor / 10000);
        min = (doubleCoor % 10000);
        min = parseInt(min / 100) + ((min % 100) / 60);
        result = deg + (min / 60);
    }
    
    return result;
}


ShowAddress.prototype.getSelectedIlFromAddressModule = function(selectedIndex) {
    var extraParams = new Array();
    extraParams["selected_index"] = selectedIndex;
    //var xml = factory.prepareGenericRequestData("SELECTED_IL_FROM_ADDRESS_MODULE", extraParams);
    //xml = "xmlDoc=" + xml;
    
    var xml = factory.prepareGenericRequestData("SELECTED_IL_FROM_ADDRESS_MODULE", extraParams);
    xml = "xmlDoc=" + xml;
    var responseText = factory.getListenerRequestBaseObj().doRequestSynchronous(xml, null, this);
    var responseXML = factory.convertStringToXml(responseText);
    var dac = new DataAddressComponent(responseXML);
    if (dac != null) return dac;
    return null;
}


ShowAddress.prototype.getSelectedIlceFromAddressModule = function(selectedIndex) {
    var extraParams = new Array();
    extraParams["selected_index"] = selectedIndex;  
    var xml = factory.prepareGenericRequestData("SELECTED_ILCE_FROM_ADDRESS_MODULE", extraParams);
    xml = "xmlDoc=" + xml;
    var responseText = factory.getListenerRequestBaseObj().doRequestSynchronous(xml, null, this);
    var responseXML = factory.convertStringToXml(responseText);
    var dac = new DataAddressComponent(responseXML);
    if (dac != null) return dac;
    return null;
}


ShowAddress.prototype.getSelectedMahalleFromAddressModule = function(selectedIndex) {
    var extraParams = new Array();
    extraParams["selected_index"] = selectedIndex;  
    var xml = factory.prepareGenericRequestData("SELECTED_MAHALLE_FROM_ADDRESS_MODULE", extraParams);
    xml = "xmlDoc=" + xml;
    
    var responseText = factory.getListenerRequestBaseObj().doRequestSynchronous(xml, null, this);
    var responseXML = factory.convertStringToXml(responseText);
    var dac = new DataAddressComponent(responseXML);
    
    if (dac != null) return dac;
    return null;
}


ShowAddress.prototype.getSelectedYolFromAddressModule = function(selectedIndex) {
    var extraParams = new Array();
    extraParams["selected_index"] = selectedIndex;  
    var xml = factory.prepareGenericRequestData("SELECTED_YOL_FROM_ADDRESS_MODULE", extraParams);
    xml = "xmlDoc=" + xml;
    
    var responseText = factory.getListenerRequestBaseObj().doRequestSynchronous(xml, null, this);
    var responseXML = factory.convertStringToXml(responseText);
    var dac = new DataAddressComponent(responseXML);
    
    if (dac != null) return dac;
    return null;
}


ShowAddress.prototype.requestPageMessages = function () {
    var keys = new Array();
    keys[0] = "showaddress.select_il";
    keys[1] = "showaddress.select_ilce";
    keys[2] = "showaddress.select_mahalle";
    keys[3] = "showaddress.select_yol";
    keys[4] = "showaddress.point_deleted_message1";
    keys[5] = "showaddress.point_deleted_message2";  
    keys[6] = "showaddress.wrong_coordinate_input_1"; 
    keys[7] = "showaddress.wrong_coordinate_input_2";
    keys[8] = "showaddress.wrong_coordinate_input_3";
    
    var extraParams = new Array();
    extraParams["keys"] = keys.join(",");
    var xml = factory.prepareGenericRequestData("GET_MESSAGES", extraParams);
    xml = "xmlDoc=" + xml;
    
    var responseText = factory.getListenerRequestBaseObj().doRequestSynchronous(xml, null, this);
    responseText = factory.decodeTurkishChars(responseText);
    var values = responseText.split(",");
    
    var pageMessages = new Array();
    pageMessages["showaddress.select_il"] = values[0];
    pageMessages["showaddress.select_ilce"] = values[1];
    pageMessages["showaddress.select_mahalle"] = values[2];
    pageMessages["showaddress.select_yol"] = values[3];
    pageMessages["showaddress.point_deleted_message1"] = values[4];
    pageMessages["showaddress.point_deleted_message2"] = values[5];  
    pageMessages["showaddress.wrong_coordinate_input_1"] = values[6]; 
    pageMessages["showaddress.wrong_coordinate_input_2"] = values[7];
    pageMessages["showaddress.wrong_coordinate_input_3"] = values[8];  
    
    return pageMessages;
}


ShowAddress.prototype.getPageMessage = function (name) {
    if (this.pageMessages == null)
        this.pageMessages = this.requestPageMessages();
    
    var msg = this.pageMessages[name];
    return msg;
}


function showHitCount(count) {
    alert("Hit Count : " + count);
}


ShowAddress.prototype.disableButton =  function() {
    var imgElement =  document.getElementById("cmdEditContaineer").firstChild;
    var src = imgElement.src;
    var src = src.replace(/KonumBelirtEnabled.gif/i,"KonumBelirtDisabled.gif");
    imgElement.src = src;
    imgElement.style.cursor = "default";
    return -1;
}
	
        
ShowAddress.prototype.enableButton = function () {
    var imgElement =  document.getElementById("cmdEditContaineer").firstChild;
    var src = imgElement.src;
    var src = src.replace(/KonumBelirtDisabled.gif/i,"KonumBelirtEnabled.gif");
    imgElement.src = src;
    imgElement.style.value = "cursor:hand;cursor:position";
    return -1;
}

 
ShowAddress.prototype.disableCancelEditButton =  function() {
    var imgElement =  document.getElementById("cmdCancelEditContaineer").firstChild;
    var src = imgElement.src;
    var src = src.replace(/CancelPointEditEnabled.gif/i,"CancelPointEditDisabled.gif");
    imgElement.src = src;
    imgElement.style.cursor = "default";
    return -1;
}


ShowAddress.prototype.enableCancelEditButton = function () {
    var imgElement =  document.getElementById("cmdCancelEditContaineer").firstChild;
    var src = imgElement.src;
    var src = src.replace(/CancelPointEditDisabled.gif/i,"CancelPointEditEnabled.gif");
    imgElement.src = src;
    imgElement.style.value = "cursor:hand;cursor:position";
    return -1;
}


ShowAddress.prototype.gotoStreet = function(streetId, Xcoor, Ycoor ) {
    if (streetId <= 0) {
        var msg = this.getPageMessage("showaddress.select_yol");
        alert(msg);
        return false;
    }
    
/*    
    alert("1");
    var jsfIntegrator = document.getElementById("jsAdfIntegrator");
    alert("2");
    var geocodeLevel = document.getElementById("geocodeLevel");
    alert(geocodeLevel);
    geocodeLevel.value =  6;
    alert("4");
    //alert("JSF=" + jsfIntegrator.value + "\nJS=" + Xcoor + ","+ Ycoor);
*/
   
    var name = "YOL_THEME";
    var themeName = __addressThemesDataSourceName + ".T_YOL";
    var visible = true;
    var mapviewObject = this.mapviewObject;
    var markerURL = null;
    var markerWidth = null;
    var markerHeight = null;
    var parameters = new Array();

    parameters["YolId"] = streetId;
    var description = "Yol Theme";
    var extraOptions = new Array();
    var themeObj = new DynamicTheme(name, themeName, visible, mapviewObject, markerURL, markerWidth, markerHeight, parameters, description, extraOptions, factory);

    this.allThemes[name] = themeObj;
    var instance = this;
    instance.firstOpen = true;
    //this.applyMaxZoomRestriction = true;
    var centerToEditThemeDuringOpening = function () {
            instance.centerToEditThemeDuringOpening(instance, name);
        };
    themeObj.addEventListener("after_refresh", centerToEditThemeDuringOpening);

    return true;
}