var path = "/audio_page/audio_page.fexec";
var chat_interval;
function loadComments(page)
{
	var el = get("comments");
	var nodes = el.getElementsByTagName('form');
	if (nodes.length == 0)	return;
	var fm = nodes[0];
	FormPost(fm, fm.id+"_page=" +page );
}

function OnAlbumClick(id)
{   
	var c = get("comments");
	var tinf = get("track_info");
	if (c) c.style.display = "none";
	if (tinf) tinf.style.display = "none";

	var q = "&u=" + UserId; 
	q += "&a_id=" + id;
	q += "&rand=" + Math.random(); 
	ajaxBegin(path + "?ajax=album&" + q);
}

function OnTrackClick(id, album_id)
{   
	var c = get("comments");
	var tinf = get("track_info");
	var text = get("text_block")
	if (c)
	{
		c.innerHTML = "";
		c.style.display = "inline";
	}
	if (tinf) 
	{
		tinf.innerHTML = "";
		tinf.style.display = "inline";
	}
        if (text)
	{
		text.innerHTML = "";
		text.style.display = "inline";
	}
	var q = "u=" + UserId;
	q += "&a_id=" + album_id; 
	q += "&t_id=" + id;
	q += "&rand=" + Math.random(); 
	ajaxBegin(path + "?ajax=album,track_info,text,track_comment&" + q);
}

function OnSearch()
{
	var q = "&u=" + UserId;
	q += "&s=" + get("search").value;
	q += "&rand=" + Math.random(); 
	ajaxBegin(path + "?ajax=albs,album&" + q);
}

function OnTabArtClick()
{
	clear_interaval();
	try{
	   title_arr["myart"];
	}catch(err){	   
	   return;
	};

	document.title = title_arr["myart"];
	TabActivatebyIndex("tab_1", 0);
	var s = get("search");
	if (s) s.value = "";
	var q = "u=" + UserId;
	q += "&rand=" + Math.random(); 
	ajaxBegin(path + "?ajax=art_all&" + q);
}                        

function OnTabBlogClick()
{
	clear_interaval();
	try{
	   title_arr["blog"];
	}catch(err){	   
	   return;
	};

	document.title = title_arr["blog"];
	TabActivatebyIndex("tab_1", 1);
	var q = "page=blog&u=" + UserId;
	q += "&rand=" + Math.random(); 
 	ajaxBegin(path + "?ajax=blog_all&" + q);
}

function OnTabAboutClick()
{
	clear_interaval();
	try{
	   title_arr["about"];
	}catch(err){	   
	   return;
	};
	document.title = title_arr["about"];
	TabActivatebyIndex("tab_1", 2);
	var q = "page=about&u=" + UserId;
	q += "&rand=" + Math.random(); 
 	ajaxBegin(path + "?ajax=about_all&" + q);
}

function OnTabFriendsClick()
{
	clear_interaval();
	try{
	   title_arr["friends"];
	}catch(err){	   
	   return;
	};
	document.title = title_arr["friends"];
	TabActivatebyIndex("tab_1", 3);
	var q = "page=friends&u=" + UserId;
	q += "&rand=" + Math.random(); 
 	ajaxBegin(path + "?ajax=friends_all&" + q);
}

function OnTabDonationClick()
{
	clear_interaval();
	try{
	   title_arr["donation"];
	}catch(err){	   
	   return;
	};
	document.title = title_arr["donation"];
	TabActivatebyIndex("tab_1", 4);
	var q = "page=donation&u=" + UserId;
	q += "&rand=" + Math.random(); 
 	ajaxBegin(path + "?ajax=donation_all&" + q);
}

function OnTabStatClick(add_str)
{
	clear_interaval();
	try{
	   title_arr["stat"];
	}catch(err){
	   return;
	};
	document.title = title_arr["stat"];
	TabActivatebyIndex("tab_1", 7);
	ReloadStatPage();
}

function OnTabReviewsClick()
{
	clear_interaval();
	if( !title_arr["reviews"] ) return;	
	document.title = title_arr["reviews"];
	TabActivatebyIndex("tab_1", 5);
	ajaxBegin(path + "?page=reviews&ajax=review" + "&u=" + UserId);
}

clear_interaval = function() { if( chat_interval != undefined ) clearInterval(chat_interval); };

