var naviHover = new Array('1_uutiset_hover.gif', '2_blogit_hover.gif', '3_arkisto_hover.gif', '4_tyopaikat_hover.gif', '5_tietoja_hover.gif', '6_itkirjat_hover.gif');
var naviOrig = new Array('1_uutiset_off.gif', '2_blogit_off.gif', '3_arkisto_off.gif', '4_tyopaikat_off.gif', '5_tietoja_off.gif', '6_itkirjat_off.gif');
var naviHoverImgs = new Array();
var naviOrigImgs = new Array();

for (i = 0; i < naviHover.length; i++)
{
  naviHoverImgs[i] = new Image();
  naviHoverImgs[i].src = '/files/images/' + naviHover[i];
}
for (i = 0; i < naviOrig.length; i++)
{
  naviOrigImgs[i] = new Image();
  naviOrigImgs[i].src = '/files/images/' + naviOrig[i];
}

var subReq = false;
var subReqUnhide = false;
var subReqFocus = false;
var prevReq = false;
var prevTarget = false;

function naviAct(id)
{
  naviElem = document.getElementById('navi' + (id + 1));
  if (naviElem)
  {
    naviElem.src = naviHoverImgs[id].src;
  }
}

function naviDeact(id)
{
  naviElem = document.getElementById('navi' + (id + 1));
  if (naviElem)
  {
    naviElem.src = naviOrigImgs[id].src;
  }
}


function replyToComment(relatedId,commentId)
{
  if (comTimeout != undefined && comTimeout != false)
  {
    clearTimeout(comTimeout);
  }
  if (commentId != 0)
  {
    replyDiv = document.getElementById('cr' + commentId);
    if (replyDiv) 
    {
      subReqUnhide = replyDiv;
      subReqFocus = 'reply' + commentId;
      docCookie = document.cookie;
      sessionCookie = 'khtml=sucks';
      if (docCookie && docCookie.indexOf(';') > -1)
      {
	cookies = docCookie.split(/;/);
	for (i = 0; i < cookies.length; i++)
        {
	  cook = cookies[i].split(/=/);
	  if (cook[0] == 'Sektori')
	  {
	    sessionCookie = escape(cook[0]) + '=' + escape(cook[1]);
	  }
	}
      } else {
	sessionCookie = document.cookie;
      }
      loadContent('/index.php', 'tpl=comment&related_to=' + relatedId + '&reply_to=' + commentId + '&' + sessionCookie, replyDiv);
    }
  } else {
    replyDiv = document.getElementById('crmain');
    if (replyDiv)
    {
      replyDiv.style.display = 'block';
    }
  }
}

function loadContentCallback()
{
  if (subReq.readyState == 4 && subReq.status == 200)
  {
    replyDiv = subReqUnhide;
    replyDiv.innerHTML = subReq.responseText;
    if (subReqUnhide)
    {
      subReqUnhide.style.display = 'block';
    }
    if (subReqFocus)
    {
      focusElem = document.getElementById(subReqFocus);
      if (focusElem)
      {
	focusElem.focus();
	focusElem.value = focusElem.value;
      }
    }
  }
}

function loadContent(url, params, targetElem) 
{
  subReq = false;
  if (window.XMLHttpRequest) 
  {
    try {
      subReq = new XMLHttpRequest();
    } catch (e) {
      subReq = false;
    }
  } else 
    if (window.ActiveXObject) 
    {
      try {
        subReq = new ActiveXObject('Msxml2.XMLHTTP');
      } catch (e) {
        try {
  	 subReq = new ActiveXObject('Microsoft.XMLHTTP');
        } catch (e) {
	  subReq = false;
        }
      }
    }
 
  if (subReq) 
  {
    subReq.onreadystatechange = loadContentCallback;
    subReq.open('POST', url, true);
    subReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    subReq.send(params);
  }
}

function previewCommentCallback()
{
  if (prevReq.readyState == 4 && prevReq.status == 200)
  {
    prevTarget.innerHTML = prevReq.responseText;
  }
}

