
  function uaf_edititem_save(page, id){
    poststr = 'edit'+page+'=t&uafid='+id+'&'+$('#add_'+page+'_form').serialize();
    $.ajax({
      type: 'POST',
      url: '/uaf',
      async: false,
      data: poststr,
      success: function(data) { $('#worker').html(data); }
    });
    return false;
  }

  function uaf_edititem_cancel(page){
    $('#add_'+page+'_title').html('Add Item');
    $('#add_'+page+'_div').load('/uaf/add'+page);
  }

  function uaf_edititem(page, id){
    $('#add_'+page+'_title').html('Edit Item');
    $('#add_'+page+'_div').load('/uaf/edit'+page+'/'+id);
  }

  function uaf_deleteitem(page, id){
    if(confirm('Are you sure you want to delete this item?')){
      $('#worker').load('/uaf/delete'+page+'/'+id);
    }
  }

  function uaf_additem(page){
    poststr = 'add'+page+'=t&uafid='+$('#uafid').val()+'&'+$('#add_'+page+'_form').serialize();
    $.ajax({
      type: 'POST',
      url: '/uaf',
      async: false,
      data: poststr,
      success: function(data) { $('#worker').html(data); }
    });
    return false;
  }

  function sethtml(div,content)
  {
    var search = content;
    var script;

    while( script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/i))
    {
      search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length);

      if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) break;

      block = search.substr(0, search.indexOf(RegExp.$1));
      search = search.substring(block.length + RegExp.$1.length);

      var oScript = document.createElement('script');
      oScript.text = block;
      document.getElementsByTagName("head").item(0).appendChild(oScript);
    }

    document.getElementById(div).innerHTML=content;
  }

  var http_request = false;
  function makePOSTRequest(url, parameters, div) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = function() { alertContents(div); };
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
  }

   function alertContents(div) {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            //document.getElementById(div).innerHTML = result;            
            sethtml(div, result);
         } else {
            alert('There was a problem with the request.');
         }
      }
   }

function urlPrepare(varnice){
  varnice = encodeURI(decodeURI(varnice));
  return varnice.replace('&', '%26');
}

function viewMessages(statement){
  document.getElementById('messages_'+statement).style.display = '';
  updateMessages(statement);
}
function hideMessages(statement){
  document.getElementById('messages_'+statement).style.display = 'none';
}

function doComment(comment){

  //update layerAD content
  var layerAD;

  if(document.getElementById('comment_text_'+comment).getAttribute('original')){
    layerAD = layerAD + '<fieldset><legend>Selected Text</legend>' + unescape(document.getElementById('comment_text_'+comment).getAttribute('original')) + '</fieldset>';
  }
  layerAD = layerAD + '<fieldset><legend>Comments</legend>' + unescape(document.getElementById('comment_text_'+comment).getAttribute('comments')) + '</fieldset>';

  if(document.getElementById('no_comment_response').value == 'false'){
    layerAD = layerAD + '<fieldset id="respondtocom"><legend>Respond to Comments?</legend><div style="text-align: center;"><input type="button" value="Send Response" onClick="respondComment('+comment+');"></div></fieldset>';
    layerAD = layerAD + '<fieldset id="response" style="display: none;"><legend>Please type your response below:</legend><div style="text-align: center;"><textarea id="response_comments" style="width: 90%; height: 75px;"></textarea><br><input type="button" value="Send" onClick="respondSubmit('+comment+');"> <input type="button" value="Cancel" onClick="respondUndo('+comment+');"></div></fieldset>';
  }

  document.getElementById('layerAD').innerHTML = layerAD + '<br><br>';

  tb_show('Editor Comment', '#TB_inline?inlineId=layerAD', false);

}

