/* ****************************************** 
 
  TITLE:        NBC_COMMENTS.JS
  VERSION:      1.53
  LAST UPDATED: 09/16/2009 
  UPDATED BY:  Viktoriya Eremeeva
  CONTENTS:

 @release 2009-10-15 - vicky

******************************************  */

/* commenting for Gallery */
/* retrieve comments on show more */

var selectedPage = 0;
var commPerPage = nbc.cmts.commPerPage;
// commPerPage = 5; // for test
var firstRetrieveComms = $("#allmessages2").text();              
var jsonComms = eval('('+firstRetrieveComms+')');
var totalComms = jsonComms.totSize;
var totalPages = jsonComms.totPages;

// subscribe to user updates
NBC_EventManager.subscribe('user.login', this, 'updateUserLoginInfo');  
NBC_EventManager.subscribe('user.logout', this, 'updateUserLoginInfo');   


function updateUserLoginInfo() {
  if (user.isLoggedIn()) { 
    $("#loginUserName").text(user.userName); 
  }
  else { // logged out
    $("#loginUserName").text(""); 
  }
}

 $(document).ready(function() {
     
	$("#post_comm").click(function(){    
	     $("#commentTxtArea").focus();
	});
	$("#video_comm_number").click(function(){    
	    $("#commentTxtArea").focus();
	});
 }); 
 
 /* jump to the pagination line after ajax call */
function jumpScroll() {
//var offsetTop = document.getElementById('hiddenFocusForNumCommRR').offsetTop;
//U.log("offsetTop ");
 //window.scroll(0,offsetTop + 350); // horizontal and vertical scroll targets 
 return false;
}

function getUsername() {
   // focus on textarea
   $("#commentTxtArea").focus();    
   $("#userName").text(user.userName); 
}

function storedEventFiredPlace() {
       nbc.omniture.firedRegistration="Comment"; 
       nbc.submissionType = "comment";
       G.doPixelTracking(35);
    }

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i < ca.length; i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') {
        c = c.substring(1,c.length);
      }
      if (c.indexOf(nameEQ) == 0) {
        return c.substring(nameEQ.length,c.length);
      }
    }
    return null;
}
  
function validatePageNum(currvalue) {
    var regex = /^[1-9][0-9]{0,}$/;
    if (currvalue.match(regex)) {
        return true;
    }
else return false;
}
 

/* load first comments */
$(document).ready(function() { 
  $("#pagenum").val("1");   
  loadFirstComms();
});

var cmtsCc = new NBC_CharCounter();
cmtsCc.init({
  objName: "cmtsCc",
  maxLength: nbc.cmts.commMaxLength,
  textAreaId: 'commentTxtArea',
  charLimitFieldId: 'charLimit',
  charLimitTextFieldId: 'charLimit' 
});