function escapeParam(str)
{
  data = escape(str);
  data = data.replace(/\+/, '%2B', data);
  return data;
}

function previewComment(previewId) 
{
  if (previewId == '')
  {
    divElem = document.getElementById('crmain');
    formElem = document.getElementById('cf');
  } else {
    divElem = document.getElementById('cr' + previewId);
    formElem = document.getElementById('cf' + previewId);
  }

  prevTarget = divElem;
 
  prevReq = false;
  if (window.XMLHttpRequest) 
  {
    try {
      prevReq = new XMLHttpRequest();
    } catch (e) {
      prevReq = false;
    }
  } else 
    if (window.ActiveXObject) 
    {
      try {
        prevReq = new ActiveXObject('Msxml2.XMLHTTP');
      } catch (e) {
        try {
  	 prevReq = new ActiveXObject('Microsoft.XMLHTTP');
        } catch (e) {
	  prevReq = false;
        }
      }
    }
 
  if (prevReq) 
  {
    replyText = document.getElementById('reply' + previewId).value;
    //    replyText = eval('formElem.reply' + previewId + '.value');
    formElem = document.getElementById('reply' + previewId).form;
    url = '/index.php';
    params = 'tpl=previewComment&reply_to=' + (formElem.reply_to ? escapeParam(formElem.reply_to.value) : '') + '&related_to=' + escapeParam(formElem.related_to.value) + '&subject=' + escapeParam(formElem.subject.value) + '&reply' + previewId + '=' + escapeParam(replyText) + '&Sektori=' + escapeParam(formElem.Sektori.value);
    
    prevReq.onreadystatechange = previewCommentCallback;
    prevReq.open('POST', url, true);
    prevReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    prevReq.send(params);
  }
}

function editComment(previewId) 
{
  if (previewId == '')
  {
    divElem = document.getElementById('crmain');
    formElem = document.getElementById('cf');
  } else {
    divElem = document.getElementById('cr' + previewId);
    formElem = document.getElementById('cf' + previewId);
  }

  subReqUnhide = divElem;
 
  subReq = false;
  if (window.XMLHttpRequest) 
  {
    try {
      subReq = new XMLHttpRequest();
    } catch (e) {
      subReq = false;
    }
  } else 
    if (window.ActiveXObject) 
    {
      try {
        subReq = new ActiveXObject('Msxml2.XMLHTTP');
      } catch (e) {
        try {
  	 subReq = new ActiveXObject('Microsoft.XMLHTTP');
        } catch (e) {
	  subReq = false;
        }
      }
    }
 
  if (subReq) 
  {
    replyText = eval('formElem.reply' + previewId + '.value');
    url = '/index.php';
    params = 'tpl=comment&reply_to=' + escapeParam(formElem.reply_to.value) + '&related_to=' + escapeParam(formElem.related_to.value) + '&subject=' + escapeParam(formElem.subject.value) + '&reply' + previewId + '=' + escapeParam(replyText) + '&Sektori=' + escapeParam(formElem.Sektori.value);
    subReq.onreadystatechange = loadContentCallback;
    subReq.open('POST', url, true);
    subReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    subReq.send(params);
  }
}

var comReq = false;
var comCheckNewsId = 7539;
var comCheckLastTime = 0;
var comCheckFadeArray = new Array();
var comCheckFadeLoop = 0;
var comTimeout = false;

function newCommentsFadeIn()
{
  maxhit = false;

  for (i = 0; i < comCheckFadeArray.length; i++)
  {
    cfdiv = document.getElementById('cf' + comCheckFadeArray[i]);
    if (cfdiv)
    {
      if (cfdiv.filters)
      {
	cfdiv.filters.alpha.opacity = (comCheckFadeLoop * 10);
	if (cfdiv.filters.alpha.opacity >= 100)
        {
	  maxhit = true;
	}
      } else {
        cfdiv.style.MozOpacity = (comCheckFadeLoop * 0.1);
	if (cfdiv.style.MozOpacity >= 1.0)
        {
	  maxhit = true;
	}
      }
    }
  }
  if (maxhit)
  {
    comCheckFadeArray = new Array();
    comTimeout = setTimeout('checkNewComments()', 20000);
  } else {
    comCheckFadeLoop += 1;
    setTimeout('newCommentsFadeIn()', 50);
  }
}

