function viewhost(user_ip, id) {
	id = ( !id ? 'userhost' : id );
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 1) {
			document.getElementById(id).innerHTML = '<img src="pic/progress_bar.gif" alt="" />';
		}
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById(id).innerHTML = req.responseJS.host;
			}
		}
    }
	req.caching = true;
	req.open('GET', TRACKER_URL + '/ajax.php?action=viewhost&sid=' + SID, true);
	req.send({ ip: user_ip });
}

function thanks(torrent_id, show) {
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('thanks_button').disabled = true;
				alert(req.responseJS.text);
			}
		}
    }
	req.caching = false;
	req.open('GET', TRACKER_URL + '/ajax.php?action=thanks&sid=' + SID, true);
	req.send({ id: torrent_id });
}

function sos(torrent_id) {
	if ( confirm(L_JS_SOS_CONFIRM) ) {
		document.getElementById('sos_button').disabled = true;

		var req = new JsHttpRequest();
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.responseJS) {
					alert(req.responseJS.text);
				}
			}
		}
		req.caching = false;
		req.open('GET', TRACKER_URL + '/ajax.php?action=sos&sid=' + SID, true);
		req.send({ id: torrent_id });
	}
}

function rating(torrent_id, rating) {
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
			    document.getElementById('rating_button').disabled = true;
				if (req.responseJS.rating_message) {
			            document.getElementById('rating_message').innerHTML = req.responseJS.rating_message;
				}
			    alert(req.responseJS.text);
			}
		}
    }
	req.caching = false;
	req.open('GET', TRACKER_URL + '/ajax.php?action=rating&sid=' + SID, true);
	req.send({ id: torrent_id, rating: rating });
}

function show_data(user_id) {
	che_show_hide(user_id);
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 1) {
			document.getElementById('user_' + user_id).innerHTML = '<img src="pic/progress_bar.gif" alt="" />';
		}
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('user_' + user_id).innerHTML = req.responseJS.data;
			}
		}
    }
	req.caching = true;
	req.open('GET', TRACKER_URL + '/cheaters.php?mode=show_data&sid=' + SID, true);
	req.send({ user_id: user_id });
}


function dopreview(message, name, preview_type) {
    var req = new JsHttpRequest();

	preview_type = ( preview_type ? preview_type : '' );

	if ( message.length < 2 ) {
			alert(l_post_something);
			return;
	}

	req.onreadystatechange = function() {
		if (req.readyState == 1) {
			document.getElementById('preview_box').innerHTML = '<img src="pic/progress_bar.gif" alt="" />';
		}
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('preview_box').innerHTML = req.responseJS.tpl;
			}
		}
  	}

	req.caching = true;
	req.open('POST', TRACKER_URL + '/ajax.php?action=preview&sid=' + SID, true);
	req.send({ message: message, name: name, preview_type: preview_type });
}

function do_admin_preview(template) {
    var req = new JsHttpRequest();

	req.onreadystatechange = function() {
		if (req.readyState == 1) {
			document.getElementById('preview_box').innerHTML = '<img src="' + TRACKER_URL + 'pic/progress_bar.gif" alt="" />';
		}
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('preview_box').innerHTML = req.responseJS.tpl;
			}
		}
  	}

	req.caching = true;
	req.open('POST', TRACKER_URL + '/ajax.php?action=edit_template_preview&sid=' + SID, true);
	req.send({ template: template });
}
function view_details_ext(type, id, mode) {
    var req = new JsHttpRequest();
    var div_content = '' + document.getElementById(type + '_row').innerHTML;
    div_content.replace(/(^\s+)|(\s+$)/g, "");
    mode = ( mode == 'details' ? 'details.php' : 'userdetails.php' );

    if ( div_content == '&nbsp;' || div_content == "" ) {
		req.onreadystatechange = function() {
			if ( req.readyState == 1 ) {
				document.getElementById(type + '_row').innerHTML = '<img src="' + TRACKER_URL + '/pic/loading_icon_small.gif" alt="" />';
			}
			if ( req.readyState == 4 ) {
				if (req.responseJS) {
					document.getElementById(type + '_row').innerHTML = req.responseJS.tpl;
					document.getElementById(type + '_href').innerHTML = '[' + L_JS_HIDE_LIST + ']';
				}
			}
	  	}
		req.caching = true;
		req.open('POST', TRACKER_URL + '/' + mode + '?view=' + type + '&sid=' + SID, true);
		req.send( {id : id} );
    }
    else {
	    document.getElementById(type + '_row').innerHTML = '&nbsp;';
	    document.getElementById(type + '_href').innerHTML = '[' + L_JS_SEE_FULL_LIST + ']';
    }
}