/* insert comments for first page based on sorting order */
function loadFirstComms() {
  var numberChars = nbc.cmts.numberChars;   
  var totalFirstComms = nbc.cmts.commOnFirstPage;
 // var totalFirstComms = 2; for test total first comms set to 2
  var firstComms = $("#allmessages2").text();
  var jsonFirstComms = eval("("+firstComms+")");
  if (jsonFirstComms.status == -1) {
	  U.log("jsonFirstComms.status "+jsonFirstComms.status);
  }
  else {
	  if (jsonFirstComms.results.length == 0) { U.log("jsonFirstComms.results.length "+jsonFirstComms.results.length); }
	  else {		  
		  var totalComments = parseInt(jsonFirstComms.totSize);
		  if ((jsonFirstComms.totSize) && (totalComments)) {
		      $(".numcomms").html("");
		      $(".numcomms").html(totalComments);
		      $("#right_numcomms").html("");
		      $("#right_numcomms").html(totalComments);
		  }
		  else {
		     $(".numcomms").html("0");
		     $("#right_numcomms").html("0");
		  }
		  var totPages = jsonFirstComms.totPages;
		  $("#totpages").text(totPages);
		  $("#allmessages3 ul").text(""); 
		  U.log("totalComm "+totalComments);
		  if (totalComments == 0)  {
		      $("#noCommentsPosted").show();
		      }
		   else {
		      $("#noCommentsPosted").hide();
		   }
		   if ((totalComments == 0) || (totalComments <= totalFirstComms))  {
		          $("#showNext").hide();
		      } // no see more if num comments set to 0
		    if (totalComments > totalFirstComms)  {
		        $("#showNext").css("display","block");
		    }    
		    else {
		       $("#showNext").css("display","none");
		    }          
		  if (totalComments > 0) {
			 
		    if (totalComments == 1) {
		      totalFirstComms = totalComments;
		    }  
		    if (totalComments < totalFirstComms) {
		    	totalFirstComms = totalComments;
		    }
		    var postedTimestamp="";
		    for (i=0; i< totalFirstComms; i++) {
		      postedTimestamp = convertDate(jsonFirstComms.results[i].createdAt);
		      // user profile link: /user/profile?uid="+jsonFirstComms.results[i].createdBy+"
		      var userNameRetrieved = jsonFirstComms.results[i].createdByUsername;
		      if (jsonFirstComms.results[i].createdByUsername == "anonymous_user") {
		          userNameRetrieved = "anonymous";
		        }
		      else if  (userNameRetrieved.match("fb_")  || userNameRetrieved.match("1000000")){
		    	  userNameRetrieved = "Facebook User";
		       }
		   
		      var wholeCommentsBody = getCommentText(jsonFirstComms.results[i].body);
		      var commentBody = U.truncatedString(wholeCommentsBody, numberChars);
		      var indexOfLastLetter = commentBody.length;
		      var contMediaId = nbc.cmts.contentId;
		      var editLink="javascript:void(0)";
		      var mediaIdComm = jsonFirstComms.results[0].mediaId;
		      if ($("#fbSectionName").text().match('somycity')) {
		    	  contMediaId = $("#currMediaId").text();
		    	  editLink = "http://affiliate.kickapps.com/affiliate/media/displayMediaSearchResults.kickAction?STATUS=MAIN&redMediaType=blog&redMediaId="+ contMediaId+ "&redASId="+nbc.cmts.kaasid;
			  }
		      else {
		    	  editLink = "http://affiliate.kickapps.com/affiliate/media/displayMediaSearchResults.kickAction?STATUS=MAIN&redMediaType=EXTERNALMEDIA&redMediaId="+ mediaIdComm+ "&redASId="+nbc.cmts.kaasid;
		      }
              var lengthOfComm = commentBody.length;
		      if ((commentBody.length >  numberChars) || (commentBody.substring(lengthOfComm-3, lengthOfComm) == "..."))  {
		      $("#allmessages3 ul").append("<li class='comment clearfix'><span class='comment_user_time'><span class='comment_by'><a href='/user/profile/?uname="+jsonFirstComms.results[i].createdByUsername+"&uid="+jsonFirstComms.results[i].createdBy+"'>"+userNameRetrieved+"</a></span>&nbsp;</span><span class='commentbody clearfix'>"+commentBody+"<a class='showMoreComm' onclick='javascript: showCommentsOnMore(this);' href='javascript: void(0)'> more</a></span><span class='commentbody clearfix wholecomment' style='display:none;'>"+wholeCommentsBody+"</span><span class='comment_posttime'>"+postedTimestamp+"</span><span class='flag'><a class='redlinksm' id="+jsonFirstComms.results[i].commentId +" href='#' onclick='javascript:flagComm(this); return false;'></a></span>&nbsp;<div class='commentAdmin' style='display:none;'><a href='javascript:void(0);' onclick='rejectComment(this, \""+jsonFirstComms.results[i].commentId+"\", \""+contMediaId+"\", \"" + mediaIdComm + "\")' style='display: none;' class='rejectCommentLink'>Reject</a><a href='"+ editLink+ "' class='editCommentLink' target='_blank'>Edit</a><div class='commentAdminMsg' style='visibility: hidden;'></div></div></li>");
		      }
		      else {
		          $("#allmessages3 ul").append("<li class='comment clearfix'><span class='comment_user_time'><span class='comment_by'><a href='/user/profile/?uname="+jsonFirstComms.results[i].createdByUsername+"&uid="+jsonFirstComms.results[i].createdBy+"'>"+userNameRetrieved+"</a></span>&nbsp;</span><span class='commentbody clearfix'>"+commentBody+"</span><span class='comment_posttime'>"+postedTimestamp+"</span><span class='flag'><a class='redlinksm' id="+jsonFirstComms.results[i].commentId +" href='#' onclick='javascript:flagComm(this); return false;'></a></span>&nbsp;<div class='commentAdmin' style='display:none;'><a href='javascript:void(0);' onclick='rejectComment(this, \""+jsonFirstComms.results[i].commentId+"\", \""+contMediaId+"\", \"" + mediaIdComm + "\")' style='display: none;' class='rejectCommentLink'>Reject</a><a href='"+ editLink+ "' class='editCommentLink' target='_blank'>Edit</a><div class='commentAdminMsg' style='visibility: hidden;'></div></div></li>");  
		      }
		      U.log(""+user.isEditor());
		      if (user.isEditor()) {
		    	  $("#allmessages3 ul").find("li").each(function(elem) {
		    		  U.log("in ul");
			      U.log($(elem).find(".commentAdmin").attr("class"));
			      $(elem).find(".commentAdmin").css("display","block");
			      $(elem).find(".rejectCommentLink").css("display","block");
		    	  });
			 }
		    }
		    
		  } 
	  }
  }
} 

