// JavaScript Document
/* работа с cookie, хранящей состояние запрашиваемого блока */
function modif_cookie( cookie_name, action, value ) {
	var exp_date = new Date (); exp_date.setTime(exp_date.getTime() + (365 * 24 * 3600 * 1000));
	if ( action == '' ) { cookie_str = getCookie(cookie_name);
		if ( cookie_str == null ) cookie_str = 0;
		return cookie_str;
	}
	if ( action == 'remove' ) cookie_str = 0;	
	if ( action == 'add' ) { if ( value ) { cookie_str = value; } else { cookie_str = 1; } }
	setCookie( cookie_name, cookie_str, exp_date );
}

/* обработка состояния запрашиваемого блока при загрузке страницы */
var open_comments=0;
function firstshow_block( id ) {
	if ( id == undefined ) return false;
	field_name = page_prefix + basis[id].name;
	if ( basis[id].cookie ) { interact_cookie ( id , 1 ); }
	if ( basis[id].defstate == 1 ) { basis[id].state = 0; showhide_block( id ); }
}

/* считывание/сохранения состояния блока в куки */
function interact_cookie ( id , direct ) {
	field_name0 = page_prefix + basis[id].name;
	if ( direct ) {
		// состояние блока: свернут/раскрыт
		if ( basis[id].cookieshow ) { field_name = field_name0 + 'Show'; basis[id].defstate = modif_cookie( field_name , '' ); }
		// кол-во записей в блоке
		field_name = field_name0 + 'Rows'; if ( modif_cookie( field_name, '' ) ) { basis[id].limit = modif_cookie( field_name, '' ); }
		// тип отображаемых данных (популярные/последние/...)
		field_name = field_name0 + 'Type'; if ( modif_cookie( field_name, '' ) ) { basis[id].taskname = modif_cookie( field_name, '' );}
	} else {
		// кол-во записей в блоке
		field_name = field_name0 + 'Rows'; modif_cookie( field_name , 'add' , basis[id].limit );
		// тип отображаемых данных (популярные/последние/...)
		field_name = field_name0 + 'Type';	modif_cookie( field_name , 'add' , basis[id].taskname );
	}
}

function change_ajaxsets( id , period , task , page ) {
	if ( basis[id].loadajax == -1 ) { old_limit = basis[id].limit; old_task = basis[id].taskname; }
	if ( period ) basis[id].limit = period; if ( task ) basis[id].taskname = task; 
	if ( basis[id].cookie ) { interact_cookie ( id ); }
	update_navigateBlock( id );
	if ( page_prefix == 'article' ) { if ( page ) {basis[id].page = page;} else {basis[id].page = 1;} level2 = new Array(); }
	if ( basis[id].loadajax == -1 ) { show_div ( id , old_limit , old_task ); } else { load_ajax ( id , 'force' ); }
}

/* обработка состояния запрашиваемого блока; state - содержит состояние (открыт = 1 -> закрывать, закрыт = 0 -> открывать, не нужен = -1) */
function showhide_block( id ) {
	if ( id == undefined ) return false;
	field_name = page_prefix + basis[id].name;
	if ( ! basis[id].state ) {	// showing block	
		if ( basis[id].cookie ) modif_cookie( field_name +'Show' , 'add' );
		$('#'+field_name).show(); set_arrow( field_name , 1 , '	B');
		basis[id].state = 1;
		if ( ! basis[id].loadajax ) { load_ajax( id , '' ); }
		else if ( basis[id].loadajax == -1 ) { show_div ( id , basis[id].limit , basis[id].taskname ); }
	}
	else if ( basis[id].state == 1 ) {	// hiding block
		if ( basis[id].cookie ) { modif_cookie( field_name +'Show' , 'remove' ); }
		$('#'+field_name).hide(); set_arrow( field_name , -1 , 'B');
		basis[id].state = 0;
	}
}

/* производит вызов функции загрузки AJAX-скрипта
		loads - показывает необходимость загрузки AJAX-скрипта (не загружет=0, загружен=1, не нужен=-1)
		функция загрузки AJAX-скрипта описана в скрипте loadajax.js (для сокращения числа клонов) */