function changeReputation(targetid, state, type, currentReputation)
{
	var req = new JsHttpRequest();

	req.onreadystatechange = function() {
		if ( req.readyState == 1 ) {
			document.getElementById('respCount' + targetid).innerHTML = '<img src="pic/loading_icon_small.gif" style="vertical-align: middle;" width="16" height="16" alt="..." />';
		}
		if ( req.readyState == 4 ) {
			answerReturn(req, targetid, currentReputation);
		}
	}

	req.caching = false;
	req.open('POST', TRACKER_URL + '/simpaty.php?action=add&sid=' + SID, true);
	req.send({ targetid: targetid, type: type, state: state, current_reputation: currentReputation });
}

function answerReturn(req, targetid, currentReputation)
{
    if ( req.responseJS )
    {

        if (req.responseJS.status == 'error')
        {
            alert(req.responseJS.errorMessage);
			if (currentReputation > 0)
			{
				document.getElementById('respCount' + targetid).innerHTML = '<span class="goodResp">+' + currentReputation + '</span>';
			}
            else if (currentReputation < 0)
			{
				document.getElementById('respCount' + targetid).innerHTML = '<span class="badResp">' + currentReputation + '</span>';
			}
			else
			{
				document.getElementById('respCount' + targetid).innerHTML = '0';
			}
        }
        else if (req.responseJS.status == 'ok')
        {
            var html = '';

            if (req.responseJS.respCount == 0)
            {
                html += '0';
            }
            else if (req.responseJS.respCount > 0)
            {
                html += '<span class="goodResp">+' + req.responseJS.respCount + '</span>';
            }
            else if (req.responseJS.respCount < 0)
            {
                html += '<span class="badResp">' + req.responseJS.respCount + '</span>';
            }

            document.getElementById('respCount' + targetid).innerHTML = html;

            var postTd = document.getElementById('data' + targetid).getElementsByTagName('td');
            var div = false;

		  if ( postTd.length == 0 ) {
	            var postTd = document.getElementById('data' + targetid).getElementsByTagName('div');
	            var div = true;
            }

            var r = false;
            for (var i = 0; i < postTd.length; i++)
            {
                if (postTd[i].className == 'respectUserList')
                {
                    r = true;
                    postTd[i].innerHTML = '<b>' + L_JS_MARKED + '</b>: ' + req.responseJS.userList;
                }
            }

            if (!r)
            {
                if ( !div ) {
				 var respectTr = document.createElement('tr');
	                var respectTd = document.createElement('td');
	                respectTd.colSpan = 4;
	                respectTd.className = 'respectUserList';
	                respectTd.innerHTML = '<span class="smallfont"><b>' + L_JS_MARKED + '</b>: ' + req.responseJS.userList + '</span>';
	                respectTr.appendChild(respectTd);
			}
			else {
				var respectTr = document.createElement('div');
				respectTr.className = 'respectUserList';
				respectTr.innerHTML = '<br /><span class="smallfont"><b>' + L_JS_MARKED + '</b>: ' + req.responseJS.userList + '</span>';
			}
               document.getElementById('data' + targetid).appendChild(respectTr);
            }
        }
    }
}

function show_prompt (tag_type, id) {
	var txt = L_JS_ENTER_TAGS + '<input type="text" id="tag_name" name="tag_name" size="50" \/>';

	$.prompt(txt, {
		loaded: function () {
			$("#tag_name").autocomplete(TRACKER_URL + 'ajax.php?action=autocomplete_tags&sid=' + SID, {
				delay:10,
				matchSubset:1,
				autoFill:true,
				matchContains:1,
				cacheLength:10,
				selectFirst:true,
				multiple: true
			});
		},
		submit: function (v, m, f) {
			var tag_name = f.tag_name;
			if ( !tag_name ) {
				return false;
			}
			update_tag(tag_name, tag_type, id, 'up');
		}
	});

	return false;
}

function update_tag (tag_name, tag_type, id, type) {
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if ( req.readyState == 4 ) {
			if ( req.responseJS.tpl ) {
				$('#details_tags').html(req.responseJS.tpl);
			}
			if ( req.responseJS.message ) {
				alert(req.responseJS.message);
			}
		}
	}
	req.caching = false;
	req.open('POST', TRACKER_URL + 'ajax.php?action=update_tag&sid=' + SID, true);
	req.send({ tag_name: tag_name, tag_type: tag_type, id: id, type: type });
}

function delete_tag (enc_tag_name, tag_name, tag_type, id, tag_num) {

	if ( !confirm(L_JS_ARE_YOU_SURE_DELETE_TAG + ' "' + tag_name + '"?') ) {
		return;
	}
	$.ajax({
		url: TRACKER_URL + 'modtask.php?action=tags&do=delete_tag&sid=' + SID,
		global: false,
		type: "POST",
		cache: false,
		data: ({tag_name: enc_tag_name, tag_type: tag_type, id: id}),
		dataType: "html",
		success: function(msg){
			if ( msg == 'ok' ) {
				$('#tag_' + tag_num).remove();
			}
			else {
				alert(msg);
			}
		}
	}).responseText;
}