function showMore(elem) {
  var totalFirstComms = nbc.cmts.commOnFirstPage;
 // totalFirstComms = 2;  //for test total first comms set to 3
  var oldestFrst = 'T';
  $("#noCommentsPosted").hide();
  if (elem.id=="recent") {
    $(elem).removeClass('comment_time');
    $(elem).addClass('comment_time_on');
    if ( $(elem).hasClass('comment_time_on')) {
            $(elem).css("background-image","url(http://"+nbc.cmts.mediaDomain+"/designimages/comm_recent_black.gif)");
    }
    $("#commentOrder #oldest").removeClass('comment_time_on');
    $("#commentOrder #oldest").addClass('comment_time');
    if ( $("#commentOrder #oldest").hasClass('comment_time')) {
        $("#commentOrder #oldest").css("background-image","url(http://"+nbc.cmts.mediaDomain+"/designimages/comm_oldest_gray.gif)");
    }
    oldestFrst = 'F';
  }
  else if (elem.id=="oldest") {
    $(elem).removeClass('comment_time');
    $(elem).addClass('comment_time_on');
    if ( $(elem).hasClass('comment_time_on')) {
        $(elem).css("background-image","url(http://"+nbc.cmts.mediaDomain+"/designimages/comm_oldest_black.gif)");
    }
    $("#commentOrder #recent").removeClass('comment_time_on');
    $("#commentOrder #recent").addClass('comment_time');
    if ( $("#commentOrder #recent").hasClass('comment_time')) {
       $("#commentOrder #recent").css("background-image","url(http://"+nbc.cmts.mediaDomain+"/designimages/comm_recent_gray.gif)");
    }
    oldestFrst = 'T';
  }
 
  var commPerPage = nbc.cmts.commPerPage;

  var dataString1="action=get"+nbc.cmts.getStaticParams()+"&pageNumber=1&totalSize=0&pageSize="
      +commPerPage+"&sortOldestFirst="+oldestFrst;
  var urlpost1='/i/dispatcher/?h=comments';
  $.ajax({
    type: "POST",
    url: urlpost1,
    data: dataString1,
    dataType: "text",
    cache: false,
    async: false,
    success: function(data){
    var jsonFirstComms = eval("("+data+")");
    $("#allmessages2").text("");
    $("#allmessages2").text(data);
    loadFirstComms();
    $("#allmessages3").css("display","block");
    $("#allmessages4 ul").text("");
    $(".showMore").css("display","block");
    $(".pagination").css("display","none");
  }
  });
}            

function flagComm(elem) {
  var commId =elem.id;
  if (!$("#"+commId).parent().hasClass("posted")) {
      var flagString="action=flag&token="+user.token+"&commentId="+commId;
      var urlpostflag="/i/dispatcher/?h=comments";
      jQuery.ajax({
        type: "POST",
        url: urlpostflag,
        data: flagString,
        success: function(data){
      //  alert("flag was posted.");
            if ($(elem).parent().parent().parent().parent().attr("id") == "right_allmessages3") {
                $("#article_comments #"+commId).parent().addClass("posted");
                $("<p  class='commentflagged'>This comment has been flagged for moderation.</p>&nbsp;").insertAfter("#article_comments #"+commId+"");
                $("#article_comments #"+commId).hide();

                 $("#right_comment_block #"+commId).parent().addClass("posted");
                $("<p  class='commentflagged'>FLAGGED IT</p>&nbsp;").insertAfter("#right_comment_block #"+commId+"");
                $("#right_comment_block #"+commId).hide();
            }
            else {
              $("#article_comments #"+commId).parent().addClass("posted");
                $("<p  class='commentflagged'>This comment has been flagged for moderation.</p>&nbsp;").insertAfter("#article_comments #"+commId+"");
                $("#article_comments #"+commId).hide();

                 $("#right_comment_block #"+commId).parent().addClass("posted");
                $("<p  class='commentflagged'>FLAGGED IT</p>&nbsp;").insertAfter("#right_comment_block #"+commId+"");
                $("right_comment_block #"+commId).hide();
            }
      },
      error: function() {
        //alert("ajax call failed.");
      }
      });
  }
}


