// JavaScript Document
var ratedPosts = new Array();
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try{
	xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
	try{
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}catch (e2){
		xmlHttp = false;
	}
}
@end @*/

if (!xmlHttp && typeof XMLHttpRequest != 'undefined'){
	xmlHttp = new XMLHttpRequest();
}

function setRating(obj,rating){
	var url = '/user/account/userPostRating.aspx?id=' + escape(obj) + '&rating=' + escape(rating);
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = ratingResult;
	xmlHttp.send(null);
}

function ratingResult(){
	if (xmlHttp.readyState == 4){
		if (xmlHttp.status == 200){
			var response = xmlHttp.responseText;
			//document.getElementById("divUserInfo").innerHTML = response;
		}
	}
}

function getCurrentRating(obj){
	var postRating = document.getElementById('postRating:' + obj);
	var rating = 0;
	if (postRating.innerHTML.indexOf('-') == -1 && postRating.innerHTML.indexOf('+') == -1){
		return parseInt(postRating.innerHTML);
	}else{
		if (postRating.innerHTML.indexOf('-') != -1	){
			return parseInt(postRating.innerHTML.substring(1)) * -1; //neg number
		}else{
			return parseInt(postRating.innerHTML.substring(1));	//pos number
		}
	}
}

function isRated(obj){
	var rated = false;
	var i=0;
	for (i=0;i<ratedPosts.length;i++){
		if (ratedPosts[i] == obj){
			rated = true;
			break;
		}	
	}
	return rated;
}

function signal(obj){
	ratedPosts[ratedPosts.length] = obj;
	setRating(obj,'1');
	var rating = getCurrentRating(obj) + 1;
	setRatingInfo(obj,rating);
	var postRatingControl = document.getElementById('postRatingControl:' + obj);
	new Effect.Fade(postRatingControl);
	var userPostRating = document.getElementById('userPostRating:' + obj);
	userPostRating.style.display = "none";
	userPostRating.innerHTML = 'my rating: signal';
	setTimeout("showMyRating('" + obj + "')",1250);
}

function noise(obj){
	ratedPosts[ratedPosts.length] = obj;
	setRating(obj,'0');
	var rating = getCurrentRating(obj) - 1;
	setRatingInfo(obj,rating);
	var postRatingControl = document.getElementById('postRatingControl:' + obj);
	new Effect.Fade(postRatingControl);
	var userPostRating = document.getElementById('userPostRating:' + obj);
	userPostRating.style.display = "none";
	userPostRating.innerHTML = 'my rating: noise';
	setTimeout("showMyRating('" + obj + "')",1250);
	postHide(obj);
}

function showMyRating(obj){
	var userPostRating = document.getElementById('userPostRating:' + obj);
	new Effect.Appear(userPostRating);
}

function setRatingInfo(obj,rating){
	var postRating = document.getElementById('postRating:' + obj);
	var ratingIcon = document.getElementById('postRatingIcon:' + obj);
	var ratingMsg = document.getElementById('postRatingMsg:' + obj);
	if (rating >= 0){
		ratingIcon.src = '/images/forums/icon_signal.gif';
		if (rating == 0){
			ratingMsg.innerHTML = '';
			postRating.innerHTML = rating;
		}else{
			ratingMsg.innerHTML = 'signal';
			postRating.innerHTML = '+' + rating;
		}
	}else{
		ratingIcon.src = '/images/forums/icon_noise.gif';
		ratingMsg.innerHTML = 'noise';
		postRating.innerHTML = rating;
	}
}

function postShow(obj){
	var header = document.getElementById('postHeader:' + obj);
	var postShow = document.getElementById('postShow:' + obj);
	var postHide = document.getElementById('postHide:' + obj);
	var postBody = document.getElementById('postBody:' + obj);
	var postRatingControl = document.getElementById('postRatingControl:' + obj);
	
	header.className = 'postHeaderVisible';
	postShow.style.display = 'none';
	postHide.style.display = 'inline';
	new Effect.SlideDown(postBody,{duration:1});
	if (postRatingControl != null && !isRated(obj)){
		new Effect.Appear(postRatingControl);
	}
}

function postHide(obj){
	var header = document.getElementById('postHeader:' + obj);
	var postShow = document.getElementById('postShow:' + obj);
	var postHide = document.getElementById('postHide:' + obj);
	var postBody = document.getElementById('postBody:' + obj);
	var postRatingControl = document.getElementById('postRatingControl:' + obj);
		
	header.className = 'postHeaderHidden';
	postShow.style.display = 'inline';
	postHide.style.display = 'none';
	new Effect.SlideUp(postBody,{duration:1});
	if (postRatingControl != null){
		new Effect.Fade(postRatingControl);
	}
}

function postInit(rating,obj,msg){
	var header = document.getElementById('postHeader:' + obj);
	//var ratingMsg = document.getElementById('postRatingMsg:' + obj);
	var postShow = document.getElementById('postShow:' + obj);
	var postBody = document.getElementById('postBody:' + obj);
	var postRatingControl = document.getElementById('postRatingControl:' + obj);
		
	if (rating == 0){
		header.className = 'postHeaderHidden';
		//ratingMsg.innerHTML = msg;
		postShow.style.display = 'inline';
		postBody.style.display = 'none';
		if (postRatingControl != null){
			postRatingControl.style.display = 'none';
		}
	}else{
		//ratingMsg.innerHTML = msg;
	}
}