/* url */
var cururl = 'http://animecka.se/';

/* show off topic */
function createRequestObjectThree() {
	var req;
	if(window.XMLHttpRequest){
		req = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert('Problem creating the XMLHttpRequest object');
	}
	return req;
}

function handleDivTagF(divtagF) {
	var divtagF;
	return divtagF;
}

var http = createRequestObjectThree();
var divhandlerF = new handleDivTagF(null);

function replies(post) {
   http.open('get', cururl+'forum_replies.php?post_id='+post+'&dummy=' + new Date().getTime());
   http.onreadystatechange = handleResponseThree;
   divhandlerF.divtagF = post;
   http.send(null);
}

function handleResponseThree() {
	if (http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if (response) {
			document.getElementById('replies'+divhandlerF.divtagF).innerHTML = response;
			window.location.hash = "r"+divhandlerF.divtagF; 
		}
	}
}

function hideReplies(post) {
	var post = post;
	document.getElementById('replies'+post).innerHTML = "";	
}



/* delete posts */
function delPost(post) {
   http.open('get', cururl+'forum_post_delete.php?post_id='+post+'&dummy=' + new Date().getTime());
   http.onreadystatechange = handleResponseDelPost;
   divhandlerF.divtagF = post;
   http.send(null);
}

function handleResponseDelPost() {
	if (http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if (response) {
			document.getElementById('post'+divhandlerF.divtagF).innerHTML = response;
		}
	}
}



/* report posts */
function reportPost(post) {
   http.open('get', cururl+'forum_post_report.php?post_id='+post+'&dummy=' + new Date().getTime());
   http.onreadystatechange = handleResponseReportPost;
   divhandlerF.divtagF = post;
   http.send(null);
}

function handleResponseReportPost() {
	if (http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if (response) {
			document.getElementById('report'+divhandlerF.divtagF).innerHTML = response;
		}
	}
}



/* show edit post */
function editReply(post) {
   http.open('get', cururl+'forum_post_edit.php?post_id='+post+'&dummy=' + new Date().getTime());
   http.onreadystatechange = handleResponseFour;
   divhandlerF.divtagF = post;
   http.send(null);
}

function handleResponseFour() {
	if (http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if (response) {
			document.getElementById('postbody'+divhandlerF.divtagF).innerHTML = response;
		}
	}
}




/* edit post */
var http_request = false;

function forumEditReply(url, parameters, igor) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
			}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	document.getElementById('waiting'+igor).innerHTML = "<div class='loadingrec-forum'></div>";

	http_request.onreadystatechange = editAlertContents;
	http_request.open('POST', url, true);
	divgrej.divtagger = igor;

	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function editAlertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			result = http_request.responseText;
			document.getElementById('postbody'+divgrej.divtagger).innerHTML = result;            
		} else {
			alert('Ett problem uppstod.');
		}
	}
}

function replyEdit(obj,theid) {
	var igor = theid;
	var poststr = "editpost_id=" + encodeURI( document.getElementById("editpost_id"+igor).value ) +
					"&editpost_text=" + encodeURIComponent( document.getElementById("editpost_text"+igor).value );
	forumEditReply(cururl+'forum_post_edit_upd.php', poststr, igor);
}

function expBox(id, height) {
	var txtId = document.getElementById(id);

	if (txtId.style.height == height+'px')
		txtId.style.height = '150px';
	else
		txtId.style.height = height+'px';
}



/* reply off topic */
var http_request = false;

function forumOtReply(url, parameters, hans) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
			}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	document.getElementById('ot_reply'+hans).innerHTML = "<div class='loadingrec-forum'></div>";

	http_request.onreadystatechange = OtalertContents;
	http_request.open('POST', url, true);
	divgrej.divtagger = hans;

	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function OtalertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			result = http_request.responseText;
			document.getElementById('otreply_box'+divgrej.divtagger).innerHTML = "<p>Inlägget postat! Uppdatera sidan för att posta igen eller se nyare inlägg.</p>";
			document.getElementById('ot_reply'+divgrej.divtagger).innerHTML = result;            
		} else {
			alert('Ett problem uppstod.');
		}
	}
}

function replyOt(obj,theid) {
	var hans = theid;
	var poststr = "ot_id=" + encodeURI( document.getElementById("ot_id"+hans).value ) +
					"&ot_text=" + encodeURIComponent( document.getElementById("ot_text"+hans).value );
	forumOtReply(cururl+'forum_replies_upd.php', poststr, hans);
}




/* reply forum post */
var http_request = false;

function forumReply(url, parameters) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Kunde inte skapa XMLHTTP-instans!');
		return false;
	}

	document.getElementById('trad_reply').innerHTML = "<div class='loadingrec-forum'></div>";

	http_request.onreadystatechange = replyAlertContents;
	http_request.open('POST', url, true);

	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function replyAlertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			result = http_request.responseText;
			document.getElementById('quickreply_box').innerHTML = "Inlägget postat! Uppdatera sidan för att posta igen eller se nyare inlägg.";
			document.getElementById('trad_reply').innerHTML = result;
		} else {
			alert('Det blev fel...!');
		}
	}
}

function quickReply(obj) {
	var poststr = "quickreply_id=" + encodeURI( document.getElementById("quickreply_id").value ) +
					"&quickreply_text=" + encodeURIComponent( document.getElementById("quickreply_text").value );

	forumReply(cururl+'forum_quick_reply.php', poststr);
}




/* quote forum post */
function quote(id,user) {

	var selText = '';
	var finalText = '';
	var curTxt = document.quickreply.quickreply_text.value;

	var quoteStart = '[citat='+user+']';
	var quoteEnd = '[/citat]';

	if (window.getSelection) {
		selText = window.getSelection();
	} else if (document.getSelection) {
		selText = document.getSelection();
	} else if (document.selection) {
		selText = document.selection.createRange().text;
	}// else
	//	return;

	var selText1 = selText + '';

	if (selText1.length > 0) finalText=selText1;

	if (finalText.length>0) {
		document.quickreply.quickreply_text.focus();
		if (curTxt.length<1) {
			document.quickreply.quickreply_text.value = curTxt+quoteStart+finalText+quoteEnd+'\n';
		} else {
			document.quickreply.quickreply_text.value = curTxt+'\n'+quoteStart+finalText+quoteEnd+'\n';
		}

		finalText='';

		document.quickreply.quickreply_text.focus();
		window.scrollBy(0,10000);
	} else {
		alert('Markera texten du vill citera och tryck sedan!');
	}
}