function load_ajax( id , f_force ) {
	if ( id == undefined ) return false;
	field_name = page_prefix + basis[id].name;
/*alert('id='+id+' | force='+f_force+' | field='+field_name+' | name='+basis[id].name+' | task='+basis[id].taskname+' | load='+basis[id].loads);*/
	if ( ! basis[id].loads || f_force == 'force' ) {
/*alert('111');*/
		notice_wait( field_name , 'подождите, идет загрузка...' );
		if ( basis[id].name == 'News' ) { load_contentNews( field_name , id ); }
		if ( basis[id].name == 'Discuss' ) { load_contentDiscuss( field_name , id ); }
		if ( basis[id].name == 'Question' ) { load_contentQuestion( field_name , id );	 }
		if ( basis[id].name == 'Interests' ) { load_contentInterests( field_name , id ); }
		if ( basis[id].name == 'Events' ) { load_contentEvents( field_name , id ); }
		if ( basis[id].name == 'Stats' ) { load_contentStats( field_name , id ); }
		if ( basis[id].name == 'Friends' ) { load_contentFriends( field_name , id ); }
		if ( basis[id].name == 'Subscr' ) { load_contentSubscr( field_name , id ); }
		if ( basis[id].name == 'Comments' ) { load_contentComments( field_name , id ); }
		if ( f_force != 'force' ) basis[id].loads = 1;
	}
}

function load_contentNews( field_name , id ) { $.post('/loadajax/wpc_news.php', {row : basis[id].limit , cid: basis[id].themaidx}, function (data) { print_ajaxdata( field_name , data ); }); }

function load_contentDiscuss( field_name , id ) { $.post('/loadajax/wpc_discuss.php', {task: basis[id].taskname , row : basis[id].limit , cid: basis[id].themaidx}, function (data) { print_ajaxdata( field_name , data ); }); }

function load_contentQuestion( field_name , id ) { $.post('/loadajax/wpc_question.php', {task: basis[id].taskname , row : basis[id].limit , cid: basis[id].themaidx}, function (data) { print_ajaxdata( field_name , data ); 	}); }

function load_contentInterests( field_name , id ) {
	if ( basis[id].taskname == 'unread' ) { $.post('/loadajax/articles_unread.php', {row : basis[id].limit}, function (data) { print_ajaxdata( field_name , data ); }); }
	else { $.post('/loadajax/wpc_interest.php', {row : basis[id].limit, task : basis[id].taskname}, function (data) { print_ajaxdata( field_name , data ); });
	}
}

function load_contentStats( field_name , id ) { $.post('/loadajax/wpc_stats.php', {format: basis[id].formatid , period: basis[id].limit}, function (data) { print_ajaxdata( field_name , data ); }); }

function load_contentEvents( field_name , id ) { $.post('/loadajax/wpc_my_events.php', {}, function (data) { $('#'+ field_name).html(data); }); }

function load_contentFriends( field_name , id ) { /*alert('Friends');*/ $.post('/loadajax/wpc_actions.php', {row : basis[id].limit , trunc : 1},
		function (data) { /*alert(data);*/ $('#'+ field_name).html(data); }); }

function load_contentSubscr( field_name , id ) { $.post('/loadajax/subscribe_list.php', {}, function (data) { $('#'+ field_name).html(data); }); }

function load_contentComments( field_name , id ) {$.post('/loadajax/article_comments.php', {aid : basis[id].article_id, pid: basis[id].page, cid : basis[id].comment_id, task : basis[id].taskname}, function (data) { /*alert(data);*/ print_ajaxdata( field_name , data ); if ( open_comments ) {show_level(open_comments);} }); }

function get_userMenu( page , themid , benefitid ) { $.post('/loadajax/wpc_my_menu.php', {visitpage : page , thema : themid , benefit : benefitid}, function (data) { $('#userMenu').html(data).show(); }); }

function print_ajaxdata (field_name , data) {
	innerdiv = field_name +'Info';
	if ( document.getElementById(innerdiv) != undefined ) {
/*alert('inner = '+innerdiv+' | field_name = '+field_name);*/
		$('#'+ innerdiv).html(data);
	} else {
/*alert('field_name = '+field_name);*/
		$('#'+ field_name).html(data);
	}
}

function show_div ( id , old_limit , old_task ) { 
	div_name = page_prefix + basis[id].name + '_';
	$('#'+div_name+old_limit).hide(); 	$('#'+div_name+basis[id].limit).show();
}