function doEdit(edit){

  //update layerAD content
  var layerAD;
  if(unescape(document.getElementById('edit_text_'+edit).getAttribute('type'))	== 'Added'){
    layerAD = layerAD + '<fieldset><legend>Added Text</legend>' + unescape(document.getElementById('edit_text_'+edit).getAttribute('original')) + '</fieldset>';
  }else {
    layerAD = layerAD + '<fieldset><legend>Original Text</legend>' + unescape(document.getElementById('edit_text_'+edit).getAttribute('original')) + '</fieldset>';
  }
  if(document.getElementById('edit_text_'+edit).getAttribute('comments')){
    layerAD = layerAD + '<fieldset><legend>Comments</legend>' + unescape(document.getElementById('edit_text_'+edit).getAttribute('comments')) + '</fieldset>';
  }

  layerAD = layerAD + '<fieldset id="acceptorreject"><legend>Accept or Reject?</legend><div style="text-align: center;">';

  if(unescape(document.getElementById('edit_text_'+edit).getAttribute('type')) == 'Additional Info Needed'){
    layerAD = layerAD + '<input type="button" value="Provide Info" onClick="acceptEdit('+edit+');"> ';
  }else	{
    layerAD = layerAD + '<input type="button" value="Accept" onClick="acceptEdit('+edit+');"> ';
  }
  layerAD = layerAD + '<i>or</i> <input type="button" value="Reject" onClick="rejectEdit('+edit+');"></div></fieldset>';
  layerAD = layerAD + '<fieldset id="rejected" style="display: none;"><legend>Why are you rejecting?</legend><div style="text-align: center;"><textarea id="reject_comments" style="width: 90%; height: 75px;"></textarea><br><input type="button" value="Reject" onClick="rejectSubmit('+edit+');"> <input type="button" value="Cancel" onClick="rejectUndo('+edit+');"></div></fieldset>';
  layerAD = layerAD + '<fieldset id="accepted" style="display: none;"><legend>Additional Info Please?</legend><div style="text-align: center;"><textarea id="accept_comments" style="width: 90%; height: 75px;"></textarea><br><input type="button" value="Accept" onClick="acceptSubmit('+edit+');"> <input type="button" value="Cancel" onClick="acceptUndo('+edit+');"></div></fieldset>';
  document.getElementById('layerAD').innerHTML = layerAD + '<br><br>';

  tb_show(unescape(document.getElementById('edit_text_'+edit).getAttribute('type')), '#TB_inline?inlineId=layerAD', false);

}

function viewCommentEditv2(imgid){
  //update layerAD content
  var layerAD;
  var myObj;
  myObj = document.getElementById(imgid);
  var comment = imgid.replace('comment_', '');
  layerAD = layerAD + '<fieldset><legend>Comments</legend>' + unescape(myObj.getAttribute('alt')) + '</fieldset>';
  if(document.getElementById('no_comment_response').value == 'false'){
    layerAD = layerAD + '<fieldset id="respondtocom"><legend>Respond to Comments?</legend><div style="text-align: center;"><input type="button" value="Send Response" onClick="respondComment('+comment+');">';
    if(unescape(myObj.getAttribute('type')) != 'Additional Info Needed'){
      layerAD = layerAD + ' <i>or</i> <input type="button" value="Reject" onClick="$(\'#rejected\').show(); $(\'#respondtocom\').hide();">';
    }else {
      layerAD = layerAD + '<br /><span style="color: #ff0000;">*ACTION REQUIRED</span>';
    }
    layerAD = layerAD + '</div></fieldset>';
    layerAD = layerAD + '<fieldset id="response" style="display: none;"><legend>Please type your response below:</legend><div style="text-align: center;"><textarea id="response_comments" style="width: 90%; height: 75px;"></textarea><br><input type="button" value="Send" onClick="respondSubmit('+comment+');"> <input type="button" value="Cancel" onClick="respondUndo('+comment+');"></div></fieldset>';
  layerAD = layerAD + '<fieldset id="rejected" style="display: none;"><legend>Why are you rejecting?</legend><div style="text-align: center;"><textarea id="reject_comments" style="width: 90%; height: 75px;"></textarea><br><input type="button" value="Reject" onClick="rejectSubmit('+comment+');"> <input type="button" value="Cancel" onClick="$(\'#rejected\').hide();$(\'#respondtocom\').show();"></div></fieldset>';

  }

  document.getElementById('layerAD').innerHTML = layerAD + '<br><br>';

  tb_show('Editor Action ('+unescape(myObj.getAttribute('type'))+')', '#TB_inline?inlineId=layerAD', false);
}

