//// Vars ////
var step_scroll_with_mouse = 2;
var countries = new Array();		// array for list of country objects
var cities = new Array();		// array for list of city objects
var quality = new Array();		// array for list of quality objects
var style = new Array();		// array for list of style objects
var quality_idtoindex = new Array();
var style_idtoindex = new Array();
var radios = new Array();		// array for list of radio objects by country and city
var radios_data = new Array();
var radios_quality = new Array();	// array for list of radio objects by quality
var radios_style = new Array();		// array for list of radio objects by style
var translate = {};
var curr_country_index = 0;
var curr_city_index = 0;
var curr_quality_index = 0;
var curr_style_index = 0;
var curr_filter_item = 'country';
var domain = location.protocol+'//'+location.host;
//var domain = location.protocol+'//'+location.host+'/swfradio';
var language = 'en';
if ($.cookie('language') != null) language = $.cookie('language');
var fav_count = null;
var default_country;
var t_open_fOut = "fast";
var t_open_fIn = "slow";
var t_close_fOut = "fast";
var t_close_fIn = "slow";
var intervalID = '';
//// Functions ///

function showCountries() {
  $('.table-country').empty();
  for(var index in countries) {
    //....output HTML
    if (typeof(countries[index].id) != 'undefined') {
      var country = $('<tr><td class="img"><img src="" alt="" /></td><td class="name"></td><td class="stats"><span class="count"></span>['+(typeof(translate.station) != 'undefined' ? translate.station.toUpperCase() : 'STATION')+']</td></tr>');
      $(country).attr('id', 'country'+index);
      $('img', country).attr('src', countries[index].img_url).attr('alt', countries[index].country);
      $('.name', country).text(countries[index].country);
      $('.count', country).text(countries[index].number_radios);
      if (curr_country_index == 0 && countries[index].id == default_country) {
	curr_country_index = index;
	$('.b-filter-panel ul li a.city').parent().removeClass('disabled');
	loadCities(false);
	loadRadios();
      }
      if (curr_country_index == index) $(country).addClass('active');
      $('.table-country').append(country);
    }
  }
  $('.column1 .scroll').data('jsp').reinitialise();
}

function loadCountries() {
  if (countries.length == 0) {
    $.post(domain+'/get_countries', function(data){
		if (data != null && data.length > 0) {
			countries = data;
			countries.unshift(0);
			default_country = countries.pop().default_country;
			showCountries();
		}
      }, "json");    
  } else {
    showCountries();
  }
}

function showCities() {
  $('.table-country').empty();
  for(var index in cities[curr_country_index]) {
    //....output HTML
    if (typeof(cities[curr_country_index][index].id) != 'undefined') {
      var city = $('<tr><td class="img"><img src="" alt="" /></td><td class="name"></td><td class="stats"><span class="count"></span>['+(typeof(translate.station) != 'undefined' ? translate.station.toUpperCase() : 'STATION')+']</td></tr>');
      $(city).attr('id', 'city'+index);
      if (typeof(cities[curr_country_index][index].img_url) == 'undefined' || cities[curr_country_index][index].img_url == '') $('img', city).remove();
      else {
	$('img', city).attr('src', cities[curr_country_index][index].img_url);
	$('img', city).attr('alt', cities[curr_country_index][index].city);
      }
      $('.name', city).text(cities[curr_country_index][index].city);
      $('.count', city).text(cities[curr_country_index][index].number_radios);
      if (curr_city_index == index) $(city).addClass('active');
      $('.table-country').append(city);
    }
  }
  $('.column1 .scroll').data('jsp').reinitialise();
}

function loadCities(show) {
  if (curr_country_index == 0) return;
  if (typeof(cities[curr_country_index]) != 'object') {
      $.post(domain+'/get_cities', {'country_id': countries[curr_country_index].id}, function(data){
		if (data != null && data.length > 0) {
			cities[curr_country_index] = data;
			cities[curr_country_index].unshift(0);
			if (show) {
				showCities();
			}
		}
      }, "json");    
  } else {
    if (show) {
      showCities();
    }
  }
}

