var cities = new Array( 'c_donetsk', 'c_dnepr', 'c_simferopol', 'c_kiev' );
var regions = new Array( 'r_donetsk', 'r_dnepr', 'r_krym', 'r_kiev' );

var regD = null;

var miniMap = null;
var largeMap = null;
var largeMapPh = null;
var mapTimer = null;
function minimizeMap( region, city )
{
	var rm = findObject( 'map_regions_ph' );
	var am = findObject( 'map_area_ph' );
	var cm = findObject( 'map_city_ph' );
	if( !rm || !am || !cm )
		return false;

//	toggleElement( 'map_area_ph' );
//	toggleElement( 'map_city_ph' );
	hideElem( 'map_regions_ph' );
	hideElem( 'map_area_ph' );
	hideElem( 'map_city_ph' );

	var o = findObject( 'r_'+regD[region].ps );
	if( o )
		hideElem( 'r_'+regD[region].ps );	

	miniMap = findObject( 'minimap_ph' );
	largeMap = findObject( 'mapi' );
	largeMapPh = findObject( 'mapc' );
	if( !miniMap || !largeMap || !largeMapPh )
		return false;

	if( mapCurrDir > 0 )
		{
		toggleElement( 'map_regions_ph' );

		mapOriginX = largeMapPh.offsetLeft;
		mapOriginY = largeMapPh.offsetTop;
		mapOriginW = largeMapPh.offsetWidth;
		mapOriginH = largeMapPh.offsetHeight;

		mapStepX = Math.abs( anchorPosX(miniMap) - largeMapPh.offsetLeft ) / mapSteps;
		mapStepY = Math.abs( anchorPosY(miniMap) - largeMapPh.offsetTop ) / mapSteps;
		mapStepW = (largeMapPh.offsetWidth - 300)/ mapSteps;
		mapStepH = (largeMapPh.offsetHeight - 205)/ mapSteps;
		mapCurrStep = 9;
		}
	else
		{

		var o1 = findObject( 'navmenu' );
		if( o1 )
			o1.innerHTML = '';
		var o2 = findObject( 'datasec' );
		if( o2 )
			o2.innerHTML = '';

		mapStepX = Math.abs( largeMapPh.offsetLeft - mapOriginX ) / mapSteps;
		mapStepY = Math.abs( largeMapPh.offsetTop - mapOriginY ) / mapSteps;
		mapStepW = (mapOriginW - largeMapPh.offsetWidth)/ mapSteps;
		mapStepH = (mapOriginH - largeMapPh.offsetHeight)/ mapSteps;

		showElem( 'mapc' );
		miniMap.innerHTML = '<img src=/img/zero.gif width=300 height=205 border=0>';
		mapCurrStep = 0;
		}
	
	mapTargetPS = regD[region].ps;
	mapTargetRegion = region;
	mapType = city;

	mapTimer = setTimeout( 'minimizeIt()', 20 );
}
var mapSteps = 10; mapCurrDir = 1; mapTargetPS = ''; mapTargetRegion = -1; mapType = 0;
var mapOriginX = 0; mapOriginY = 0; var mapOriginW = 0; var mapOriginH = 0;
var mapStepX = 0; var mapStepY = 0; mapStepW = 0; mapStepH = 0;

var mapSM = '/img/map_sm.png';
var mapNAME = 'Украины';
function minimizeIt()
{
	w = Math.round( mapCurrStep*mapStepW + 300 );
	h = Math.round( mapCurrStep*mapStepH + 205 );
	l = largeMapPh.offsetLeft + mapCurrDir*Math.round( mapStepX );
	t = largeMapPh.offsetTop + mapCurrDir*Math.round( mapStepY )
	largeMapPh.style.width = w+'px';
	largeMapPh.style.height = h+'px';
	largeMapPh.style.left = l+'px';
	largeMapPh.style.top = t+'px';
	largeMap.style.width = w+'px';
	largeMap.style.height = h+'px';
	mapCurrStep -= mapCurrDir;
	if( mapCurrStep == 0 )
		{
		if( mapCurrDir > 0 )
			{
			hideElem( 'mapc' );
			miniMap.innerHTML = '<a href=/ onclick="minimizeMap(0,-1); return false;"><img src=' + mapSM + ' width=300 height=205 border=0></a>' +
				'<div style="padding-top: 50px; padding-left: 75px;"><ul><li><a href=/ onclick="minimizeMap(0,-1); return false;" class=llnk style="height: 20px;">Выбрать на карте '+mapNAME+'</a></li></ul></div>';
			}
		if( mapType == -1 )
			updateRegionsMenu();
		else
			updateCityMenu( mapTargetRegion, mapType );
		mapCurrDir = -1;
		return;
		}
	if( mapCurrStep > mapSteps )
		{
		largeMapPh.style.width = mapOriginW +'px';
		largeMapPh.style.height = mapOriginH +'px';
		largeMapPh.style.left = mapOriginX +'px';
		largeMapPh.style.top = mapOriginY +'px';
		largeMap.style.width =  mapOriginW +'px';
		largeMap.style.height =  mapOriginH +'px';

		toggleElement( 'map_regions_ph' );
		showElem( 'map_regions_ph' );
		showElem( 'map_area_ph' );
		showElem( 'map_city_ph' );
		mapCurrDir = 1;
		return;
		}
	mapTimer = setTimeout( 'minimizeIt()', 10 );
}

