
var markerInfoBlowupOpenOnSelect=null;
var markerInfoBlowupCloseOnSelect=null;
var markerInfoBlowupZoomLevelSelect=null;
var markerInfoBlowupMapTypeSelect=null;

var markerInfoBlowupOpenOnEvents=[
	E_MARKER_NONE
	,E_MARKER_DRAGEND
	,E_MARKER_DRAGSTART
	,E_MARKER_DRAG
	,E_MARKER_CLICK
	,E_MARKER_DBLCLICK
	,E_MARKER_MOUSEOVER
	,E_MARKER_MOUSEOUT
	,E_MARKER_MOUSEUP
	,E_MARKER_MOUSEDOWN
]

var markerInfoBlowupCloseOnEvents=[
	E_MARKER_NONE
	,E_MARKER_DRAGEND
	,E_MARKER_DRAGSTART
	,E_MARKER_DRAG
	,E_MARKER_CLICK
	,E_MARKER_DBLCLICK
	,E_MARKER_MOUSEOVER
	,E_MARKER_MOUSEOUT
	,E_MARKER_MOUSEUP
	,E_MARKER_MOUSEDOWN
]

function markerPutInfoBlowupZoomLevel(node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]
	
	var x;
	if(!markerInfoBlowupZoomLevelSelect)
	{
		markerInfoBlowupZoomLevelSelect=new SelectBox('markerInfoBlowupZoomLevel','infoWindowBlowup',function(option){markerSetInfoBlowupZoomLevel(option.value)});
		markerInfoBlowupZoomLevelSelect.setOptions(optionsZoomNode)
		markerInfoBlowupZoomLevelSelect.selectedIndex=0;
	}
	//nodeObj.marker.infoBlowupZoomLevel;
	markerInfoBlowupZoomLevelSelect.draw()
}

function markerPutInfoBlowupMapType(node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]

	var x;
	if(!markerInfoBlowupMapTypeSelect)
	{
		markerInfoBlowupMapTypeSelect=new SelectBox('markerInfoBlowupMapType','infoWindowBlowup',function(option){markerSetInfoBlowupMapType(option.value)});
		markerInfoBlowupMapTypeSelect.setOptions(optionsMapTypes);
		markerInfoBlowupMapTypeSelect.selectedIndex=0
	}
	markerInfoBlowupMapTypeSelect.draw();
}



function markerPutInfoBlowupOpenOn(node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]

	var x,event;
	if(!markerInfoBlowupOpenOnSelect)
	{
		markerInfoBlowupOpenOnSelect=new SelectBox('markerInfoBlowupOpenOn','infoWindowBlowup',function(option){markerSetInfoBlowupOpenOn(option.value)})
		var options=[]
		for(x=0;x<markerInfoBlowupOpenOnEvents.length;x++)
		{
			event=markerInfoBlowupOpenOnEvents[x]
			options.push({value:event,text:eventStr[event]})
		}
		markerInfoBlowupOpenOnSelect.setOptions(options)
	}
	markerInfoBlowupOpenOnSelect.selectedIndex=nodeObj.marker.infoBlowupOpenOn;
	markerInfoBlowupOpenOnSelect.draw()
}


function markerPutInfoBlowupCloseOn(node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]

	var x,event;
	if(!markerInfoBlowupCloseOnSelect)
	{
		markerInfoBlowupCloseOnSelect=new SelectBox('markerInfoBlowupCloseOn','infoWindowBlowup',function(option){markerSetInfoBlowupCloseOn(option.value)})
		var options=[]
		for(x=0;x<markerInfoBlowupCloseOnEvents.length;x++)
		{
			event=markerInfoBlowupCloseOnEvents[x]
			options.push({value:event,text:eventStr[event]})
		}
		markerInfoBlowupCloseOnSelect.setOptions(options)
	}
	markerInfoBlowupCloseOnSelect.selectedIndex=nodeObj.marker.infoBlowupCloseOn;
	markerInfoBlowupCloseOnSelect.draw()
}


function markerInfoWindowBlowupSetup(node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]
	markerPutInfoBlowupMapType(node)
	markerPutInfoBlowupZoomLevel(node)
	markerPutInfoBlowupOpenOn(node)
	markerPutInfoBlowupCloseOn(node)
}

function markerResetInfoBlowup(node,change)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]
	
	if(nodeObj.infoOpen==3)
	{
		if(change) nodeObj.gMarker.showInfoBlowup(markerGetInfoBlowupOpts(node)) 
		//else gmap.getInfoWindow().reset(nodeObj.latLng,currentMarkerTabs, currentMarkerSize, nodeObj.marker.infoOffset)
	}
}

function markerGetInfoBlowupOpts(node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]
	var opts={mapType:nodeObj.marker.infoBlowupMapType}
	if(typeof nodeObj.marker.infoBlowupZoomLevel!='object')opts.zoomLevel=nodeObj.marker.infoBlowupZoomLevel
	return opts
}

function markerSetInfoBlowupOpenOn(event,node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]

	nodeObj.marker.infoBlowupOpenOn=event
	nodePutInfoBlowupIcon(node)
	markerSetHasOn(node)
}

function markerSetInfoBlowupCloseOn(event,node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]
	nodeObj.marker.infoBlowupCloseOn=event
	nodePutInfoBlowupIcon(node)
	markerSetHasOn(node)

}

function markerSetInfoBlowupZoomLevel(zoom,node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]
	//zoom=parseInt(zoom)
	nodeObj.marker.infoBlowupZoomLevel=zoom
	markerResetInfoBlowup(node,true)
}

function markerSetInfoBlowupMapType(index,node)
{
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]
	if(typeof index=='undefined' || typeof index=='object')index=mapCurrentMapTypeIndex;
	nodeObj.marker.infoBlowupMapType=map.mapTypes[index]
	nodeObj.marker.infoBlowupMapTypeIndex=index
	
	markerResetInfoBlowup(node,true)
}

function markerPutInfoBlowup(node)
{
	//GLog.write('markerPutInfoBlowup '+node)
	//if(node==markerPresetUid)markerPresetActive=true
	if(!node)node=markerCurrentNode
	var nodeObj=mapNodes[node]
	if(nodeObj)
	{
		var x;
		if(innerHTMLFix)
		{
			markerPutInfoBlowupMapType(node)
			markerPutInfoBlowupZoomLevel(node)
			markerPutInfoBlowupOpenOn(node)
			markerPutInfoBlowupCloseOn(node)
		}
		markerInfoBlowupMapTypeSelect.selectIndex(nodeObj.marker.infoBlowupMapTypeIndex);
		markerInfoBlowupZoomLevelSelect.selectValue(nodeObj.marker.infoBlowupZoomLevel);
		markerInfoBlowupOpenOnSelect.selectValue(nodeObj.marker.infoBlowupOpenOn)
		markerInfoBlowupCloseOnSelect.selectValue(nodeObj.marker.infoBlowupCloseOn)
	}
}