function OnTabChatClick()
{
	if( !title_arr["chat"] ) return;
	document.title = title_arr["chat"];
	TabActivatebyIndex("tab_1", 6);
	ajaxBegin(path + "?page=chat&ajax=chat" + "&u=" + UserId);
}

function OnChangeStatPeriod()
{
	var fm = get("stat_form");
	var show_all = ( getFormElement(fm, "show_all").checked ? "checked" : "");
	var q = "period=" + getFormElement(fm, "period").value;
	q += "&show_all=" + show_all;
	
	ReloadStatPage(q);
}


function ReloadStatPage(add_str)
{
	var q = "page=stat&u=" + UserId;
	q += "&rand=" + Math.random(); 
	if (isset(add_str) && add_str != "")
		q += "&" + add_str;
	//
 	ajaxBegin(path + "?ajax=stat_all&" + q );
}

var track_comment_name = "track_comment";
var user_comment_name = "user_comment";

function AddTrackComment(fm)
{
	postForm(fm, "action=add");
}

function postForm(fm, action)
{
	FormPost(fm, action);
	var q_u_id = document.getElementById("quoting_user_id");
	q_u_id.value = "";
}

function QuoteTrackComment(comment, user_name, quoting_user_id) {
	var fm = get(track_comment_name + "_form");	
	var area = getFormElement(fm, "commentmessage");
	var msg = get(track_comment_name + "_" + comment + "_msg");
	if (msg && area)
	{
		if (isset(user_name) && user_name != "" )
			area.value += "[quote=" + user_name + "]" + msg.innerHTML + "[/quote]";
		else
			area.value += "[quote]" + msg.innerHTML + "[/quote]";

		if( isset(quoting_user_id) )
		{

			var q_user_id = document.getElementById("quoting_user_id");
			if( !q_user_id.value ) q_user_id.value = quoting_user_id;
			 else q_user_id.value = q_user_id.value  + ',' + quoting_user_id;
		}
		
	}
}

function DeleteTrackComment(comment) {
	var fm = get(track_comment_name + "_form");	
	FormPost(fm, "action=del&t_com=" + comment );
}

function AddUserComment(fm)
{
	postForm(fm, "action=add");
}

function QuoteUserComment(comment, user_name, quoting_user_id) {
	var fm = get(user_comment_name + "_form");	
	var area = getFormElement(fm, "msg");
	var msg = get(user_comment_name + "_" + comment + "_msg");
	if (msg && area)
	{
		if (isset(user_name) && user_name != "" )
			area.value += "[quote=" + user_name + "]" + msg.innerHTML + "[/quote]";
		else
			area.value += "[quote]" + msg.innerHTML + "[/quote]";

		if( isset(quoting_user_id) )
		{

			var q_user_id = document.getElementById("quoting_user_id");
			if( !q_user_id.value ) q_user_id.value = quoting_user_id;
			 else q_user_id.value = q_user_id.value  + ',' + quoting_user_id;
		}
	}
}

function DeleteUserComment(comment) {
	var fm = get(user_comment_name + "_form");	
	FormPost(fm, "action=del&u_com=" + comment );
}

// From catalogue
function rank_download_track(trackid)
{
	ajaxExecute("/cat/cat.fexec?mode=ajaxdownloadtrack&type=simple&track=" + trackid +"&rand=" + Math.random() );
	return true;
}

function detail_stat_query_str()
{
	var q = "ajax=detail_stat&period=" + get("period").value;
	q += "&page=stat&u=" + UserId;
	q += "&rand=" + Math.random();
	
	return q;
}
var detail_stat_name = "detail_statistic";

function ShowMyPageStat(type_ex, pind)
{	
	DStatMode = "";
	DStatModeEx = type_ex;
	var q = "?dmode=page&" +  detail_stat_query_str() ;
	if (isset(pind) && pind != "")
		q += "&" + detail_stat_name + "_form_page=" + pind;
	ajaxBegin(path + q);
}

function ShowBlogStat(type_ex, pind)
{	
	DStatMode = "blog";
	DStatModeEx = type_ex;
	var q = "?dmode=blog&" +  detail_stat_query_str() ;
	if (isset(pind) && pind != "")
		q += "&" + detail_stat_name + "_form_page=" + pind;
	ajaxBegin(path + q);
}

