function starActivate(id) {
	var div = document.getElementById(id);
	for(var i = 1; i <= 5; i++) {
		var index = i * 10;
		var star = document.createElement('img');
			star.src    = '/xtras/spacer.gif';
			star.width  = 18;
			star.height = 15;
			star.className = 'ui';
			star.id = index;
			star.onmouseover = function() { starOver(id, this.id); }
			star.onmouseout  = function() { starReset(id); }
			star.onclick     = function() { starClick(id, this.id); }
		div.appendChild(star);
		
		var bg = document.createElement('img');
			bg.src = '/xtras/ui/star_' + index + '.png';
	}
}
function starOver(id, i) {
	var div = document.getElementById(id);
	div.className = 'stars_' + i;
}
function starReset(id) {
	var div = document.getElementById(id);
	div.className = 'stars_00';
}
function starClick(id, index) {
	var div = document.getElementById(id);
	div.className = 'stars_' + index;
	var stars = div.getElementsByTagName('img');
	for(var i = 0; i < stars.length; i++) {
		var star = stars[i];
		star.onmouseover = null;
		star.onmouseout  = null;
		star.onclick     = null;
		star.className   = null;
	}
	document.getElementById('rate_' + id).value = index/10;
}
function previewEdit() {
	var edit    = document.getElementById('edit');
	var preview = document.getElementById('preview');
	edit.style.display = '';
	preview.style.display = 'none';
}
function previewReview() {
	var edit    = document.getElementById('edit');
	var preview = document.getElementById('preview');

	var rate_story  = !isNaN(parseInt($("input[@name='rate_story']").val())) ? parseInt($("input[@name='rate_story']").val()) : 0;
	var rate_art    = !isNaN(parseInt($("input[@name='rate_art']").val())) ? parseInt($("input[@name='rate_art']").val()) : 0;
	var rate_cover  = !isNaN(parseInt($("input[@name='rate_cover']").val())) ? parseInt($("input[@name='rate_cover']").val()) : 0;
	var user_rating = !isNaN(parseInt($("input[@name='user_rating']").val())) ? parseInt($("input[@name='user_rating']").val()) : 0;
	
	var r = user_rating == 0 ? Math.round((rate_story+rate_art+rate_cover)/3)*10 : user_rating*10;
	
	var rating = document.getElementById('rating_img');
	
	rating.src = '/xtras/ui/stars_' + r + '.png';
	
	var review_content = document.getElementById('review_content');
	var review = processReview(document.getElementById('content').value);
	
	if(rate_story == 0 || rate_art == 0 || rate_cover == 0) {
		alert("You haven't rated this item yet.");
	} else if(review != '') {
		edit.style.display = 'none';
		var match = new RegExp("spoiler");
		if(match.test(review)) {
			document.getElementById('spoilers').checked = true;
		}
	
		review_content.innerHTML = review;
		preview.style.display = '';
	} else {
		alert('Your review is empty.');
	}
}
function processReview(str) {
	str = str.replace(/(<([^>]+)>)/ig,"");
	str = str.replace(/\[b\]/g, "<b>");
	str = str.replace(/\[\/b\]/g, "</b>");
	str = str.replace(/\[i\]/g, "<i>");
	str = str.replace(/\[\/i\]/g, "</i>");
	str = str.replace(/\[u\]/g, "<u>");
	str = str.replace(/\[\/u\]/g, "</u>");
	str = str.replace(/\[spoiler\]/g, "<span id='spoiler' class='spoiler' onclick='displaySpoiler(this);'><span><b><a href='#'>CLICK TO SHOW SPOILER</a></b></span><span style='display:none;'><i>");
	str = str.replace(/\[\/spoiler\]/g, "</i></span></span>");
	str = str.replace(/\r?\n|\r/g, "<br />\n");
	return str;
}
function displaySpoiler(item) {
	var spans = item.getElementsByTagName('span');
	var link    = spans[0];
	var content = spans[1];
	item.removeChild(link);
	$(content).fadeIn();
	item.onclick = null;
	item.className = null;
}
function checkForSpoilers(item) {
	var match = new RegExp("[spoiler]");
	if(match.test(item.value)) {
		document.getElementById('spoilers').checked = true;
	}
}
function checkLimit(field,maxlimit,div) {
	var counter  = document.getElementById(div);
	//var maxlimit = 3000;
	if(field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit);
	} else {
		counter.innerHTML = maxlimit - field.value.length + ' chars remaining.';
	}
}
