var type_id_n=0;
var vote_num_n=0;
var type_n;

var to_fav_text = '+ � ���������';
var out_fav_text = '- �� ����������';
var loading = '<img src="/files/loading.gif"> Загрузка...';

function go_vote(type_id,type,vote_num) {
	if (type_id_n==0) {
		type_id_n=type_id; vote_num_n=vote_num; type_n=type;
		$('vote_btn_' + type_id_n).innerHTML = loading;
		var pars = 'type='+type+'vote&type_id='+type_id;
	    var myAjax = new Ajax.Updater('income','/action.php',{ method: 'get', parameters: pars, onSuccess: showResponseTypeVote});
	}
}

function showResponseTypeVote(transport) {
	var response = transport.responseText || "Error";
	if (response=='true') { 
		vote_num_n++;
		var onPress = '<a href="#" onclick="to_fav('+type_id_n+',\'' + type_n + '\',\'in_fav\'); return false;">' + to_fav_text + '</a>';
		$('vote_btn_' + type_id_n).innerHTML = onPress;
		$('num_' + type_id_n).innerHTML = vote_num_n;
	}
	else document.getElementById('vote_btn_' + type_id_n).innerHTML = 'Error';
	type_id_n=0;
}

function to_fav(type_id, type ,type_fav) {
	if (type_id_n==0) {
		type_id_n=type_id; type_n=type;
		$('vote_btn_' + type_id_n).innerHTML = loading;
		var pars = 'type='+type+'vote&type_id='+type_id+'&fav='+type_fav;
	    var myAjax = new Ajax.Updater('income','/action.php',{ method: 'get', parameters: pars, onSuccess: showResponseTypeFav});
	}
}

function showResponseTypeFav(transport) {
	var response = transport.responseText || "Error";
	if (response=='in_fav') { 
		$('vote_btn_' + type_id_n).innerHTML = '<a href="#" onclick="to_fav(' + type_id_n + ',\'' + type_n + '\',\'out_fav\'); return false;">' + out_fav_text + '</a>';
	}
	else if (response=='out_fav') {
		$('vote_btn_' + type_id_n).innerHTML = '<a href="#" onclick="to_fav(' + type_id_n + ',\'' + type_n + '\',\'in_fav\'); return false;">' + to_fav_text + '</a>';
	}
	else $('vote_btn_' + type_id_n).innerHTML = 'Error';
	type_id_n=0;
}

function containsDOM(container,containee){var isParent=false;do{if((isParent=container==containee))break;containee=containee.parentNode;}while(containee!=null);return isParent;}
function checkMouseLeave(element,evt){evt=(evt)?evt:((window.event)?window.event:"");window.status=evt;if(evt.relatedTarget){return!containsDOM(element,evt.relatedTarget);}else{if(element.contains(evt.toElement)){return(false);}else{return(true);}}}
function show_menu(i){
	nav=$('div'+i).style;
	con=$('ul'+i);
	if(nav.display=="none")	nav.display='block';
	else nav.display='none';
	
	con.onmouseout=function(evt){
		if(checkMouseLeave(this,evt)){
			i=parseInt(this.id.substr(2));
			nav=$('div'+i).style;
			nav.display='none';
		}
	}
}

function wrong( type, type_id, wrong_num ){
	var pars = 'type=wrong&to=' + type + '&type_id='+type_id + '&wrong_num=' + wrong_num;
	var myAjax = new Ajax.Updater('income','/action.php',{ method: 'get', parameters: pars});
	$('wrong' + type_id).innerHTML = '<b style="color:#cc0000">�������!</b>';
	$('ul' + type_id).innerHTML = '';
}

function show_rows_data(query,block) {
	query = query + '&block='+block;
	$(block).innerHTML = loading;
    var myAjax = new Ajax.Updater(
        block,
        '/action.php', 
        {
            method: 'get',
            parameters: query
        });
}

function show_block(query,block) {
	query = query + '&block='+block;
	$(block).innerHTML = loading;
    var myAjax = new Ajax.Updater(
        block,
        '/action.php', 
        {
            method: 'get',
            parameters: query
        });
}

function goodBad(query,block) {
	query = 'type=goodBad&' + query;
	$(block).innerHTML = 'wait...';
    var myAjax = new Ajax.Updater(
        block,
        '/action.php', 
        {
            method: 'get',
            parameters: query
        });
}

function send_rows_data( data, row, id, block, input_name ){
	var text = $(input_name).value;
	$(block).innerHTML = loading;
    var myAjax = new Ajax.Updater(
        block,
        '/action.php?type=rows_data_add&data=' + data + '&row=' + row + '&id=' + id, 
        {
            method: 'post',
            parameters: { text: text }
        });
}

