

function commentsDisplayBuffer(page) {
	timeout = setTimeout("commentsDisplayBufferTimer()", 500);
}

function commentsDisplayBufferTimer() {
	document.getElementById("comments_area").innerHTML = '<div class="comment" style="display:block"><br /><center><img src="http://static.xvideos.com/img/loader.gif"></center><br /></div>';
}

var comment_cache = new Array();
var timeout;

function commentsDisplayPage(id_document, page) {
	cur_page = page;
	function commentDisplayTerminate() {
		if(this.stopped) return false;
		if ( xhr2.readyState == 4) {
			if(xhr2.status == 200) {
				clearTimeout(timeout);
				document.getElementById("comments_area").innerHTML = xhr2.responseText;
				comment_cache[cur_page] = xhr2.responseText;
			} else {
				document.getElementById("comments_area").innerHTML = '<div class="comment" style="display:block"><br /><center><b>ERROR, try again</b></center><br /></div>';
			}
		}
	}
	commentsManagePagination(page); 
	
	if (comment_cache[cur_page]) {
		document.getElementById("comments_area").innerHTML = comment_cache[cur_page];
	} else {
		commentsDisplayBuffer()
		xhr2 = createRequestObject();
		xhr2.onreadystatechange = commentDisplayTerminate;
		xhr2.open('GET', "/comment/" + id_document + "/" + page, true);
		xhr2.send(null);
	}
}

function commentsDisplay(id_document) {
	if (document.getElementById("comments_page").style.display == "block") {
		document.getElementById("comments_page").style.display = "none";
		document.getElementById("comments_area").style.display = "none";
	} else {
		document.getElementById("comments_page").style.display = "block";
		document.getElementById("comments_area").style.display = "block";
		if (!id_document) {
			commentsManagePagination(1);
			document.getElementById("comments_area").innerHTML = '<div class="comment" style="display:block"><br /><center><b>Choose the page</b></center><br /></div>';
		} else {
			commentsDisplayPage(id_document, 1);
		}
	}
}

function commentsClose() {
	document.getElementById("comments_page").style.display = "none";
	document.getElementById("comments_area").style.display = "none";
}

function commentsManagePagination(page) {
	count = 0;
	while (true) {
		elt = document.getElementById("comment_page" + (count + 1));
		if (elt) {
			elt.style.display = "none";
			elt.style.border = "";
			elt.style.padding = "";
			count++;
		} else  {
			break;
		}
	}
	
	nbpage = 6;
	min = page - nbpage;
	max = page + nbpage;
	if (min < 1) {
		max = max + (Math.abs(min) + 1);
		min = 1;
	}
	if (max > count) {
		min = min - (max - count);
		if (min < 1) {
			min = 1;
		}
	}
	
	for (i = min; i <= max; i++) {
		elt = document.getElementById("comment_page" + i);
		if (elt) {
			elt.style.display = "inline";
			if (i == page) {
				elt.style.border = "2px #000 solid";
				elt.style.padding = "1px";
			}
		}
	}	
}
	

function createRequestObject() {
		var xhr;
		try {
			xhr = new XMLHttpRequest();
		}
		catch (e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		return xhr;
	}

function post_comment(video_id) {
	function CommentonComplete() {
		if(this.stopped) return false;
		if ( xhr.readyState == 4) {
			if(xhr.status == 200) {
				document.getElementById("comment_post").innerHTML = xhr.responseText;
				var reg = new RegExp("^.*\<\!\-\-(.*)\-\-\>.*$", "g");
				var javascript = xhr.responseText.replace(reg, "$1");
				try {
					eval(javascript);
				} catch(e) {
					//alert(e);
				}
			} else {
				document.getElementById("comment_post").innerHTML = "Failed ... Try again";
			}
		}
	}

	user = document.getElementById("comment_user").value;
	comment = document.getElementById("comment_text").value;
	test = "ok";
	
	post_field = "user=" + escape(user) + "&comment=" + escape(comment) + "&test=" + escape(test);
	
	document.getElementById("comment_post").innerHTML = "<b>Please wait ...</b>";
	
	xhr = createRequestObject();
	xhr.onreadystatechange = CommentonComplete;
	xhr.open('POST', "/postcomment/" + video_id, true);
	xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xhr.send(post_field); // Sending post data
}

