var filter = {groupId:"-1"};

/*
* Load page x of the event comments
*/
function loadEventConversationsAndMediaPage(page,filter){
  var htmlElement = document.getElementById("comments");
  var data = "action=loadeventconversationsandmediafragment&eventid="+eventId+"&page="+page;
  
  if(filter != null && filter != ""){
    data = data + "&filter="+filter;
  }
  
  showConversationsAndMediaProgress();
  sendDataReplaceHtml(URL_POSTS, data, htmlElement ,function() {
    hideConversationsAndMediaProgress();
  });
}

/*
* Sets criteria for filtering event list
*/
function setFilter(name,value){
  filter[name] = value;
  historyStorage.put("filter",Object.toJSON(filter));
  applyEventDetailPageFilter();
}

/*
* Shows the translations for all event comments/replies
*/
function showOtherLanguage(){
  var comments = document.getElementById("comments");
  setElementClass(comments, '');
  var link = document.getElementById("hide-otherlang-button");
  setElementClass(link, 'visible');
  var link = document.getElementById("show-otherlang-button");
  setElementClass(link, 'hidden');
}

/*
* Hides the translations for all event comments/replies
*/
function hideOtherLanguage(){
  var comments = document.getElementById("comments");
  setElementClass(comments, 'no_translations');
  var link = document.getElementById("hide-otherlang-button");
  setElementClass(link, 'hidden');
  var link = document.getElementById("show-otherlang-button");
  setElementClass(link, 'visible');
}

/*
* Submits the reply to an event comment
*/
function submitReplyPost(postid, eventId){
  var formnodes = document.getElementById("replypost_form_"+postid);
  var replaceElement = document.getElementById("responses-"+postid);
  
  var data = "action=add&return_type=html&";
  for(var i=0; i < formnodes.length; i++){
    var node = formnodes[i];
    data = data + node.name + "=" + node.value+"&";
  }
  
  // need to show in progress
  showPostReplySubmitProgress(postid);
  
  sendDataReplaceHtml(URL_POSTS, data, replaceElement, function() {
    hidePostReplySubmitProgress(postid);
    
    // eventid isn't always set
    if(eventId != null){
      updateCounts(eventId);
    }
    window.location.reload();
  });
}

/*
 * Updates the event comment/people counts  
 */
function updateCounts(eventid){
  //Update event counts
  var data = "action=updateeventcounts&post_id="+eventid;
  var replaceElement = document.getElementById("event_counts");
  sendDataReplaceHtml(URL_POSTS, data, replaceElement, function() {
  });
}

/*
 * Clears the Add Comment/Reply input fields  
 */
function clearNewPostForm(){

  var titleInputElement = document.getElementById("add_post_title");
  if(titleInputElement != null){
    titleInputElement.value ="";
  }
  
  var textInputElement = document.getElementById("add_post_text");
  if(textInputElement != null){
    textInputElement.value ="";
  }
  
  textInputElement = document.getElementById("reply_to_main");
  if(textInputElement != null){
    textInputElement.value =default_post_body;
  }
  
  
  var locationInputElement = document.getElementById("add_post_location");
  if(locationInputElement != null){
    locationInputElement.value = "";
  }
  
  var urlElement = document.getElementById("url");
  if(urlElement != null){
    urlElement.value = default_url;
  }

}

/*
 * Hides the comment-level In Progress indicator and displays the Add Comment box again
 */
function hidePostSubmitProgress(){
  var addPostDiv = document.getElementById("addpost_form_area");
  var progressBarDiv = document.getElementById("addpost_form_area_inprogress");
  
  if(addPostDiv != null){
    addPostDiv.style.display = "block";
  }
  
  if(progressBarDiv != null){
    progressBarDiv.style.display = "none";
  }
}

/*
 * Shows the comment-level In Progress indicator and hides the Add Comment box 
 */
function showPostSubmitProgress(){
  var addPostDiv = document.getElementById("addpost_form_area");
  var progressBarDiv = document.getElementById("addpost_form_area_inprogress");
  
  if(addPostDiv != null){
    addPostDiv.style.display = "none";
  }
  
  if(progressBarDiv != null){
    progressBarDiv.style.display = "block";
  }
}

/*
 * Shows the page In Progress indicator and hides the event comment
 */
function showConversationsAndMediaProgress(){ 
  var eventDetailsDiv = document.getElementById("comments");
  var eventDetailsInprogressDiv = document.getElementById("progress");
  
  if(eventDetailsDiv != null){
    setElementClass(eventDetailsDiv,"hidden");
  }
  
  if(eventDetailsInprogressDiv != null){
    setElementClass(eventDetailsInprogressDiv,"visible");
  }
}

/*
 * Hides the page In Progress indicator and shows the event comment
 */
