// JavaScript Document

// These are variables that prevent multiple requests from double clicking
var messageDeleted = 0;
var reviewVoted = 0;
var articleVoted = 0;
var articleFavorited = 0;
var loginDisplayed = 0;
var postDeleted = 0;

function print_article(articleid) {
	URL = "/article/" + articleid + "/print";
	eval("pagePrint = window.open(URL, 'pagePrint', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=600');");
}

function deletePost(postid){
	if(postDeleted != postid || postDeleted == 0){
		if(confirm("Are you sure you want to delete this post? (this can't be undone)")){
			$.post("/proc/forumpost?mode=delete&id=" + postid,
			  function(data){
				$('#post_' + postid).fadeOut();
			});
			
			postDeleted = postid;
		}
	}
}

function deleteMessage(messageid){
	if(messageDeleted != messageid || messageDeleted == 0){
		if(confirm("Are you sure you want to delete this message? (this can't be undone)")){
			$.post("/proc/message?mode=delete&id=" + messageid,
			  function(data){
				$('#message_' + messageid).fadeOut();
			});
			
			messageDeleted = messageid;
		}
	}
}

function vote_article(articleid, articlescore, articlehash) {	
	if(articleVoted != articleid || articleVoted == 0){
		if(articlescore == 0)
			if(!confirm("Are you sure you want to give this article a null vote? (this can't be undone)"))
				return 0;
				
		$.post("/proc/vote", { id: articleid, mode: "article", score: articlescore, hash: articlehash },
		  function(data){
			$('#vote_menu').fadeOut();
			setTimeout(function() {document.getElementById("vote_menu").innerHTML=data}, 500);
			$('#vote_menu').fadeIn();
		});
		
		articleVoted = articleid;
	}
}

function vote_review(reviewid, reviewvalue, reviewhash) {
	if(reviewVoted != reviewid || reviewVoted == 0){
		$.post("/proc/vote", { id: reviewid, mode: "review", value: reviewvalue, hash: reviewhash },
		  function(data){
			$("#review_vote_" + reviewid).fadeOut();
			setTimeout(function() {document.getElementById("review_vote_" + reviewid).innerHTML=data}, 500);
			$("#review_vote_" + reviewid).fadeIn();
		});
	
		reviewVoted = reviewid;
	}
}

function flag_article(articleid, flagtype, flaghash) {
	$.post("/proc/flag", { id: articleid, type: flagtype, hash: flaghash},
	  function(data){
		$("#article_flag").fadeOut();
		setTimeout(function() {document.getElementById("article_flag").innerHTML=data}, 500);
		$("#article_flag").fadeIn();
	});
}

function addFavorite(articleid) {
	if(articleFavorited != articleid || articleFavorited == 0){
		var data2;
		$.post("/proc/favorite", { id: articleid, mode: "add" },
		  function(data){
			$('#vote_favorite').fadeOut();
			$('#vote_favorite_2').fadeOut();
			setTimeout(function() {document.getElementById("vote_favorite").innerHTML = document.getElementById("vote_favorite_2").innerHTML = data;}, 500);
			$('#vote_favorite').fadeIn();
			$('#vote_favorite_2').fadeIn();
		});
		
		articleFavorited = articleid;
	}
}

function removeFavorite(favoriteid) {
	var data2;
	$.post("/proc/favorite", { id: favoriteid, mode: "delete" },
	  function(data){
		$('#favorite_' + favoriteid).fadeOut();
	});
}

function showLogin(){
	if(!loginDisplayed){
		$("#login_error").fadeOut();
		setTimeout(function(){ $("#header_login").fadeIn(); }, 500);
		
		loginDisplayed = 1;
	}
}

function newWindow(url){
	window.open(url,'flagging','height=600,width=800,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=no,directories=no')
}

function change_textsize(size) {
	switch(size){
		case 'small':
			textsize = '12px';
			break;
		case 'medium':
			textsize = '14px';
			break;
		case 'large':
			textsize = '16px';
			break;
	}
	
	var img = document.getElementById('content_text');
	if (img!=null)
	{
		img.style.fontSize = textsize;
	}
}

function showDetails(id)
{
	if($('#stats_' + id).css('display') == "none"){
		$('#stats_' + id).css('display', '');
		$('#stats_link_' + id).html('- Hide');
	}else{
		$('#stats_' + id).css('display', 'none');
		$('#stats_link_' + id).html('+ Show');
	}
}

var canClose = 1;

function toggleFlags(mode)
{
	
	if(mode == 1)
		$('#article_flag_list').css('display', '');
	else if(mode == -1){
		if($('#article_flag_list').css('display') == "none"){
			canClose = 1;
			$('#article_flag_list').css('display', '');
		}else{
			canClose = 0;
			$('#article_flag_list').css('display', 'none');
		}
	}
	else if(canClose)
		$('#article_flag_list').css('display', 'none');
}

function toggleShare(mode)
{
	if(mode == 1)
		$('#article_share_list').css('display', '');
	else if(mode == -1){
		if($('#article_share_list').css('display') == "none"){
			canClose = 1;
			$('#article_share_list').css('display', '');
		}else{
			canClose = 0;
			$('#article_share_list').css('display', 'none');
		}
	}
	else if(canClose)
		$('#article_share_list').css('display', 'none');
}

function toggleModuleMenu(mode)
{
	if(mode == 1)
		$('#module_list').css('display', '');
	else if(mode == -1){
		if($('#module_list').css('display') == "none"){
			canClose = 1;
			$('#module_list').css('display', '');
		}else{
			canClose = 0;
			$('#module_list').css('display', 'none');
		}
	}
	else if(canClose)
		$('#module_list').css('display', 'none');
}

function review_reply(reviewID)
{
	if($('#review_reply_' + reviewID).css('display') == "none"){
		$('#review_reply_' + reviewID).fadeIn();
	}
}

function activity_module_page(page)
{
	$.post("/inline/activity_module?update=1&pageid=" + page,
	  function(data){
		  setTimeout(function() {document.getElementById("activity_module_content").innerHTML = data;}, 100);
	});
}

function featured_page(page)
{
	$.post("/inline/featured?update=1&pageid=" + page,
	  function(data){
		  setTimeout(function() {document.getElementById("inline_featured").innerHTML = data;}, 100);
	});
}

function blank(){}