function viewCommentEdit(edit){
  //update layerAD content
  var layerAD;
  var myObj;
  myObj = document.getElementById('comment_text_'+edit);

  layerAD = layerAD + '<fieldset><legend>Comments</legend>' + unescape(myObj.getAttribute('comments')) + '</fieldset>';

  document.getElementById('layerAD').innerHTML = layerAD + '<br><br>';

  tb_show('Editor Comment', '#TB_inline?inlineId=layerAD', false);

}

function viewEdit(edit){
  //update layerAD content
  var layerAD;
  var myObj;
  myObj = document.getElementById('edit_text_'+edit);

  if(myObj.getAttribute('original')){
    if(unescape(myObj.getAttribute('type')) == 'Added'){
      layerAD = layerAD + '<fieldset><legend>Added Text</legend>' + unescape(myObj.getAttribute('original')) + '</fieldset>';
    }else {
      layerAD = layerAD + '<fieldset><legend>Original Text</legend>' + unescape(myObj.getAttribute('original')) + '</fieldset>';
    }
  }

  if(myObj.getAttribute('comments')){
    layerAD = layerAD + '<fieldset><legend>Comments</legend>' + unescape(myObj.getAttribute('comments')) + '</fieldset>';
  }

  document.getElementById('layerAD').innerHTML = layerAD + '<br><br>';

  tb_show(unescape(myObj.getAttribute('type')), '#TB_inline?inlineId=layerAD', false);

}

function respondComment(comment){
  document.getElementById('respondtocom').style.display = 'none';
  document.getElementById('response').style.display = '';
}

function respondUndo(comment){
  document.getElementById('respondtocom').style.display = '';
  document.getElementById('response').style.display = 'none';
}

function respondSubmit(comment){
  if(!(document.getElementById('response_comments').value == '')){

    //make ajax call to save the edit
    var poststr = "edit=" + comment;
    poststr += "&statement=" + document.getElementById('statement_id').value;
    poststr += "&action=respond";
    poststr += "&comments=" + encodeURIComponent(document.getElementById('response_comments').value);

    //makePOSTRequest('/saveedit', poststr, 'saveedit');
    $.post('/saveedit', poststr, function(data){ $('#saveedit').html(data); });

  }else {
    alert('Please type your response to the editors comments.');
    document.getElementById('response_comments').focus();
  }
}

function acceptEdit(edit){
  if(unescape(document.getElementById('edit_text_'+edit).getAttribute('type')) == 'Additional Info Needed'){
    //request extra info first
    document.getElementById('acceptorreject').style.display = 'none';
    document.getElementById('accepted').style.display = '';
  }else {
    //okay accept
    acceptSubmit(edit);
  }
}

function acceptSubmit(edit){
  if(!(unescape(document.getElementById('edit_text_'+edit).getAttribute('type')) == 'Additional Info Needed' && document.getElementById('accept_comments').value == '')){

    //make ajax call to save the edit
    var poststr = "edit=" + edit;
    poststr += "&statement=" + document.getElementById('statement_id').value;
    poststr += "&action=accept";
    poststr += "&comments=" + encodeURIComponent(document.getElementById('accept_comments').value);

    //makePOSTRequest('/saveedit', poststr, 'saveedit');
    $.post('/saveedit', poststr, function(data){ $('#saveedit').html(data); });

  }else {
    alert('Please provide the additional information requested by the editor.');
    document.getElementById('accept_comments').focus();
  }
}

function acceptUndo(edit){
  document.getElementById('acceptorreject').style.display = '';
  document.getElementById('accepted').style.display = 'none';
}

function rejectEdit(edit){
  document.getElementById('acceptorreject').style.display = 'none';
  document.getElementById('rejected').style.display = '';
}

function rejectUndo(edit){
  document.getElementById('acceptorreject').style.display = '';
  document.getElementById('rejected').style.display = 'none';
}

