$(document).ready(function() {
	$('#filesurl').change(function() {
		$('#pseudfile').val($('#filesurl').val());
	});
	$('#filesurl2').change(function() {
		$('#pseudfile2').val($('#filesurl2').val());
	});
	$('#nivea-filesurl').change(function() {
		$('#nivea-pseudfile').val($('#nivea-filesurl').val());
	});
		$("#globalErrorBlock").makeFloat({speed:"fast"});
		$("#globalLoading").makeFloat({speed:"fast"});
});

function strip_tags (str, allowed_tags) 
{
    var key = '', allowed = false;
    var matches = [];
    var allowed_array = [];
    var allowed_tag = '';
    var i = 0;
    var k = '';
    var html = '';

    var replacer = function (search, replace, str) {
        return str.split(search).join(replace);
    };

    // Build allowes tags associative array
    if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z0-9]+)/gi);
    }

    str += '';

    // Match tags
    matches = str.match(/(<\/?[\S][^>]*>)/gi);

    // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;
        }

        // Save HTML tag
        html = matches[key].toString();

        // Is tag not in allowed list? Remove from str!
        allowed = false;

        // Go through all allowed tags
        for (k in allowed_array) {
            // Init
            allowed_tag = allowed_array[k];
            i = -1;

            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}

            // Determine
            if (i == 0) {
                allowed = true;
                break;
            }
        }

        if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }

    return TrimString(str);
}

/**
 * проверяем наличие никнейма или мыла в базе
 */
function checkData(id_input, datatype)
{
	var input_data = $('#'+id_input).val();
	if (input_data.length > 0){
		$('#'+datatype+'_error').html('');
		$('#'+datatype+'_loading').show();
		$.post(
				"/ajax/checkdata/type/"+datatype+"/pattern/"+input_data+"/", 
				function(data){
					if(data){
						$('#'+datatype+'_error').html(data);
						$('#'+id_input).removeClass();
						$('#'+id_input).addClass('error');
						$('#'+datatype+'_loading').hide();
					}else{
						$('#'+id_input).removeClass();
						$('#'+id_input).addClass('text');
						$('#'+datatype+'_loading').hide();
					}
				});
	}
}

/**
 * апдейт рейтинга топика или коммента
 */
function rateItem(id_item, item_type, rate_type, rating_container)
{
	$('#globalErrorBlock').hide();
	$('#globalErrorBlock').html('<a href="javascript: void(0);" class="close-error-block" onclick="javascript: $(\'#globalErrorBlock\').hide();">[x]</a>');
	$.post(
			"/ajax/rateitem/id_item/"+id_item+"/item_type/"+item_type+"/rate_type/"+rate_type+"/", 
			function(data){
				if(data){
					$('#'+rating_container).html(data);
				}else{
					$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Вы уже отмечали это сообщение сегодня.<br>Или у Вас нехватает рейтинга.');
					$('#globalErrorBlock').show();
				}
			});
}

/**
 * отправить приглашение в друзья
 */
function sendFriendInvite(id_from, id_to)
{
	$('#friendinvite-text').attr("disabled", true);
	$('#friendinvite-button').attr("disabled", true);
	$('#frieninvite-loading').show();
	
	var messageTxt = $('#friendinvite-text').val();
	
	$.post(
			"/ajax/sendfriendinvite/id_from/"+id_from+"/id_to/"+id_to+"/", 
			{ message: messageTxt },
			function(data){
				if(data){
					$('#frieninvite-loading').hide();
					$('#sendFriendInvite').hide('slow');
					$('#friendinvite-text').attr("disabled", false);
					$('#friendinvite-button').attr("disabled", false);
				}else{
					$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Вы уже предлагали дружбу этому человеку. Или же произошла какая-то ошибка.');
					$('#globalErrorBlock').show();
					$('#frieninvite-loading').hide();
					$('#sendFriendInvite').hide('slow');
					$('#friendinvite-text').attr("disabled", false);
					$('#friendinvite-button').attr("disabled", false);
				}
			});
}

/**
 *  отправить личное сообщение
 */
function sendMessage(id_from, id_to)
{
	$('#ln').attr("disabled", true);
	$('#message_text').attr("disabled", true);
	$('#sendmessage-button').attr("disabled", true);
	$('#message-loading').show();
	
	var messageSubj = $('#ln').val();
	var messageTxt  = $('#message_text').val();
	
	$.post(
			"/ajax/sendmessage/id_from/"+id_from+"/id_to/"+id_to+"/", 
			{ subject: messageSubj, message: messageTxt },
			function(data){
				if(data){
					$('#message-loading').hide();
					$('#sendMessage').hide('slow');
					$('#ln').attr("disabled", false);
					$('#message_text').attr("disabled", false);
					$('#sendmessage-button').attr("disabled", false);
					$('#ln').val('');
					$('#message_text').val('');
				}else{
					$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Произошла какая-то ошибка.');
					$('#message-loading').hide();
					$('#sendMessage').hide('slow');
					$('#ln').attr("disabled", false);
					$('#message_text').attr("disabled", false);
					$('#sendmessage-button').attr("disabled", false);
					$('#ln').val('');
					$('#message_text').val('');
				}
			});
}

/**
 *  подтвердить дружбу
 */
function acceptFriend(id_from, id_to, param)
{
	$('#globalLoading').show();
	$('#globalErrorBlock').hide();
	$('#globalErrorBlock').html('<a href="javascript: void(0);" class="close-error-block" onclick="javascript: $(\'#globalErrorBlock\').hide();">[x]</a>');
	$.post(
			"/ajax/addfriend/id_from/"+id_from+"/id_to/"+id_to+"/param/"+param+"/", 
			function(data){
				if(data){
					$('#globalLoading').hide();
					$('#globalErrorBlock').html($('#globalErrorBlock').html()+data);
					$('#globalErrorBlock').show();
				}else{
					$('#globalLoading').hide();
					$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Произошла какая-то ошибка.');
					$('#globalErrorBlock').show();
				}
			});
}

