var xmlHttp;

function Ywindow()
{
	var scrollY = 0;
	
	if ( document.documentElement && document.documentElement.scrollTop )
	{
		scrollY = document.documentElement.scrollTop;
	}
	else if ( document.body && document.body.scrollTop )
	{
		scrollY = document.body.scrollTop;
	}
	else if ( window.pageYOffset )
	{
		scrollY = window.pageYOffset;
	}
	else if ( window.scrollY )
	{
		scrollY = window.scrollY;
	}
	
	return scrollY;
}

function showgif()
{
	try
	{
		var divobj = document.getElementById('loading-layer');
	}
	catch(e)
	{
		return;
	}
	
	//----------------------------------
	// Figure width and height
	//----------------------------------
	
	var my_width  = 0;
	var my_height = 0;
	
	if ( typeof( window.innerWidth ) == 'number' )
	{
		my_width  = window.innerWidth;
		my_height = window.innerHeight;
	}
	else if ( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
	{
		my_width  = document.documentElement.clientWidth;
		my_height = document.documentElement.clientHeight;
	}
	else if ( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
	{
		my_width  = document.body.clientWidth;
		my_height = document.body.clientHeight;
	}
	
	divobj.style.position = 'absolute';
	divobj.style.display  = 'block';
	divobj.style.zIndex   = 99;
	
	var divheight = parseInt( divobj.style.Height );
	var divwidth  = parseInt( divobj.style.Width );
	
	divheight = divheight ? divheight : 15;
	divwidth  = divwidth  ? divwidth  : 15;
	
	var scrolly = Ywindow();
	
	var setX = ( my_width  - divwidth  ) / 2;
	var setY = ( my_height - divheight ) / 2 + scrolly;
	
	setX = ( setX < 0 ) ? 0 : setX;
	setY = ( setY < 0 ) ? 0 : setY;
	
	divobj.style.left = setX + "px";
	divobj.style.top  = setY + "px";
}

function hidegif()
{
	try
	{
		var divobj = document.getElementById('loading-layer');
	}
	catch(e)
	{
		return;
	}
	divobj.style.display  = 'none';
}

function IRGet(url)
{
xmlHttp = GetXmlHttpObject();
if (xmlHttp == null)
 {
 alert ("Your browser does not support HTTP Request. Please, update your browser.");
 return;
 }
showgif();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}

function Back()
{ 
var n = document.getElementById('timepos').value;
n++;
document.getElementById('timepos').value = n;
var url = "/irget.php";
url = url + "?n=" + n;
IRGet(url);
}

function Forward()
{ 
var n = document.getElementById('timepos').value;
n--;
document.getElementById('timepos').value = n;
var url = "/irget.php";
url = url + "?n=" + n;
IRGet(url);
}

function GetRatesForDate()
{
	document.getElementById('phperror').style.display = "none";
	var date = document.getElementById('validDefaultPicker').value;
	var url = "/irget.php";
	url = url + "?d=" + date;
	IRGet(url);
}

function Reset()
{
	document.getElementById('timepos').value = 1;
	var today = new Date();
	var month = today.getMonth() + 1;
	var day = today.getDate();
	var year = today.getFullYear();
	if (month < 10) month = '0' + month;
	if (day < 10) day = '0' + day;
	document.getElementById('validDefaultPicker').value = year + '-' + month + '-' + day;
	document.getElementById('la1').style.display = "inline";
	document.getElementById('la2').style.display = "inline";
	document.getElementById('ra1').style.display = "none";
	document.getElementById('ra2').style.display = "none";
	document.getElementById('resetbutton').style.display = "none";
	Forward();
}

function stateChanged()
{ 
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
{ 
 var temp = new Array();
 temp = xmlHttp.responseText.split('\n');
 hidegif();
if (temp[0] == 'D') // Request for particular date
{
	if (temp[1] == 'E') // Error - invalid date was passed
	{
		document.getElementById('phperror').style.display = "block";
	}
	else
	{
		// Interest rates filling will be done farther below

		// Stop showing both left and right arrows
		document.getElementById('la1').style.display = "none";
		document.getElementById('la2').style.display = "none";
		document.getElementById('ra1').style.display = "none";
		document.getElementById('ra2').style.display = "none";

        // Start showing reset button
		document.getElementById('resetbutton').style.display = "block";
	}
}
else if (temp[0] == 'N') // Request was for Nth data set
{
 if (temp[1] == '1') // last_flag from irget.php
 {
  document.getElementById('la1').style.display = "none";
  document.getElementById('la2').style.display = "none";
 }
 else
 {
  document.getElementById('la1').style.display = "inline";
  document.getElementById('la2').style.display = "inline";
 }
 var n = document.getElementById('timepos').value;
 if (n <= 0) 
 {
  document.getElementById('ra1').style.display = "none";
  document.getElementById('ra2').style.display = "none";
 }
 else
 {
  document.getElementById('ra1').style.display = "inline";
  document.getElementById('ra2').style.display = "inline";
 }
} // END if N
// If everything's OK for both variants, fill the rates
if ((temp[0] == 'N') || (temp[0] == 'D') && (temp[1] != 'E'))
{
 for (var i = 2; i <= 35; i++)
 {
  if (temp[i] == '-') continue;
  var interest = temp[i].split('*');

  document.getElementById("ir"+(i-1)).innerHTML=interest[1] + "%";

  if (interest[3] == '0') 
  {
  	document.getElementById("irlc"+(i-1)).innerHTML= "<b>" + interest[0] + "</b>";
  }
  else document.getElementById("irlc"+(i-1)).innerHTML= "<b>" + interest[0] + "</b> by <b>" + interest[3] + "</b>%";
  if (interest[2] == '1') document.getElementById("iru"+(i-1)).className = "vis";
  else document.getElementById("iru"+(i-1)).className = "invis";
  if (interest[2] == '0') document.getElementById("irn"+(i-1)).className = "vis";
  else document.getElementById("irn"+(i-1)).className = "invis";
  if (interest[2] == '-1') document.getElementById("ird"+(i-1)).className = "vis";
  else document.getElementById("ird"+(i-1)).className = "invis";
 }
} // END if everything's OK
} // END Ajax validity check
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp = new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