function rejectSubmit(edit){
  if(document.getElementById('reject_comments').value != ''){

    //make ajax call to save the edit
    var poststr = "edit=" + edit;
    poststr += "&statement=" + document.getElementById('statement_id').value;
    poststr += "&action=reject";
    poststr += "&comments=" + encodeURIComponent(document.getElementById('reject_comments').value);

    //makePOSTRequest('/saveedit', poststr, 'saveedit');
    $.post('/saveedit', poststr, function(data){ $('#saveedit').html(data); });

  }else{
    alert('Please type why you are rejecting this edit action.');
    document.getElementById('reject_comments').focus();
  }
}

function undoCommentEdit(edit){
    //make ajax call to delete the edit
    var poststr = "undoedit=" + edit;
    poststr += "&undocomment=true&statement=" + document.getElementById('statement_id').value;
    makePOSTRequest('/saveedit', poststr, 'saveedit');
}

function undoEdit(edit){
    //make ajax call to delete the edit
    var poststr = "undoedit=" + edit;
    poststr += "&statement=" + document.getElementById('statement_id').value;
    makePOSTRequest('/saveedit', poststr, 'saveedit');
}

function editUndone(statement){
  if($('#statement_v2').val() == '1'){
    updateActions();
    updateComments();
  }else {
    window.location.href = '/statements/manage/'+statement;
  }
}

function editSaved(edit, type){
  //edit saved
  tb_remove();

  if(type == 'accept'){
    document.getElementById('edit_'+edit).style.display = 'none';
    document.getElementById('edit_text_'+edit).className = 'edit_accepted';
  }else if(type == 'reject') {
    if($('#edit_'+edit).length > 0){
      document.getElementById('edit_'+edit).onclick = '';
      document.getElementById('edit_text_'+edit).className = 'edit_rejected';
    }
  }

  updateActions();
  if($('#statement_v2').val() == '1'){ 
    updateComments(); 
  }
  
}

function updateActions(){
  var poststr = "statement=" + document.getElementById('statement_id').value;
  //makePOSTRequest('/updateactions', poststr, 'myactions');
  $.post('/updateactions', poststr, function(data){ $('#myactions').html(data); });
}

function sendMessage(statement, editor){
  var poststr = "statement=" + statement + "&editor=" + editor + "&message=" + encodeURIComponent(document.getElementById('message_text_'+statement).value);
  makePOSTRequest('/sendmessage', poststr, 'messages_convo_'+statement);
}

function updateMessages(statement){
  var poststr = "statement=" + statement;
  makePOSTRequest('/updatemessages', poststr, 'messages_convo_'+statement);
}

function updateComments(){
  var poststr = "statement=" + document.getElementById('statement_id').value;
  //makePOSTRequest('/updatecomments', poststr, 'mycomments');
  $.post('/updatecomments', poststr, function(data){ $('#mycomments').html(data); });
}

function CountWords (){
var this_field = document.getElementById('statement');
var word_counter_words = document.getElementById('word_counter_words');
var word_counter_chars	= document.getElementById('word_counter_chars');

var char_count = this_field.value.length;
var fullStr = this_field.value + " ";
var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;
var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");
var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;
var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
var splitString = cleanedStr.split(" ");
var word_count = splitString.length -1;
if (fullStr.length <2) {
word_count = 0;
}
if (word_count == 1) {
wordOrWords = " word";
}
else {
wordOrWords = " words";
}
if (char_count == 1) {
charOrChars = " character";
} else {
charOrChars = " characters";
}

//update values
word_counter_words.innerHTML = word_count + wordOrWords;
word_counter_chars.innerHTML = char_count + charOrChars;

return word_count;
}

function chkObject(inParent,theVal) {
  if(inParent){
    if (window.opener.document.getElementById(theVal) != null) {
      return true;
    } else {
      return false;
    }
  }else{
    if (document.getElementById(theVal) != null) {
      return true;
    } else {
      return false;
    }
  }
}

function hideElement(ele){
  document.getElementById(ele).style.display = 'none';
}

function showElement(ele){
  document.getElementById(ele).style.display = '';
}

function showhideElement(ele){
  if(document.getElementById(ele).style.display == 'none'){
    showElement(ele);
  }else {
    hideElement(ele);
  }
}