function TrimString(sInString){
	return sInString.replace(/(^\s+)|(\s+$)/g, "");
}

/**
 *  редактировать комментарий
 */
function editComment(id_comment, param)
{
	if(param == 0){
		var comm_text = strip_tags($('#comment_'+id_comment).html());
		$('#comment_'+id_comment).html('<textarea class="add-comment" style="width: 600px;" id="comm_text_'+id_comment+'">'
							+TrimString(comm_text)
							+'</textarea><br><input type="button" value="" onclick="javascript: editComment(\''+id_comment+'\', 1)" class="button-send">');
	}else if(param == 1){
		$('#globalLoading').show();
		$('#globalErrorBlock').hide();
		$('#globalErrorBlock').html('<a href="javascript: void(0);" class="close-error-block" onclick="javascript: $(\'#globalErrorBlock\').hide();">[x]</a>');
		
		var textComm = $('#comm_text_'+id_comment).val();
		$.post(
				"/ajax/editcomment/id_comment/"+id_comment+"/", 
				{ text_comment: textComm },
				function(data){
					if(data){
						$('#globalLoading').hide();
						$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Произошла какая-то ошибка.');
						$('#globalErrorBlock').show();
					}else{
						$('#globalLoading').hide();
						$('#globalErrorBlock').html($('#globalErrorBlock').html()+'ok.');
						$('#globalErrorBlock').show();
						$('#comment_'+id_comment).html(textComm);
					}
				});
	}
}

/**
 * цитирование комментария 
 */
function quoteComment(id_comment, username)
{
	var textComm = strip_tags($('#'+id_comment).html());
	$('#comment_text_area').html($('#comment_text_area').html()+"[quote][user]"+username+"[/user]"+textComm+"[/quote]");
}

/**
 * снять\повесить статью на главной
 */
function attachOnMain(id_topic, on_main, show)
{
		$('#globalLoading').show();
		$('#globalErrorBlock').hide();
		$('#globalErrorBlock').html('<a href="javascript: void(0);" class="close-error-block" onclick="javascript: $(\'#globalErrorBlock\').hide();">[x]</a>');
		
		$.post(
				"/ajax/attachtopic/id_topic/"+id_topic+"/on_main/"+on_main+"/", 
				function(data){
					if(data){
						$('#globalLoading').hide();
						$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Произошла какая-то ошибка.');
						$('#globalErrorBlock').show();
					}else{
						$('#globalLoading').hide();
						$('#globalErrorBlock').html($('#globalErrorBlock').html()+'ok.');
						$('#globalErrorBlock').show();
						$('#on_main'+on_main).hide();
						$('#on_main'+show).show();
					}
				});
	
}

/**
 * переключить отображение блока "мои новости"
 */
function toggleMyNews()
{
	$.post(
		"/ajax/togglemynews/", 
			function(data){
		if(data){
			$('#globalLoading').hide();
			$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Произошла какая-то ошибка.');
			$('#globalErrorBlock').show();
		}else{
			$('#globalLoading').hide();
		}
	});
	$('#my-news').toggle('slow');
}

/**
 * изменение рейтинга пользователя
 */
function updateUserRating(id_user, type, id_hide)
{
	$('#globalLoading').show();
	$('#globalErrorBlock').hide();
	$('#globalErrorBlock').html('<a href="javascript: void(0);" class="close-error-block" onclick="javascript: $(\'#globalErrorBlock\').hide();">[x]</a>');
	
	$.post(
			"/ajax/updateuserrating/id_user/"+id_user+"/type/"+type+"/", 
				function(data){
				if(data){
					$('#globalLoading').hide();
					$('#'+id_hide).hide();
					$('#pf-user-rating').html(data);
				}else{
					$('#globalLoading').hide();
					$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Произошла какая-то ошибка.');
					$('#globalErrorBlock').show();
				}
		});
}

/**
 * поделится рейтингом
 */
function shareRating(id_user, id_hide)
{
	$('#globalLoading').show();
	$('#globalErrorBlock').hide();
	$('#globalErrorBlock').html('<a href="javascript: void(0);" class="close-error-block" onclick="javascript: $(\'#globalErrorBlock\').hide();">[x]</a>');
	
	$.post(
			"/ajax/sharerating/id_user/"+id_user+"/", 
				function(data){
				if(data){
					$('#globalLoading').hide();
					$('#'+id_hide).hide();
					$('#pf-user-rating').html(data);
				}else{
					$('#globalLoading').hide();
					$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Произошла какая-то ошибка.');
					$('#globalErrorBlock').show();
				}
		});
}

function voteInKonkurs(id_msg)
{
    $('#globalLoading').show();
	$('#globalErrorBlock').hide();
	$('#globalErrorBlock').html('<a href="javascript: void(0);" class="close-error-block" onclick="javascript: $(\'#globalErrorBlock\').hide();">[x]</a>');

	$.post(
			"/ajax/konkursvote/id_msg/"+id_msg,
            function(data){
				if(data){
					$('#globalLoading').hide();
                    $('#k_vote_answer').html(data);
				}else{
                    alert('2');
					$('#globalLoading').hide();
					$('#globalErrorBlock').html($('#globalErrorBlock').html()+'Произошла какая-то ошибка.');
					$('#globalErrorBlock').show();
				}
		});
}
