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;
				if (req.responseJS.thanks_users) {
					document.getElementById('thanks_users').innerHTML = ( show ?  document.getElementById('thanks_users').innerHTML + ', ' : '' ) + req.responseJS.thanks_users;
				}
				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(sos_confirm) ) {
		var req = new JsHttpRequest();
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.responseJS) {
					document.getElementById('sos_button').disabled = true;
					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 add_simpaty(simpaty, target_id, type, simpid) {
		var promt_text = printf(simpaty_descr, ( simpaty == 1 ? resp : antiresp ) );
		var inPut = prompt(promt_text, "");
		if (inPut == null || inPut == "") {
				return;
		}
    	else {
    			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 + '/simpaty.php?action=add&sid=' + SID, true);
			req.send({ simpaty: simpaty, targetid: target_id, type: type, simpid: simpid, description: inPut });
       	}
}

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 up(post, fromvar) { // Update Post
        var req = new JsHttpRequest();

	if (fromvar == 1)
	{
		document.getElementById('p_' + post + '_message').innerHTML = posts[post];
		return;
	}

	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('p_' + post + '_message').innerHTML = req.responseJS.result;
				document.getElementById('p_' + post + '_sig').innerHTML = req.responseJS.sig;
			}
		}
        }

	req.caching = false;
	req.open('POST', 'ajax.php?mode=getpost&sid=' + sid, true);
	req.send({ p: post });
}

function sp(post) { // Send Post
        var req = new JsHttpRequest();
	text = document.getElementById('msg_' + post).value;

	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				up(post);
			}
		}
        }
	req.caching = false;
	req.open('POST', 'ajax.php?mode=sendpost&sid=' + sid, true);
	req.send({ p: post, t: text });
}

function pp(post) { // Preview Post
	if (document.getElementById('msg_' + post).value.length < 2) {
		alert(empty_message);
		return;
	}

	var text = '' + document.getElementById('msg_'+post).value;
        var req = new JsHttpRequest();

	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('preview_'+post).innerHTML = req.responseJS.result;
			}
		}
        }

	req.caching = true;
	req.open('POST', 'ajax.php?mode=preview&sid=' + sid, true);
	req.send({ t: text });
}

function spef(post) { // Show Post Edit Field
        var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('p_' + post + '_message').innerHTML = req.responseJS.result;
			}
			document.getElementById('debug').innerHTML = req.responseText;
		}
        }

	if ( blocked != 1)
	{
		posts[post] = document.getElementById('p_' + post + '_message').innerHTML;
		req.caching = false;
		req.open('POST', 'ajax.php?mode=spef&sid=' + sid, true);
		req.send({ p: post });
		blocked = 1
	}
}

function bbp(post) { // Ban by Post
	var answer = confirm(l_buc)

	if (answer == 0) {
		return;
	}

        var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				alert (req.responseJS.result);
			}
	        }
	}
	req.caching = false;
	req.open('POST', 'ajax.php?mode=ban&sid=' + sid, true);
	req.send({ p: post });
}

function dp(post) { // Delete Post
	var answer = confirm(l_dpc);

	if (answer == 0) {
		return;
	}

        var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				var elements = document.getElementsByName('post_' + post);
				for (var i = 0; i < elements.length; i++) {
					elements[i].style.display = 'none';
				}
				var elements = document.getElementsByName('postclass_' + post);
				for (var i = 0; i < elements.length; i++) {
					elements[i].style.display = 'none';
				}
				synchpostcolors();
				if ( req.responseJS.redirect != null )
				{
					location.href = req.responseJS.redirect;
				}
			}
	        }
	}
	req.caching = false;
	req.open('POST', 'ajax.php?mode=deletepost&sid=' + sid, true);
	req.send({ p: post });
}