function showRadios(selector) {
  var arr;
  if (selector == 'quality') {
      arr = radios_quality[curr_quality_index];
  } else if (selector == 'style') {
    arr = radios_style[curr_style_index];
  } else {
    if (typeof(radios[curr_country_index]) == 'undefined') return;
    arr = radios[curr_country_index][curr_city_index];
  }
  $('.main-icons-inner .items').empty();			
  $('.main-icons-inner2 .items').empty();
  $('.table-stations').empty();
  var items_home_24 = $('<ul class="stations clr"></ul>');
  var items_home_6 = $('<ul class="stations clr"></ul>');
  var count_radios = 0;
  var number_radios = 0;
  var radio_id;
    fav_count = 0;
  for(var index in arr) {
    //....output HTML
    radio_id = parseInt(arr[index]);
    if (typeof(radios_data[radio_id]) != 'undefined') {
	var radiostation_home = $('<li><div class="station-top clr"><div class="rate-info"><span>'+(typeof(translate.rating) != 'undefined' ? translate.rating : 'Rating')+': </span><span class="rate-count"></span></div><a href="javascript:;" class="fav fav-no"></a><div class="rate-change clr"><a href="javascript:;" class="plus"></a><a href="javascript:;" class="minus"></a></div></div><div class="station-main"><div class="station-shadow"></div><a href="javascript:;"></a><label class="vip"></label><label class="gold"></label><label class="brilliant"></label></div><div class="station-bot"><a href="#" class="station-name"></a></div></li>');
	var radiostation = $('<tr><td class="img"><img src="" alt="" /></td><td class="name"></td><td class="t-rate"></td><td class="w1"><div class="rate-change clr"><a href="javascript:;" class="plus"></a><a href="javascript:;" class="minus"></a></div></td><td class="w1"><a href="javascript:;" class="fav fav-no"></a></td><td class="w1 info"><a href="javascript:loadRadio('+radio_id+');"></a></td></tr>');
	$(radiostation).addClass('radio_id'+radio_id);
	$(radiostation_home).addClass('radio_id'+radio_id);
	if (typeof(radios_data[radio_id].img_url_small) == 'undefined' || radios_data[radio_id].img_url_small == '') $('img', radiostation).remove();
	else {
	  $('.img img', radiostation).attr('src', radios_data[radio_id].img_url_small);
	  $('.img img', radiostation).attr('alt', radios_data[radio_id].name).attr('width',11);
	}
	$('.name', radiostation).text(radios_data[radio_id].name);
	$('.t-rate', radiostation).text((typeof(translate.rating) != 'undefined' ? translate.rating.toUpperCase() : (typeof(translate.rating) != 'undefined' ? translate.rating.toUpperCase() : 'RATING'))+': '+(radios_data[radio_id].rating < 0 ? ('000'+Math.abs(radios_data[radio_id].rating)).replace(/.*(.{3})/, '-$1') : ('000'+radios_data[radio_id].rating).replace(/.*(.{3})/, '$1')) );
	$('.station-top .rate-count', radiostation_home).text(radios_data[radio_id].rating);
	$('.station-main a', radiostation_home).css('background-image', 'url('+radios_data[radio_id].img_url+')');
	$('.station-main a', radiostation_home).css('background-position', 'center');
	$('.station-main a', radiostation_home).css('background-repeat', 'no-repeat');
	$('.station-bot a.station-name', radiostation_home).text(radios_data[radio_id].name);
	
    if (radios_data[radio_id].vip == 'false') $('label.vip', radiostation_home).remove();
    if (radios_data[radio_id].gold == 'false') $('label.gold', radiostation_home).remove();
    if (radios_data[radio_id].brilliant == 'false') $('label.brilliant', radiostation_home).remove();
    
	//if (getCookie('radio_id'+radio_id, 'favourite')) {
	  //$('.fav', radiostation).removeClass('fav-no');
	  //$('.fav', radiostation_home).removeClass('fav-no');
	  //fav_count++;
	//}
    
    if (radios_data[radio_id].favourite == 'true' || (getCookie('radio_id'+radio_id, 'favourite') && $.cookie('SWF_AuthSes'))) {
      $('.fav', radiostation).removeClass('fav-no');
      $('.fav', radiostation_home).removeClass('fav-no');
      fav_count++;
    }
    
	switch (getCookie('radio_id'+radio_id, 'raiting')) {
	  case -1: 
	    $('.rate-change', radiostation).addClass('negative');
	    $('.rate-change', radiostation_home).addClass('negative');
	    break;
	  case 1: 
	    $('.rate-change', radiostation).addClass('positive');
	    $('.rate-change', radiostation_home).addClass('positive');
	    break;
	}
	$('.table-stations').append(radiostation);
	// radio for slider
	$(items_home_24).append($(radiostation_home).clone());
	$(items_home_6).append($(radiostation_home).clone());
	count_radios++;
	if (count_radios % 6 == 0 || typeof(arr[parseInt(index)+1]) == 'undefined') {
	  $('.main-icons-inner2').data("scrollable").addItem(items_home_6);
	  items_home_6 = $('<ul class="stations clr"></ul>');
	}
	if (count_radios == 24 || typeof(arr[parseInt(index)+1]) == 'undefined') {
	  $('.main-icons-inner').data("scrollable").addItem(items_home_24);
	  items_home_24 = $('<ul class="stations clr"></ul>');
	  count_radios = 0;
	}
	number_radios++;
    }
  }
  $('.b-total-stations-count').text(number_radios);
  $('.b-total-favs-count').text(fav_count);
  $('.column2 .scroll').data('jsp').reinitialise();
  $('.main-icons-inner').data("scrollable").begin();
  $('.main-icons-inner2').data("scrollable").begin();
}

