var xmlhttpValuta;
var igDelay = 40000, igDelayValuta = 40000;
var cgGreen = "#0A6812";
var cgRed = "#b20000";
var cgBlue = "#173D85";
var cgBackground = "#ffffff";
document.body.style.color = "#000000";
document.bgColor = cgBackground;


var igBVBEUR, igRASDAQEUR;

var valutaArray =[];
var radiusBig = 10, radiusSmall = 4, radiusTiny = 2;

window.onload=function(){
	if(!NiftyCheck())
	    return;
	Rounded("div.bigcolor1",cgBackground,cgGreen, radiusBig, radiusBig);
	Rounded("div.smallcolor1",cgBackground,cgGreen, radiusSmall, radiusSmall);
	Rounded("div.menucolor",cgBackground,"#173D85", radiusSmall, radiusSmall);

	windowOnLoadExtra();
	}

refreshValuta();

function showColorNumber(cId, iNumber)
{
	  var cTemp;
	  var cColor;
	  
	  cColor = cgBlue;
	  cTemp = formatNumber(iNumber);	  
	  if (iNumber < 0) {cColor = cgRed;}
	  if (iNumber > 0) {cColor = cgGreen;}  
	  
	  if (iNumber > 0) { cTemp = "+" + cTemp;}
	  
	  
	  try {
		  document.getElementById(cId).innerHTML="<font color =" + cColor + ">" + cTemp + "%</font>";
	  }
	  catch (e) {}
		
}
function refreshValuta()
{

	xmlhttpValuta = getHTTPObject(); // create the XMLHTTPRequest Object
	xmlhttpValuta.onreadystatechange=handleValuta;
	xmlhttpValuta.open("GET", "/jsp/valuta.jsp", true);   
	xmlhttpValuta.send (null);
		 
	t=setTimeout("refreshValuta()",igDelayValuta);
}

function handleValuta()
{
	var dOunces = 28.3495231;
	var iLocal, jLocal, y;
	var cVal = [];
	
	if(xmlhttpValuta.readyState==4)
	  {
		y=xmlhttpValuta.responseText;
		valutaArray = y.split("\r\n");

		for (iLocal=0;iLocal<valutaArray.length; iLocal++)
		{
			cVal = valutaArray[iLocal].split(",");
			cVal[0] = cVal[0].replace('RON=X"', "");
			cVal[0] = cVal[0].replace('EURUSD=X"', "EURUSD");
			cVal[0] = cVal[0].replace('"','');

			switch (cVal[0])
			{
			case 'HUF': case 'JPY': case 'KRW':
				cVal[1] = Math.round((cVal[1] * 100) *10000)/10000;
				cVal[4] = Math.round((cVal[4] * 100) *10000)/10000;
				cVal[5] = Math.round((cVal[5] * 100) *10000)/10000;
				break;
			case 'XAU':
				cVal[1] = Math.round((cVal[1] / dOunces) *10000)/10000;
				cVal[4] = Math.round((cVal[4] / dOunces) *10000)/10000;
				cVal[5] = Math.round((cVal[5] / dOunces) *10000)/10000;
				break;
			
			}

			valutaArray[iLocal] = cVal[0];
		    for (jLocal=1; jLocal<cVal.length; jLocal++)
		    {
			    valutaArray[iLocal] = valutaArray[iLocal] + "," + cVal[jLocal]; 
		    }
			  
		}
		
		showValuta ("USD", valutaArray[0]);		
		showValuta ("EUR", valutaArray[1]);		
		showValuta ("EURUSD", valutaArray[2]);				

 		try {extraValuta();}
 		catch (e) {}
	}
}

function showValuta (cValuta, cText)
{
	var cVal = [];
	
	val = cText.split(",");
	document.getElementById(cValuta).innerHTML= cValuta +":" + formatNumber (parseFloat(val[1]));	
}

function getHTTPObject() {
	var xmlhttpLocal;

	if (window.XMLHttpRequest) {
	     xmlhttpLocal = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
	     xmlhttpLocal = new ActiveXObject("Microsoft.XMLHTTP");
	}	 

	return xmlhttpLocal;
}

function formatNumber(nStr)
{
	var x;
	var x1;
	var x2;
	
	nStr += '';
	nStr = nStr.replace(".", ",");
	x = nStr.split(',');
	x1 = x[0];
	x2 = x.length > 1 ? ',' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + '.' + '$2');
	}
	return x1 + x2;
}

function getParam(varname)
{
  // First, we load the URL into a variable
  var url = window.location.href;
  // Next, split the url by the ?
  var qparts = url.split("?");
  // Check that there is a querystring, return "" if not
  if (qparts.length == 0)  { return "";  }
  // Then find the querystring, everything after the ?
  var query = qparts[1];
  // Split the query string into variables (separates by &s)
  var vars = query.split("&");
  // Initialize the value with "" as default
  var value = "";
  // Iterate through vars, checking each one for varname
  for (i=0;i<vars.length;i++)
  {
    // Split the variable by =, which splits name and value
    var parts = vars[i].split("=");    
    // Check if the correct variable
    if (parts[0] == varname)
    {
      // Load value into variable
      value = parts[1];
      // End the loop
      break;
    }
  }
  
  // Convert escape code
  value = unescape(value);
  // Convert "+"s to " "s
  value = value.replace("+"," ");
  
  // Return the value
  return value;
}
//this function is needed to work around 
//a bug in IE related to element attributes
function hasClass(obj) {
var result = false;
if (obj.getAttributeNode("class") != null) {
    result = obj.getAttributeNode("class").value;
}
return result;
}   