function ShowAlbumStat(album_id, type_ex, pind)
{
	DStatMode = "album";
	DStatModeEx = type_ex;
	AlbumId = album_id;
	var q = "?dmode=album&dmode_ex=" + type_ex + "&a_id=" + album_id + "&" + detail_stat_query_str();
	if (isset(pind) && pind != "")
		q += "&" + detail_stat_name + "_form_page=" + pind;
	ajaxBegin(path + q);
}

function ShowTrackStat(track_id, type_ex, pind)
{
	DStatMode = "track";
	DStatModeEx = type_ex;
	TrackId = track_id;
	var q = "?dmode=track&dmode_ex=" + type_ex + "&t_id=" + track_id + "&" + detail_stat_query_str();
	if (isset(pind) && pind != "")
		q += "&" + detail_stat_name + "_form_page=" + pind;
	ajaxBegin(path + q);
}

function loadDetailStatPage(ind)
{
	if (DStatMode == "album")
		ShowAlbumStat(AlbumId, DStatModeEx, ind);
	else if (DStatMode == "track")
		ShowTrackStat(TrackId, DStatModeEx, ind);
	else if (DStatMode == "blog")
		ShowBlogStat(DStatModeEx, ind);
	else 
		ShowMyPageStat(DStatModeEx, ind);
}

/*Friend form*/
function loadFriendList(ind)
{
	ajaxBegin(path + "?page=friends&ajax=friends_all&u=" + UserId + "&friend_form_page=" + ind + "&rand=" + Math.random() );
}

//! Add ajax friend here
function InviteConfirm()
{
	FormPost(get("hotline_form"), "page=friends&ajax=friends_all&action=invite_confirm&u=" + UserId);
}

//! Add ajax friend here
function InviteDecline()
{
	FormPost(get("hotline_form"), "page=friends&ajax=friends_all&action=invite_decline&u=" + UserId );
}

function RemoveFriend(friend_id)
{
	if ( confirm("Вы уверены, что хотите удалить этого пользователя из списка друзей?") )
	{
		var q = path + "?page=friends&ajax=friends_all&u=" + UserId;
		q += "&action=remove_friend&user_id=" + friend_id;
		q += "&rand=" + Math.random() ;
		ajaxBegin(q);
	}
}

function getReviewPage(page)
{
	ajaxBegin(path + "?page=reviews&ajax=review" + "&review_page=" + page + "&u=" + UserId);
	return false;
}

var CHAT_URL = "/chat/";

function postChatMessage() 
{		
	var message =  $("#chat_message").val();	
	if( message.length == 0 )
	{
		alert("Пустое сообщение!");
	}
	else
	{
		var textaera = document.getElementById("chat_message");
		textarea.disabled = true;
		var from_user_id = $('#user_id').text();
		var captcha = $("#captcha").val();
	
		var data = "mode=add_message&from_user_id=" + from_user_id + "&message=" +  ruescape(message) + 
				   "&to_user_id=" + UserId;
				   
		if( captcha != undefined ) data += "&word=" + captcha;
		
		$.ajax({
				type: "POST",
				url: CHAT_URL,
				data: data,
				processData: "false",
				dataType: "script",
				complete:	function (XMLHttpRequest, textStatus)
								{
								 getChatMessages(UserId, "last");
								 clearMessage();
								 textarea.disabled = false;
								 textarea.focus();								 
								}	
				});
	}		
			
}

function getChatMessages(user_id, amount)
{
	var last_id = $("#last_message_id").text();	
	$.getScript(CHAT_URL + '?mode=get_messages&amount=' + amount + '&user_id=' + user_id + 
	            '&last_id=' + last_id);
}

function clearMessage() 
{
	$('#chat_message').val('');
}

function clearChat(owner_id)
{
	$.getScript(CHAT_URL +'?mode=clear&owner_id=' + owner_id);
}

function sendLetter(owner_id)
{	
	ajaxBegin(path + "?page=chat&ajax=letter" + "&u=" + owner_id);
}

function scrollChat() 
{
	var divObject = document.getElementById('chat_window'); 
	divObject.scrollTop = divObject.scrollHeight;				 
}

function inviteToChat(owner_id)
{
	ajaxBegin(path + "?page=chat&ajax=invite" + "&u=" + owner_id);
}