function loadRadios(selector) {
  var arr;
  var params = {};
  if (selector == 'quality') {
    arr = radios_quality[curr_quality_index];
    params.quality_id = quality[curr_quality_index].id
  } else if (selector == 'style') {
    arr = radios_style[curr_style_index];
    params.style_id = style[curr_style_index].id
  } else {
    if (curr_country_index == 0) return;
    if (typeof(radios[curr_country_index]) == 'undefined') radios[curr_country_index] = new Array();
    arr = radios[curr_country_index][curr_city_index];
    params = {
      'country_id': countries[curr_country_index].id,
      'city_id': (curr_city_index == 0 ? 0 : cities[curr_country_index][curr_city_index].id),
      'type': false
    };
  }
  if (typeof(arr) == 'undefined') {
      $.post(domain+'/get_radios', params, function(data){
	if (data != null && data.length > 0) {
	  for(var index in data) {
	    if (typeof(radios_data[data[index].id]) == 'undefined') {
	      radios_data[data[index].id] = data[index];
	    }
	    switch (selector) {
	      case 'quality': 
		if (typeof(radios_quality[curr_quality_index]) == 'undefined') radios_quality[curr_quality_index] = new Array();
		radios_quality[curr_quality_index].push(data[index].id); 
		break;
	      case 'style': 
		if (typeof(radios_style[curr_style_index]) == 'undefined') radios_style[curr_style_index] = new Array();
		radios_style[curr_style_index].push(data[index].id); 
		break;
	      default: 
		if (typeof(radios[curr_country_index][curr_city_index]) == 'undefined') radios[curr_country_index][curr_city_index] = new Array();
		radios[curr_country_index][curr_city_index].push(data[index].id); 
		break;
	    }
	  }
	  switch (selector) {
	    case 'quality': radios_quality[curr_quality_index].unshift(0); break;
	    case 'style': radios_style[curr_style_index].unshift(0); break;
	    default: radios[curr_country_index][curr_city_index].unshift(0); break;
	  }
	  showRadios(selector);
	}
      }, "json");    
  } else {
    showRadios(selector);
  }
}

