var xhttp;

function GetRightElementName(elementName, objType)
{
    if (!document.getElementsByTagName)
    {
		return '';
	}

    var objTags = document.getElementsByTagName(objType);

    if(objTags == 'null' || objTags.length == 0)
    {
		return '';
	}
	
	for(i=0; i<objTags.length; i++)
	{ 
		obj = objTags[i];
		
		if(obj.getAttribute("id").indexOf(elementName)>-1)
		{
			return obj.getAttribute("id");
		}

	}
	
    return '';
}

function getHref(str, searchStr)
{
	return str.substr(0, str.indexOf(searchStr)+5)
}

function getParams(strParam, str, searchStr)
{
    var returnStr = '&';
    var iLength = 0;
    var tempStr = '';

    str = str.substr(str.indexOf(searchStr)+5);
	str = str.concat(returnStr);
	
	while(str.indexOf('&', iLength) > -1)
	{
			tempStr = str.substr(iLength, str.indexOf('&', iLength)-iLength);
			if(tempStr.toUpperCase().indexOf(strParam.toUpperCase()+"=") > -1)
			{
				return tempStr;
			}
			iLength = iLength + tempStr.length + 1;
	}    
	
	return returnStr;
	
}

function CheckAjaxConditions() 
{
  var className;
  var cboStation;
  var liAvg;
  var liAnk;
  var searchStr = 'aspx?'

  cboStation = document.getElementById(GetRightElementName('cboStation', 'select'));
  if (cboStation.options(cboStation.selectedIndex).text.length == 0) 
    return;

  //alert(cboStation.options(cboStation.selectedIndex).text);
  
  liAvg = document.getElementById(GetRightElementName('liAvg', 'li'));
  className = liAvg.className

  if(className == 'Active')
	className = '0';
  
  if(className == null || className == '')
  {
	liAnk = document.getElementById(GetRightElementName('liAnk' , 'li'));
	className = liAnk.className

    if(className == 'Active')
	className = '1';
  }

  if(className == null || className == '')
	return;
	
 var href = document.getElementById(GetRightElementName('lnkStation', 'a')).href
 var str = href.substr(0, href.indexOf('/', 8));
 str = str.concat('/bvTemplates/bvUnits/AjaxMethodHandler.ashx?');
 
 //alert(str);
 //str = 'http://localhost/bvTemplates/bvUnits/AjaxMethodHandler.ashx?'; //getHref(href, searchStr);
 str = str.concat(getParams('JF', href, searchStr));
 
 str = str.concat("&"+getParams('nostat', href, searchStr));
 str = str.concat("&"+getParams('station', href, searchStr));
 str = str.concat("&arrivals="+className);
 str = str.concat("&"+getParams('trafikinfotrainurl', href, searchStr));
 str = str.concat("&"+getParams('maxcount', href, searchStr));
 
 DoAjaxCallBack(str);
}

function DoAjaxCallBack(AjaxUrl)
{	
      //instantiate XmlHttpRequest
      // Checking if IE-specific document.all collection exists 
      // to see if we are running in IE 
      try
      {
        if (document.all)  //IE
        { 
          xhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
        } else { 
          // Mozilla - based browser 
            xhttp = new XMLHttpRequest(); 
        }

        //hook the event handler
        xhttp.onreadystatechange = ProbingHandlerOnReadyStateChange;

        //prepare the call, http method=GET, false=asynchronous call  
        xhttp.open("GET", AjaxUrl, false);

        //finally send the call
        xhttp.send(null);          	
      }
      catch(err)
      {
      }
}

    
function ProbingHandlerOnReadyStateChange()
{    
  
  // This handler is called 4 times for each 
  // state change of xmlhttp
  // States are: 0 uninitialized
  //      1 loading
  //      2 loaded
  //      3 interactive
  //      4 complete    
  if (xhttp.readyState==4)
  {            
  
    //var RingNoTo = document.all('txtProbeRingTo');
    //var RingNoFrom = document.all('txtProbeRingFrom');
    if (xhttp.status == 200) 
    {      

	  UpdateTable(xhttp.responseXML);		
	   
    }
    
  }
}

function UpdateTable(xmlDoc)
{
      //alert(xhttp.responseText);
      var trains = xmlDoc.getElementsByTagName("Train");
      var myTable = document.getElementById('TrafikinfoTable');
      var evenRow = false;
      var train = null;
      
      for(var i=1;i<trains.length+1;i++)
      {
		myTable.deleteRow(1);
	  }
	  
      for(var i=0;i<trains.length;i++)
      {
      
       train = trains[i];
       myTable.insertRow(i+1);
       
       if(evenRow == false)
       {
	    myTable.rows[i+1].className="GreyBG";
	   }
	   
       myTable.rows[i+1].insertCell(0);
       myTable.rows[i+1].insertCell(1);
       myTable.rows[i+1].cells[0].innerHTML = train.getElementsByTagName("Tid")[0].firstChild.nodeValue;
       myTable.rows[i+1].cells[1].innerHTML = train.getElementsByTagName("Information")[0].firstChild.nodeValue;

	   if(evenRow == true)
	   {
			evenRow = false;
	   }
	   else
	   {
			evenRow = true;
	   }
	 }
	
}

timedCount();