gaTrackerId = 'UA-7407719-13';
document.observe('dom:loaded', function(){
  var gaJsHost = (('https:' == document.location.protocol) ? 'https://ssl.' : 'http://www.') + 'google-analytics.com/ga.js';
  var script = new Element('script', {
    'src': gaJsHost
  });
  var gaTrack = function(){
    if (!script.readyState || /loaded|complete/.test(script.readyState)) {
      var pageTracker = _gat._getTracker(gaTrackerId);
      pageTracker._trackPageview();
    }
  };
  script.observe('load', gaTrack);
  script.observe('readystatechange', gaTrack);
  document.body.appendChild(script);
});

function getLocale(){
  var href = window.location.href;
  return href.replace(/http:\/\/[\w\.]*\//, '').substring(0, 2)
}

var QRContainerOffset = 22;

document.observe("dom:loaded", function(){
    
  if (Cookie.get("eDsiteHeaderMinimized") == 1) {
    var siteHeaderGRP = $('siteHeaderGRP');
    var siteHeaderGRPSmall = $('siteHeaderGRPSmall');
    
    if (siteHeaderGRP) {
      siteHeaderGRP.setStyle({
        'display': 'none'
      });
    }
    
    if (siteHeaderGRPSmall) {
      siteHeaderGRPSmall.setStyle({
        'display': 'block'
      });
    }
  }
  else {
    var siteHeaderGRP = $('siteHeaderGRP');
    var siteHeaderGRPSmall = $('siteHeaderGRPSmall');
    
    if (siteHeaderGRP) {
      siteHeaderGRP.setStyle({
        'display': 'block'
      });
    }
    
    if (siteHeaderGRPSmall) {
      siteHeaderGRPSmall.setStyle({
        'display': 'none'
      });
    }
  }
  
  if ($('queryContainer')) {
    var qContainer = $('queryContainer');
    var qImages = $A(qContainer.select('img'));
    for (var i = 0; i < qImages.length; i++) {
      qImages[i]._oWidth = qImages[i].getWidth();
      qImages[i]._oHeight = qImages[i].getHeight();
      if (qImages[i].getWidth() > (qContainer.getWidth() - QRContainerOffset)) {
        qImages[i].writeAttribute('width', qContainer.getWidth() - QRContainerOffset);
        qImages[i].writeAttribute('height', '');
      }
    }
    
  }
  
  if ($('reportContainer')) {
    var rContainer = $('reportContainer');
    var rImages = $A(rContainer.select('img'));
    for (var i = 0; i < rImages.length; i++) {
      rImages[i]._oWidth = rImages[i].getWidth();
      rImages[i]._oHeight = rImages[i].getHeight();
      if (rImages[i].getWidth() > (rContainer.getWidth() - QRContainerOffset)) {
        rImages[i].writeAttribute('width', rContainer.getWidth() - QRContainerOffset);
        rImages[i].writeAttribute('height', '');
      }
    }
    
  }
  
  if ($('forumContainer')) {
    var fContainer = $('forumContainer');
    var fImages = $A(fContainer.select('img'));
    for (var i = 0; i < fImages.length; i++) {
      fImages[i]._oWidth = fImages[i].getWidth();
      fImages[i]._oHeight = fImages[i].getHeight();
      if (fImages[i].getWidth() > (fContainer.getWidth() - QRContainerOffset)) {
        fImages[i].writeAttribute('width', fContainer.getWidth() - QRContainerOffset);
        fImages[i].writeAttribute('height', '');
      }
    }
    
  }
  
  Event.observe(window, "resize", function(){
    if ($('queryContainer')) {
      for (var i = 0; i < qImages.length; i++) {
    	qImages[i]._oWidth = qImages[i].getWidth();
        qImages[i]._oHeight = qImages[i].getHeight();
        var qContainerWidth = qContainer.getWidth() - QRContainerOffset;
        if (qImages[i].getWidth() > qContainerWidth) {
          qImages[i].writeAttribute('width', qContainerWidth);
          qImages[i].writeAttribute('height', '');
        }
        else {
          qImages[i].writeAttribute('width', qImages[i]._oWidth);
          qImages[i].writeAttribute('height', qImages[i]._oHeight);
        }
      }
    }
    
    if ($('reportContainer')) {
      for (var i = 0; i < rImages.length; i++) {
        var rContainerWidth = rContainer.getWidth() - QRContainerOffset;
        rImages[i]._oWidth = rImages[i].getWidth();
        rImages[i]._oHeight = rImages[i].getHeight();
        if (rImages[i].getWidth() > rContainerWidth) {
          rImages[i].writeAttribute('width', rContainerWidth);
          rImages[i].writeAttribute('height', '');
        }
        else {
          rImages[i].writeAttribute('width', rImages[i]._oWidth);
          rImages[i].writeAttribute('height', rImages[i]._oHeight);
        }
      }
    }
    
    if ($('forumContainer')) {
      for (var i = 0; i < fImages.length; i++) {
        var fContainerWidth = fContainer.getWidth() - QRContainerOffset;
        if (fImages[i].getWidth() > fContainerWidth) {
          fImages[i].writeAttribute('width', fContainerWidth);
          fImages[i].writeAttribute('height', '');
        }
        else {
          fImages[i].writeAttribute('width', fImages[i]._oWidth);
          fImages[i].writeAttribute('height', fImages[i]._oHeight);
        }
      }
    }
    
    var commentDialog = $('newCommentContainer');
    if (commentDialog) {
      var viewPortScrollOffset = document.viewport.getScrollOffsets();
      var viewPortHeight = document.viewport.getHeight();
      
      commentDialog.setStyle({
        top: (viewPortScrollOffset.top + 25) + 'px',
        height: (viewPortHeight - 50) + 'px'
      });
    }
    
    var newReplyDialog = $('newReplyContainer');
    if (newReplyDialog) {
      var viewPortScrollOffset = document.viewport.getScrollOffsets();
      var viewPortHeight = document.viewport.getHeight();
      
      newReplyDialog.setStyle({
        top: (viewPortScrollOffset.top + 25) + 'px',
        height: (viewPortHeight - 50) + 'px'
      });
    }
    
    var newTopicDialog = $('newTopicContainer');
    if (newTopicDialog) {
      var viewPortScrollOffset = document.viewport.getScrollOffsets();
      var viewPortHeight = document.viewport.getHeight();
      
      newTopicDialog.setStyle({
        top: (viewPortScrollOffset.top + 25) + 'px',
        height: (viewPortHeight - 50) + 'px'
      });
    }
    
    var newReplyThreadDialog = $('newReplyThreadContainer');
    var newReplyThreadWrapper = $('newReplyThreadWrapper');
    var newReplyThreadTitle = $('newReplyTitleWrapper');
    if (newReplyThreadDialog) {
      var viewPortScrollOffset = document.viewport.getScrollOffsets();
      var viewPortHeight = document.viewport.getHeight();
      
      newReplyThreadDialog.setStyle({
        top: (viewPortScrollOffset.top + 25) + 'px',
        height: (viewPortHeight - 50) + 'px'
      });
    }
    
    if (newReplyThreadWrapper && newReplyThreadTitle) {
      newReplyThreadWrapper.setStyle({
        height: (newReplyThreadDialog.getHeight() - newReplyThreadTitle.getHeight() - 2) + 'px'
      });
    }
    
    var glassPaneElement = $('glassPane');
    if (glassPaneElement) {
      var viewPortScrollOffset = document.viewport.getScrollOffsets();
      var viewPortHeight = document.viewport.getHeight();
      var viewPortWidth = document.viewport.getWidth();
      
      glassPaneElement.setStyle({
        top: viewPortScrollOffset.top + 'px',
        width: viewPortWidth + 'px',
        height: viewPortHeight + 'px'
      });
      
      if (newReplyDialog) {
        reCalculateContainerFCKSize('newReplyContainer', 'newReplyContentContainer');
      }
      
      var commentContainer = $('newCommentContainer');
      var commentContentContainer = $('newCommentContentContainer'); 
      
      if (commentDialog)
      // && commentContainer && commentContentContainer
        reCalculateContainerFCKSize('newCommentContainer', 'newCommentContentContainer');
      
      if (newTopicDialog) {
        reCalculateContainerFCKSize('newTopicContainer', 'newTopicContentContainer');
      }
      
    }
  });
  
   
});

document.observe("dom:loaded", function(){
  if ($('queryContainer') && $('reportContainer')) {
    Event.observe('queryFormTab', 'click', showQuery);
    Event.observe('queryReportTab', 'click', showReport);
    showQuery();
  }
  
});

function showQuery(){

  $('queryContainer').show();
  $('reportContainer').hide();
  $('queryFormTab').addClassName('selectedTab');
  $('queryReportTab').removeClassName('selectedTab');
  
  var qContainer = $('queryContainer');
  var qImages = $A(qContainer.select('img'));
  
  for (var i = 0; i < qImages.length; i++) {
    if (qImages[i].getWidth() > (qContainer.getWidth() - QRContainerOffset)) {
      qImages[i].writeAttribute('width', qContainer.getWidth() - QRContainerOffset);
      qImages[i].writeAttribute('height', '');
    }
  }
}

function showReport(){

  $('reportContainer').show();
  $('queryContainer').hide();
  $('queryReportTab').addClassName('selectedTab');
  $('queryFormTab').removeClassName('selectedTab');
  
  var rContainer = $('reportContainer');
  var rImages = $A(rContainer.select('img'));
  
  for (var i = 0; i < rImages.length; i++) {
    if (rImages[i].getWidth() > (rContainer.getWidth() - QRContainerOffset)) {
      rImages[i].writeAttribute('width', rContainer.getWidth() - QRContainerOffset);
      rImages[i].writeAttribute('height', '');
    }
  }
}

var __openMenuId = null;

document.observe('dom:loaded', function(){
  if ($('queriesContainer')) {
    $('queriesContainer').hide();
  }
  
  if ($('documentsContainer')) {
    $('documentsContainer').hide();
  }
});

function _isOpenMenuContainer(id){
  return __openMenuId == id;
}

function showMenu(id){
  $(id).setStyle({
    'display': 'block'
  });
  
  if (__openMenuId != null) {
    hideMenu(__openMenuId); 
  }
  
  __openMenuId = id;
  var bodyElement = document.getElementsByTagName('body')[0];
  
  var onBodyClick = function (event) {
    var target = Event.element(event);
    if (!target.up('#' + __openMenuId)) {
      Event.stopObserving(bodyElement, "mousedown", onBodyClick); 
      hideMenu(id);
    }
  };
  
  Event.observe(bodyElement, "mousedown", onBodyClick); 
}

function hideMenu(id){
  $(id).setStyle({
    'display': 'none'
  });
  
  $(id).parentNode.removeClassName('selectedNavi');
  __openMenuId = null;
}

function toggleSubMenus(event){
  var linkElement = Event.element(event);
  var menuId = linkElement.getAttribute('_menuId'); 
  var menuElement = $(menuId);
  var linkOffs = linkElement.positionedOffset();
  
  if (_isOpenMenuContainer(menuId) == false) {
    menuElement.setStyle({
      position: 'absolute',
      zIndex: 999,
      width: '240px',
      height: 'auto',
      opacity: 0.95,
      left: (linkOffs.left - 7) + 'px',
      top: (linkOffs.top + 22) + 'px'
    });
    
    showMenu(menuId);
  } else {
    hideMenu(menuId);
  }
}

function subMenuBrightnessUp(id){
  $(id).setStyle({
    zIndex: 999,
    opacity: 1
  });
}

function subMenuBrightnessDown(id){
  $(id).setStyle({
    zIndex: 999,
    opacity: 0.95
  });
}

function showArgumentArea(id){
  argContainer = $(id);
  if (argContainer.style.display == 'none') {
    argContainer.show();
  }
  else {
    argContainer.hide();
  }
}

function refreshQueryForum(resNo){
  var url = '/' + getLocale() + '/tools/queryforum/def?resNo=' + resNo;
  var container = $('queryForumAreaContainer');
  if (container){
  new Ajax.Request(url, {
    method: 'get',
    onCreate: function(transport){
      $(container).innerHTML = '<div class="queryforumRefreshLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      $(container).innerHTML = "Keskustelun lataus ep\u00e4onnistui. Yrit\u00e4 uudelleen.";
    },
    onSuccess: function(transport){
        $(container).innerHTML = transport.responseText;
    }
  });
  }
}

var __scrollOffs = {
  top: 0,
  left: 0
};

function _onWindowScroll(event){
  scroll(__scrollOffs.left, __scrollOffs.top);
}

function disableWindowScrolling(){
  var bodyElement = $(document.getElementsByTagName('body')[0]);
  bodyElement.addClassName('noScrolling');
  bodyElement.setAttribute("scroll", "no");
  Event.observe(window, "scroll", _onWindowScroll);
  __scrollOffs = document.viewport.getScrollOffsets();
}

function enableWindowScrolling(){
  var bodyElement = $(document.getElementsByTagName('body')[0]);
  bodyElement.removeClassName('noScrolling');
  bodyElement.setAttribute("scroll", '');
  Event.stopObserving(window, "scroll", _onWindowScroll);
}

function addGlassPane(){
  var viewPortScrollOffset = document.viewport.getScrollOffsets();
  var viewPortHeight = document.viewport.getHeight();
  var viewPortWidth = document.viewport.getWidth();
  var bodyElement = document.getElementsByTagName('body')[0];
  var glassPane = $(document.createElement("div"));
  glassPane.addClassName('glassPane');
  glassPane.setStyle({
    top: viewPortScrollOffset.top + 'px',
    left: viewPortScrollOffset.left + 'px',
    height: viewPortHeight + 'px',
    width: '100%'
  })
  
  glassPane.id = "glassPane";
  bodyElement.appendChild(glassPane);
  
  disableWindowScrolling();
  
  new Effect.Opacity(glassPane, {
    from: 0,
    to: 0.6,
    duration: 1.0
  });
  
  return glassPane;
}

function addClassPane() {
  return addGlassPane();
}

function removeGlassPane(){
  enableWindowScrolling();
  var glassPane = $('glassPane');
  glassPane.remove();
}

function removeClassPane(){
  removeGlassPane();
}

function openNewCommentDialog(params){
  var bodyElement = document.getElementsByTagName('body')[0];
  var newCommentContainer = document.createElement("div");
  var viewPortScrollOffset = document.viewport.getScrollOffsets();
  var dialogContainerHeight = document.viewport.getHeight() - 50;
  var dialogContainerTopPosition = viewPortScrollOffset.top + 25;
  
  newCommentContainer.setAttribute("class", "dialogContainerNewComment");
  newCommentContainer.setAttribute("id", "newCommentContainer");
  bodyElement.appendChild(newCommentContainer);
  $('newCommentContainer').setStyle({
    opacity: 1,
    zIndex: 1000,
    background: "#fff",
    position: "absolute",
    top: dialogContainerTopPosition + "px",
    left: "20%",
    right: "20%",
    height: dialogContainerHeight + "px",
    padding: "1px"
  });  
  loadNewCommentForm(params, 'newCommentContainer');
}

function openNewReplyWindow(msgNo){
  var bodyElement = document.getElementsByTagName('body')[0];
  var newReplyContainer = document.createElement("div");
  var newReplyThreadContainer = document.createElement("div");
  var viewPortScrollOffset = document.viewport.getScrollOffsets();
  var dialogContainerHeight = document.viewport.getHeight() - 50;
  var dialogContainerTopPosition = viewPortScrollOffset.top + 25;
  
  newReplyThreadContainer.setAttribute("class", "dialogContainerNewReplyThread");
  newReplyThreadContainer.setAttribute("id", "newReplyThreadContainer");
  newReplyContainer.setAttribute("class", "dialogContainerNewReply");
  newReplyContainer.setAttribute("id", "newReplyContainer");
  bodyElement.appendChild(newReplyContainer);
  bodyElement.appendChild(newReplyThreadContainer);
  loadNewReplyForm(msgNo, 'newReplyContainer');
  $('newReplyContainer').setStyle({
    opacity: 1,
    zIndex: 1000,
    background: "#fff",
    position: "absolute",
    left: "50%",
    right: "25px",
    top: dialogContainerTopPosition + "px",
    height: dialogContainerHeight + "px",
    padding: "1px"
  });
  $('newReplyThreadContainer').setStyle({
    opacity: 1,
    zIndex: 1000,
    background: "#fff",
    position: "absolute",
    left: "25px",
    right: "50%",
    top: dialogContainerTopPosition + "px",
    height: dialogContainerHeight + "px",
    padding: "1px"
  });  
  loadNewReplyThread(msgNo, 'newReplyThreadContainer');
}

function openNewTopicDialog(resNo){
  var bodyElement = document.getElementsByTagName('body')[0];
  var newTopicContainer = document.createElement("div");
  var viewPortScrollOffset = document.viewport.getScrollOffsets();
  var dialogContainerHeight = document.viewport.getHeight() - 50;
  var dialogContainerTopPosition = viewPortScrollOffset.top + 25;
  
  newTopicContainer.setAttribute("class", "dialogContainerNewTopic");
  newTopicContainer.setAttribute("id", "newTopicContainer");
  bodyElement.appendChild(newTopicContainer);
  $('newTopicContainer').setStyle({
    opacity: 1,
    zIndex: 1000,
    background: "#fff",
    position: "absolute",
    left: "20%",
    right: "20%",
    top: dialogContainerTopPosition + "px",
    height: dialogContainerHeight + "px",
    padding: "1px"
  });
  loadNewTopicForm(resNo, 'newTopicContainer');
}

function openNewDeleteMsgWindow(msgNo){
  var bodyElement = document.getElementsByTagName('body')[0];
  var newDeleteMsgContainer = document.createElement("div");
  var viewPortScrollOffset = document.viewport.getScrollOffsets();
  var dialogContainerHeight = document.viewport.getHeight() - 50;
  var dialogContainerTopPosition = viewPortScrollOffset.top + 25;
  
  newDeleteMsgContainer.setAttribute("class", "dialogContainerDeleteMsg");
  newDeleteMsgContainer.setAttribute("id", "newDeleteMsgContainer");
  bodyElement.appendChild(newDeleteMsgContainer);
  $('newDeleteMsgContainer').setStyle({
    opacity: 1,
    zIndex: 1000,
    background: "#fff",
    position: "absolute",
    left: "20%",
    right: "20%",
    top: dialogContainerTopPosition + "px",
    height: dialogContainerHeight + "px",
    padding: "1px"
  }); 
  loadDeleteMsg(msgNo, 'newDeleteMsgContainer');
}

function closeNewCommentDialog(){
  removeGlassPane();
  
  var newCommentContainer = $('newCommentContainer');
  newCommentContainer.remove();
  
}

function closeNewReplyDialog(){
  removeGlassPane();
  
  var newReplyContainer = $('newReplyContainer');
  newReplyContainer.remove();
  
}

function closeNewReplyThreadDialog(){
  
  if ($('newReplyThreadContainer')) {
    var newReplyThreadContainer = $('newReplyThreadContainer');
    newReplyThreadContainer.remove();
  }
}

function closeNewTopicDialog(){
  removeGlassPane();

  var newTopicContainer = $('newTopicContainer');
  newTopicContainer.remove();
  
}

function closeNewDeleteMsgDialog(){
  removeGlassPane();
  
  var newDeleteMsgContainer = $('newDeleteMsgContainer');
  newDeleteMsgContainer.remove();
  
}

function reCalculateContainerFCKSize(container, editorContainer, editorInstance){
  if (!editorInstance) {
    var ecE = $(editorContainer);
    var textareaElements = ecE.select('textarea');
    for (var i = 0; i < textareaElements.length; i++) {
      var textareaElement = textareaElements[i];
      var editorInstance = FCKeditorAPI.Instances[textareaElement.name];
      if (editorInstance) 
        break;
    }
  }
  
  if (editorInstance) {
    editorInstance.resizeEditor(0);
    var container = $(container);
    
    var editorHeight = container.getReservedHeight();
    for (var i = 0; i < container.childNodes.length; i++) {
      var childNode = container.childNodes[i];
      if (childNode.nodeType == 1) 
        editorHeight -= $(childNode).getReservedHeight();
    }
    
    var editorContainer = $(editorContainer);
    var contentMargin = editorContainer.getHorizontalMargins();
    
    var IE6 = navigator.userAgent.match(/MSIE 6/);
    if (IE6) {
      editorInstance.resizeEditor(editorHeight - contentMargin - 4);
    } else {
      editorInstance.resizeEditor(editorHeight - contentMargin);
    }
    
  }
};

function _onNewCommentFormFckLoaded(event){
  document.stopObserving("ix:fckLoaded", _onNewCommentFormFckLoaded);
  reCalculateContainerFCKSize('newCommentContainer', 'newCommentContentContainer', event.memo.editorInstance);
  $('newCommentContentContainer').setStyle({
    opacity: 1,
    zIndex: 1000
  });
}

function _onNewReplyFormFckLoaded(event){
  document.stopObserving("ix:fckLoaded", _onNewReplyFormFckLoaded);
  reCalculateContainerFCKSize('newReplyContainer', 'newReplyContentContainer', event.memo.editorInstance);
  
  $('newReplyContentContainer').setStyle({
    opacity: 1,
    zIndex: 1000
  });
}

function _onNewTopicFormFckLoaded(event){
  document.stopObserving("ix:fckLoaded", _onNewTopicFormFckLoaded);
  reCalculateContainerFCKSize('newTopicContainer', 'newTopicContentContainer', event.memo.editorInstance);
  
  $('newTopicContentContainer').setStyle({
    opacity: 1
  });
}

function loadNewCommentForm(params, container){
  var url = '/' + getLocale() + '/tools/comment/new_a' + params;
  new Ajax.Request(url, {
    method: 'get',
    onCreate: function(transport){
      $(container).innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      $(container).innerHTML = "Kommentointilomakkeen lataus ep\u00e4onnistui. Yrit\u00e4 uudelleen.";
    },
    onSuccess: function(transport){
        $(container).innerHTML = transport.responseText;
        var glassPane = addGlassPane();
        Event.observe(glassPane, "click", function(event){
          closeNewCommentDialog();
        });
        document.observe("ix:fckLoaded", _onNewCommentFormFckLoaded);
        $('newCommentContentContainer').setStyle({
          opacity: 0
        });
        createFCKEditors();
    }
  });
}

function loadNewReplyForm(msgNo, container){
  var url = '/' + getLocale() + '/tools/queryforum/newreply?topicId=' + msgNo;
  new Ajax.Request(url, {
    method: 'get',
    onCreate: function(transport){
      $(container).innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      $(container).innerHTML = "Vastauslomakkeen lataus ep\u00e4onnistui. Yrit\u00e4 uudelleen.";
    },
    onSuccess: function(transport){
        $(container).innerHTML = transport.responseText;
        var glassPane = addGlassPane();
        Event.observe(glassPane, "click", function(event){
          closeNewReplyDialog();
          closeNewReplyThreadDialog();
        });
        document.observe("ix:fckLoaded", _onNewReplyFormFckLoaded);
        $('newReplyContentContainer').setStyle({
          opacity: 0
        });
        
        createFCKEditors();
    }
  });
}

function loadNewTopicForm(resNo, container){
  var url = '/' + getLocale() + '/tools/queryforum/newtopic?resourceNo=' + resNo;
  new Ajax.Request(url, {
    method: 'get',
    onCreate: function(transport){
      $(container).innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      $(container).innerHTML = "Vastauslomakkeen lataus ep\u00e4onnistui. Yrit\u00e4 uudelleen.";
    },
    onSuccess: function(transport){
        $(container).innerHTML = transport.responseText;  
        var glassPane = addGlassPane();
        Event.observe(glassPane, "click", function(event){
          closeNewTopicDialog();
        });
        document.observe("ix:fckLoaded", _onNewTopicFormFckLoaded);
        $('newTopicContentContainer').setStyle({
          opacity: 0
        });
        createFCKEditors();
    }
  });
}

function loadNewReplyThread(msgNo, container){
  var url = '/' + getLocale() + '/tools/queryforum/getreplythread?topicId=' + msgNo;
  new Ajax.Request(url, {
    method: 'get',
    onCreate: function(transport){
      $(container).innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      $(container).innerHTML = "Viestiketjun lataus ep\u00e4onnistui. Yrit\u00e4 uudelleen.";
    },
    onSuccess: function(transport){
        $(container).innerHTML = transport.responseText;
        
        var newReplyThreadDialog = $('newReplyThreadContainer');
        var newReplyThreadWrapper = $('newReplyThreadWrapper');
        var newReplyThreadTitle = $('newReplyTitleWrapper');
        
        newReplyThreadWrapper.setStyle({
          height: (newReplyThreadDialog.getHeight() - newReplyThreadTitle.getHeight() - 2) + 'px'
        });
    }
  });
}

function loadDeleteMsg(msgNo, container){
  var url = '/' + getLocale() + '/tools/queryforum/deletemsg?msgNo=' + msgNo;
  new Ajax.Request(url, {
    method: 'get',
    onCreate: function(transport){
      $(container).innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      $(container).innerHTML = "Viestin poiston\u00e4kym\u00e4n lataus ep\u00e4onnistui. Yrit\u00e4 uudelleen.";
    },
    onSuccess: function(transport){
        $(container).innerHTML = transport.responseText;
        var glassPane = addGlassPane();
        Event.observe(glassPane, "click", function(event){
          closeNewDeleteMsgDialog();
        });
    }
  });
}

function executeDeleteMsg(msgNo, threadNo){
  var url = '/' + getLocale() + '/tools/queryforum/dodeletemsg?msgNo=' + msgNo;
  var container = $('newDeleteMsgContainer');
  new Ajax.Request(url, {
    method: 'get',
    onCreate: function(transport){
      $(container).innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      $(container).innerHTML = "Viestin poisto ep\u00e4onnistui. Yrit\u00e4 uudelleen.";
    },
    onSuccess: function(transport){
        $(container).innerHTML = transport.responseText;
        completeRefreshQueryForum(threadNo);
    }
  });
}

function IxFCKeditor_OnComplete(editorInstance){
  document.fire('ix:fckLoaded', {
    editorInstance: editorInstance
  });
}

function updateFCKLinkedFields(){
  if (FCKeditorAPI) {
    var fckeditors = FCKeditorAPI.Instances;
    for (var i in fckeditors) 
      fckeditors[i].UpdateLinkedField();
  }
}

function submitArgumentComment(event,resNo){
  Event.stop(event);
  
  updateFCKLinkedFields();
  
  var formElement = Event.element(event);
  var serializedData = Form.serialize(formElement); 
  
  var url = '/' + getLocale() + '/tools/comment/new_a.save';
  var container = $('newCommentContainer');
  var firstC = null;
  while (firstC = $(container.firstChild)) {
    container.removeChild(firstC);
  }
  
  new Ajax.Request(url, {
    method: 'post',
    parameters: serializedData,
    onCreate: function(transport){
      container.innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onSuccess: function(transport){
      container.innerHTML = transport.responseText;
      refreshQueryForum(resNo);
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      container.innerHTML = 'Argumentin kommentin tallennus ep\u00e4onnistui. Yrit\u00e4 uudelleen.';
    }
    
  });
}

function _enableQueryForumLinks(messageContainer){
  var links = $(messageContainer.parentNode).select("a");
  for (var i = 0; i < links.length; i++) {
    links[i].href = links[i]._href;
    links[i]._href = undefined;
  }
}

function _disableQueryForumLinks(messageContainer){
  var links = $(messageContainer.parentNode).select("a");
  for (var i = 0; i < links.length; i++) {
    links[i]._href = links[i].href;
    links[i].href = 'javascript:void(null)';
  }
}

function expandQueryForumTopic(msgId){
  var messageContainer = $('queryForumTopicContainer' + msgId);
  
  if (messageContainer.getStyle('display') == "none") {
    var queryTopicLoaderContainer = 'queryForumTopicTitle' + msgId;
    var url = '/' + getLocale() + '/tools/queryforum/viewtopic';
    new Ajax.Request(url, {
      parameters: {
        topicid: msgId
      },
      method: 'get',
      onCreate: function(transport){
        _disableQueryForumLinks(messageContainer);
        $(queryTopicLoaderContainer).removeClassName('queryForumTopicTitle');
        $(queryTopicLoaderContainer).addClassName('queryForumTopicTitleLoading');
        
      },
      onSuccess: function(transport){
        messageContainer.innerHTML = transport.responseText;
        Effect.SlideDown(messageContainer, {
          duration: 0.3,
          afterFinish: function(){
            _enableQueryForumLinks(messageContainer)
            $(queryTopicLoaderContainer).removeClassName('queryForumTopicTitleLoading');
            $(queryTopicLoaderContainer).addClassName('queryForumTopicTitle');
          }
        });
      },
      onFailure: function(transport){
        /* ToDo: Lokalisointi */
        messageContainer.innerHTML = 'Viestiketjun lataus ep\u00e4onnistui. Yrit\u00e4 uudelleen.';
        _enableQueryForumLinks(messageContainer)
      }
    });
  }
  else {
    _disableQueryForumLinks(messageContainer);
    
    Effect.SlideUp(messageContainer, {
      duration: 0.3,
      afterFinish: function(){
        _enableQueryForumLinks(messageContainer)
      }
    });
  }
}

function submitQueryForumNewReply(event){
  Event.stop(event);
 
  updateFCKLinkedFields();
	  
  var formElement = Event.element(event);
  var serializedData = Form.serialize(formElement); 
  
  var url = '/' + getLocale() + '/tools/queryforum/newreply.save';
  var container = $('newReplyContainer');
  var firstC = null;
  while (firstC = $(container.firstChild)) {
    container.removeChild(firstC);
  }
  
  new Ajax.Request(url, {
    method: 'post',
    parameters: serializedData,
    onCreate: function(transport){
      container.removeClassName('dialogContainerNewReply');
      container.addClassName('dialogContainerNewReplySaved');
      container.setStyle({
        opacity: 1,
        zIndex: 1000,
        background: "#fff",
        position: "absolute",
        left: "20%",
        right: "20%",
        padding: "1px"
      });
    container.innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onSuccess: function(transport){
      container.innerHTML = transport.responseText;
      completeRefreshQueryForum(formElement['threadStarterNo'].value);
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      container.innerHTML = 'Viestin tallennus ep\u00e4onnistui. Yrit\u00e4 uudelleen.';
    }
    
  });
}

function completeRefreshQueryForum(msgId){
  var url = '/' + getLocale() + '/tools/queryforum/completerefresh?msgId=' + msgId;
  var container = $('queryForumAreaContainer');
  new Ajax.Request(url, {
    method: 'get',
    onCreate: function(transport){
      $(container).innerHTML = '<div class="queryforumRefreshLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
    },
    onFailure: function(transport){
      /* ToDo: Lokalisointi */
      $(container).innerHTML = "Keskustelun lataus ep\u00e4onnistui. Yrit\u00e4 uudelleen.";
    },
    onSuccess: function(transport){
      $(container).innerHTML = transport.responseText;
      expandQueryForumTopic(msgId);
    }
  });
}

function submitQueryForumNewTopic(event, resNo){
  Event.stop(event);
  
  updateFCKLinkedFields();
  
  var formElement = Event.element(event);
  var serializedData = Form.serialize(formElement); 
  
  var url = '/' + getLocale() + '/tools/queryforum/newtopic.save';
  var container = $('newTopicContainer');
  var firstC = null;
  
  if ($(formElement.subject).value.blank()){
	  alert('Viestin otsikko on pakollinen tieto, ole hyvÃ¤ ja kirjoita viestillesi otsikko.');
  } else if ($(formElement.content).value.blank()){
	  alert('Viestin sisÃ¤ltÃ¶ on pakollinen tieto, ole hyvÃ¤ ja kirjoita viestillesi sisÃ¤ltÃ¶.');
  } else {
	  
	  while (firstC = $(container.firstChild)) {
        container.removeChild(firstC);
      }
	  
	  new Ajax.Request(url, {
	    method: 'post',
		parameters: serializedData,
		onCreate: function(transport){
		  container.innerHTML = '<div class="genericLoadingContainer"><img src="/fi/gfx/loading.gif"/></div>';
		},
		onSuccess: function(transport){
		  container.innerHTML = transport.responseText;
		  refreshQueryForum(resNo);
		},
		onFailure: function(transport){
		  /* ToDo: Lokalisointi */
		  container.innerHTML = 'Viestin tallennus ep\u00e4onnistui. Yrit\u00e4 uudelleen.';
		}
      });  
    }
}

function toggleHeaderSize(event){
  var largeHeaderElement = $('siteHeaderGRP');
  var smallHeaderElement = $('siteHeaderGRPSmall');
  
  var headerSize = Cookie.get("eDsiteHeaderMinimized");
  if (headerSize != 1) {
    Cookie.set("eDsiteHeaderMinimized", 1, '/', 30);
    
    Effect.SlideUp(largeHeaderElement, {
      duration: 0.3,
      afterFinish: function(){
        Effect.BlindDown(smallHeaderElement, {
          duration: 0.2
        });
      }
    });
    
  }
  else {
    Cookie.set("eDsiteHeaderMinimized", 0, '/', 30);
    
    Effect.SlideUp(smallHeaderElement, {
      duration: 0.2,
      afterFinish: function(){
        Effect.BlindDown(largeHeaderElement, {
          duration: 0.3
        });
      }
    });
  }
}

function createNewPanelDialog(event){
  var title = Event.element(event).innerHTML;
  var dialog = new IxDialog({
    id: "newPanelDialog",
    centered: true,
    title: title
  });
  
  dialog.setSize('420px', '420px');
  
  dialog.loadContent('/' + getLocale() + '/newpanel', {
    onSuccess: function(transport){
      createFCKEditors();
    },
    onFailure: function(transport){
      
    }
  });
  
  var glassPane = addGlassPane();
  Event.observe(glassPane, "click", function (event) {
    closeNewPanelDialog();
  }); 
  
  dialog.open();
}

function closeNewPanelDialog(){
  getDialog('newPanelDialog').close();
  removeGlassPane();
}

function submitNewPanelDialog(event) {
  Event.stop(event);
  
  var formElement = Event.element(event);
  updateFCKLinkedFields();
  
  new Ajax.Request('/' + getLocale() + '/newpanel.save', {
    parameters: Form.serialize(formElement),
    method: "post",
	  onCreate: function (transport){
			$('newPanelDialog').innerHTML = '';
      $('newPanelDialog').addClassName('loading');
	  },
    onSuccess: function (transport) {
      var validNode = transport.responseXML.documentElement.getElementsByTagName('errorCode')[0];
      var ret = parseInt(getElementText(validNode));
      if (ret == 0) {
        closeNewPanelDialog();
        window.location.href = '/' + getLocale() + '/grouplist';
      }
      else {
        var content = getElementText(transport.responseXML.getElementsByTagName('message')[0]);
        var title = getElementText(transport.responseXML.getElementsByTagName('title')[0]);
        new IxAlert(content, title).show();
      }
      
    },
    onFailure: function (transport){
       alert('Error occured while creating new panel!');
    }
  });  
}

function deleteMessageAttachment(id){
  var attachmentLoading = 'attachment' + id;
  var attachmentWrapper = 'attachmentWrapper' + id;;
  new Ajax.Request('?res=deletemessageattachment&attachmentId=' + id, {
    onCreate: function(transport){
      $(attachmentLoading).removeClassName('forumAttachmentDeleteIconContainer');
      $(attachmentLoading).addClassName('editMessageAttachmentLoading');
    },
    onSuccess: function (transport) {
      $(attachmentWrapper).remove();
    },
    onFailure: function (transport){
       alert('Error occured while removing attachment!');
       $(attachmentLoading).removeClassName('editMessageAttachmentLoading');
       $(attachmentLoading).addClassName('forumAttachmentDeleteIconContainer');
    }
  });
}


function openPanelLogInDialog(event,grpResNo){
  var title = Event.element(event).innerHTML;
  var dialog = new IxDialog({
    id: "newPanelLogInDialog",
    centered: true,
    title: title
  });
  
  dialog.setSize('250px', '155px');
  
  dialog.loadContent('/' + getLocale() + '/openpanellogin?grpResNo=' + grpResNo,{
    method: 'get'
  });
  
  var glassPane = addGlassPane();
  Event.observe(glassPane, "click", function (event) {
    closePanelLogInDialog();
  }); 
  
  dialog.open();
}

function openForgotPasswordDialog(event){
  var title = Event.element(event).innerHTML;
  var dialog = new IxDialog({
    id: "newForgotPasswordDialog",
    centered: true,
    title: title
  });
  
  dialog.setSize('450px', '200px');
  
  dialog.loadContent('/' + getLocale() + '/g_forgotpassword',{
    method: "get"
  });
  
  var glassPane = addGlassPane();
  Event.observe(glassPane, "click", function (event) {
    closeForgotPasswordDialog();
  }); 
  
  dialog.open();
}

function closePanelLogInDialog(){
  getDialog('newPanelLogInDialog').close();
  removeGlassPane();
}

function closeForgotPasswordDialog(){
  getDialog('newForgotPasswordDialog').close();
  removeGlassPane();
}

function openPanelLogInDialog_submit(event){
  
  var href = window.location.href;
  var x = href.indexOf('/submit');
  if (x > 0)
    href = href.substring(0, x);
  
  Event.stop(event);
  
  var formElement = Event.element(event);
  
  new Ajax.Request('/' + getLocale() + '/openpanellogin.save', {
    parameters: Form.serialize(formElement),
    method: "post",
    onSuccess: function (transport) {
      var validNode = transport.responseXML.documentElement.getElementsByTagName('errorCode')[0];
      var ret = parseInt(getElementText(validNode));
      if (ret == 0) {
        closePanelLogInDialog();
        window.location.replace(href);
      }
      else {
        var content = getElementText(transport.responseXML.getElementsByTagName('message')[0]);
        var title = getElementText(transport.responseXML.getElementsByTagName('title')[0]);
        new IxAlert(content, title).show();
      }
    }
  });
}

function openForgotPasswordDialog_submit(event) {

  Event.stop(event);

  var formElement = Event.element(event);

  new Ajax.Request('/' + getLocale() + '/g_forgotpassword.save', {
    parameters : Form.serialize(formElement),
    method : "post",
    onCreate : function(transport) {
      $('newForgotPasswordDialog').addClassName('loading');
    },
    onSuccess : function(transport) {

      var validNode = transport.responseXML.documentElement.getElementsByTagName('errorCode')[0];
      var ret = parseInt(getElementText(validNode));
      if (ret == 0) {
        closeForgotPasswordDialog();
        var content = getElementText(transport.responseXML.getElementsByTagName('OkMessage')[0]);
        var title = getElementText(transport.responseXML.getElementsByTagName('OkTitle')[0]);
        new IxAlert(content, title).show();
      } else {
        $('newForgotPasswordDialog').removeClassName('loading');
        var content = getElementText(transport.responseXML.getElementsByTagName('message')[0]);
        var title = getElementText(transport.responseXML.getElementsByTagName('title')[0]);
        new IxAlert(content, title).show();
      }

    }
  });
}

/* Forum */

function showNewReplyMessage(postID,page,topicID,topicPage){
  var replyMessageContainer = 'replyContainer' + postID;
  new Ajax.Request('?C:res=newreplytomsg&postid=' + postID + '&page=' + page + '&topicid=' + topicID + '&topicpage=' + topicPage, {
    onCreate: function(transport){
      $(replyMessageContainer).addClassName('loading');
      $(replyMessageContainer).setStyle({
        height: 250 + 'px'
      });
    },
    onSuccess: function (transport) {
      $(replyMessageContainer).removeClassName('loading');
      $(replyMessageContainer).innerHTML = transport.responseText;
      createFCKEditors();
    },
    onFailure: function (transport){
      $(replyMessageContainer).innerHTML = transport.responseText;
      (replyMessageContainer).removeClassName('loading');
    }
  });
}

function postMessageReply(event) {
  Event.stop(event);  
  updateFCKLinkedFields();
  var formElement = Event.element(event);
  var postId = formElement.postid.value;
  var page = formElement.page.value;
  var topicpage = formElement.topicpage.value;
  var topicid = formElement.topicid.value;
  var messageSubject = formElement['subject'].value;
  var messageContent = formElement['content' + postId].value;
  
  new Ajax.Request('?C:res=newreplytomsg.save', {
    parameters: {
      postid: postId,
      page: page,
      topicid: topicid,
      topicpage: topicpage,
      subject: messageSubject,
      content: messageContent 
    },
    onCreate: function (transport){
      var replyEditorContainer = $('replyContainer' + postId);
      var replySaveModal = 'replySaveModal' + postId;
      var offSets = replyEditorContainer.cumulativeOffset();
      var dims = replyEditorContainer.getDimensions();
      var bodyElement = document.getElementsByTagName('body')[0];
      
      var saveModalElement = Builder.node("div", {id: replySaveModal});
      bodyElement.appendChild(saveModalElement);
      $(replySaveModal).addClassName("loading");
      $(replySaveModal).setStyle({
        "position": "absolute",
        "top": offSets.top + "px",
        "left": offSets.left + "px",
        "width": dims.width + "px",
        "height": dims.height + "px",
        "opacity": "0.8",
        "z-index": "10001",
        "backgroundColor": "#ffffff"
      });
      
      
    },
    onSuccess: function (transport) {
      var jsonResponse = transport.responseText.evalJSON();
      var replyEditorContainer = $('replyContainer' + postId);
      var replySaveModal = 'replySaveModal' + postId;
      var postedMessageId = jsonResponse.messageNo;
      var postedMessageId = jsonResponse.messageNo;
      var topicId = jsonResponse.topicid;
      var topicpage = jsonResponse.topicpage;
      var page = jsonResponse.page;
      $(replySaveModal).remove();
      
      new Ajax.Request('?C:res=loadpost', {
        parameters: {
          postid: postedMessageId,
          page: page,
          topicpage: topicpage,
          topicid: topicid
        },
        onSuccess: function (transport) {
          var postWrapperNode = Builder.node("div", {style: "margin-left: 20px; opacity: 0"});
          postWrapperNode.innerHTML = transport.responseText;
          var treeWrapper = replyEditorContainer.up('.forumPostTreeWrapper');
          treeWrapper.appendChild(postWrapperNode);
          var postHeight = postWrapperNode.getDimensions().height;
          replyEditorContainer.remove();
          
          new Effect.Morph(postWrapperNode, {
            style: "height:" + postHeight + "px; opacity: 1",
            duration: 0.8,
            afterFinish: function () {
              postWrapperNode.setStyle({
                height: ''
              });
            }
          });
          
          Effect.ScrollTo($(postWrapperNode));
        },
        onFailure: function (transport) {
          alert('Tallennetun viestin lataus epÃ¤onnistui! Lataa sivu uudelleen korjataksesi ongelman.');
        }
      });
      
      Effect.SlideUp(replyEditorContainer, {
        duration : 0.3,
        afterFinish: function () {
        replyEditorContainer.innerHTML = '';
        replyEditorContainer.setStyle({
            display: 'block'
          });
        }
      });
    },
    onFailure: function (transport){
      alert('Viestin tallennus epÃ¤onnistui! Lataa sivu uudelleen ja yritÃ¤ tallennusta uudestaan.');
    }
  });
}

/* New quote */

function showNewQuoteMessage(postID,page,topicID,topicPage){
  var quoteMessageContainer = 'quoteContainer' + postID;
  new Ajax.Request('?C:res=newquotetomsg&postid=' + postID + '&page=' + page + '&topicid=' + topicID + '&topicpage=' + topicPage, {
    onCreate: function(transport){
      $(quoteMessageContainer).addClassName('loading');
      $(quoteMessageContainer).setStyle({
        height: 250 + 'px'
      });
    },
    onSuccess: function (transport) {
      $(quoteMessageContainer).removeClassName('loading');
      $(quoteMessageContainer).innerHTML = transport.responseText;
      createFCKEditors();
    },
    onFailure: function (transport){
      $(quoteMessageContainer).innerHTML = transport.responseText;
      (quoteMessageContainer).removeClassName('loading');
    }
  });
}

function addNewCommentForDocument(docResNo){

  
  new Ajax.Request('/' + getLocale() + '/tools/document_comment/new_comment',{
    parameters: {
      docResNo: docResNo
    },
    onCreate: function (transport){
      $('siteDocumentNewCommentContainer').setStyle({
        height: 300 + 'px',
        padding: 10 + 'px'
      });
      $('siteDocumentNewCommentContainer').addClassName('loading');
    },
    onSuccess: function (transport){
      $('siteDocumentNewCommentContainer').removeClassName('loading');
      $('siteDocumentNewCommentContainer').innerHTML = transport.responseText;
      createFCKEditors();
    }
  });
}

function submitDocumentComment(event){
  Event.stop(event);
  
  updateFCKLinkedFields();
  
  var formElement = Event.element(event);
  var serializedData = Form.serialize(formElement); 
  
  var url = '/' + getLocale() + '/tools/document_comment/new_comment.save';
  var container = $('siteDocumentNewCommentContainer');
  var firstC = null;
  
  new Ajax.Request(url, {
    method: 'post',
    parameters: serializedData,
    onCreate: function(transport){
      container.innerHTML = '';
      container.addClassName('loading');
    },
    onSuccess: function(transport){
      window.location.reload();
    }
  });
}

function deleteCommentFromDocument(msgNo){
  var confirmText = confirm("Oletko varma ettÃ¤ haluat poistaa viestin?")
  if (confirmText){
    
    new Ajax.Request('/' + getLocale() + '/tools/document_comment/delete_comment',{
      parameters: {
        msgNo: msgNo
      },
      onCreate: function (transport){
        
      },
      onSuccess: function (transport){
        window.location.reload();
      }
    });
  } else {
    
  }
}

function postMessageQuote(event) {
  Event.stop(event);  
  updateFCKLinkedFields();
  var formElement = Event.element(event);
  var postId = formElement.postid.value;
  var page = formElement.page.value;
  var topicpage = formElement.topicpage.value;
  var topicid = formElement.topicid.value;
  var messageSubject = formElement['subject'].value;
  var messageContent = formElement['content' + postId].value;
  
  new Ajax.Request('?C:res=newquotetomsg.save', {
    parameters: {
      postid: postId,
      page: page,
      topicid: topicid,
      topicpage: topicpage,
      subject: messageSubject,
      content: messageContent 
    },
    onCreate: function (transport){
      var quoteEditorContainer = $('quoteContainer' + postId);
      var quoteSaveModal = 'quoteSaveModal' + postId;
      var offSets = quoteEditorContainer.cumulativeOffset();
      var dims = quoteEditorContainer.getDimensions();
      var bodyElement = document.getElementsByTagName('body')[0];
      
      var saveModalElement = Builder.node("div", {id: quoteSaveModal});
      bodyElement.appendChild(saveModalElement);
      $(quoteSaveModal).addClassName("loading");
      $(quoteSaveModal).setStyle({
        "position": "absolute",
        "top": offSets.top + "px",
        "left": offSets.left + "px",
        "width": dims.width + "px",
        "height": dims.height + "px",
        "opacity": "0.8",
        "z-index": "10001",
        "backgroundColor": "#ffffff"
      });
      
      
    },
    onSuccess: function (transport) {
      var jsonResponse = transport.responseText.evalJSON();
      var quoteEditorContainer = $('quoteContainer' + postId);
      var quoteSaveModal = 'quoteSaveModal' + postId;
      var postedMessageId = jsonResponse.messageNo;
      var topicId = jsonResponse.topicid;
      var topicpage = jsonResponse.topicpage;
      var page = jsonResponse.page;
      $(quoteSaveModal).remove();
      
      new Ajax.Request('?C:res=loadpost', {
        parameters: {
          postid: postedMessageId,
          page: page,
          topicpage: topicpage,
          topicid: topicid
        },
        onSuccess: function (transport) {
          var postWrapperNode = Builder.node("div", {style: "margin-left: 20px; opacity: 0"});
          postWrapperNode.innerHTML = transport.responseText;
          var treeWrapper = quoteEditorContainer.up('.forumPostTreeWrapper');
          treeWrapper.appendChild(postWrapperNode);
          var postHeight = postWrapperNode.getDimensions().height;
          quoteEditorContainer.remove();
          new Effect.Morph(postWrapperNode, {
            style: "height:" + postHeight + "px; opacity: 1",
            duration: 0.8,
            afterFinish: function () {
              postWrapperNode.setStyle({
                height: ''
              });
            }
          });
          Effect.ScrollTo($(postWrapperNode));
        },
        onFailure: function (transport) {
          alert('Tallennetun viestin lataus epÃ¤onnistui! Lataa sivu uudelleen korjataksesi ongelman.');
        }
      });
      
      Effect.SlideUp(quoteEditorContainer, {
        duration : 0.3,
        afterFinish: function () {
        quoteEditorContainer.innerHTML = '';
        quoteEditorContainer.setStyle({
            display: 'block'
          });
        }
      });
    },
    onFailure: function (transport){
      alert('Viestin tallennus epÃ¤onnistui! Lataa sivu uudelleen ja yritÃ¤ tallennusta uudestaan.');
    }
  });
}