function showRadio(radio_data) {
  $('.b-radio-info').empty();
  var curr_quality = radio_data[0].quality_id_default;
  var radio = $('<div></div>').html('<div class="b-radio-info-img"><img src="" alt="" /><div class="b-radio-info-frame"></div></div> <div id="track-name"><div id="scroller"></div></div> <p class="b-radio-info-text"></p><ul class="b-radio-info-quality clr"></ul>');
  $('img', radio).attr('src', radio_data[0].img_url);
  $('img', radio).attr('alt', radio_data[0].name);
  if (radio_data[0].description) $('p.b-radio-info-text', radio).html(radio_data[0].description+'<br />');
  if (radio_data[0].url) $('p.b-radio-info-text', radio).append('<a href="'+radio_data[0].url+'" target="_blank">'+radio_data[0].url+'</a>');
  if (radio_data[0].url_name) $('p.b-radio-info-text', radio).append('<br /><input type="text" value="'+domain+'/stream/'+radio_data[0].url_name+'/" class="url-stream" onclick="selectText(this)"><a href="'+domain+'/stream/'+radio_data[0].url_name+'"><div class="url-stream-btn"></div></a><br />');
  if (radio_data[0].quality.length > 0) {
    $('.b-radio-info-quality', radio).append('<li>'+(typeof(translate.quality) != 'undefined' ? translate.quality : 'Quality')+':</li>');
    for(var index in radio_data[0].quality) {
      if (typeof(radio_data[0].quality[index]) == 'string') {
	var quality_index = quality_idtoindex[parseInt(radio_data[0].quality[index])];
	var active = '';
	var quality_id = getCookie(radio_data[0].id, 'quality');
	if (quality_id) {
	  active = (radio_data[0].quality[index] == quality_id ? ' active' : '');
	  curr_quality = quality_id;
	}
	else active = (radio_data[0].quality[index] == radio_data[0].quality_id_default ? ' active' : '');
	var qual = '<li class="radio_id'+radio_data[0].id+' quality_id'+radio_data[0].quality[index]+active+'"><a href="javascript:;">'+quality[quality_index].title+'</a></li>';
	$('.b-radio-info-quality', radio).append(qual);
      }
    }
  }

  
  $('.b-radio-info').append(radio); 
  
  radio_data[0].quality_id_default = curr_quality;
  swf.changeParam('stream', radio_data[0]);
  swfd.changeParam('stream', radio_data[0]);
  swfa.changeParam(radio_data[0].radio_url,radio_data[0].type);
  
  getTrackName(radio_data[0].id);
  $jScroller.add("#track-name","#scroller","left",5, true);
  $jScroller.start();
  if (intervalID) clearInterval(intervalID);
  intervalID = setInterval(getTrackName, 10000, radio_data[0].id);
  
}

function loadRadio(radio_id) {
    var params = {
      'radio_id': radio_id
    };
    if (typeof(cities[curr_country_index][curr_city_index]) != 'undefined') params.city_id = cities[curr_country_index][curr_city_index].id;
    $.post(domain+'/get_radio', params, function(data){ 
      if (data != null && data.length > 0) showRadio(data) ;
    }, "json");    
}

function showQuality() {
  $('.table-country').empty();
  if (quality.length > 0) {
    for(var index in quality) {
      //....output HTML
      	if (typeof(quality[index].id) != 'undefined') {
	  var qual = $('<tr><td class="img"><img src="" alt="" /></td><td class="name"></td><td class="stats"><span class="count"></span>['+(typeof(translate.station) != 'undefined' ? translate.station.toUpperCase() : 'STATION')+']</td></tr>');
	  $(qual).attr('id', 'quality'+index);
	  if (typeof(quality[index].img_url) == 'undefined' || quality[index].img_url == '') $('img', qual).remove();
	  else $('img', qual).attr('src', quality[index].img_url).attr('alt', quality[index].title);
	  $('.name', qual).text(quality[index].title + ' kbps');
	  $('.count', qual).text(quality[index].number_radios);
	  if (curr_quality_index == index) $(qual).addClass('active');
	  $('.table-country').append(qual);
	}
    }
  }
  $('.column1 .scroll').data('jsp').reinitialise();
  if  (curr_quality_index == 0) {
    $('.table-country td:first').click();
  } else {
    loadRadios('quality');
  } 
}

function loadQuality(show) {
  if (quality.length == 0) {
      $.post(domain+'/get_quality', function(data){
	if (data != null && data.length > 0) {
	  quality = data;
	  quality.unshift(0);
	  for (var index in quality) {
	    quality_idtoindex[quality[index].id] = parseInt(index);
	  }
	  if (show) {
	    showQuality();
	  }
	}
      }, "json");    
  } else {
    if (show) {
      showQuality();
    }
  }
}