function showData(elem, currvalue) {
  var numberChars = nbc.cmts.numberChars;
  U.log(elem.id+" "+currvalue);
  var currelem=currvalue;
  var firstRetrieveComms1 = $("#allmessages2").text();              
  var jsonComms1 = eval('('+firstRetrieveComms1+')');
  var numComms = jsonComms1.results[0].numComments;
  var oldestFirst='T';
  if ($("#recent").hasClass('comment_time')) {
    oldestFirst = 'T';
  }
  if ($("#oldest").hasClass('comment_time')) {
    oldestFirst = 'F';
  }
  var dataString1="action=get" + nbc.cmts.getStaticParams() + "&pageNumber="+currelem +"&totalSize="+totalComms+"&pageSize="+commPerPage+"&sortOldestFirst="+oldestFirst;
  var urlpost1='/i/dispatcher/?h=comments';
  jQuery.ajax({
    type: "GET",
    url: urlpost1,
    data: dataString1,
    dataType: "text",
    cache: false,
    async: false,
    success: function(data){
    var jsonComms = eval("("+data+")");
    $("#allmessages4 ul").text("");
    var numComments = jsonComms.results[0].numComments;
    var postedTimestamp;
    for (var i=0; i< numComments; i++) {
        postedTimestamp = convertDate(jsonComms.results[i].createdAt);
        // link for user profile: /user/profile?uid="+jsonComms.results[i].createdBy+"
        var userNameRetrievedData = jsonComms.results[i].createdByUsername;
        if (jsonComms.results[i].createdByUsername == "anonymous_user") {
          userNameRetrievedData = "anonymous";
        }  
        else if  (userNameRetrievedData.match("fb_")  || userNameRetrievedData.match("1000000")){
          userNameRetrievedData = "Facebook User";
         }
        var wholeCommentsBody = getCommentText(jsonComms.results[i].body);
        var commentBody = U.truncatedString(wholeCommentsBody, numberChars);
        var indexOfLastLetter = commentBody.length;
        var contMediaId = nbc.cmts.contentId;
        var editLink="javascript:void(0)";
        var mediaIdComm = jsonComms.results[0].mediaId;
        if ($("#fbSectionName").text().match('somycity')) {
        	  contMediaId = $("#currMediaId").text();
        	  editLink = "http://affiliate.kickapps.com/affiliate/media/displayMediaSearchResults.kickAction?STATUS=MAIN&redMediaType=blog&redMediaId="+ contMediaId+ "&redASId="+nbc.cmts.kaasid;
    	  }
        else {
      	  editLink = "http://affiliate.kickapps.com/affiliate/media/displayMediaSearchResults.kickAction?STATUS=MAIN&redMediaType=EXTERNALMEDIA&redMediaId="+ mediaIdComm+ "&redASId="+nbc.cmts.kaasid;
        }
         if ((commentBody.length >  numberChars) || (commentBody.substring(indexOfLastLetter, indexOfLastLetter) == "..."))  {	  
            jQuery("#allmessages4 ul").append("<li class='comment clearfix'><span class='comment_user_time'><span class='comment_by'><a href='/user/profile/?uname="+jsonComms.results[i].createdByUsername+"&uid="+jsonComms.results[i].createdBy+"'>"+userNameRetrievedData+"</a></span>&nbsp;</span><span class='commentbody clearfix'>"+commentBody+"<a class='showMoreComm' onclick='javascript: showCommentsOnMore(this);' href='javascript: void(0)'> more</a></span><span class='commentbody clearfix wholecomment' style='display:none;'>"+wholeCommentsBody+"</span><span class='comment_posttime'>"+postedTimestamp+"</span><span class='flag'><a class='redlinksm' id="+jsonComms.results[i].commentId +" href='#' onclick='javascript:flagComm(this); return false;'></a></span>&nbsp;<div class='commentAdmin' style='display:none;'><a href='javascript:void(0);' onclick='rejectComment(this, \""+jsonComms.results[i].commentId+"\", \""+contMediaId+"\", \"" + mediaIdComm + "\")' style='display: none;' class='rejectCommentLink'>Reject</a><a href='"+ editLink+ "' class='editCommentLink' target='_blank'>Edit</a><div class='commentAdminMsg' style='visibility: hidden;'></div></div></li>");
          }
          else {
              jQuery("#allmessages4 ul").append("<li class='comment clearfix'><span class='comment_user_time'><span class='comment_by'><a href='/user/profile/?uname="+jsonComms.results[i].createdByUsername+"&uid="+jsonComms.results[i].createdBy+"'>"+userNameRetrievedData+"</a></span>&nbsp;</span><span class='commentbody clearfix'>"+commentBody+"</span><span class='comment_posttime'>"+postedTimestamp+"</span><span class='flag'><a class='redlinksm' id="+jsonComms.results[i].commentId +" href='#' onclick='javascript:flagComm(this); return false;'></a></span>&nbsp;<div class='commentAdmin' style='display:none;'><a href='javascript:void(0);' onclick='rejectComment(this, \""+jsonComms.results[i].commentId+"\", \""+contMediaId+"\", \"" + mediaIdComm + "\")' style='display: none;' class='rejectCommentLink'>Reject</a><a href='"+ editLink+ "' class='editCommentLink' target='_blank'>Edit</a><div class='commentAdminMsg' style='visibility: hidden;'></div></div></li>");
          }

          U.log(""+user.isEditor());
          if (user.isEditor()) {
        	  $("#allmessages4 ul").find("li").each(function(elem) {
    	      $(elem).find(".commentAdmin").css("display","block");
    	      $(elem).find(".rejectCommentLink").css("display","block");
        	  });
    	  }
    }     
    /* after call , DOM updates */
    if (elem.id == 'previouspg') {
      if (currelem <= 1) { $("#previouspg").css("display","none"); $("#pagenum").val("1"); }
      else {
        $("#pagenum").val(currelem);
      }
    }
    if (elem.id == 'nextpg') {
        U.log("in next");
      if (currelem > totalPages) { $("#nextpg").css("display","none"); }
      else { $("#pagenum").val(currelem); }
    }              
    if (currelem < totalPages) {
     
      $("#nextpg").css("display","inline");
      //alert("javascript:showData(this,"+nextclicked+")");
    /*  $("#nextpg").bind("click", function(event) {
          if( event.stopPropagation ) { event.stopPropagation(); } //For 'Good' browsers
          else { event.cancelBubble = true; } //For IE

        var nextclicked = parseInt(currelem) + 1;
        // var elem1 = $("#nextpg");
        showData(this, nextclicked);
        U.log("nextclicked "+nextclicked+" first if");
        return false;
      }); */
      var nextclicked = parseInt(currelem) + 1;
      var s3 = document.getElementById("nextpg");
      
      if(jQuery.browser.msie){
          s3.setAttribute('onclick', function() {
              showData(this,nextclicked); 
              return false;
          })
      }
      else {
          s3.setAttribute('onclick', 'showData(this,'+nextclicked+')');
      }    
          
      if ((currelem > 1) && (currelem < totalPages)) {
         // alert("in current cuurelem");
        $("#previouspg").css("display","inline");
        
      /*(  $("#previouspg").bind("click", function(event) {
             if( event.stopPropagation ) { event.stopPropagation(); } //For 'Good' browsers
              else { event.cancelBubble = true; } //For IE

            var prevclicked = parseInt(currelem) - 1;
            // var elem1 = $("#previouspg");
            showData(this, prevclicked);
            U.log("prevclicked "+prevclicked);
            return false;
        }); */
        var prevclicked = parseInt(currelem) - 1;
        var s2 = document.getElementById("previouspg");
        if(jQuery.browser.msie){
            s2.setAttribute('onclick', function() {
              showData(this,prevclicked); 
              return false;
             })
        }
        else {
            s2.setAttribute('onclick', 'showData(this,'+prevclicked+')');
        }    
        // s2.setAttribute('onclick',"javascript:showData(this,"+prevclicked+"); return false;");
        //$("#previouspg").attr("onclick","javascript:showData(this,"+prevclicked+"); return false;");
      }
      else if ((currelem <= 1) && (currelem < totalPages))  {
         // alert("in curr else");
        $("#previouspg").css("display","none");
        //$("#previouspg").removeAttr("onclick");
       /* var nextclicked = parseInt(currelem) + 1;
        $("#nextpg").css("display","inline");
        $("#nextpg").click(function(event) {
            //alert("in click");
            showData(elem, nextclicked);
            U.log("nextclicked "+nextclicked+" last if");
            return false;
        }); */
     //   $("#nextpg").attr("onclick","javascript:alert('hello'); return false;");
        var s = document.getElementById("nextpg");
        var nextclicked1 = parseInt(currelem) + 1;
       // s.addEventListener('onclick',"javascript:showData(this,"+nextclicked1+"); return false;");
       //s.setAttribute('onclick',"javascript:showData(this,"+nextclicked1+"); return false;");
       if(jQuery.browser.msie){
           s.setAttribute('onclick', function() {
              showData(this,nextclicked1); 
              return false;
           })
       }
       else {
           s.setAttribute('onclick', 'showData(this,'+nextclicked1+')');
       }
        //$("#nextpg").attr("onclick","javascript:showData(this,"+nextclicked+"); return false;");
      }
    }
    else if ((currelem == totalPages) && (currelem>1)) {
      $("#previouspg").css("display","inline");
     /* $("#previouspg").bind("click", function(event) {
          if( event.stopPropagation ) { event.stopPropagation(); } //For 'Good' browsers
          else { event.cancelBubble = true; } //For IE

        var prevclicked = parseInt(currelem) - 1;
        //var elem1 = $("#previouspg");
        showData(this, prevclicked);
        U.log("prevclicked "+prevclicked);
        return false;
      }); */
      var prevclicked2 = parseInt(currelem) - 1;
      var s1 = document.getElementById("previouspg");
      if(jQuery.browser.msie){
          s1.setAttribute('onclick', function() {
              showData(this,prevclicked2); 
              return false;
          })    
      }
      else {
          s1.setAttribute('onclick', 'showData(this,'+prevclicked2+')');
      }
     // s1.setAttribute('onclick',"javascript:showData(this,"+prevclicked2+"); return false;");
      //$("#previouspg").attr("onclick","javascript:showData(this,"+prevclicked+"); return false;");
      $("#nextpg").css("display","none");
      $("#nextpg").removeAttr("onclick");  
    }
    else {
    }
    if (totalPages == 1) {
      $("#nextpg").css("display","none");
      $("#prevouspg").css("display","none");
    }
  },
  error: function() {
      $("#commentsForm").css("opacity","1");     
      $("#processing_comm").hide();
   // alert("ajax call failed.");
  }
  });  

  if (elem.id=="showData1") { 
    /* hide comments onload */
    $("#allmessages3").hide();
    $(".showMore").hide();
    /* if total pages > 1, add pagination */
    $(".pagination").show();
  }
}

