var clsmap = function(rmap, vlat, vlng){
	var omap = new GMap2(rmap);
	omap.setCenter(new GLatLng(vlat, vlng), 5);
	omap.addControl(new GLargeMapControl());
	omap.addControl(new GMapTypeControl());
	omap.addControl(new GScaleControl());
	omap.addControl(new GOverviewMapControl(new GSize(150,120)));
	omap.disableDoubleClickZoom();
	omap.disableScrollWheelZoom();

	var ogeo = new GClientGeocoder();

	return {
		map: omap,
		geocoder: ogeo,
		zoomlevel: 5,
		pagesize: 10,
		largemapctrl: null,
		maptypectrl: null,
		scalectrl: null,
		overviewmapctrl: null,
		flgreloading: false,
		flgedit: false,
		currentlat: 0,
		currentlng: 0,
		objlat: null,
		objlng: null,
		defview: false,
		pvcount: true,
		//
		addListener: function(evt, fnc){
			GEvent.addListener(this.map, evt, fnc);
		},
		//
		disableDragging: function(){
			this.map.disableDragging();
		},
		//
		htmlinfowindow: function(rodp){
			var shtml = '';
			var simg = '';

			if(rodp.imgflag === '1'){
				simg = '/img/common/drinkpicture.asp?drinkcode=' + rodp.drinkcode;
			}else{
				simg = '/img/common/noimage.gif';
			}

			shtml = '<img src="' + simg + '" width="75" height="100" align="left" style="margin-right:5px;" />'
				+ (rodp.nickname.length>0 ? '【' + rodp.nickname + '】<br />' : '')
				+ '<img src="/img/map/color.gif" alt="最安価格" />'
				+ rodp.minprice + '円<br />'
				+ '<img src="/img/map/other.gif" alt="コメント" />'
				+ rodp.comment + '<br clear="all" />'
				+ '<div class="line1"></div>'
				+ '<div style="width:200px;">'
				//ボタン：グッジョブ
				+ '<div style="float:left;width:49%;"><input class="btn1" type="button" value="グッジョブ！" onclick="g_http.open(\'GET\', \'/vote.asp?v1=' + rodp.drinkcode + '\', true);g_http.send(null);" /></div>'
				//ボタン：削除依頼
				+ '<div align="right" style="float:right;width:49%;"><input class="btn1" type="button" value="削除依頼" onclick="open(\'/deloffer.asp?drinkcode=' + rodp.drinkcode + '\', \'deloffer\', \'width=500,height=375\');" /></div>'
				+ '<div style="clear:both;"></div>'
				+ '<span style="color:#ff0000;">※役に立ったら「グッジョブ」をクリック！</span>'
				+ '</div>';


			return shtml;
		},
		//
		htmlinfoblock: function(rodp){
			var simg = '';

			if(rodp.delvoteflag === '1'){
				simg = '/img/map/delete' + rodp.seq + '.png';
			}else{
				simg = '/img/map/' + rodp.seq + '.png';
			}

			shtml = '<img src="' + simg + '" align="left" style="cursor:pointer;" onclick="if(g_mapcv.zoomlevel < 17)g_mapcv.zoomlevel = 17;g_mapcv.map.setCenter(new GLatLng(' + rodp.lat + ', ' + rodp.lng+ '), g_mapcv.zoomlevel);" />'
				+ (rodp.nickname.length>0 ? '【' + rodp.nickname + '】<br />' : '')
				+ '<img src="/img/map/color.gif" alt="最安価格" />'
				+ rodp.minprice + '円<br />'
				+ '<img src="/img/map/other.gif" alt="コメント" />'
				+ rodp.comment + '<br clear="all" />'
				+ '<div class="line1"></div>';

			return shtml;
		},
		editzoom: function(vtype){
			if(vtype === '+'){
				if(omap.getZoom() < 19){
					this.zoomlevel = omap.getZoom()+1;
					omap.setZoom(this.zoomlevel);
				}
			}else if(vtype === '-'){
				if(omap.getZoom() > 1){
					this.zoomlevel = omap.getZoom()-1;
					omap.setZoom(this.zoomlevel);
				}
			}
		}
	}
}