function showStyle() {
  $('.table-country').empty();
  if (style.length > 0) {
    for(var index in style) {
      //....output HTML
      	if (typeof(style[index].id) != 'undefined') {
	  var st = $('<tr><td class="img"><img src="" alt="" /></td><td class="name"></td><td class="stats"><span class="count"></span>['+(typeof(translate.station) != 'undefined' ? translate.station.toUpperCase() : 'STATION')+']</td></tr>');
	  $(st).attr('id', 'style'+index);
	  if (typeof(style[index].img_url) == 'undefined' || style[index].img_url == '') $('img', st).remove();
	  else $('img', st).attr('src', style[index].img_url).attr('alt', style[index].title);
	  $('.name', st).text(style[index].title);
	  $('.count', st).text(style[index].number_radios);
	  if (curr_style_index == index) $(st).addClass('active');
	    $('.table-country').append(st);
	}
    }
  }
  $('.column1 .scroll').data('jsp').reinitialise();
  if  (curr_style_index == 0) {
    $('.table-country td:first').click();
  } else {
    loadRadios('style');
  }
}

function loadStyle(show) {
  if (style.length == 0) {
      $.post(domain+'/get_style', function(data){
	if (data != null && data.length > 0) {
	  style = data;
	  style.unshift(0);
	  for (var index in style) {
	    style_idtoindex[style[index].id] = index;
	  }
	  if (show) {
	    showStyle();
	  }
	}
      }, "json");    
  } else {
    if (show) {
      showStyle();
    } 
  }
}

function setLanguage(reload_page) {
  $.post(domain+'/set_language', {'language': language}, function(data){
    if (reload_page && data.done == 'true') window.location.href = domain;
  }, "json");    
  $.cookie('language',language);
  $('.b-langs .'+language).addClass('active');
}

function getTranslate() {
  $.post(domain+'/get_elements', function(data){
    translate = data;
  }, "json");    
}
      
function getCookie(id,type) {
	var radio_cookie = $.cookie(id);
	if (radio_cookie != null) {
	  var radio_features = radio_cookie.split(':');
	  switch (type) {
	    case 'raiting': return (typeof(radio_features[0]) == 'undefined' ? false : eval(radio_features[0])); break;
	    case 'favourite': return (typeof(radio_features[1]) == 'undefined' ? false : eval(radio_features[1])); break;
	    case 'quality': return (typeof(radio_features[2]) == 'undefined' ? false : eval(radio_features[2])); break;
	  }
	} else
	  return false;
}

function setCookie(id,type,value) {
	var radio_cookie = $.cookie(id);
	var radio_features = new Array();
	if (radio_cookie != null) radio_features = radio_cookie.split(':');
	else radio_features = ["0", "false", "0"];
	if (radio_features.length == 2) radio_features.push("0");
	switch (type) {
	  case 'raiting':
	    radio_features[0] = value; 
	    switch (parseInt(radio_features[0])) {
	      case -1: $('.'+id,'#main').find('.rate-change').removeClass('positive negative').addClass('negative'); break;
	      case 1: $('.'+id,'#main').find('.rate-change').removeClass('positive negative').addClass('positive'); break;
	      default: $('.'+id,'#main').find('.rate-change').removeClass('positive negative');
	    }
	    break;
	  case 'favourite': 
	    radio_features[1] = value; 
	    if (eval(radio_features[1])) $('.'+id,'#main').find('.fav').removeClass('fav-no')
	    else $('.'+id,'#main').find('.fav').addClass('fav-no');
	    break;
	  case 'quality': 
	    radio_features[2] = value; 
	    $('.b-radio-info-quality li').removeClass('active');
	    $('.b-radio-info-quality .quality_id'+value).addClass('active');
	    break;
	}
	$.cookie(id,radio_features.join(':'));
}

function setFavCount(fav) {
	if (fav != undefined) fav ? fav_count++ :	fav_count--;
	$('.b-total-favs-count').text(fav_count);
}

