jQuery.noConflict();
//var userid = 0;
var flag_active_win = 1;
var showwhatplaychannel = 0;  // флаг таймера показа текущего трека на канале
var timeout_showsong = 0; // Сколько прошло времени с момента показа текущего трека на канале
var get_url;   // Массив, куда скидываются параметры GET
var current_server,current_bit;
var dur = 0; // Продолжительность трека
var listfileimage = ''; // Массив для слайдшоу
var channel = 0;  // Идентификатор текущего канала
var flagtimerupdatelastsong = 0; // Флаг обновления текущего трека на канале
var last_position_mouse = ''; // Последние координаты курсора мыши
var flag_update_ajax = 1;  // Флаг, можно ли делать AJAX запросы
var timer_active = 0;   // Переменная хранит время активности юзера
var max_time_noactive = 180000; // Время, в течение которого если юзер неактивен - AJAX запросы запрещаются
var period_get_server = 0; // Время повторного опроса сервера на строку в эфире
// Функция загружает с сервера данные и помещает его в указанный блок
function LoadContent(url,block,param,notpreloading,complete_func)
{
   if(flag_update_ajax < 1) {
      //return false;
   }
   if(typeof(url) == 'object') url = url.href;
   if(url.indexOf(window.location.hostname) < 0) {
	   url = 'http://'+window.location.hostname+url;
   }
   if(!param) param = new Array();
   jQuery("#"+block).empty();
   if(!notpreloading)
   {
      message_preload = '<div style="text-align:center;font-weight:bold;"><img src="/a_php/common/icon/ajax.gif" border="0"></div>';
      jQuery("#"+block).html(message_preload);
   }
   data_param = ' ';  // Переменная, хранящая массив передаваемых параметров
   for (key in param)
   {
      data_param += key+'='+param[key]+'&';
   }
   data_param = data_param.substring(0,data_param.length-1);
   data_param = jQuery.trim(data_param);
   method_send = data_param == '' ? 'GET':'POST';
   jQuery.ajax({
      type: method_send,
      url: url,
      data: data_param,
      complete: complete_func,
      error: function(XMLHttpRequest){
         msg_error = SetErrorQuery(XMLHttpRequest);
         msg_error = '<div style="text-align:center;font-weight:bold;">'+msg_error+'<br>'+url+'</div>';
         jQuery("#"+block).html(msg_error);
         msg_error = null;
      },
      cache: false,
      async: true,
      success: function(msg){
         jQuery("#"+block).html(msg);
         msg = null;
      }
   });
   return false;
}
// Функция определяет код ошибки и возвращает описание
function SetErrorQuery(XMLHttpRequest)
{
   array_error = new Array();
   array_error[200] = 'OK';
   array_error[201] = 'Created (объект создан)';
   array_error[202] = 'Accepted (информация принята)';
   array_error[203] = 'Non-Authoritative Information (не заслуживающая доверия информация)';
   array_error[204] = 'No Content (нет содержания)';
   array_error[205] = 'Reset Content (восстановить исходное содержание)';
   array_error[206] = 'Partial Content (частичное содержание)';
   array_error[300] = 'Multiple Choices (несколько вариантов на выбор)';
   array_error[301] = 'Moved Permanently (ресурс перемещен на постоянной основе)';
   array_error[302] = 'Moved Temporarily (ресурс временно перемещен)';
   array_error[303] = 'See Other (смотрите другой ресурс)';
   array_error[304] = 'Not Modified (не изменился)';
   array_error[305] = 'Use Proxy (используйте прокси-сервер)';
   array_error[400] = 'Bad Request (некорректный запрос)';
   array_error[401] = 'Unauthorized (нет разрешения)';
   array_error[402] = 'Payment Required (требуется оплата)';
   array_error[403] = 'Forbidden (доступ запрещен)';
   array_error[404] = 'Not Found (запрошенный документ не найден)';
   array_error[405] = 'Method Not Allowed (недопустимый метод)';
   array_error[406] = 'Not Acceptable (неприемлемый запрос)';
   array_error[407] = 'Proxy Authentication Required (необходима регистрация на сервере-представителе)';
   array_error[408] = 'Request Timeout (время обработки запроса истекло)';
   array_error[409] = 'Conflict (конфликт)';
   array_error[410] = 'Gone (ресурса больше нет)';
   array_error[411] = 'Length Required (необходимо указать длину)';
   array_error[412] = 'Precondition Failed (не выполнено предварительное условие)';
   array_error[413] = 'Request Entity Too Large (запрашиваемый элемент слишком велик)';
   array_error[414] = 'Request-URI Too Long (идентификатор ресурса в запросе слишком длинный)';
   array_error[415] = 'Unsupported Media Type (неподдерживаемый тип устройства)';
   array_error[500] = 'Internal Server Error (внутренняя ошибка сервера)';
   array_error[501] = 'Not Implemented (функция не реализована)';
   array_error[502] = 'Bad Gateway (дефект шлюза)';
   array_error[503] = 'Service Unavailable (служба недоступна)';
   array_error[504] = 'Gateway Timeout (время прохождения через шлюз истекло)';
   array_error[505] = 'HTTP Version Not Supported (неподдерживаемая версия HTTP)';
   code_status = XMLHttpRequest.status;
   msg_error = 'Ошибка '+XMLHttpRequest.status+' - ';
   if(array_error[code_status] != undefined) msg_error += array_error[code_status];
   else msg_error += XMLHttpRequest.statusText;
   array_error = code_status = XMLHttpRequest = null;
   return msg_error;
}
// Функция разбирает строку GET запроса и возвращает массив
function parse_str(str,array)
{
   if(old_url == undefined) {
      var old_url = '';
      var parse_url = new Array();
   }
   if(old_url == str) {
      return parse_url;
   }
   else {
      old_url = str;
   }
   str = str.replace('?','');
   glue1 = '=';
   glue2 = '&';
   array2 = str.split(glue2);
   array3 = [];
   for(var x=0; x<array2.length; x++){
      tmp = array2[x].split(glue1);
      array3[unescape(tmp[0])] = unescape(tmp[1]).replace(/[+]/g, ' ');
   }
   glue1 = glue2 = array2 = tmp = str = null;
   parse_url = array3;
   if(array){
      array = array3;
   } else{
      return array3;
   }
}