function postToFacebook(commentTxt, isMoment, isBlog) {
$("#commentsForm").css("opacity","0.5");    
$("#processing_comm").show(); 
// publish to Facebook
var bundleIId = $("#commentBundleId").text();
  var templateData = {};
  U.log(isMoment);

  
  if ((isMoment == false) && (isBlog == false)) {
    templateData.content_url = nbc.fbparams.contentUrl; 
    templateData.content_title = nbc.fbparams.contentTitle;  
    var imagesArray ={};
    var imagesArray2 ={};
    imagesArray2["src"]=nbc.fbparams.contentThumbUrl;
    imagesArray2["href"]=nbc.fbparams.contentUrl;
    imagesArray[0]= imagesArray2;
    templateData.images=imagesArray;
    templateData.site_url = "http://" + nbc.domain;
    templateData.site_name = nbc.brand;
    templateData.comment = commentTxt;
    U.log(templateData.thumb_url+" "+templateData.thumb_content_url);
  }
  else if  ((isMoment == true) && (isBlog == false)) {
    var mediaId = $("#currMediaId").text();
    U.log(nbc.mediaDomain+"/designimages/nbc_moment_so_"+nbc.siteKey+".gif");
    var imagesArray={};
    var imagesArray2={};
    imagesArray2["src"]= nbc.mediaDomain+"/designimages/nbc_moment_so_"+nbc.siteKey+".gif";
    imagesArray2["href"]=nbc.fullDomain+ "/somycity/?mediaId=" + mediaId+"&userName="+$('#momentUserNameForFB').text()+"&userId="+$('#momentUserIdForFB').text();
    U.log(imagesArray2['src']+" "+imagesArray2['href']);
    imagesArray[0]= imagesArray2;
    templateData.images=imagesArray;
    templateData.content_url = nbc.fullDomain + "/somycity/?mediaId=" + mediaId+"&userName="+user.userName+"&userId="+user.userId;
    U.log($("#momentTextRetrieved").text());
    templateData.content_title = U.truncatedString($("#momentTextRetrieved").text(), 65);
    templateData.site_url = nbc.fullDomain + nbc.domain+"/somycity";
    templateData.site_name = nbc.soMyCityBrand;
    templateData.comment = commentTxt;
    U.log(templateData.thumb_content_url+" "+templateData.content_url+" "+templateData.content_title+" "+templateData.site_url+" "+templateData.site_name);
  }
  else if ((isMoment == false) && (isBlog == true)) {
     /* BLOG template data */
  }
  else {}
      
      // alert("publish "+bundleId);
      facebook_publish_feed_story(nbc.fbparams.bundleId, templateData);
      
      $("#commentsForm").css("opacity","1");     
      $("#processing_comm").hide(); 
}