function switch_themes ( qtask ) {
	nav_str = '';
	if ( qtask == 'all' ) { nav_str += '<a href="javascript:void(0)" onclick="switch_themes(\'my\')">мои интересы</a> / все';
		$('#myThemes').hide(); $('#allThemes').show();		
	} else { nav_str += 'мои интересы / <a href="javascript:void(0)" onclick="switch_themes(\'all\')">все</a>';
		$('#allThemes').hide();		$('#myThemes').show();		
	}
	$('#listThemes').html(nav_str);
}

function confirm_friends ( task , userid , nick ) {
	show_url = '/user_friends_confirm.php?ifr=1&task='+ task +'&user_id='+ userid;
	if ( task == 'remove' ) { message = 'Вы уверены, что хотите удалить <b>'+ nick +'</b> из списка коллег?'; text_yes = 'Да, удалить'; }
	else if ( task == 'confirm' ) { document.getElementById("frmAction").src = show_url; 	return true; }
	else if ( task == 'add' ) { document.getElementById("frmAction").src = '/user_friends_add.php?task=add&user_id='+user_id; 	return true; }
	else if ( task == 'reject' ) { message = 'Вы уверены, что хотите отклонить запрос на добавление <b>'+ nick +'</b> в список ваших коллег?'; text_yes = 'Да, отклонить'; }
	else if ( task == 'cancelrequest' ) { message = 'Вы уверены, что хотите отозвать приглашение о сотрудничестве для <b>'+ nick +'</b>?'; text_yes = 'Да, отозвать'; }
	Boxy.ask( message, {'1':text_yes , '2':'Отмена'}, function(r) { if ( r == 1 ) { document.getElementById("frmAction").src = show_url; } });
}

function confirm_message ( username , msgtime , idx ) {
	if ( ! idx ) return false;
	message = 'Вы уверены, что хотите удалить сообщение <b>'+ username +'</b> от '+ msgtime +'?';
	Boxy.ask( message, {'1':'Да, удалить' , '2':'Отмена'}, function(r) { if ( r == 1 ) { $.post('/loadajax/wpc_message_delete.php', {pm_id:idx}, function (data) { $('#message_'+ idx).html('Сообщение удалено'); }); } });
}

function confirm_article ( idx , title ) {
	if ( ! idx ) return false;
	message = 'Вы уверены, что хотите удалить статью <b>'+ title +'</b>?';
	Boxy.ask( message, {'1':'Да, удалить' , '2':'Отмена'}, function(r) { if ( r == 1 ) { document.location.href = '/user_article_update.php?article_id='+ idx +'&task=dodelete'; } });
}

function confirm_group ( type , task , gid , title ) {
	message = '';
	if ( type == 'site' ) { if ( task == 'leave') show_url = '/user_site_leave.php?task=doleave&ifr=1&group_id='+gid; if ( task == 'join')  show_url = '/user_site_join.php?task=dojoin&ifr=1&group_id='+gid; }
	if ( type == 'group' ) { if ( task == 'leave') show_url = '/user_group_leave.php?task=doleave&ifr=1&group_id='+gid; if ( task == 'join')  show_url = '/user_group_join.php?task=dojoin&ifr=1&group_id='+gid; }
	if (task == 'join') {document.getElementById("frmAction").src = show_url; 	return true;}
	else if ( (type == 'site' || type == 'group') && task == 'leave' ) { message = 'Вы уверены, что хотите отозвать участие в сайте <b>'+ title +'</b>?'; text_yes = 'Да, отозвать'; }
	Boxy.ask( message, {'1':text_yes , '2':'Отмена'}, function(r) { if ( r == 1 ) { document.getElementById("frmAction").src = show_url; } });
}

function voteAdd ( type , idx ) {
	$.getJSON( '/loadajax/votes_add.php', {vote: type , aid: idx},
		function (data) {
			if ( data.code == 2 ) {
				$('#article_vote').attr('title', 'Ваш голос учтен'); $('#votecnt').html(data.amount); $('#votetxt').html(data.title);
				$('#voteact').hide();
				if ( $('#votelst').text() == 'Никто еще не голосовал' ) msg_str = 'Проголосовали: ';
				else 	msg_str = $('#votelst').html() + ', ';
				msg_str += '<a href="' + data.url + '">' + data.username + '</a>'; $('#votelst').html(msg_str);
			}			
	});
}