function lut(topic, viewforum) { // Lock Unlock Topic
        var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				if ( viewforum == 1)
				{
					document.getElementById('lockunlock_' + topic).innerHTML = req.responseJS.result;
					if ( req.responseJS.topic_img != null )	document.getElementById('topic' + topic + '_status').src = req.responseJS.topic_img;
					document.getElementById('topic' + topic + '_status').alt = req.responseJS.topic_alt;
				}
				else
				{
					document.getElementById('lockunlock').innerHTML = req.responseJS.result;
					var elements = document.getElementsByName('reply_img');
					for (var i = 0; i < elements.length; i++) {
						elements[i].src = req.responseJS.reply_img;
						elements[i].alt = req.responseJS.reply_alt;
					}
				}

			}
	        }
	}
	req.caching = false;
	req.open('POST', 'ajax.php?mode=topic_lockunlock&sid=' + sid, true);
	req.send({ t: topic, vf: viewforum});
}

function sts(topic) { // Switch Topic Status
        var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('topic' + topic + '_status').src = req.responseJS.img;
				document.getElementById('topic' + topic + '_type').innerHTML = req.responseJS.type;
			}
	        }
	}
	req.caching = false;
	req.open('POST', 'ajax.php?mode=topic_switchstatus&sid=' + sid, true);
	req.send({ t: topic });

}

function dt(topic, viewforum) { // Delete Topic
	var answer = confirm(l_dtc);

	if (answer == 0) {
		return;
	}

        var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				if ( viewforum == true)
				{
					document.getElementById('topic_' + topic).style.display = 'none';
				}
				else
				{
					alert (req.responseJS.message);
					location.href = req.responseJS.result;
				}
			}
	        }
	}
	req.caching = false;
	req.open('POST', 'ajax.php?mode=topic_delete&sid=' + sid, true);
	req.send({ t: topic });

}

function aqr(forum, topic) { // Ajax Quick Reply
	if (messagetext.length < 2) {
		alert(l_empty_message);
		return false;
	}

	var text = '' + messagetext;
	var username = '' + usernametext;
	var subject = '';

        var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				if (req.responseJS.merge)
				{
					var elements = document.getElementsByName('post_' + req.responseJS.post_id);
					for (var i = 0; i < elements.length; i++) {
						elements[i].style.display = 'none';
						elements[i].innerHTML = "";
					}
					var elements = document.getElementsByName('postclass_' + req.responseJS.post_id);
					for (var i = 0; i < elements.length; i++) {
						elements[i].style.display = 'none';
						elements[i].innerHTML = "";
					}
				}
				document.getElementById('post_table').innerHTML = replaceIt(document.getElementById('post_table').innerHTML, '<tr id="newposts"></tr>', req.responseJS.post + '<tr id="newposts"></tr>');
				synchpostcolors ();
			}
	        }
	}
	req.caching = false;
	req.open('POST', 'ajax.php?mode=quick_reply&sid=' + sid, true);

	req.send({ te: text , f: forum, t: topic, u: username});
	return false;

}

function replaceIt(sString, sReplaceThis, sWithThis)
{
	if (sReplaceThis != "" && sReplaceThis != sWithThis)
	{
		var counter = 0;
		var start = 0;
		var before = "";
		var after = "";
		while (counter<  sString.length)
		{
			start = sString.indexOf(sReplaceThis, counter);
			if (start == -1)
			{
				break;
			}
			else
			{
				before = sString.substr(0, start);
				after = sString.substr(start + sReplaceThis.length, sString.length);
				sString = before + sWithThis + after;
				counter = before.length + sWithThis.length;
			}
		}
	}
	return sString;
}

function synchpostcolors () { // Synchronise Post Colors
	var elements = document.getElementsByTagName('*');
	var a = 0; var lastid = '';

	for (var i = 0; i < elements.length; i++) {
		if (elements[i].id.indexOf('postclass_') == 0 && elements[i].style.display != 'none')
		{
			if (elements[i].id != lastid) {
				a++;
			}

			if (a % 2) {
				elements[i].className = row1;
			}
			else {
				elements[i].className = row2;
			}

			lastid = elements[i].id;
		}
	}
}

function cs(size, post) { // Change Text Field Size
	height = parseInt(document.getElementById('msg_' + post).style.height);
	newheight = height + parseInt(size);
	if ( newheight < 150)
	{
		newheight = 150;
	}

	document.getElementById('msg_' + post).style.height = newheight + 'px';
}
*/

