var SatMap = {
	
    satList: new Array(),
	satMap: new Array(),
    addSat: function(sat){
        this.satList.push(sat);
		this.satMap[sat.code] = sat;
        $('satListContainer').appendChild(sat.getTip());
    },
	getSatByCode: function (satCode) {
		return this.satMap[satCode];
	},
    loadSatList: function(){
		Message.showMessage(Message.LOADING_SAT_LIST_START);
        Util.loadJsonp(getSatListUrl());
    },
	moveTo: function (latitude, longitude) {
	    map.setCenter(new GLatLng(latitude, longitude), map.getZoom());
	},
	getActiveSatList: function () {
		var activeSatList = new Array();
		for (var i=0, l=this.satList.length; i<l; i++) {
			var sat = this.satList[i];
			if (sat.selected) activeSatList.push(sat);
		}
		return activeSatList;
	},
	forEachActiveSat: function (callbackFunc) {
		var list = this.getActiveSatList();
		for (var i=0, l=list.length; i<l; i++) {
			var sat = list[i];
			callbackFunc(sat);
		}
	},
	forEachSat: function (callbackFunc) {
		for (var i=0, l=this.satList.length; i<l; i++) {
			var sat = list[i];
			callbackFunc(sat);
		}
	}
};


SatMap.hideAllMap = function () {
};
SatMap.getSelectedSat = function () {
	return this.selectedSat;
}
SatMap.refreshSat = function () {
	if (this.getSelectedSat()) {
		this.getSelectedSat().clear();
	}	
}
SatMap.checkStreet = function (latLng, withoutPlay) {
	if (latLng) {
		if (withoutPlay)
			streetClient.getNearestPanoramaLatLng(latLng, function (latLng){wStreet.moveTo(latLng)})
		else
			streetClient.getNearestPanoramaLatLng(latLng, SatMap.checkStreetResultCallback)
	}
};
SatMap.checkStreetResultCallback = function (latLng) {
	if (latLng==null) {
		setViewCanvas();
		Player.execStartPlay();
	} else {
		setViewStreet(latLng);
	}
};
SatMap.refreshPosition = function () {
};