// Функция совершает какое-то действие над избранными каналами
function ActionFavorite(elem,block,bit,serv,type,timeout,an_load,confirm_mess)
{
   if(confirm_mess == 1)
   {
      if(!confirm('Удалить канал из избранного?')) {
         return false;
      }
   }
   if(!timeout) timeout = 5000;
   if(!an_load) an_load = 'chan_favorite_player';
   param = new Array();
   param['bit'] = bit; param['serv'] = serv; param['type'] = type;
   ShowBlockPlayer(block,'playFavmn');
   LoadContent(elem,block,param);
   if(userid != undefined && userid > 0)
   {
      setTimeout(function(){
         jQuery("#"+block).load("/?an="+an_load,'',function(responseText, textStatus, XMLHttpRequest){
            jQuery("#"+block).html(responseText);
         });
      },timeout);
   }
   return false;
}
// Функция открывает / закрывает в плеере блоки
function ShowBlockPlayer(block,active_block)
{
   array_block = new Array();
   array_block['playTrack'] = 1;
   array_block['playFav'] = 1;
   array_block['playRec'] = 1;
   array_block['playProp'] = 1;
   for (key in array_block)
   {
      jQuery("#"+key).hide();
   }
   jQuery("#"+block).show();
   jQuery("#player_submenu ul li").attr('class','');
   jQuery("#"+active_block).attr('class','active');
   return false;
}

function ShowChart(block,active_block)
{
   jQuery("#"+block).show();
   jQuery("#"+block+" li").attr('class','');
   jQuery("#"+active_block).attr('class','active');
   return false;
}

