var MWJ_ldD = [];
var globalDay='de azi';
var cstrNoInfo='Nu am gasit informatii pentru data ';
var cstrSelectDate = 'Selectati data';
var MZLoadingXML;
var MZLoadingXMLTimeOut = 2;
var t;

function findTable(id)
{
  id = "#" + id;
  var tables = document.getElementsByTagName("table");
  var i;
  for (i=0; i < tables.length; i++) {
    var table = tables[i];
    if (table.getAttribute("datasrc") == id)
      return table;
  }
  return null;
}

function getSrcFieldValues(xml, date)
{
  var tableData;
  var i;
  if (date == '')
  {
    tableData = xml.getElementsByTagName("table")[0];
  }
  else
  {
    tableData = null;
    
    var tables = xml.getElementsByTagName("table");     
    var strdate;
    for (i=0; i<tables.length; i++)
    {
      strdate=tables[i].getElementsByTagName("date")[0].childNodes[0].nodeValue;
      if(strdate == date)
        {
          tableData = tables[i];
          return tableData
        }
    }
  }
  return tableData;
}

function getSelValue(sel)
{
	for(var i = 0; i < sel.options.length; i++)
		if(sel.options[i].selected)
			return sel.options[i].value;
}

function loadHistDay()
{

  var frm = document.forms["search"];
  
  var selDay = '00'+getSelValue(frm["selectDay"]);
  var selMon = '00'+getSelValue(frm["selectMonth"]);
  var selYear = getSelValue(frm["selectYear"]);
  
  if(selDay==0 || selMon==0)
  {
    alert(cstrSelectDate);
    return;
  }
  
  selDay=selDay.substr(selDay.length-2,2);
  selMon=selMon.substr(selMon.length-2,2);
  
  globalDay=selDay+'.'+selMon+'.'+selYear;  

   importXML('prices/pr'+selYear+selMon+'.xml','loadPrevDay', false, 2000);
  
}

function loadPrevDay(xmlDoc)
{
  loadDay(xmlDoc, globalDay)
}

function loadToday(xmlDoc)
{
  loadDay(xmlDoc, '')
}

function EmptyChilds(obj)
{    
  var i;
  for(i=obj.childNodes.length; i>0; i--)
    obj.removeChild(obj.childNodes.item(i-1));
}