function hideConversationsAndMediaProgress(){ 
    var eventDetailsDiv = document.getElementById("comments");
  var eventDetailsInprogressDiv = document.getElementById("inprogress");
  
  if(eventDetailsDiv != null){
    setElementClass(eventDetailsDiv,"visible");
  }
  
  if(eventDetailsInprogressDiv != null){
    setElementClass(eventDetailsInprogressDiv,"hidden");
  }
}

/*
 * Show comment responses
 */
function showResponses(postId){
  //Show UI language responses
  var responsesDiv = document.getElementById("responses-"+postId);
  setElementClass(responsesDiv, 'visible');
  
  var showResponsesLink = document.getElementById("showresponses-"+postId);
  var hideResponsesLink = document.getElementById("hideresponses-"+postId);
  
  if(showResponsesLink != null){
    showResponsesLink.style.display = "none";
  }
  if(hideResponsesLink != null){
    hideResponsesLink.style.display = "inline";
  }
}

/*
 * Hide comment responses
 */
function hideResponses(postId){
  //Hide UI language responses
  var responsesDiv = document.getElementById("responses-"+postId);
  setElementClass(responsesDiv, 'hidden');
  
  var showResponsesLink = document.getElementById("showresponses-"+postId);
  var hideResponsesLink = document.getElementById("hideresponses-"+postId);
  
  if(showResponsesLink != null){
    showResponsesLink.style.display = "inline";
  }
  if(hideResponsesLink != null){
    hideResponsesLink.style.display = "none";
  }
}

function showLogin(callback)
{
  jQuery.getScript('/static/js/blockui/jQuery.blockUI.js',function(){
    $ = jQuery
    $.blockUI({
      message: $('#login'),
      css: { cursor:'default',border:0  }
    });
  });
}

/*
 * Show reply input box
 */
function showRespond(postId){
  $ = jQuery
  var is_logged_in = jQuery('body').hasClass('authenticated')
  if (!is_logged_in)
  {
    showLogin(function(){
      showRespond(postId)
    });
    return;
  }
  
  var $respondDiv = $("#respond-"+postId);
  $respondDiv.attr('class', 'inline_response visible');
  
  var $showRespondLink = $("#showrespond-"+postId);
  var $hideRespondLink = $("#hiderespond-"+postId);
  
  if($showRespondLink.length != 0 )
    $showRespondLink.hide();
  
  if($hideRespondLink.length != 0 )
    $hideRespondLink.css('display','inline');
}

/*
 * Hide reply input box
 */
function hideRespond(postId){
  var respondDiv = document.getElementById("respond-"+postId);
  setElementClass(respondDiv, 'add-response hidden');
  
  var showRespondLink = document.getElementById("showrespond-"+postId);
  var hideRespondLink = document.getElementById("hiderespond-"+postId);
  
  if(showRespondLink != null){
    showRespondLink.style.display = "inline";
  }
  
  if(hideRespondLink != null){
    hideRespondLink.style.display = "none";
  }
}

/*
 * Shows the reply-level in progress indicator  
 */
function showPostReplySubmitProgress(postId){ 
  var addPostDiv = document.getElementById("respond-"+postId);
  setElementClass(addPostDiv, 'add-response hidden');
  var progressBarDiv = document.getElementById("addpost_form_area_inprogress_"+postId);
  setElementClass(progressBarDiv, 'central-align visible');
}

/*
 * Hides the reply-level in progress indicator  
 */
function hidePostReplySubmitProgress(postId){
  var progressBarDiv = document.getElementById("addpost_form_area_inprogress_"+postId);
  setElementClass(progressBarDiv, 'central-align hidden');
  
  //set input text to be blank
  formnodes = document.getElementById("replypost_form_"+postId);
  for(var i=0; i < formnodes.length; i++){
    var node = formnodes[i];
    if(node!=null && node.name == "add_post_text"){
      node.value = "";
    }
  }
  hideRespond(postId);
}

/*
 * Flag a comment as inappropriate  
 */
function flagPost(postId){
  var data = "type=flag&action=flag&post_id="+postId;
  var url = "service.php";
  var replaceElement = document.getElementById("post-flagged-"+postId);
  
  sendData(url, data, function() {
    replaceElement.innerHTML = "<span class='flagged'><img src='/static/images/icons/fam/flag_red.png' alt='flagged for admin review'/>Flagged for review.</span>";
  });
}

function requestTranslation(postId){
  var data = "type=translation&action=requesttranslation&post_id="+postId;
  var url = "service.php";
  var replaceElement = document.getElementById("post-requesttranslation-"+postId);
  sendDataReplaceHtml(url, data, replaceElement, function(){
    replaceElement.innerHTML = "<span class='flagged'><img src='/static/images/icons/fam/flag_green.png' alt='flagged for translation'/>Flagged for translation</span>";
  });
}


jQuery("#debugger").append("<code> page_event_details.js</code>");  
jQuery(".row").mouseover(function(){jQuery(this).addClass("hover_over");}).mouseout(function(){jQuery(this).removeClass("hover_over");});