/** 
 * Given a date in GMT format "19 Aug 2009 14:50:10 GMT", 
 * convert to "10:50 AM, 8.19.09" 
 */
function convertDate(elem) {
  if (!elem) {
    return "";
  }
  var tmpDate = new Date();
  tmpDate.setTime(Date.parse(elem));
  
  var hours = tmpDate.getHours();
  var ampm = ((hours >= 12) ? " PM" : " AM");
  hours = ((hours == 0) ? "12" : (hours > 12) ? hours - 12 : hours);
  var mins = tmpDate.getMinutes();
  if (mins < 10) { mins = "0" + mins; }
  var time_holder = hours + ":" + mins + ampm; // 10:50 AM
  var date_holder = (tmpDate.getMonth()+1) + "." + tmpDate.getDate() + "." + new String(tmpDate.getFullYear()).substring(2,4); // 8.19.09
  
  var convertedFormat = time_holder + ", " + date_holder;
  return convertedFormat;
}
 
$(document).ready(function() {
     $("#pageDetailRight .comments_text").find("a:first").mouseover(function () {
         $("#pageDetailRight .num_comm_block").addClass("hover");
     });
     $("#pageDetailRight .comments_text").find("a:first").mouseout(function () {
         $("#pageDetailRight .num_comm_block").removeClass("hover");
     });
});
 
