var xmlhttp;
var siirrytaan=0;


// check for XPath implementation 
if( document.implementation.hasFeature("XPath", "3.0") ) 
{ 
  // prototying the XMLDocument 
  XMLDocument.prototype.selectNodes = function(cXPathString, xNode) 
  { 
    if( !xNode ) 
      xNode = this;
    var oNSResolver = this.createNSResolver(this.documentElement) 
    var aItems = this.evaluate(cXPathString, xNode, oNSResolver,
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null) 
    var aResult = [];
    for( var i = 0; i < aItems.snapshotLength; i++) 
    { 
      aResult[i] = aItems.snapshotItem(i);
    } 
    return aResult;
  } 

  // prototying the Element 
  Element.prototype.selectNodes = function(cXPathString) 
  { 
    if(this.ownerDocument.selectNodes) 
      return this.ownerDocument.selectNodes(cXPathString, this);
    else
      throw "For XML Elements Only";
  } 
}

// check for XPath implementation 
if( document.implementation.hasFeature("XPath", "3.0") ) 
{ 
  // prototying the XMLDocument 
  XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode) 
  { 
    if( !xNode ) 
      xNode = this;
    var xItems = this.selectNodes(cXPathString, xNode);
    if( xItems.length > 0 ) 
      return xItems[0];
    else 
      return null;
  } 
} 

// prototying the Element 
if(!document.all)
{
Element.prototype.selectSingleNode = function(cXPathString) 
{
  if(this.ownerDocument.selectSingleNode) 
    return this.ownerDocument.selectSingleNode(cXPathString, this);
  else 
    throw "For XML Elements Only";
} 
}

if(window.XMLHttpRequest)
  xmlhttp = new XMLHttpRequest();
else if(window.ActiveXObject)
  try 
  {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch(e) 
  {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");    
  }
      
function getElementsByClass(elem, classname) {
  classes = new Array();
  alltags = document.getElementsByTagName(elem);
  for (i=0; i<alltags.length; i++)
      if (alltags[i].className == classname)
          classes[classes.length] = alltags[i];
  return classes;
}
  
function help(e,teksti)
{
  var posx = 0;
  var posy = 0;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY)
  {
    posx = e.pageX;
    posy = e.pageY;
  }
  else if (e.clientX || e.clientY)
  {
    posx = e.clientX + document.body.scrollLeft;
    posy = e.clientY + document.body.scrollTop;
  }

  he=document.getElementById("help");
  he.innerHTML=teksti;
  he.style.left=posx;
  he.style.top=posy;
  he.style.visibility="visible";
}

function lisaarivi(tablename)
{
  mybody=document.getElementById(tablename).getElementsByTagName("TBODY").item(0);
  myrow=mybody.getElementsByTagName("TR").item(mybody.getElementsByTagName("TR").length-1);
  if (myrow.getElementsByTagName("INPUT").item(0).value!="")
  {
    newrow=myrow.cloneNode(true);
    inputs=newrow.getElementsByTagName("INPUT");
    for (i=0;i<inputs.length;i++)
      inputs.item(i).value="";
    inputs=newrow.getElementsByTagName("SELECT");
    for (i=0;i<inputs.length;i++)
      inputs.item(i).value="";
    mybody.appendChild(newrow);
    for (i=0;i<inputs.length;i++)
      if(inputs[i].type!='hidden')
      {
        inputs[i].focus();
        break;
      } 
  }
}

function changetab(activepage,activetab,tablist)
{
  tabpages=getElementsByClass('div','tabpage2');
  for(t=0;t<tabpages.length;t++)    
  {
    tabpages[t].style.visibility='hidden';
    tabpages[t].style.display='none';
  }
  document.getElementById(activepage).style.visibility='';
  document.getElementById(activepage).style.display='block';
  tablista=document.getElementById(tablist);
  tabs=tablista.getElementsByTagName('li')
  for(t=0;t<tabs.length;t++)
    tabs[t].style.fontWeight='';
  activetab.style.fontWeight='bold';
//    activetab.style.color='red';
}


function muuta()
{
  document.frmTaso.muutettu.value=1;
}

function siirrysivulle(url,sivu)
{ 
//    document.body.style.backgroundColor='silver';
  if(siirrytaan==0)
  {
    siirrytaan=1;
    document.body.style.opacity='.5';
    formi=document.frmTaso;
	  if (formi&&formi.muutettu.value==1&&confirm("Tallennetaanko muutokset?"))
	  {
	    formi.uusiurl.value=url;
	    formi.uusisivu.value=sivu;
	    formi.tallenna.value=1;
	    formi.submit();
	    return false;
	  }
	  else
	    document.location=url;
	}
}  
  
function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

function trim( value ) {
	return LTrim(RTrim(value));
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function getAjax(url,func)
{
  if(window.XMLHttpRequest)
    xmlhttp = new XMLHttpRequest();
  else if(window.ActiveXObject)
    try 
    {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) 
    {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");    
    }  
  xmlhttp.onreadystatechange = func;
  xmlhttp.open("get",url,true);
  xmlhttp.send(null);    
}