function gotNewComments()
{
  var newcomments = 0;
  if (comReq && comReq.readyState == 4 && comReq.status == 200)
  {
    xmldoc = (document.all ? comReq.responseXML.documentElement : comReq.responseXML.childNodes[0]);
    if (xmldoc)
    {
      maxtime = comCheckLastTime;
      // comments = xmldoc.childNodes;
      for (ck = 0; ck < xmldoc.childNodes.length; ck++)
      {
	if (xmldoc.childNodes[ck].nodeType == 1 &&
	    xmldoc.childNodes[ck].nodeName == 'comment')
	{
	  comid = xmldoc.childNodes[ck].getAttribute('id');
	  comtime = xmldoc.childNodes[ck].getAttribute('time');
	  if (comtime > maxtime)
	  {
	    maxtime = comtime;
	  }
	  comparent = xmldoc.childNodes[ck].getAttribute('parent');
	  if (comparent == 0)
          {
	    comsub = document.getElementById('comments');
	  } else {
	    comsub = document.getElementById('cs' + comparent);
	  }
	  if (comsub)
	  {
	    comsub.innerHTML = comsub.innerHTML + '<div id="cf' + comid + '" style="filter:alpha(opacity=0); width:100%; -moz-opacity:0;">' + xmldoc.childNodes[ck].childNodes[0].nodeValue + '</div>';
	    comCheckFadeArray.push(comid);
	    newcomments++;
	  }
	}
      }
      comCheckLastTime = maxtime;
      if (newcomments == 0)
      {
        comTimeout = setTimeout('checkNewComments()', 20000);
      } else {
	newdiv = document.getElementById('newcomments');
	if (newdiv)
        {
	  newdiv.innerHTML = (new Number(newdiv.innerHTML) + newcomments);
	}

	comCheckFadeLoop = 0;
        setTimeout('newCommentsFadeIn()', 100);
      }
    }
  }
}

function checkNewComments()
{
  if (window.XMLHttpRequest) 
  {
    try {
      comReq = new XMLHttpRequest();
    } catch (e) {
      comReq = false;
    }
  } else 
    if (window.ActiveXObject) 
    {
      try {
        comReq = new ActiveXObject('Msxml2.XMLHTTP');
      } catch (e) {
        try {
  	 comReq = new ActiveXObject('Microsoft.XMLHTTP');
        } catch (e) {
	  comReq = false;
        }
      }
    }

  comReq.onreadystatechange = gotNewComments;
  comReq.open('POST', '/index.php', true);
  comReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  comReq.send('tpl=ajaxComments&id=' + escapeParam(comCheckNewsId) + '&since=' + escapeParam(comCheckLastTime));
}

function hideReadComments()
{
  for (i = 0; i < readComments.length; i++)
  {
    cmain = document.getElementById('cm' + readComments[i]);
    chead = document.getElementById('ch' + readComments[i]);
    ctext = document.getElementById('ct' + readComments[i]);
    creply = document.getElementById('cr' + readComments[i]);
    if (chead)
    {
      if (chead.style.display != 'none')
      {
        chead.style.display = 'none';
        if (ctext)
        {
          ctext.style.display = 'none';
        }
        if (creply)
        {
          creply.style.display = 'none';
        }
	/*
        if (cmain)
        {
          cmain.style.display = 'none';
        }
	*/
      } else {
        chead.style.display = 'inline';
        if (ctext)
        {
          ctext.style.display = 'inline';
        }
        if (creply)
        {
          creply.style.display = 'inline';
        }
        if (cmain)
        {
          cmain.style.display = 'inline';
        }
      }
    }
  }
}

window.onload = function() {
  var links = document.getElementsByTagName('a');
  for (var i = 0; i < links.length; i++)
  {
    if (links[i].className == 'new-window')
    {
      links[i].onclick = function() {
	window.open(this.href);
	return false;
      };
    }
  }
};