$(document).ready(function() {
    $("#pagenum").change(function(event){
        var currvalue = this.value;
      
          if (validatePageNum(currvalue)==true) {
            if (currvalue <= totalPages) {
              showData(this,currvalue);
              $("#pagenum").focus();
            //  alert(currvalue);
            }
          }
          if(jQuery.browser.msie){
            event.stopImmediatePropagation();
          }  
        return false;
      }); 
});
 
 
 
$(document).ready(function() {
  $("#submit_btn").click(function(event){
	  U.log("in post comment");
      var numberChars = nbc.cmts.numberChars;
      U.log("userName "+ user.userName);
     var userNameId = "";
      if ((user.userName) && (user.userName != "")) {
         
           var commtext = $("textarea#commentTxtArea").val();
           if (commtext == "") {
             // $("label#email_error").show();
             $("textarea#commentTxtArea").focus();
           }
           
           var isAnonPost = false;
           if ($("#anonimId_button").attr("checked")) {
             isAnonPost = true;
             U.log("comments: Anonomous post");
             userNameId = "&anon=y";
           }
           else {
             U.log("comments: Posting as logged-in user");
           }
           U.log(escape(commtext));
           if (commtext != "") {
              $("#commentsForm").css("opacity","0.5");  
              $("#processing_comm").show();     
           }
           if (  isAnonPost ==false )      {
        	   userNameId = "&commenterUserId="+user.userId+"&commenterUserName="+user.userName;
          }
           U.log("posted comm "+escape(commtext));
           var dataString = "action=add"+nbc.cmts.getStaticParams(isAnonPost)+"&comment=" + escape(commtext)+userNameId;
           urlpost='/i/dispatcher/?h=comments';
          $.ajax({
             type: "POST",
             url: urlpost,
             data: dataString,
             dataType: "text",
             success: function(data){
              $("#respondText").val($.trim(data));
              var resText = $("#respondText").val();
                 var jsonObj = eval('('+resText+')');
               U.log(jsonObj.ka.status);
                  if (jsonObj.ka.status == "-1") {
                     if (jsonObj.ka.error == "Sorry we were not able to post your comment.")  {
                         $("#commErrorMess").text("");
                         $("#commErrorMess").text(jsonObj.ka.error);
                         $("#commErrorMess").show();
                         $("#commentsForm").css("opacity","1");     
                         $("#processing_comm").hide();  
                    }
                     else  if (jsonObj.ka.error == "There was an error with your request. Please try again later.")  {
                         $("#commErrorMess").text("");
                         $("#commErrorMess").text(jsonObj.ka.error);
                         $("#commErrorMess").show();
                         $("#commentsForm").css("opacity","1");     
                         $("#processing_comm").hide();  
                    }
                 }
                else {
                   $("#noCommentsPosted").hide();
                   $("#commErrorMess").text("");
                   var successPostMess = "Your comment has been received and will be posted momentarily. There is no need to resubmit.";
                   $("#commErrorMess").text(successPostMess);
                   $("#commentTxtArea").val("");
                   $("#userName").val("");
                   nbc.submissionType = "comment";
                   if (isAnonPost==false) G.doPixelTracking(36);
                   else  G.doPixelTracking(32);	  
                }
                     var placeToAdd = "allmessages4";
                     if ($(".pagination").css("display") == "none") {
                       placeToAdd = "allmessages3";
                     }
                 
                var postedTimestamp = convertDate(jsonObj.ka.comments[0].createdAt);  
                // link for profile: /user/profile?uid="+jsonObj.ka.comments[0].fromUserId+"
                var userNamePost = jsonObj.ka.comments[0].username;
                if (jsonObj.ka.comments[0].username == "anonymous_user") {
                    userNamePost = "anonymous";
                } 
                else if  (userNamePost.match("fb_")  || userNamePost.match("1000000")){
                	userNamePost = "Facebook User";
                   }
                var wholeCommentsBody = getCommentText(jsonObj.ka.comments[0].body);
                var commentBody = U.truncatedString(wholeCommentsBody, numberChars);
                var indexOfLastLetter = commentBody.length;
                if ((commentBody.length >  numberChars) || (commentBody.substring(indexOfLastLetter-3, indexOfLastLetter) == "..."))  {
                  $("#"+placeToAdd+"  ul").append("<li class='comment clearfix'><span class='comment_user_time'><span class='comment_by'><a href='/user/profile/?uname="+jsonObj.ka.comments[0].username+"&uid="+jsonObj.ka.comments[0].fromUserId+"'>"+userNamePost+"</a></span>&nbsp;</span><span class='commentbody clearfix'>"+commentBody+"<a class='showMoreComm' onclick='javascript: showCommentsOnMore(this);' href='javascript: void(0)'> more</a></span><span class='commentbody clearfix wholecomment' style='display:none;'>"+wholeCommentsBody+"</span><span class='comment_posttime'>"+postedTimestamp+"</span><span class='flag'><a class='redlinksm' id="+jsonObj.ka.comments[0].messageId +" href='#' onclick='javascript:flagComm(this); return false;'></a></span>&nbsp;</li>");
                }
                else {
                     $("#"+placeToAdd+"  ul").append("<li class='comment clearfix'><span class='comment_user_time'><span class='comment_by'><a href='/user/profile/?uname="+jsonObj.ka.comments[0].username+"&uid="+jsonObj.ka.comments[0].fromUserId+"'>"+userNamePost+"</a></span>&nbsp;</span><span class='commentbody clearfix'>"+commentBody+"</span><span class='comment_posttime'>"+postedTimestamp+"</span><span class='flag'><a class='redlinksm' id="+jsonObj.ka.comments[0].messageId +" href='#' onclick='javascript:flagComm(this); return false;'></a></span>&nbsp;</li>");   
                }
                
                var currNumComms = parseInt($("#comment_show .numcomms").html());
                ++currNumComms;
                $("#comment_show .numcomms").html("");
                $("#comment_show .numcomms").html(currNumComms);
                $("#showNext .numcomms").html("");
                $("#showNext .numcomms").html(currNumComms);
                
                /* count comments on right rail */
                 if ($("#right_numcomms").attr("id")) {
                     $("#right_numcomms").html("");
                     $("#right_numcomms").html(currNumComms);      
                 }
                    
              if ($("#facebookCheckbox").is(":checked")) {
                    if ($("#fbSectionName").text().match('somycity')) {
                        U.log("commenting on moment");
                        postToFacebook(commtext, true, false);
                    }
                    else if ($("#fbSectionName").text().match('blogs')) {
                        U.log("commenting on blogs");
                        postToFacebook(commtext, false, true);
                    }
                    else
                    {
                        U.log("commenting on article");
                        postToFacebook(commtext, false, false);
                    }
                } 

          $("#listMoods li").find("input[@name='mood_comm']:checked").each(function () {
             moodPostWithComm();
          });  
          $("#commentsForm").css("opacity","1");     
          $("#processing_comm").hide();  
        },
            error: function(data) {
             $("#commentsForm").css("opacity","1");     
             $("#processing_comm").hide();
               // alert("Error occurs.");
            }
          }); 
          //event.stopImmediatePropagation();
          return false;
      }
      /* else prompt with login */
      else {
          NBC_UserOverlay.validateLogin(1);
      }
     });  
});
 
 
function  rejectComment(elem, commentId, mediaId, contentId) {
	  var self = this;

	  if (!NBC_UserOverlay.validateLogin(1) || !user.isEditor()) {
	    U.log("User either not logged it or not an editor.");
	    return false;
	  }
	  
	  var contentOrMediaId = "&cid=" + contentId;
	  var contentExtraId = "";
	  if ($("#fbSectionName").text().match('somycity')) {
		  contentOrMediaId = "&mediaId=" + contentId;
	  }
	  else {
		  contentOrMediaId = "&mediaId=" + contentId + "&cid=" + mediaId;
	  }
	  // MOMENT REJECT
	  var queryString = "action=reject&commentId=" + commentId + contentOrMediaId + "&token=" + user.token;
	  U.log("Rejecting comment... id [" + commentId + "]");
	  $(elem).parent().find(".rejectCommentLink").hide();  
	  var statussg = "";
	  var success = false;
	  jQuery.getJSON("/i/dispatcher/?h=comments", queryString, function(data) {
	    if (typeof data.ka !== "undefined" && data.ka.status == 1) {
	      success = true;
	      statusMsg1 = "Success: Comment Rejected. ";
	      U.log(statusMsg1);
	    } 
	    else { // error occured
	    	U.log("error occurs");
	      if (typeof data.ka !== "undefined" && typeof data.ka.message !== "undefined") {
	        statusMsg1 = " Error: Failed to reject comment: " + data.ka.message;
	        U.log("error occurs 1");
	      }
	      else if (typeof data.error !== "undefined") {
	    	  U.log("error occurs 2");
	        statusMsg1 = " Error: Failed to reject comment: " + data.error;
	      }
	      else {
	    	  U.log("error occurs 3");
	        statusMsg1 = " Error: Reject comment failed.";
	      }
	    }
	    U.log("comment.reject: " + statusMsg1);
	      $(elem).parent().find(".commentAdminMsg").text(statusMsg1).css("visibility", "visible");    
	  });
	   
}
 
 
function showCommentsOnMore(elem) {
	  var showMoreClass =elem.className;
	    // var commentBodyRetrieved = jQuery("#holderCommentBody").html();
	    // var wholeCommentsBody = commentBodyRetrieved;
	    // U.log("escaped comm body " + wholeCommentsBody);
	  $(elem).parent().hide();
	  $(elem).parent().parent().find(".wholecomment").show();
	  return false;
	}

	function getCommentText(rawBody) {  
	   var unescstring = unescape(rawBody);
	   return unescstring.replace(/\n/g, "<br/>");
	}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
