function getFormData(form) {
    var _data = $(form).formToArray();
    var data = {};
    for(var i=0; i<_data.length; i++) {
        data[_data[i].name] = _data[i].value;
    }
    return data;
}

//авторизация
$(function(){
    $('#auth_panel').delegate('form','submit', function(){
        $.getJSON(this.action, getFormData(this), function(res){
            if(res.ok) 
                location.reload();
            else
                alert(res.error);    
        });        
        return false;
    });
    $('#auth_panel').delegate('#show_login_form', 'click', function(){
        $("#login_form").show();
        return false;
    });
    $('#auth_panel').delegate('#hide_login_form', 'click', function(){
        $("#login_form").hide();
        return false;
    });
    
     $('#auth_panel').delegate('#logout','click', function(){
         $.get(this.href, function(){
            location.reload();           
         });
          return false;    
     })
});
//голосование
$(function(){
    function onClick() {
        //try {
            var id = this.className.match(/id_(\d+)/)[1];
            var value = $(this).hasClass('j_plus') ? 1 : 0;
            var o = {soundId: id, isPlus: value};
            var self = this;
            $.get(g_vote_url, o, function(res){
                $(self).parents(".j_rating").replaceWith(res);
            });
        //}catch(e){alert(e)}
        return false;
    }
    
    $('body').delegate('.j_plus', 'click', onClick);
    $('body').delegate('.j_minus', 'click', onClick);
});

var isUpdateChangeSong = false;
var isUpdateVote = false;
function changeSong(id) {	
	if(id != null) {
		isUpdateChangeSong = true;
		$.get(g_vote_url + 'SoundData', {id : id}, function(res) {
	        $(".j_flash_raiting").html(res);
	        $(".j_flash_raiting").show();
	    });
	}else {
		$(".j_flash_raiting").html('');
        $(".j_flash_raiting").hide();
	}
}

function updateVote(artist, trackName) {
	if(artist.length && trackName.length) {
		$.get(g_vote_url + 'LastBroadcast', {}, function(res){
			if(!isUpdateChangeSong) {
		        $(".j_flash_raiting").html(res);
		        $(".j_flash_raiting").show();		        
			}
			isUpdateChangeSong = false;
	    });
	}else {
		$(".j_flash_raiting").html('');
        $(".j_flash_raiting").hide();
	}
}

//плеер
$(function(){	
	$('body').delegate('.j_sound', 'click', function(){
		removeAllSongs();
		if($(this).hasClass("j_sound_play_pause")) {
			if($(this).hasClass("pause")) {				
				$(this).removeClass("pause");
				$(this).addClass("play");
			}else {
				$(".j_sound_play_pause").removeClass("pause");
				$(".j_sound_play_pause").addClass("play");
				$(this).removeClass("play");
				$(this).addClass("pause");
				addSong(this);
			}
		}else {
			addSong(this);
		}
		return false;
	});
	$('body').delegate('.j_listen_all', 'click', function(){		
		$(".j_sound_play_pause").removeClass("pause");
		$(".j_sound_play_pause").addClass("play");
		removeAllSongs();
		var jSound;
		if(this.id) 
			jSound = $('.j_sound', $("." + this.id));
		else
			jSound = $('.j_sound');
		jSound.each(function(){
			addSong(this);
		});
		return false;
	});	
	
	function addSong(jSound) {
		var jSoundParent =  $(jSound).parent();
		while(!jSoundParent.hasClass("j_radioparent")) {
			jSoundParent = jSoundParent.parent(); 
		}		
		var divsInfo = jSoundParent.children();		
		swfobject.getObjectById("DJStation").addSong({
			start_time: 0,
			end_time: divsInfo[0].innerHTML,
			artist: divsInfo[2].innerHTML,
			name: divsInfo[1].innerHTML,
			id: divsInfo[3].innerHTML,
			url: jSound.id.substring(jSound.id.lastIndexOf('/') + 1)
		});
	}
	
	function removeAllSongs() {
		swfobject.getObjectById("DJStation").removeAllSongs();
	}
	
});
//выбор даты в чартах
$(function(){
	$('body').delegate('.j_charts_date_filter li a', 'click', function(){
		$('.j_charts_date_filter li').removeClass('active');
		$(this).parent().addClass('active');
		return false;
	});
	
});