function loadDay(xmlDoc, strDay)
{

  var i;
  var tr;
  var td;
  var txt;  
  
  clearTimeout(t);

  var tableData = getSrcFieldValues(xmlDoc, strDay==null?'':strDay);
  if(tableData == null)
  {
    alert(cstrNoInfo+globalDay);
    return;
  }

  var table = findTable('xmlPrices');
  table = table.getElementsByTagName("tbody")[0];
  EmptyChilds(table);
  
  var dummyrows=table.getElementsByTagName("tr");
  for(i=0; i<dummyrows.length; i++)
  {  
  table.removeChild(dummyrows[i]);
  }

  
  var funds = tableData.getElementsByTagName("fund");
  
  var str_date = document.getElementsByTagName("h6")[0];  
  

  EmptyChilds(str_date);
  
  txt = document.createTextNode('Informatii financiare la data de: '+tableData.getElementsByTagName("date")[0].childNodes[0].nodeValue);
  str_date.appendChild(txt);    

  var str_reldate = document.getElementById("relativedate"); 
  EmptyChilds(str_reldate);
  txt = document.createTextNode(tableData.getElementsByTagName("relativero")[0].childNodes[0].nodeValue);
  str_reldate.appendChild(txt);    

  
  for (i = 0; i < funds.length; i++)
  {
    var fund_name, fund_value, ev_yesterday, ev_start;
    fund_name=funds[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
    fund_value=funds[i].getElementsByTagName("value")[0].childNodes[0].nodeValue;
    ev_yesterday=funds[i].getElementsByTagName("ev_yesterday")[0].childNodes[0].nodeValue;
    ev_start=funds[i].getElementsByTagName("ev_start")[0].childNodes[0].nodeValue;
      
    tr = document.createElement('tr');
    
    td = document.createElement('td');
    td.setAttribute("width", "150px");
    txt = document.createTextNode(fund_name);
    td.appendChild(txt);
    tr.appendChild(td);

    td = document.createElement('td');
    td.setAttribute("width", "100px");
    td.setAttribute("align", "right");
    txt = document.createTextNode(fund_value);
    td.appendChild(txt);    
    tr.appendChild(td);

    td = document.createElement('td');
    td.setAttribute("width", "120px");
    td.setAttribute("align", "right");
    txt = document.createTextNode(ev_yesterday);
    td.appendChild(txt);    
    tr.appendChild(td);

    td = document.createElement('td');
    td.setAttribute("align", "right");
    txt = document.createTextNode(ev_start);
    td.appendChild(txt);    
    tr.appendChild(td);
    
    table.appendChild(tr);
  }
  
}

function MZLoadXMLTimeOut()
{
  MZLoadingXML = MZLoadingXML - 1;
  if(MZLoadingXML == 0)
        alert(cstrNoInfo+globalDay);
  else
  {
    setTimeout('MZLoadXMLTimeOut()', 1000);
  }
}

function importXML( oURL, oFunct, oNoRand, oDelay, oDate ) {
	
	//note: in XML importing event handlers, 'this' refers to window
	if( !oNoRand ) { oURL += ( ( oURL.indexOf('?') + 1 ) ? '&' : '?' ) + ( new Date() ).getTime(); } //prevent cache
	if( !navigator.__ice_version && window.ActiveXObject ) {
		//the Microsoft way - IE 5+/Win (ICE produces errors and fails to use try-catch correctly)
		try { //IE Mac has the property window.ActiveXObject but produces errors if you try and use it
			try { var tho = new ActiveXObject( 'Microsoft.XMLDOM' ); //newer
			} catch(e) { var tho = new ActiveXObject( 'Msxml2.XMLHTTP' ); } //older
			MWJ_ldD[MWJ_ldD.length] = tho;
			MWJ_ldD[MWJ_ldD.length-1].onreadystatechange = new Function( 'if( MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState == 4 ) { '+oFunct+'(MWJ_ldD['+(MWJ_ldD.length-1)+']); }' );
			MWJ_ldD[MWJ_ldD.length-1].load(oURL);
			return true;
		} catch(e) {}
	}
	if( window.XMLHttpRequest ) {
		//alternate XMLHTTP request - Gecko, Safari 1.2+ and Opera 7.6+
		MZLoadingXML = MZLoadingXMLTimeOut;        
		t=setTimeout('MZLoadXMLTimeOut()', 1000);
		MWJ_ldD[MWJ_ldD.length] = new XMLHttpRequest();
		MWJ_ldD[MWJ_ldD.length-1].onreadystatechange = new Function
		( 'if( MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState == 4 && MWJ_ldD['+(MWJ_ldD.length-1)+'].status < 300 ) { '+oFunct+'(MWJ_ldD['+(MWJ_ldD.length-1)+'].responseXML);} else { xmlDoNotExists(MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState, MWJ_ldD['+(MWJ_ldD.length-1)+'].statusText)}' );
		MWJ_ldD[MWJ_ldD.length-1].open("GET", oURL, true);
		MWJ_ldD[MWJ_ldD.length-1].send(null);
		return true;
	}

	if( document.createElement && document.childNodes ) {
	
		//load the XML in an iframe
		var ifr = document.createElement('DIV');
		ifr.style.visibility = 'hidden'; ifr.style.position = 'absolute'; ifr.style.top = '0px'; ifr.style.left = '0px';
		//onload only fires in Opera so I use a timer for all
		if( !window.MWJ_XML_timer ) { window.MWJ_XML_timer = window.setInterval('MWJ_checkXMLLoad();',100); }
		ifr.innerHTML = '<iframe src="'+oURL+'" name="MWJ_XML_loader_'+MWJ_ldD.length+'" height="0" width="0"><\/iframe>';
		MWJ_ldD[MWJ_ldD.length] = oFunct+'MWJ_SPLIT'+(oDelay?oDelay:1)+'';
		document.body.appendChild(ifr);
		return true;
	}
	return false;
}

function MWJ_checkXMLLoad() {
	//check if each imported file is available (huge files may not have loaded completely - nothing I can do - use the delay to help)
	for( var x = 0; x < MWJ_ldD.length; x++ ) { if( MWJ_ldD[x] && window.frames['MWJ_XML_loader_'+x] ) {
		setTimeout( MWJ_ldD[x].split('MWJ_SPLIT')[0] + '(window.frames.MWJ_XML_loader_'+x+'.window.document);', parseInt(MWJ_ldD[x].split('MWJ_SPLIT')[1]) );
		MWJ_ldD[x] = false;
	} }
}