function tableShowClose() {
	$('#main').addClass('ie-hide-shadows');
	if (!$('.but-more','#main-table').hasClass('opened')) {
		$('.main-icons-inner, .b-prev-block, .b-next-block').fadeOut(t_open_fOut, function(){
			$('.main-icons-inner2, .b-prev-block2, .b-next-block2').fadeIn(t_open_fIn, function(){
				$('#main').removeClass('ie-hide-shadows');
			});
		});
		$('#main-table').animate({
			top: 176
		},"slow").addClass('with-shadow').find('.but-more').addClass('opened');
		$('.b-filter-panel li a.'+curr_filter_item).parent().addClass('active');
		$('.b-view-panel').find('li').removeClass('active').end()
											.find('.table').parent().addClass('active')
	} else {
		$('.main-icons-inner2, .b-prev-block2, .b-next-block2').fadeOut(t_close_fOut,function(){
			$('.main-icons-inner, .b-prev-block, .b-next-block').fadeIn(t_close_fIn,function(){
				$('#main').removeClass('ie-hide-shadows');
			});
		});
		$('#main-table').animate({
			top: -318
		},"normal",function(){
			$(this).removeClass('with-shadow');
		}).find('.but-more').removeClass('opened');
		$('.b-filter-panel li').removeClass('active');
		$('.b-view-panel').find('li').removeClass('active').end()
											.find('.icons').parent().addClass('active')
	}
}
var swf;//player
var swfd;//digital panel
var swfa;//analizer
function initFlash()
{
	swf = document.getElementById("flash");
	swfd = document.getElementById("digital");
	swfa = document.getElementById("analizer");
	//alert(swf);
}

function selectText(el) {
    el.select();
}

function getTrackName(radio_id) {
    $.get(domain+'/ajax/track.php', {'id': radio_id}, function(data){ 
        //alert('data: '+data.responseText);
        $('#track-name #scroller').html(data.responseText);
    }, "text");
}

function getCountriesOnline() {
    $.post(domain+'/get_countries_online', function(data){
        var html = '';
        var total = '';
        for(var index in data) {
            html += '<label>'+data[index].country+': '+data[index].num+'</label>';
            total = 1*total + 1*data[index].num;
        }
        $('#listOnline').html(html);
        $('#total_online').html(total);
    }, "json");
    setTimeout(getCountriesOnline,60000);
}

// Auth ----------------------
function AuthForm() {
    owl = document.createElement('div');
    owl.setAttribute('id', 'swf-form-overlay');

    document.body.appendChild(owl);
    $('#auth-form').show();

    //Hide on click      
    close_form = function() {
        document.body.removeChild(owl);
        $('#auth-form').hide();
    }

    owl.onclick = close_form;
    $('#close_btn').click(close_form);
    $('#idBtnClose').click(close_form);
    
    $('#auth-form').submit(function() {
        $('#idError').hide();
        $('#oLoading').show();
        
        var params = {
          'login': $('#idLogin').val(),
          'password': $('#idPassword').val()
        };
        
        $.post(domain+'/auth', params, function(data){ 
            if (data != null && data.length > 0) {
              $.cookie('SWF_AuthSes', data);
              close_form();
              location.reload();
            } else {
                $('#idError').show();
            }
        }, "json");    
    });
}

function AuthLogout() {
    $.post(domain+'/logout');
    $.cookie('SWF_AuthSes', null);
    location.reload();
}
// end Auth -------------------