// Функция закрывает блок
function HideBlock(block,time)
{
   if(!time) time = 2000;
   jQuery("#"+block).hide();
   return false;
}
// Функция открывает блок
function ShowBlock(block,time)
{
   if(!time) time = 2000;
   jQuery("#"+block).show();
   return false;
}
function OpenWinHTML(el,w,h,type)
{
   if(!type) type = 'ajax';
   tmp = hs.htmlExpand(el,{objectType: type,width: w, height:h});
   return tmp;
}
// Функция подгружает список городов в профайле пользователя
function SetCity(block)
{
   val = jQuery("select#country_ank").val();
   if(val > 0)
   {
      url = '/a_php/sessauth/a_dmin/profile/list_town.php?country='+val;
      return LoadContent(url,block);
   }
   else {
      mess = '<select id="city" name="city" class="select_city"><option value="0">Выберите страну</option></select>';
      jQuery("#"+block).html(mess);
      mess = null;
   }
}
// Функция обновляет правый блок новости и вызывает окно с результатом
function PollPageUpdate(obj,width,height,type,url_upload,block)
{
   OpenWinHTML(obj,width,height,type);
   setTimeout(function(){
      LoadContent(url_upload,block);
   },2000);
   return false;
}
// Функция обновляет правый блок при выводе комментов к статьям
function UpdateRightBlock(block)
{
   array_link = new Array();
   array_link['port_news_page'] = 'right_block_ajax';
   array_link['port_review_page'] = 'review_ajax_right';
   array_link['port_interview_page'] = 'interview_right_ajax';
   array_link['port_news_press'] = 'interview_right_ajax';
   array_link['port_101excl_video'] = 'video_block_ajax';
   url = parent.window.location.search.replace('?','');
   arr = parse_str(url);
   // Если вызывается из списка новостей
   if(arr['uid'] == undefined) {
      arr1 = parse_str(window.location.search.replace('?',''));
      arr['uid'] = arr1['uid'];
      arr1 = null;
   }
   if(array_link[arr['an']] == undefined) return true;
   url = '/?an='+array_link[arr['an']]+'&uid='+arr['uid'];
   el = parent.document.getElementById(block);
   jQuery("#blockupdate").load(url,'',function(responseText, textStatus, XMLHttpRequest){
      jQuery(el).html(responseText);
   });
}

// Функция загружает то, что сейчас в эфире
function LoadCurrentSongchannel()
{
   if(get_url['channel'] == undefined) {
      return;
   }
   if(period_get_server < 10) period_get_server = 30000;
   if(period_get_server > 3800000) period_get_server = 30000;
   filesong = 'http://'+window.location.hostname+'/a_php/channel/ajax/now_efir1.php?channel='+get_url['channel'];
   jQuery.ajax({
      type: 'GET',
      url: filesong,
      dataType: "json",
      error: function(XMLHttpRequest){
         if(XMLHttpRequest.status != 200)
         {
            msg_error = SetErrorQuery(XMLHttpRequest);
            msg_error = '<div style="text-align:center;font-weight:bold;">'+msg_error+'</div>';
            jQuery("#titlesong").html(msg_error);
         }
         else {
            jQuery("#titlesong").html('Загрузка текущего трека...');
         }
         period_get_server = period_get_server*2;
         msg_error = null;
      },
      cache: true,
      async: true,
      success: function(msg)
      {
         if(msg.reload != undefined && msg.reload > 0) {
            window.location.reload(false);
            return false;
         }
         // Если надо прекратить обновлять строку эфира
         if(msg.duration == -10) {
            jQuery("#titlesong").html(msg.title);
            return;
         }
         if(msg.duration > 0)
         {
            period_get_server = msg.duration*1000;
            jQuery("#titlesong").html(msg.title);
            dur = msg.duration;
         }
         else {
            period_get_server = period_get_server;
            jQuery("#titlesong").html(msg.title);
         }
         msg = null;
      }
   });
   setTimeout(function(){LoadCurrentSongchannel()},period_get_server);
}
// Функция голосования за фото
function PollPhotoUser(url,block,obj)
{
   hs.close(obj);
   LoadContent(url,block);
   hs.expand(obj,{objectType:'ajax'});
   return false;
}
// Функция голосования за трек
function PollTrack(block,channel,bal,obj)
{
   if(bal == '' || bal == undefined) bal = 1;
   if(!block) block = 'vote';
   form_poll = jQuery("#"+block).html();
   song = jQuery.trim(jQuery("#titlesong").text());
   // Инициализируем таблицу перевода
   var trans = [];
   for (var i = 0x410; i <= 0x44F; i++)
   trans[i] = i - 0x350; // А-Яа-я
   trans[0x401] = 0xA8;    // Ё
   trans[0x451] = 0xB8;    // ё

   // Сохраняем стандартную функцию escape()
   var escapeOrig = window.escape;

   // Переопределяем функцию escape()
   window.escape = function(str)
   {
      var ret = [];
      // Составляем массив кодов символов, попутно переводим кириллицу
      for (var i = 0; i < str.length; i++)
      {
         var n = str.charCodeAt(i);
         if (typeof trans[n] != 'undefined')
         n = trans[n];
         if (n <= 0xFF)
         ret.push(n);
      }
      return escapeOrig(String.fromCharCode.apply(null, ret));
   }
   url = '/?an=votesong';
   url += '&channel='+get_url['channel']+'&bal='+bal+'&str='+song;
   obj.href = url;
   //alert(url);
   hs.marginTop = 200;
   tmp = hs.htmlExpand(obj,{objectType:'ajax',width:350,cacheAjax:false});
   jQuery("#"+block).empty();
   setTimeout(function(){
	   jQuery("#"+block).html(form_poll);
	   hs.close();
   },((dur+1)*1000));
   return false;
   /*
   url = '/ajax/votesong.php';
   param = new Array();
   param['str'] = song;
   param['bal'] = bal;
   param['channel'] = get_url['channel'];
   LoadContent(url,block,param,1);
   setTimeout(function(){jQuery("#"+block).html(form_poll)},((dur+1)*1000));
   return false;
   */
}