var last='';
function showBandInc(id){
	if(last){
		$('incBand'+last).style.display='none';
		$('incBanda'+last).style.display='inline';
	}
	$('incBand'+id).style.display='inline';
	$('incBanda'+id).style.display='none';
	last=id;
}

var blockInc = "";
function includeBand( num ) {
	blockInc = num;
	band1 = $F('band1_' + num );
	band2 = $F('band2_' + num );
	$('incBand'+num).style.display='none';
	$('incBandc'+num).innerHTML = loading;
    var myAjax = new Ajax.Updater(
        'income',
        '/action.php?type=incBand', 
        {
            method: 'POST',
            parameters: { band1: band1, band2: band2, incType: num },
            onSuccess: responseIncludeBand
        });
}

function responseIncludeBand(transport) {
	var response = transport.responseText || "Error";
	$('incBandb' + blockInc ).innerHTML = $( 'incBandb' + blockInc ).innerHTML + response;
	$('incBandc' + blockInc).innerHTML = '';
	$('band2_' + blockInc).value = '';
	$('incBanda' + blockInc).style.display='inline';
}

var lastReview = '';
function showReview( id ){
	if( lastReview ){
		$('reviewB_'+lastReview).style.display='none';
	}
	if( lastReview != id ){
		$('reviewB_'+id).style.display='inline';
		show_rows_data('?type=showReview&id=' + id, 'reviewB_'+id);
		lastReview=id;
	}else{
		lastReview = '';
	}
}

var blockInc = "";
function sendReview( num, type ) {
	blockInc = num;
	author = $F('author_' + num );
	text = $F('review_' + num );
	$('reviewB_'+num).innerHTML = loading;
    var myAjax = new Ajax.Updater(
        'reviewB_'+num,
        '/action.php?type=addReview', 
        {
            method: 'POST',
            parameters: { author: author, text: text, id: num, typeR: type }
        });
}

function addNewTag( typeId ){
	tagName = $F('tagName');
	$('cloudTags').innerHTML = loading;
    var myAjax = new Ajax.Updater(
    'cloudTags',
    '/action.php?type=addTags&band_id='+typeId, 
    {
        method: 'POST',
        parameters: { tagName: tagName }
    });
}

function openUpWindow( query ) {
	if( $('upWindow').style.display != 'inline'){
		var scrollY = document.body.scrollTop;
		var left = (screen.width - 320) / 2;
		$('upWindow').style.display = 'inline';
		$('upWindow').style.top = scrollY + 200;
		$('upWindow').style.left = left;
		show_rows_data( query , 'upWindowData' );
	}else {
		$('upWindow').style.display = 'none';
	}
}

function update_null_data() {
	var ta = $F('ta');
	var ro = $F('ro');
	var idn = $F('idn');
	var id = $F('id');
	var data = $F('nullData');
	$('add_update_null_data').style.display='none';
	$('status_update_null_data').innerHTML = loading;
    var myAjax = new Ajax.Updater(
        'income',
        '/action.php?type=addNullData', 
        {
            method: 'POST',
            parameters: { ta: ta, ro: ro, idn: idn, id: id, data: data},
            onSuccess: responseUpdateNullData
        });
}

function responseUpdateNullData(transport) {
	var response = transport.responseText || "Error";
	$('items_update_null_data').innerHTML = $( 'items_update_null_data').innerHTML + response;
	$('status_update_null_data').innerHTML = '';
	$('nullData').value = '';
	//$('add_update_null_data').style.display='inline';
}

function form_send(query, formData, block) {
$(block).innerHTML = loading;
var myAjax = new Ajax.Updater(
    block,
    '/action.php?' + query + '&block=' + block, 
    {
        method: 'POST',
        parameters: formData
    });
}

function getPlayerEl(_bb){
	if(window.document[_bb]){
		return window.document[_bb];
	}
	if(navigator.appName.indexOf("Microsoft")!=-1){
		return document.getElementById(_bb);
	}else{
		return document[_bb];
	}
}

function playPreview(_be){
	var _bf = getPlayerEl("pleerBig");
	_bf.SetVariable("loadSong", _be );
}

function inlineBlock( block ){
	if( $( block ).style.display == 'none' ){
		$( block ).style.display='inline';
	}else{
		$( block ).style.display='none';
	}
}

function textCounter(field, countPoleId, maxlimit) { 
  if (field.value.length > maxlimit)  
      field.value = field.value.substring(0, maxlimit); 
  else  
    document.getElementById(countPoleId).innerHTML  = maxlimit - field.value.length; 
}