//// Start ///
$(document).ready(function(){
	if (window != window.top) {
        $('body').empty();
        $('body').text('Прямое копирование сайта запрещено. По вопросам сотрудничества обращайтесь по адресу support@swfradio.com');
    }
	//if ($.browser.msie && ($.browser.version == 6 || $.browser.version >= 9)) {
    if ($.browser.msie && $.browser.version == 6) {
		$('body').empty();
		alert('Your browser is not supported!\nSupported browsers: Firefox, Google Chrome, Opera, IE7-8');
	} else {
		
		setTimeout(initFlash,1000);
		//var swf = document.getElementById("flash");
	
		$('.b-filter-panel li a').click(function(){
			$('.b-view-panel .table').click();
			$(this).parent().parent().children('li').removeClass('active');
			$(this).parent().addClass('active');
			curr_filter_item = $(this).attr('class');
			switch (curr_filter_item) {	
			  case 'country':
			    $('#country h1:first').text(typeof(translate.country) != 'undefined' ? translate.country : 'Country');
			    loadCountries();
			    showRadios();
			    break;
			  case 'city':
			    $('#country h1:first').text(typeof(translate.city) != 'undefined' ? translate.city : 'City');
			    loadCities(true);
			    showRadios();
			    break;
			  case 'quality':
			    $('#country h1:first').text(typeof(translate.quality) != 'undefined' ? translate.quality : 'Quality');
			    loadQuality(true);
			    break;
			  case 'style':
			    $('#country h1:first').text(typeof(translate.style) != 'undefined' ? translate.style : 'Style');
			    loadStyle(true);
			    break;
			}
			$('.column1 .scroll').data('jsp').reinitialise();
		});
		
		// sliders (volume, balance, mixer)
		$( ".b-volumes li i" ).each(function(){
			$(this).slider({
				value: 50,
				orientation: "vertical",
				range: "min",
				animate: false,
				slide: function(event,ui){
					swf.changeParam($(this).parents('li').attr('class'),ui.value)
				}
			}).mousewheel(function(e, delta) {
					$(this).slider("value", $(this).slider("value") + delta * step_scroll_with_mouse);
					return false;
			})
		});
		
		// panel View: funcs
		$('.b-view-panel a').click(function(){
			if (!$(this).parent().hasClass('active')) {
				tableShowClose();
			}
		})
		
		// fav icons funcs
		$('.fav').live("click",function() {
            
			$(this).toggleClass('fav-no');
			var radio_id = $(this).parents('[class*="radio_id"]').attr('class').match(/radio_id\d*/);
			var fav = !$(this).hasClass('fav-no');

            var params = {
              'id_radio': radio_id[0].substr(8),
              'fav': (fav)?1:0
            };
            
            $.post(domain+'/set_favourite', params, function(data){ 
                if (data == false) {
                    AuthForm();
                } else {
                    setCookie(radio_id[0],'favourite', fav);
                    setFavCount(fav);
                }
            }, "json");    
		})
		
		// rating funcs
		$('.rate-change a').live("click",function(){
			if (($(this).hasClass('plus') && !$(this).parent().hasClass('positive')) || ($(this).hasClass('minus') && !$(this).parent().hasClass('negative'))) {
			  var radio_id = $(this).parents('[class*="radio_id"]').attr('class').match(/radio_id\d*/);
			  var cookie_rait;
			  if ($(this).hasClass('plus')) {
			    cookie_rait = 1;
			  } else {
			    cookie_rait = -1;
			  }
			  $.post(domain+'/set_rating', {'radio_id': parseInt(radio_id[0].match(/radio_id(\d*)/)[1]), 'rate_user': cookie_rait}, function(data) {
			    if (data != null) {
			      $('.'+radio_id[0]+' .t-rate').text((typeof(translate.rating) != 'undefined' ? translate.rating.toUpperCase() : 'RATING')+': '+(data.rating < 0 ? ('000'+Math.abs(data.rating)).replace(/.*(.{3})/, '-$1') : ('000'+data.rating).replace(/.*(.{3})/, '$1')) );
			      $('.'+radio_id[0]+' .rate-count').text(data.rating);
			      radios_data[parseInt(radio_id[0].match(/radio_id(\d*)/)[1])].rating = data.rating;
			    }
			  }, "json");    
			  if ($(this).parent().hasClass('positive') || $(this).parent().hasClass('negative')) {
			    cookie_rait = 0;
			  } else {
			    if ($(this).hasClass('plus')) {
			      cookie_rait = 1;
			      $(this).parent().removeClass('negative').addClass('positive');
			    } else {
			      cookie_rait = -1;
			      $(this).parent().removeClass('positive').addClass('negative');
			    }
			  }
			  setCookie(radio_id[0],'raiting', cookie_rait);
			}
		})
		
		// scrolls
		$('.scroll').jScrollPane({
			showArrows: true,
			verticalDragMinHeight: 27,
			verticalDragMaxHeight: 27,
			verticalGutter: 20
	/*	  autoReinitialise: true,
			autoReinitialiseDelay: 50  */
		});
		
		// table lines click
		$('table tr','#main-table').live("click",function(e){
			if (e.target.nodeName != 'A') {
				if ($(this).attr('id').match(/country/)) {
					curr_country_index = parseInt($(this).attr('id').match(/country(\d*)/)[1]);
					curr_city_index = 0;
					$('.b-filter-panel ul li a.city').parent().removeClass('disabled');
					$('.b-filter-panel li a.city').click();
					loadRadios();
				}
				if ($(this).attr('id').match(/city/)) {
					$(this).parent().children('tr').not('#'+$(this).attr('id')).removeClass('active');
					$(this).toggleClass('active');
					if ($(this).hasClass('active')) curr_city_index = parseInt($(this).attr('id').match(/city(\d*)/)[1])
					else curr_city_index = 0;
					loadRadios();
				}
				if ($(this).attr('class').match(/radio_id/)) {
					$(this).parent().children('tr').removeClass('active');
					$(this).addClass('active');
					loadRadio(parseInt($(this).attr('class').match(/radio_id(\d*)/)[1]));
				}
				if ($(this).attr('id').match(/quality/)) {
					$(this).parent().children('tr').removeClass('active');
					$(this).addClass('active');
					curr_quality_index = parseInt($(this).attr('id').match(/quality(\d*)/)[1])
					loadRadios('quality');
				}
				if ($(this).attr('id').match(/style/)) {
					$(this).parent().children('tr').removeClass('active');
					$(this).addClass('active');
					curr_style_index = parseInt($(this).attr('id').match(/style(\d*)/)[1])
					loadRadios('style');
				}
			}
		})
		
		// select radio in the sliders and show description
		$('.main-icons-inner2 .station-main a, .main-icons-inner .station-main a').live("click", function(){
		  loadRadio(parseInt($(this).parent().parent().attr('class').match(/radio_id(\d*)/)[1]));
		});
		
		// radio quality change
		$('.b-radio-info-quality a').live("click",function(){
		  var radio_id = parseInt($(this).parent().attr('class').match(/radio_id(\d+)/)[1]);
		  var radio_quality = parseInt($(this).parent().attr('class').match(/quality_id(\d+)/)[1]);
		  setCookie(radio_id, 'quality', radio_quality);
		  swf.changeParam('bitrate',radio_quality);
		  swfd.changeParam('bitrate',radio_quality);
		})
		
		// change language
		$('.b-langs li a').click(function(){
		  $('.b-langs li').removeClass('active');
		  language = $(this).parent().attr('class');
		  setLanguage(true);
		});
		
		//jquery tools scrollable bug fixing
		$('.to-next-page2, .to-prev-page2').click(function(){
		  setTimeout(function(){
		    if ($(".main-icons-inner2").data('scrollable').getSize() == 1) {
		      if ($('.to-next-page2').hasClass('disabled') == false) $('.to-next-page2').addClass('disabled');
		      if ($('.to-prev-page2').hasClass('disabled') == false) $('.to-prev-page2').addClass('disabled');
		    }
		  },50);
		});
		$('.to-next-page, .to-prev-page').click(function(){
		  setTimeout(function(){
		    if ($(".main-icons-inner").data('scrollable').getSize() == 1) {
		      if ($('.to-next-page').hasClass('disabled') == false) $('.to-next-page').addClass('disabled');
		      if ($('.to-prev-page').hasClass('disabled') == false) $('.to-prev-page').addClass('disabled');
		    }
		  },50);
		});
		
		//setLanguage();	
		getTranslate();
		$(".main-icons-inner").scrollable({
		  next:	".to-next-page",
		  prev:	".to-prev-page"
		});
		$(".main-icons-inner2").scrollable({
		  next:	".to-next-page2",
		  prev:	".to-prev-page2"
		});
		loadCountries();
		loadQuality(false);
		loadStyle(false);
        
        // Tab Who is online
        getCountriesOnline();
        $("#open").click(function(){
            if ($("div#panel").is(":hidden")) $("div#panel").slideDown("fast");
            else $("div#panel").hide();
        });    

		
	}
	
}) // end ready

if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length;
    
    var from = Number(arguments[1]) || 0;
    from = (from < 0)
    ? Math.ceil(from)
    : Math.floor(from);
    if (from < 0)
      from += len;
    
    for (; from < len; from++)
    {
      if (from in this &&
	this[from] === elt)
	return from;
    }
        return -1;
  };
}

