﻿var xhttpRequest;
var lastRequest;

function GetXMLHttpRequestFactory()
{
  try
  {
      return ( new ActiveXObject("Msxml2.XMLHTTP2") ) ; 
  } catch (e) {}
  try
  {
    return ( new ActiveXObject("Microsoft.XMLHTTP")) ; 
  }
   catch (e) {}

  try
  {  
    return (new XMLHttpRequest());
  } catch (e) {}
  alert(" Your browser does not have XML Http Capability. Get IE, Firefox , Opera.");
  return (null);
}

function callServerMethod(frm,requestType)
{
    var rstr;    
    rstr = tarkastakentat(frm,requestType);
    if (rstr==''){return;}
    xhttpRequest = GetXMLHttpRequestFactory(); 
    if (xhttpRequest == null ) return ;   
    xhttpRequest.open("GET" ,requestType + ".ajax?" + rstr + "" , true );
    xhttpRequest.onreadystatechange = processResponse; 
    xhttpRequest.send(null);   
    
    lastRequest =   requestType;
    return ;

}

function processResponse()
{
      if (xhttpRequest == null ) return ;   
      if (xhttpRequest.readyState != 4 ) return ; // not gonna worry about error handling at this time .
    
      var responseText = xhttpRequest.responseText ; 
      responseText = responseText.substring(0, responseText.indexOf("[#END#]") ) ; 
      if (responseText.length >= 1)
      {
          
          document.getElementById(lastRequest + 'contentarea').innerHTML=responseText;
      }
      xhttpRequest = null ;
      return ;
}

function varmistapoisto(x, sivu)
{

if (sivu == '')
{

}
else
{
document.forms[x].sivulle.value = sivu;
}

var v
v = window.confirm("Olet poistamassa tietoja, haluatko jatkaa poistamista!!!")
if (v)
	{
	document.forms[x].tila.value=4;
	document.forms[x].submit();
	}
}



function tarkastakentat(frm,requestType)
{
//document.forms[0]

var sobjs;
var sfloat;
var sint;
var srequired;

sobjs = frm.elements[requestType + ':sobjs'].value;
sint = frm.elements[requestType + ':sint'].value;
sfloat = frm.elements[requestType + ':sfloat'].value;
srequired = frm.elements[requestType + ':srequired'].value;

var objects;
objects = sobjs.split(",");
var floats;
floats = new String(',' + sfloat + ',');
var ints;
ints = new String(',' + sint + ',');    
var required;
required = new String(',' + srequired + ',');
                        
var qsring;
qsring='';

var oInput;
var oName;
var oValue;
var oType;

for (var i = 0; i < objects.length;i++)
{
    oInput = frm.elements[requestType + ':' + objects[i]];
    oName = oInput.name;
    oName2 = ',' + objects[i] + ',';
        
    oValue = oInput.value;
    oType = oInput.type;
    
	if (required.indexOf(oName2,0) > -1)
	{

		if (oType == 'text' || oType == 'text-area')
		{			
			if (oValue == '')
				{
					oInput.focus();
					alert('Kenttä on pakollinen');	
					return '';
				} 
		}
	
		if (oType == 'select-one')
		{			
			if (oInput.selectedIndex == -1)
				{
					oInput.focus();
					alert('Yksi valinta on pakollinen');	
					return '';
				} 
		}	
	
	}
		
	if (floats.indexOf(oName2,0) > -1)
	{
		
		if (isNaN(parseFloat(oValue)))
			{
					oInput.focus();
					alert('Kentän tulee olla numeerisessa muodossa');	
					return '';						
			}
		oValue = oValue.replace(",",".");	
		oValue = parseFloat(oValue);
	}		
	if (ints.indexOf(oName2,0) > -1)
	{
		
		if (isNaN(parseInt(oValue)))
			{
					oInput.focus();
					alert('Kentän tulee olla numeerisessa muodossa');	
					return '';						
			}
		oValue = oValue.replace(",",".");	
		oValue = parseInt(oValue);
	}			
		
    qsring += oName + '=';
    qsring += oValue + '&';				
		
}
return qsring;
}