// Функция обновляет блок кол-ва слушающих канал
function UpdateBlockListen(url,block)
{
   if(block == undefined || !block) block = 'now_listen';
   if(url==undefined || !url) {
      //url = '/?an=channel_listen&channel='+channel;
      url = '/ajax/listlisten.php?channel='+get_url['channel']+'&temp=1';
   }
   LoadContent(url,block);
   flagtimerupdatelastsong = 0;
   return false;
}
// Функция обновляет блок последних треков на канале
function UpdateBlockLastSong(block)
{
   if(!block) block = 'playTrack';
   //url = '/?an=play_lastsong&channel='+channel;
   url = '/ajax/lastsong.php?channel='+get_url['channel']+'&tmpl=1&count=10';
   LoadContent(url,block);
   flagtimerupdatelastsong = 0;
   return false;
}
// Функция запускает слайдшоу на странице
function SlideShow()
{
   url = '/?an=listfiles&channel='+channel;
   jQuery.ajax({
      type: 'GET',
      url: url,
      dataType: 'json',
      cache: true,
      async: true,
      error: function(XMLHttpRequest){
         //alert('Неправильный формат');
         jQuery("#slide").html('Ошибка загрузки файлов. Неправильный формат исходных данных');
      },
      success: function(msg)
      {
         //alert(msg.count);
         if(msg.count == 0) {
            jQuery("#slide").html('<h1><span style="padding:20px;font-weight:bold;color:white;">Нет файлов для слайдшоу</span></h1>');
            return false;
         }
         resizeTo (screen.availWidth, screen.availHeight);
         listfileimage = msg;
         tmp = listfileimage.file0.big_foto.indexOf('photosight.ru');
         if(tmp < 0) {
            jQuery("#logosite").empty();
            jQuery("#titlefoto").empty();
         }
         msg = null;
         ShowSlide(0);
      }
   });
}
// Функция в цикле выводит рисунки на слайдшоу
function ShowSlide(start)
{
   count = listfileimage.count;
   if(start >= count) start = 0;
   file = eval('listfileimage.file'+start+'.big_foto');
   autor = eval('listfileimage.file'+start+'.author');
   name = eval('listfileimage.file'+start+'.name');
   link = eval('listfileimage.file'+start+'.link');
   width_foto = eval('listfileimage.file'+start+'.width_foto');
   height_foto = eval('listfileimage.file'+start+'.height_foto');
   size_div_width = jQuery("#slide").width();
   size_div_height = jQuery("#slide").height()-100;
   if(width_foto > size_div_width)
   {
      def = width_foto/size_div_width;
      width_foto = size_div_width;
      height_foto = (height_foto/def).toFixed();
   }
   else if(height_foto > size_div_height) {
      def = height_foto/size_div_height;
      height_foto = size_div_height;
      width_foto = (width_foto/def).toFixed();
   }
   if(start % 2) {
      jQuery("#imageslide1").fadeOut(5000);
      jQuery("#imageslide2").attr('src',file);
      jQuery("#imageslide2").attr('width',width_foto);
      jQuery("#imageslide2").attr('height',height_foto);
      jQuery("#imageslide2").fadeIn(5000);
   }
   else {
      jQuery("#imageslide2").fadeOut(5000);
      jQuery("#imageslide1").attr('src',file);
      jQuery("#imageslide1").attr('width',width_foto);
      jQuery("#imageslide1").attr('height',height_foto);
      jQuery("#imageslide1").fadeIn(5000);
   }
   jQuery("#author,#name").animate({height: "hide"}, 2000);
   setTimeout(function(){
      jQuery("#author").html('Автор: '+autor);
      jQuery("#name").html(name);
   },2000);
   jQuery("#linkfotosite").attr('href',link);
   //alert(link);
   jQuery("#author,#name").animate({height: "show"}, 2000);
   setTimeout(function(){ShowSlide(start+1)},10000);
}