function hoverRegion( reg )
{
	var o = findObject( 'r_'+reg );
	if( o )
		showElem( 'r_'+reg );
}

function outRegion( reg )
{
	var o = findObject( 'r_'+reg );
	if( o )
		hideElem( 'r_'+reg );	
}

function updateRegionsMenu()
{
	var o = findObject( 'navmenu' );
	if( !o )
		return;
	s = '<div class=mh>Регионы ' + mapNAME + '</div>'; f = 0;
	for( i=0; i<regD.length; i++ )
		{
		if( regD[i].ps == mapTargetPS )
			f = i;
		a = regD[i].ps == mapTargetPS ? 'a' : '';
		ap = regD[i].ps == mapTargetPS ? '' : '<a href=/ onclick="setupRegion(' + regD[i].id + '); return false;" class=llnk>';
		as = regD[i].ps == mapTargetPS ? '' : '</a>';
		s += '<div class=smi'+a+'>' + ap + regD[i].name + as +'</div>';		
		}
	o.innerHTML = s;
	updateCitiesList( f );
}

function setupRegion( newId )
{
	mapTargetPS = regD[newId-1].ps;
	updateRegionsMenu();
}

function updateCitiesList( idx )
{
	var o = findObject( 'datasec' );
	if( !o )
		return;
	s = '<div class=mh>Города, в которых есть отделения сети</div>';
	s += '<p><table width=100% cellpadding=0 cellspacing=0 border=0>';
	for( l=0; l<regD[idx].items.length; l++ )
		{
		ap = regD[idx].items[l].items.length ? '<a href=/ onclick="setupCity(' + idx+','+l + '); return false;" class=llnk>' : '';
		as = regD[idx].items[l].items.length ? '</a>' : '';	
		s += '<tr onmouseover="this.className=\'a\';" onmouseout="this.className=\'n\'"><td>' + ap+regD[idx].items[l].name + as+'</td></tr>';
		}
	s += '</table>';
	o.innerHTML = s;
}

function setupCity( reg, ci )
{
	updateCityMenu( reg, ci );
}

function updateCityMenu( reg, ci )
{
	var o = findObject( 'navmenu' );
	if( !o )
		return;
	s = '<div class=mh>' + regD[reg].name + '</div>';
	for( i=0; i<regD[reg].items.length; i++ )
		{
		a = i == ci ? 'a' : '';
		ap = i!=ci && regD[reg].items[i].items.length ? '<a href=/ onclick="setupCity('+reg+','+i+'); return false;" class=llnk>' : '';
		as = i!=ci && regD[reg].items[i].items.length ? '</a>' : '';
		s += '<div class=smi'+a+'>' + ap + regD[reg].items[i].name + as +'</div>';		
		}
	o.innerHTML = s;
	updateBranchList( reg, ci );
}

function updateBranchList( reg, ci )
{
	var o = findObject( 'datasec' );
	if( !o )
		return;
	s = '<div class=mh>'+regD[reg].items[ci].name+'</div>';
	s += '<p><table width=100% cellpadding=0 cellspacing=0 border=0>';
	for( l=0; l<regD[reg].items[ci].items.length; l++ )
		{
		ap = regD[reg].items[ci].items[l].img ? '<a href=/ onclick="showDestMap(' + reg+','+ci +','+l+ '); return false;" class=llnk>' : '';
		as = regD[reg].items[ci].items[l].img ? '</a>' : '';	
		s += '<tr onmouseover="this.className=\'a\';" onmouseout="this.className=\'n\'"><td>' + ap+regD[reg].items[ci].items[l].txt + as+'</td></tr>';
		}
	s += '</table>';
	o.innerHTML = s;
}

function showDestMap( reg, ci, br )
{
	var op = findObject( 'c_photo' );
	var oa = findObject( 'c_address' );
	var om = findObject( 'c_map' );
	var wt = findObject( 'workingtime' );
	if( !op || !oa || !om || !wt )
		return;

	var bo = regD[reg].items[ci].items[br];
	if( bo.photo )
		op.innerHTML = '<img src=' + bo.photo + ' width=240 border=0>';
	else
		op.innerHTML = '';

	oa.innerHTML = regD[reg].items[ci].name + ', ' + bo.txt;
	om.innerHTML = '<img src='+bo.img + ' width=540 height=460 border=0>';
	wt.innerHTML = bo.wt;
	api.load();
	setTimeout( 'setBG()', 200 );	
}

var inited = false;
function initd2()
{
	var o = findObject('map_ph');
	var or = findObject('map_regions_ph');
	var oa = findObject('map_area_ph');
	var oc = findObject('map_city_ph');
	var om = findObject('mapc');
	if( !o || !or || !oa || !oc || !om )
		return;

	w = o.offsetWidth;
	if( 1080 > w )
		{
		om.style.left = ( w - 1180 )+'px';
		or.style.left = ( w - 1180 )+'px';
		oa.style.left = ( w - 1180 )+'px';
		oc.style.left = ( w - 1180 )+'px';
		}
	if( !inited )
		{
		toggleElement( 'mapc' );
		toggleElement( 'map_regions_ph' );
		toggleElement( 'map_area_ph' );
		toggleElement( 'map_city_ph' );
		inited = true;
		}
    formOpts();
}