var map;
var arrMarker = new Array();
var tmp_arrMarker = new Array();
var icons=[];
var gicons=[];
var ID_NAME=1;
var ID_TYPE=4;
var ID_THUMB=5;
var ID_DETAIL=6;
var ID_PRICE=7;
var ID_DPRICE=8;
var ID_URL=9;
var defaultCenter=new GLatLng(13.745960,100.503101);
var baseIcon=new GIcon(G_DEFAULT_ICON);
baseIcon.shadow="";
baseIcon.iconSize=new GSize(21,21);
baseIcon.iconAnchor=new GPoint(11,21);
baseIcon.infoWindowAnchor=new GPoint(11,2);
var baseIconAds=new GIcon();
baseIconAds.shadow="";
baseIconAds.iconSize=new GSize(28,32);
baseIconAds.iconAnchor=new GPoint(20,44);

icons["H"]="/maps/images/icons/H.png";
icons["H_over"]="/maps/images/icons/H_over.png";
gicons["H"]=new GIcon(baseIcon,icons["H"]);
gicons["Ads"]=new GIcon(baseIconAds);

function init_map(){
	if(GBrowserIsCompatible()){
		map=new GMap2(document.getElementById("map"));
		var center=defaultCenter;
		map.setCenter(center,12);
		map.addControl(new GSmallZoomControl());
		map.addControl(new GMenuMapTypeControl());
		map.enableDoubleClickZoom();
		map.enableContinuousZoom();
		map.enableScrollWheelZoom();
		
		GEvent.addListener(map,"moveend",function(){
			loaddata();
		});
		
		loaddata();
	}
}
function loaddata(){
	var bounds=map.getBounds();
	var southWest=bounds.getSouthWest();
	var northEast=bounds.getNorthEast();
	_s_ne = northEast.lat()+","+northEast.lng();
	_s_sw = southWest.lat()+","+southWest.lng();
	_s_zoom = map.getZoom();
	$.post("/maps/getmarker.php",{s_tab:"H",s_ne:_s_ne,s_sw:_s_sw,s_zoom:_s_zoom},function(data){
		if(data){
			tmp_arrMarker = data.it;
			mergeMarker(tmp_arrMarker);
		}
	},"json");
}
function mergeMarker(tmp_arrMarker){
	for(var i=1;i<tmp_arrMarker.length;i++){
		mitem = tmp_arrMarker[i];
		if(!arrMarker[mitem[0]]){
			arrMarker[mitem[0]] = {m:null, d:mitem};
			createMarker(mitem[0]);
		}
	}
}
function createMarker(m_id){
	var lat = arrMarker[m_id].d[2];
	var lng = arrMarker[m_id].d[3];
	var latlng=new GLatLng(lat,lng);
	if(arrMarker[m_id].d[10]!=""){
		gicons["Ads"].image = "/media/adsfile/logo/"+arrMarker[m_id].d[10];
		arrMarker[m_id].m = new GMarker(latlng,{icon:gicons["Ads"],title:arrMarker[m_id].d[ID_NAME]});
	}else{
		arrMarker[m_id].m = new GMarker(latlng,{icon:gicons[arrMarker[m_id].d[ID_TYPE]],title:arrMarker[m_id].d[ID_NAME]});
	}
	map.addOverlay(arrMarker[m_id].m);
	GEvent.addListener(arrMarker[m_id].m,"click",function(){showMarkerInfo(m_id)});
	GEvent.addListener(arrMarker[m_id].m,'mouseover',function(){mOver(m_id);});
	GEvent.addListener(arrMarker[m_id].m,'mouseout',function(){mOut(m_id);});
	
}
var tmp_zindex = 0;
function mOver(m_id,notooltip){
	if(arrMarker[m_id].d[10]==""){
		arrMarker[m_id].m.setImage(icons[arrMarker[m_id].d[ID_TYPE]+"_over"]);
	}
	var ll = arrMarker[m_id].m.getLatLng();
	tmp_zindex = GOverlay.getZIndex(ll.lat()); 
	$(arrMarker[m_id].m.cn).css("z-index",1);
}
function mOut(m_id){
	if(arrMarker[m_id].d[10]==""){
		arrMarker[m_id].m.setImage(icons[arrMarker[m_id].d[4]]);
	}
	$(arrMarker[m_id].m.cn).css("z-index",tmp_zindex);
}
function showMarkerInfo(m_id){
	if(arrMarker[m_id].d[ID_TYPE]=="H"){
		window.open(arrMarker[m_id].d[ID_URL]);
	}
}
$(function(){
	init_map();
});