function showSM(miid,id) { document.getElementById(miid).className = 'hover'; document.getElementById(id).style.display = 'block'; return false; }
function hideSM(miid,id) { document.getElementById(miid).className = ''; document.getElementById(id).style.display = 'none'; return false; }

var last_show = null;
var timer = null;
function showSM2(id) {
    if (timer) {
        clearTimeout(timer);
    }
    if (document.getElementById('m2_sub_' + last_show)) {
        document.getElementById('m2_sub_' + last_show).style.display = 'none';
        document.getElementById('m2_link_' + last_show).className = '';
    }
    document.getElementById('m2_link_' + id).className = 'active';
    if (document.getElementById('m2_sub_' + id)) {
        document.getElementById('m2_sub_' + id).style.display = 'block';
        last_show = id;
    }
}
function hideSM2(id) {
    document.getElementById('m2_link_' + id).className = '';
    timer = setTimeout(
        function() {
            if (document.getElementById('m2_sub_' + last_show)) {
                document.getElementById('m2_sub_' + last_show).style.display = 'none';
            }
        },
        1000
    );
}

var openList = null;

function CSShowList() {
	if(document.getElementById('csl').style.display != 'block') {
		document.getElementById('csl').style.display = 'block';
		openList = true;
	}
	return false;
}

function CSSetCity(cityId) {
	document.getElementById('csf').innerHTML = document.getElementById('csa' + cityId).innerHTML;
	var CSLinks = document.getElementById('csl').childNodes;
	var i;
	for(i=0;i<CSLinks.length;i++) {
		if(CSLinks[i].id) {
			if(CSLinks[i].id.substr(3)==cityId) {
				CSLinks[i].className='act';
			} else { 
				CSLinks[i].className='';
			}
		}
	}
	return false;
}

function RSShowList() {
	if(document.getElementById('rsl').style.display != 'block') {
		document.getElementById('rsl').style.display = 'block';
		openList = true;
	}
	return false;
}

function RSSetRadio(radioId) {
	document.getElementById('rsf').innerHTML = document.getElementById('rsa' + radioId).innerHTML;
	var RSLinks = document.getElementById('rsl').childNodes;
	var i;
	for(i=0;i<RSLinks.length;i++) {
		if(RSLinks[i].id) {
			if(RSLinks[i].id.substr(3)==radioId) {
				RSLinks[i].className='act';
			} else { 
				RSLinks[i].className='';
			}
		}
	}
	return false;
}

document.onclick = function(event) {
	if(!event) event = window.event;
    if (!openList && document.getElementById('csl') && document.getElementById('csl').style.display == 'block') {
        document.getElementById('csl').style.display = 'none';
    }
	if (!openList && document.getElementById('rsl') && document.getElementById('rsl').style.display == 'block') {
		document.getElementById('rsl').style.display = 'none';
	}
    if (!openList && search_block) {
        search_block.style.display = 'none';
        search_block = null;
    }
    openList = null;
}

var old_show = null;
function showHideV(linkObj){
    linkObj = linkObj.parentNode.parentNode;
    
    if (linkObj.className == 'vacancy-one') {
        linkObj.className = 'vacancy-one open';
        if (old_show && old_show.className != 'vacancy-one') {
            old_show.className = 'vacancy-one';
        }
        old_show = linkObj;
    }
    else {
        linkObj.className = 'vacancy-one';
        if (old_show && old_show.className != 'vacancy-one') {
            old_show.className = 'vacancy-one';
        }
        old_show = null;
    }
    
	return false;
}

var stations_already = new Array();
function addCityRow(city_id, city, stations) {
    if (!city) {
        alert('Выберите город.');
        return false;
    }
    if (!stations) {
        alert('Выберите станции.');
        return false;
    }
    if (stations_already[city_id]) {
        alert('Станции в городе «' + city + '» уже добавлены, сейчас они будут заменены.');
        //return false;
        i = stations_already[city_id][1];
        _removeCityRow(stations_already[city_id][0], false);
    }
    csf.innerHTML = 'Выберите город';
    csa.className = 'act';
    document.getElementById('csa' + city_id).className = '';
    
    var id = city_id;
    stations_already[city_id] = [id, i];
    
    var table = document.getElementById('cr-table');
    var tableRows = table.getElementsByTagName('TR');
    if(tableRows.length == 2) document.getElementById('cr-nothing').style.display = 'none';
    
    var tr = table.insertRow(i);
    tr.id = 'tr' + id;
    
    var td1 = tr.insertCell(0);
    td1.className = "cr-city";
    td1.innerHTML = city;
    
    var td2 = tr.insertCell(1);
    td2.className = "cr-stantions";
    td2.innerHTML = stations;
    
    var td3 = tr.insertCell(2);
    td3.className = "cr-remove";
    td3.innerHTML = '<a href="#"><img src="/images/remove.gif" width="51" height="22" alt="Удалить" onclick="return removeCityRow(' + id + ');" /></a>';
    
    i = table.getElementsByTagName('TR').length - 1;
    id++;
    
    return false;
}

function _removeCityRow(rowIndex, dropnode) {
    var tr = document.getElementById('tr' + rowIndex);
    tr.parentNode.removeChild(tr);
    if (dropnode) {
        var el = document.getElementById('stations_' + rowIndex);
        el.parentNode.removeChild(el);
    }
}

function removeCityRow(rowIndex) {
	var tableObj = document.getElementById('cr-table');
	var tableRows = tableObj.getElementsByTagName('TR');
    
    _removeCityRow(rowIndex, true);
    stations_already[rowIndex] = false;
    
    if(tableRows.length == 2) document.getElementById('cr-nothing').style.display = 'block';
    
    i--;
    
	return false;
}
var search_block;
function showBlock(id) {
    if (document.getElementById(id) && document.getElementById(id).style.display != 'block') {
        document.getElementById(id).style.display = 'block';
        search_block = document.getElementById(id);
        openList = true;
    }
    else {
        document.getElementById(id).style.display = 'none';
        search_block = null;
        openList = null;
    }
    return false;
}

function setMusic(stop) {
    JsHttpRequest.query(
        '/mp3player.php',
        {
            "stop": parseInt(stop)
        },
        function(result, errors) {
            if (errors) {
                alert(errors);
                return;
            }
        },
        true
    );
    return false;
}