function stripe(id) {

// the flag we'll use to keep track of 
// whether the current row is odd or even
var even = false;

// if arguments are provided to specify the colours
// of the even & odd rows, then use the them;
// otherwise use the following defaults:
var evenColor = arguments[1] ? arguments[1] : "#fff";
var oddColor = arguments[2] ? arguments[2] : "#eee";

// obtain a reference to the desired table
// if no such table exists, abort
var table = document.getElementById(id);
if (! table) { return; }

// by definition, tables can have more than one tbody
// element, so we'll have to get the list of child
// &lt;tbody&gt;s 
var tbodies = table.getElementsByTagName("tbody");

// and iterate through them...
for (var h = 0; h < tbodies.length; h++) {

// find all the &lt;tr&gt; elements... 
 var trs = tbodies[h].getElementsByTagName("tr");
 
 // ... and iterate through them
 for (var i = 0; i < trs.length; i++) {

   // avoid rows that have a class attribute
   // or backgroundColor style
   if (! hasClass(trs[i]) &&
       ! trs[i].style.backgroundColor) {
		  
     // get all the cells in this row...
     var tds = trs[i].getElementsByTagName("td");
   
     // and iterate through them...
     for (var j = 0; j < tds.length; j++) {
   
       var mytd = tds[j];

       // avoid cells that have a class attribute
       // or backgroundColor style
       if (! hasClass(mytd) &&
           ! mytd.style.backgroundColor) {
   
         mytd.style.backgroundColor =
           even ? evenColor : oddColor;
       
       }
     }
   }
   // flip from odd to even, or vice-versa
   even =  ! even;
 }
}
}

/*
 NIFTY
 Automatic, anti-aliased rounded corners.
 
 By Steven Wittens
 Based on http://pro.html.it/esempio/nifty/
 
 Thanks to Jacob from Oddlabs.com for fixing two nasty bugs.
*/

function NiftyCheck() {
  if(!document.getElementById || !document.createElement) {
    return false;
  }
  var b = navigator.userAgent.toLowerCase();
  if (b.indexOf("msie 5") > 0 && b.indexOf("opera") == -1) {
    return false;
  }
  return true;
}

function Rounded(selector, bk, color, sizex, sizey) {
  var i;
  var v = getElementsBySelector(selector);
  var l = v.length;  
  for (i = 0; i < l; i++) {	
    AddTop(v[i], bk, color, sizex, sizey);
    AddBottom(v[i], bk, color, sizex, sizey);
  }
}

Math.sqr = function (x) {
  return x*x;
};

function Blend(a, b, alpha) {
  var ca = Array(
    parseInt('0x' + a.substring(1, 3)), 
    parseInt('0x' + a.substring(3, 5)), 
    parseInt('0x' + a.substring(5, 7))
  );
  var cb = Array(
    parseInt('0x' + b.substring(1, 3)), 
    parseInt('0x' + b.substring(3, 5)), 
    parseInt('0x' + b.substring(5, 7))
  );
  r = '0' + Math.round(ca[0] + (cb[0] - ca[0])*alpha).toString(16);
  g = '0' + Math.round(ca[1] + (cb[1] - ca[1])*alpha).toString(16);
  b = '0' + Math.round(ca[2] + (cb[2] - ca[2])*alpha).toString(16);
  return '#'
    + r.substring(r.length - 2)
    + g.substring(g.length - 2)
    + b.substring(b.length - 2);
}

