function watchInit(id, showcmnt, embed) {
	cbId = id;
	suppressErrors();
	addDeleteListener(function(deleteId) {
		if (deleteId == id) {
			window.location = _AX + "/userHome.htm";
		}
	});
	initContext();
	//initURLVal();
	cellBlockController.getComments(id, {
			callback:populateComments
		});
	cellBlockController.getTags(id, {
			callback:populateTags
		});

	cellBlockController.getAverageRating(id, {
			callback:createAverageRating
		});
	cellBlockController.getMyRating(id, {
			callback:createMyRating
		});
	if (showcmnt == 1) {
		displayComment();
	}
}

function embedRightCol(embed){
	var right = getElement("right");
		killChildren(right);
	var lnk = embed;
	var html = ""
		html = embedInner(lnk);
	right.innerHTML = html;
}

function embedInner(lnk){
	var embed = '<div id="secondaryRight">';
		embed += '<table border="0" cellpadding="0" cellspacing="0">';
		embed += '<tr><td>Copy and paste this code into your website to embed this cellblock into your site:</td></tr>';
		embed += '<tr><td><textarea name="embed" style="width:230px;height:175px;margin:10px 0px;">';
		embed += lnk;
		embed += '</textarea>:</td></tr>';
		embed += '<tr><td><a href="#" onclick="previousRightSearch();"><< Back</a></td></tr>';
	return embed;
}

function populateComments(data) {
	var comments = getElement("commentList");
	comments.setAttribute("align", "center");
	killChildren(comments);
	for (var i = 0; i < data.length; ++i) {
		var comment = data[i];
		var userName = comment.USER;
		createCommentBlock(comments, userName, comment.COMMENT, comment.CREATED);
	}
}

function createCommentBlock(comments, userName, bodyText, created){
	var head = _div("commentHead");
	var a = _a("userHome.htm?id=" + userName, userName);
	head.appendChild(a);
	head.appendChild(textNode(" " + created));
	comments.appendChild(head);
	var bdy=_div("commentBody");
	
	var txt = smileyEscape(bodyText);
	bdy.appendChild(textNode(txt));	
	comments.appendChild(bdy);
}

function populateTags(data) {
	var tags = getElement("tagsData");
	killChildren(tags);
	
	if( data.length > 0 ){
		tags.style.display = "block";
		tags.innerHTML = "<strong>Tags:</strong> ";
	}
	for (var i = 0; i < data.length; ++i) {
		var t = data[i];
		var a = _a(_AX + "/searchResults.htm?txt="+t.TEXT+"&type=tag&index=0", t.TEXT);
		tags.appendChild(a);
		tags.appendChild(textNode("  "));
	}
}

function displayComment(){
	var newComment = getElement("commentDiv");
	var comment = '<div id="newComment">';
		comment += '<textarea id="commentText" wrap="virtual" rows="4" maxlength="500"></textarea>';
		comment += '<input type="button" value="Post" id="commentButton" onClick="postComment();"> ';		
		comment += '<input type="button" value="Cancel" id="commentButton" onClick="hideComment();">';
		comment += '</div>'
	newComment.innerHTML = comment;	
}

function hideComment(){
	var commentDiv = getElement("commentDiv");
		killChildren(commentDiv);
}

function postComment(){
	var txt = getElement("commentText").value;
	cellBlockController.postComment(cbId, txt, function(data) {
		cellBlockController.getComments(cbId, {
			callback:populateComments
		});
	});
	hideComment();
}

function createSubmitRating(rating){
	return function(){submitRating(rating)};
}

function submitRating(rating){
	createMyRating(rating);
	cellBlockController.setMyRating(cbId, rating, dispAvg);
}

function dispAvg() {
	cellBlockController.getAverageRating(cbId, {
			callback: createAverageRating
		});

}

function createAverageRating(rating){
	var rateDiv = getElement("avRate");
	if(rateDiv != null){
		killChildren(rateDiv);		
		rateDiv.appendChild(createStaticStars(rating));
	}
}

function createMyRating(rating){
	var rateDiv = getElement("myRate");
	if(rateDiv != null){
		killChildren(rateDiv);
		rateDiv.appendChild(createDynamicStars(rating));	
	}
}

function createStaticStars(rating){
	var div = _div("staticStars");
	var halfMarker = 0;
	if(rating / Math.floor(rating) > 1){
		halfMarker = Math.floor(rating) + 1;
	}
	
	for(var i=1; i <= 5; i++){
		var img;
		if(i <= rating && i != halfMarker){
			img = image("rating/fullStar_14x14.png");
			
		}
		else if(i == halfMarker){
			img = image("rating/halfStar_14x14.png");
		}
		else{
			img = image("rating/emptyStar_14x14.png");
		}
		div.appendChild(img);
	}
	
	return div;
}

function createDynamicStars(rating){
	var div = _div("dynamicStars");
	for(var i=1; i <= 5; i++){
		var img;
		if(i <= rating){
			img = image("rating/fullStar_14x14.png");
		}
		else{
			img = image("rating/emptyStar_14x14.png");
		}
		img.setAttribute("id", "rateStar");
		img.onclick = createSubmitRating(i);
		div.appendChild(img);
	}
	
	return div;
}

function initURLVal(){
	var url = getElement("urlVal");
	url.value = window.location.href;
}

function showMyRating(pass){
	if( pass != "" ){
		var avRating = getElement("avRate");
		avRating.style.display = "none";
		var myRating = getElement("myRate");
		myRating.style.display = "block";
		
		overlib('Rate this Cellblock');
	}
}

function hideMyRating(pass){
	if( pass != "" ){
		var myRating = getElement("myRate");
		myRating.style.display = "none";		
		var avRating = getElement("avRate");
		avRating.style.display = "block";
	}
	
	nd();
}