//сворачивание-разворачиванеи сетки
$(function(){
	$('body').delegate('#show_full_grid', 'click', function(){
		if($("#schedule-grid").hasClass('small')) {
			$("#schedule-grid").removeClass('small');						
			$("#show_full_grid").html('cвернуть<span></span>');
			$("#show_full_grid").html('cвернуть<span></span>');
		} else {
			$("#schedule-grid").addClass('small');
			$("#show_full_grid").html('показать все<span></span>');
		}
		$("#j_schedule-grid_arrow").toggleClass('open-all');
		$("#j_schedule-grid_arrow").toggleClass('close-all');
		return false;
	});
});
//обновление эфира
var backCounterIntervalId = 1;
function updateBroadcast() {
	if($("#ajax_update_broadcast").length) {
	    $.get($("#ajax_update_broadcast").html(), function(html){
	        $("#broadcast").html(html);
	    });
	}
}
setInterval(updateBroadcast, 30000);

//обновление текущей программы 
function updateCurrentProgramm() {
	if($("#ajax_update_broadcast").length) {
	    $.get(base_url + "/site/ajaxCurrentProgramm", function(html){
	    	$("#j_anonce_text").html(html);
	    	if($("#j_anonce_text").width() < $("#j_run_text_cont").width())
				$("#j_run_text_cont").html($("#j_anonce_text")[0])
	    });
	}
}
setInterval(updateCurrentProgramm, 60000);

//банеры на морде
var lastBanner = 0;
var bannerTime;
var mainBannerIntervalId;
$(function(){	
    $('body').delegate('#titul-banners .js_n', 'click', function(){    	
    	showBanner(this.className.match(/n_(\d+)/)[1]);
        return false;
    })
});
function showBanner(index) {
	if($("#titul-banners .j_banner").length == 0) {
		lastBanner = 0;
		stopMainBanners();
		return;
	}
	if(index == undefined) {
		lastBanner++;		
		lastBanner %= $("#titul-banners .j_banner").length;
		index = lastBanner;		
	}else {
		lastBanner = index;
		startMainBanners();		
	}
	$("#titul-banners .j_banner").hide();
    $("#titul-banners .j_banner").eq(index).show();
    $("#titul-banners .js_n").removeClass('banner2-scroller__active');
    $("#titul-banners .js_n.n_"+index).addClass('banner2-scroller__active');
}

function startMainBanners(timeout) {
	if(timeout !== undefined)
		bannerTime = timeout;
	if(mainBannerIntervalId) 
		clearInterval(mainBannerIntervalId);
	
	
	var counter = bannerTime;
	var fn = function() {
		if(counter == 0) {
			showBanner();
			counter = bannerTime;
		}
		$("#titul-banners .js_counter").html('<span></span>'+counter+'<span></span>');
		counter--;
	}
	fn();
	mainBannerIntervalId = setInterval(fn, 1000);
}

function stopMainBanners() {
	if(mainBannerIntervalId) 
		clearInterval(mainBannerIntervalId);
}


//обновление xml для флеша
function getRadioXmlTags() {
	$.get(base_url + "/tags_xml.php", function(res) {		
		swfobject.getObjectById("DJStation").onGetTagsFromJS(res);
	});
	/*$.get(base_url + "/server_time_xml.php", function(res) {
		swfobject.getObjectById("DJStation").onGetTimeFromJS(res);
	});*/
}


//события
$(function(){
	$('body').delegate('.j_delete_event', 'click', function(){
		if(!confirm("Удалить событие?"))
			return false;
	});
});