function AddTop(el, bk, color, sizex, sizey) {
  var i, j;
  var d = document.createElement("div");
  d.style.backgroundColor = bk;
  d.className = "rounded";
  var lastarc = 0;
  for (i = 1; i <= sizey; i++) {
    var coverage, arc2, arc3;
    // Find intersection of arc with bottom of pixel row
    arc = Math.sqrt(1.0 - Math.sqr(1.0 - i / sizey)) * sizex;
    // Calculate how many pixels are bg, fg and blended.
    var n_bg = sizex - Math.ceil(arc);
    var n_fg = Math.floor(lastarc);
    var n_aa = sizex - n_bg - n_fg;
    // Create pixel row wrapper
    var x = document.createElement("div");
    var y = d;
    x.style.margin = "0px " + n_bg +"px";
    // Make a wrapper per anti-aliased pixel (at least one)
    for (j = 1; j <= n_aa; j++) {
      // Calculate coverage per pixel
      // (approximates circle by a line within the pixel)
      if (j == 1) {
        if (j == n_aa) {
          // Single pixel
          coverage = ((arc + lastarc) * .5) - n_fg;
        }
        else {
          // First in a run
          arc2 = Math.sqrt(1.0 - Math.sqr(1.0 - (n_bg + 1) / sizex)) * sizey;
          coverage = (arc2 - (sizey - i)) * (arc - n_fg - n_aa + 1) * .5;
        }
      }
      else if (j == n_aa) {
        // Last in a run
        arc2 = Math.sqrt(1.0 - Math.sqr((sizex - n_bg - j + 1) / sizex)) * sizey;
        coverage = 1.0 - (1.0 - (arc2 - (sizey - i))) * (1.0 - (lastarc - n_fg)) * .5;
      }
      else {
        // Middle of a run
        arc3 = Math.sqrt(1.0 - Math.sqr((sizex - n_bg - j) / sizex)) * sizey;
        arc2 = Math.sqrt(1.0 - Math.sqr((sizex - n_bg - j + 1) / sizex)) * sizey;
        coverage = ((arc2 + arc3) * .5) - (sizey - i);
      }
      
      x.style.backgroundColor = Blend(bk, color, coverage);
      y.appendChild(x);
      y = x;
      var x = document.createElement("div");
      x.style.margin = "0px 1px";
    }
    x.style.backgroundColor = color;
    y.appendChild(x);
    lastarc = arc;
  }
  el.insertBefore(d, el.firstChild);
}

function AddBottom(el, bk, color, sizex, sizey) {
  var i, j;
  var d = document.createElement("div");
  d.className = "rounded";
  d.style.backgroundColor = bk;
  var lastarc = 0;
  for (i = 1; i <= sizey; i++) {
    var coverage, arc2, arc3;
    // Find intersection of arc with bottom of pixel row
    arc = Math.sqrt(1.0 - Math.sqr(1.0 - i / sizey)) * sizex;
    // Calculate how many pixels are bg, fg and blended.
    var n_bg = sizex - Math.ceil(arc);
    var n_fg = Math.floor(lastarc);
    var n_aa = sizex - n_bg - n_fg;
    // Create pixel row wrapper
    var x = document.createElement("div");
    var y = d;
    x.style.margin = "0px " + n_bg + "px";
    // Make a wrapper per anti-aliased pixel (at least one)
    for (j = 1; j <= n_aa; j++) {
      // Calculate coverage per pixel
      // (approximates circle by a line within the pixel)
      if (j == 1) {
        if (j == n_aa) {
          // Single pixel
          coverage = ((arc + lastarc) * .5) - n_fg;
        }
        else {
          // First in a run
          arc2 = Math.sqrt(1.0 - Math.sqr(1.0 - (n_bg + 1) / sizex)) * sizey;
          coverage = (arc2 - (sizey - i)) * (arc - n_fg - n_aa + 1) * .5;
        }
      }
      else if (j == n_aa) {
        // Last in a run
        arc2 = Math.sqrt(1.0 - Math.sqr((sizex - n_bg - j + 1) / sizex)) * sizey;
        coverage = 1.0 - (1.0 - (arc2 - (sizey - i))) * (1.0 - (lastarc - n_fg)) * .5;
      }
      else {
        // Middle of a run
        arc3 = Math.sqrt(1.0 - Math.sqr((sizex - n_bg - j) / sizex)) * sizey;
        arc2 = Math.sqrt(1.0 - Math.sqr((sizex - n_bg - j + 1) / sizex)) * sizey;
        coverage = ((arc2 + arc3) * .5) - (sizey - i);
      }
      
      x.style.backgroundColor = Blend(bk, color, coverage);
      y.insertBefore(x, y.firstChild);
      y = x;
      var x = document.createElement("div");
      x.style.margin = "0px 1px";
    }
    x.style.backgroundColor = color;
    y.insertBefore(x, y.firstChild);
    lastarc = arc;
  }
  el.appendChild(d);
}

function getElementsBySelector(selector) {
  var i;
  var s = [];
  var selid = "";
  var selclass = "";
  var tag = selector;
  var objlist = [];
  if (selector.indexOf(" ") > 0) {  //descendant selector like "tag#id tag"
    s = selector.split(" ");
    var fs = s[0].split("#");
    if (fs.length == 1) {
      return objlist;
    }
    return document.getElementById(fs[1]).getElementsByTagName(s[1]);
  }
  if (selector.indexOf("#") > 0) { //id selector like "tag#id"
    s = selector.split("#");
    tag = s[0];
    selid = s[1];
  }
  if (selid != "") {
    objlist.push(document.getElementById(selid));
    return objlist;
  }
  if (selector.indexOf(".") > 0) {  //class selector like "tag.class"
    s = selector.split(".");
    tag = s[0];
    selclass = s[1];
  }
  var v = document.getElementsByTagName(tag);  // tag selector like "tag"
  if (selclass == "") {
    return v;
  }
  for (i = 0; i < v.length; i++) {
    if (v[i].className == selclass) {
      objlist.push(v[i]);
    }
  }
  return objlist;
}