// Функция проигрывает, либо останавливает проигрывание хита на канале
function PlayChannelHit(id_player,command)
{
   if(command == 'play')
   {
      jQuery(".radio_track .play img").attr('src','/Esdbpics/play.gif');
      uppodSend('player'+id_player,'play');
      jQuery("#img"+id_player).attr('src','/Esdbpics/stop.gif');
      jQuery("#pl"+id_player).attr('onClick',"return PlayChannelHit("+id_player+",'stop')");
   }
   else {
      uppodSend('player'+id_player,'stop');
      jQuery("#img"+id_player).attr('src','/Esdbpics/play.gif');
      jQuery("#pl"+id_player).attr('onClick',"return PlayChannelHit("+id_player+",'play')");
   }
   return false;
}

// Функция загружает список каналов по направлениям
function UploadListChannel()
{
   jQuery("select#grouplistchannel option[value='"+get_url['channel']+"']").attr('selected','selected');
}
//Функция чтения значения cookie
function getCookie(name)
{
   var prefix = name + "=";
   var cookieStartIndex = document.cookie.indexOf(prefix);
   if (cookieStartIndex == -1) return null;
   var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
   if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
   return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
// Функция определяет координаты курсора мыши и возвращает объект
// Для работы функции ей необходимо подать идентификатор на событие
function mousePageXY(e)
{
   x = 0; y = 0;
   if (!e) e = window.event;
   if (e.pageX || e.pageY)
   {
      x = e.pageX;
      y = e.pageY;
   }
   else if (e.clientX || e.clientY)
   {
      x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
      y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
   }
   return {"x":x, "y":y};
}

// Функция загружает список городов в зависимости от выбранной страны
function UploadCity(country)
{
   val_country = jQuery(country).val();
   if(val_country > 0) {
      UploadCityPhoto(val_country);
   }
}
// Функция загружает список городов
function UploadCityPhoto(country)
{
   url = '/a_php/sessauth/functions/geographyuser/citylist.php?country='+country;
   if(get_url['city'] == undefined) {
      get_url['city'] = 14194;
   }
   jQuery.ajax({
      type: 'POST',
      url: url,
      cache: true,
      async: true,
      error: function(XMLHttpRequest){
         jQuery("#city_photo").html('Ошибка запроса. Обновите страницу');
      },
      success: function(msg){
         jQuery("#city_photo").html(msg);
         jQuery("select#cityphoto option[value='"+get_url['city']+"']").attr('selected','selected');
         jQuery("select#cityphoto").bind("change", function (e)
         {
            city = jQuery("select#cityphoto").val();
            if(city > 0)
            {
               url = 'http://'+window.location.hostname+'/?an=port_commun_city&city='+city+'&country='+country;
               window.location.href=url;
            }
         });
      }
   });
   return false;
}
// Функция определяет, что играет на канале
function ShowWhatPlayChannel(channel_uid,block)
{
   // если время больше 500мс - значит идет запрос к серверу - вываливаемся
   if(timeout_showsong > 1000) {return;}
   if(!channel_uid) {
      return;
   }
   // Запускаем счетчик
   if(timeout_showsong == 0)
   {
      showwhatplaychannel = setInterval(function(){
         timeout_showsong = timeout_showsong+100;
         if(timeout_showsong > 1500) {clearInterval(showwhatplaychannel);}
         if(timeout_showsong > 500 && timeout_showsong <= 600) {
            ShowWhatPlayChannel(channel_uid,block);
            timeout_showsong = 1500;
         }
      },100);
   }
   // Делаем запрос на текущий трек только через 500 мс
   if(timeout_showsong < 500) {
      return;
   }
   url = 'http://'+window.location.hostname+'/a_php/channel/ajax/now_efir1.php?channel='+channel_uid;
   jQuery.ajax({
      type: 'GET',
      url: url,
      dataType: "json",
      cache: false,
      async: true,
      error: function(XMLHttpRequest){
         msg_error = SetErrorQuery(XMLHttpRequest);
         jQuery("#"+block).html('Ошибка получения текущего трека канала<br>'+msg_error);
         jQuery("#"+block).slideDown(100);
      },
      success: function(msg){
         jQuery("#"+block).html(msg.title);
         jQuery("#"+block).slideDown(100);
      }
   });
}
// Функция убирает слой с названием того, что играет на канале и выставляет флаг в 0
function HideWhatPlayChannel(channel_uid,block)
{
   clearInterval(showwhatplaychannel);
   timeout_showsong = 0;
   jQuery("#"+block).hide();
   //setTimeout(function(){timeout_showsong = 0;jQuery("#"+block).hide();},100);
}
// Функция получает кол-во новыйх сообщений и очищает блок, информирующий о новом сообщении
function CountNewMessage()
{
   url = 'http://'+window.location.hostname+'/ajax/countpersmess.php';
   jQuery.ajax({
      type: 'GET',
      url: url,
      dataType: "json",
      cache: false,
      async: true,
      error: function(XMLHttpRequest){
         jQuery("#newpermess").empty();
      },
      success: function(msg){
         if(msg.count < 1) {
            jQuery("#newpermess").empty();
         }
         else {
            html_mess = jQuery("#newpermess").html();
            html_mess = html_mess+' ('+msg.count+')';
            jQuery("#newpermess").html(html_mess);
         }
      }
   });
}
// Функция считает кол-во кликов на скачивание подкаста
function CounterDownloadPodcast(uid)
{
	if(!uid) return;
	jQuery.get('/?an=count_dowload_podcast',{object:uid});
	return;
}

//#################		Функционал для голосовых отправок		###################
// Функция вывода формы отправки голосовых сообщения
function ShowSendFormVoice(obj)
{
	return OpenWinHTML(obj,550,500,'iframe');
}

function RemainsTimer(TotalRemainsSec) 
{
	if(!TotalRemainsSec) {
		return false;
	}
   TotalFullSec = TotalFullHour = TotalFullMin = TotalFullDay = '00';
   if (TotalRemainsSec>0)
   { 
	   TotalFullDay = parseInt(TotalRemainsSec/(24*3600));
	   last_time = TotalRemainsSec-(TotalFullDay*24*3600);
	   TotalFullHour = parseInt(last_time/3600);
	   last_time = last_time-(TotalFullHour*3600);
	   TotalFullMin = parseInt(last_time/60);
	   last_time = last_time-(TotalFullMin*60);
	   TotalFullSec = last_time;
	   if(TotalFullSec < 10) {
		   TotalFullSec = '0'+TotalFullSec;
	   }
	   if(TotalFullHour < 10) {
		   TotalFullHour = '0'+TotalFullHour;
	   }
	   if(TotalFullMin < 10) {
		   TotalFullMin = '0'+TotalFullMin;
	   }
	   if(TotalFullDay < 10) {
		   TotalFullDay = '0'+TotalFullDay;
	   }
	   setTimeout(function(){
		   TotalRemainsSec--;
		   RemainsTimer(TotalRemainsSec);
	   },1000);
   }
   jQuery('#stayday').html(TotalFullDay);
   jQuery('#stayhour').html(TotalFullHour);
   jQuery('#staymin').html(TotalFullMin);
   jQuery('#staysec').html(TotalFullSec);   
}

function ShowBlockPage(obj,newclass,obj_name,altID)
{
	if(!obj_name) obj_name = 'li';
        if(!altID) {
   	        id = jQuery(obj).parent().attr('id');
  	        id_parent = jQuery(obj).parent().parent().attr('id');
        }
        else {
 	        id = altID;
	        id_parent = jQuery('#'+altID).parent().attr('id');
        }
	jQuery("#"+id_parent+' '+obj_name).each(function(){
		if(this.id != id) {
			jQuery(this).attr('class','');
			jQuery('#'+this.id+'_content').hide();
		}
		else {
			jQuery(this).attr('class',newclass);
			jQuery('#'+this.id+'_content').show();			
		}
	});
	return false;
}

//#################################################################################
// Определяем, что должно загружаться при загрузке документа
jQuery(document).ready(function()
{
   get_url = parse_str(window.location.search);
   if(get_url['an'] == undefined) {get_url['an'] = '';}
   if(get_url['an'] == 'port_commun_city')
   {
      get_url['country'] = jQuery("select#country_foto").val();
      if(!get_url['country'])
      {
         if(get_url['country'] == undefined) get_url['country'] = 139;
         jQuery("select#country_foto option[value='"+get_url['country']+"']").attr('selected','selected');
      }
      UploadCityPhoto(get_url['country']);
   }
   if(get_url['channel'] != undefined) {
      channel = get_url['channel'];
   }
   // получаем текущий трек на канале
   if(get_url['an'] == 'port_channel') {
      LoadCurrentSongchannel();
   }
   // Если плеер - загружаем список каналов по направлениям
   if(get_url['an'] == 'port_playmp3' || get_url['an'] == 'port_playwma')
   {
      // Делаем активным текущий канал в списке
      UploadListChannel();
      // проверяем текущий битрейт и сервер
      if(get_url['bit'] == undefined)
      {
         if(current_bit != undefined && current_bit > 0) {
            get_url['bit'] = current_bit;
         }
         else {
            get_url['bit'] = getCookie('bit');
         }
      }
      if(get_url['bit'] == undefined || get_url['bit'] == null) get_url['bit'] = 2;
      if(get_url['serv'] == undefined)
      {
         if(current_server != undefined && current_server > 0) {
            get_url['serv'] = current_server;
         }
         else {
            get_url['serv'] = getCookie('serv');
         }
      }
      if(get_url['serv'] == undefined || get_url['serv'] == null) {
         get_url['serv'] = jQuery("#servers a:first").attr('id');
         get_url['serv'] = get_url['serv'].replace('serv','');
      }
      if(get_url['bit'] != 1 && get_url['bit'] != 2) get_url['bit'] = 2;
      if(get_url['bit'] == 1) get_url['bit'] = 'low';
      else get_url['bit'] = 'high';
      link = jQuery("#"+get_url['bit']+'link').html();
      jQuery("#"+get_url['bit']).html('<span>'+ link+'</span>');
      link = jQuery("#serv"+get_url['serv']).html();
      jQuery("#li"+get_url['serv']).html('<span>'+link+'</span>');

      /*
      setInterval(function(){
      flagtimerupdatelastsong = flagtimerupdatelastsong+1000;
      if(flagtimerupdatelastsong > 180000) {
      UpdateBlockListen();
      UpdateBlockLastSong();
      }
      },1000);
      */
      
      // Делаем обновление тех, кто слушает канал
      setInterval(function(){
         jQuery("#qqqqqqq").load('/ajax/counterlisten.php?channel='+get_url['channel']);
      },300000);

      // Обновляем блок авторизации пользователя
      if(get_url['channel'] != undefined) {
         dop_url = '&channel='+ get_url['channel'];
      }
      else {
         dop_url = '';
      }

      /*
      setInterval(function(){
         LoadContent('/?an=play_auth_ajax'+dop_url,'player_auth','',1);
      },500000);
      */

   }
   // Если страница со списком каналов - проверяем на активность
   if(get_url['an'] == 'port_groupchannels' && get_url['group']!=undefined && get_url['group']>0)
   {
      text = jQuery("#link"+get_url['group']).html();
      text += ' '+jQuery("#count"+get_url['group']).html();
      jQuery("#li"+get_url['group']).html(text);
   }
   // Вешаем обработчик на новость, если она показывается
   if(get_url['an'] == 'port_news_page')
   {
      jQuery("#comment_block input:submit").bind("click", function (e)
      {
         mess = jQuery.trim(document.phmform.messbody.value);
         if(mess.length < 1) {
            alert('Введите Ваш комментарий');
            jQuery(document.phmform.messbody).focus();
            return false;
         }
         checkcode = document.phmform.checkcode.value;
         if(checkcode != undefined && checkcode.length != 5) {
            alert('Укажите правильный код, изображенный на картинке');
            jQuery(document.phmform.checkcode).focus();
            return false;
         }
         name = document.phmform.altname.value;
         if(name != undefined && name.length < 1) {
            alert('Укажите Ваше имя');
            jQuery(document.phmform.altname).focus();
            return false;
         }
      })
   }

   // Функции для отказа в AJAX запросах, если юзер неактивен
   // Запускаем по таймеру функцию, которая отслеживает активность пользователя
   setInterval(function(){
      timer_active = timer_active+1000;
      if(timer_active > max_time_noactive) {
         flag_update_ajax = 0;
         timer_active = max_time_noactive+1000;
      }
   },1000);
   document.onmousemove = function(e)
   {
      mCur = mousePageXY(e);
      current_pos = "X:"+mCur.x+" - Y:"+mCur.y;
      if(last_position_mouse != current_pos) {
         last_position_mouse = current_pos;
         timer_active = 0;
         flag_update_ajax = 1;
      }
   };
   // проверяем персональные сообщения. Если нет новых - убираем картинку новых сообщений
   if(get_url['an'] == 'privatemess')
   {
      CountNewMessage();
   }
   // Если была попытка добавить сообщение - показываем блок, где выводиться результат
   if(get_url['m'] != undefined || get_url['reglogin'] != undefined)
   {
      if(get_url['an'] == 'port_news_page' || get_url['an'] == 'port_interview_page' || get_url['an'] == 'port_101excl_video') {
         ShowBlock('comment_block');
      }
   }
   // Для страницы видеоклипов вешаем обработчик на прокрутку следующей партии клипов
   if(get_url['an'] == 'port_101excl_video')
   {
	   all_clips = parseInt(jQuery('#allclips').text());
	   page_clip = new Array();
	   page_clip['popul_clip'] = parseInt(jQuery('#popul_clip .currentpage').text());
	   if(!page_clip['popul_clip']) page_clip['popul_clip'] = 1;
	   page_clip['other_clip'] = parseInt(jQuery('#other_clip .currentpage').text());
	   if(!page_clip['other_clip']) page_clip['other_clip'] = 1;
	   if(page_clip['popul_clip'] < 2) jQuery("#popul_clip_prev").hide();
	   if(page_clip['other_clip'] < 2) jQuery("#other_clip_prev").hide();
	   if((page_clip['popul_clip']*3)+3 > all_clips) {
		   jQuery('#popul_clip_next').hide();
	   }
	   if((page_clip['other_clip']*3)+3 > all_clips) {
		   jQuery('#other_clip_next').hide();
	   }
		jQuery("#popul_clip_prev,#popul_clip_next,#other_clip_prev,#other_clip_next").bind('click',function()
		{
		   id_block = this.id.replace('_prev','');
		   id_block = jQuery.trim(id_block.replace('_next',''));
		   page_clip[id_block] = parseInt(jQuery('#'+id_block+' .currentpage').text());
		   if(!page_clip[id_block]) page_clip[id_block] = 1;
		   if(this.id.indexOf('next') > -1){
			   page_clip[id_block]++;
		   }
		   else {
			   if(page_clip[id_block] > 1) {
				   page_clip[id_block]--;
			   }
		   }
		   if((page_clip[id_block]*3)+3 > all_clips) {
			   jQuery('#'+id_block+'_next').hide();
		   }
		   else {
			   jQuery('#'+id_block+'_next').show();
		   }

		   if(page_clip[id_block] < 2) {
			   jQuery('#'+id_block+'_prev').hide();
		   }
		   else {
			   jQuery('#'+id_block+'_prev').show();
		   }
		   link_upd_clip = jQuery('#'+this.id+' a:first-child').attr('href')+'&page='+page_clip[id_block];
		   LoadContent(link_upd_clip,id_block,'',1);
		   return false;
	   });
   }
   
   // Добавляем функционал отправки страницы в закладки
   liveinternet = 'http://www.liveinternet.ru/journal_post.php?action=n_add&cnurl='+encodeURIComponent(window.location.href)+'&cntitle_win='+(unescape(document.title));
   jQuery(".liveinternet").html('<img src="http://i.li.ru/images/icons/16.gif" border="0">');
   jQuery(".liveinternet").attr('href',liveinternet);
   jQuery(".liveinternet").attr('title','Запостить на LiveInternet');
   jQuery(".liveinternet").attr('target','_blank');
   
});