function approval_action ( type , id , groupid , action , block , name )
{
	if ( action == 'accept' ) { act_name = 'принять в группу';  act_type = 'пользователя'; text_yes = 'Да, принять'; }
	if ( action == 'cancel' ) { act_name = 'отказать во вступлении в группу';  act_type = 'пользователю'; text_yes = 'Да, отказать во вступлении'; }
	if ( action == 'cancelrequest' ) { act_name = 'отозвать приглашение в группу';  act_type = 'пользователю'; text_yes = 'Да, отозвать приглашение'; }
	if ( action == 'delete' ) { act_name = 'удалить из участников группы';  act_type = 'пользователя'; text_yes = 'Да, удалить из участников'; }
	/*var r = confirm ( 'Вы уверены, что хотите ' + act_name + ' в группу ' + act_type + ' "' + name + '"?' );*/
	message = 'Вы уверены, что хотите ' + act_name + ' ' + act_type + ' <b>' + name + '</b>?';
	
	Boxy.ask( message, {'1':text_yes , '2':'Отмена'}, function(r) { if ( r == 1 ) {		
		$.post('/loadajax/action_approval.php', {type: type , task: action, idx: id, gid: groupid},
			function (data) {
				if ( action == 'delete' )
				{
					$('#uid_'+id).hide();
				}
				else
				{
					datas = data.split('~');
					$('#'+block+'_accept_'+id).html(' - '+datas[0]);
					if ( action == 'accept' )
					{
						curr_str = $('#memberList').html();
						new_str = curr_str + datas[1];
						$('#memberList').html(new_str);
					}
				}
			});
		}
	});
}

function confirm_wink( action , idx , uid , f_wink , f_profile ) {
	if ( f_wink == 1 ) {
		$.post('/user_winks_wink.php', {user_id: uid, ajax: '1', task: 'wink'},
			   function (data) { /*alert(data);*/
			   	datas = data.split('~');
				if ( datas[0]*1 ) Boxy.alert(datas[1]);
				else $('#sendWink').html(datas[1]);
		});
	} else { if ( ! idx ) return false;
		$.post('/user_winks_confirm_incoming.php', {user_id: uid, wink_id: idx, task: action, ajax: '1'},
			   function (data) { /*alert(data); return false;*/
				   datas = data.split('~');
				   if ( f_profile == 1 ) {
						if ( datas[0]*1 ) Boxy.alert(datas[1]);
						else $('#sendWink').html('Приветствие  успешно отправлено.');
				   } else {
					   if ( datas[0]*1 ) show_result(datas[0], datas[1], '#errorWink_'+idx);
					   else $('#navWink_'+idx).html(datas[1]);
				   }
		});
	}
}

function confirm_portfolio_work( idx , w_title ) {
	if ( ! idx ) return false;
	message = 'Вы уверены, что хотите удалить работу <b>' + w_title + '</b>?';
	Boxy.ask( message, {'1':'Да, удалить' , '2':'Отмена'}, function(r) { if ( r == 1 ) {		
		$.post('/user_album_delete.php', {album_id: idx, ajax: '1', task: 'dodelete'},
			   function (data) { /*alert(data); return false;*/
				   if ( data*1 ) { $('#workH_'+idx).hide();$('#work_'+idx).html('<p class="text taC">Работа <b>'+w_title+'</b> удалена.</p>');}
			});
		}
	});
}

function confirm_benefits_work( idx , w_title ) {
	if ( ! idx ) return false;
	message = 'Вы уверены, что хотите удалить услугу <b>' + w_title + '</b>?';
	Boxy.ask( message, {'1':'Да, удалить' , '2':'Отмена'}, function(r) { if ( r == 1 ) {		
		$.post('/user_services_deleteentry.php', {entry_id: idx, ajax: '1', task: 'dodelete'},
			   function (data) { /*alert(data); return false;*/
				   if ( data*1 ) { $('#workH_'+idx).hide();$('#work_'+idx).html('<p class="text taC">Услуга <b>'+w_title+'</b> удалена.</p>');}
			});
		}
	});
}

function finish_sendWink( message ) {
	$('#noticeWink').hide(); $('#buttonWink').hide(); $('#closeWink').val('Закрыть'); $('#sendWink').html( message );
}
